ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Transformers 语音识别:3 行代码把会议录音转成文字

Transformers 语音识别:3 行代码把会议录音转成文字 Transformers 语音识别:3 行代码把会议录音转成文字【免费下载链接】transformers Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers上周的会议录音丢进识别工具,输出把两人的对话搅在一起,没法用。我转向 Transformers 内置的语音识别 pipeline,3 行代码把录音转成文字。原理 30 秒:语音怎么变成文字原理可以类比听写。模型先把音频切成 25ms 的小块,提取声学特征。再逐词吐出文字。Whisper 的 encoder 听音频,decoder 出文本,类似翻译。常用组件有三个:Whisper:端到端预训练的 ASR,最擅长长音频MMS:基于 wav2vec2,适配器覆盖 1000 低资源语言Wav2Vec2FeatureExtractor:前端,负责把音频重采样到 16kHz不用啃内部结构。只需记住模型输入永远是 16kHz 单声道。跑通最小示例:语音识别最小配置环境克隆仓库,装好音频相关依赖:git clone https://gitcode.com/GitHub_Trending/tra/transformers pip install -r transformers/examples/pytorch/speech-recognition/requirements.txt跑完当前目录会多出 transformers 仓库,torch、librosa 等音频依赖一并装好。没有 GPU 也能跑,但大模型会慢。建议先用 openai/whisper-base 试。核心代码准备一段录音 meeting.wav,把下面代码存成 asr_demo.py 再运行:from transformers import pipeline # whisper 是预训练 ASR 模型,免声学背景知识 asr pipeline(automatic-speech-recognition, modelopenai/whisper-large-v3) # pipeline 可直接传文件路径,特征提取器自动重采样到 16kHz result asr(meeting.wav) print(result[text]) # 要定位谁在哪个时段说话,就取逐词时间戳 result asr(meeting.wav, return_timestampsword) for chunk in result[chunks]: print(chunk[timestamp], chunk[text])跑完会先打印一句完整识别文本。官方文档的示例输出是{text: I have a dream that one day this nation will rise up...},出处见 docs/source/en/pipeline_tutorial.md。带时间戳的调用会额外打印每词起止秒数,方便定位。跑完看到什么asr 调用返回一个字典。result[text] 是整句文本。加上 return_timestamps 后,字典里多一个 chunks 键。每个元素形如{text: I, timestamp: (0.0, 1.1)},单位是秒。文档示例里第一个词 I 正好落在 (0.0, 1.1)。拿到时间戳后,可以按时间把文字对回录音,标注说话时段。首次运行要联网下载模型权重,之后走缓存。想调参数,常用两个:language:显式指定音频语言,防止短音频被误判chunk_length_s:把长音频切块推理,避免显存爆掉效果怎么验证WER(词错率)越低越好。下面 3 组是官方示例数据:数据集模型组合硬件与训练时间WERLibrispeech clean 100hwav2vec2-base BART-base8× V100,45min0.0728Common Voice(土耳其语)wav2vec2-large-xlsr-531× V100,1h20min0.35Common Voice(印地语)whisper-small1× V100,约 8h0.326数据取自 examples/pytorch/speech-recognition/README.md,按文件内命令可复现。会议音频说话人更多,WER 通常高于单人朗读数据。踩过的坑中文识别出来是英文 → whisper 的语言自动检测会误判短音频 → 调用时显式传 languagechinese。⚠️ 微调脚本卡死不推进 → torchaudio 多线程死锁,preprocessing_num_workers 大于 1 时易触发 → 设置环境变量 OMP_NUM_THREADS1,README 里已写明。找不到说话人分离 pipeline → 这版 Transformers 只支持 automatic-speech-recognition,没有声源分离任务 → 先用外部工具分离人声,再把单声道音频喂给 ASR。往哪走用自己语料微调 whisper,压降领域 WER,看 examples/pytorch/speech-recognition/run_speech_recognition_seq2seq.py。覆盖 1000 低资源语言,MMS 复用基座只训适配器,看 examples/pytorch/speech-recognition/run_speech_recognition_ctc_adapter.py。pipeline 完整 API 与 return_timestamps,读 docs/source/en/pipeline_tutorial.md。【免费下载链接】transformers Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表