news 2026/9/23 5:11:46

PaddleSpeech 语音应用实战:15 个开箱即用的 Demo 场景全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PaddleSpeech 语音应用实战:15 个开箱即用的 Demo 场景全解析
  • 人工智能
  • 语音
  • 音频

【免费下载链接】PaddleSpeech

Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.

项目地址:https://gitcode.com/gh_mirrors/pa/PaddleSpeech
点击查看免费下载

导读

PaddleSpeech 是集语音识别(ASR)、语音合成(TTS)、声音分类、说话人验证、语音翻译、关键词检测等于一体的开源语音工具包。仓库的 demos 目录集中了 15 个覆盖不同业务场景的语音应用示例——从单条命令的离线 ASR/TTS,到基于 WebSocket 的流式识别与合成服务,再到结合向量数据库的音频检索、基于 OCR 的会说话故事书等创意应用。本文将逐一剖析每个 Demo 的应用背景、核心命令、参数含义与源码依据,帮助你按需挑选并快速落地自己的语音应用。


一、Demo 全景地图

根据 demos/README.md(英文)与 demos/README_cn.md(中文),该目录包含以下应用:

场景一句话说明对应目录
声音检索海量音频相似性检索audio_searching
声音分类基于 AudioSet 527 类标签的音频多标签分类audio_tagging
视频字幕生成识别视频中的语音并做文本后处理automatic_video_subtitiles
元宇宙基于语音合成的 2D 增强现实(让照片开口说话)metaverse
标点恢复为无标点纯文本添加标点punctuation_restoration
语音识别识别音频中的语音文字speech_recognition
语音服务离线语音服务(ASR、TTS、CLS 等)speech_server
流式语音识别服务通过 WebSocket 流式输入并识别streaming_asr_server
流式语音合成服务根据文本流式生成合成音频streaming_tts_server
语音翻译识别音频语言并翻译成目标语言speech_translation
会说话的故事书基于 OCR 与 TTS 的儿童故事书阅读story_talker
个性化语音合成基于 FastSpeech2 的多风格控制style_fs2
语音合成基于文本生成语音音频text_to_speech
自监督预训练基于 wav2vec2 的特征提取与识别speech_ssl
Whisper基于 Whisper 模型的识别与翻译whisper

几乎所有 Demo 都遵循同一套使用范式:安装 PaddleSpeech → 准备输入(WAV 音频或文本)→ 通过paddlespeech命令行或 Python API 执行。命令行入口的实现位于 paddlespeech/cli(含 asr、tts、cls、st、text、whisper、ssl 等子模块),服务类 Demo 则依赖 paddlespeech/server 下的paddlespeech_server/paddlespeech_client工具。


二、离线单命令类 Demo:一条命令完成任务

2.1 语音识别(ASR)

语音识别 Demo 的目标是把一段音频自动转写成文字(Speech-to-Text)。输入必须是 WAV 文件,且采样率需与模型一致(默认 16k):

wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/ch_zh_mix.wav

典型命令:

# 中文识别 paddlespeech asr --input ./zh.wav -v # 英文识别 paddlespeech asr --model transformer_librispeech --lang en --input ./en.wav -v # 中英混说(Code-Switch) paddlespeech asr --model conformer_talcs --lang zh_en --codeswitch True --input ./ch_zh_mix.wav -v # 中文 ASR + 标点恢复(管道式组合) paddlespeech asr --input ./zh.wav -v | paddlespeech text --task punc -v

核心参数(来自 speech_recognition/README.md):

参数含义默认值
input(必填)待识别音频文件
model模型类型conformer_wenetspeech
lang模型语言zh
codeswitch是否启用中英混说模型False
sample_rate模型采样率16000
config/ckpt_path自定义配置与权重,置 None 使用预训练模型None
yes自动接受程序请求(包括音频采样率转换)False
device推理设备当前环境 Paddle 默认设备
verbose是否显示日志关闭

paddlespeech asr的底层实现对应 paddlespeech/cli/asr 中的ASRExecutor。文档给出的输出示例:

[2021-12-08 13:12:34,063] [ INFO] [utils.py] [L225] - ASR Result: 我认为跑步最重要的就是给我带来了身体健康

