Comments 15
Заценил синтез на башкирском языке в телеграм боте. Скорость генерации поражает. В пример озвучки (русский текст) чувствуется акцент.)) Башкирский текст звучит хорошо, ударения проставлены неплохо. Только окончания предложений на гласную букву, иногда звучат так, как будто человека перебили на полуслове)
У модели в явном виде нет inductive bias-а в виде ударений, она сама как-то их ставит. Насколько помню в башкирском и татарском вроде такой жести как в русском нет, но думаю причина как раз в этом. Но может в светлом будущем расставим ударения на все языки и станет лучше. Плюс данные шумноваты.
Если правильно помню Зализняка, в татарском ударение на последний слог, в польском на предпоследний, а в русском промежуточное состояние при переходе от ясного состояния до, примерно, 12 века к измененному состоянию далекого будущего, результат борьбы двух сводов правил. Ну, хоть в отличии от сербского больше нет двух типов ударения.
Круто, а можно сделать такую модель чтобы она смогла петь песни как Vocaloid Hatsune Miku?
И еще хотел спросить есть ли какие-то ограничения по запуску модели или технические требования к ПК? Типа нужно 1Гб памяти, до 1000 слов на вход и т.д?
А зачем ваш бот требует подписаться на какой-то канал новостей для своей работы? Буквально вчера пробовал им воспользоваться и напоролся на это. Что это за серая схема по привлечению подписчиков?
Это не "серая схема", это схема борьбы с мошенниками, которые притворяются с нами.
Когда бот набрал популярность, появились жулики, собирающие деньги от нашего имени и занимающиеся разными другими прекрасными вещами (травля, газлайтинг, вымогательство денег, шантаж).
Поскольку в телеграме саппорт работает на общественных началах, а report / abuse жалобы даже от десятков-сотен членов приватного комьюнити остаются неотвеченными, другого способа мы не нашли.
И да, сразу отвечая на вопрос, уже 8 месяцев ждем аппрува верификации нашего бота. Отправляли заявку через верификацию ВК + наш сайт, там идет разворот на саппорт. Когда появилась вторая ссылка … отменить заявку нельзя, надо ждать первую. А первая упала вникуда.
Ну так в FAQ можно же хотя бы написать, для чего это надо и что ждёт подписчика? И всё равно это будет выглядеть серой схемой. Потому что я не понимаю, что мешает мошеннику подписаться и дальше продолжать свои мошеннические схемы — ему то вообще пофиг, на кого подписываться. И как эта подписка защищает от этих схем.
Пока телеграм (и если) не дает галку, у нас на порядок-два больше подписчиков на канале. Мошенник после введения этой схемы сдулся.
Ну так в FAQ можно же хотя бы написать, для чего это надо и что ждёт подписчика?
Никто не читает FAQ. Не понимаю в чем проблема. Не хотите - не пользуйтесь. Или попользуйтесь 5 минут, потом отпишитесь. Это же не скамный бот с рекламой каждое сообщение или где надо подписаться на 10 каналов каждый день.
Попробовал ваши модели TTS. Применил украиноязычную модель к белорусскому тексту, с предобработкой. Получилось очень круто! Это лучший TTS синтезатор для белорусского языка из созданных до сих пор:
https://soundcloud.com/kryvich/test-be-v4_ua
Теперь немного нытья конструктивной критики. Предыдущая версия модели мне показалось чуть лучше звучит. В v4_ua есть едва заметное дребезжание, а с v3_ua такого нет.
https://soundcloud.com/kryvich/test-be-v3_ua
Также, при запуске локально из командной строки, старая модель немного быстрее:
d:\anaconda3\python.exe tts3.py ukr.txt
--- 3.139 seconds ---
d:\anaconda3\python.exe tts4.py ukr.txt
--- 4.150 seconds ---
Запускал несколько раз, цифры примерно такие остаются.
Также новая модель выдаёт предупреждение:
d:\anaconda3\lib\site-packages\torch\nn\modules\module.py:1501: UserWarning: Converting mask without torch.bool dtype to bool; this will negatively affect performance. Prefer to use a boolean mask directly. (Triggered internally at C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\transformers\attention.cpp:152.)
return forward_call(*args, **kwargs)
Но это возможно сам виноват, я не настоящий Python-программист.
Отвечу по пунктам.
Также, при запуске локально из командной строки, старая модель немного быстрее:
У моделей торча есть такая особенность как "прогрев". То есть первый (и возможно несколько первых прогонов) модель "прогревается". Это должно помогать ей в будущем работать быстрее, но в реальности это к сожалению не так.
Иногда обходится через torch._C._jit_set_profiling_mode(False)
после импорта торча, но до импорта и загрузки модели.
Может еще зависеть от версии установленного торча. Вообще новая модель так-то в 4 раза быстрее, если всё нормально замерять.
Теперь немного
нытьяконструктивной критики. Предыдущая версия модели мне показалось чуть лучше звучит. В v4_ua есть едва заметное дребезжание, а с v3_ua такого нет.
Мы столкнулись с некоторым количеством случаев нарушения лицензии наших моделей, в том числе жуликами оппортунистически настроенными людьми.
По этой причине было принято решение опубликовать кратно более быструю модель, но с некоторым лимитом по качеству, чтобы точно было понятно, что это синтез.
По скорости - ответил ниже.
Да еще запуск и загрузка модели занимают время. Поэтому сравнивать надо на большом числе разных генераций как бы ПОСЛЕ загрузки модели.
При загрузке модели падает с exit code -1073740791
language = 'cyrillic'
model_id = 'v4_cyrillic'
sample_rate = 48000
speaker = 'cv_ekaterina'
device = torch.device('cpu')
model, example_text = torch.hub.load(repo_or_dir='snakers4/silero-models',
model='silero_tts',
language=language,
speaker=model_id)
v4_ru тоже
Теперь наш синтез на 22 языках с кириллицей и ещё в 4 раза быстрее