Небольшой CLI-эксперимент для генерации речи через HumeAI TADA.
Скрипт берет:
- текст для синтеза;
- голосовой prompt-аудиофайл;
- опционально транскрипт этого prompt-аудио;
и сохраняет результат в WAV.
TADA из README проекта ставится как hume-tada, но практически важно и окружение:
- нужен Python
3.11или3.12; - для нормальной скорости желательно
cuda, наcpuбудет очень медленно; - веса модели подтянутся из Hugging Face при первом запуске.
- для текущего
tada-стека нужен доступ к gated-моделиmeta-llama/Llama-3.2-1Bи локальныйhuggingface-cli loginилиHF_TOKEN.
Если используешь uv:
uv syncЕсли локально сейчас стоит Python 3.13, создай окружение на 3.11/3.12 и потом запусти uv sync.
uv run python main.py \
--text "Привет. Это тест синтеза речи через TADA." \
--reference-audio /path/to/voice.wav \
--output output.wavДля неанглийского prompt-аудио лучше добавить transcript и aligner:
uv run python main.py \
--text "今日はとても良い天気ですね。" \
--reference-audio /path/to/ja-voice.wav \
--reference-text "このムキムキのお兄さんがいるし バーだし少し高そうだと思いますよね" \
--language ja \
--output output.wav--text: текст для синтеза.--reference-audio: путь к голосовому prompt-аудио. ДляTADAэто обязательный вход.--reference-text: транскрипт prompt-аудио. Необязателен, но полезен; для non-English обычно стоит передавать.--language: multilingual aligner (ar,ch,de,es,fr,it,ja,pl,pt).--device:auto,cuda,mps,cpu.--dtype:auto,float16,bfloat16,float32.--num-extra-steps: продолжение после исходного текста.--output-sample-rate: sample rate итогового WAV, по умолчанию24000.
TADAв текущем API не делает "чистый text-only TTS": ему нужен audio prompt, из которого encoder строитpromptдляmodel.generate().- Значение
24000для сохранения WAV выбрано как безопасный дефолт для voice codec; если в твоей версии модели ожидается другой sample rate, его можно переопределить через--output-sample-rate. - Скрипт не прячет стоимость по памяти:
tada-3b-mlтяжелая модель, на CPU/MPS запуск может быть ограниченно практичным. - На Apple Silicon возможен
MPS backend out of memoryуже на загрузке модели; в таком случае самый безопасный fallback это--device cpu.