官方支持的 ASR 预训练模型包括:conformer_wenetspeechconformer_online_multicnconformer_aishellconformer_online_aishelltransformer_librispeechdeepspeech2online_wenetspeechdeepspeech2offline_aishelldeepspeech2online_aishelldeepspeech2offline_librispeechconformer_talcs(支持中英混说,采样率均为 16k)。

2.2 语音合成(TTS)

语音合成 Demo 把文本转换为语音。默认声学模型为Fastspeech2、默认声码器为HiFiGAN、默认推理方式为动态图推理。中文一行搞定:

paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架!"

批量处理(利用 stdin 按行传入序号 文本):

echo -e "1 欢迎光临。\n2 谢谢惠顾。" | paddlespeech tts

多语言/多说话人组合示例:

# 中文,换用 SpeedySpeech 声学模型 paddlespeech tts --am speedyspeech_csmsc --input "你好,欢迎使用百度飞桨深度学习框架!" # 中文多说话人(AISHELL-3,可改 spk_id) paddlespeech tts --am fastspeech2_aishell3 --voc pwgan_aishell3 --input "你好,欢迎使用百度飞桨深度学习框架!" --spk_id 0 # 英文 paddlespeech tts --am fastspeech2_ljspeech --voc pwgan_ljspeech --lang en --input "hello world" # 英文多说话人(VCTK) paddlespeech tts --am fastspeech2_vctk --voc pwgan_vctk --input "hello, boys" --lang en --spk_id 0 # 中英混说(am 必须为 fastspeech2_mix,lang 必须为 mix;spk 174 为 csmsc 音色,175 为 ljspeech 音色) paddlespeech tts --am fastspeech2_mix --voc hifigan_csmsc --lang mix --input "热烈欢迎您在 Discussions 中提交问题,并在 Issues 中指出发现的 bug。" --spk_id 174 --output mix_spk174.wav # 男声混说模型 paddlespeech tts --am fastspeech2_male --voc hifigan_male --lang mix --input "我们的声学模型使用了 Fast Speech Two。" --output male_mix_fs2_hifigan.wav # 粤语 paddlespeech tts --am fastspeech2_canton --voc pwgan_aishell3 --input "各个国家有各个国家嘅国歌" --lang canton --spk_id 10

ONNXRuntime 推理加速(加--use_onnx True,并支持--am/--voc自由组合):

paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架!" --output default.wav --use_onnx True paddlespeech tts --am speedyspeech_csmsc --input "你好,欢迎使用百度飞桨深度学习框架!" --output ss.wav --use_onnx True paddlespeech tts --am fastspeech2_ljspeech --voc hifigan_ljspeech --lang en --input "Life was like a box of chocolates." --output lj_fs2_hifigan.wav --use_onnx True paddlespeech tts --am fastspeech2_canton --voc pwgan_aishell3 --lang canton --spk_id 10 --input "各个国家有各个国家嘅国歌" --output output_canton.wav --use_onnx True

paddlespeech tts关键参数(paddlespeech tts --help可查看全部):

参数含义默认值
input(必填)待合成文本
am声学模型类型fastspeech2_csmsc
am_config/am_ckpt/am_stat声学模型配置/权重/归一化统计量,置 None 用预训练模型None
phones_dict/tones_dict/speaker_dict音素/声调/说话人映射文件None
spk_id多说话人模型说话人 ID0
voc声码器类型pwgan_csmsc
voc_config/voc_ckpt/voc_stat声码器配置/权重/统计量None
lang语言zh
device推理设备环境默认
output输出 wav 路径output.wav
use_onnx是否使用 ONNXRuntime 推理关闭
fs指定 ONNX 模型文件时的采样率

对应实现见 paddlespeech/cli/tts 的TTSExecutor。Python API 调用方式:

import paddle from paddlespeech.cli.tts import TTSExecutor tts_executor = TTSExecutor() wav_file = tts_executor( text='今天的天气不错啊', output='output.wav', am='fastspeech2_csmsc', spk_id=0, voc='pwgan_csmsc', lang='zh', device=paddle.get_device()) print('Wave file has been generated: {}'.format(wav_file))

