You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenAI Whisper模型实现说话人分离遇AttributeError问题求助

问题解决:AttributeError: 'WhisperProcessor' object has no attribute 'config'

错误原因

你错误地将WhisperProcessor(用于处理音频输入和文本输出的工具类)赋值给了model变量,而HuggingFace的ASR pipeline需要传入的是Whisper的模型本体,不是processor,这才触发了属性缺失的错误。

修改步骤及修正后代码

  1. 加载正确的模型类:使用WhisperForConditionalGeneration加载Whisper模型本体,这是Whisper专门用于语音转写的模型类。
  2. 简化tokenizer使用:WhisperProcessor已经集成了特征提取器和tokenizer,无需单独调用AutoTokenizer,直接使用processor的tokenizer属性即可。
  3. 清理冗余导入:移除不需要的模型导入类。

修正后的代码:

import torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration, pipeline
from langchain.llms import HuggingFacePipeline

model_id = 'openai/whisper-large-v2'
# 加载processor(集成特征提取器+tokenizer)
processor = WhisperProcessor.from_pretrained(model_id)
# 加载Whisper模型本体
model = WhisperForConditionalGeneration.from_pretrained(model_id)
# 若有GPU可启用加速
model = model.to("cuda" if torch.cuda.is_available() else "cpu")

# 创建ASR pipeline
pipe = pipeline(
    "automatic-speech-recognition",
    model=model, 
    tokenizer=processor.tokenizer,
    feature_extractor=processor.feature_extractor,  # 需传入特征提取器
    max_length=100
)

# 接入LangChain的HuggingFacePipeline
local_llm = HuggingFacePipeline(pipeline=pipe)

额外说明:关于说话人分离

Whisper本身不具备说话人识别/分离能力,要实现说话人分离,需要结合专门的说话人分割工具(比如pyannote.audio),流程如下:

  • 先用pyannote的说话人分割模型将音频分割为不同说话人的片段
  • 对每个片段单独用Whisper转写
  • 合并转写结果并标注说话人

示例流程(需额外安装pyannote.audio):

from pyannote.audio import Pipeline

# 初始化说话人分割管道(需在HuggingFace获取访问权限)
diarization_pipeline = Pipeline.from_pretrained(
    "pyannote/speaker-diarization-3.1",
    use_auth_token="你的HF令牌"
)

# 对音频做说话人分割
diarization = diarization_pipeline("你的音频文件路径.wav")

# 遍历分割结果,对每个片段转写
for segment, _, speaker in diarization.itertracks(yield_label=True):
    # 提取对应片段的音频(需用librosa或soundfile处理)
    # 然后用Whisper pipe转写该片段
    transcription = pipe(segment_audio)
    print(f"说话人{speaker}: {transcription['text']}")

内容的提问来源于stack exchange,提问作者san1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:25:14