mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 05:47:13 +02:00
46 lines
3.7 KiB
Diff
46 lines
3.7 KiB
Diff
From a34d74ed438a6c2e2a11ae52c586bad645d36e52 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
Date: Sun, 10 Apr 2022 22:09:06 +0200
|
|
Subject: [PATCH] Make envelope computation more robust
|
|
|
|
When pollint() returns 100.0, multiplying by 2.55 doesn't actually seem to
|
|
be getting 255 on i386. Multiplying by 255 and dividing by 100, however,
|
|
does (probably because float computation with small integer values are
|
|
guaranteed to have integer results).
|
|
|
|
Fixes #1151
|
|
---
|
|
src/libespeak-ng/compiledata.c | 4 ++--
|
|
tests/language-phonemes.test | 2 +-
|
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/libespeak-ng/compiledata.c b/src/libespeak-ng/compiledata.c
|
|
index 2dc9c8d3ed..9d0d619094 100644
|
|
--- a/src/libespeak-ng/compiledata.c
|
|
+++ b/src/libespeak-ng/compiledata.c
|
|
@@ -1410,9 +1410,9 @@ static int LoadEnvelope2(FILE *f)
|
|
if (env_lin[ix2] > 0) {
|
|
y = (env_y[ix2] + (env_y[ix2+1] - env_y[ix2]) * ((float)x - env_x[ix2]) / (env_x[ix2+1] - env_x[ix2])) * 2.55;
|
|
} else if (n_points > 3)
|
|
- y = (int)(polint(&env_x[ix], &env_y[ix], 4, x) * 2.55); // convert to range 0-255
|
|
+ y = (int)(polint(&env_x[ix], &env_y[ix], 4, x) * 255 / 100); // convert to range 0-255
|
|
else
|
|
- y = (int)(polint(&env_x[ix], &env_y[ix], 3, x) * 2.55);
|
|
+ y = (int)(polint(&env_x[ix], &env_y[ix], 3, x) * 255 / 100);
|
|
if (y < 0) y = 0;
|
|
if (y > 255) y = 255;
|
|
env[x] = y;
|
|
diff --git a/tests/language-phonemes.test b/tests/language-phonemes.test
|
|
index 09c300db3a..36e0eff71d 100755
|
|
--- a/tests/language-phonemes.test
|
|
+++ b/tests/language-phonemes.test
|
|
@@ -28,7 +28,7 @@ test_phwav bn 7fc6c8c6b347677885c6e973ff4dc6b2b6fa6d59 "ma na Na pa ta t.a tSa k
|
|
test_phwav bpy 7fc6c8c6b347677885c6e973ff4dc6b2b6fa6d59 "ma na Na pa ta t.a tSa ka p#a t#a t.#a tS#a k#a ba da d.a dZa ga b#a d#a d.#a g#a fa Ba sa za Sa Za ha Ha wa la ja ra *a Ra _:_ ma mE mO me mi mi mu m& mV"
|
|
test_phwav bs f3b9ea69a52d9cabc18007c0bb49c16583acef1b "ma na Na pa ta ka ba da ga tsa tSa tS;a dZa dZ;a fa sa Sa xa va za Za ja la l^a Ra r*a _:_ m@ m@2 ma ma: me me: mo mo: mi mi: mu mu: mA m& mE mU maI"
|
|
test_phwav ca 563b93f7de72fb4832f2908484bad4908680d7da "ma na n^a Na pa ta ka ba da ga tsa tSa dza dZa sa Sa za Za fa Ta xa va Q\"a ja wa la l^a Ra *a _:_ ma ma# me mE mE2 mO mo mi mU mu"
|
|
-test_phwav chr fdfe21bde53ac3665c401a5532484fa674c68158 "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"
|
|
+test_phwav chr 19b85a482cd1b35d0d88660ca73e111accb43673 "ma na Na pa ta ka ba da ga fa Ta sa Sa xa ha va Da za Za tSa dZa la ra ja wa t2a t#a d#a z#a r-a z/2a w#a m- n- N- _:_ mI mE ma m0 mV mU mi: mA: mO: mu: m3: mA@ mO@ mo@ mU@ mi@3 mIR mVR mi@ me@ mi m@ m3 me# mI# mI2 meI maI mOI moU maU maa mO2 maI@ maI3 maU@"
|
|
test_phwav cmn 368d0fd8e646e37e402377328df39b1d6e832401 "na Na la ja pa pha fa ta tha ka kha tS;a tS;ha S;a s.a tsa tsha ts.a ts.ha N-a _:_ ma mA mai mAu m@ m@r mE mei mi mi[ mi. miA miAu miE mio miou mo mo- mou mong mu muA mua muai mu@ mei muo my myu my& myE my@ myi _:_ ma11 ma21 ma214 ma22 ma33 ma35 ma44 ma51 ma53 ma55"
|
|
test_phwav cmn-Latn-pinyin 368d0fd8e646e37e402377328df39b1d6e832401 "na Na la ja pa pha fa ta tha ka kha tS;a tS;ha S;a s.a tsa tsha ts.a ts.ha N-a _:_ ma mA mai mAu m@ m@r mE mei mi mi[ mi. miA miAu miE mio miou mo mo- mou mong mu muA mua muai mu@ mei muo my myu my& myE my@ myi _:_ ma11 ma21 ma214 ma22 ma33 ma35 ma44 ma51 ma53 ma55"
|
|
test_phwav cs 73d5bdeebdab81c629d34f76c87930bb6a188c50 "ma na n^a pa ta ca ka ba da Ja ga tsa tSa dza dZa fa sa Sa xa va za Za ha r-a Ra R^a R^/a la ja _:_ mi mi: me me: ma ma: mo mo: mu mu: maU meU moU"
|