It should be noted that the Polysix already has a little detuning purposely built into its Unison mode. The circuit below is on the KLM-366 PCB and is only active in Unison mode. Via voltage dividers (R120-R122 per voice combined with R116 for all voices), this circuit generates a small voltage that is used to shift the pitch of each voice to be a little sharp or a little flat.
Polysix's Built-in Detuning Circuit for the Unison Mode |
In terms of approach, one could simply modify the existing circuit. By replacing R116 with a bigger resistor (say 400-600 ohms), the detuning would get much more intense. It would still be a fixed amount of detuning, but it would be a very easy modification. The down side is that it is not adjustable (unless you wired in a potentiometer) and that it only applies to Unison mode -- it is not usable by Chord Memory mode.
Since I already have my Polysix modified with an Arduino and a digital-to-analog converter (DAC), I can do arbitrary pitch shifts and pitch bends on a per voice basis in any of the Polysix's modes of operation. That's a lot of pitch-mangling power. So, I wrote a little bit of software that, when I commanded the Arduino to effect "Detuned Mode", it would command a slight pitch shift to each of the Polysix's voices. How much pitch shift per voice?
Well, following from the Polysix's built-in detune, I left two of the voices at normal pitch and bent the other voices in pairs (one up, one down) to different degrees. The overall scale factor for the detuning I left as a variable that I could adjust on-the-fly so that I could control how much detuning I wanted.
Spectrogram of Output of Polysix While Adjusting the Amount of Detuning |
How does it sound? Well, the video is a demo of the audio coming out of my modified Polysix. At the very beginning, you hear me load up the six voices playing the same note. I lock in the six voices using the Chord Memory button. You hear that the voices are in pretty good unison. Then you hear me kick in the detuning. I like it a lot. Yes. A lot.
Thanks for reading!
More Info: Choosing my Polysix's default detuning amount based on the Mono/Poly
More Info: Disabling the Polysix's built-in detuning to improve the control over the detuning amount.
Update: I shared my Arduino code here.
No comments:
Post a Comment