Files

49 lines
2.8 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
MaAI ch_kyoto 本机 CPU 基本运行
验证日期:2026-10-13
环境
Apple M4 Mac mini,16 GB 内存,原生 ARM64 Python 3.11.15。
MaAI 0.2.22,PyTorch 2.14.1,PortAudio 19.7.0,PyAudio 0.2.14。
uv 管理独立 .venv 和 uv.lock;PyPI 使用清华镜像。
复跑
cd "/Users/wangx/Code/晓白灵智能打断/experiments/maai-ch-kyoto"
uv run --locked python smoke_run.py
指定录音与时长
uv run --locked python smoke_run.py --audio "/录音绝对路径.mp3" --seconds 22 --threads 4
输入须为双声道:索引 0 用户、索引 1 机器人。脚本读取头部指定时长,重采样至 16 kHz;按两路各 1600 样本(100 毫秒)同步调用 process,不启用麦克风或播放音频。末尾不足 100 毫秒的样本不参与推理。
模型
语言 ch_kyoto,降噪 VAP 权重(vap_mc),原版 CPC 编码器(model_type=normal)。
10 Hz,20 秒滚动上下文,KV cache,device=cpu。
两个权重均存储在 models/,脚本逐次验证 SHA256 后离线加载。
VAP 来源:https://huggingface.co/maai-kyoto/vap_ch_kyoto
VAP 文件:vap_mc_state_dict_ch_kyoto_10hz_20000msec.pt
VAP SHA256:65b8a51aea6a257b5b9139107f0f0cf22f94523cd4b6a2e7a356b6c43a4596a8
CPC 来源:https://dl.fbaipublicfiles.com/librilight/CPC_checkpoints/60k_epoch4-d0f474de.pt
CPC SHA256:d0f474de968c7243c20f43dee1626681618f2f150d3e638e82b79e22563b17f1
下载 VAP 时使用 hf-mirror,已核对官方完整 SHA256;CPC 从官方地址下载,并核对文件名哈希前缀及保存完整 SHA256。
验证结果
录音:2c83253a-7977-4e3c-a387-0aa1ea06fbe1.mp3 前 22 秒。
220 帧输出,所有 p_now / p_future / vad 均为两路有限、0–1 范围数值。
模型加载约 0.083 秒,推理约 1.142 秒,RTF 0.052。
跳过前 5 帧后,平均每帧 5.07 毫秒,P95 5.93 毫秒。
计时不包含录音读取、重采样和模型加载;仅代表该录音的一次离线 CPU 测试。
结果位于 results/smoke.json,包括配置、权重校验、逐帧媒体时间及概率。
输出含义
p_now:两个说话者在未来约 0–0.6 秒的相对活动预测。
p_future:两个说话者在未来约 0.6–2 秒的相对活动预测。
vad:两个说话者当前语音活动概率。
这三个输出均按 [用户, 机器人] 排列,不能直接当作 can_reply 或 EOT 概率。
MaAI 的原始 t 是墙钟时间;脚本另记 audio_end_sec 作为录音媒体时间。
兼容处理
使用本地官方预训练权重,避免自动下载或写入全局模型缓存。
旧 CPC 权重含 argparse.Namespace,脚本仅在构造模型时通过 safe_globals 允许该类型,保持 PyTorch weights_only 安全加载。
依赖恢复可用 uv sync --locked。新机器需先 brew install portaudio;构建 PyAudio 必要时添加:
CFLAGS="-I/opt/homebrew/opt/portaudio/include" LDFLAGS="-L/opt/homebrew/opt/portaudio/lib" uv sync --locked