Skip to content

Releases: schreibfaul1/ESP32-audioI2S

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

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

3.0.12

29 Jul 15:46

Choose a tag to compare

separate task for decoding and outputting the data. 'playAudioData()' is started periodically and fetches the data from the InBuffer. This ensures that the I2S-DMA is always sufficiently filled, even if the Arduino 'loop' is stuck.