ONNXRuntime 推理的 Python 写法只需追加use_onnx=True, cpu_threads=2

预训练模型清单(摘自 text_to_speech/README.md):

  • 声学模型:speedyspeech_csmsc(zh)、fastspeech2_csmsc(zh)、fastspeech2_ljspeech(en)、fastspeech2_aishell3(zh)、fastspeech2_vctk(en)、fastspeech2_cnndecoder_csmsc(zh)、fastspeech2_mix(mix)、tacotron2_csmsc(zh)、tacotron2_ljspeech(en)、fastspeech2_male(zh/en/mix)、fastspeech2_canton(canton)
  • 声码器:pwgan_csmscpwgan_ljspeechpwgan_aishell3pwgan_vctkmb_melgan_csmscstyle_melgan_csmschifigan_csmschifigan_ljspeechhifigan_aishell3hifigan_vctkwavernn_csmscpwgan_malehifigan_male

2.3 声音分类(Audio Tagging)

声音分类 Demo 对一段音频打上 1 个或多个 AudioSet 标签(共 527 类),属于多标签分类任务。下载示例音频后执行:

wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/cat.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/dog.wav paddlespeech cls --input ./cat.wav --topk 10

参数要点:model默认panns_cnn14topk控制展示前 N 个标签(默认 1);label_file置 None 时使用 AudioSet 默认标签。文档给出的输出示例(对猫叫音频):

CLS Result: Cat: 0.8991316556930542 Domestic animals, pets: 0.8806838393211365 Meow: 0.8784668445587158 Animal: 0.8776564598083496 Caterwaul: 0.2232048511505127

预训练模型:panns_cnn6/panns_cnn10/panns_cnn14(采样率均为 32000)。Python API 使用paddlespeech.cli.cls.CLSExecutor

2.4 标点恢复(Punctuation Restoration)

标点恢复 Demo 是 ASR 的常见文本后处理任务,为无标点文本补上标点以提升可读性并方便下游 NLP:

paddlespeech text --input 今天的天气真不错啊你下午有空吗我想约你一起去吃饭 # 输出:今天的天气真不错啊!你下午有空吗?我想约你一起去吃饭。

参数:task默认puncmodel默认ernie_linear_p7_wudaolang默认zhpunc_vocab为标点词表文件(默认 None)。Python 侧对应 paddlespeech/cli/text 的TextExecutor。该任务既可作为独立命令,也可与 ASR 通过管道组合(见 2.1 节),还常与流式 ASR 服务串联(见 4.2 节)。

2.5 语音翻译(Speech Translation)

语音翻译 Demo 实现端到端语音翻译:识别音频中的语言并翻译成目标语言(当前不支持 Windows):

wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav paddlespeech st --input ./en.wav # 输出:ST Result: ['我 在 这栋 建筑 的 古老 门上 敲门 。']

参数:model默认fat_st_tedsrc_lang默认entgt_lang默认zhsample_rate默认16000。实现位于 paddlespeech/cli/st 的STExecutor

2.6 自监督预训练模型(Speech SSL)

Speech SSL Demo 基于 wav2vec2 等自监督模型,支持两种任务:asr(语音识别)与vector(提取声学表征):

wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/en.wav # 识别文本 paddlespeech ssl --task asr --lang en --input ./en.wav # 提取声学表征 paddlespeech ssl --task vector --lang en --input ./en.wav

参数:model可选wav2vec2/hubert/wavlm(默认wav2vec2);task默认asr。自监督模型在大规模无标注语音上训练得到通用声学表征,再通过下游任务微调迁移,实现位于 paddlespeech/cli/ssl。

2.7 Whisper 识别与翻译

Whisper Demo 接入 OpenAI 的 Whisper 通用语音识别模型,支持多语种识别、语音翻译与语种识别:

wget -c https://paddlespeech.cdn.bcebos.com/PaddleAudio/zh.wav # 转写 paddlespeech whisper --task transcribe --input ./zh.wav # 指定英文 only 模型(base 尺寸) paddlespeech whisper --lang en --size base --task transcribe --input ./en.wav # 识别并翻译成英文 paddlespeech whisper --task translate --input ./zh.wav

