智能台灯LeLampX快速入门教程-音频调试
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
音频调试
目标:解决"听不见我说话""声音太小/太大""AI 说话时自己听到回声""说完话迟迟没反应"等常见音频问题,学会调麦克风/音箱音量和 VAD 灵敏度
一、先分清两条音频链路
LeLamp 的声音处理分两层,调参前先想清楚问题出在哪一层:
| 层 | 管什么 | 对应配置段 |
|---|---|---|
| 麦克风 VAD | AI 对话时"何时开始听、何时算说完、何时可打断" | microphone: |
| 管道 VAD | 本地语音流水线(录音启停、静音判定) | pipeline.vad: |
两个配置段名字相近但作用不同,修改时别搞混(下文有各自位置)。
二、查看音频设备
先确认系统认出了麦克风和音箱:
# 列出播放设备(音箱)
aplay -l
# 列出录音设备(麦克风)
arecord -l
你应看到什么:每条命令输出设备列表,包含 USB 声卡/板载声卡条目。什么都看不到 = 设备没插好或驱动没加载,先查硬件连接。
三、麦克风音量
3.1 交互式调节
alsamixer
按 F6 选择声卡 → 找到 Mic/Capture 通道 → 方向键调音量 → M 键取消静音(MM 表示静音)→ Esc 退出。
你应看到什么:说话时 Capture 电平条会跳动;不动时安静。
3.2 命令行快速设置
# 查看当前录音增益
amixer sget 'Mic'
# 设为 80%
amixer sset 'Mic' 80%
通道名称因声卡而异,以
amixer scontrols列出的为准。
四、音箱音量
- Web 界面:Settings / 播放页面直接调音量滑块
- 语音:直接说"音量调大""音量调小""音量 50"
- 命令行:
amixer sset 'Master' 70%(通道名以amixer scontrols为准)
你应看到什么:调完立刻能听到音量变化(可播放一首音乐验证)。
五、录音 / 播放测试
怀疑麦克风坏了?录一段再放出来听:
# 录 5 秒(默认设备)
arecord -d 5 -f S16_LE -r 16000 /tmp/test.wav
# 播放刚才的录音
aplay /tmp/test.wav
你应看到什么:录音时对着麦克风说话,播放时能清晰听到自己的声音。听不清 → 检查麦克风音量、摆放距离、是否被遮挡;有爆音 → 增益过高,调低。
六、回声问题(AI 说话时听到自己)
回声通常来自"音箱声音被麦克风拾取",按顺序排查:
- 调低音箱音量,别开太大
- 拉远距离:麦克风与音箱保持一定距离,别面对面紧贴
- 检查回声抑制门限:
microphone.echo_gate_threshold(默认 0.03)——低于此音量的信号会被当作 AI 扬声器回声而非人声。若回声仍明显,可适当调高:
microphone:
echo_gate_threshold: 0.05 # 从 0.03 调高,更激进地抑制回声
若环境声学复杂(空旷房间、大音量),回声难以完全消除属正常现象,优先物理手段(距离/音量)。
七、VAD 阈值调节(说话识别灵敏度)
7.1 参数速查表
| 参数路径 | 默认值 | 作用 | 调低 | 调高 |
|---|---|---|---|---|
microphone.local_vad_threshold |
0.65 | 人声检测敏感度(0~1) | 更灵敏(易误触) | 更保守(要大点声) |
microphone.gate_release_time |
1.5 | 人声停止后保持开启时间(秒) | 响应快但易切半句 | 更稳但反应慢 |
microphone.barge_in_threshold |
0.45 | 打断阈值:AI 说话时音量超过此值即打断 | 更容易打断 | 更难打断 |
microphone.echo_gate_threshold |
0.03 | 回声抑制门限 | — | 更激进抑制回声 |
pipeline.vad.activation_threshold |
0.45 | 管道 VAD 触发门槛(RMS) | 更灵敏 | 更保守 |
pipeline.vad.min_silence_duration |
0.5 | 静音多久算说完(秒) | 结束更快 | 等更久 |
7.2 常见问题怎么调
说话要很大声才识别 → 调低敏感度:
microphone:
local_vad_threshold: 0.50 # 从 0.65 降到 0.50
频繁误触发(背景噪音被当成说话)→ 调高 + 加长释放:
microphone:
local_vad_threshold: 0.75 # 从 0.65 升到 0.75
gate_release_time: 2.0 # 更长的保持时间,减少频繁开关
AI 话没说完就被打断 → 提高打断门槛:
microphone:
barge_in_threshold: 0.60 # 从 0.45 升到 0.60
说完后迟迟不响应 → 缩短静音判定:
endpointing:
min_delay: 0.5 # 从 0.8 降到 0.5
max_delay: 4.0 # 从 6.0 降到 4.0
修改
config.yaml后需重启 LeLamp 服务生效。
7.3 自动校准(推荐)
拿不准阈值?用脚本自动采样背景噪音并推荐:
# 基本校准:2 秒背景噪音 + 3 秒人声
python3 scripts/calibrate_voice.py
# 自定义:更长的采样、指定输入设备
python3 scripts/calibrate_voice.py --noise-duration 3 --speech-duration 5 --input-device 2
你应看到什么:输出类似——
背景噪音 RMS 统计: 平均值=0.0124 P50=0.0081 P90=0.0322
人声 RMS 统计: 最小值=0.0453 P10=0.0621 P50=0.1530
建议 VAD 阈值: 0.1288
校准结果已保存到: /tmp/vad_calibration.json
按"建议 VAD 阈值"调整 pipeline.vad.activation_threshold 即可。
常见问题
| 问题 | 处理 |
|---|---|
| 完全听不到我说话 | arecord -l 确认麦克风被识别;alsamixer 检查 Capture 是否静音(MM);音量调高 |
| 说话要很大声才识别 | 调低 local_vad_threshold(0.65→0.50) |
| 背景噪音乱触发 | 调高 local_vad_threshold(→0.75),加长 gate_release_time |
| AI 说话时听到回声 | 调低音箱音量、拉远距离;调高 echo_gate_threshold |
| 话没说完就被打断 | 调高 barge_in_threshold(0.45→0.60) |
| 说完迟迟不响应 | 调低 endpointing.min_delay / max_delay |
| 录音有爆音/电流声 | 麦克风增益过高,调低 Mic 音量;检查供电和线材 |
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号


















