Friday, March 20, 2026

Gakken SX-150 mk II Tuning (Rossum Compensation)

     Last time we looked into tuning the oscillator of the Gakken. We assumed a perfect exponential response though, to simplify the concepts of autotune. The real hardware is far from ideal though.

The Gakken SX-150 mk II being subjected to tuning experiments

A measured response

    I wrote a bit of code that tests the autotune accuracy by playing each note, measuring the frequency, and logging it. I put the results into a sheet, and calculated how much each note is out by. As a rough reference point, 10% and below is acceptable. Deviation above that will likely be noticeable to the average listener.

Tuning baseline


    Well, that's pretty bad. The last third or so of our range is well out of spec (10% shown by the red line).

The core issue

    Notice that the notes go flatter and flatter as we go up the scale. The oscillator is a saw-core, and these have a quirk that can cause them to go flat on high frequencies. This is due to the time spent "resetting" the waveform. This takes a larger percent of the cycle as the oscillator plays higher frequencies. The real time spent can also be longer, due to the reset signal "fighting" against the stronger pull of the expo converter at high pitches. Here's an exaggerated example:

Saw-core going flat

    We can see the upwards slope of the lower frequency saw takes about 7 division, and the fast one takes about 3.5. This should mean that they're an octave apart. We have to add in the downward slope that is the reset time though. It's about 1.5 division for the low note, and almost 2 for the high one. This completely throws off the octave relationship and gives us 8.5 vs 5.5 instead of 7 vs 3.5.

Fair compensation

    Our actual problem seems to be in the exponential converter though. Rene Schmitz has a great article on these converters, and how to compensate for these kind of high-frequency problems. He explains that the problem is caused by the effective resistance between the base and emitter (rBE) of the transistors used. This figure varies, and is rarely spec'd in datasheets, so it's hard to say what we're up against in the Gakken.

    There is a fix for high rBE though, and it's called Rossum compensation (named after synth legend Dave Rossum). It involves feeding some of the op-amp's output current back into the converter's input. All that's needed is a diode, a resistor, and a trimmer. I used what I had available, and found that a 5k trimmer and 470k resistor work reasonably well. Here they are added into the schematic:

Gakken with Rossum compensation

    So, how much has this improved the high frequency problem we had? Let's dial in the trim pot and rerun the test. No adjustments need to be made to the autotune code.

Compensated tuning

    Look at that; The high frequency issue is gone! This suggests that high rBE is a problem in the transistors used.

    The tuning still isn't flawless, but we've addressed the issue and the whole 7 octave range is under our 10% figure. We could have compensated for this in software, and we may still, but I think this is an impressive result for such a small modification.



No comments:

Post a Comment