Немного о том, как синтезировать голос (text-to-speech)

  • espeak — ставится просто, есть русский язык, есть python-espeak биндинг для угадайте какого языка. Ставится просто, всё есть в debian репозиториях, просто работает. Звук выходит очень ломанный, звучит отвратительно.

  • Google Text to Speech — ну вы знаете, облака всегда к вашим услугам. Биндинги есть для всего (gTTS для Python, htgo-tts для golang), звучание наилучшее, которое можно получить автоматически. Но, понятно, жрёт сетевой трафик и, вероятно, имеет rate limit.

  • festival (festvox) — кажется, самая известный движок для TTS. Если вы видели мемы с говорящей техникой, типа где робот-пылесос ругается на кота или говорящая стиральная машина, то это как раз festival. Ставится тоже просто из репозиториев, там же есть разные языки, в том числе и русский, есть биндинги pyfestival.

  • flite — облегчённая версия festival, и я не заметил для английского, чтобы как-то хуже звучало. Более того, для английского сразу встроено 5 разных голосов. Я у себя в дроне использую его, потому что есть обёртка flite-go. Но всегда можно у любого инструмента из списка просто дёрнуть CLI интерфейс, так что об этом всём не стоит прям сильно переживать.

  • pico — TTS из Android, и звучит он прям очень круто. Как мне кажется, это лучшее звучание в списке для английского. Тоже есть в репозиториях, русский не поддерживается. Из биндингов видел py-picotts, но не пробовал.