参数:task默认transcribesize默认turbo,支持[turbo, large, medium, base, small, tiny]langen可选择 English-only 模型(medium/base/small/tiny支持);language可强制指定识别语种;sample_rate固定 16000。实现对应 paddlespeech/cli/whisper 的WhisperExecutor


三、创意应用类 Demo:跨模块组合玩法

3.1 视频字幕生成

automatic_video_subtitiles 使用 ASR + 标点恢复为视频自动生成字幕。先下载视频并抽取单声道 16k WAV:

wget -c https://paddlespeech.cdn.bcebos.com/demos/asr_demos/subtitle_demo1.mp4 ffmpeg -i subtitle_demo1.mp4 -ac 1 -ar 16000 -vn input.wav

再通过 Python API 串联ASRExecutorTextExecutor

import paddle from paddlespeech.cli.asr import ASRExecutor from paddlespeech.cli.text import TextExecutor asr_executor = ASRExecutor() text_executor = TextExecutor() text = asr_executor(audio_file='input.wav', device=paddle.get_device()) result = text_executor(text=text, task='punc', model='ernie_linear_p3_wudao', device=paddle.get_device()) print('Text Result: \n{}'.format(result))

文档输出示例为:当我说我可以把三十年的经验变成一个准确的算法,他们说不可能。当我说我们十个人就能实现对十九个城市变电站七乘二十四小时的实时监管,他们说不可能。若需生成 .srt 字幕文件,也可直接复用流式 ASR 服务端提供的websocket_client_srt.py脚本(见 4.3 节)。

3.2 会说话的故事书(Story Talker)

story_talker 面向低龄儿童“听书”场景:用PaddleOCR识别故事书文字,再用 PaddleSpeech 的 TTS 模块朗读。运行:

./run.sh

3.3 元宇宙:让照片开口说话

metaverse 将 PaddleSpeech TTS 与 PaddleGAN 组合,让图片中的人物“说出”指定内容,构造 2D 虚拟人。一键脚本完成安装与运行:

./run.sh

脚本内会先source path.sh设置环境变量;修改sentences.txt可更换台词,替换脚本中的download/Lamarr.png可更换图片。

3.4 个性化语音合成(Style FastSpeech2)

style_fs2 利用 FastSpeech2 的可控输入(音素时长能量音高)做风格控制:

  • 调整duration可改变语速且保持音高不变(许多工具变速会连带改变音高);
  • 将整句pitch设为均值、tones置 1,可得到机器人风格音色;
  • 按固定比例抬高成年女性的pitch,可得到儿童风格音色;
  • 句子中不同音素的duration/pitch可分别设置不同缩放比例,以强调或弱化某些音素的发音。

运行方式:

./run.sh

脚本会先source path.sh设置环境变量,替换sentences.txt可尝试自定义句子,细节实现在style_syn.py中。

3.5 海量音频相似性检索(Audio Searching)

audio_searching 是最完整的系统级 Demo:用 PaddleSpeech 预训练模型(说话人识别模型ecapa_tdnn等)把音频转成向量,存入开源向量数据库Milvus,并用MySQL保存 ID 与音频元信息的映射,实现亿级音频的相似性检索(可用于找相似音效、防止版权侵权、声纹库快速检索、反欺诈等)。

整体流程(文档原图 img/audio_searching.png):

  1. 上传音频 → PaddleSpeech 模型提取 embedding 向量 → 存入 Milvus;
  2. Milvus 为每个向量生成唯一 ID,ID 与音频信息(音频 ID、说话人 ID 等)写入 MySQL 完成建库;
  3. 检索时对测试音频提向量 → Milvus 做向量相似度搜索 → 按返回的向量 ID 去 MySQL 反查音频信息。

搭建步骤:

# 1. 一键启动 Milvus + MySQL + Web 前端容器 cd demos/audio_searching/ docker-compose -f docker-compose.yaml up -d # 2. 安装 Python 依赖并启动 FastAPI 后端 pip install -r requirements.txt export PYTHONPATH=$PYTHONPATH:./src python src/audio_search.py # Uvicorn running on http://0.0.0.0:8002 # 3. 端到端脚本测试(下载数据、提向量、建库、检索、删库) python ./src/test_audio_search.py

