Releases: pschatzmann/arduino-audio-tools
November 2024 - V1.0.1
Error Corrections:
- NumberFormatConverter: fixed wrong clipping
- Compile error AudioSourceSD for UNO R4
Improvements
- Logging is using a global variable (AudioToolsLogger) instead of a singleton
- Converters use standard notification
- AudioBoardStream: remove global variable
- Moved AudioEffectsSuite to optional AudioLibs to optimize memory useage
- Cleanup StreamCopyT
New Functionality
- PDM support for Input
- Support for LyraT Mini Board
- SawToothGenerator
October 2024 - V1.0.0
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
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
What's Changed
Full Changelog: v0.9.7...v0.9.8
Feb 2024 - Many Corrections & New Functionality
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...
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
- TimedStream using timed start and stop position in seconds
- RingBufferFile for a file backed ringbuffer
- BinaryContainer as supported container for codecs: decder , encoder
- MiniAudioStream for output on Desktop
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...
New functionality/classes
- FileLoop
- SIDPlayer
- ProgressStream
- WAV IMA Decoder
- FormatConverterStream
- NumberFormatConverterStream
- WM8960Stream
- AudioESP32ULP
- DecoderBase64/EncoderBase64
- CallbackStream
- LEDOutput & examples
- PinkNoiseGenerator
- Example streams-azure_tts-i2s
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
- IDF support
- Support for RP2040W
- Tests for different Arduino architectures
0.9.4 - Major Class Redesign / Doxygen Modules / Jupyter
-
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
- 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
- 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