Instructions to use erayack/freya-tts-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use erayack/freya-tts-mlx with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download erayack/freya-tts-mlx --local-dir freya-tts-mlx
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
freya-tts-mlx
Turkish text-to-speech, running natively on Apple Silicon with MLX. Generate 48 kHz mono WAV audio from the original 183M FreyaTTS weights, with no PyTorch at runtime. No retraining or fine-tuning.
Quickstart
Requires macOS on Apple Silicon, Python 3.11+ and uv.
uvx --from https://huggingface.co/erayack/freya-tts-mlx/resolve/main/dist/freya_mlx-0.1.1-py3-none-any.whl \
freya-mlx "Merhaba, nasılsınız?" out.wav
The first run downloads about 1.1 GB of model assets and verifies their pinned SHA-256 hashes. Subsequent runs reuse the local cache.
For an existing Python environment:
uv pip install https://huggingface.co/erayack/freya-tts-mlx/resolve/main/dist/freya_mlx-0.1.1-py3-none-any.whl
from freya_mlx.tts import FreyaMLX, write_wav
tts = FreyaMLX() # Load once; reuse for subsequent requests.
s = tts.synthesize("Bugün hava çok güzel.")
write_wav("out.wav", s.wav)
Options
# Save normalized text, clause lengths and timing alongside the WAV.
freya-mlx "Merhaba." out.wav --meta out.json
# Opt-in Turkish decimal, percentage and signed-number readings.
freya-mlx "Ölçüm 7,008 oldu." out.wav --text-profile tr_numbers
# Work offline with a downloaded copy of this model repository.
freya-mlx "Merhaba." out.wav --bundle ./freya-tts-mlx
freya-mlx --check --bundle ./freya-tts-mlx
The default text normalization matches the reference. Optional tr_numbers reads 7,008 as
yedi virgül sıfır sıfır sekiz, %37 as yüzde otuz yedi, and -8 as eksi sekiz.
Python: tts.synthesize(text, text_profile="tr_numbers").
See the supported numeric forms and boundaries.
Performance
Measured on Apple M4 Pro, 24 GB, with models already loaded:
| Measurement | Result |
|---|---|
| Historical 0.1.0 median latency, MLX / Torch CPU (4 threads) | 0.582 s / 1.826 s |
| Historical 0.1.0 median real-time factor, MLX / Torch CPU | 0.194 / 0.589 (lower is better) |
| 0.1.1 warm sweep latency improvement over 0.1.0 | About 6.22%; all 28 frozen parity cases bit-identical |
The historical comparison used 20 texts, 32 float32 Euler steps and the same seed-9 noise. The 0.1.1 result is a separate MLX-only comparison, not a new Torch benchmark. These timings exclude loading and downloads; they are not comparisons against CoreML, MPS or every Mac. Protocols, memory measurements, numerical parity and paired audio samples.
Official 495-case evaluation (runtime 0.1.1)
On all 495 pinned Freya-TR-Eval Turkish texts, band-matched large-v3-turbo ASR WER was 11.34% Torch / 11.28% MLX (444/3917 / 442/3917 edits); 488/495 transcripts agree exactly. 494/495 numerical screens pass: case0080 remains a 55.059 dB waveform-SNR failure against the frozen 60 dB gate. Paired audio, scores and protocol · detailed evaluation report. Semantic WER, UTMOS and human MOS were not measured. This is neither the publisher's 8% replication nor evidence of formal quality equivalence or MLX superiority. The historical tiny-ASR ~65% score used a different 20-text setup, not a before/after quality comparison. Fixed seed 9, 32 float32 Euler steps, fallback disabled on both; Torch CPU (four threads) versus MLX GPU. Runtime and weights are unchanged.
Scope and limitations
- Inference port with unchanged weights, fixed seed-9 noise and 48 kHz mono output.
- The reference voiced-check/seed-retry fallback is disabled; full pipeline equivalence is not claimed.
- No batching or AudioVAE encoding. Empty input, invalid steps and clauses over 296 characters fail clearly rather than silently truncating text.
- No human listening or naturalness study was performed. Numeric-profile tests validate normalized text, not acoustic quality. Historical machine-ASR results and their caveats are in the technical report.
Details and attribution
Technical report · Evaluation data and audio · Source and tests · Reproduction instructions
Code and FreyaTTS weights: Apache-2.0. VoxCPM2 AudioVAE: Apache-2.0. Vendored mlx-audio decoder code: MIT. See licenses and attribution.
- Downloads last month
- 64
Quantized
Model tree for erayack/freya-tts-mlx
Base model
freyavoice/Freya-TTS