AssemblyAI 的 Speaker Diarization 功能可解决多人访谈录音中语音混叠难题,提供端到端转录、显式参数配置、LangChain 集成及 Web 控制台四种实现方式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您对访谈录音中多人交替发言、语音混叠导致内容难以梳理感到困扰,则可能是由于缺乏有效的说话人分离机制。AssemblyAI 提供的 Speaker Diarization 功能可自动识别并标注不同说话人的语音片段,从而实现结构化分拣与整理。以下是实现该目标的多种方法:
一、使用 Transcribe 类启用说话人标签进行端到端转录
该方法通过 AssemblyAI 的 Transcribe 接口,在音频上传同时启用说话人分离模型,直接输出带 speaker 字段的结构化文本序列,适用于标准访谈音频且无需额外后处理。
1、安装最新版 assemblyai 包:pip install -U assemblyai
2、在 Python 脚本中初始化 Transcriber 并配置 speaker_labels=True:
3、调用 transcribe_audio 方法传入本地音频路径(支持 mp3、wav、m4a 等格式);
4、获取返回结果列表,每项含 "speaker" 与 "text" 键,例如 [{"speaker": "Speaker A", "text": "我们先回顾上期数据"}, {"speaker": "Speaker B", "text": "是的,样本量达1200份"}];
5、按 speaker 键聚合文本,生成每位受访者的独立发言段落。
二、通过 TranscriptionConfig 显式指定说话人数量与语言参数
当访谈参与者人数固定或已知时,显式声明 speakers_expected 可提升分离精度,尤其适用于双人深度访谈或主持人+嘉宾模式,避免模型误判沉默段为新说话人。
1、导入 aai 模块并设置 API 密钥环境变量:os.environ["ASSEMBLYAI_API_KEY"] = "your_api_key"
2、构建 TranscriptionConfig 实例,设置 speaker_labels=True 与 speakers_expected=2;
3、若访谈使用方言(如粤语访谈),添加 language_code="yue" 参数以激活对应声学模型;
4、将 config 对象传入 transcriber.transcribe(audio_file, config=config);
5、解析 response.utterances 属性,其每一项包含 start、end、speaker、text 字段,可用于生成带时间戳的分角色整理稿。
标签: 人工智能工具 excel python app csv ai 环境变量 speak langchain assembly
还木有评论哦,快来抢沙发吧~