Azure Text-to-Speech Terminal Client
Project description
Azure TTS Client
A terminal-based Text-to-Speech client for Azure Cognitive Services, built with Textual.
Features
- Multiple voice options (English, French, German, Spanish, Chinese)
- Beautiful terminal UI with live playback
- Save audio to WAV files
- Secure API key storage
- Fast and lightweight
Usage
Running the app
Run directly without installation:
uvx azure-tts-client
First-time setup
On first launch, you'll be prompted to enter your Azure Speech API key. The key will be saved securely to ~/.azure_tts_env.
To get an Azure Speech API key:
- Go to Azure Portal
- Create a Speech Service resource
- Copy the API key from the resource
Using the app
- Type your text in the text area
- Select a voice from the dropdown menu
- Click Play to hear the speech
- Click Save to export audio to
output.wav - Click Clear Text to reset the input
Development
Local development
Clone the repository:
git clone <repository-url>
cd azure-client-tts
Run with uv:
uv run -m azure_tts_client
Requirements
- Python 3.10+
- Azure Speech API key
Publishing to PyPI
Prerequisites
- Set up PyPI credentials:
- Create an account on PyPI
- Generate an API token at https://pypi.org/manage/account/token/
- Store the token for publishing
Publishing Steps
-
Update the version in pyproject.toml
-
Build the package:
uv build
- Publish to PyPI:
uv publish
You'll be prompted for your PyPI token during publish.
Alternatively, set the token as an environment variable:
export UV_PUBLISH_TOKEN=pypi-your-api-token-here
uv publish
To publish to TestPyPI first:
uv publish --publish-url https://test.pypi.org/legacy/
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file azure_tts_client-0.1.2.tar.gz.
File metadata
- Download URL: azure_tts_client-0.1.2.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23cb119e552b880d5928d99f0959eaf0abc9e162da4808bce66c7f420034ced3
|
|
| MD5 |
d7f391e5e7381bd347ad1cfb8212f142
|
|
| BLAKE2b-256 |
69b1b23dfe5333d2e7b88de8b4cb4f43e48fc0243fce9bda7da3cbb34f82b434
|
File details
Details for the file azure_tts_client-0.1.2-py3-none-any.whl.
File metadata
- Download URL: azure_tts_client-0.1.2-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3d35f91bb0d7dd1ba2eb670c38eefa881a93f88428554e02fa675ec280e6b5
|
|
| MD5 |
3532c462da2d72c75172befd953e66a4
|
|
| BLAKE2b-256 |
db5743f23c48e21ec2a72172c95716d7fcb2cd105680c3a1f69c2f9666a57ff8
|