关键配置(src/config.py,本地运行可跳过):

参数说明默认值
MILVUS_HOST/MILVUS_PORTMilvus 地址与端口127.0.0.1/19530
VECTOR_DIMENSION向量维度2048
MYSQL_HOST/MYSQL_PORTMySQL 地址与端口127.0.0.1/3306
DEFAULT_TABLEMilvus/MySQL 默认集合名audio_table

文档基于 CN-Celeb 数据集(65 万训练音频、1 万测试音频、3000 说话人、向量维度 192、L2 距离)给出的实测数据为:特征提取约 500 ms、基于 Milvus 的检索约 2.9 ms(90% 召回率前提下)、单条 5 秒测试音频总耗时约 503 ms。文档同时说明这些数据来自特定机器配置(CentOS 7.6 / Xeon E5-2620 v4 / 132G 内存),并提示数据集可按需替换(如 Librispeech、VoxCeleb、UrbanSound 等)。支持的前端地址为127.0.0.1:8068;若浏览器与服务不在同一台机器,需同步修改docker-compose.yaml中的API_URL并重新执行 compose。


四、服务化部署类 Demo:Server / Client 架构

服务类 Demo 均基于paddlespeech_serverpaddlespeech_client两个命令行工具(实现见 paddlespeech/server/bin),配置采用 YAML 文件驱动。

4.1 离线语音服务(Speech Server)

speech_server 提供离线多任务语音服务,engine_list<语音任务>_<引擎类型>格式声明要启动的引擎。目前已集成任务包括asr(语音识别)、tts(语音合成)、cls(声音分类),引擎类型支持pythoninference(Paddle Inference)。配置示例位于 conf/application.yaml,中英混说识别请改用 conf/conformer_talcs_application.yaml。

paddlespeech_server start --config_file ./conf/application.yaml

容器中若服务正常启动但客户端访问不到,可尝试把配置文件中的host改为本机局域网 IP。官方建议使用 paddlepaddle 2.4rc 及以上版本。

4.2 流式语音识别服务(Streaming ASR Server)

streaming_asr_server 接收 WebSocket 音频流并实时输出转写文本。该服务只支持websocket协议,不支持http。目前集成的模型包括 DeepSpeech2 与 Conformer。

# 启动服务(默认 CPU;改配置文件中 device 参数可部署到 GPU) paddlespeech_server start --config_file ./conf/ws_conformer_wenetspeech_application.yaml # 更快解码但精度略降的配置 paddlespeech_server start --config_file ./conf/ws_conformer_wenetspeech_application_faster.yaml

启动成功后日志会显示Uvicorn running on http://0.0.0.0:8090。客户端调用:

paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --input ./zh.wav

客户端参数:server_ip(默认 127.0.0.1)、port(默认 8090)、input(必填)、sample_rate(默认 16000)、lang(默认 zh_cn)、audio_format(默认 wav)、punc.server_ip/punc.server_port(可选,指向标点服务)。客户端日志会逐帧显示增量识别结果,最后返回带逐字时间戳的完整结果:

client final receive msg={'status': 'ok', 'signal': 'finished', 'result': '我认为跑步最重要的就是给我带来了身体健康', 'times': [{'w': '我', 'bg': 0.0, 'ed': 0.7}, ...]}

Python 端使用paddlespeech.server.bin.paddlespeech_server.ServerExecutor(服务端)与paddlespeech.server.bin.paddlespeech_client.ASROnlineClientExecutor(客户端)。

流式 ASR + 标点服务串联:用bash server.sh或分别启动两个服务(conf/ws_conformer_wenetspeech_application.yaml 与 conf/punc_application.yaml,后者默认监听 8190 端口),然后:

paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --punc.server_ip 127.0.0.1 --punc.port 8190 --input ./zh.wav # 或使用仓库脚本 python3 local/websocket_client.py --server_ip 127.0.0.1 --port 8090 --punc.server_ip 127.0.0.1 --punc.port 8190 --wavfile ./zh.wav

