In one of my recent projects I needed to add voicing the short text messages. Shields likeMP3-module with SD-card seemed to me excessive, and «teaching» Arduino to reproduce human speech would mean spending all the resources of microcontroller on this task only, which is an auxiliary one in fact. Also I would be running out of memory in any case.
Brief search revealed voice recording and playback chips of ISD1700 series, SPI-controlled, capable to store messages up to several minutes long.
Voice messages were prepared beforehand in form of separate files. The only question remained was the way to record those ones into IC memory. Programmers for ISD1700 are not widely spread and cost much higher than chips themselves do. There were some information on how to build one (https://laserwar.ru/sound_lasertag.html), but I’m a programmer rather than radio amateur, so I wanted to use standard hardware – Arduino board were excellent for that role.
After the datasheet («ISD1700Design Guide») had been studied I realized there was an analog input through which the files could be recorded. And for process automation I decided to write special software - ISD1700 Record Tool.
ISD1700 Record Tool allows you to record a set of audio files into ISD1700 via Arduino board. The software consists of two parts: a sketch for Arduino board (ISD1700.ino) and standalone Windows application (ISD1700.exe).
The sketch in ISD1700.ino is written forATMega328P-based ARUINO board (tested on Arduino Uno and Arduino Nano), but probably may also work on other boards.
List of supportedISD1700’s:
1) ISD1730;
2) ISD1740;
3) ISD1750;
4) ISD1760;
5) ISD1790;
6) ISD17120;
7) ISD17150;
8) ISD17180;
9) ISD17210;
10) ISD17240.
Windows application is based on BASS audio library, which supports the most widely used formats: MP3, WAV, OGG etc.
1. Hardware connectionDuring software development I was using ready-made recording module instead of separate ISD1700 IC. Before trying any other possible variants of connection I strongly recommend to read the original ISD1700 datasheet.
Fig. 1–5 show my hardware set. ARDUINO NANO is used in this case.
On a small breadboard I put two 3.5mm sockets (Fig. 2) for audio input (left) and earphones (right).
I recommend using an additional power supply unit rather than power all the components through the 5V-output of Arduino because I had many connection errors without external power source. However, this can be due to poor quality of wire connections or something else.
Connect Arduino board to your PC via USB, open ISD1700.ino in ADUINO IDE and upload the sketch as usual (Fig. 6).
Run ISD1700.exe. The description of each control element is shown on Fig. 7.
Fig. 8 shows typical operational sequence in Windows application.
Description:
1. Open audio files you want to record onto ISD1700. Sort them simply dragging by mouse, or delete undesired files (having checked them previously) if necessary. Also you can play each file and adjust volume level.
2. Select COM-port to which ARDUINO board is connected (Fig. 9).
3. Press “Detect ISD1700” button and make sure that the model of ISD1700 has been displayed in the box to the right.
4. Make sure that total duration of all audio files is less than ISD1700 capacity in seconds; otherwise you won’t be able to start recording.
5. Press “Start record” button. You can see progress on the bar. Press“Stop record” if necessary.
6. After process is done you can copy addresses of all tracks to clipboard.Fig. 10 shows the difference between two options.
Using the ISD1700 recording module makes it able to play audio files just after record process is done with the help of earphones and onboard buttons.
Comments