Adding patch to adjust volume of TTS engine
[AGL/meta-agl-demo.git] / recipes-multimedia / hts_engine / hts-engine / nomalize.patch
1 diff --git a/lib/HTS_engine.c b/lib/HTS_engine.c
2 old mode 100644
3 new mode 100755
4 index 5325426..b507226
5 --- a/lib/HTS_engine.c
6 +++ b/lib/HTS_engine.c
7 @@ -733,6 +733,9 @@ void HTS_Engine_save_riff(HTS_Engine * engine, FILE * fp)
8     HTS_fwrite_little_endian(data_37_40, sizeof(char), 4, fp);
9     HTS_fwrite_little_endian(&data_41_44, sizeof(int), 1, fp);
10     /* write data */
11 +   
12 +   short peak = 0;
13 +   
14     for (i = 0; i < HTS_GStreamSet_get_total_nsamples(gss); i++) {
15        x = HTS_GStreamSet_get_speech(gss, i);
16        if (x > 32767.0)
17 @@ -741,6 +744,14 @@ void HTS_Engine_save_riff(HTS_Engine * engine, FILE * fp)
18           temp = -32768;
19        else
20           temp = (short) x;
21 +      short sample = abs(temp);
22 +      if(peak < sample)
23 +         peak = sample;
24 +   }
25 +   float mul = (32767.0f / peak);
26 +   for (i = 0; i < HTS_GStreamSet_get_total_nsamples(gss); i++) {
27 +      x = HTS_GStreamSet_get_speech(gss, i);
28 +      temp = ((short) x) * mul;
29        HTS_fwrite_little_endian(&temp, sizeof(short), 1, fp);
30     }
31  }