Good quality IVR prompts… for free!

NeoSpeech is a software vendor of a Text-To-Speech engine of a very decent quality. Also they offer a web service API with free basic membership. The basic account is able to create WAV files from your text, and NeoSpeech arbitrarily adds pieces of advertisements before and/or after your phrase.

Important! End your text phrase with a dot, otherwise the spoken phrase will sound unfinished.

After you register at their website, you get an Account ID and a login password. The rest is easy. The following example illustrate how to use their services from a Linux or Cygwin command line:

curl https://tts.neospeech.com/rest_1_1.php \
-d method=ConvertSimple \
-d 'email=me@example.com' \
-d accountId=ef******* \
-d loginKey=LoginKey \
-d loginPassword=5**************6 \
-d voice=TTS_JULIE_DB \
-d outputFormat=FORMAT_WAV \
-d sampleRate=8 \
-d text='Press One to answer the call.'

# Output:
# <response resultCode="0" resultString="success"
#  conversionNumber="3" status="Queued" statusCode="1"/>

curl https://tts.neospeech.com/rest_1_1.php \
-d method=GetConversionStatus \
-d conversionNumber=3 \
-d 'email=me@example.com' \
-d accountId=ef******* \
-d loginKey=LoginKey \
-d loginPassword=5**************6

# Output:
# <response resultCode="0" resultString="success" status="Completed" statusCode="4"
#  downloadUrl="https://tts.neospeech.com/audio/a.php/XXXXXXX/XXXXXXX/result_3.wav"/>

curl -O https://tts.neospeech.com/audio/a.php/XXXXXXX/XXXXXXX/result_3.wav

The resulting result_3.wav file is a 8KHz WAV file can be edited in any sound editor (Audacity for example) and you get a nicely spoken phrase for your IVR application.

The paid account offers more goodies,  like more granular control on pronunciation, and also it produces ad-free output.

UPD: make sure you read the NeoSpeech TOS and use your audio files accordingly.

Advertisements

, , ,

  1. #1 by Николай Мишин on November 23, 2011 - 5:30 am

    надо будет добавить для обработки
    |perl -nle ‘print “$1″ if /.*conversionNumber=”(\d+)”.*/’
    |perl -nle ‘print “$1″ if /.*downloadUrl=”([^”]+)”.*/’

  2. #2 by Николай Мишин on November 26, 2011 - 10:25 pm

    i write solution on perl

  3. #3 by txlab on November 26, 2011 - 11:14 pm

    cool, but I’ve got already all my prompts done 🙂

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: