Create mp3 to practice mental addition

Repost from my tumblelog.

This script uses the festival text to speech system, SoX and lame to generate an mp3 to practice mental addition. It basically says two numbers and after a delay says the sum of those two numbers, the delay is supposed to give you time to calculate the sum mentally:

#!/bin/bash -e

# output file

if [ -z "$output" ]; then 
        echo "usage: $0 OUTFILE"

TMP=`mktemp -d /tmp/speed_addition.XXXX`
pushd $TMP

# pause length in seconds

for i in `seq 32`; do
        x=$(($RANDOM % 999))
        while [ $x -lt 11 ]; do
                x=$(($RANDOM % 999))
        y=$(($RANDOM % 999))
        while [ $y -lt 11 ]; do
                y=$(($RANDOM % 999))
        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

sox out*wav out.wav
lame --ta speed-math --tl speed-math --tt $output --silent out.wav $CWD/$output


rm -r $TMP


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: