(Vereinfachtes Chinesisch | Englisch)

PaddleSpeech ist ein Open-Source-Toolkit auf der Paddlepaddle-Plattform für eine Vielzahl kritischer Aufgaben in Sprache und Audio mit den hochmodernen und Einflussmodellen.
PaddleSpeech gewann den NAACL2022 Best Demo Award, bitte schauen Sie sich unser Papier über Arxiv an.
| Eingabe Audio | Erkennungsergebnisse |
|---|---|
![]() | Ich klopfte an die Tür auf der alten Seite des Gebäudes. |
![]() | Ich denke, das Wichtigste am Laufen ist, mir eine gute Gesundheit zu bringen. |
| Eingabe Audio | Übersetzungsergebnisse |
|---|---|
![]() | Ich klopfte an die alte Tür dieses Gebäudes. |
| Text eingeben | Synthetischer Audio |
|---|---|
| Das Leben war wie eine Schachtel Pralinen, du weißt nie, was du bekommst. | ![]() |
| Guten Morgen, heute ist 2020/10/29 mit einer Mindesttemperatur von -3 ° C. | ![]() |
| Ji Ji Ji, die Hühner und Hühner sammeln, sind dornige Hühner. Das Thorn -Huhn ist hungrig, Ji Ji und Ji Ji helfen dem Huhn. Wenn die Hühner gemischt sind, werden sie von Ji Ji begleitet. Ji Ji ist sehr schnell das Huhn, das Huhn ist dringend und der Schurke ist dringend, Ji Ji ist ängstlich und dann schlägt er das Huhn. Ji Ji schlägt schnell auf das Huhn. Wenn das Huhn tot ist, ist Ji Ji aufgeregt und er schreibt den "Ji Ji's Klopft das Huhn". | ![]() |
| Hallo allerseits, ich bin der virtuelle Lehrer von Papagei. Lassen Sie uns ein Gedicht lesen. Ich und die Frühlingsbrise gehen vorbei. Sie nehmen das Herbstwasser, um die Galaxie zu nehmen. | ![]() |
| IKEA ist für Sie nicht notwendig, über das Sie sprechen können, aber was Sie sagen, wird eine Präsentation und ein Geständnis. | ![]() |
| Jedes Land hat eine eigene Nationalhymne | ![]() |
Weitere synthetisierte Audios finden Sie unter PaddleSpeech-Text-zu-Sprach-Proben.
| Text eingeben | Text ausgeben |
|---|---|
| Das Wetter ist heute wirklich gut. Hast du Zeit am Nachmittag? Ich möchte Sie bitten, zusammen zu Abend zu essen | Das Wetter heute ist wirklich gut! Bist du am Nachmittag frei? Ich möchte Sie bitten, zusammen eine Mahlzeit zu haben. |
Über die einfach zu bedienende, effiziente, flexible und skalierbare Implementierung besteht unsere Vision darin, sowohl die industrielle Anwendung als auch die akademische Forschung zu stärken, einschließlich Schulungen, Inferenz- und Testmodulen und Bereitstellungen. Um genauer zu sein, Funktionen dieses Toolkit bei:
PaddleSpeech Streaming Server steht für Streaming ASR mit Punctuation Restoration und Token Timestamp und Text-to-Speech zur Verfügung.PaddleSpeech Server ist für Audio Classification , Automatic Speech Recognition und Text-to-Speech , Speaker Verification und Punctuation Restoration verfügbar.PaddleSpeech CLI ist für Speaker Verification verfügbar.PaddleSpeech CLI ist für Audio Classification , Automatic Speech Recognition , Speech Translation (English to Chinese) und Text-to-Speech verfügbar.
Wir empfehlen unseren Benutzern dringend, Paddlespeech in Linux mit Python> = 3,8 und Paddlepaddle <= 2.5.1 zu installieren. Einige neue Paddelversionen haben keine Unterstützung für die Anpassung in PaddleSpeech, daher können derzeit nur Versionen 2.5.1 und früher unterstützt werden.
PaddleSpeech hängt von Paddlepaddle ab. Für die Installation finden Sie auf der offiziellen Website von Paddlepaddle und wählen Sie nach Ihrem eigenen Computer. Hier ist ein Beispiel für die CPU -Version.
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simpleSie können auch die Version von Paddlepaddle angeben oder die Entwicklungsversion installieren.
# 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.htmlEs gibt zwei schnelle Installationsmethoden für PaddleSpeech, eine ist die PIP -Installation und der andere die Quellcode -Kompilierung (empfohlen).
pip install pytest-runner
pip install paddlespeechgit clone https://github.com/PaddlePaddle/PaddleSpeech.git
cd PaddleSpeech
pip install pytest-runner
pip install .Weitere Installationsprobleme wie Conda Environment, librosa-abhängige, GCC-Probleme, Kaldi-Installation usw. Sie können auf dieses Installationsdokument verweisen. Wenn Sie während der Installation auf Probleme stoßen, können Sie eine Nachricht auf #2150 hinterlassen und verwandte Probleme finden
Entwickler können unsere Modelle mit PaddleSpeech -Befehlszeile oder Python ausprobieren. Ändern --input um Ihren eigenen Audio/Text zu testen und das 16K -WAV -Format -Audio zu unterstützen.
Sie können es auch schnell im AI -Studio erleben? Paddlespeech API Demo
Testen Sie Audio Beispiel Download
wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav
wget -c https://paddlespeech.bj.bcebos.com/PaddleAudio/en.wavBefehlszeilenerfahrung
paddlespeech asr --lang zh --input zh.wavPython -API -Erfahrung
> >> from paddlespeech . cli . asr . infer import ASRExecutor
> >> asr = ASRExecutor ()
> >> result = asr ( audio_file = "zh.wav" )
> >> print ( result )
我认为跑步最重要的就是给我带来了身体健康Ausgabe 24k Probenrate WAV Format Audio
Befehlszeilenerfahrung
paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架! " --output output.wavPython -API -Erfahrung
> >> from paddlespeech . cli . tts . infer import TTSExecutor
> >> tts = TTSExecutor ()
> >> tts ( text = "今天天气十分不错。" , output = "output.wav" )Klassifizierungsmodell basierend auf 527 Kategorien des Audioset -Datensatzes
Befehlszeilenerfahrung
paddlespeech cls --input zh.wavPython -API -Erfahrung
> >> from paddlespeech . cli . cls . infer import CLSExecutor
> >> cls = CLSExecutor ()
> >> result = cls ( audio_file = "zh.wav" )
> >> print ( result )
Speech 0.9027186632156372Befehlszeilenerfahrung
paddlespeech vector --task spk --input zh.wavPython -API -Erfahrung
> >> 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 ...]Befehlszeilenerfahrung
paddlespeech text --task punc --input 今天的天气真不错啊你下午有空吗我想约你一起去吃饭Python -API -Erfahrung
> >> from paddlespeech . cli . text . infer import TextExecutor
> >> text_punc = TextExecutor ()
> >> result = text_punc ( text = "今天的天气真不错啊你下午有空吗我想约你一起去吃饭" )
今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。Verwenden Sie vorgefertigte Kaldi-verwandte Tools und unterstützen Sie nur die Erfahrung im Ubuntu-System
Befehlszeilenerfahrung
paddlespeech st --input en.wavPython -API -Erfahrung
> >> from paddlespeech . cli . st . infer import STExecutor
> >> st = STExecutor ()
> >> result = st ( audio_file = "en.wav" )
[ '我 在 这栋 建筑 的 古老 门上 敲门 。' ]Entwickler können unseren Sprachserver mit PaddleSpeech -Server -Befehlszeile versuchen.
Sie können es schnell in AI Studio (empfehlen): RedeServer versuchen
Server starten
paddlespeech_server start --config_file ./demos/speech_server/conf/application.yamlZugriff auf Spracherkennungsdienste
paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input input_16k.wavZugriff auf Text zu Sprachdiensten
paddlespeech_client tts --server_ip 127.0.0.1 --port 8090 --input "您好,欢迎使用百度飞桨语音合成服务。 " --output output.wavZugriff auf Audio -Klassifizierungsdienste
paddlespeech_client cls --server_ip 127.0.0.1 --port 8090 --input input.wavWeitere Informationen zu Server -Befehlszeilen finden Sie unter: Sprachserver -Demos
Entwickler können versuchen, ASR zu streamen und den TTS -Server zu streamen.
Starten Sie den Streaming -Spracherkennungsserver
paddlespeech_server start --config_file ./demos/streaming_asr_server/conf/application.yaml
Zugriff auf Streaming -Spracherkennungsdienste
paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --input input_16k.wav
Starten Sie das Streaming -Text auf Sprachserver
paddlespeech_server start --config_file ./demos/streaming_tts_server/conf/tts_online_application.yaml
Zugriff auf Streaming -Text zu Sprachdiensten
paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --protocol http --input "您好,欢迎使用百度飞桨语音合成服务。" --output output.wav
Weitere Informationen finden Sie unter: Streaming ASR und Streaming TTS
PaddleSpeech unterstützt eine Reihe von beliebtesten Modellen. Sie werden in freigegebenen Modellen zusammengefasst und mit verfügbaren vorbereiteten Modellen angeschlossen.
Sprach-zu-Text enthält akustisches Modell , Sprachmodell und Sprachübersetzung mit den folgenden Details:
| Sprach-zu-Text-Modul-Typ | Datensatz | Modelltyp | Beispiel |
|---|---|---|---|
| Sprachrekogination | Aishell | DeepSpeech2 RNN + CONV -basierte Modelle | Deepppeech2-Aishell |
| Transformatorbasierte Aufmerksamkeitsmodelle | U2.Transformer.Conformer-Aishell | ||
| Librispeech | Transformatorbasierte Aufmerksamkeitsmodelle | deepppeech2-librispirech/transformator.conformer.u2-librispirech/transformator | |
| Timit | Unified Streaming & Nicht-Streaming-Zwei-Pass | U2-Timit | |
| Ausrichtung | Thchs30 | MFA | MFA-thchs30 |
| Sprachmodell | Ngram -Sprachmodell | Kenlm | |
| Sprachübersetzung (Englisch zu Chinesisch) | Ted En-Zh | Transformator + ASR MTL | Transformator |
| Fett + Transformator + ASR MTL | FAT-ST-DED | ||
Text-to-Speech in PaddleSpeech enthält hauptsächlich drei Module: Textfrontend , akustisches Modell und Vocoder . Akustische Modell- und Vocoder -Modelle sind wie folgt aufgeführt:
| Text-to-Speech-Modul-Typ | Modelltyp | Datensatz | Beispiel |
|---|---|---|---|
| Text Frontend | TN/G2P | ||
| Akustisches Modell | Tacotron2 | Ljspeech/csmsc | tacotron2-ljspeech/tacotron2-csmsc |
| Transformator TTS | Ljspeech | Transformator-ljspeech | |
| SpeedySpeech | CSMSC | SpeedySpeech-CSMSC | |
| Fastspeech2 | Ljspeech / vctk / csmsc / aishell-3 / zh_en / feinune | fastspeech2-ljSpeech/fastspeech2-vctk/fastspeech2-csmsc/fastspeech2-Aishell3/fastspeech2-zh_en/fastspeech2-finenetune | |
| Ernie-sa | Vctk / aishell-3 / zh_en | Ernie-Sat-VCTK / Ernie-Sat-Aishell3 / Ernie-sat-Zh_en | |
| Diffsinger | OpenCpop | Diffsinger-OpenCpop | |
| Vocoder | Wellenfluss | Ljspeech | Wellenfluss-Ljspeech |
| Paralleler Wavegan | Ljspeech / vctk / csmsc / Aishell-3 / openCpop | Pwgan-ljspeech / pwgan-vctk / pwgan-csmsc / pwgan-aishell3 / pwgan-opencpop | |
| Multi -Band Melgan | CSMSC | Multi-Band Melgan-CSMSC | |
| Stil Melgan | CSMSC | Stil Melgan-CSMSC | |
| HiFigan | Ljspeech / vctk / csmsc / Aishell-3 / openCpop | HiFigan-Ljspeech / Hifligan-VCTK / HiFigan-CSMSC / HiFigan | |
| Ravernn | CSMSC | Gernn-csmsc | |
| Sprachklonen | Ge2e | Librispeech usw. | Ge2e |
| SV2TTS (GE2E + TACOTRON2) | Aishell-3 | VC0 | |
| SV2TTS (GE2E + Fastspeech2) | Aishell-3 | VC1 | |
| SV2TTS (ECAPA-TDNN + Fastspeech2) | Aishell-3 | VC2 | |
| GE2E + Vits | Aishell-3 | Vits-vc | |
| End-to-End | Vits | CSMSC / Aishell-3 | Vits-csmsc/vits-aishell3 |
Audioklassifizierung
| Aufgabe | Datensatz | Modelltyp | Beispiel |
|---|---|---|---|
| Audioklassifizierung | Esc-50 | Pann | Pann-Esesc50 |
Schlüsselwort Erspotung
| Aufgabe | Datensatz | Modelltyp | Beispiel |
|---|---|---|---|
| Schlüsselwort Erspotung | Hey Snips | MDTC | Mdtc-hey-Snips |
Sprecherüberprüfung
| Aufgabe | Datensatz | Modelltyp | Beispiel |
|---|---|---|---|
| Sprecherüberprüfung | Voxceleb1/2 | Ecapa-tdnn | ECAPA-TDNN-VOXCELEB12 |
Sprecherdurchfall
| Aufgabe | Datensatz | Modelltyp | Beispiel |
|---|---|---|---|
| Sprecherdurchfall | AMI | ECAPA-TDNN + AHC / SC | ECAPA-TDNN-Ami |
Interpunktion restauriert
| Aufgabe | Datensatz | Modelltyp | Beispiel |
|---|---|---|---|
| Interpunktion restauriert | IWLST2012_ZH | Ernie linear | IWSLT2012-Punch0 |
Normalerweise geben Ihnen Sprach -Sota, Audio Sota und Music Sota einen Überblick über die heißen akademischen Themen im verwandten Bereich. Um sich auf die Aufgaben in PaddleSpeech zu konzentrieren, finden Sie die folgenden Richtlinien, um die Kernideen zu trinken.
Das Text-zu-Sprach-Modul wird ursprünglich als SPAKEET bezeichnet und nun mit diesem Repository zusammengeführt. Wenn Sie an akademischen Forschungen zu dieser Aufgabe interessiert sind, finden Sie im TTS -Forschungsüberblick. Außerdem ist dieses Dokument eine gute Richtlinie für die Pipeline -Komponenten.
PaddleSpeech Demo Video
Vtubertalk: Verwenden Sie PaddleSpeech TTS und ASR, um die Stimme aus Videos zu klonen.
Verwenden Sie das folgende Format, um Paddlespeech für Forschung zu zitieren.
@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}
}
Sie sind herzlich eingeladen, Fragen in Diskussionen und Fehlerberichten in Themen einzureichen! Wir schätzen auch sehr, ob Sie bereit sind, zu diesem Projekt beizutragen!
PaddleSpeech wird unter der Lizenz Apache-2.0 bereitgestellt.