
Система преобразования речи в текст (STT), или иногда называемая автоматическим распознаванием речи (ASR) – это, как следует из ее названия: Способ преобразования произнесенных слов с помощью звука в текстовые данные, которые впоследствии могут быть использованы в любых целях.
Система *перевода текста в речь (TTS), напротив, представляет собой метод генерации звука из текстовых данных и файлов. По сути, вы даете ей текст, а она генерирует для него соответствующее речевое аудио.
Обе технологии чрезвычайно полезны.
Их можно использовать для множества целей, таких как автоматизация транскрипции, написание статей с использованием только звука или создание аудиокниг, сложный анализ информации с помощью сгенерированных текстовых файлов… и многое другое.
В прошлом в технологиях преобразования речи в текст и текста в речь доминировали проприетарные программы и библиотеки. Альтернативы распознавания речи с открытым исходным кодом не существовали или существовали с крайними ограничениями и без сообщества.
Ситуация меняется, и сегодня существует множество речевых инструментов и библиотек с открытым исходным кодом, которые вы можете использовать прямо сейчас.
Они даже переживают гораздо больший бум, чем раньше, благодаря тенденции развития искусственного интеллекта и генеративных моделей.
Что такое речевая библиотека?
Это программный движок, отвечающий за преобразование голоса в текст или наоборот, и он не предназначен для использования конечными пользователями.
Разработчики должны будут сначала освоить эти библиотеки и использовать их для создания компьютерных программ, которые позволят пользователям распознавать речь.
Некоторые из них поставляются с предварительно загруженными и обученными наборами данных для распознавания заданных голосов на одном языке и генерации соответствующих текстов, в то время как другие просто предоставляют движок без набора данных, и разработчикам придется создавать обучающие модели самостоятельно.
Это может быть сложной задачей, похожей на просьбу «сделать за меня домашнее задание в Интернете» или любую другую, поскольку требует глубокого понимания машинного обучения и работы с данными.
Их можно рассматривать как базовые двигатели программ распознавания речи.
Если вы обычный пользователь, которому требуется распознавание речи или генерация аудио для текста, то ни одна из этих программ вам не подойдет, поскольку они предназначены только для разработки.
Что такое библиотека STT/TTS с открытым исходным кодом?
Разница между проприетарным распознаванием речи и распознаванием речи с открытым исходным кодом заключается в том, что библиотека, используемая для обработки голоса, должна быть лицензирована под одной из известных лицензий с открытым исходным кодом, таких как GPL, MIT и другие.
Например, у Microsoft, NVIDIA и IBM есть свои собственные наборы инструментов для распознавания речи, которые они предлагают разработчикам, но они не являются открытыми: Просто потому, что они не лицензированы под одной из лицензий с открытым исходным кодом, существующих на рынке.
Проверьте лицензию интересующей вас библиотеки speech-to-text с открытым исходным кодом, и если она соответствует лицензии OSI, то это библиотека с открытым исходным кодом.
Каковы преимущества использования программного обеспечения STT/TTS с открытым исходным кодом?
В основном, вы получаете мало или вообще не получаете ограничений на коммерческое использование для вашего приложения, поскольку речевые библиотеки с открытым исходным кодом позволят вам использовать их для любых целей, которые вам могут понадобиться.
Кроме того, большинство – если не все – речевых наборов с открытым исходным кодом на рынке бесплатны, что позволяет сэкономить кучу денег по сравнению с использованием проприетарных библиотек.
Таким образом, вместо того чтобы использовать проприетарные речевые сервисы и платить за каждую минуту голоса, преобразованного в текст, или оплачивать ежемесячную подписку, вы можете использовать альтернативные варианты с открытым исходным кодом без ограничений и разрешения кого-либо.
Лучшие системы STT/TTS с открытым исходным кодом
В этой статье мы рассмотрим несколько систем преобразования речи, их плюсы и минусы, а также то, когда их можно использовать.
Некоторые из этих библиотек с открытым исходным кодом можно использовать для STT, а некоторые – только для TTS. Другие можно использовать и для того, и для другого, и мы расскажем о возможностях каждой из них, чтобы вам было легче сделать выбор.
Мы постарались отобрать только самые лучшие, работающие, поддерживаемые и полезные программы, которые должны быть в этом списке для наших читателей. Помните, что мы освещаем только те программы с открытым исходным кодом, которые соответствуют определению OSI и имеют лицензию, одобренную OSI. Рейтинг является случайным и не отражает нашу оценку программного обеспечения.
1. Kaldi
Kaldi – это программное обеспечение для распознавания речи (STT) с открытым исходным кодом, написанное на языке C, и выпущенное под общественной лицензией Apache.
Оно работает под Windows, macOS и Linux. Его разработка началась еще в 2009 году.
Главной особенностью Kaldi по сравнению с другими программами для распознавания речи является то, что он является расширяемым и модульным: Сообщество предоставляет множество сторонних модулей, которые вы можете использовать для своих задач.
Kaldi также поддерживает глубокие нейронные сети и предлагает отличную документацию на своем сайте. Хотя код в основном написан на языке C, он дополнен скриптами Bash и Python.
Так что если вам нужна только базовая задача преобразования речи в текст, то вы легко справитесь с ней с помощью Python или Bash. Вы также можете ознакомиться с Kaldi Active Grammar, которая представляет собой готовый движок на Python с уже готовыми к использованию моделями, обученными английскому языку.
Узнать больше о системе распознавания речи Kaldi можно на ее официальном сайте.
2. Julius
Вероятно, одна из старейших программ для распознавания речи (STT), поскольку ее разработка началась в 1991 году в университете Киото, а затем в 2005 году она была передана в качестве независимого проекта.
Многие приложения с открытым исходным кодом используют его в качестве движка (вспомните KDE Simon).
К основным особенностям Julius можно отнести способность выполнять STT-процессы в реальном времени, низкое потребление памяти (менее 64 МБ для 20000 слов), способность выдавать N-best/Word-граф, возможность работы в качестве серверной единицы и многое другое.
Это программное обеспечение было создано в основном для академических и исследовательских целей. Она написана на языке C и работает под Linux, Windows, macOS и даже Android (на смартфонах).
В настоящее время поддерживаются только английский и японский языки.
Вероятно, программу можно легко установить из репозитория вашего дистрибутива Linux; просто найдите пакет julius
в вашем менеджере пакетов.
Вы можете получить доступ к исходному коду Julius с GitHub.
3. Flashlight ASR (бывший Wav2Letter)
Если вы ищете что-то современное, то этот вариант можно включить.
Flashlight ASR – это программное обеспечение для распознавания речи с открытым исходным кодом, которое было выпущено командой Facebooks AI Research Team. Код на языке C, выпущенный под лицензией MIT.
Facebook описывает свою библиотеку как самую быструю современную систему распознавания речи, доступную до 2018 года.
Концепции, на которых построен этот инструмент, делают его оптимизированным для производительности по умолчанию.
В качестве базового ядра Flashlight ASR используется библиотека машинного обучения Flashlight от Facebook. Программа требует, чтобы вы сначала создали обучающую модель для нужного вам языка, прежде чем запустить процесс распознавания речи.
Никакой готовой поддержки для любого языка (включая английский) не предусмотрено. Это просто инструмент машинного обучения для преобразования речи в текст. Поэтому вам придется обучать и создавать свои собственные модели.
Подробнее о нем вы можете узнать по следующей ссылке.
4. PaddleSpeech (ранее DeepSpeech2)
Исследователи китайского гиганта Baidu также работают над собственным набором инструментов для распознавания речи и преобразования текста в речь под названием PaddleSpeech.
Речевой инструментарий построен на базе фреймворка глубокого обучения PaddlePaddle и предоставляет множество функций, таких как:
- Поддержка преобразования речи в текст и распознавания речи (ASR).
- Поддержка преобразования текста в речь.
- Современная производительность в транскрипции аудио, она даже получила награду NAACL2022 за лучшую демонстрацию,
- Поддержка многих больших языковых моделей (LLM), в основном для английского и китайского языков.
Движок может быть обучен на любой модели и для любого языка по вашему желанию.
Исходный кодPaddleSpeechs на Python, поэтому вам будет легко с ним ознакомиться, если вы используете именно этот язык.
5. Vosk
Одна из самых новых систем распознавания речи с открытым исходным кодом, так как ее разработка началась только в 2020 году.
В отличие от других систем в этом списке, Vosk вполне готов к использованию после установки, так как поддерживает 20 языков (английский, немецкий, французский, турецкий…) с портативными предварительно обученными моделями, уже доступными для пользователей.
Vosk предлагает небольшие модели (размером около 100 МБ), которые подходят для общих задач и легких устройств, и более крупные модели (размером до 1 ГБ) для лучшей производительности и результатов.
Он также работает на устройствах Raspberry Pi, iOS и Android и предоставляет потоковый API, позволяющий подключаться к нему для выполнения задач по распознаванию речи в режиме онлайн.
Vosk имеет привязки для Java, Python, JavaScript, C# и NodeJS.
Узнать больше о Vosk можно на его официальном сайте.
6. Athena
Механизм сквозного распознавания речи, реализующий ASR.
Написан на языке Python и лицензирован под лицензией Apache 2.0. Поддерживает предварительное обучение без контроля и обучение на нескольких процессорах, как на одной, так и на нескольких машинах. Построен на основе TensorFlow.
Имеет большую модель для английского и китайского языков.
Посетите исходный код Athena.
7. ESPnet
ESPnet, написанный на Python поверх PyTorch, может использоваться как для распознавания речи (ASR/TTS), так и для преобразования речи в текст (STT).
В обработке данных он придерживается стиля Kaldi, поэтому перейти с него на ESPnet будет проще.
Основной маркетинговый ход ESPnet – это современная производительность, которую он демонстрирует во многих бенчмарках, и поддержка других задач обработки языка, таких как машинный перевод (MT) и перевод речи (ST).
Библиотека распространяется под лицензией Apache 2.0.
Получить доступ к ESPnet можно по следующей ссылке.
8. Whisper
Один из самых новых наборов инструментов для распознавания речи в семействе.
Он был разработан известной компанией OpenAI (той же, что и ChatGPT).
Главная маркетинговая фишка Whisper заключается в том, что он не специализируется на наборе обучающих наборов данных только для определенных языков; вместо этого его можно использовать с любой подходящей моделью и для любого языка.
Она была обучена на 680 тысячах часов аудиофайлов, треть из которых – неанглийские наборы данных.
Он поддерживает преобразование речи в текст, текста в речь и речевой перевод. Компания утверждает, что в ее инструментарии на 50% меньше ошибок на выходе по сравнению с другими инструментами, представленными на рынке.
9. StyleTTS2
Также одна из самых новых библиотек в этом списке, поскольку она была выпущена только в середине ноября 2023 года.
StyleTTS использует технику диффузии с обучением больших моделей языка речи (SLM) для достижения более высоких результатов по сравнению с предыдущим поколением моделей.
Создатели модели опубликовали ее вместе с научной статьей, в которой они делают следующее заявление о своей работе:
В этой работе впервые достигнут синтез TTS на человеческом уровне как на одноязычных, так и на многоязычных наборах данных, демонстрируя потенциал диффузии стилей и состязательного обучения с большими SLM.
Модель написана на языке Python и имеет в комплекте несколько Jupyter-блокнотов, демонстрирующих ее использование. Модель распространяется под лицензией MIT.
Существует онлайн-демонстрация, в которой вы можете увидеть различные эталоны модели: https://styletts2.github.io/.
10. Coqui TTS
Coqui TTS – это набор инструментов глубокого обучения, предназначенный для генерации текста в речь (TTS) и реализованный преимущественно на Python. Он распространяется под лицензией MPL 2.0.
Программное обеспечение использует несколько передовых библиотек и фреймворков, таких как PyTorch, для высокопроизводительного обучения и вывода моделей. Coqui TTS поддерживает множество архитектур, включая Tacotron2, Glow-TTS, варианты FastSpeech, а также различные модели вокодеров, такие как MelGAN и WaveRNN.
Такая модульная конструкция позволяет пользователям не только использовать предварительно обученные модели, доступные на многих языках, но и предлагает инструменты для тонкой настройки существующих моделей или разработки новых, отвечающих конкретным потребностям.
К основным особенностям Coqui TTS относится эффективная поддержка нескольких дикторов, позволяющая синтезировать голоса разных дикторов с использованием общих наборов данных, сохраняя при этом отличительные вокальные характеристики.
Он также обладает такими возможностями, как клонирование голоса благодаря интеграции YourTTS и потоковая передача в реальном времени с низкой задержкой (<200 мс), что делает его подходящим как для академических исследовательских приложений, так и для производственных сред, требующих масштабируемых решений.
https://github.com/coqui-ai/TTS
11. GPT-SoVITS
GPT-SoVITS – это инновационный программный инструмент, предназначенный для преобразования голоса в несколько кадров и преобразования текста в речь (TTS), разработанный преимущественно на языке Python. Лицензируется под лицензией MIT.
Одной из главных особенностей платформы является то, что для эффективной тонкой настройки модели требуется всего одна минута вокальных образцов. Платформа поддерживает функцию zero-shot, которая позволяет сразу же синтезировать речь по пятисекундному аудиообразцу, а также обеспечивает кросс-лингвистическую поддержку таких языков, как английский, японский и китайский.
Другими словами, построить обучающие модели для этой библиотеки будет гораздо проще, чем для других.
Кроме того, она предоставляет функциональные возможности для усиления эмоционального контроля над генерируемой речью и позволяет настраивать ее с помощью различных предварительно обученных моделей.
12. VALL-E X
VALL-E X – это открытая реализация модели преобразования текста в речь (TTS) VALL-E X от Microsoft, разработанная в основном на языке Python и лицензированная под лицензией MIT.
Библиотека позволяет клонировать голоса с помощью короткого аудиосэмпла, сохраняя при этом высокое качество синтеза речи на нескольких языках, включая английский, китайский и японский.
Кроме того, в ней реализованы такие расширенные функции, как управление эмоциями во время генерации речи и работа с акцентом при синтезе подсказок на разных языках.
Пользователи также могут экспериментировать с клонированием голоса, предоставляя минимальные записи вместе с транскриптами или позволяя встроенной в систему модели Whisper автоматически генерировать транскрипты из входных аудиофайлов.
VALL-E X очень близок к передовым показателям в своей категории.
13. Amphion
Amphion – это набор инструментов с открытым исходным кодом, предназначенный для генерации аудио, музыки и речи.
Лицензированный под лицензией MIT, он в основном разработан на Python, а вспомогательные компоненты написаны на Jupyter Notebook и Shell scripting.
Для решения задач преобразования текста в речь (TTS) программа использует различные структуры моделей из других библиотек, таких как FastSpeech2, VITS, VALL-E, NaturalSpeech2.
Одной из отличительных особенностей Amphion является наличие визуализации, которая помогает пользователям понять, как они работают в данный момент, выполняя задачи генерации TTS и аудио, что делает его очень хорошим программным обеспечением для образовательных и академических целей.
Кроме того, в комплект поставки входит большой набор данных под названием «Эмилия», содержащий более 100 000 часов записей речи, которые могут быть использованы для обучения моделей на 6 языках, включая английский.
14. EmotiVoice
EmotiVoice – это движок преобразования текста в речь (TTS) с открытым исходным кодом, разработанный преимущественно на Python с использованием таких библиотек, как PyTorch и различных инструментов обработки звука. Он лицензирован под лицензией Apache 2.0.
Он поддерживает английский и китайский языки, предлагая пользователям на выбор более 2000 уникальных голосов.
Программа поддерживает эмоциональный синтез, позволяя генерировать речь, передающую широкий спектр эмоций, таких как счастье, грусть, гнев и волнение. Эта функциональность повышает вовлеченность пользователей, обеспечивая более выразительную речь по сравнению с традиционными системами TTS.
В отличие от большинства программ в нашем списке, эта включает в себя удобный веб-интерфейс, который можно использовать для запуска и управления моделью:
Кроме того, в комплект поставки входят возможности сценариев для пакетной обработки.
15. Piper
Piper – это быстрая локальная нейронная система преобразования текста в речь (TTS), предназначенная для встраиваемых устройств, таких как Raspberry Pi.
Программное обеспечение написано в основном на C++ и лицензировано под лицензией MIT, но его также можно вызвать как библиотеку Python с помощью pip.
Piper поддерживает различные голосовые модели, обученные по технологии VITS, что позволяет ему производить высококачественный синтез речи на множестве языков, включая английский, испанский, французский, немецкий и другие.
Вы можете прослушать демонстрационные примеры на всех поддерживаемых языках по следующему URL: https://rhasspy.github.io/piper-samples/.
Одной из отличительных особенностей Piper является возможность потокового воспроизведения аудио в режиме реального времени при синтезе речи из входного текста. Кроме того, пользователи могут настраивать свои выходные клипы, выбирая различные динамики при использовании многоколоночных моделей с помощью специальных команд во время выполнения.
Piper подходит для использования в качестве домашнего помощника, устанавливаемого на любое устройство Raspberry Pi, поэтому это следует рассматривать как его главное преимущество. Другие модели, представленные в этой статье, например, могут не обладать такой возможностью.
Заключение
В категории распознавания речи и TTS все большее место занимают технологии с открытым исходным кодом, что еще несколько лет назад казалось очень надуманным.
Современные программы распознавания речи с открытым исходным кодом очень современны и передовы, и их можно использовать для любых целей, а не зависеть от инструментария Microsoft или IBM.
Если у вас есть другие рекомендации для этого списка или комментарии в целом, мы будем рады услышать их ниже.