festvox / festival

Festival Speech Synthesis System
Other
386 stars 58 forks source link

linux festival text2wave cuts off end of audio #21

Open allblowedup opened 5 years ago

allblowedup commented 5 years ago

I'm having trouble with festival text2wave on linux. The audio wav files generated are consistently being cut off before the end of the text. Various text file sizes all get cut before finishing. I found that if I pad the end of the file with additional text, I can get the entire audio output I'm looking for.

text2wave -F 44100 -eval test.scm -o test.wav test.txt

My environment:

Ubuntu 18.04.1 LTS festival 1:2.5.0-1 festlex-cmu 2.4-1 festvox-us-slt-hts 0.2010.10.25-2

Below are examples of the audio file length, and where in the full audio it's being cut. ie. 1st example below, should be 7 minutes of audio, but cutoff of audio at 5 minutes, 2 minutes before end of text.

5:00 of 7:00, 982 words, 6178 chars 30:00 of 40:00, 6613 words, 38549 chars 19:00 of 26:00, 4094 words, 24957 chars 14:00 of 20:00, 3224 words, 19007 chars

I pad all my files with 3192 words, 18283 chars to get the full ttf result, and then I edit the audio file to remove the unwanted end of file.

test.scm:

(voice_cmu_us_slt_arctic_hts) ;; Debian-specific: Use aplay to play audio (Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE") (Parameter.set 'Audio_Method 'Audio_Command)

Any suggestion to what is happening and how to resolve this? Seems from discussions there have been bugs in the past

I did not compile code from sources. Used binaries provided by Ubuntu distro.

Thanks, Nick

ddavout commented 5 years ago

(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE") what does happen when $FILE is empty ? With our utf8 voice, we first had a condition then we opt to check in our token.scm with

(if (not (utt.relation.present utt 'Word)) (begin (format stderr "EMPTY\n") (utt.relation.create utt 'Word)))