In another post I wrote how to create with festival, lame and sox an mp3 to practice mental addition. That mp3 used festival’s default english voice. What I did to have a spanish version is the following:
Copy the text2wave script to ~/bin/
mkdir ~/bin
cp $(which text2wave) ~/bin/text2wavees
Add the following after line 46 of ~/bin/text2wavees:
(voice_el_diphone)
Use the following script to generate the mp3:
#!/bin/bash -e
# output file
output=$1
if [ -z "$output" ]; then
echo "usage: $0 OUTFILE"
exit
fi
TEXT2WAVE="$HOME/bin/text2wavees"
CWD=`pwd`
TMP=`mktemp -d /tmp/speed_addition.XXXX`
pushd $TMP
# pause length in seconds
pause=8
for i in `seq 32`; do
x=$(($RANDOM % 999))
while [ $x -lt 11 ]; do
x=$(($RANDOM % 999))
done
y=$(($RANDOM % 999))
while [ $y -lt 11 ]; do
y=$(($RANDOM % 999))
done
echo "$x + $y" | $TEXT2WAVE -o add$i.wav
echo "$(($x+$y))" | $TEXT2WAVE -o result$i.wav
sox add$i.wav add_with_pause$i.wav pad 3 $pause
sox add_with_pause$i.wav result$i.wav out$i.wav
done;
sox out*wav out.wav
lame --ta speed-math --tl speed-math-es --tt $output --silent out.wav $CWD/$output
popd
rm -r $TMP
Posted by davitenio
Posted by davitenio