audio_feeder_compare

Example of the component jason-mao/av_processor v0.6.2
# audio_feeder_compare

这个示例用来对比两条基于 feeder 的播放路径:

- `direct`
  上层把 PCM 数据送进 `audio_feeder`,feeder 解码后的 PCM 直接输出到播放设备。

- `elastic`
  上层把 PCM 数据送进 `audio_feeder`,但 feeder 输出会先经过 `audio_processor` 里集成的 `esp_elastic_pcm_buffer`,再平滑输出。

## 输入条件

- 板级:支持 `esp_board_manager_adapter` 的音频播放 + SD 卡板子
- 文件:`/sdcard/feeder.pcm`
- PCM:`16 kHz / 16-bit / mono`
- 喂数块大小:`2048 bytes`,约 `64 ms`

## 示例特性

- 从 SD 卡读取原始 PCM
- 用随机延时模拟网络抖动
- 通过 console 切换 `direct` / `elastic`
- 直接走 `audio_processor` 里的 feeder 路径
- `status` 可打印 feeder elastic buffer 的运行状态

## 常用命令

```text
mode direct
mode elastic
play /sdcard/feeder.pcm
stop
vol 60
status
```

上电后默认会自动以 `direct` 模式开始播放,方便先听到“无弹性缓存”的基线效果,再切到 `elastic` 重新测试。

To create a project from this example, run:

idf.py create-project-from-example "jason-mao/av_processor=0.6.2:audio_feeder_compare"

or download archive (~14.95 KB)