Skip to content

Releases: schreibfaul1/ESP32-audioI2S

V3.4.4

06 Jan 14:14

Choose a tag to compare

V3.4.4
allow FLAC 24 bits per sample
and WAV 24 and 32 bps

V3.4.3

27 Sep 10:44
8b4bbbd

Choose a tag to compare

The output sample rate is no longer fixed, but depends on the audio source. If the DAC requires 48 kHz, this can be activated in Audio.h (#define SR_48K).

All decoders are now classes.

If there is more than one embedded image in a FLAC file, it is now output correctly.
e.g.
CoverImage: segment 00, pos 00000224, len 00007308
CoverImage: segment 01, pos 00007536, len 00005873

Streams are played back correctly even if the FLAC frame is larger than the OGG frame, http://amp.cesnet.cz:8000/cro-jazz.flac

char* null pointers are intercepted to prevent a crash.

If an ID3 header is unexpectedly sent during a chunked HLS aac stream, it is recognised and skipped, https://dd782ed59e2a4e86aabf6fc508674b59.msvdn.net/live/S97044836/tbbP8T1ZRPBL/playlist_audio.m3u8

Several issues with "chunked data transfer" have been resolved.
fix compiler warnings -Warray-bounds= and no trivial copy-assignment

V3.4.2

23 Aug 19:08

Choose a tag to compare

new event management
used "functional callbacks" instead "weak" compiler bindings

old

void audio_info(const char *info){
    Serial.print("info        "); Serial.println(info);
}
void audio_id3data(const char *info){  //id3 metadata
    Serial.print("id3data     ");Serial.println(info);
}
...
...

new

void my_audio_info(Audio::msg_t m) {
    Serial.printf("%s: %s\n", m.s, m.msg);
}

void setup() {
    Audio::audio_info_callback = my_audio_info;
    ...
    ...
}

V3.4.1

05 Aug 05:39
1a48874

Choose a tag to compare

http range request ist enabled
This allows the jump within a file if the server accepts ranges

3.4.0

20 Jul 07:17
160b164

Choose a tag to compare

OPUS-HYBRID-MODE activated
C unique pointer introduced
better sync. lyrics

3.3.2

19 Jun 21:29
0443b0d

Choose a tag to compare

OPUS Hybrid Mode is activated, stations such as
https://st01.sslstream.dlf.de/dlf/01/low/opus/stream.opus?aggregator=web
work now,

The mode is displayed as info: (CELT_ONLY, SILK_ONLY, HYBRID)

image

Memory leak in VORBIS decoder fixed

Better 48KHz I2S output through cubic interpolation (Catmull-Rom)

ESP32-P4 support

31 May 13:16
d4dc5e4

Choose a tag to compare

Adruino Version > V3.0.0
PSRAM must be activated
The I2S signal is resampled to 48 KHz stereo 16bps

last release without PSRAM

31 May 12:58

Choose a tag to compare

The appropriate ESP32-Arduino version is 3.2.1.

#include "Arduino.h"
#include "src/Audio.h"
#include "WiFi.h"


    #define I2S_DOUT      25
    #define I2S_BCLK      27
    #define I2S_LRC       26

String ssid =     "***";
String password = "***";

Audio audio;

void audio_info(const char* info) {
    Serial.printf("%s\n", info);
}

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid.c_str(), password.c_str());
    while (WiFi.status() != WL_CONNECTED) {delay(500); Serial.print("."); }
    Serial.println("connected");
    audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
    audio.setVolume(21); // default 0...21
    audio.connecttohost("https://liveradio.swr.de/sw282p3/swr1bw/");
}

void loop() {
    audio.loop();
    vTaskDelay(1);
}

V3.2.0

15 May 08:27

Choose a tag to compare

ESP32-P4 ready

3.1.0

07 Jan 16:19
a50897c

Choose a tag to compare

Only supports Arduino versions from V3 and therefore no longer supports an internal DAC