Eko1.5
Standalone English TTS inference with five trained speaker identities. Move this entire folder together; code resolves weights and pronunciation assets relative to its own location. No training dataset, optimizer state, teacher weights, training scripts, or Hugging Face downloads are needed for synthesis.
Setup
Python 3.10 is the tested runtime. Install a PyTorch CPU or CUDA build suitable for your machine, then install the runtime dependencies:
python -m pip install -r requirements.txt
Dependencies must be installed once; synthesis then works offline. The existing EPOCH environment on this computer already has the required dependencies.
Generate audio
python infer.py --list-speakers
python infer.py --text "Hello! This is Eko." --speaker af_heart --output hello.wav
python infer.py --text "Hello from another voice." --speaker am_adam --device cuda --output adam.wav
Voices: af_heart, af_bella, af_nicole, am_adam, am_michael.
The default is the checkpoint's recorded default voice. Output is 16 kHz mono
PCM16 WAV. CPU is the default device; CUDA requires a supported GPU and PyTorch.
Optional --speed, --pitch-scale, and --energy-scale accept 0.5 through 2.0.
Long input is split into bounded chunks with a short pause between chunks.
Python API
from eko15 import EkoEngine
import soundfile as sf
engine = EkoEngine(device="cpu")
audio = engine.synthesize("Hello from Eko.", speaker="af_nicole")
sf.write("hello.wav", audio, 16000, subtype="PCM_16")
The model has 4.92M acoustic parameters plus a 12.66M frozen SpeechT5 HiFi-GAN
vocoder. The acoustic network predicts durations and prosody, then generates
mel frames using speaker-conditioned attention/convolution blocks.
weights/eko15.pt contains the best validation checkpoint's EMA acoustic
weights, vocabulary, speaker map, feature settings, and vocoder weights/config.
model_info.json records its provenance and SHA-256 checksum.
This is an experimental trained model. Packaging does not establish production quality, naturalness, or intelligibility. See THIRD_PARTY_NOTICES.md for upstream components and included license texts.
Release verification: all five voices matched the source checkpoint's audio exactly on the comparison prompt. Additional frontend checks covered numbers, abbreviations, unusual words, and long input. Standalone synthesis passed from a separate working directory with network connections blocked and an empty Hugging Face cache.