Как стать автором
Обновить

Комментарии 24

НЛО прилетело и опубликовало эту надпись здесь
Я это даже про себя прочитать не смог, не то что вслух :). Но это не интересный кейз, для реального применения. А вот аудио книги… Всё-таки без понимания контекста, для озвучки аудио книг, по сравнению с с хорошим диктором, наверное ещё очень далеко…
НЛО прилетело и опубликовало эту надпись здесь

Однозначно лучше. Дождаться не могу когда такие технологии начнут пояляться в свободном доступе в опенсорсе.

Я так понимаю, что интересен вариант, который был бы озвучен безо всякой помощи со стороны nlp-препроцессора, который бы расставил ударения по словарю. Если так, то вот open source озвучка без ударений:

Лигурия аудио

НЛО прилетело и опубликовало эту надпись здесь
В общем случае в незнакомом слове ударение может быть где угодно. Хотя можно строить предположения и выявлять самые вероятные позиции ударений, главного и (если есть) второстепенного. Это можно делать по однокоренным словам, уже имеющимся в словаре, по семантике (напр. в английских фамилиях ударение обычно на первом слоге, во французских — на последнем, в польских — на предпоследнем), и т.п.
НЛО прилетело и опубликовало эту надпись здесь
Да, в сети, вообще говоря, мелькает информация, что если скормить такотрону достаточно большой датасет, то он выучит всю необходимую информацию, чтобы синтезировать грамотную речь без использования nlp-препроцессора, однако размер датасета должен исчисляться сотнями часов надиктованной речи.
Что-то не завелась шарманка:

sur@hnt56:~/sova-tts$ sudo docker-compose up -d sova-tts
Creating network "sova-tts_default" with the default driver
Creating sova-tts ... done

sur@hnt56:~/sova-tts$ curl --request POST 'http://localhost:8899/tts/' --form 'voice=all' --form 'text="Добрый день!"'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
404 Not Found
Not Found

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.


Пардон, обновили имя запроса, а в документации поправить забыли.
Попробуйте исправленный вариант:
$ curl --request POST 'http://localhost:8899/synthesize/' --form 'voice=Natasha' --form 'text="Добрый день!"'
Ага, отлично, вариант с CPU заработал.
Прикольно, но для коммерческого применения пока не юзабельно, большие проблемы с ударениями.
«лигурийского регулировщика » за раз полностью озвучить не получилось, ноут думал минут 30, выжрал всю память но не смог… ну или может скорее мне надоело ждать.
Но первые два предложения звучат неестественно как-то, ну и ударения…
Вот звонил недавно бот МТС-вский, там у них качество как-то на уровень выше, даже не сразу сообразил, что бот, и к речи придраться там нельзя было… И ударения, и паузы все естественные были.

За работу зачет. Вполне возможно, что ваш коммерческий вариант более умен, чем опенсорсный, это ваше право. Молодцы!
Всё так, есть проблемы с произношением (ударения и ё), но они, в основном, связаны с неоднозначностью их простановки, то есть если подготовить решение по их устранению (на правилах или, опять же, на нейронках) и прикрутить к sova tts, то получится уже так:

Лигурия, первая скороговорка


Насчёт скорости: это, конечно, зависит от устройства, на котором проводятся вычисления. Например, первая скороговорка Лигурии «В четверг четвертого числа в четыре с четвертью часа лигурийский регулировщик регулировал в Лигурии», озвученная выше, вместе с точкой будет составлять 100 символов без учёта токенов ударения и конца строки (как удачно :)). Для такой длины время генерации в зависимости от железа следующее:

~16 с на Intel Xeon CPU E5-2686 v4 @ 2.30GHz
~1 с на Tesla V100 SXM2 16GB

То есть для озвучки всей Лигурии на Xeon потребуется около 7.5 минут. На менее мощных процах, естественно, времени потребуется больше.

