SPRESENSE にピンマイクをつけて録音してみた! [SPRESENSE]
SPRESENSEにピンマイクをつけて、録音をしてみました。演奏はへたくそですが、ウクレレを使ってみました。
分かりやすく接続をイラストにまとめてみました。ボタンを押して録音開始、また再度ボタンを押して録音停止できるようにしました。
スケッチはこちらです。それぞれの録音データは、RECXXX.mp3 と3桁の追番で別ファイルとして記録するように書いています。
実際に録音してみた音がこちらです。へたくそなウクレレで恐縮です。^^;
分かりやすく接続をイラストにまとめてみました。ボタンを押して録音開始、また再度ボタンを押して録音停止できるようにしました。
スケッチはこちらです。それぞれの録音データは、RECXXX.mp3 と3桁の追番で別ファイルとして記録するように書いています。
#include <SDHCI.h> #include <Audio.h> SDClass theSD; AudioClass *theAudio = AudioClass::getInstance(); bool bRecording = false; bool bStart = false; int gCounter = 0; File myFile; void changeState() { // interrupt handler bStart = ~bStart; } void recorder_end() { if (bRecording) { bRecording = false; theAudio->stopRecorder(); theAudio->closeOutputFile(myFile); myFile.close(); theAudio->setReadyMode(); theAudio->end(); } digitalWrite(LED0, LOW); Serial.println("End recording"); } void recorder_begin() { int err; theAudio->begin(); theAudio->setRecorderMode(AS_SETRECDR_STS_INPUTDEVICE_MIC, 200); // the gain up to 30db err = theAudio->initRecorder(AS_CODECTYPE_MP3 ,"/mnt/sd0/BIN" ,AS_SAMPLINGRATE_48000 ,AS_CHANNEL_MONO); if (err != AUDIOLIB_ECODE_OK) { Serial.println("Recorder initialize error"); while(1); } Serial.println("Recording initialized"); char filename[16] = {0}; sprintf(filename, "REC%03d.MP3", gCounter); myFile = theSD.open(filename ,FILE_WRITE); if (!myFile) { Serial.println("File open error\n"); while(1); } theAudio->startRecorder(); bRecording = true; ++gCounter; digitalWrite(LED0, HIGH); Serial.println("Start recording"); } int intPin = 0; void setup() { Serial.begin(115200); pinMode(intPin, INPUT_PULLUP); theSD.begin(); attachInterrupt(digitalPinToInterrupt(intPin) ,changeState ,FALLING); } void loop() { int err; if (!bStart && !bRecording) { return; } else if (bStart && !bRecording) { recorder_begin(); return; }else if (!bStart && bRecording) { recorder_end(); return; } err = theAudio->readFrames(myFile); if (err != AUDIOLIB_ECODE_OK) { Serial.println("File End! = " + String(err)); recorder_end(); } usleep(40000); return; }
実際に録音してみた音がこちらです。へたくそなウクレレで恐縮です。^^;