关于 Live Audio Intelligence
Live Audio Intelligence 是用于实时金融网络直播转录与语音压力启发式分析的 MCP 服务,面向关注财报电话会等内容的分析人员。它同时提供滚动转录文本和基于音高抖动、停顿等特征的压力分数;该分数未经市场结果验证。
主要功能
- 01实时转录网络直播音频
- 02分析音高抖动与停顿
- 03生成启发式语音压力分数
- 04按时间窗口读取滚动转录
- 05管理并停止音频流
适用场景
- 01实时查看财报电话会发言
- 02检查有关指引的最新表述
- 03观察说话者语音压力变化
MCP 相关
作为 MCP 服务,它通过 stdio 暴露四个工具,让客户端启动直播监控、读取转录、分析语音特征并停止音频流。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
live-audio-intelligence-mcp
用于实时金融网络直播转录和启发式语音压力分析的 MCP 服务。
将任意实时网络直播 URL(财报电话会议、CNBC、投资者日)转化为实时 处理流水线,同时向大模型提供两项内容:
- 通过
faster-whisper(CPU、int8)生成的滚动转录文本。 - 启发式语音压力评分(0–100),根据 F0 音高抖动、 犹豫比例和有声帧占比计算得出。这些韵律特征在语音分析 文献中被广泛认为与说话者的唤醒程度相关;但下文评分中对这些特征的 组合方式属于启发式,且尚未通过实证验证其与市场结果的关联。请将其视为 粗略信号,而非绝对依据。
基于 Model Context Protocol 构建。通过 stdio 暴露 4 个工具;可将其接入 Claude Desktop、Claude Code 或任意 MCP 客户端。
为什么要开发它
卖方分析师和对冲基金投资组合经理不只是想事后阅读财报 电话会议转录文本——他们还想实时了解被问及第 4 季度业绩指引时, CFO 听起来有多自信。此服务将 Whisper 处理流水线和基于 pYIN 的韵律分析器直接接入大模型的工具调用循环, 因此模型可以在同一段对话中询问 “CEO 刚才对中国市场说了什么?” 和 “他们说这句话时 听起来有多紧张?”。
安装
1. 系统先决条件 — FFmpeg
FFmpeg 是系统二进制程序,不是 Python 包。这里不依赖
ffmpeg-python 封装库——我们通过
subprocess 直接调用二进制程序。你必须自行安装。
macOS(Homebrew):
brew install ffmpeg
Linux(Debian / Ubuntu):
sudo apt-get update && sudo apt-get install -y ffmpeg
Linux(Fedora / RHEL):
sudo dnf install -y ffmpeg
Windows — 选择一种方式:
# Option A — winget (Windows 10/11)
winget install --id=Gyan.FFmpeg -e
# Option B — Chocolatey
choco install ffmpeg
# Option C — Scoop
scoop install ffmpeg
确认它已添加到 PATH:
ffmpeg -version
如果命令报错并显示“未找到”,请重新打开终端(PATH 更改
不会传递到已打开的 shell),或手动将 ffmpeg 的 bin/ 目录
添加到 PATH。
2. Python 包
需要 Python ≥ 3.10。
pip install live-audio-intelligence-mcp
或者使用 uv 直接运行,无需安装:
uvx live-audio-intelligence-mcp
首次运行时会从 Hugging Face 下载 faster-whisper base.en 模型(约 140 MB),并
将其缓存到 ~/.cache/huggingface/。
运行
stdio MCP 服务:
live-audio-intelligence-mcp
或使用等效命令:
python -m live_audio_intelligence_mcp
Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"live-audio-intelligence": {
"command": "live-audio-intelligence-mcp"
}
}
}
Claude Code
claude mcp add live-audio-intelligence -- live-audio-intelligence-mcp
工具
| 工具 | 用途 |
|---|---|
monitor_live_stream(url, disable_vad=False) | 解析音频 URL,启动 ffmpeg,并开始分块和转录。返回 stream_id。 |
get_rolling_transcript(stream_id, minutes_back=10) | 获取最近 N 分钟拼接而成的转录文本。 |
analyze_speaker_stress(stream_id, time_window_seconds=60) | 对最近 N 秒的音频运行韵律分析。返回压力评分、音高抖动、犹豫比例、停顿统计数据,以及易于理解的解读。 |
stop_monitor(stream_id) | 终止 ffmpeg、清理临时文件并丢弃转录缓冲区。 |
压力评分
| 分数 | 说明 |
|---|---|
| 0–20 | 表达自信、流畅 |
| 20–45 | 正常波动 |
| 45–75 | 压力较高——值得关注 |
| 75–100 | 压力很高——可能是影响市场的信号 |
综合指标包括:
- 音高抖动(F0 的变异系数)——权重 50%,在抖动值达到 0.12 时趋于饱和
- 犹豫比例(超过 400 ms 的停顿所占音频比例)——权重 35%,在 0.30 时趋于饱和
- 无声比例(说话人逐渐停止发声)——权重 15%
这三个特征都是有文献支持的说话人唤醒度相关指标(参见用于跟踪 F0 的 pYIN,以及广泛研究的“言语不流畅与认知负荷相关”这一方向)。权重和饱和点是手动选定的默认值,旨在让冷静说话者在干净的录音棚音频中得分处于 0–20 区间,让明显带有压力的语音得分达到 ≥ 45——这些参数并非基于任何带标签的数据集拟合而成。关注绝对数值的使用者应根据自己的录音重新校准阈值。
合成音频校准工具位于 scripts/validate_stress_score.py。它会 生成可控音频(平滑正弦波、音高抖动、带静音填充的语音),并断言评分会 按预期方向变化。这是校准证据,而非对市场结果的验证。
低信噪比模式
对于免提电话音频(大多数财报电话问答),请向
monitor_live_stream 传入 disable_vad=true。Silero VAD 往往会将模糊的
电话会议语音过度判定为静音;禁用它可以保留更多语音,但代价是会转录稍多
的环境噪声。
并发限制
默认情况下,服务会将并发流数量限制为 4(每个流会占用一个 ffmpeg 子进程、一个 yt-dlp 子进程、一个线程和一个临时目录)。 高吞吐量部署可通过环境变量覆盖此限制:
LAI_MAX_CONCURRENT_STREAMS=16 live-audio-intelligence-mcp
超过限制时会引发 StreamLimitExceededError,而不会静默排队。
架构
┌──────────────────┐
URL ─────▶ │ yt-dlp resolve │
└────────┬─────────┘
│ audio URL
▼
┌──────────────────┐ ┌────────────────┐
│ ffmpeg (bg) │ ───▶ │ 15s WAV chunk │
│ 16kHz mono PCM │ │ queue │
└──────────────────┘ └───────┬────────┘
│
┌──────────────────┴────────────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ faster-whisper │ │ librosa.pyin │
│ (int8 / CPU) │ │ + pause detect │
└────────┬─────────┘ └────────┬─────────┘
│ rolling transcript │ stress score
▼ ▼
┌────────────── MCP stdio ───────────────┐
│ LLM (Claude) — calls tools freely │
└────────────────────────────────────────┘
所有阻塞任务(Whisper 推理、ffmpeg I/O、librosa DSP)都会通过
asyncio.to_thread 分派到线程中执行,以保持 MCP 事件循环响应灵敏。
开发
git clone https://github.com/ykshah1309/live-audio-intelligence-mcp
cd live-audio-intelligence-mcp
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pytest
live-audio-intelligence-mcp
运行测试
tests/ 中的 pytest 测试套件涵盖了不需要网络或 ffmpeg 的纯 Python 逻辑:
- URL 语法验证(协议白名单、主机存在性)
StreamManager中的并发限制执行- 自定义异常层次结构(与
ValueError/RuntimeError向后兼容) - 对合成音频进行韵律分析(正弦音、静音、音高抖动)
pytest -q
校准基准测试
python scripts/validate_stress_score.py
它会生成具有已知声学属性的合成音频,并验证压力评分是否按预期方向变化。 这是对加权启发式方法的合理性检查——不能替代基于真实财报电话会议结果的 实证验证。
故障排除
ffmpeg: command not found——PATH 中找不到 ffmpeg。请参阅上面的安装
部分。在 Windows 上,安装后请重新打开终端。
yt-dlp could not resolve URL——yt-dlp 不支持该网站,或 URL 格式错误。
请在命令行中使用 yt-dlp -F <url> 测试;如果该命令失败,服务也会失败。
首次运行时 Whisper 下载卡住——约 140 MB 的模型会下载到
~/.cache/huggingface/。请检查网络和 Hugging Face 访问情况。
压力输出中出现 "Insufficient voiced frames"——音频窗口大部分是静音或噪声。
通常意味着流仍在缓冲;请等待 30 秒后重试。对于免提电话问答,请使用
disable_vad=true 启动监控。
贡献
请参阅 CONTRIBUTING.md。
更新日志
请参阅 CHANGELOG.md。
许可证
MIT——请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。