串联后输出即变为带标点的流式文本:我认为,跑步最重要的就是给我带来了身体健康。

4.3 流式识别生成 SRT 字幕

在 streaming_asr_server 目录下,还可以用local/websocket_client_srt.py同时调用流式识别与标点服务,直接生成.srt字幕文件(需先安装 ffmpeg,输入支持.wav.mp3):

paddlespeech_server start --config_file ./conf/ws_conformer_wenetspeech_application.yaml # 另开终端 paddlespeech_server start --config_file conf/punc_application.yaml # 再开终端调用客户端 python3 local/websocket_client_srt.py --server_ip 127.0.0.1 --port 8090 --punc.server_ip 127.0.0.1 --punc.port 8190 --wavfile ../../data/认知.mp3

脚本会先通过 ffmpeg 把 mp3 转为 wav,流式转写并恢复标点后按句子切分,依据逐字时间戳输出到认知.srt,文档日志末尾可见results saved to .../认知.srt

4.4 流式语音合成服务(Streaming TTS Server)

streaming_tts_server 根据文本流式返回合成音频,同时支持 http 与 websocket 两种协议,由配置文件 conf/tts_online_application.yaml 中的protocol字段决定。engine_listtts_online(Python 动态图推理)或tts_online-onnx(onnxruntime 推理,速度更快)。

模型与块推理(chunk inference)机制是该 Demo 的核心:

  • AM(声学模型)支持fastspeech2fastspeech2_cnndecoderfastspeech2不支持流式 AM 推理(am_pad/am_block对其无效),fastspeech2_cnndecoder支持流式推理,am_pad=12时流式合成音频与整句合成一致;
  • Voc(声码器)支持hifiganmb_melgan
    • mb_melganvoc_pad=14时与整句一致,最小可设voc_pad=7(低于 7 会听到异常音);
    • hifiganvoc_pad=19时与整句一致,voc_pad=14时无听觉异常;
  • am_block/am_pad分别表示每个 chunk 的有效帧数与前后补帧数,补帧用于消除流式推理误差;
  • 速度上mb_melgan > hifigan,音质上mb_melgan < hifigan

启动服务并调用(http 方式):

paddlespeech_server start --config_file ./conf/tts_online_application.yaml paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --protocol http --input "您好,欢迎使用百度飞桨语音合成服务。" --output output.wav

websocket 方式仅需把配置文件protocol改为websocket,并把客户端参数--protocol websocket。客户端参数:server_ip(默认 127.0.0.1)、port(默认 8092)、protocol(http/websocket,默认 http)、input(必填)、spk_id(默认 0,当前代码仅支持单说话人模型,因此不生效)、output(默认不保存本地)、play(是否边合成边播放,需依赖 pyaudio)。注意:流式 TTS 不支持改变采样率、变速与变调。文档给出的 http 调用输出示例:

句子:您好,欢迎使用百度飞桨语音合成服务。 首包响应:0.18863153457641602 s 尾包响应:3.1427218914031982 s 音频时长:3.825 s RTF: 0.8216266382753459 音频保存至:output.wav

五、附录:快速选型参考

需求推荐 Demo最小操作
快速转写单条音频speech_recognitionpaddlespeech asr --input a.wav
文本转语音text_to_speechpaddlespeech tts --input "你好"
音频打标签audio_taggingpaddlespeech cls --input a.wav --topk 10
文本补标点punctuation_restorationpaddlespeech text --input 无标点文本
语音翻译speech_translationpaddlespeech st --input a.wav
实时流式识别streaming_asr_serverServer +asr_onlineclient
实时流式合成streaming_tts_serverServer +tts_onlineclient
离线多任务服务speech_serverpaddlespeech_server start --config_file ./conf/application.yaml
海量音频检索audio_searchingdocker-compose +python src/audio_search.py
视频/音频字幕automatic_video_subtitiles / streaming ASR 的 srt 脚本ASR+标点串联
图片人物发声metaverse./run.sh
故事书朗读story_talker./run.sh
风格化合成style_fs2./run.sh
自监督表征/识别speech_sslpaddlespeech ssl --task asr/vector
多语种识别/翻译whisperpaddlespeech whisper --task transcribe/translate

