anshulpareekneetu
Published © GPL3+

DIY Auto Voice Record and Playback

Record your voice using Arduino and ISD1820. This is a very simple project which takes less than 10 min and < 8$.

BeginnerFull instructions provided1 hour11,653
DIY Auto Voice Record and Playback

Things used in this project

Hardware components

Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
×1
isd1820
×1
Speaker: 0.25W, 8 ohms
Speaker: 0.25W, 8 ohms
×1
Jumper wires (generic)
Jumper wires (generic)
×6

Story

Read more

Schematics

ISD1820 ARDUINO CONNECTIONS

ISD1820 ARDUINO CONNECTIONS2

Code

sample 1

Arduino
PLEASE PASTE THIS CODE IN ARDUINO AND RUN AFTER CONNECTION BUILT.
/*
* ISD1820 Arduino Voice Recorder
* to record and play sound using Arduino and ISD1820 Sound Recorder
* get this code from https://www.gadgetprogrammers.online
/*
* ISD1820 Arduino Voice Recorder
* Code Written by Anshul Pareek for the purpose of education
* on June 06, 2018 at 11:20 pm, 
*/
#define REC 2 // pin 2 is used for recording
#define PLAY_E 3 // pin 3 is used for playback-edge trigger



#define FT 5 // pin 5 is used for feed through

// and will NOT record
#define playTime 5000 // playback time 5 seconds
#define recordTime 3000 // recording time 3 seconds you can extend time upto 10 seconds
void setup() 
{

 pinMode(REC,OUTPUT);// set the REC pin as output

 pinMode(PLAY_E,OUTPUT);// set the PLAY_e pin as output
 pinMode(FT,OUTPUT);// set the FT pin as output  
 Serial.begin(9600);// set up Serial monitor   
}
void loop() {
   while (Serial.available() > 0) {
         char inChar = (char)Serial.read();
           if(inChar =='p' || inChar =='P'){
           digitalWrite(PLAY_E, HIGH);
           delay(50);
           digitalWrite(PLAY_E, LOW);  
             Serial.println("Playbak Started");  
           delay(playTime);
             Serial.println("Playbak Ended");
           break; 
           }       
           else if(inChar =='r' || inChar =='R'){
             digitalWrite(REC, HIGH);
             Serial.println("Recording started");
             delay(recordTime);
             digitalWrite(REC, LOW);
             Serial.println("Recording Stopped ");              
           } 
                         
     Serial.println("###Serial Monitor Exited");      
   }// wihile
Serial.println("### Enter r to record, p to play");
 delay(500);
}
 

SAMPLE 2

Arduino
Continuously record voice for 3 sec. and play for 5 sec
#define REC 2 // pin 2 is used for recording
#define PLAY_E 3 // pin 3 is used for playback-edge trigger
// when PLAY_E goes HIGH device will playbak STARTS and continues

#define FT 5 // pin 5 is used for feed through

#define playTime 5000 // playback time 5 seconds
#define recordTime 3000 // recording time 3 seconds
#define playLTime 900 // press and release playback time 0.9 seconds
void setup() 
{
 pinMode(REC,OUTPUT);// set the REC pin as output

 pinMode(PLAY_E,OUTPUT);// set the PLAY_e pin as output
 pinMode(FT,OUTPUT);// set the FT pin as output  
 Serial.begin(9600);// set up Serial monitor   
}
void loop() {
   digitalWrite(REC, HIGH);
   delay(recordTime);
   digitalWrite(REC, LOW);  
   digitalWrite(PLAY_E, HIGH);
   delay(50);
   digitalWrite(PLAY_E, LOW);  
   delay(playTime);
  
 delay(500);
}

Credits

anshulpareek

anshulpareek

14 projects • 78 followers
Working as a IOT And Sr. Software Engineer having interest in developing gadgets for general purpose.
neetu

neetu

1 project • 3 followers

Comments