For Arduino Due
Wav Recording SDAudio Example:
This example demonstrates recording standard format *.wav files for playback on any PC or audio device.
#define SD_CS_PIN 10
#define AUDIO_DEBUG
#define RECORD_DEBUG
const char newWavFile[] = "/test.wav";
#include <SPI.h>
#include <SD.h>
File myFile;
File recFile;
#include "myWAV.h"
#include "myRecording.h"
void setup() {
if (!SD.begin(SD_CS_PIN)) {
Serial.println("SD init failed!");
return;
}
Serial.println("SD ok\nAnalog Audio Begin");
}
uint32_t displayTimer = 0;
bool recording = false;
void loop() {
if (millis() - displayTimer > 1000) {
displayTimer = millis();
if (counter) {
Serial.print("Samples per Second: ");
Serial.println(counter * MAX_BUFFER_SIZE);
}
counter = 0;
}
if (Serial.available()) {
char input = Serial.read();
switch (input) {
case '1': playAudio("/M8b24kM.wav"); break;
case '2': playAudio("/M8b24kS.wav"); break;
case '3': playAudio("/M16b24kS.wav"); break;
case '4': playAudio("/M8b44kST.wav"); break;
case '5': channelSelection = 0; break;
case '6': channelSelection = 1; break;
case '7': channelSelection = 2; break;
case '8': Serial.println("OK"); break;
case '9': startRecording(newWavFile, 24000); recording = true; break;
case '0': stopRecording(newWavFile, 24000); recording = false; break;
case 'p': playAudio(newWavFile); break;
case 'D': SD.remove(newWavFile); break;
}
}
#if defined (ESP32)
if(recording){
ADC_Handler();
}
#endif
}
void begin(uint8_t enADC, uint8_t enDAC, uint8_t _useI2S=0)