SpeakerPy
SpeakerPy
- это Python-библиотека для синтеза речи, основанная на моделях Silero Text-to-Speech.
Возможные сферы применения SpeakerPy
SpeakerPy
предлагает ряд возможностей для синтеза речи, что делает его полезным инструментом для различных задач и сфер деятельности. Ниже приведены некоторые примеры областей, где может быть использовано приложение SpeakerPy
:
-
Образование: SpeakerPy может использоваться для озвучивания учебных материалов, таких как лекции, статьи и книги, что поможет студентам и преподавателям легче воспринимать информацию и экономить время.
-
Аудиокниги: SpeakerPy может быть использован для создания аудиокниг из текстовых документов, что облегчит доступ к литературе для людей с ограниченными возможностями и тех, кто предпочитает слушать, а не читать.
-
Подкасты и радио: SpeakerPy можно использовать для создания подкастов и радиопередач на основе текстовых материалов, таких как новости, статьи или блоги.
-
Доступность: SpeakerPy может быть полезным для разработки приложений и веб-сайтов с функцией Text-to-Speech, что позволит сделать контент доступным для людей с нарушениями зрения или другими ограниченными возможностями.
-
Озвучивание видео: SpeakerPy можно использовать для автоматического озвучивания видеоматериалов, таких как презентации, обучающие видео или даже корпоративные ролики.
-
Иностранные языки: SpeakerPy может быть использован для озвучивания текстов на иностранных языках, что поможет изучающим язык лучше понять произношение и интонацию.
-
Навигационные системы: SpeakerPy можно применять в навигационных системах и голосовых помощниках для автоматического озвучивания маршрутов, инструкций и другой полезной информации.
-
Техническая поддержка: SpeakerPy может быть интегрирован в системы технической поддержки для автоматического озвучивания ответов на часто задаваемые вопросы или инструкций по решению проблем.
-
Маркетинг и реклама: SpeakerPy может быть использован для создания голосовых объявлений, промо-роликов и презентаций, что позволит сэкономить время и средства на озвучивание профессиональными дикторами.
-
Медицина: SpeakerPy может применяться для озвучивания медицинских текстов, инструкций по применению лекарств или результатов диагностики, что упростит восприятие информации для пациентов и медицинских специалистов.
-
Наука и исследования: SpeakerPy может использоваться для озвучивания научных статей, докладов и конференций, что облегчит доступ к информации для ученых и исследователей.
-
Кастомизация голосовых ассистентов: SpeakerPy может быть использован для кастомизации голоса виртуальных ассистентов, таких как Siri, Google Assistant или Alexa, что позволит пользователям выбирать голосовые опции, которые им больше нравятся.
-
Замена голоса: SpeakerPy может использоваться для смены голоса в существующих аудиозаписях, например для анонимизации подкастов или интервью.
-
Текстовые редакторы: SpeakerPy может быть интегрирован в текстовые редакторы для предоставления функции Text-to-Speech, что поможет авторам и редакторам проверять свои тексты на ошибки и стилистические неточности.
Эти примеры лишь часть возможностей применения SpeakerPy. Благодаря своей гибкости и мощным функциям, SpeakerPy может быть адаптирован для использования в самых разнообразных сферах и отраслях, где требуется синтезировать речь из текста. От маркетинга и рекламы до медицины и науки, SpeakerPy может стать полезным инструментом для разработчиков, специалистов по контенту и конечных пользователей.
В целом, возможности использования SpeakerPy ограничены лишь фантазией и потребностями конкретных пользователей или проектов. Благодаря своей универсальности и простоте использования, SpeakerPy может найти свое место в самых разных областях и помочь решать самые разнообразные задачи.
Особенности и преимущества SpeakerPy
- Транскрипция чисел и английских слов: SpeakerPy способен озвучивать числа и английские слова через транскрипцию.
- Синтез больших объемов текста: SpeakerPy может синтезировать большие объемы текста без проблем.
- Корректное деление текста на куски: благодаря использованию библиотеки nltk, SpeakerPy корректно делит большие тексты на предложения.
- Кеширование синтезированного текста: SpeakerPy синтезирует и хранит текст по кускам, что позволяет кешировать уже ранее синтезированный текст и избежать повторного синтезирования.
- Работа в автономном режиме: SpeakerPy синтезирует звук локально, без подключения к интернету, что позволяет использовать его в автономном режиме.
- Сохранение синтезированного текста в MP3: SpeakerPy предоставляет возможность сохранять синтезированный текст в формате MP3.
Установка
Системные требования
- 2 ГБ ОЗУ
Установка через pip
SpeakerPy
можно установить с помощью pip:
pip install speakerpy
Установка и запуск через Docker
Скачать образ
docker pull xable/speakerpy
Собрать образ(весит 8.27GB):
make docker-build
Запустить образ:
make docker-run
Использование CLI
╰─➤ python -m speakerpy --help
usage: __main__.py [-h] -l {ru,en} -f FILE -t {mp3,speak} [-sr SAMPLE_RATE] [-s SPEED] [-n NAME_TEXT] [-a AUDIO_DIR]
🎙️ SpeakerPy: CLI для синтеза речи с использованием SpeakerPy 🎙️
options:
-h, --help show this help message and exit
-l {ru,en}, --language {ru,en}
Язык синтеза (ru | en)
-f FILE, --file FILE Путь к файлу с текстом для озвучивания
-t {mp3,speak}, --type_out {mp3,speak}
Каким образом вывести синтезированный текст (mp3 | speak)
-sr SAMPLE_RATE, --sample_rate SAMPLE_RATE
Частота дискретизации (по умолчанию: 48000)
-s SPEED, --speed SPEED
Скорость чтения (по умолчанию: 1.0)
-n NAME_TEXT, --name_text NAME_TEXT
Имя для текста, с таким именем сохранится итоговый mp3 файл (по умолчанию: имя файла с текстом)
-a AUDIO_DIR, --audio_dir AUDIO_DIR
Папка для сохранения готовых аудио файлов (по умолчанию: текущая папка)
Примеры использования:
python -m speakerpy -l ru -t speak -f ./books/example.txt;
python -m speakerpy -l ru -t mp3 -f ./books/example.txt;
python -m speakerpy -l en -t speak -f ./books/example.txt;
python -m speakerpy -l en -t mp3 -f ./books/example.txt;
Основные компоненты
Проект состоит из двух основных компонентов: Lib Speak и Lib SL Text.
Lib Speak
Lib Speak включает классы Speaker
и SpeakerBase
для синтеза речи с использованием моделей Silero. Основные методы класса Speaker
:
-
speak
: произнесение текста. -
to_mp3
: конвертация текста в аудиофайл MP3.
Пример использования функции speak
from lib_speak import Speaker
from lib_sl_text import SeleroText
text = SeleroText("Пример текста для синтеза речи")
speaker = Speaker(model_id="ru_v3", language="ru", speaker="aidar", device="cpu")
speaker.speak(text=text, sample_rate=48000, speed=1.0)
Пример использования функции to_mp3
from lib_speak import Speaker
from lib_sl_text import SeleroText
text = SeleroText("Пример текста для синтеза речи")
speaker = Speaker(model_id="ru_v3", language="ru", speaker="aidar", device="cpu")
speaker.to_mp3(text=text, name_text="Текст", sample_rate=48000, audio_dir=pathlib.Path(__file__).parent.parent / "mp3", speed=1.0)
Lib SL Text
Lib SL Text содержит класс SeleroText
для обработки текста перед синтезом речи. Основной метод класса SeleroText
:
-
chunk
: разделение текста на блоки.
Использование класса SeleroText
text = SeleroText("Привет, мир!", to_language="ru")
Разделение текста на куски с помощью метода chunk()
:
for chunk in text.chunk():
print(chunk)