Python script that lets you easily convert text to synthesized audio files, with help of Amazon's IVONA.
Python (3) script that lets you easily convert passed text to synthesized audio files, with help of Amazon’s IVONA. All you need is a pair of keys and this script. Yes, that’s literally everything you need to never speak again. If that’s your thing of course.
If you want to use IVONA Speech Cloud directly inside your (probably awesome) Python project then have a look at python-ivona-api, which this script also uses.
With pip (recommended):
$ pip3 install ivona_speak
$ git clone https://github.com/Pythonity/ivona-speak $ pip install -r ivona-speak/requirements.txt $ cd icon-font-to-png/bin
The script comes with two subcommands (synthesize is the default one):
$ ivona-speak synthesize -h Usage: ivona-speak synthesize [OPTIONS] TEXT Synthesize passed text and save it as an audio file Options: --access-key TEXT IVONA Speech Cloud access key. --secret-key TEXT IVONA Speech Cloud secret key. -a, --auth-file FILENAME Path to YAML file with 'access-key' and 'secret- key' set. -o, --output-file PATH Output audio file path. [required] -n, --voice-name TEXT Voice name (default: Salli). -l, --voice-language TEXT Voice language (default: en-US). -c, --codec [ogg|mp3|mp4] Used codec (default: mp3). -h, --help Show this message and exit.
$ ivona-speak list-voices -h Usage: ivona-speak list-voices [OPTIONS] List available Ivona voices Options: --access-key TEXT IVONA Speech Cloud access key. --secret-key TEXT IVONA Speech Cloud secret key. -a, --auth-file FILENAME Path to YAML file with 'access-key' and 'secret- key' set. -l, --voice-language TEXT Filter voice by language. -h, --help Show this message and exit.
With above usage everything should be pretty clear, but in case it isn’t:
You can provide keys either explicitly or put them in YAML file (one of those ways is required):
$ ivona-speak list-voices --access-key 'YOUR_ACTUAL_ACCESS_KEY' --secret-key 'YOUR_ACTUAL_SECRET_KEY' $ ivona-speak list-voices -a secrets.yaml
Also, synthesized is the default subcommand so those do the same:
$ ivona-speak synthesize -a secrets.yaml -o hello_world.mp3 'Hello world!' $ ivona-speak -a secrets.yaml -o hello_world.mp3 'Hello world!'
List all available IVONA voices, and list them now:
$ ivona-speak list-voices -a secrets.yaml
I want someone to say ‘Hello world!’, and say it quick:
$ ivona-speak synthesize -a secrets.yaml -o hello_world.mp3 'Hello world!'
She sounds so nice. I want someone special to respond her:
$ ivona-speak synthesize -a secrets.yaml -o response.mp3 -n Joey 'How you doin?'
Example auth file
$ cat secrets.yaml access-key: YOUR_ACTUAL_ACCESS_KEY secret-key: YOUR_ACTUAL_SECRET_KEY
Package was tested with pytest and tox on Python 3.4 (see tox.ini).
To run tests yourself you need to set environment variables with secret and access keys before running tox inside the repository:
export IVONA_ACCESS_KEY="YOUR_ACTUAL_ACCESS_KEY" export IVONA_SECRET_KEY="YOUR_ACTUAL_SECRET_KEY"
Package source code is available at GitHub.
Feel free to use, ask, fork, star, report bugs, fix them, suggest enhancements and point out any mistakes.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size ivona_speak-0.1.1-py3-none-any.whl (21.0 kB)||File type Wheel||Python version py3||Upload date||Hashes View hashes|
|Filename, size ivona_speak-0.1.1.tar.gz (20.0 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for ivona_speak-0.1.1-py3-none-any.whl