mirror of
https://github.com/pschatzmann/arduino-audio-tools.git
synced 2024-09-21 02:17:31 +00:00
audiokit example migration
This commit is contained in:
parent
56bfb3e0ae
commit
07f0755609
@ -1,4 +1,6 @@
|
||||
../examples/examples-basic-api/base-adc-a2dp -> rc=0
|
||||
../examples/examples-basic-api/base-adc-average-mono-serial -> rc=0
|
||||
../examples/examples-basic-api/base-adc-measure -> rc=0
|
||||
../examples/examples-basic-api/base-adc-serial -> rc=0
|
||||
../examples/examples-basic-api/base-file_raw-serial -> rc=0
|
||||
../examples/examples-basic-api/base-generator-a2dp -> rc=0
|
||||
@ -21,7 +23,7 @@
|
||||
../examples/examples-webserver/streams-generator-webserver_aac -> rc=0
|
||||
../examples/examples-webserver/streams-generator-webserverex_wav -> rc=0
|
||||
../examples/examples-webserver/streams-generator-webserverex_wav1 -> rc=0
|
||||
../examples/examples-webserver/streams-generator-webserver_mp3 -> rc=1/0
|
||||
../examples/examples-webserver/streams-generator-webserver_mp3 -> rc=1
|
||||
../examples/examples-webserver/streams-generator-webserver_ogg -> rc=0
|
||||
../examples/examples-webserver/streams-generator-webserver_wav -> rc=0
|
||||
../examples/examples-webserver/streams-i2s-webserver_wav -> rc=0
|
||||
@ -36,6 +38,7 @@
|
||||
../examples/examples-stream/streams-generator-formatconverter-i2s -> rc=0
|
||||
../examples/examples-stream/streams-generator_fromarray-analog -> rc=0
|
||||
../examples/examples-stream/streams-generator-i2s -> rc=0
|
||||
../examples/examples-stream/streams-generator-merge-pwm -> rc=0
|
||||
../examples/examples-stream/streams-generator-pwm -> rc=0
|
||||
../examples/examples-stream/streams-generator-serial -> rc=0
|
||||
../examples/examples-stream/streams-generator-spdif -> rc=0
|
||||
@ -70,19 +73,20 @@
|
||||
../examples/examples-stream/streams-url_mp3_mad-i2s -> rc=0
|
||||
../examples/examples-stream/streams-url_mp3-metadata -> rc=0
|
||||
../examples/examples-stream/streams-url_mp3-metadata2 -> rc=0
|
||||
../examples/examples-stream/streams-url_mts-hex -> rc=0
|
||||
../examples/examples-stream/streams-url_raw-i2s -> rc=0
|
||||
../examples/examples-stream/streams-url_raw-serial -> rc=0
|
||||
../examples/examples-stream/streams-url_vorbis_i2s -> rc=0
|
||||
../examples/examples-stream/streams-url_wav-i2s -> rc=1
|
||||
../examples/examples-stream/streams-url_vorbis_i2s -> rc=1
|
||||
../examples/examples-audiokit/basic-a2dp-audiokit -> rc=0
|
||||
../examples/examples-audiokit/basic-a2dp-eq-audiokit -> rc=0
|
||||
../examples/examples-audiokit/basic-audiokit-a2dp -> rc=0
|
||||
../examples/examples-audiokit/player-sd_a2dp-audiokit -> rc=0
|
||||
../examples/examples-audiokit/player-sd-audiokit -> rc=0
|
||||
../examples/examples-audiokit/player-sdfat-audiokit -> rc=0
|
||||
../examples/examples-audiokit/player-sdfat-audiokit -> rc=1
|
||||
../examples/examples-audiokit/player-sdmmc-audiokit -> rc=0
|
||||
../examples/examples-audiokit/player-url_icy-audiokit -> rc=0
|
||||
../examples/examples-audiokit/README.md -> rc=1
|
||||
../examples/examples-audiokit/stream-hls-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-a2dp-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-audiokit-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-audiokit-effects-audiokit -> rc=0
|
||||
@ -109,6 +113,7 @@
|
||||
../examples/examples-audiokit/streams-memory_pcm-mixer-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-pins-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-sd-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-sdmmc_wav-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-synth-a2dp -> rc=0
|
||||
../examples/examples-audiokit/streams-synth-audiokit -> rc=0
|
||||
../examples/examples-audiokit/streams-synthbasic1-audiokit -> rc=0
|
||||
@ -141,19 +146,24 @@
|
||||
../examples/examples-maximilian/19-Enveloping2 -> rc=0
|
||||
../examples/examples-maximilian/20-FFT -> rc=0
|
||||
../examples/examples-maximilian/README.md -> rc=1
|
||||
../examples/examples-tts/streams-azure_tts-i2s -> rc=1
|
||||
../examples/examples-tts/streams-azure_tts-i2s -> rc=0
|
||||
../examples/examples-tts/streams-espeak-audiokit -> rc=0
|
||||
../examples/examples-tts/streams-espeak-i2s -> rc=0
|
||||
../examples/examples-tts/streams-flite-audiokit -> rc=0
|
||||
../examples/examples-tts/streams-flite-i2s -> rc=0
|
||||
../examples/examples-tts/streams-google-audiokit -> rc=0
|
||||
../examples/examples-tts/streams-sam-audiokit -> rc=0
|
||||
../examples/examples-tts/streams-sam-i2s -> rc=0
|
||||
../examples/examples-tts/streams-simple_tts-a2dp -> rc=0
|
||||
../examples/examples-tts/streams-simple_tts-i2s -> rc=0
|
||||
../examples/examples-tts/streams-tts-i2s -> rc=0
|
||||
../examples/examples-tts/streams-url_wav-i2s -> rc=0
|
||||
../examples/examples-faust/streams-faust_flute-i2s -> rc=0
|
||||
../examples/examples-faust/streams-faust_noise-i2s -> rc=0
|
||||
../examples/examples-faust/streams-generator-faust-i2s -> rc=0
|
||||
../examples/examples-faust/streams-i2s-faust_copy-i2s -> rc=1
|
||||
../examples/examples-faust/streams-i2s-faust_guitarix-i2s -> rc=0
|
||||
../examples/examples-faust/streams-i2s-faust_pitchshift-i2s -> rc=0
|
||||
../examples/examples-communication/esp-now/codec/communication-codec-espnow-receive -> rc=0
|
||||
../examples/examples-communication/esp-now/codec/communication-codec-espnow-receive_measure -> rc=0
|
||||
../examples/examples-communication/esp-now/codec/communication-codec-espnow-send -> rc=0
|
||||
@ -169,9 +179,10 @@
|
||||
../examples/examples-communication/rtsp/communication-audiokit-rtsp -> rc=0
|
||||
../examples/examples-communication/rtsp/communication-codec-rtsp -> rc=0
|
||||
../examples/examples-communication/rtsp/communication-generator-rtsp -> rc=0
|
||||
../examples/examples-communication/rtsp/communication-rtsp-audiokit -> rc=1
|
||||
../examples/examples-communication/rtsp/communication-rtsp-i2s -> rc=0
|
||||
../examples/tests/test-ads1015 -> rc=0
|
||||
../examples/tests/test-bitvector -> rc=0
|
||||
../examples/tests/test-filter -> rc=0
|
||||
../examples/tests/test-list -> rc=0
|
||||
../examples/tests/test-memory-helix -> rc=0
|
||||
../examples/tests/test-mulit-compilation-units -> rc=0
|
||||
@ -179,6 +190,7 @@
|
||||
../examples/tests/test-player -> rc=0
|
||||
../examples/tests/test-resample-in -> rc=0
|
||||
../examples/tests/test-resample-out -> rc=0
|
||||
../examples/tests/test-vector -> rc=0
|
||||
../examples/tests/24bits/24bits-write -> rc=0
|
||||
../examples/tests/codecs/test-codec-adpcm -> rc=0
|
||||
../examples/tests/codecs/test-codec-adpcm-xq -> rc=0
|
||||
@ -227,6 +239,7 @@
|
||||
../examples/tests/performance/mp3-SynchronizedNBuffer -> rc=0
|
||||
../examples/tests/performance/mp3-SynchronizedRingBuffer -> rc=0
|
||||
../examples/tests/performance/sine -> rc=0
|
||||
../examples/tests/performance/throttle -> rc=0
|
||||
../examples/tests/performance/wifi -> rc=0
|
||||
../examples/tests/pitch-shift/pitch-shift -> rc=0
|
||||
../examples/tests/pitch-shift/pitch-shift-180 -> rc=0
|
||||
|
@ -4,7 +4,7 @@ I found some cheap [AI Thinker ESP32 Audio Kit V2.2](https://docs.ai-thinker.com
|
||||
|
||||
<img src="https://pschatzmann.github.io/Resources/img/audio-toolkit.png" alt="Audio Kit" />
|
||||
|
||||
I am using the data callback of the A2DP library to feed the AudioKitStream
|
||||
I am using the data callback of the A2DP library to feed the AudioBoardStream
|
||||
|
||||
You dont need to bother about any wires because everything is on one nice board. Just just need to install the dependencies:
|
||||
|
||||
@ -14,4 +14,4 @@ You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/ESP32-A2DP
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -7,14 +7,12 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
//#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioA2DP.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioA2DP.h" // install https://github.com/pschatzmann/ESP32-A2DP
|
||||
#include "AudioLibs/AudioBoardStream.h" // install https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
||||
|
||||
BluetoothA2DPSink a2dp_sink;
|
||||
//AudioKitStream kit;
|
||||
I2SCodecStream kit(AudioKitEs8388V1);
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
|
||||
// Write data to AudioKit in callback
|
||||
void read_data_stream(const uint8_t *data, uint32_t length) {
|
||||
|
@ -4,7 +4,7 @@ I found some cheap [AI Thinker ESP32 Audio Kit V2.2](https://docs.ai-thinker.com
|
||||
|
||||
<img src="https://pschatzmann.github.io/Resources/img/audio-toolkit.png" alt="Audio Kit" />
|
||||
|
||||
I am using the data callback of the A2DP library to feed the AudioKitStream that will be controlled by an Equilizer
|
||||
I am using the data callback of the A2DP library to feed the AudioBoardStream that will be controlled by an Equilizer
|
||||
|
||||
You dont need to bother about any wires because everything is on one nice board. Just just need to install the dependencies:
|
||||
|
||||
@ -14,4 +14,4 @@ You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/ESP32-A2DP
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -7,12 +7,12 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioA2DP.h"
|
||||
#include "AudioLibs/AudioA2DP.h" // install https://github.com/pschatzmann/ESP32-A2DP
|
||||
#include "AudioLibs/AudioBoardStream.h" // install https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
||||
|
||||
BluetoothA2DPSink a2dp_sink;
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
Equilizer3Bands eq(kit);
|
||||
ConfigEquilizer3Bands cfg_eq;
|
||||
|
||||
@ -31,6 +31,9 @@ void setup() {
|
||||
cfg.sd_active = false;
|
||||
kit.begin(cfg);
|
||||
|
||||
// max volume
|
||||
kit.setVolume(1.0);
|
||||
|
||||
// setup equilizer
|
||||
cfg_eq = eq.defaultConfig();
|
||||
cfg_eq.setAudioInfo(cfg); // use channels, bits_per_sample and sample_rate from kit
|
||||
|
@ -6,12 +6,12 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioA2DP.h"
|
||||
|
||||
AudioInfo info(44100, 2, 16);
|
||||
BluetoothA2DPSource a2dp_source;
|
||||
AudioKitStream i2s;
|
||||
AudioBoardStream i2s(AudioKitEs8388V1);
|
||||
const int16_t BYTES_PER_FRAME = 4;
|
||||
|
||||
// callback used by A2DP to provide the sound data - usually len is 128 2 channel int16 frames
|
||||
@ -29,7 +29,7 @@ void setup(void) {
|
||||
auto cfg = i2s.defaultConfig(RX_MODE);
|
||||
cfg.i2s_format = I2S_STD_FORMAT; // or try with I2S_LSB_FORMAT
|
||||
cfg.copyFrom(info);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2; // microphone
|
||||
cfg.input_device = ADC_INPUT_LINE2; // microphone
|
||||
i2s.begin(cfg);
|
||||
|
||||
// start the bluetooth
|
||||
|
@ -18,4 +18,4 @@ You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-libhelix
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -8,14 +8,14 @@
|
||||
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioSourceSD.h" // or AudioSourceIdxSD.h
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
|
||||
const char *startFilePath="/";
|
||||
const char* ext="mp3";
|
||||
AudioSourceSD source(startFilePath, ext, PIN_AUDIO_KIT_SD_CARD_CS);
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
MP3DecoderHelix decoder; // or change to MP3DecoderMAD
|
||||
AudioPlayer player(source, kit, decoder);
|
||||
|
||||
@ -43,9 +43,9 @@ void setup() {
|
||||
kit.begin(cfg);
|
||||
|
||||
// setup additional buttons
|
||||
kit.addAction(PIN_KEY1, startStop);
|
||||
kit.addAction(PIN_KEY4, next);
|
||||
kit.addAction(PIN_KEY3, previous);
|
||||
kit.addAction(kit.getKey(1), startStop);
|
||||
kit.addAction(kit.getKey(4), next);
|
||||
kit.addAction(kit.getKey(3), previous);
|
||||
|
||||
|
||||
// setup player
|
||||
|
@ -13,14 +13,14 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioA2DP.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioSourceSDFAT.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
|
||||
const char *startFilePath="/";
|
||||
const char* ext="mp3";
|
||||
AudioKitStream kit;
|
||||
SdSpiConfig sdcfg(PIN_AUDIO_KIT_SD_CARD_CS, DEDICATED_SPI, SD_SCK_MHZ(10) , &AUDIOKIT_SD_SPI);
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
SdSpiConfig sdcfg(PIN_AUDIO_KIT_SD_CARD_CS, DEDICATED_SPI, SD_SCK_MHZ(10) , &SPI);
|
||||
AudioSourceSDFAT source(startFilePath, ext, sdcfg);
|
||||
MP3DecoderHelix decoder;
|
||||
AudioPlayer player(source, kit, decoder);
|
||||
@ -68,7 +68,7 @@ void setup() {
|
||||
kit.begin(cfg);
|
||||
|
||||
// setup additional buttons
|
||||
kit.addAction(PIN_KEY4, mode);
|
||||
kit.addAction(kit.getKey(4), mode);
|
||||
|
||||
// setup player
|
||||
player.setVolume(0.7);
|
||||
|
@ -18,5 +18,5 @@ You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-libhelix
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
- https://github.com/greiman/SdFat
|
||||
|
@ -8,15 +8,15 @@
|
||||
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioSourceSDFAT.h" // or AudioSourceIdxSDFAT.h
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
|
||||
const char *startFilePath="/";
|
||||
const char* ext="mp3";
|
||||
SdSpiConfig sdcfg(PIN_AUDIO_KIT_SD_CARD_CS, DEDICATED_SPI, SD_SCK_MHZ(10) , &AUDIOKIT_SD_SPI);
|
||||
SdSpiConfig sdcfg(PIN_AUDIO_KIT_SD_CARD_CS, DEDICATED_SPI, SD_SCK_MHZ(10) , &SPI);
|
||||
AudioSourceSDFAT source(startFilePath, ext, sdcfg);
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
MP3DecoderHelix decoder; // or change to MP3DecoderMAD
|
||||
AudioPlayer player(source, kit, decoder);
|
||||
|
||||
@ -41,9 +41,9 @@ void setup() {
|
||||
kit.begin(cfg);
|
||||
|
||||
// setup additional buttons
|
||||
kit.addAction(PIN_KEY1, startStop);
|
||||
kit.addAction(PIN_KEY4, next);
|
||||
kit.addAction(PIN_KEY3, previous);
|
||||
kit.addAction(kit.getKey(1), startStop);
|
||||
kit.addAction(kit.getKey(4), next);
|
||||
kit.addAction(kit.getKey(3), previous);
|
||||
|
||||
|
||||
// setup player
|
||||
|
@ -19,4 +19,4 @@ You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-libhelix
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -7,14 +7,14 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioSourceSDMMC.h" // or AudioSourceIdxSDMMC.h
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
|
||||
const char *startFilePath="/";
|
||||
const char* ext="mp3";
|
||||
AudioSourceSDMMC source(startFilePath, ext);
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
MP3DecoderHelix decoder; // or change to MP3DecoderMAD
|
||||
AudioPlayer player(source, kit, decoder);
|
||||
|
||||
|
@ -18,4 +18,4 @@ I also demonstrate how to assign your own actions to the buttons of the audio ki
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-libhelix
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
const char *urls[] = {
|
||||
"http://stream.srg-ssr.ch/m/rsj/mp3_128",
|
||||
@ -22,7 +22,7 @@ const char *password = "password";
|
||||
|
||||
ICYStream urlStream(wifi, password);
|
||||
AudioSourceURL source(urlStream, urls, "audio/mp3");
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
MP3DecoderHelix decoder;
|
||||
AudioPlayer player(source, kit, decoder);
|
||||
|
||||
@ -53,8 +53,8 @@ void setup() {
|
||||
kit.begin(cfg);
|
||||
|
||||
// setup navigation
|
||||
kit.addAction(PIN_KEY4, next);
|
||||
kit.addAction(PIN_KEY3, previous);
|
||||
kit.addAction(kit.getKey(4), next);
|
||||
kit.addAction(kit.getKey(3), previous);
|
||||
|
||||
// setup player
|
||||
player.setVolume(0.7);
|
||||
|
@ -14,10 +14,10 @@
|
||||
#include "AudioCodecs/CodecMTS.h"
|
||||
#include "AudioCodecs/CodecADTS.h"
|
||||
#include "AudioCodecs/CodecAACHelix.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
AudioKitStream out; // final output of decoded stream
|
||||
AudioBoardStream out(AudioKitEs8388V1);// final output of decoded stream
|
||||
HLSStream hls_stream("SSID", "password");
|
||||
MTSDecoder mts;
|
||||
ADTSDecoder adts;
|
||||
|
@ -10,11 +10,11 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioA2DP.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
A2DPStream in;
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
StreamCopy copier(kit, in); // copy in to out
|
||||
|
||||
// Arduino Setup
|
||||
|
@ -12,4 +12,4 @@ We implement a AudioKit source and sink: We stream the sound input which we read
|
||||
You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -9,9 +9,9 @@
|
||||
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioKitStream kit; // Access I2S as stream
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Access I2S as stream
|
||||
StreamCopy copier(kit, kit); // copy kit to kit
|
||||
|
||||
// Arduino Setup
|
||||
@ -21,7 +21,7 @@ void setup(void) {
|
||||
|
||||
auto cfg = kit.defaultConfig(RXTX_MODE);
|
||||
cfg.sd_active = false;
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
kit.begin(cfg);
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <ArduinoJson.h> // https://arduinojson.org/
|
||||
#include "HttpServer.h" // https://github.com/pschatzmann/TinyHttp
|
||||
#include "AudioTools.h" // https://github.com/pschatzmann/arduino-audio-tools.git
|
||||
#include "AudioLibs/AudioKit.h" // https://github.com/pschatzmann/arduino-audiokit.git
|
||||
#include "AudioLibs/AudioBoardStream.h" // https://github.com/pschatzmann/arduino-audio-driver.git
|
||||
|
||||
// Server
|
||||
WiFiServer wifi;
|
||||
@ -39,7 +39,7 @@ Fuzz fuzz(fuzzEffectValue);
|
||||
Tremolo tremolo(tremoloDuration, tremoloDepth, sample_rate);
|
||||
|
||||
// Audio
|
||||
AudioKitStream kit; // Access I2S as stream
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Access I2S as stream
|
||||
AudioEffectStream effects(kit); // input from kit
|
||||
StreamCopy copier(kit, effects); // copy effects to kit
|
||||
|
||||
@ -131,7 +131,7 @@ void setup(void) {
|
||||
// Setup Kit
|
||||
auto cfg = kit.defaultConfig(RXTX_MODE);
|
||||
cfg.sd_active = false;
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
cfg.sample_rate = sample_rate;
|
||||
cfg.channels = channels;
|
||||
// minimize lag
|
||||
|
@ -10,7 +10,7 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioRealFFT.h" // or AudioKissFFT
|
||||
#include "AudioLibs/LEDOutput.h"
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
#define LED_X 32
|
||||
#define LED_Y 8
|
||||
|
||||
AudioKitStream kit; // Audio source
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Audio source
|
||||
AudioRealFFT fft; // or AudioKissFFT
|
||||
FFTDisplay fft_dis(fft);
|
||||
LEDOutput led(fft_dis); // output to LED matrix
|
||||
@ -30,7 +30,7 @@ void setup() {
|
||||
|
||||
// setup Audiokit as input device
|
||||
auto cfg = kit.defaultConfig(RX_MODE);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
kit.begin(cfg);
|
||||
|
||||
// Setup FFT output
|
||||
|
@ -18,4 +18,4 @@ The log level has been set to Info to help you to identify any problems. Please
|
||||
You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -1,9 +1,9 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioRealFFT.h" // or AudioKissFFT
|
||||
|
||||
AudioKitStream kit; // Audio source
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Audio source
|
||||
AudioRealFFT fft; // or AudioKissFFT
|
||||
StreamCopy copier(fft, kit); // copy mic to tfl
|
||||
int channels = 2;
|
||||
@ -32,7 +32,7 @@ void setup() {
|
||||
|
||||
// setup Audiokit
|
||||
auto cfg = kit.defaultConfig(RX_MODE);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
cfg.channels = channels;
|
||||
cfg.sample_rate = samples_per_second;
|
||||
cfg.bits_per_sample = bits_per_sample;
|
||||
|
@ -6,10 +6,10 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(44100, 2, 16);
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
|
||||
// copy filtered values
|
||||
FilteredStream<int16_t, float> filtered(kit, info.channels); // Defiles the filter as BaseConverter
|
||||
@ -34,7 +34,7 @@ void setup(void) {
|
||||
auto config = kit.defaultConfig(RXTX_MODE);
|
||||
config.copyFrom(info);
|
||||
config.sd_active = false;
|
||||
config.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
config.input_device = ADC_INPUT_LINE2;
|
||||
kit.begin(config);
|
||||
|
||||
Serial.println("KIT started...");
|
||||
|
@ -10,11 +10,11 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
const int buffer_count = 10;
|
||||
const int buffer_size = 1024;
|
||||
AudioKitStream kit; // input & output
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // input & output
|
||||
QueueStream<uint8_t> queue(buffer_size, buffer_count, true);
|
||||
AudioEncoderServer server(new WAVEncoder(),"WIFI","password");
|
||||
MultiOutput out(queue, kit);
|
||||
@ -28,7 +28,7 @@ void setup(void) {
|
||||
// setup audiokit
|
||||
auto cfg = kit.defaultConfig(RXTX_MODE);
|
||||
cfg.sd_active = false;
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2; // input from microphone
|
||||
cfg.input_device = ADC_INPUT_LINE2; // input from microphone
|
||||
cfg.sample_rate = 16000;
|
||||
kit.setVolume(0.5);
|
||||
kit.begin(cfg);
|
||||
|
@ -10,10 +10,10 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(8000, 2, 16);
|
||||
AudioKitStream kit; // Access I2S as stream
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Access I2S as stream
|
||||
CsvOutput<int16_t> csv(Serial);
|
||||
MultiOutput out;
|
||||
StreamCopy copier(out, kit); // copy kit to kit
|
||||
@ -29,7 +29,7 @@ void setup(void) {
|
||||
auto cfg = kit.defaultConfig(RXTX_MODE);
|
||||
cfg.copyFrom(info);
|
||||
cfg.sd_active = false;
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2; // input from microphone
|
||||
cfg.input_device = ADC_INPUT_LINE2; // input from microphone
|
||||
kit.setVolume(0.5);
|
||||
kit.begin(cfg);
|
||||
|
||||
|
@ -10,11 +10,11 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/MemoryManager.h"
|
||||
|
||||
AudioInfo info(16000, 1, 16);
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
MemoryManager memory(500); // Activate SPI RAM for objects > 500 bytes
|
||||
DynamicMemoryStream recording(true); // Audio stored on heap
|
||||
StreamCopy copier; // copies data
|
||||
@ -46,12 +46,12 @@ void setup(){
|
||||
auto cfg = kit.defaultConfig(RXTX_MODE);
|
||||
cfg.sd_active = true;
|
||||
cfg.copyFrom(info);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
kit.begin(cfg);
|
||||
kit.setVolume(1.0);
|
||||
|
||||
// record when key 1 is pressed
|
||||
kit.audioActions().add(PIN_KEY1, record_start, record_end);
|
||||
kit.audioActions().add(kit.getKey(1), record_start, record_end);
|
||||
Serial.println("Press Key 1 to record");
|
||||
|
||||
}
|
||||
|
@ -11,12 +11,12 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/MemoryManager.h"
|
||||
|
||||
AudioInfo info(16000, 1, 16);
|
||||
MemoryManager memory(500); // Activate SPI RAM for objects > 500 bytes
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
//use one of VariableSpeedRingBufferSimple, VariableSpeedRingBuffer, VariableSpeedRingBuffer180
|
||||
PitchShiftOutput<int16_t, VariableSpeedRingBuffer<int16_t>> pitch_shift(kit);
|
||||
DynamicMemoryStream recording(false); // Audio stored on heap, non repeating
|
||||
@ -50,7 +50,7 @@ void setup(){
|
||||
auto cfg = kit.defaultConfig(RXTX_MODE);
|
||||
cfg.sd_active = true;
|
||||
cfg.copyFrom(info);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
kit.begin(cfg);
|
||||
kit.setVolume(1.0);
|
||||
|
||||
@ -62,7 +62,7 @@ void setup(){
|
||||
pitch_shift.begin(cfg_pc);
|
||||
|
||||
// record when key 1 is pressed
|
||||
kit.audioActions().add(PIN_KEY1, record_start, record_end);
|
||||
kit.audioActions().add(kit.getKey(1), record_start, record_end);
|
||||
Serial.println("Press Key 1 to record");
|
||||
}
|
||||
|
||||
|
@ -10,13 +10,13 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include <SPI.h>
|
||||
#include <SD.h>
|
||||
|
||||
const char *file_name = "/rec.raw";
|
||||
AudioInfo info(16000, 1, 16);
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
File file; // final output stream
|
||||
StreamCopy copier; // copies data
|
||||
bool recording = false; // flag to make sure that close is only executed one
|
||||
@ -50,7 +50,7 @@ void setup(){
|
||||
auto cfg = kit.defaultConfig(RXTX_MODE);
|
||||
cfg.sd_active = true;
|
||||
cfg.copyFrom(info);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
kit.begin(cfg);
|
||||
kit.setVolume(1.0);
|
||||
|
||||
@ -63,7 +63,7 @@ void setup(){
|
||||
|
||||
|
||||
// record when key 1 is pressed
|
||||
kit.audioActions().add(PIN_KEY1, record_start, record_end);
|
||||
kit.audioActions().add(kit.getKey(1), record_start, record_end);
|
||||
Serial.println("Press Key 1 to record");
|
||||
|
||||
}
|
||||
|
@ -13,11 +13,11 @@
|
||||
#include <SPI.h>
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
const char* file_name = "/rec.wav";
|
||||
AudioInfo info(16000, 1, 16);
|
||||
AudioKitStream in;
|
||||
AudioBoardStream in(AudioKitEs8388V1);
|
||||
File file; // final output stream
|
||||
EncodedAudioStream out(&file, new WAVEncoder());
|
||||
StreamCopy copier(out, in); // copies data
|
||||
@ -32,7 +32,7 @@ void setup() {
|
||||
auto cfg = in.defaultConfig(RX_MODE);
|
||||
cfg.sd_active = true;
|
||||
cfg.copyFrom(info);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2; // microphone
|
||||
cfg.input_device = ADC_INPUT_LINE2; // microphone
|
||||
in.begin(cfg);
|
||||
|
||||
// Open SD drive
|
||||
|
@ -12,4 +12,4 @@ We implement a AudioKit source: We stream the sound input which we read in from
|
||||
You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
@ -9,10 +9,10 @@
|
||||
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(44100, 2, 16);
|
||||
AudioKitStream kit; // Access I2S as stream
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Access I2S as stream
|
||||
CsvOutput<int16_t> csvStream(Serial);
|
||||
StreamCopy copier(csvStream, kit); // copy kit to csvStream
|
||||
|
||||
@ -23,7 +23,7 @@ void setup(void) {
|
||||
|
||||
auto cfg = kit.defaultConfig(RX_MODE);
|
||||
cfg.copyFrom(info);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
kit.begin(cfg);
|
||||
|
||||
// make sure that we have the correct channels set up
|
||||
|
@ -22,5 +22,5 @@ The log level has been set to Info to help you to identify any problems. Please
|
||||
You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
- https://github.com/pschatzmann/tflite-micro-arduino-examples
|
@ -1,10 +1,10 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/TfLiteAudioStream.h"
|
||||
#include "model.h" // tensorflow model
|
||||
|
||||
AudioKitStream kit; // Audio source
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Audio source
|
||||
TfLiteAudioStream tfl; // Audio sink
|
||||
const char* kCategoryLabels[4] = {
|
||||
"silence",
|
||||
@ -32,7 +32,7 @@ void setup() {
|
||||
|
||||
// setup Audiokit
|
||||
auto cfg = kit.defaultConfig(RX_MODE);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
cfg.channels = channels;
|
||||
cfg.sample_rate = samples_per_second;
|
||||
cfg.use_apll = false;
|
||||
|
@ -8,10 +8,10 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioCodecs/CodecAACFDK.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
AACEncoderFDK *fdk=nullptr;
|
||||
AudioEncoderServer *server=nullptr;
|
||||
|
||||
@ -33,12 +33,11 @@ void setup(){
|
||||
// start i2s input with default configuration
|
||||
Serial.println("starting AudioKit...");
|
||||
auto config = kit.defaultConfig(RX_MODE);
|
||||
config.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
config.input_device = ADC_INPUT_LINE2;
|
||||
config.sample_rate = 44100;
|
||||
config.default_actions_active = false;
|
||||
config.channels = 2;
|
||||
config.sd_active = false;
|
||||
kit.begin(config);
|
||||
kit.begin(config, false);
|
||||
Serial.println("AudioKit started");
|
||||
|
||||
// start data sink
|
||||
|
@ -8,10 +8,10 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioEncoderServer server(new WAVEncoder(),"ssid","password");
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
|
||||
// Arduino setup
|
||||
void setup(){
|
||||
@ -21,7 +21,7 @@ void setup(){
|
||||
// start i2s input with default configuration
|
||||
Serial.println("starting AudioKit...");
|
||||
auto config = kit.defaultConfig(RX_MODE);
|
||||
config.input_device = AUDIO_HAL_ADC_INPUT_LINE1;
|
||||
config.input_device = ADC_INPUT_LINE1;
|
||||
config.sample_rate = 44100;
|
||||
config.sd_active = false;
|
||||
kit.begin(config);
|
||||
|
@ -11,13 +11,13 @@
|
||||
#include <SPI.h>
|
||||
#include <SD.h>
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/FileLoop.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
|
||||
|
||||
const int chipSelect=PIN_AUDIO_KIT_SD_CARD_CS;
|
||||
AudioKitStream i2s; // final output of decoded stream
|
||||
AudioBoardStream i2s(AudioKitEs8388V1); // final output of decoded stream
|
||||
EncodedAudioStream decoder(&i2s, new MP3DecoderHelix()); // Decoding stream
|
||||
FileLoop loopingFile;
|
||||
StreamCopy copier(decoder, loopingFile);
|
||||
|
@ -6,12 +6,12 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(32000, 2, 16);
|
||||
SineWaveGenerator<int16_t> sineWave(32000); // subclass of SoundGenerator with max amplitude of 32000
|
||||
GeneratedSoundStream<int16_t> sound(sineWave); // Stream generated from sine wave
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, sound); // copies sound into i2s
|
||||
|
||||
// Arduino Setup
|
||||
|
@ -6,13 +6,13 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(44100, 2, 16);
|
||||
int16_t sine_array[] = {0, 2285, 4560, 6812, 9031, 11206, 13327, 15383, 17363, 19259, 21062, 22761, 24350, 25820, 27165, 28377, 29450, 30381, 31163, 31793, 32269, 32587, 32747, 32747, 32587, 32269, 31793, 31163, 30381, 29450, 28377, 27165, 25820, 24350, 22761, 21062, 19259, 17363, 15383, 13327, 11206, 9031, 6812, 4560, 2285, 0, -2285, -4560, -6812, -9031, -11206, -13327, -15383, -17363, -19259, -21062, -22761, -24350, -25820, -27165, -28377, -29450, -30381, -31163, -31793, -32269, -32587, -32747, -32747, -32587, -32269, -31793, -31163, -30381, -29450, -28377, -27165, -25820, -24350, -22761, -21062, -19259, -17363, -15383, -13327, -11206, -9031, -6812, -4560, -2285 };
|
||||
GeneratorFromArray<int16_t> sineWave(sine_array,0,false);
|
||||
GeneratedSoundStream<int16_t> sound(sineWave); // Stream generated from sine wave
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
|
||||
StreamCopy copier(out, sound); // copies sound into i2s
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(32000, 2, 16);
|
||||
SineWaveGenerator<int16_t> sineWave1(32000); // subclass of SoundGenerator with max amplitude of 32000
|
||||
@ -14,7 +14,7 @@ SineWaveGenerator<int16_t> sineWave2(32000); // subclass of Sound
|
||||
GeneratedSoundStream<int16_t> sound1(sineWave1); // Stream generated from sine wave
|
||||
GeneratedSoundStream<int16_t> sound2(sineWave2); // Stream generated from sine wave
|
||||
InputMixer<int16_t> mixer;
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, mixer); // copies sound into i2s
|
||||
|
||||
// Arduino Setup
|
||||
|
@ -6,15 +6,15 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(32000, 2, 16);
|
||||
SineWaveGenerator<int16_t> sineWave1(32000); // subclass of SoundGenerator with max amplitude of 32000
|
||||
SineWaveGenerator<int16_t> sineWave2(32000); // subclass of SoundGenerator with max amplitude of 32000
|
||||
GeneratedSoundStream<int16_t> sound1(sineWave1); // Stream generated from sine wave
|
||||
GeneratedSoundStream<int16_t> sound2(sineWave2); // Stream generated from sine wave
|
||||
AudioKitStream out;
|
||||
OutputMixer<int16_t> mixer(out, 2); // output mixer with 2 outputs mixing to AudioKitStream
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
OutputMixer<int16_t> mixer(out, 2); // output mixer with 2 outputs mixing to AudioBoardStream
|
||||
StreamCopy copier1(mixer, sound1); // copies sound into mixer
|
||||
StreamCopy copier2(mixer, sound2); // copies sound into mixer
|
||||
|
||||
|
@ -6,12 +6,12 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(32000, 2, 16);
|
||||
SineFromTable<int16_t> sineWave(32000); // subclass of SoundGenerator with max amplitude of 32000
|
||||
GeneratedSoundStream<int16_t> sound(sineWave); // Stream generated from sine wave
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
//CsvOutput<int16_t> out(Serial);
|
||||
int sound_len=1024;
|
||||
StreamCopy copier(out, sound, sound_len); // copies sound into i2s
|
||||
|
@ -11,11 +11,11 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "zero.h"
|
||||
|
||||
MemoryStream mp3(zero_mp3, zero_mp3_len);
|
||||
AudioKitStream i2s;
|
||||
AudioBoardStream i2s(AudioKitEs8388V1);
|
||||
MP3DecoderHelix helix;
|
||||
EncodedAudioStream out(&i2s, &helix); // output to decoder
|
||||
StreamCopy copier(out, mp3); // copy in to i2s
|
||||
|
@ -9,12 +9,12 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "drums.h"
|
||||
#include "guitar.h"
|
||||
|
||||
InputMixer<int16_t> mixer;
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
MemoryStream drums(drums_raw, drums_raw_len);
|
||||
MemoryStream guitar(guitar_raw, guitar_raw_len);
|
||||
StreamCopy copier(kit, mixer);
|
||||
|
@ -13,6 +13,6 @@ You just need to define you __handler methods__ (button1, button2...) and assign
|
||||
You need to install the following libraries:
|
||||
|
||||
- [Arduino Audio Tools](https://github.com/pschatzmann/arduino-audio-tools)
|
||||
- [AudioKit](https://github.com/pschatzmann/arduino-audiokit)
|
||||
- [Audio Driver](https://github.com/pschatzmann/arduino-audio-driver)
|
||||
- [FLITE](https://github.com/pschatzmann/arduino-flite)
|
||||
|
||||
|
@ -7,10 +7,10 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "flite_arduino.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
Flite flite(kit);
|
||||
|
||||
void button1(bool, int, void*) { flite.say("Button One"); }
|
||||
@ -32,16 +32,16 @@ void setup() {
|
||||
kit.begin(cfg);
|
||||
|
||||
// Assign pins to methods
|
||||
kit.addAction(PIN_KEY1, button1);
|
||||
kit.addAction(PIN_KEY2, button2);
|
||||
kit.addAction(PIN_KEY3, button3);
|
||||
kit.addAction(PIN_KEY4, button4);
|
||||
kit.addAction(kit.getKey(1), button1);
|
||||
kit.addAction(kit.getKey(2), button2);
|
||||
kit.addAction(kit.getKey(3), button3);
|
||||
kit.addAction(kit.getKey(4), button4);
|
||||
|
||||
// example with actions using lambda expression
|
||||
auto down = [](bool,int,void*) { AudioKitStream::actionVolumeDown(true, -1, nullptr); flite.say("Volume down"); };
|
||||
kit.addAction(PIN_KEY5, down);
|
||||
auto up = [](bool,int,void*) { AudioKitStream::actionVolumeUp(true, -1, nullptr ); flite.say("Volume up"); };
|
||||
kit.addAction(PIN_KEY6, up);
|
||||
auto down = [](bool,int,void*) { AudioBoardStream::actionVolumeDown(true, -1, nullptr); flite.say("Volume down"); };
|
||||
kit.addAction(kit.getKey(5), down);
|
||||
auto up = [](bool,int,void*) { AudioBoardStream::actionVolumeUp(true, -1, nullptr ); flite.say("Volume up"); };
|
||||
kit.addAction(kit.getKey(6), up);
|
||||
|
||||
flite.say("Please push a button");
|
||||
}
|
||||
|
@ -11,12 +11,12 @@
|
||||
#include <SPI.h>
|
||||
#include <SD.h>
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
|
||||
|
||||
const int chipSelect=PIN_AUDIO_KIT_SD_CARD_CS;
|
||||
AudioKitStream i2s; // final output of decoded stream
|
||||
AudioBoardStream i2s(AudioKitEs8388V1); // final output of decoded stream
|
||||
EncodedAudioStream decoder(&i2s, new MP3DecoderHelix()); // Decoding stream
|
||||
StreamCopy copier;
|
||||
File audioFile;
|
||||
|
@ -11,9 +11,9 @@
|
||||
#include "FS.h"
|
||||
#include "SD_MMC.h"
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioKitStream i2s;
|
||||
AudioBoardStream i2s(AudioKitEs8388V1);
|
||||
WAVDecoder wav;
|
||||
EncodedAudioStream encoded(&i2s, &wav); // Decoding stream
|
||||
File audioFile;
|
||||
|
@ -8,15 +8,15 @@
|
||||
#define USE_MIDI
|
||||
#include "BluetoothA2DPSource.h"
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
BluetoothA2DPSource a2dp_source;
|
||||
|
||||
int channels = 2;
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
Synthesizer synthesizer;
|
||||
GeneratedSoundStream<int16_t> in(synthesizer);
|
||||
SynthesizerKey keys[] = {{PIN_KEY1, N_C3},{PIN_KEY2, N_D3},{PIN_KEY3, N_E3},{PIN_KEY4, N_F3},{PIN_KEY5, N_G3},{PIN_KEY6, N_A3},{0,0}};
|
||||
SynthesizerKey keys[] = {{kit.getKey(1), N_C3},{kit.getKey(2), N_D3},{kit.getKey(3), N_E3},{kit.getKey(4), N_F3},{kit.getKey(5), N_G3},{kit.getKey(6), N_A3},{0,0}};
|
||||
|
||||
int32_t get_sound_data(Frame *data, int32_t frameCount) {
|
||||
int frame_size = sizeof(int16_t)*channels;
|
||||
@ -39,8 +39,6 @@ void setup() {
|
||||
auto cfg = in.defaultConfig();
|
||||
cfg.channels = channels;
|
||||
cfg.sample_rate = 44100;
|
||||
cfg.buffer_size = 512;
|
||||
cfg.buffer_count = 10;
|
||||
in.begin(cfg);
|
||||
|
||||
a2dp_source.start("LEXON MINO L", get_sound_data);
|
||||
|
@ -6,13 +6,13 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
Synthesizer synthesizer;
|
||||
GeneratedSoundStream<int16_t> in(synthesizer);
|
||||
StreamCopy copier(kit, in);
|
||||
SynthesizerKey keys[] = {{PIN_KEY1, N_C3},{PIN_KEY2, N_D3},{PIN_KEY3, N_E3},{PIN_KEY4, N_F3},{PIN_KEY5, N_G3},{PIN_KEY6, N_A3},{0,0}};
|
||||
SynthesizerKey keys[] = {{kit.getKey(1), N_C3},{kit.getKey(2), N_D3},{kit.getKey(3), N_E3},{kit.getKey(4), N_F3},{kit.getKey(5), N_G3},{kit.getKey(6), N_A3},{0,0}};
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
@ -6,9 +6,9 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
SineWaveGenerator<int16_t> sine;
|
||||
GeneratedSoundStream<int16_t> in(sine);
|
||||
StreamCopy copier(kit, in);
|
||||
@ -28,12 +28,12 @@ void setupActions(){
|
||||
// assign buttons to notes
|
||||
auto act_low = AudioActions::ActiveLow;
|
||||
static float note[] = {N_C3, N_D3, N_E3, N_F3, N_G3, N_A3}; // frequencies
|
||||
kit.audioActions().add(PIN_KEY1, actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(PIN_KEY2, actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(PIN_KEY3, actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(PIN_KEY4, actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(PIN_KEY5, actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(PIN_KEY6, actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
kit.audioActions().add(kit.getKey(1), actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(kit.getKey(2), actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(kit.getKey(3), actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(kit.getKey(4), actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(kit.getKey(5), actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(kit.getKey(6), actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
@ -7,9 +7,9 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
SineWaveGenerator<int16_t> sine;
|
||||
GeneratedSoundStream<int16_t> sine_stream(sine);
|
||||
AudioEffectStream effects(sine_stream);
|
||||
@ -33,12 +33,12 @@ void setupActions(){
|
||||
// assign buttons to notes
|
||||
auto act_low = AudioActions::ActiveLow;
|
||||
static float note[] = {N_C3, N_D3, N_E3, N_F3, N_G3, N_A3}; // frequencies
|
||||
kit.audioActions().add(PIN_KEY1, actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(PIN_KEY2, actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(PIN_KEY3, actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(PIN_KEY4, actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(PIN_KEY5, actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(PIN_KEY6, actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
kit.audioActions().add(kit.getKey(1), actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(kit.getKey(2), actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(kit.getKey(3), actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(kit.getKey(4), actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(kit.getKey(5), actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(kit.getKey(6), actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
@ -8,14 +8,14 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include <Midi.h>
|
||||
|
||||
SineWaveGenerator<int16_t> sine;
|
||||
GeneratedSoundStream<int16_t> sine_stream(sine);
|
||||
ADSRGain adsr(0.0001,0.0001, 0.9 , 0.0002);
|
||||
AudioEffectStream effects(sine_stream);
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
StreamCopy copier(kit, effects);
|
||||
|
||||
class SynthAction : public MidiAction {
|
||||
@ -52,12 +52,12 @@ void setupActions(){
|
||||
// assign buttons to notes
|
||||
auto act_low = AudioActions::ActiveLow;
|
||||
static float note[] = {N_C3, N_D3, N_E3, N_F3, N_G3, N_A3}; // frequencies
|
||||
kit.audioActions().add(PIN_KEY1, actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(PIN_KEY2, actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(PIN_KEY3, actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(PIN_KEY4, actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(PIN_KEY5, actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(PIN_KEY6, actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
kit.audioActions().add(kit.getKey(1), actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(kit.getKey(2), actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(kit.getKey(3), actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(kit.getKey(4), actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(kit.getKey(5), actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(kit.getKey(6), actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
@ -8,6 +8,6 @@ For [further info see my blog](https://www.pschatzmann.ch/home/2021/12/21/ai-thi
|
||||
### Dependencies
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
- https://github.com/pschatzmann/arduino-midi
|
||||
- https://github.com/pschatzmann/Arduino-STK
|
||||
|
@ -5,10 +5,10 @@
|
||||
* @copyright Copyright (c) 2021
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "StkAll.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
Clarinet clarinet(440);
|
||||
Voicer voicer;
|
||||
ArdStreamOut output(&kit);
|
||||
@ -30,12 +30,12 @@ void setupActions(){
|
||||
// assign buttons to notes
|
||||
auto act_low = AudioActions::ActiveLow;
|
||||
static int note[] = {48,50,52,53,55,57}; // midi keys
|
||||
kit.audioActions().add(PIN_KEY1, actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(PIN_KEY2, actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(PIN_KEY3, actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(PIN_KEY4, actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(PIN_KEY5, actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(PIN_KEY6, actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
kit.audioActions().add(kit.getKey(1), actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(kit.getKey(2), actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(kit.getKey(3), actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(kit.getKey(4), actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(kit.getKey(5), actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(kit.getKey(6), actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
@ -18,5 +18,5 @@ The log level has been set to Info to help you to identify any problems. Please
|
||||
You need to install the following libraries:
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
- https://github.com/pschatzmann/tflite-micro-arduino-examples
|
@ -10,12 +10,12 @@
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/TfLiteAudioStream.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "model.h"
|
||||
|
||||
TfLiteSineReader tf_reader(20000,0.3); // Audio generation logic
|
||||
TfLiteAudioStream tf_stream; // Audio source -> no classification so N is 0
|
||||
AudioKitStream i2s; // Audio destination
|
||||
AudioBoardStream i2s(AudioKitEs8388V1); // Audio destination
|
||||
StreamCopy copier(i2s, tf_stream); // copy tf_stream to i2s
|
||||
int channels = 1;
|
||||
int samples_per_second = 16000;
|
||||
|
@ -12,11 +12,11 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioCodecs/CodecAACHelix.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
URLStream url("ssid","password"); // or replace with ICYStream to get metadata
|
||||
AudioKitStream i2s; // final output of decoded stream
|
||||
AudioBoardStream i2s(AudioKitEs8388V1); // final output of decoded stream
|
||||
EncodedAudioStream dec(&i2s, new AACDecoderHelix()); // Decoding stream
|
||||
StreamCopy copier(dec, url); // copy url to decoder
|
||||
|
||||
|
@ -12,11 +12,11 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
URLStream url("ssid","password"); // or replace with ICYStream to get metadata
|
||||
AudioKitStream i2s; // final output of decoded stream
|
||||
AudioBoardStream i2s(AudioKitEs8388V1); // final output of decoded stream
|
||||
EncodedAudioStream dec(&i2s, new MP3DecoderHelix()); // Decoding stream
|
||||
StreamCopy copier(dec, url); // copy url to decoder
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include "AudioLibs/AudioA2DP.h"
|
||||
#include "AudioLibs/AudioSourceSDFAT.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h" // for SD Pins
|
||||
|
||||
int buffer_count = 30;
|
||||
int buffer_size = 512;
|
||||
|
@ -11,11 +11,11 @@
|
||||
#include "AudioTools.h"
|
||||
#include "Communication/ESPNowStream.h"
|
||||
#include "AudioCodecs/CodecSBC.h"
|
||||
// #include "AudioLibs/AudioKit.h"
|
||||
// #include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
ESPNowStream now;
|
||||
I2SStream out; // or AudioKitStream
|
||||
I2SStream out; // or AudioBoardStream
|
||||
EncodedAudioStream decoder(&out, new SBCDecoder(256)); // decode and write to I2S - ESP Now is limited to 256 bytes
|
||||
StreamCopy copier(decoder, now);
|
||||
const char *peers[] = {"A8:48:FA:0B:93:02"};
|
||||
|
@ -14,13 +14,13 @@
|
||||
#include "ArduinoFTPClient.h" // install https://github.com/pschatzmann/TinyFTPClient
|
||||
#include "AudioTools.h" // https://github.com/pschatzmann/arduino-audio-tools
|
||||
#include "AudioCodecs/CodecMP3Helix.h" // https://github.com/pschatzmann/arduino-libhelix
|
||||
#include "AudioLibs/AudioKit.h" // https://github.com/pschatzmann/arduino-audiokit
|
||||
#include "AudioLibs/AudioBoardStream.h" // https://github.com/pschatzmann/arduino-audio-driver
|
||||
|
||||
WiFiClient cmd;
|
||||
WiFiClient data;
|
||||
FTPClient client(cmd, data);
|
||||
FTPFile file;
|
||||
AudioKitStream kit; // or replace with e.g. I2SStream
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // or replace with e.g. I2SStream
|
||||
MP3DecoderHelix mp3;
|
||||
EncodedAudioStream decoder(&kit, &mp3);
|
||||
StreamCopy copier(decoder, file);
|
||||
|
@ -10,13 +10,13 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/RTSP.h"
|
||||
#include "AudioStreamer.h"
|
||||
#include "RTSPServer.h"
|
||||
|
||||
int port = 554;
|
||||
AudioKitStream kit; // Audio source
|
||||
AudioBoardStream kit(AudioKitEs8388V1); // Audio source
|
||||
RTSPSourceFromAudioStream source(kit); // IAudioSource for RTSP
|
||||
AudioStreamer streamer = AudioStreamer(&source); // Stream audio via RTSP
|
||||
RTSPServer rtsp = RTSPServer(&streamer, port);
|
||||
@ -30,7 +30,7 @@ void setup() {
|
||||
|
||||
// setup Audiokit as source
|
||||
auto cfg = kit.defaultConfig(RX_MODE);
|
||||
cfg.input_device = AUDIO_HAL_ADC_INPUT_LINE2;
|
||||
cfg.input_device = ADC_INPUT_LINE2;
|
||||
cfg.channels = 1;
|
||||
cfg.sample_rate = 8000;
|
||||
cfg.bits_per_sample = 16;
|
||||
|
@ -11,10 +11,10 @@
|
||||
*/
|
||||
#include "AudioTools.h" // https://github.com/pschatzmann/arduino-audio-tools
|
||||
#include "AudioCodecs/CodecMP3Helix.h" // https://github.com/pschatzmann/arduino-libhelix
|
||||
#include "AudioLibs/AudioKit.h" // https://github.com/pschatzmann/arduino-audiokit
|
||||
#include "AudioLibs/AudioBoardStream.h" // https://github.com/pschatzmann/arduino-audio-driver
|
||||
#include "AudioLibs/AudioClientRTSP.h" // install https://github.com/pschatzmann/arduino-live555
|
||||
|
||||
AudioKitStream i2s; // final output of decoded stream
|
||||
AudioBoardStream i2s(AudioKitEs8388V1); // final output of decoded stream
|
||||
EncodedAudioStream out_mp3(&i2s, new MP3DecoderHelix()); // Decoding stream
|
||||
AudioClientRTSP rtsp(1024);
|
||||
|
||||
|
@ -13,10 +13,10 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
// #include "AudioLibs/AudioKit.h"
|
||||
// #include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(44100, 2, 16);
|
||||
I2SStream out; // or AnalogAudioStream, AudioKitStream etc
|
||||
I2SStream out; // or AnalogAudioStream, AudioBoardStream etc
|
||||
SineWaveGenerator<int16_t> sineWave(32000);
|
||||
GeneratedSoundStream<int16_t> sound(sineWave);
|
||||
auto &serial = Serial2;
|
||||
|
@ -15,10 +15,10 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioCodecs/CodecADPCM.h" // https://github.com/pschatzmann/adpcm
|
||||
//#include "AudioLibs/AudioKit.h"
|
||||
//#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(22000, 1, 16);
|
||||
I2SStream out; // or AnalogAudioStream, AudioKitStream etc
|
||||
I2SStream out; // or AnalogAudioStream, AudioBoardStream etc
|
||||
SineWaveGenerator<int16_t> sineWave(32000);
|
||||
GeneratedSoundStream<int16_t> sound(sineWave);
|
||||
|
||||
|
@ -16,10 +16,10 @@
|
||||
#include "AudioTools.h"
|
||||
#include "AudioCodecs/CodecADPCM.h" // https://github.com/pschatzmann/adpcm
|
||||
#include "AudioCodecs/ContainerBinary.h"
|
||||
// #include "AudioLibs/AudioKit.h"
|
||||
// #include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(44100, 2, 16);
|
||||
I2SStream out; // or AnalogAudioStream, AudioKitStream etc
|
||||
I2SStream out; // or AnalogAudioStream, AudioBoardStream etc
|
||||
SineWaveGenerator<int16_t> sineWave(32000);
|
||||
GeneratedSoundStream<int16_t> sound(sineWave);
|
||||
|
||||
|
@ -14,12 +14,12 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
// #include "AudioLibs/AudioKit.h"
|
||||
// #include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(22000, 1, 16);
|
||||
SineWaveGenerator<int16_t> sineWave(32000);
|
||||
GeneratedSoundStream<int16_t> sound(sineWave);
|
||||
I2SStream out; // or AnalogAudioStream, AudioKitStream etc
|
||||
I2SStream out; // or AnalogAudioStream, AudioBoardStream etc
|
||||
auto &serial = Serial2;
|
||||
Throttle throttle(serial);
|
||||
StreamCopy copierOut(throttle, sound, 256); // copies sound into Serial
|
||||
|
@ -12,14 +12,14 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "Communication/UDPStream.h"
|
||||
// #include "AudioLibs/AudioKit.h"
|
||||
// #include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
const char* ssid="SSID";
|
||||
const char* password="password";
|
||||
AudioInfo info(22000, 1, 16);
|
||||
UDPStream udp(ssid, password);
|
||||
const int udpPort = 7000;
|
||||
I2SStream out; // or ony other e.g. AudioKitStream
|
||||
I2SStream out; // or ony other e.g. AudioBoardStream
|
||||
StreamCopy copier(out, udp);
|
||||
|
||||
void setup() {
|
||||
|
@ -6,10 +6,10 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/VBANStream.h"
|
||||
#include "AudioLibs/AudioKit.h" // comment out when not using AudioKit
|
||||
#include "AudioLibs/AudioBoardStream.h" // comment out when not using AudioKit
|
||||
|
||||
AudioInfo info(44100, 2, 16);
|
||||
AudioKitStream in; // Audio source e.g. replace with I2SStream
|
||||
AudioBoardStream in; // Audio source e.g. replace with I2SStream
|
||||
VBANStream out;
|
||||
StreamCopy copier(out, in, 2048); // copies sound into i2s
|
||||
|
||||
@ -37,7 +37,7 @@ void setup(void) {
|
||||
cfg_in.buffer_size = 256;
|
||||
cfg_in.buffer_count = 4;
|
||||
cfg_in.copyFrom(info);
|
||||
cfg_in.input_device = AUDIO_HAL_ADC_INPUT_LINE2; // microphone
|
||||
cfg_in.input_device = ADC_INPUT_LINE2; // microphone
|
||||
in.begin(cfg_in);
|
||||
}
|
||||
|
||||
|
@ -8,13 +8,13 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "SD.h"
|
||||
|
||||
AudioInfo info(32000, 2, 16);
|
||||
SineWaveGenerator<int16_t> sineWave(32000); // subclass of SoundGenerator with max amplitude of 32000
|
||||
GeneratedSoundStream<int16_t> sound(sineWave); // Stream generated from sine wave
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, sound); // copies sound into i2s
|
||||
|
||||
// Arduino Setup
|
||||
@ -30,7 +30,6 @@ void setup(void) {
|
||||
auto config = out.defaultConfig(TX_MODE);
|
||||
config.copyFrom(info);
|
||||
config.sd_active = false;
|
||||
config.default_actions_active = false;
|
||||
// i2c
|
||||
config.pins.i2c_sda = 36;
|
||||
config.pins.i2c_scl = 35;
|
||||
@ -46,7 +45,7 @@ void setup(void) {
|
||||
config.pins.sd_miso = 42;
|
||||
config.pins.sd_mosi = 43;
|
||||
config.pins.sd_clk = 44;
|
||||
out.begin(config);
|
||||
out.begin(config, false);
|
||||
|
||||
// check SD drive
|
||||
if(!SD.begin(config.pins.sd_cs)){
|
||||
|
@ -13,12 +13,12 @@
|
||||
#define USE_MEMORY_MANAGER
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioFaust.h"
|
||||
#include "fluteMIDI.h"
|
||||
|
||||
FaustStream<mydsp> faust;
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, faust); // copy mic to tfl
|
||||
|
||||
// Arduino Setup
|
||||
|
@ -10,12 +10,12 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioFaust.h"
|
||||
#include "Noise.h"
|
||||
|
||||
FaustStream<mydsp> faust;
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, faust); // copy mic to tfl
|
||||
|
||||
// Arduino Setup
|
||||
|
@ -10,14 +10,14 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioFaust.h"
|
||||
#include "volume.h"
|
||||
|
||||
SineWaveGenerator<int16_t> sineWave(32000); // subclass of SoundGenerator with max amplitude of 32000
|
||||
GeneratedSoundStream<int16_t> sound(sineWave); // Stream generated from sine wave
|
||||
mydsp dsp;
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
FaustStream<mydsp> faust(out);
|
||||
StreamCopy copier(faust, sound); // copy mic to tfl
|
||||
|
||||
|
@ -11,11 +11,11 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioFaust.h"
|
||||
#include "Copy.h"
|
||||
|
||||
AudioKitStream io;
|
||||
AudioBoardStream io(AudioKitEs8388V1);
|
||||
FaustStream<mydsp> faust(io); // final output to io
|
||||
StreamCopy copier(faust, io); // copy mic to faust
|
||||
|
||||
|
@ -10,11 +10,11 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioFaust.h"
|
||||
#include "guitarix.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
FaustStream<mydsp> faust(kit); // final output of Faust is kit
|
||||
StreamCopy copier(faust, kit); // copy data from kit to faust
|
||||
|
||||
@ -48,7 +48,7 @@ void setup(void) {
|
||||
cfg_i2s.sample_rate = cfg.sample_rate;
|
||||
cfg_i2s.channels = cfg.channels;
|
||||
cfg_i2s.bits_per_sample = cfg.bits_per_sample;
|
||||
cfg_i2s.input_device = AUDIO_HAL_ADC_INPUT_LINE1;
|
||||
cfg_i2s.input_device = ADC_INPUT_LINE1;
|
||||
kit.begin(cfg_i2s);
|
||||
|
||||
}
|
||||
|
@ -10,11 +10,11 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioFaust.h"
|
||||
#include "pitchShifter.h"
|
||||
|
||||
AudioKitStream io;
|
||||
AudioBoardStream io(AudioKitEs8388V1);
|
||||
FaustStream<mydsp> faust(io); // final output to io
|
||||
StreamCopy copier(faust, io); // copy mic to faust
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/MaximilianDSP.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "maximilian.h"
|
||||
#include <FS.h>
|
||||
#include <SD_MMC.h>
|
||||
|
||||
|
||||
// Define Arduino output
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
Maximilian maximilian(out);
|
||||
|
||||
// MAXIMILIAN
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "AudioLibs/AudioA2DP.h"
|
||||
#include "AudioLibs/AudioSourceSDFAT.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
//#include "AudioLibs/AudioKit.h"
|
||||
|
||||
const char *startFilePath="/";
|
||||
const char* ext="mp3";
|
||||
|
@ -2,17 +2,17 @@
|
||||
* @file streams-stk-audioout.ino
|
||||
* @brief Plays random notes on instrument. For available instruments
|
||||
* see https://pschatzmann.github.io/Arduino-STK/html/classstk_1_1Instrmnt.html
|
||||
* I used an AudioKitStream to test the output, but you can replace it with any other output class (e.g. I2SStream)
|
||||
* I used an AudioBoardStream to test the output, but you can replace it with any other output class (e.g. I2SStream)
|
||||
* @author Phil Schatzmann
|
||||
* @copyright Copyright (c) 2021
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioSTK.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
Sitar instrument(440);
|
||||
STKStream<Instrmnt> in(instrument);
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, in);
|
||||
MusicalNotes notes;
|
||||
|
||||
|
@ -11,8 +11,8 @@
|
||||
#include "AudioLibs/PortAudioStream.h"
|
||||
typedef PortAudioStream MyStdOut;
|
||||
#else
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
typedef AudioKitStream MyStdOut;
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
typedef AudioBoardStream MyStdOut;
|
||||
|
||||
#endif
|
||||
Instrmnt *p_Instrmnt=nullptr; // will be allocated dynamically
|
||||
|
@ -11,11 +11,11 @@
|
||||
#include "SD_MMC.h"
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioSTK.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
STKStream<Instrmnt> in;
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, in);
|
||||
MusicalNotes notes;
|
||||
Instrmnt* p_instrument=nullptr; // instrument depends on file system
|
||||
|
@ -7,13 +7,13 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioSTK.h"
|
||||
|
||||
Clarinet clarinet(440); // the stk clarinet instrument
|
||||
STKGenerator<Instrmnt, int16_t> generator(clarinet); // subclass of SoundGenerator
|
||||
GeneratedSoundStream<int16_t> in(generator); // Stream generated from sine wave
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, in); // copy stkStream to a2dpStream
|
||||
MusicalNotes notes; // notes with frequencies
|
||||
|
||||
|
@ -9,12 +9,12 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "AudioLibs/AudioSTK.h"
|
||||
|
||||
MemoryLoop mloop("crashcym.raw", crashcym_raw, crashcym_raw_len);
|
||||
STKStream<MemoryLoop> in(mloop);
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, in);
|
||||
|
||||
void setup() {
|
||||
|
@ -6,12 +6,12 @@
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioSTK.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "MyFirstInstrument.h"
|
||||
|
||||
MyFirstInstrument instrument;
|
||||
STKStream<Instrmnt> in(instrument);
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, in);
|
||||
MusicalNotes notes;
|
||||
|
||||
|
@ -8,11 +8,11 @@
|
||||
#include "SD_MMC.h"
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioSTK.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
SineWave sine;
|
||||
STKStream<SineWave> in(sine);
|
||||
AudioKitStream out;
|
||||
AudioBoardStream out(AudioKitEs8388V1);
|
||||
StreamCopy copier(out, in);
|
||||
MusicalNotes notes;
|
||||
|
||||
|
@ -10,6 +10,6 @@ For [further info see my blog](https://www.pschatzmann.ch/home/2021/12/21/ai-thi
|
||||
### Dependencies
|
||||
|
||||
- https://github.com/pschatzmann/arduino-audio-tools
|
||||
- https://github.com/pschatzmann/arduino-audiokit
|
||||
- https://github.com/pschatzmann/arduino-audio-driver
|
||||
- https://github.com/pschatzmann/arduino-midi
|
||||
- https://github.com/pschatzmann/Arduino-STK
|
||||
|
@ -5,10 +5,10 @@
|
||||
* @copyright Copyright (c) 2021
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "StkAll.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
Clarinet clarinet(440);
|
||||
Voicer voicer;
|
||||
ArdStreamOut output(&kit);
|
||||
@ -30,12 +30,12 @@ void setupActions(){
|
||||
// assign buttons to notes
|
||||
auto act_low = AudioActions::ActiveLow;
|
||||
static int note[] = {48,50,52,53,55,57}; // midi keys
|
||||
kit.audioActions().add(PIN_KEY1, actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(PIN_KEY2, actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(PIN_KEY3, actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(PIN_KEY4, actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(PIN_KEY5, actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(PIN_KEY6, actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
kit.audioActions().add(kit.getKey(1), actionKeyOn, actionKeyOff, act_low, &(note[0])); // C3
|
||||
kit.audioActions().add(kit.getKey(2), actionKeyOn, actionKeyOff, act_low, &(note[1])); // D3
|
||||
kit.audioActions().add(kit.getKey(3), actionKeyOn, actionKeyOff, act_low, &(note[2])); // E3
|
||||
kit.audioActions().add(kit.getKey(4), actionKeyOn, actionKeyOff, act_low, &(note[3])); // F3
|
||||
kit.audioActions().add(kit.getKey(5), actionKeyOn, actionKeyOff, act_low, &(note[4])); // G3
|
||||
kit.audioActions().add(kit.getKey(6), actionKeyOn, actionKeyOff, act_low, &(note[5])); // A3
|
||||
}
|
||||
|
||||
void setup() {
|
||||
|
@ -6,9 +6,9 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
//#include "AudioLibs/AudioKit.h"
|
||||
//#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
I2SStream i2s; //AudioKitStream
|
||||
I2SStream i2s; //AudioBoardStream
|
||||
SineWaveGenerator<int16_t> sine;
|
||||
GeneratedSoundStream<int16_t> stream(sine);
|
||||
AudioEffectStream effects(stream);
|
||||
|
@ -8,13 +8,13 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo from(32000,2,32);
|
||||
AudioInfo to(16000,1,16);
|
||||
SineWaveGenerator<int32_t> sineWave;
|
||||
GeneratedSoundStream<int32_t> sound(sineWave); // Stream generated from sine wave
|
||||
I2SStream out; // or any other e.g. AudioKitStream, CsvOutput<int16_t> out(Serial);
|
||||
I2SStream out; // or any other e.g. AudioBoardStream, CsvOutput<int16_t> out(Serial);
|
||||
FormatConverterStream converter(sound); // or use converter(out)
|
||||
StreamCopy copier(out, converter); // copier(converter, sound);
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioInfo info(44100, 1, 16);
|
||||
int16_t sine_array[] = {0, 4560, 9031, 13327, 17363, 21062, 24350, 27165, 29450, 31163, 32269, 32747, 32587, 31793, 30381, 28377, 25820, 22761, 19259, 15383, 11206, 6812, 2285, -2285, -6812, -11206, -15383, -19259, -22761, -25820, -28377, -30381, -31793, -32587, -32747, -32269, -31163, -29450, -27165, -24350, -21062, -17363, -13327, -9031, -4560 };
|
||||
|
@ -11,11 +11,11 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h" // https://github.com/pschatzmann/arduino-audio-tools
|
||||
#include "AudioLibs/AudioKit.h" // https://github.com/pschatzmann/arduino-audiokit
|
||||
#include "AudioLibs/AudioBoardStream.h" // https://github.com/pschatzmann/arduino-audio-driver
|
||||
#include "FileSystems.h" // https://github.com/pschatzmann/arduino-posix-fs
|
||||
#include "espeak.h"
|
||||
|
||||
AudioKitStream i2s;
|
||||
AudioBoardStream i2s(AudioKitEs8388V1);
|
||||
ESpeak espeak(i2s);
|
||||
|
||||
void setup() {
|
||||
|
@ -12,7 +12,7 @@ The output goes to a ‘AI Thinker Audio Kit’.
|
||||
You need to install the following libraries:
|
||||
|
||||
- [Arduino Audio Tools](https://github.com/pschatzmann/arduino-audio-tools)
|
||||
- [AudioKit](https://github.com/pschatzmann/arduino-audiokit)
|
||||
- [Audio Driver](https://github.com/pschatzmann/arduino-audio-driver)
|
||||
- [FLITE](https://github.com/pschatzmann/arduino-flite)
|
||||
|
||||
FLITE is quite big: you need to set the Partition Schema to Huge APP
|
||||
|
@ -8,9 +8,9 @@
|
||||
|
||||
#include "flite_arduino.h"
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
Flite flite(kit);
|
||||
|
||||
const char* alice = "Hallo my name is FLITE";
|
||||
|
@ -8,9 +8,9 @@
|
||||
|
||||
#include "flite_arduino.h"
|
||||
#include "AudioTools.h"
|
||||
//#include "AudioLibs/AudioKit.h"
|
||||
//#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
I2SStream out; // Replace with desired class e.g. AudioKitStream, AnalogAudioStream etc.
|
||||
I2SStream out; // Replace with desired class e.g. AudioBoardStream, AnalogAudioStream etc.
|
||||
Flite flite(out);
|
||||
|
||||
|
||||
|
@ -13,11 +13,11 @@
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
URLStream url("ssid","password");
|
||||
AudioKitStream i2s; // final output of decoded stream
|
||||
AudioBoardStream i2s(AudioKitEs8388V1); // final output of decoded stream
|
||||
EncodedAudioStream dec(&i2s, new MP3DecoderHelix()); // Decoding stream
|
||||
StreamCopy copier(dec, url); // copy url to decoder
|
||||
StrExt query("http://translate.google.com/translate_tts?ie=UTF-8&tl=%1&client=tw-ob&ttsspeed=%2&q=%3");
|
||||
|
@ -12,7 +12,7 @@ The output goes to a ‘AI Thinker Audio Kit’.
|
||||
You need to install the following libraries:
|
||||
|
||||
- [Arduino Audio Tools](https://github.com/pschatzmann/arduino-audio-tools)
|
||||
- [AudioKit](https://github.com/pschatzmann/arduino-audiokit)
|
||||
- [Audio Driver](https://github.com/pschatzmann/arduino-audio-driver)
|
||||
- [SAM](https://github.com/pschatzmann/arduino-SAM)
|
||||
|
||||
|
||||
|
@ -7,10 +7,10 @@
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioLibs/AudioKit.h"
|
||||
#include "AudioLibs/AudioBoardStream.h"
|
||||
#include "sam_arduino.h"
|
||||
|
||||
AudioKitStream kit;
|
||||
AudioBoardStream kit(AudioKitEs8388V1);
|
||||
SAM sam(kit);
|
||||
|
||||
const char* text = "Hallo my name is SAM";
|
||||
|
@ -7,10 +7,10 @@
|
||||
*/
|
||||
#include "AudioTools.h"
|
||||
#include "sam_arduino.h"
|
||||
//#include "AudioLibs/AudioKit.h"
|
||||
//#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
I2SStream out; // Replace with desired class e.g. AudioKitStream, AnalogAudioStream etc.
|
||||
I2SStream out; // Replace with desired class e.g. AudioBoardStream, AnalogAudioStream etc.
|
||||
SAM sam(out, false);
|
||||
|
||||
// Callback which provides the audio data
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
#include "SimpleTTS.h"
|
||||
#include "AudioCodecs/CodecMP3Helix.h"
|
||||
//#include "AudioLibs/AudioKit.h"
|
||||
//#include "AudioLibs/AudioBoardStream.h"
|
||||
|
||||
|
||||
NumberToText ntt;
|
||||
I2SStream out; // Replace with desired class e.g. AudioKitStream, AnalogAudioStream etc.
|
||||
I2SStream out; // Replace with desired class e.g. AudioBoardStream, AnalogAudioStream etc.
|
||||
MP3DecoderHelix mp3;
|
||||
AudioDictionary dictionary(ExampleAudioDictionaryValues);
|
||||
TextToSpeech tts(ntt, out, mp3, dictionary);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user