How many times have you wished that you recorder your recent telephone conversation? I have, many many times. So I finally decided to make this happen by using PC and a piece of hardware (powered from USB) to record audio from phone line to MP3 format. I wanted this thing to work automatically, to start recording when any of phones in house is picked-up (line occupied) and stop recording when all phones are hung-up (line free).
UPDATE: The .RAR file is now updated. So if you have seen the "Output mp3 directory is not valid..." information upon application start, just edit the "opcije.ini" file and adjust the mp3 output directory.
You can download the project files (schematics, source code, windows app) by clicking on the red download button at the end of this article.
How does it work? The hardware-part consists of: - audio pickup circuit - phone line status monitor - microcontroller to send the phone-line state to PC using USB (serial<->usb)
The software: - receiving the phone-line state via USB and managing the recording to WAV - after conversation is finished, converts WAV to MP3 using Lame library
Phone line status monitor circuit This circuit is basically measuring voltage on the phone-line, which is is above 15 Volts (around 50) when on-hook. When any of the phones is picked-up the voltage drops below 15 Volts. This property is used to detect whether the phone line is in-use or not. The circuit is actually taken from this address and altered a bit.
Audio pickup from telephone line In this simple part a transformer from an old PC modem i used. There are also 2x1N4148 diodes to limit the output voltage of the transformer to ~0.6V, a resistor and a capacitor. The important part is this capacitor which ensures that phone-line is never occupied by the circuit.
Microcontroller to send data to PC Microcontroller is checking the phone line status every 0.2 seconds with a help of monitor circuit above. If the optocoupler is "closed" for more than 0.15 seconds it means that the phone line is occupied and it starts to send letter "R" (Rec) to PC application. In other case it sends "S" (Stop). This data is received by the PC where the application starts audio recording (R) or stops (S). Since the microcontroller uses serial communication to send the data, PL-2303 circuit is used to translate those signals to USB. (An entire PCB converter is used in this application, as it can be seen in the picture.) Much better way of doing this is would be with V-USB library (see these simple projects). That way we could use only one Atmel chip instead of these two (PIC + PL-2303).
Hello, Congratulations on the excellent work I'm sure that will this will help in learning
electronics for many people. I very happy if you make available to me the code in delphi so I
can understand how and made to read the data. grateful IP: 18.104.22.168
Halo, čestitamo Vam na dobrom radu siguran sam da će ovo pomoći u učenju elektronike za
mnoge ljude. Sam vrlo sretan ako stavi na raspolaganje mi kod u Delphi tako da ne mogu shvatiti
kako i napravio čitanje podataka. zahvalan IP: 22.214.171.124
Ne povezujes telefon nikako sa uvim uredjajem. Ovaj uredjaj se ukljuci u telefonsku liniju bas
kao i neki drugi dodatni telefon. Znaci ovo tretiras kao zaseban telefon, samo sto on snima :)
Mozes koristiti koji god konektor zelis... IP: n/a