This commit is contained in:
Phil Schatzmann 2023-05-01 05:24:24 +02:00
parent 0462a6cec3
commit 30e7ed18e6

View File

@ -3,13 +3,14 @@
Some basic __header-only C++ classes__ that can be used for __Audio Processing__ provided as __Arduino and cmake C++ Library__:
- We provide different "Audio Sources" and "Audio Sinks" (see next section)
- Support for different [Encoders](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_encoder.html) and [Decoders](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_decoder.html) for MP3, AAC, WAV, FLAC, etc
- Different [Sound Generators](https://pschatzmann.github.io/arduino-audio-tools/group__generator.html) (e.g. to generate a sine tone)
- Support for [Sound Effects](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_effect_stream.html) with different [Effect Implementations](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_effect.html) (e.g. Boost, Distortion, Echo, Reverb...)
- Different [Buffer Implementations](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_base_buffer.html)
- Different [Converters](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_base_converter.html) and [Filters](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_filter.html)
- Support for different [Encoders](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_encoder.html) and [Decoders](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_decoder.html) for MP3, AAC, WAV, FLAC, etc for [EncodedAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_encoded_audio_stream.html)
- Different [Sound Generators](https://pschatzmann.github.io/arduino-audio-tools/group__generator.html) (e.g. to generate a sine tone) for [GeneratedSoundStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_generated_sound_stream.html)
- Support for [Sound Effects](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_effect_stream.html) with different [Effect Implementations](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_effect.html) (e.g. Boost, Distortion, Echo, Reverb...) for [AudioEffectStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_effect_stream_t.html)
- Different [Buffer Implementations](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_base_buffer.html) for [QueueStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_queue_stream.html)
- Different [Converters](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_base_converter.html) for [ConverterStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_converter_stream.html)
- Different [Filters](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_filter.html) for [FilteredStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_filtered_stream.html)
- [Musical Notes](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_musical_notes.html) (with frequencies of notes)
- A [Repeating Timer](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_timer_alarm_repeating.html) (e.g. for sampling audio data using exact times)
- A [Repeating Timer](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_timer_alarm_repeating.html) (e.g. for sampling audio data using exact times) for [TimerCallbackAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_timer_callback_audio_stream.html)
- Desktop Integration: Building of Arduino Audio Sketches to be run on [Linux, Windows and OS/X](https://github.com/pschatzmann/arduino-audio-tools/wiki/Running-an-Audio-Sketch-on-the-Desktop)
This functionality provides the glue which makes different audio processing components and libraries work together.
@ -22,10 +23,11 @@ As “Audio Sources” we will have e.g.:
- Files on the Internet [URLStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_u_r_l_stream.html)
- Streaming Internet Radios - [ICYStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_i_c_y_stream.html)
- Generated Sound [GeneratedSoundStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_generated_sound_stream.html)
- Encoded Audio - [EncodedAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_encoded_audio_stream.html)
- Mobile Phone A2DP Bluetooth [A2DPStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_a2_d_p_stream.html)
- Binary Data in Flash Memory [MemoryStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_memory_stream.html)
- Audio generated by STK Framwork - [STKStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_s_t_k_stream.html)
- Desktop Integration - [PortAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_port_audio_stream.html) [MiniAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_mini_audio_stream.html)
- Desktop Integration - [PortAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_port_audio_stream.html) [MiniAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_mini_audio_stream.html) [StdioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_stdio_stream.html)
- A Timer based Source - [TimerCallbackAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_timer_callback_audio_stream.html)
- ESP32 Lyrat/AudioKit - [AudioKitStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_kit_stream.html)
- Input using FIR, IIR Filters - [FilteredStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_filtered_stream.html)
@ -40,11 +42,12 @@ As “Audio Sinks” we will have e.g:
- Analog output e.g. to an Amplifier [AnalogAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_analog_audio_stream.html)
- Output using PWM [PWMAudioOutput](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_p_w_m_audio_output.html)
- Output to SPDIF/TOSLINK - [SPDIFOutput](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_s_p_d_i_f_output.html)
- Encoded Audio - [EncodedAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_encoded_audio_stream.html)
- Bluetooth Speakers [A2DPStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_a2_d_p_stream.html)
- Serial to display the data as CSV [CsvOutput](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_csv_output.html)
- Serial to display the data as hex dump - [HexDumpOutput](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_hex_dump_output.html)
- Encoding and Decoding of Audio [EncodedAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_encoded_audio_stream.html)
- Desktop Integration - [PortAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_port_audio_stream.html) [MiniAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_mini_audio_stream.html)
- Desktop Integration - [PortAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_port_audio_stream.html) [MiniAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_mini_audio_stream.html) [StdioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_stdio_stream.html)
- ID3 Metadata for MP3 - [MetaDataID3](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_meta_data_i_d3.html)
- A Timer based Sink - [TimerCallbackAudioStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_timer_callback_audio_stream.html)
- ESP32 Lyrat/AudioKit - [AudioKitStream](https://pschatzmann.github.io/arduino-audio-tools/classaudio__tools_1_1_audio_kit_stream.html)