Skip to content

A unified interface for multiple Text-to-Speech (TTS) providers.

License

Notifications You must be signed in to change notification settings

frostming/tetos

Repository files navigation

TeToS

PyPI Python License Downloads Documentation Status

A unified interface for multiple Text-to-Speech (TTS) providers.

Supported TTS providers

Provider Requirements
Edge-TTS -
OpenAI TTS api_key: OpenAI API key
Azure TTS speech_key: Azure Speech service key
speech_region: Azure Speech service region
Google TTS Enable the Text-to-Speech API in the Google Cloud Console
Set env var GOOGLE_APPLICATION_CREDENTIALS as the path to the service account key file
Volcengine TTS(火山引擎) access_key: Volcengine access key ID. (Get it here)
secret_key: Volcengine access secret key. (Get it here)
app_key: Volcengine app key
Baidu TTS api_key: Baidu API key
secret_key: Baidu secret key
Both can be acquired at the console
Minimax TTS api_key: Minimax API key
group_id: Minimax group ID
Both can be acquired at the Minimax console
迅飞 TTS app_id: Xunfei APP ID
api_key: Xunfei API key
api_secret: Xunfei API secret
Fish Audio api_key: Fish Audio API key

Installation

Tetos requires Python 3.8 or higher.

pip install tetos

CLI Usage

tetos PROVIDER [PROVIDER_OPTIONS] TEXT [--output FILE]

Please run tetos --help for available providers and options.

Examples

tetos google "Hello, world!"
tetos azure "Hello, world!" --output output.mp3   # save to another file
tetos edge --lang zh-CN "你好,世界!"  # specify language
tetos openai --voice echo "Hello, world!"  # specify voice

API Usage

Use Azure TTS as an example:

from tetos.azure import AzureSpeaker

speaker = AzureSpeaker(speech_key='...', speech_region='...')
speaker.say('Hello, world!', 'output.mp3')

The initialization parameters may be different for other providers.

Work behind a proxy

TeTos respects the proxy environment variables HTTP_PROXY, HTTPS_PROXY, ALL_PROXY and NO_PROXY.

TODO

  • Google TTS
  • SSML support

License

Apache License 2.0