(Упрощенный китайский | английский)

Paddlespeech -это инструментарий с открытым исходным кодом на платформе PaddlePaddle для различных критических задач в речевом и аудио, с современными и влиятельными моделями.
Paddlespeech выиграл награду за лучшую демонстрацию NAACL2022, пожалуйста, ознакомьтесь с нашей статьей на Arxiv.
| Ввод аудио | Результаты распознавания |
|---|---|
![]() | Я постучал в дверь на древней стороне здания. |
![]() | Я думаю, что самое важное в беге - это принести мне хорошее здоровье. |
| Ввод аудио | Результаты переводов |
|---|---|
![]() | Я постучал в древнюю дверь этого здания. |
| Входной текст | Синтетический аудио |
|---|---|
| Жизнь была похожа на коробку шоколада, вы никогда не знаете, что получите. | ![]() |
| Доброе утро, сегодня 2020/10/29, с минимальной температурой -3 ° C. | ![]() |
| Джи Джи Джи, собирая цыплят, а цыплята - колючие цыплята. Цыпленок колючки голоден, Джи Джи и Джи Джи помогают курицу. Когда цыплята смешаны, к ним присоединяется Джи Джи. Джи Джи очень быстро ударит по курицу, курица срочно, а мошенник срочно, Джи Джи обеспокоен, а затем бьет курицу. Джи Джи быстро ударил курицу. Когда курица мертва, Джи Джи взволнован, и он пишет «Джи Джи, стучив курицу». | ![]() |
| Всем привет, я виртуальный учитель попугая. Давайте прочитаем стихотворение. Я и весенний бриз проходит мимо. Вы берете осеннюю воду, чтобы взять галактику. | ![]() |
| Ikea не обязательно для вас, но о том, что вы говорите, станет презентацией и признанием. | ![]() |
| У каждой страны есть свой государственный гимн | ![]() |
Для получения дополнительных синтезированных аудио, пожалуйста, обратитесь к образцам текста в речь.
| Входной текст | Выводный текст |
|---|---|
| Погода действительно хороша сегодня. У тебя есть время днем? Я хочу попросить вас поужинать вместе | Погода сегодня действительно хорошая! Вы свободны днем? Я хочу попросить вас поесть вместе. |
Благодаря простой в использовании, эффективной, гибкой и масштабируемой реализации наше видение заключается в расширении возможностей как промышленных применений, так и академических исследований, включая модули обучения, вывода и тестирования, а также процесс развертывания. Чтобы быть более конкретным, этот инструментарий функционирует на:
PaddleSpeech Streaming Server доступен для Streaming ASR с Punctuation Restoration и Token Timestamp и Text-to-Speech .PaddleSpeech Server доступен для Audio Classification , Automatic Speech Recognition и Text-to-Speech , Speaker Verification и Punctuation Restoration .PaddleSpeech CLI доступен для Speaker Verification .PaddleSpeech CLI доступен для Audio Classification , Automatic Speech Recognition , Speech Translation (English to Chinese) и Text-to-Speech .
Мы настоятельно рекомендуем нашим пользователям установить Padlespeech в Linux с Python> = 3,8 и PaddlePaddle <= 2.5.1 . Некоторые новые версии весла не имеют поддержки адаптации в Padlespeech, поэтому в настоящее время можно поддержать только версии 2.5.1 и ранее.
Paddlespeech зависит от PaddlePaddle. Для установки, пожалуйста, обратитесь к официальному веб -сайту PaddlePaddle и выберите в соответствии с вашей собственной машиной. Вот пример версии процессора.
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simpleВы также можете указать версию PaddlePaddle или установить разработку версии.
# install 2.4.1 version. Note, 2.4.1 is just an example, please follow the minimum dependency of paddlepaddle for your selection
pip install paddlepaddle==2.4.1 -i https://mirror.baidu.com/pypi/simple
# install develop version
pip install paddlepaddle==0.0.0 -f https://www.paddlepaddle.org.cn/whl/linux/cpu-mkl/develop.htmlСуществует два метода быстрого установки для Paddlespeech, один из них является установкой PIP, а другой - компиляция исходного кода (рекомендуется).
pip install pytest-runner
pip install paddlespeechgit clone https://github.com/PaddlePaddle/PaddleSpeech.git
cd PaddleSpeech
pip install pytest-runner
pip install .Для получения дополнительных задач установки, таких как среда Conda, Librosa-зависимые, задачи GCC, установка Kaldi и т. Д., Вы можете обратиться к этому установленному документу. Если вы столкнетесь с проблемами во время установки, вы можете оставить сообщение на #2150 и найти связанные проблемы
Разработчики могут попробовать наши модели с командной строкой Paddlespeech или Python. Изменение --input , чтобы проверить свой собственный аудио/текст и поддержать 16K WAV Format Audio.
Вы также можете быстро познакомиться в AI Studio? Paddlespeech API Демо
Образец тестирования аудио пример загрузки
wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav
wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wavКомандная линия опыта
paddlespeech asr --lang zh --input zh.wavPython API опыт
> >> from paddlespeech . cli . asr . infer import ASRExecutor
> >> asr = ASRExecutor ()
> >> result = asr ( audio_file = "zh.wav" )
> >> print ( result )
我认为跑步最重要的就是给我带来了身体健康Выходная 24K -дискретичная формата WAV Audio Audio
Командная линия опыта
paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架! " --output output.wavPython API опыт
> >> from paddlespeech . cli . tts . infer import TTSExecutor
> >> tts = TTSExecutor ()
> >> tts ( text = "今天天气十分不错。" , output = "output.wav" )Модель звуковой классификации на основе 527 категорий наборов данных аудиоса
Командная линия опыта
paddlespeech cls --input zh.wavPython API опыт
> >> from paddlespeech . cli . cls . infer import CLSExecutor
> >> cls = CLSExecutor ()
> >> result = cls ( audio_file = "zh.wav" )
> >> print ( result )
Speech 0.9027186632156372Командная линия опыта
paddlespeech vector --task spk --input zh.wavPython API опыт
> >> from paddlespeech . cli . vector import VectorExecutor
> >> vec = VectorExecutor ()
> >> result = vec ( audio_file = "zh.wav" )
> >> print ( result ) # 187维向量
[ - 0.19083306 9.474295 - 14.122263 - 2.0916545 0.04848729
4.9295826 1.4780062 0.3733844 10.695862 3.2697146
- 4.48199 - 0.6617882 - 9.170393 - 11.1568775 - 1.2358263 ...]Командная линия опыта
paddlespeech text --task punc --input 今天的天气真不错啊你下午有空吗我想约你一起去吃饭Python API опыт
> >> from paddlespeech . cli . text . infer import TextExecutor
> >> text_punc = TextExecutor ()
> >> result = text_punc ( text = "今天的天气真不错啊你下午有空吗我想约你一起去吃饭" )
今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。Используйте предварительно скомпилированные инструменты, связанные с Калди, только опыт поддержки в системе Ubuntu
Командная линия опыта
paddlespeech st --input en.wavPython API опыт
> >> from paddlespeech . cli . st . infer import STExecutor
> >> st = STExecutor ()
> >> result = st ( audio_file = "en.wav" )
[ '我 在 这栋 建筑 的 古老 门上 敲门 。' ]Разработчики могут попробовать наш речевой сервер с командной строкой сервера Paddlespeech.
Вы можете попробовать это быстро в AI Studio (рекомендовать): речевой сервер
Начальный сервер
paddlespeech_server start --config_file ./demos/speech_server/conf/application.yamlДоступ к службам распознавания речи
paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input input_16k.wavДоступ к тексту к речевым услугам
paddlespeech_client tts --server_ip 127.0.0.1 --port 8090 --input "您好,欢迎使用百度飞桨语音合成服务。 " --output output.wavДоступ к сервисам классификации аудио
paddlespeech_client cls --server_ip 127.0.0.1 --port 8090 --input input.wavДля получения дополнительной информации об командных строках сервера, см.: Демо.
Разработчики могут попробовать потоковую передачу ASR и потоковую передачу TTS -сервера.
Начните потоковой передачу сервера распознавания речи
paddlespeech_server start --config_file ./demos/streaming_asr_server/conf/application.yaml
Доступ к потоковым услугам распознавания речи
paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --input input_16k.wav
Начните потоковую передачу текста на сервер речи
paddlespeech_server start --config_file ./demos/streaming_tts_server/conf/tts_online_application.yaml
Доступ к потоковому тексту к речевым службам
paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --protocol http --input "您好,欢迎使用百度飞桨语音合成服务。" --output output.wav
Для получения дополнительной информации, пожалуйста, смотрите: потоковая передача ASR и потоковая TTS
Paddlespeech поддерживает серию самых популярных моделей. Они суммированы в выпущенных моделях и прикреплены к доступным предварительному моделям.
Речь к тексту содержит акустическую модель , языковую модель и перевод речи со следующими деталями:
| Тип модуля речи к тексту | Набор данных | Тип модели | Пример |
|---|---|---|---|
| Речь рекогитация | Айшелл | DeepSpeech2 RNN + CORN модели на основе моделей | Deepppeech2-Aishell |
| Модели внимания на основе трансформатора | U2.Transformer.conformer-Aishell | ||
| Librispeech | Модели внимания на основе трансформатора | depppeech2-librispirech/transformer.conformer.u2-librispirech/transformer.conformer.u2-kaldi-librispirech | |
| Смутный | Унифицированная потоковая и не потоковая двухпроход | U2-Timit | |
| Выравнивание | THCHS30 | MFA | MFA-THCHS30 |
| Языковая модель | NGRAM Language Model | Кенлм | |
| Перевод речи (английский на китайский) | Тед En-ZH | Трансформатор + ASR MTL | трансформатор |
| Fat + Transformer + ASR MTL | FAT-ST-STED | ||
Текст в речь в Paddlespeech в основном содержит три модуля: Text Frontend , Acoustic Model и Vocoder . Акустическая модель и модели Vocoder перечислены следующим образом:
| Тип модуля текста в речь | Тип модели | Набор данных | Пример |
|---|---|---|---|
| Текстовый фронт | TN/G2P | ||
| Акустическая модель | Такотрон2 | LJSPEECH/CSMSC | Tacotron2-ljspeech/tacotron2-csmsc |
| Трансформатор TTS | LJSPEECH | Трансформер-ljspeech | |
| Speedyspeech | CSMSC | SpeedySpeech-CSMSC | |
| Fastspeech2 | Ljspeech / vctk / csmsc / aishell-3 / zh_en / fineune | Fastspeech2-Ljspeech/Fastspeech2-Vctk/Fastspeech2-CSMSC/Fastspeech2-Aishell3/Fastspeech2-ZH_EN/FASTSPEECH2-FINENETUNE | |
| Эрни-Сат | Vctk / aishell-3 / zh_en | Ernie-Sat-Vctk / Ernie-Sat-Aishell3 / Ernie-Sat-ZH_EN | |
| Diffsinger | OpenCpop | Diffsinger-Opencpop | |
| Вокадер | Волновое поток | LJSPEECH | Волновое поток-ljspeech |
| Параллельная волна | Ljspeech / vctk / csmsc / aishell-3 / opencpop | Pwgan-ljspeech / pwgan-vctk / pwgan-csmsc / pwgan-aishell3 / pwgan-opencpop | |
| Мульти -группа Мелган | CSMSC | Multi-группа Melgan-CSMSC | |
| Стиль Мелган | CSMSC | Стиль Melgan-CSMSC | |
| Хифиган | Ljspeech / vctk / csmsc / aishell-3 / opencpop | Hifigan-ljspeech / hifigan-vctk / hifigan-csmsc / hifigan-aishell3 / hifigan-opencpop | |
| Уэвернн | CSMSC | WAVERNN-CSMSC | |
| Голосовой клонинг | GE2E | Librispeech и т. Д. | GE2E |
| SV2TTS (GE2E + TACOTRON2) | Айшелл-3 | VC0 | |
| SV2TTS (GE2E + FASTSPEECH2) | Айшелл-3 | VC1 | |
| Sv2tts (ecapa-tdnn + fastspeech2) | Айшелл-3 | VC2 | |
| GE2E + VITS | Айшелл-3 | VITS-VC | |
| Сквозной | Вит | CSMSC / Aishell-3 | VITS-CSMSC/VITS-Aishell3 |
Аудио классификация
| Задача | Набор данных | Тип модели | Пример |
|---|---|---|---|
| Аудио классификация | ESC-50 | Панн | Pann-ESC50 |
Ключевое место Spotting
| Задача | Набор данных | Тип модели | Пример |
|---|---|---|---|
| Ключевое место Spotting | Эй-шнуры | MDTC | MDTC-HEY-SNIPS |
Проверка спикера
| Задача | Набор данных | Тип модели | Пример |
|---|---|---|---|
| Проверка спикера | Voxceleb1/2 | Ecapa-tdnn | Ecapa-Tdnn-Voxceleb12 |
Диаризация динамика
| Задача | Набор данных | Тип модели | Пример |
|---|---|---|---|
| Диаризация динамика | Ами | Ecapa-tdnn + ahc / sc | ecapa-tdnn-ami |
Восстановление пунктуации
| Задача | Набор данных | Тип модели | Пример |
|---|---|---|---|
| Восстановление пунктуации | Iwlst2012_zh | Эрни линейный | IWSLT2012-PUNCH0 |
Обычно речь SOTA, Audio SOTA и Music SOTA дают вам обзор горячих академических тем в соответствующей области. Чтобы сосредоточиться на задачах в Padlespeech, вы обнаружите, что следующие рекомендации полезны для захвата основных идей.
Модуль текста в речь первоначально называется Parakeet и теперь объединяется с этим репозиторием. Если вы заинтересованы в академических исследованиях этой задачи, см. Обзор исследований TTS. Кроме того, этот документ является хорошим руководством для компонентов трубопровода.
Демо -видео Paddlespeech
Vtubertalk: используйте Padlespeech TTS и ASR, чтобы клонировать голос из видео.
Чтобы процитировать Paddlespeech для исследований, используйте следующий формат.
@inproceedings{zhang2022paddlespeech,
title = {PaddleSpeech: An Easy-to-Use All-in-One Speech Toolkit},
author = {Hui Zhang, Tian Yuan, Junkun Chen, Xintong Li, Renjie Zheng, Yuxin Huang, Xiaojie Chen, Enlei Gong, Zeyu Chen, Xiaoguang Hu, dianhai yu, Yanjun Ma, Liang Huang},
booktitle = {Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies: Demonstrations},
year = {2022},
publisher = {Association for Computational Linguistics},
}
@InProceedings{pmlr-v162-bai22d,
title = {{A}$^3${T}: Alignment-Aware Acoustic and Text Pretraining for Speech Synthesis and Editing},
author = {Bai, He and Zheng, Renjie and Chen, Junkun and Ma, Mingbo and Li, Xintong and Huang, Liang},
booktitle = {Proceedings of the 39th International Conference on Machine Learning},
pages = {1399--1411},
year = {2022},
volume = {162},
series = {Proceedings of Machine Learning Research},
month = {17--23 Jul},
publisher = {PMLR},
pdf = {https://proceedings.mlr.press/v162/bai22d/bai22d.pdf},
url = {https://proceedings.mlr.press/v162/bai22d.html},
}
@inproceedings{zheng2021fused,
title={Fused acoustic and text encoding for multimodal bilingual pretraining and speech translation},
author={Zheng, Renjie and Chen, Junkun and Ma, Mingbo and Huang, Liang},
booktitle={International Conference on Machine Learning},
pages={12736--12746},
year={2021},
organization={PMLR}
}
Вам тепло приглашается представить вопросы в дискуссиях и отчетах об ошибках в вопросах! Кроме того, мы очень ценим, если вы готовы внести свой вклад в этот проект!
Paddlespeech предоставляется по лицензии Apache-2.0.