A hack of ISD1700 voice recorder chip to improve recorded sound quality

photo of displaying Lo-fi and Hi-fi, snapbeat, the simple Lo-fi sampler

What is Hi-fi sampling mode and how does it work?

SnapBeat is the simple Lo-fi sampler. Yes, it’s really Lo-fi as the name. It uses Nuvoton ISD1700 voice recorder chip for sampling and playback sounds. The chip’s patented MLS (Multi Level Storage) can record analog sound signal directly without Analog to Digital conversion. Thanks for the great technology, the recorded sound is very smooth.

Problem

From the point of frequency range, the chips sampling frequency is limited up to 12kHz as table below. It’s really narrow for a musical instrument purpose.

The sampling frequency is determined by external register called Rosc. And interesting usage of the chip is changing pitch of playback sound by controlling the Rosc. For example, if the chip played recorded sound with 12kHz speed setting and its actual sampling frequency was 6kHz, the sound was played with higher pitch than actual pitch. 

After thinking about the method for improving sampled sound quality, I found simple but effective solution which can extend the sampling frequency range.

Solution

The solution I implemented a kind of hack which enhances ISD1700 chips recording quality a little bit. The physical limitation that sampling frequency is up to 12kHz can’t be changed. But what if SnapBeat sampled sounds which was played with x0.5 speed and played back it with x2 speed? As a result, the sampled sound is played with normal speed, but its frequency range is extended (shifted, more accurately) to approximately two times higher side. 

The schematic below is ISD1700 recorder chip circuit of SnapBeat. You can find analog switch (74LVC1G3157) and two 56k ohm registers connected to Rosc pin. When the analog switch turns on, Rosc becomes 28k ohm (56k//56k). When it’s off, Rosc becomes 56k ohm. By switching the Rosc value dynamically, ISD1700 chip can change it’s sampling and playback speed independently.   

schematic diagram, Rosc and analog switch, SnapBeat

Test result

To verify the the effect of this solution, I compared frequency range of actual sampled sound with Lo-fi mode and Hi-fi mode (Hi-fi mode sounds to be weird. I should think better name for the mode). 

For the test, I used free beat downloaded from SampleRadar. The wave form below is of DMX Beat 09 (85BPM).wav.

wave form of DMX beat

The three pictures are frequency range of the original source (the left), of the sampled beat in Lo-fi mode (the center) and of the sampled beat in Hi-fi mode (the right). You can see that the original beat contains frequencies up to about 15kHz. But frequency range of the sampled beat in Lo-fi mode is up to only 5,000Hz. It’s because the sampling frequency determined with Rosc 56k ohm is about 12kHz (by theory, up to 6,000Hz frequencies can be sampled correctly). On the other hand, in Hi-fi mode, frequency range became up to about 10kHz which means that sampling frequency in the mode was about 20kHz (which is nearly two times better than original).

In Hi-fi sampling mode, we must always input x0.5 speed sound source. Fortunately, Spotify (only web browser version) and Windows Media Player have playback speed control. And in Hi-fi sampling mode, it becomes easier to truncate (trim) sampled sound more accurately because minimum step of controlling start and end address becomes finer.

playback speed control in Spotify
Speed control of Spotify
window media player, playback speed control
Speed control of Windows Media Player