Releases: pschatzmann/arduino-audio-tools
Pipeline, Task, ChannelsSelectOutput
Breaking Changes
- A2DPConfig uses Snakecase variable names!
- Use addAudioInfoChange instead of setAudioInfoChange (however this call might not be necessary any more in most of the cases)
- The a2dp and http examples have been moved to the examples-communications directory
New Classes
- Pipeline
- StreamingDecoderAdapter: Support for StreamingDecoder API for all decoders
- Task class for FreeRTOS tasks
- ChannelsSelectOutput: flexilbe channel output selection
- Bin: Added Binning to BaseConverter
New Functionality
- Support for Allocators (ESP32 support for PSRAM) in all collections
- AudioInfoSupport: audioInfo() provides input information, audioInfoOut() provides output information.
Improvements
- ESP32: I2S optimization for changing the sample rate
- moved int24_t into namespace to avoid any conflicts
- Codecs begin() method returns boolean instead of void so that we can check for success
- Restructured Concurrency Classes
- AudioEncoder and AudioDecoder inherits from AudioInfoSupport
- FileLoopT skips WAV Header automatically
- TransformationReader is used by all classes which do not have a separate read implementation
- MozziStream: support of standard Mozzi library
- PD examples
- Mozzi examples
- Removed the requirements for symlinks to make Windows user happy
Error Corrections
- TimedStream: recalculate ByteLimits when setting values (#1407)
- ESP32 V3.0 support
- URLStream support for 3.0.0
- Compile errors in examples
- Resolved issues ardound the combinaion of resampling and mixing
- FFTDisplay prevent crash when user defines wrong max value
- SDDirect reset size() on begin
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
0.9.1 - Multiuser Webserver / DynamicMemoryStream / Error Corrections
- 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)
0.9.0 - New Functionality and Many Codecs
- Many new Codecs
- Support for VS1053 Codec Module
- Improvement and Cleanup of Desktop Build
- Format Converting Streams
- Support for Faust DSP
- Simple API for FFT / Alternative FFT Implementations
- 3 Band Equilizer
- MultiOutput to multiple Sinks
- Mixing multiple Sources
- Communication via RTSP and ESPNow
- PSRAM support for ESP32
0.8.7: Tensorflow Lite, Resampling and Error Corrections
New Functionality:
- Microspeech with Tensoflow Lite: TfLiteAudioOutput class
- New generators: GeneratorFromArray, SineFromTable
- VolumeStream support for volume on individual channels
- Support for Nano BLE Sense Microphone
- Resample functionality
- Support for AudioKit 2957
Error Corrections:
- i2s-i2s examples
- Cleanup samples
- Fix Broken URL links in examples
- Sine generator prevent overflow
- remove apll from analog
- Rename analog to adc in examples
- A2DP - Disable auto reconnect
- Crash in MetaDataICY