Voice cloning CLI for Mac using F5-TTS
Project description
speak-tts
Voice cloning CLI for Mac (Apple Silicon) using F5-TTS.
Installation
Via Homebrew
brew tap danielsinai/speak-tts
brew install speak-tts
Via pipx
pipx install speak-tts
Via pip
pip install speak-tts
Requirements
- macOS with Apple Silicon (M1/M2/M3/M4)
- Python 3.10+
Usage
Add a Voice Profile
speak --add-profile daniel --voice ~/voice.wav --text-file ~/reference.txt
The reference audio should be a clear WAV recording (24kHz) of the voice you want to clone, and the text file should contain an exact transcript.
Generate Speech
Plays audio directly (no file saved):
speak daniel "Hello, this is a test!"
Save to a file:
speak daniel "Hello world" --output ~/Desktop/hello.wav
List Profiles
speak --list
Play Audio
speak --play output.wav
Profile Storage
Profiles stored in ~/.speak/profiles/<name>/ with:
reference.wav- Voice samplereference.txt- Transcript
Tips
- Reference Audio: 5-15 seconds, 24kHz, minimal background noise
- Reference Text: Exact transcript of the audio
- First Run: Downloads F5-TTS model (~1GB)
Publishing
1. Publish to PyPI
# Install tools
pip install build twine
# Build and upload
./scripts/publish.sh
Or manually:
python -m build
twine upload dist/*
2. Set up Homebrew Tap
-
Create a new GitHub repo:
homebrew-speak-tts -
Copy the formula:
cp Formula/speak-tts.rb ~/homebrew-speak-tts/
-
Get SHA256 after PyPI upload:
shasum -a 256 dist/speak_tts-*.tar.gz
-
Update
sha256in the formula, commit, and push -
Users install with:
brew tap YOUR_USERNAME/speak-tts brew install speak-tts
Development
git clone https://github.com/danielsinai/speak-tts
cd speak-tts
python3 -m venv venv
source venv/bin/activate
pip install -e .
speak --help
License
MIT
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 speak_tts-0.1.0.tar.gz.
File metadata
- Download URL: speak_tts-0.1.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d29e116cd2b13204eb3d1c4f0268d477372990ff168cc310756525f033dd9b05
|
|
| MD5 |
58f3dbfdbe86f7e8dc7ca14f3debb9d8
|
|
| BLAKE2b-256 |
50d7f18f5b1d705ce45063059bb2cd9ebaf28d8366957d28eb98abf30aae2f06
|
File details
Details for the file speak_tts-0.1.0-py3-none-any.whl.
File metadata
- Download URL: speak_tts-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb5db4ef6ce3978dd1f26a08588956d3bf267af242ccb7ee7b9fe410a8ea8322
|
|
| MD5 |
2817595fc6a785c1206d8120dd8d7ed2
|
|
| BLAKE2b-256 |
b7cc4dc18e02a55d82aec720fac26a7ea6df28c56cb9ef968e004b2a0dd4e31f
|