所有 Demo 的使用前提都是先完成 安装指南(提供 easy / medium / hard 三档安装方式,easy 模式安装服务类 Demo 时需自行参考conf目录准备 YAML 配置)。离线条命令的参数详解可用paddlespeech <task> --help查看;服务类参数可用paddlespeech_server start --helppaddlespeech_client <subcommand> --help查看。


结语

PaddleSpeech 的demos目录展示了从“单命令工具”到“可上线的 Server/Client 服务”,再到“跨模块创意应用”的完整落地梯度。无论你是想快速验证模型效果、为产品接入流式识别/合成,还是搭建音频检索系统,都能在 demos/README.md 中找到对应的可直接运行的起点;而每个子目录 README 中的参数表、输出日志与 paddlespeech/cli、paddlespeech/server 的源码相互印证,可作为进一步定制开发的技术依据。

  • 人工智能
  • 语音
  • 音频

【免费下载链接】PaddleSpeech

Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.

项目地址:https://gitcode.com/gh_mirrors/pa/PaddleSpeech
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/23 5:10:37

8GB MacBook本地跑大模型:llama.cpp实现tokens自由

1. 项目概述&#xff1a;为什么8GB内存的MacBook Neo能跑端侧模型&#xff0c;还谈得上“tokens自由” “8GB内存的MacBook Neo&#xff0c;本地部署的端侧模型让我实现tokens自由”——这句话刚在技术圈传开&#xff0c;不少朋友第一反应是皱眉&#xff1a;8GB&#xff1f;Ne…

作者头像 李华
网站建设 2026/9/23 5:10:34

基于豆包与飞书多维表格构建个人情报站:自动采集、处理与推送

1. 个人情报站的核心思路与方案选型1.1 为什么需要个人情报站信息过载这件事&#xff0c;做了几年内容工作的人应该都有切身体会。每天要盯的源头太多了&#xff1a;行业群里的讨论、飞书文档的更新、竞品动态、技术社区的热帖、自己收藏夹里攒着没看的文章。靠人脑记、靠手动整…

作者头像 李华
网站建设 2026/9/23 5:03:49

从RAG到Agent:融合架构设计与工程实践指南

1. 从RAG到Agent的架构演进逻辑1.1 为什么单纯RAG不够用了我最早接触RAG是在做一个企业知识库问答项目的时候。当时的思路很直接&#xff1a;把文档切块、向量化、存进向量数据库&#xff0c;用户提问时检索最相似的几个片段&#xff0c;拼进Prompt让大模型生成答案。这套流程跑…

作者头像 李华
网站建设 2026/9/23 5:03:22

乐鑫ESP32系列开发板选型与实操指南

我理解您的要求&#xff0c;但需要坦诚说明&#xff1a;当前输入内容中&#xff0c;项目标题“WT9932P4-TINY开发板 中奖名单公布&#xff01;启明云端乐鑫代理及方案商”本质上是一则营销活动公告&#xff0c;而非技术项目或可复现的实操内容。它不包含任何可拆解的技术路径、…

作者头像 李华
网站建设 2026/9/23 5:01:21

解析编程中看似矛盾的比较表达式

1. 面试题解析&#xff1a;为什么i > j && i < j && i ! j可以成立&#xff1f;这个问题看似矛盾&#xff0c;但在编程语言中确实存在成立的场景。关键在于理解不同编程语言中变量比较的机制差异。让我们从Java的实现开始拆解。1.1 Java中的自动装箱与拆…

作者头像 李华
网站建设 2026/9/23 5:01:12

VS Code 写 Swift 与 iOS 开发:插件生态与工程化实践指南

我用了差不多一个季度的 VS Code 来写 Swift、做 iOS 相关的开发&#xff0c;期间被问得最多的一个问题就是&#xff1a;“这玩意儿真能写 iOS 吗&#xff1f;插件能干嘛&#xff1f;是不是最后还是得乖乖回 Xcode&#xff1f;”说实话&#xff0c;能问出这个问题的人&#xff…

作者头像 李华