Skip to content

Releases: pschatzmann/arduino-audio-tools

October 2024 - V1.0.0

05 Oct 11:00
c3326f7
Compare
Choose a tag to compare

I finally managed to release the 1.0 version of my Arduino AudioTools library.
It contains all the functionality that I have initially planned for and compared to the 0.9.9 release consists of a major restructuring of the source code directory.

I was conducting a poll, to confirm if I should go ahead with this change and a majority of users agreed to have this implemented.

Here is the new directory structure:

All the core functionality that is available with an include "AudioTools.h" can be found in the /src/AudioTools/CoreAudio directory. The other directories contain the optional functionality that can be included if needed.

Breaking Change

Though the name of these directories did not change, the location did: so in order to include e.g. a codec you need to prefix it with AudioTools and do the following now

#include "AudioTools.h" // core audio
#include "AudioTools/AudioCodecs/CodecMP3Helix.h" // from "AudioCodecs/CodecMP3Helix.h"

Please note that this is a breaking change and you need to adapt your sketches!

All examples have been updated.

Work Around

If you don't want to adapt the code in your sketch you can create symbolic links to the old directory locations.
Go to the Arduino libraries folder and in linux or osx you can execute the following commands

cd arduino-audio-tools/src
ln -s AudioTools/AudioCodecs AudioCodecs
ln -s AudioTools/AudioLibs AudioLibs

Something similar should be possible in Windows as well.

September 2024

04 Oct 09:24
Compare
Choose a tag to compare

Error Corrections

  • I2SCodecStream reported wrong audio info
  • AudioDecoder isResultPCM() should return true
  • AudioPlayer call begin on volume_out
  • WAVDecoder: Correct ADPCM
  • Simplify WAV Header Parsing
  • Maximilian correct broken loading from file
  • Correct FFT compile errors
  • ESP32: ADC_ATTEN_DB_11 is deprciated
  • STM32: Ethernet support
  • RP2040 MBED: correct compile errors

New Functionality

  • AudioSourceSD pass SPI as argument in constructor
  • FormatConverterStream provide begin() method
  • AudioBoardStream provide new setActionVolumeIncrement() method
  • Buffered URL: define optional buffer size
  • A2DPStream provide access to buffer information

July 2024

03 Aug 13:48
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.7...v0.9.8

Feb 2024 - Many Corrections & New Functionality

28 Feb 18:25
Compare
Choose a tag to compare

I noticed that I haven't published any release for a long time.
This release contains many error corrections and the following new functionality

New Functionality

  • Codec L8 and L16
  • RIFF file format
  • Adpcm codec
  • Opus Ogg
  • AACDecoderADTS

Pltforms

  • Arduino UNO R4
  • Nano BLE Sense: I2S Support
  • ESP32 Arduino Support for 3.0.0

Integrations

  • Faust Support with Examples
  • Integration with Pure Data
  • New Audio Driver Concept for supporting LyraT, AudioKit and many other codecs

Communication

  • Throttle
  • VBAN Support
  • FTP example

New Classes

  • PIDController
  • Median Filter
  • ChannelSplitOutput

0.9.6 - BinaryContainer, MiniAudioStream, TimedStream, RingBufferFile...

30 Apr 15:32
Compare
Choose a tag to compare

Design Changes

  • renamed classes ending with Stream that do not support input to Output

    • CsvStream to CsvOutput,
    • PWMAudioStream to PWMAudioOutput
    • PitchShiftStream to PitchShiftOutput
    • SPDIFStream to SPDIFOutput
  • renamed classes ending with Print to Output (e.g.

    • VolumePrint to VolumeOutput
    • MetaDataPrint to MetaDataOutput

New Functionality

Extended Functionality

  • ProgressStream
    • provide processedSecs()
    • take audio info from AudioStream if possible
    • added totalBytes() and totalSecs()
  • AudioFFT: reset() method to restart processing

Corrections:

  • AnalogConfig use I2S_AUTO_CLEAR
  • Correct CodecLC3 quality problem
  • Add missing virtual overrides to reverbs
  • cleanup A2DPStream
  • Correct broken CodecAPTX

New Examples

  • esp-now example using a codec

0.9.5 - FileLoop, SIDPlayer, ProgressStream, FormatConverterStream...

19 Apr 22:51
Compare
Choose a tag to compare

New functionality/classes

Changes / Improvements

  • Renamed AudioBaseInfo to AudioInfo
  • RingBuffer using Vector instead of array
  • URL & ICY Streams w/o new and delete
  • RTSPStream: added some more formats
  • Use more reliable way to identify esp32 S2,S3,C3

Corrections

  • Compile error SAMD boards
  • InputMixer stop reading muted channels
  • A2DPStream (use of new concurrency implementation)
  • correct Helix pcm misspelling
  • Compile error when USE_AUDIO_LOGGING false
  • Fix return value AnalogDriverArduino::read
  • Div FFT implementations: support begin() after end()

New Environments

0.9.4 - Major Class Redesign / Doxygen Modules / Jupyter

13 Feb 16:06
Compare
Choose a tag to compare
  • Class redesign to provide clean platform specific implementation classes

  • Provide comprehensive modules in doxygen

  • Support for frameworks w/o Arduino / Support for Jupyter

  • Many Error Correction

  • Automatic generation of Doxygen on commit

  • New functionality

    • Proper 24 bit support using int24_t
    • Pitch Shifting: provide multiple implementations
    • Concurrency Implementation with Tests
    • NumberFormatConverterStream
    • EncodedAudioStream supports now readBytes()
    • fft window functions
    • InputMixer, OutputMixer
    • StdioStream (e.g. for binary output on desktop)
    • FadeStream to avoid pops / Integration in AudioPlayer
    • DRAFT LEDOutput class
  • Changes

    • Convert Notes from int to float
    • Support Dynamic Resampling

0.9.3 - LittleFS, Multiple Compilation Units and more FFT

21 Nov 09:00
Compare
Choose a tag to compare
  • Support for LIttleFS for AudioPlayer
  • Support for cmsis fft
  • Support for FFT using the Espressif DSP library
  • added FFT tests
  • A2DPStream remove instance() method
  • SineFromTable performance optimisations
  • added FastSineGenerator class (thanks to vivichrist)
  • STM32 PWM output
  • Examples for using SD library
  • Guitar Effects example using Web GUI
  • Support for multiple compilation units (with USE_INLINE_VARS in AudiConfig.h)
  • Example for using FFT from A2DP
  • Some other smaller error corrections

0.9.2 - Error Corrections & STM32 Support

25 Sep 13:50
Compare
Choose a tag to compare
  • Error Correction for compile error for AudioPlayer introduced by last Multiuser Server support
  • Error Correction for AudioCopy not providing any data introduced by last Multiuser Server support
  • Error Correction for Audio Player which is stopping too early
  • SD and SDMMC support for ESP32 > 2.0
  • I2S Support for the STM32F411
  • DRAFT Support for the PWMStream for STM processors
  • DRAFT Support for the AnalogAudioStream input for STM processors

0.9.1 - Multiuser Webserver / DynamicMemoryStream / Error Corrections

12 Sep 08:27
Compare
Choose a tag to compare
  • Multiuser Webserver with examples
  • DynamicMemoryStream with Example (which supports PSRAM)
  • Correction for StreamCopy to support URLStream as source
  • Examples for STK
  • Updated Delay AudioEffect (thanks to https://github.com/andysheen)
  • Extended UDPStream to support StreamCopy as source (thanks to https://github.com/andysheen)