(ภาษาจีนง่ายๆ | ภาษาอังกฤษ)

Paddlespeech เป็นชุดเครื่องมือโอเพนซอร์ซบนแพลตฟอร์ม Paddlepaddle สำหรับงานที่สำคัญในการพูดและเสียงด้วยแบบจำลองที่ล้ำสมัยและมีอิทธิพล
Paddlespeech ได้รับรางวัล NAACL2022 Best Demo Award โปรดตรวจสอบบทความของเราเกี่ยวกับ Arxiv
| อินพุตเสียง | ผลการจดจำ |
|---|---|
![]() | ฉันเคาะประตูที่ด้านโบราณของอาคาร |
![]() | ฉันคิดว่าสิ่งที่สำคัญที่สุดเกี่ยวกับการวิ่งคือทำให้ฉันมีสุขภาพที่ดี |
| อินพุตเสียง | ผลการแปล |
|---|---|
![]() | ฉันเคาะประตูโบราณของอาคารนี้ |
| ข้อความอินพุต | เสียงสังเคราะห์ |
|---|---|
| ชีวิตเป็นเหมือนกล่องช็อคโกแลตคุณไม่มีทางรู้ว่าคุณจะได้อะไร | ![]() |
| สวัสดีตอนเช้าวันนี้คือ 2020/10/29 โดยมีอุณหภูมิต่ำสุด -3 ° C | ![]() |
| จีจิจีรวบรวมไก่และไก่เป็นไก่หนาม ไก่หนามหิว Ji Ji และ Ji Ji ช่วยไก่ เมื่อไก่ผสมพวกเขาจะเข้าร่วมโดยจีจี จีจีเร็วมากที่จะตีไก่ไก่เป็นเรื่องเร่งด่วนและคนโกงก็เร่งด่วนจีจิเป็นกังวลและจากนั้นเขาก็ตีไก่ จีจีเร็วที่จะตีไก่ เมื่อไก่ตายแล้วจีจีก็ตื่นเต้นและเขาเขียน "จีจิของไก่เคาะ" | ![]() |
| สวัสดีทุกคนฉันเป็นครูเสมือนจริงของนกแก้ว มาอ่านบทกวีกันเถอะ ฉันและสายลมฤดูใบไม้ผลิกำลังผ่านไป คุณใช้น้ำในฤดูใบไม้ร่วงเพื่อนำกาแล็กซี่ | ![]() |
| IKEA ไม่จำเป็นสำหรับคุณที่จะพูดคุย แต่สิ่งที่คุณพูดจะกลายเป็นงานนำเสนอและคำสารภาพ | ![]() |
| แต่ละประเทศมีเพลงชาติของตัวเอง | ![]() |
สำหรับเสียงที่สังเคราะห์ขึ้นโปรดดูตัวอย่างการพูดข้อความเป็นคำพูดของ Paddlespeech
| ข้อความอินพุต | ข้อความเอาต์พุต |
|---|---|
| วันนี้อากาศดีมาก คุณมีเวลาในตอนบ่ายหรือไม่? ฉันอยากขอให้คุณทานอาหารเย็นด้วยกัน | วันนี้อากาศดีจริงๆ! คุณว่างตอนบ่ายหรือไม่? ฉันอยากจะขอให้คุณทานอาหารด้วยกัน |
ผ่านการใช้งานที่ง่ายต่อการใช้งานมีประสิทธิภาพยืดหยุ่นและปรับขนาดได้วิสัยทัศน์ของเราคือการเพิ่มขีดความสามารถทั้งการใช้งานอุตสาหกรรมและการวิจัยเชิงวิชาการรวมถึงการฝึกอบรมการอนุมานและการทดสอบโมดูลและกระบวนการปรับใช้ เพื่อความเฉพาะเจาะจงมากขึ้นคุณสมบัติชุดเครื่องมือนี้ได้ที่:
PaddleSpeech Streaming Server พร้อมใช้งานสำหรับ Streaming ASR พร้อม Punctuation Restoration และการ Token Timestamp และ Text-to-SpeechPaddleSpeech Server พร้อมใช้งานสำหรับ Audio Classification Automatic Speech Recognition และ Text-to-Speech Speaker Verification และ Punctuation RestorationPaddleSpeech CLI มีให้สำหรับ Speaker VerificationPaddleSpeech CLI มีให้สำหรับ Audio Classification , Automatic Speech Recognition , Speech Translation (English to Chinese) และ Text-to-Speech
เราขอแนะนำให้ผู้ใช้ของเราติดตั้ง Paddlespeech ใน Linux ด้วย Python> = 3.8 และ Paddlepaddle <= 2.5.1 ไม้พายรุ่นใหม่บางรุ่นไม่สนับสนุนการปรับตัวใน Paddlespeech ดังนั้นปัจจุบันมีเพียงรุ่น 2.5.1 และก่อนหน้านี้เท่านั้น
Paddlespeech ขึ้นอยู่กับ Paddlepaddle สำหรับการติดตั้งโปรดดูเว็บไซต์อย่างเป็นทางการของ Paddlepaddle และเลือกตามเครื่องของคุณเอง นี่คือตัวอย่างของเวอร์ชัน CPU
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
คุณสามารถสัมผัสได้อย่างรวดเร็วในสตูดิโอ AI หรือไม่? การสาธิต 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.wavประสบการณ์ Python API
> >> from paddlespeech . cli . asr . infer import ASRExecutor
> >> asr = ASRExecutor ()
> >> result = asr ( audio_file = "zh.wav" )
> >> print ( result )
我认为跑步最重要的就是给我带来了身体健康เอาท์พุทอัตราตัวอย่าง 24K WAV รูปแบบเสียง
ประสบการณ์บรรทัดคำสั่ง
paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架! " --output output.wavประสบการณ์ Python API
> >> from paddlespeech . cli . tts . infer import TTSExecutor
> >> tts = TTSExecutor ()
> >> tts ( text = "今天天气十分不错。" , output = "output.wav" )รูปแบบการจำแนกประเภทเสียงตาม 527 หมวดหมู่ของชุดข้อมูลเสียง
ประสบการณ์บรรทัดคำสั่ง
paddlespeech cls --input zh.wavประสบการณ์ Python 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.wavประสบการณ์ Python 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 = "今天的天气真不错啊你下午有空吗我想约你一起去吃饭" )
今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。ใช้เครื่องมือที่เกี่ยวข้องกับ Kaldi ที่คอมไพล์ล่วงหน้ามีเพียงประสบการณ์สนับสนุนในระบบ Ubuntu
ประสบการณ์บรรทัดคำสั่ง
paddlespeech st --input en.wavประสบการณ์ Python API
> >> from paddlespeech . cli . st . infer import STExecutor
> >> st = STExecutor ()
> >> result = st ( audio_file = "en.wav" )
[ '我 在 这栋 建筑 的 古老 门上 敲门 。' ]นักพัฒนาสามารถลองใช้เซิร์ฟเวอร์คำพูดของเราด้วยบรรทัดคำสั่งเซิร์ฟเวอร์ Paddlespeech
คุณสามารถลองได้อย่างรวดเร็วใน AI Studio (แนะนำ): SPUINDSERVER
เริ่มเซิร์ฟเวอร์
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 + Model | deepppeech2-aishell |
| แบบจำลองความสนใจตามหม้อแปลง | u2.transformer.conformer-aishell | ||
| librispeech | แบบจำลองความสนใจตามหม้อแปลง | deepppeech2-librispireech/transformer.conformer.u2-librispireech/transformer.conformer.u2-kaldi-Librispirech | |
| เวลา | การสตรีมแบบครบวงจรและการไม่สตรีมสองครั้ง | U2-Timit | |
| การจัดตำแหน่ง | thchs30 | MFA | mfa-thchs30 |
| รูปแบบภาษา | รูปแบบภาษา ngram | เคนลม์ | |
| การแปลคำพูด (ภาษาอังกฤษเป็นภาษาจีน) | ted en-zh | หม้อแปลง + ASR MTL | ทำด้วยหม้อแปลง |
| ไขมัน + หม้อแปลง + ASR MTL | ไขมัน | ||
ข้อความถึงการพูด ใน Paddlespeech ส่วนใหญ่มีสามโมดูล: ส่วนหน้าข้อความ , โมเดลอะคูสติก และ Vocoder โมเดลอะคูสติกและโมเดล Vocoder มีการระบุไว้ดังนี้:
| ประเภทโมดูลข้อความเป็นคำพูด | ประเภทรุ่น | ชุดข้อมูล | ตัวอย่าง |
|---|---|---|---|
| ข้อความส่วนหน้า | TN/G2P | ||
| รูปแบบอะคูสติก | Tacotron2 | ljSpeech/CSMSC | tacotron2-ljspeech/tacotron2-csmsc |
| Transformer TTS | ljspeech | Transformer-ljspeech | |
| Speedyspeech | CSMSC | SpeedySpeech-CSMSC | |
| FastSpeech2 | LJSpeech / VCTK / CSMSC / AISHELL-3 / ZH_EN / FIEDUNE | 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 | |
| ความแตกต่าง | opencpop | diffsinger-opencpop | |
| ผู้ร้อง | การไหลของคลื่น | ljspeech | waveflow-ljspeech |
| 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 | |
| สไตล์ Melgan | 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) | aishell-3 | VC0 | |
| sv2tts (ge2e + fastspeech2) | aishell-3 | VC1 | |
| SV2TTS (ECAPA-TDNN + FastSpeech2) | aishell-3 | VC2 | |
| ge2e + vits | aishell-3 | VITS-VC | |
| end-end-end | เข้าด้วยกัน | CSMSC / AISHELL-3 | VITS-CSMSC/VITS-AISHELL3 |
การจำแนกเสียง
| งาน | ชุดข้อมูล | ประเภทรุ่น | ตัวอย่าง |
|---|---|---|---|
| การจำแนกเสียง | ESC-50 | เพนน์ | pann-esc50 |
การระบุคำหลัก
| งาน | ชุดข้อมูล | ประเภทรุ่น | ตัวอย่าง |
|---|---|---|---|
| การระบุคำหลัก | เฮ้ | MDTC | mdtc-hey-snips |
การตรวจสอบลำโพง
| งาน | ชุดข้อมูล | ประเภทรุ่น | ตัวอย่าง |
|---|---|---|---|
| การตรวจสอบลำโพง | voxceleb1/2 | ecapa-tdnn | ECAPA-TDNN-VOXCELEB12 |
ลำโพง diarization
| งาน | ชุดข้อมูล | ประเภทรุ่น | ตัวอย่าง |
|---|---|---|---|
| ลำโพง diarization | Ami | ECAPA-TDNN + AHC / SC | ecapa-tdnn-ami |
การฟื้นฟูเครื่องหมายวรรคตอน
| งาน | ชุดข้อมูล | ประเภทรุ่น | ตัวอย่าง |
|---|---|---|---|
| การฟื้นฟูเครื่องหมายวรรคตอน | IWLST2012_ZH | เออร์นี่เป็นเส้นตรง | IWSLT2012-PUNCH0 |
โดยปกติแล้วคำพูด Sota, Audio Sota และเพลง Sota ให้ภาพรวมของหัวข้อวิชาการที่ร้อนแรงในพื้นที่ที่เกี่ยวข้อง เพื่อมุ่งเน้นไปที่งานใน Paddlespeech คุณจะพบว่าแนวทางต่อไปนี้มีประโยชน์ในการต่อสู้กับแนวคิดหลัก
โมดูลข้อความเป็นคำพูดเดิมเรียกว่า Parakeet และตอนนี้รวมเข้ากับที่เก็บนี้ หากคุณมีความสนใจในการวิจัยเชิงวิชาการเกี่ยวกับงานนี้โปรดดูภาพรวมการวิจัย TTS นอกจากนี้เอกสารนี้เป็นแนวทางที่ดีสำหรับส่วนประกอบไปป์ไลน์
วิดีโอสาธิต Paddlespeech
Vtubertalk: ใช้ Paddlespeech 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