#audio-playback #back-end #playback

awedio_esp32

Awedio 音频播放库的 ESP32 后端

8 个版本 (4 个破坏性更新)

0.5.0 2024年5月29日
0.4.1 2023年12月15日
0.3.0 2023年11月14日
0.2.0 2023年5月11日
0.1.2 2023年5月11日

#550 in 音频

Download history 103/week @ 2024-05-24 28/week @ 2024-05-31 7/week @ 2024-06-07 3/week @ 2024-06-14 6/week @ 2024-06-28 53/week @ 2024-07-05 53/week @ 2024-07-26 7/week @ 2024-08-02

每月下载量 60

MIT/Apache

13KB
181 代码行

Awedio ESP32 — 最新版本

使用 ESP-IDF 的 ESP32 I2S 后端,为 awedio 音频播放库。需要 std 和 ESP-IDF v5。

支持 mp3,但可能在没有原生浮点支持的 ESP 上运行不佳。

设置

调用者负责在调用后端的 start 之前设置 I2S 驱动程序。例如

use esp_idf_svc::hal;
use hal::i2s::config;

const SAMPLE_RATE: u32 = 44100;
const CHANNEL_COUNT: u16 = 1;

let i2s_config = config::StdConfig::new(
    config::Config::default(),
    config::StdClkConfig::from_sample_rate_hz(SAMPLE_RATE),
    config::StdSlotConfig::philips_slot_default(
        config::DataBitWidth::Bits16,
        config::SlotMode::Mono,
    ),
    config::StdGpioConfig::default(),
);

let peripherals = hal::peripherals::Peripherals::take().unwrap();
let i2s = peripherals.i2s0;
let blk = peripherals.pins.gpio44;
let dout = peripherals.pins.gpio42;
let mclk: Option<hal::gpio::AnyIOPin> = None;
let ws = peripherals.pins.gpio43;
let driver = hal::i2s::I2sDriver::new_std_tx(i2s, &i2s_config, bclk, dout, mclk, ws).unwrap();

let backend = awedio_esp32::Esp32Backend::with_defaults(
    driver,
    CHANNEL_COUNT,
    SAMPLE_RATE,
    128,
);
let manager = backend.start()

为了使 rmp3 原生依赖项为 xtensa 芯片编译(如果启用了 rmp3-mp3 功能),您可能需要导出以下变量(根据您的目标进行调整):export CROSS_COMPILE=xtensa-esp32s3-elf

动机

为创建 10 Buttons 的活动而构建,10 Buttons 是一款无屏幕的儿童平板电脑。有意保持通用性,以便在其他环境中使用。

功能

  • report-render-time: 打印到 stdout 的渲染时间统计信息。

许可证

此项目根据您的选择,受Apache 许可证 2.0 版MIT 许可证的许可。

除非您明确声明,否则您有意提交以包含在作品中的任何贡献,根据 Apache-2.0 许可证的定义,应按上述方式双重许可,而无需任何其他条款或条件。

依赖项

~5–13MB
~167K SLoC