Обновить
27
AigizK@AigizK

Пользователь

5
Подписчики
Отправить сообщение

я думаю уже конкретику найти не сложно

Круто, как реализую чтоб через колонку можно было заказы делать, пингану вас ))
Надеюсь остальные магазины так же подтянутся

Можно ли дообучить на новый язык?

Я взял ваш пример SSML:

ssml_sample = """
              <speak>
              <p>
                  Когда я просыпаюсь, <prosody rate="x-slow">я говорю довольно медленно</prosody>.
                  Потом я начинаю говорить своим обычным голосом,
                  <prosody pitch="x-high"> а могу говорить тоном выше </prosody>,
                  или <prosody pitch="x-low">наоборот, ниже</prosody>.
                  Потом, если повезет – <prosody rate="fast">я могу говорить и довольно быстро.</prosody>
                  А еще я умею делать паузы любой длины, например две секунды <break time="2000ms"/>.
                  <p>
                    Также я умею делать паузы между параграфами.
                  </p>
                  <p>
                    <s>И также я умею делать паузы между предложениями</s>
                    <s>Вот например как сейчас</s>
                  </p>
              </p>
              </speak>
              """
speaker = "ru_alfia2"

audio = model.apply_tts(text=ssml_sample,
                        speaker=speaker,
                        sample_rate=sample_rate)
print(example_text)
display(Audio(audio, rate=sample_rate))

Пробовал SSML, как будто вообще не работает.

То что пишет @Xiran, это частный случай(это же слово можно спокойно произнести с ударением в конце, только смысл сказанного уже будет другой). В большинстве случаев будет в конце, или можно считать что нет совсем. А если начать разбирать такие случаи, то надо учитывать контекст и исходя из этого добавить не только ударения, но и растягивание гласных. Не уверен, что кто-то это сейчас вообще может такое правило подготовить.

А насколько теперь легко реализовать клонирование голоса на этих языках?

Исправь тогда тексты на башкирском в статье и в ноутбуке(Мин һәр саңғыраҡ тауҙа түбәнәгендә йәйенә йөҙөп йөрөйм.). Сейчас вообще какие то слова написаны, которых не существует. Можно взять как пример это: "Күп балалыларға былайҙа сертификат бирелә бит."

А как определяет условно русский "А" и башкирский "А"? Я когда делал синтез на 2 языках(башкирский и русский), даже когда использовал одни символы для согласных, уже был акцент. И исправил только когда начал использовать разные алфавиты для разных языков.

Мда, суммарно больше 60 голосов получается. Причем послушал, даже украинский или белорусский спикер хорошо озвучивают башкирские тексты. Круто, большое спасибо за эту работу!!!

Не очень понятно, почему список голосов из статьи и в ноутбуке отличаются? Причем не все голоса из этой статьи можно запустить через ноутбук

Интересно будет кстати послушать мнение носителей языка касательно генерализации между похожими языками

Вау, вот это самая крутая вещь. Послушал на башкирском голоса татарского, узбекского, саха, казахского. Есть конечно некоторые замечания, типа тех звуков которых нет в языке оригинале, те звуки чуть хуже произносятся. Но в общем результат достойный!!!

На основе твоих слов из словаря для башкирского создал проект расстановке ударений для башкирского языка: https://github.com/AigizK/bashkir-stress/tree/main
Лицензия как у тебя, так что используй. Для нахождения корня слов можно прикрутить Hunspell: https://github.com/AigizK/bashspell/tree/main/static/hunspell/28.01.2024 и доработать правила 1a, 1b

Правила 3,4 исключают очень много слов из словаря.

Надо будет послушать ваш TTS, а то пока не очень понятно, почему у некоторых слов ударения такие проставлены. Я пока для башкирского создавал все TTS без ударений, модель легко выучивает, так как переноса ударений в башкирском нет. Но есть случаи, типа вопросительные слова, где точно есть ударения и они попадают на предпоследний слог. Потом послушав ваш TTS, можем собрать новый список или алгоритм дать

сделали мультиязычный синтез.

а на каких языках? и работает ли клонирование между языками?

но тут пока создадим иллюзию тайны

уже заждался ))

посмотрел, не хватает таких настроек:

# CPU
model = load_accentor(device='cpu')

# GPU (первая видеокарта)
model = load_accentor(device='cuda')
# или
model = load_accentor(device='cuda:0')

# Вторая видеокарта (если есть)
model = load_accentor(device='cuda:1')

# Автоматический выбор (GPU если доступен, иначе CPU)
model = load_accentor(device='auto')

о, круто. а как этим управлять через silero_stress?

1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность