Analog Audio Begin
E (37) I2S: /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/driver/i2s.c:1252 (i2s_adc_enable):i2s built-in adc not enabled
// esp32 board v.1.0.6
#include <SPI.h>
#include <SD.h>
//=================================================
#include <AutoAnalogAudio.h>
#define SD_CS_PIN 5
#define AUDIO_DEBUG
#define RECORD_DEBUG
AutoAnalog aaAudio;
File myFile;
File recFile;
#include "myWAV.h"
#include "myRecording.h"
const char newWavFile[] = "/record.wav";
//=================================================
//SD:
#define SD_MISO 19
#define SD_MOSI 23
#define SD_SCLK 18
#define SD_CS 5
//Amplifier MAX98357 PINS:
#include "Audio.h"
Audio audio;
#define I2S_DOUT 25 //DIN PIN
#define I2S_BCLK 27
#define I2S_LRC 26
void setup() {
Serial.begin(115200);
pinMode(SD_CS, OUTPUT);
if (!SD.begin(SD_CS)) {
Serial.println("SD init failed!");
return;
}
Serial.println("SD ok\nAnalog Audio Begin");
// AutoAnalogAudio.h
aaAudio.begin(1, 1); // Start AAAudio with ADC & DAC
aaAudio.autoAdjust = 0; // Disable automatic timer adjustment
//set Audio.h
audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
audio.setVolume(10); // 0...21
}
uint32_t displayTimer = 0;
bool recording = false;
void loop() {
//"Audio.h"
// audio.loop();
//AutoAnalogAudio.h
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 'r': startRecording(newWavFile, 24000); recording = true; break; //Start recording @11khz,8-bit,Mono
case 's': stopRecording(newWavFile, 24000); recording = false; break; //Stop the recording and finalize the file
case 'p': playRecordedAudio(newWavFile); break; //Play back the recorded audio
case 'D': SD.remove(newWavFile); break; //Delete the file and start fresh
}
}
#if defined (ESP32)
if(recording){
ADC_Handler();
}
#endif
}
void playRecordedAudio(const char *file){
// audio.setVolume(10); // 0...21
// audio.connecttoFS(SD, file);
}
// optional
void audio_info(const char *info){
Serial.print("info "); Serial.println(info);
}
void audio_id3data(const char *info){ //id3 metadata
Serial.print("id3data ");Serial.println(info);
}
void audio_eof_mp3(const char *info){ //end of file
Serial.print("eof_mp3 ");Serial.println(info);
}
void audio_showstation(const char *info){
Serial.print("station ");Serial.println(info);
}
void audio_showstreaminfo(const char *info){
Serial.print("streaminfo ");Serial.println(info);
}
void audio_showstreamtitle(const char *info){
Serial.print("streamtitle ");Serial.println(info);
}
void audio_bitrate(const char *info){
Serial.print("bitrate ");Serial.println(info);
}
void audio_commercial(const char *info){ //duration in sec
Serial.print("commercial ");Serial.println(info);
}
void audio_icyurl(const char *info){ //homepage
Serial.print("icyurl ");Serial.println(info);
}
void audio_lasthost(const char *info){ //stream URL played
Serial.print("lasthost ");Serial.println(info);
}
void audio_eof_speech(const char *info){
Serial.print("eof_speech ");Serial.println(info);
}
I will appreciate any idea to fix this problem.
thanks so much.
thanks.