За похвалу спасибо!
час+а если поставить, то получается идеально, иначе ставит на первое (ч+аса) у обоих спикеров. На моем ноуте 6.703с для версии с GPU и Наташей и 7с для Руслана
Общее впечатление у меня — ОФИГЕННО. :)
Пытался поставить под Ubuntu версию с Докером — после долгих мучений все запустилось и… зависло намертво без всяких ошибок. Может у меня руки не из того места растут, не спорю. Сколько ОЗУ нужно для работы TTS примерно? Под Windows завести возможно?
ОЗУ требуется около 3 ГБ что для gpu, что для cpu версий докера. Под Windows, если честно, пока не тестировали, но как только сделаем это — отпишемся.

А вообще по поводу таких вещей открывайте issue на гитхаб, пожалуйста, всё-таки комментарии не предназначены для решения таких вопросов. Попробуем там разобраться, в чём проблема.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
это IVONA Tatiana — harposoftware.com/en/russian/167-tatyana-russian-voice.html
польская разработка покупал за 35 евро года 4 назад для озвучивания аудиокниг, из ошибок самая досаждающая ПОРОГ — ПРОРОГ

Для полноты повествования нужно осветить ряд вещей, о которых авторы вероятно немного постеснялись высказаться для "красивой истории":


  • Зачем выкладывать чужой код, но не в виде форка, а виде отдельного репо с минимальными изменениями — честно говоря не совсем понятно;


  • Скорость конструкции Такотрон + WaveGlow примерно в 100 — 1000 ниже (понятное дело на CPU) чем коммерчески рентабельно, да и вообще ради синтеза ставить GPU довольно непонятная для "бизнеса" затея;


  • "Естественность" у оригинальных английских реализаций понятно на уровень выше, но английский как ни странно фонетически сложнее, но "секретный" соус естественно никто не раскрывает. Имеет место неограниченный доступ к compute и черри-пикинг со стороны Нвидии (они очень любят показывать примеры WaveGlow на оригинальной спектрограмме, а комбинацию с Tacotron засунуть в низ страницы);


  • Также смотря на описанные планы:



Полноценный нормализатор текста для раскрытия чисел, аббревиатур и сокращений;

Не могу сказать про полноценность, но мы выкладывали уже такое https://github.com/snakers4/russian_stt_text_normalization


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

Отнюдь, я старался писать статью не как "красивую историю", а как историю разработки и проведённых экспериментов. Не возражаю, что какие-то моменты я мог не упомянуть, но это прозошло не из-за злого умысла. Теперь по пунктам:


  • Потому что у нас разработка ведётся в локальном гитлабе, и изначально репозиторий NVIDIA был скопирован туда. Я не совсем понимаю, в чём претензия, потому что я неоднократно подчёркивал в статье, да и в репозитории об этом сказано в ридми, что весь код основан на коде NVIDIA + во всех файлах есть соответствующие лицензионные заглавия. По поводу минимальных изменений: я рассматриваю наш репозиторий, как подготовленный агрегатор различных идей и подходов по улучшению его работы, которые можно было встретить в интернете. Насколько это ценно? Будь такой репозиторий в начале нашей работы, то разработка пошла бы гораздо быстрее;
  • По поводу скорости, опять же, ничего не скрываю и привожу её в комментариях выше. Что там решит бизнес — это уже другой разговор, не относящийся к главной повестке статьи;
  • Это, конечно, так, но как это относится к русскоязычному open source синтезу, о котором идёт речь в тексте?
  • Да, видели это решение — хорошая штука, хоть и не со всем справляется. Но в любом случае нам нужен собственный нормализатор, который мы сможем использовать для коммерции. Насчёт остальных пунктов — всё так, и мы прекрасно понимаем, что впереди ещё много усердной работы.

всем кому интересна идея синтеза — вероятно вас заинтересует эта публикация — https://habr.com/ru/post/549480/


основные фишки:


  • не нужны GPU, все прекрасно работает на потоке CPU
  • все запускается 1 строчкой из коробки
  • 10 голосов, каждый в 16 kHz и 8 kHz
  • проведена тщательная работа по анализу качества
Зарегистрируйтесь на Хабре, чтобы оставить комментарий