Обучение модели с нуля на болгарском языке либо дообучение существующей модели для болгарского

#25
by miromad - opened

Привет, Misha24-10!
Вы сделали очень хорошую модель с поддержкой управления ударением в словах. Молодец!
Я хотел бы спросить, как я могу обучить такую же модель с поддержкой управления ударением в словах на болгарском языке — с нуля или дообучив Вашу модель?
Вы не пробовали тренировать PLBERT и ASR с нуля на русском языке и использовать их в этом проекте? Именно так сделана эта модель: https://huggingface.co/Respair/Tsukasa_Speech

Заранее спасибо!

Привет, @miromad , я пробовал дообучать 1 версию модели на Чувашский язык (https://huggingface.co/Misha24-10/F5-TTS_CHUVASH), имея всего лишь 25 часов аудио у меня уже получилось немного склонировать голос, но нужно большое число итераций/шагов чтобы сошлись EMA веса, или их необходимо дополнительно отключить. Ударения для этого не использовал, т.к. нет модели для расстановки ударений на отличные от русского языка(.
В планах есть обучить и выложить дообученные веса модели на 2 языка (чавашский, татарский), возможно еще 1 язык.

Привет, @Misha24-10 !
Спасибо за ответ. Я хочу дообучить эту модель на болгарском языке (у меня есть около 40 часов аудио, и я смогу расставить ударения), но не знаю, как это сделать — то есть какой код нужно изменить, чтобы модель обучалась с учётом ударений. Или же в датасете все слова должны быть уже с ударениями?
Если это не слишком сложно (и не является секретом), помогите, пожалуйста, разобраться.
Заранее благодарю!

Для обучения с ударениями нужна специальная обученная на болгарском языке модель для расстановки ударений. Возможно уже существуют такие модели. Для обучение модели с расставленными ударениями нужна эта модель. Далее транскрипции для текстов прогоняешь через эту модель и получаешь обучающий набор данных с ударениями для каждого аудофайла от 3 до 30/35 секунд.
image.png.

Если коротко то это выглядит так:

  1. Собрать данные для обучения
  2. Разбить данные на фрагменты от 1-3 до 30-35 секунд (если изначально они большие фраменты)
  3. Прогнать через ASR модель, получить транскрипцию для каждого фрагмента (или сделать это вручную /с помощью ассессоров)
  4. Расставить ударения в транскрипциях (через модель или вручную...)
  5. Создать файл metadata.csv как на рисунке выше (путь до аудиофайла и траскрипция)
    6)При необходимости изменить vocab.txt если в словаре нет всех букв из болгарского языка. Тут еще есть пару не очевидных моментов с инициализацией весов в пайплайне обучения.
  6. Обучить модель
  7. Готово

@Misha24-10 , Большое спасибо за подробное объяснение! Попробую сделать так, как Вы посоветовали. Посмотрим, что получится.

Добрый день. Возможно ли как то адаптировать вашу модель под IndexTTS2 ?
https://github.com/index-tts/index-tts
там эмоции хорошо передаются...

Sign up or log in to comment