CoolFace
Modelpublic

beleata74/kani-tts-400m-bg-voice-clone-ref5s

sourceHugging Faceotherupdated 6mo agoView on Hugging Face
1likes
Model Card

Bulgarian Ref-Audio KaniTTS Final Package

Това е пакетираният финален ref-audio модел, обучен за българска реч с 5-секунден референтен аудио prompt вместо speaker ID токени.

Какво има вътре

  • —models/kani-tts-400m-bg-refaudio5s-final-ckpt30000/
  • —финалният модел за inference от checkpoint-30000
  • —inference_refaudio.py
  • —основният скрипт за синтез с референтно WAV аудио
  • —inference.py
  • —helper код за декодиране на audio token-ите обратно до WAV
  • —config_loader.py
  • —loader за локалните YAML конфигурации
  • —config/model_config.yaml
  • —token и codec конфигурация
  • —config/inference_config.yaml
  • —базови inference настройки
  • —config/full_finetune_refaudio_1536_allhours.yaml
  • —тренировъчната рецепта, използвана за този модел
  • —full_finetune.py, build_cache.py
  • —копия на training скриптовете за справка и повторяемост

Изисквания

Моделът е тестван в среда с PyTorch, Transformers, NeMo AudioCodec, SciPy и SoundFile.

Ако искаш отделна среда:

bash
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Бърз старт

От директорията на пакета:

bash
python inference_refaudio.py \
  --ref /path/to/reference.wav \
  --text "Рано сутрин градът е тих, а гласът трябва да звучи спокойно, ясно и естествено." \
  --output demo_refaudio.wav

Демо

Към model repo-то е добавена и по-дълга демонстрация на възможностите на модела:

  • —demos/Igrite_na_Vor_AudioScript_radio_play.wav <audio controls src="https://huggingface.co/beleata74/kani-tts-400m-bg-voice-clone-ref5s/resolve/main/demos/IgritenaVorAudioScriptradio_play.wav"></audio>

Това е озвучена радио пиеса, синтезирана с многоговорителен ref-audio pipeline и отделни reference WAV файлове за ролите.

Полезни аргументи

  • —--ref
  • —път до референтен WAV файл
  • —--text
  • —българският текст за синтез
  • —--output
  • —къде да се запише резултатът
  • —--ref-seconds
  • —колко секунди да се вземат от началото на референтния WAV, по подразбиране 5.0
  • —--temperature
  • —sampling temperature, по подразбиране 0.5
  • —--top-p
  • —nucleus sampling, по подразбиране 0.95
  • —--repetition-penalty
  • —наказание за повторения, по подразбиране 1.1
  • —--max-new-tokens
  • —максимален брой генерирани токени, по подразбиране 1400

Как работи conditioning-ът

Моделът очаква:

  1. 1.start_of_human
  2. 2.start_of_speech + reference audio tokens + end_of_speech
  3. 3.текстовия prompt
  4. 4.end_of_human

След това моделът генерира:

  1. 1.start_of_ai
  2. 2.start_of_speech
  3. 3.audio token-ите за целевия отговор
  4. 4.end_of_speech

inference_refaudio.py прави това автоматично.

Бележки

  • —Референтният WAV може да е с друг sample rate; скриптът го ресемплира до 22050 Hz.
  • —Ако WAV файлът е stereo, автоматично се смесва до mono.
  • —За най-стабилни резултати използвай чист референтен сегмент с един говорител.
  • —В пакета е сложен inference-ready модел. Не са копирани optimizer и scheduler файловете, защото за inference не трябват.

Източник на модела

  • —Hugging Face repo: beleata74/kani-tts-400m-bg-voice-clone-ref5s
  • —База: nineninesix/kani-tts-400m-0.3-pt
  • —Финален пакетен модел: checkpoint-30000
  • —Conditioning: reference_audio
  • —Контекст: 1536
  • —Референтен audio prompt: 5s

vLLM сървър

Aдаптираният FastAPI/vLLM server код за този модел е публикуван отделно като downloadable repo и по подразбиране очаква точно този model repo:

  • —beleata74/kani-tts-bg-refaudio-server-code