用料
- BW21-CBV-Kit x 1
- 3.5 毫米 TRS/TRRS 分线器 x 1(例如,Adafruit 2791 / Sparkfun 11570)
- Adafruit PDM 麦克风分线器 x 1 [可选]
- 电位器 x 2
示例
说明
这个例子展示了如何使用 BW21-CBV-Kit 的自动增益控制 (AGC) 和噪声抑制 (NS) 音频效果。
实现流程
- 如图所示,将音频插孔和电位器连接到 BW21-CBV-Kit。
- 或者,如果您想使用数字麦克风,请按下图所示连接音频插孔、电位器和 PDM 麦克风。
- 在 “文件” -> “示例” -> “AmebaMultimedia” -> “Audio” -> “AudioEffect” 中打开范例。
- 在突出显示的代码片段中,在“ssid”中填写您的 WiFi 名称,在“pass”中填写 WiFi 密码。
- 编译代码并将其上传到 BW21-CBV-Kit。
- 将一对有线耳塞插入音频插孔。按下 复位按钮后,您应该能够听到板载麦克风通过耳塞重播的声音。
在此示例中,转动电位计将调整麦克风灵敏度。提高灵敏度将使麦克风能够拾取更柔和的声音,但也会增加背景噪音。 修改高亮显示的代码行,以在麦克风音频输入或扬声器音频输出上启用或禁用 NS 和 AGC 音频效果算法。重新编译并重新上传代码以听取效果。
程序说明
- NS 和 AGC 算法的采样率都限制为 8 kHz 和 16 kHz。
- NS 算法可以降低背景噪声的响度,并且能够显著降低由于提高麦克风灵敏度而引入的反向噪声。但是,副作用是它会向音频添加类似回声的效果。
- NS 效果的强度级别可以使用 configMicNS 和 configSpkNS 的第二个参数进行调整,其中 0 表示最弱,12 表示最强。
- AGC 算法可以动态调整增益和灵敏度,以将音频信号保持在目标响度水平。
- AGC 的目标参考电平可以通过 configMicAGC 和 configSpkAGC 的第二个参数进行调整,其中 0 代表 0 dBFS 是最响亮的电平,30 代表 -30 dBFS 是最柔和的电平。
|