Skip to main content

holos-tts-mlx

HolosTTS on Apple silicon with MLX: the whole model runs on the GPU, without PyTorch, with optional low-latency streaming.

Install

python -m pip install holos-tts-mlx

From a checkout of the repository, install ./holos_mlx instead. The import name is holos_mlx. It needs a Mac with Apple silicon and Python 3.10+.

Quick start

from holos_mlx import HolosTTS

model = HolosTTS()  # patriotyk/HolosTTS/mlx
audio = model.generate(phonemes, voice=model.list_voices()[0], speed=1.0)
# float32 samples at model.sample_rate (24 kHz)

HolosTTS(model) loads a local model directory when that path exists. Otherwise model names a Hugging Face model: owner/repo, optionally followed by the model's folder in the repository. Only the model files are downloaded, into the Hugging Face cache, so later runs work offline; revision, cache_dir and token control the download.

The input is a phoneme string in the model's vocabulary; the Ukrainian text frontend (stress marks and IPA conversion) is not part of this package, see the repository README. speed above one speaks faster, below one slower. voice is a preset name or a 256-value voice vector, such as one from the PyTorch VoiceEncoder.

The model computes in FP32 and matches the PyTorch model: the same durations, F0 and energy within 1e-5, and the audio 43-50 dB SNR from it with the source noise turned off. MLX handles every text length as it is, so there are no length buckets, and loading takes a fraction of a second.

Streaming

for chunk in model.stream(phonemes, voice="my_voice"):
    play(chunk)

Text encoding and prosody run once for the whole text; then each chunk of chunk_frames frames (40 by default, 1 s of audio) is decoded with 20 frames of context on both sides, so the chunks concatenate to the generate audio. On an Apple M2 the first chunk is ready after about 65 ms; see the benchmarks. stream drops the boundary-token silence at the start (about 50 ms) except 10 ms and fades in over 5 ms; pass trim_silence=False to keep it. generate decodes the whole utterance in one pass and is faster when the phrase can be generated before playback.

Converting a checkpoint

The model directory has config.json (vocabulary, sample rate, streaming context), model.safetensors and voices.npz. To make one from a PyTorch checkpoint, with PyTorch and the repository's holos package installed:

python -m holos_mlx.convert --weights holos.pt --voices voices.pt --output holos_mlx_model

Weight norm is folded into the weights and the convolutions are stored in MLX's channels-last layout.

Tests

python holos_mlx/tests/test_layers.py
python holos_mlx/tests/test_parity.py --weights holos.pt --voices voices.pt  # needs PyTorch

The parity test converts the checkpoint and compares every stage with the PyTorch model on three sentences at two speeds.

License

MIT, see LICENSE.

Metadata

Release files for holos-tts-mlx 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for holos-tts-mlx 0.1
File Size Uploaded Provenance Actions
holos_tts_mlx-0.1.tar.gz 18.3 kB With provenance Details for holos_tts_mlx-0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for holos-tts-mlx 0.1
File Interpreter ABI Platform Actions
holos_tts_mlx-0.1-py3-none-any.whl Python 3 none any Details for holos_tts_mlx-0.1-py3-none-any.whl

Total release size: 35.0 kB

Release files / holos_tts_mlx-0.1.tar.gz

Download URL holos_tts_mlx-0.1.tar.gz
Size 18.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6f3d902be83d4fd81725550548fd58b19c6b511ed856aca4910c066d0fc75837
BLAKE2b-256 checksum
How to use checksums
a6c988c2a0c33696c6d323189b48643edeb6b88a6e34e99cc35716ec7d2c01bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / holos_tts_mlx-0.1-py3-none-any.whl

Download URL holos_tts_mlx-0.1-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
238c7644cd2fa252d4f3c02570cc6cfed567e973868a3c7f3336ea0042ac5916
BLAKE2b-256 checksum
How to use checksums
200c34507ed5741ee90e0c283f021b4a76bc34ce07f19b1eb333cbbda39f4cf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for holos-tts-mlx 0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for holos_tts_mlx-0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page