Wrapper for AWS Polly with segmentation, playback queue and client-server setup
Project description
python-polly
python-polly is a simple wrapper around AWS's text-to-speech service Polly.
Features are:
- Cache requests to AWS Polly locally
- Tokenize input text into sentences or words in order to maximize usage of cache
- Playback queue for audio output
- Client-server setup to support concurrent output by multiple applications
Setup
pip install --user python-polly[server]
Most of the dependencies are only required by the server so I put them in as an extra option.
To get the dependencies for the server use python-polly[server]
otherwise just python-polly
.
Usage
Server
Start the server. Default port is 6000.
polly server
Client
CLI
polly say "hello world"
Python
import polly.client
polly.client.say('hello world')
Any other JSON-RPC client e.g. cURL
curl -d '{"id": "null", "jsonrpc": "2.0", "method": "say", "params": ["hello", "Joanna", "sentence", true]}' localhost:6000
Links
Playback
https://people.csail.mit.edu/hubert/pyaudio/docs/#example-callback-mode-audio-i-o
https://github.com/spatialaudio/python-sounddevice/blob/master/examples/play_long_file.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python-polly-0.1.0.tar.gz
(5.0 kB
view hashes)
Built Distribution
Close
Hashes for python_polly-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a65dddbabb98ed57206984528de32e28ffb4d2b470467ad5bb82e68aa2fe151 |
|
MD5 | c5009305f138e2fc69ae68f3bcdd4cb0 |
|
BLAKE2b-256 | 5b6d31b98b25790f911be499d4e29071520efdd3cdff472f594798c4d81c806d |