Yahoo Groups archive

SynthModules

Index last updated: 2026-04-28 23:14 UTC

Message

Re: [SynthModules] Re: semi-tone math

2004-05-19 by Andrew Scheidler

OK, that's where I ended up.  I just thought there was an easier way to
do it :)

There is a lot of real-time processing a PSIM could do in between a
keyboard and synth!

Andrew

>>> grichter@asapnet.net 05/19/04 2:15 PM >>>
No, it won't work that way. The input and output scaling is 
different.

The whole purpose of using the integer math "trick" is to avoid all 
the typing needed to write a true input "classifier". For a true 
classifier, the exact behavior of each input state versus each 
output state has to be 100% specified (remember, computers 
are dumber than hammers).

We know the input scaling is aproximately 10 millivolts per step. 
And we know that the input keyboard is going in 83.3 millivolt 
steps. That mismatch is going to require hand tweeking of the 
statements as we go up the scale. What you need is a set of 
statements like so (we will use the variable KEY to identify the 
actual key on the keyboard) and we put 40 mv. guard bands on 
each side of the key voltage to suppress noise:

IF ADC1V <= 4 THEN
KEY = 0
ENDIF 'if input is below 40 mv. then lowest key
IF ADC1V > 4 AND <= 12 THEN
KEY = 1
ENDIF 'if input is between 50 mv and 120 mv. then next key up
IF ADC1V > 12 AND <= 20 THEN
KEY = 2
ENDIF 'if input is between 130 mv and 200 mv. then next key up

and you need one of those classifer statements for each key on 
the keyboard. Whew.

But then DAC1V = KEY * 32 and the output should match the 
input (ignoring mv. offsets in the keyboard and PSIM outputs).
As I said the 3 mv. per 8 steps difference between keyboard 
scale and ADC scale will require adjustment of the classifier 
parameters as you go up the keyboard.

--- In SynthModules@yahoogroups.com, "Andrew Scheidler" 
<xpandrew@p...> wrote:
> Just to clarify, in the below example I want the VCO's to both 
track
> together...
> 
> >>> xpandrew@p... 05/19/04 1:13 PM >>>
> I think this is similar to a question I asked a couple months 
ago.  If I
> mult the CV output of my keyboard, sending one directly to a 
VCO, and
> the other into the PSIM, out of the PSIM and into a second VCO, 
what
> would be the formula?
> 
> DACV1 = (ADCV1 * ???) / ??? + ??? + (HBar)
> 
> I could never get it *quite* right...
> 
> Andrew
> 
> >>> grichter@a... 05/19/04 1:02 PM >>>
> That is a completely unanticipated operating mode. It never 
> occured to any of the review team that a 1V/Oct. keyboard 
would 
> be connected to the voltage inputs.
> 
> My conceptual problem is that there are not 10 octaves on a 
> keyboard, so all the quantizers I design remap the 10 volt 
> uncalibrated input to some number of output octaves. In the 
case 
> of the Mini-Wave and Waveform City, 10 volts is remaped to 5 
> octaves. In the case of the PSIM it is 64 steps for chromatic or 
32 
> steps for diatonic.
> 
> But none of them care what the absolute input voltage is. The 
> assumption is that it is a random source with a 10 volt range 
that 
> you wish to constrain to a scale.
> 
> --- In SynthModules@yahoogroups.com, "djbrow54" 
> <davebr@e...> wrote:
> > It wasn't so much that I wanted to quantize the keyboard but 
> rather
> > sample it and play it back later. If I run my keyboard to a VCO, 
> and
> > also to the PSIM for some processing and to a second VCO, 
> they do not
> > track at all.
> 
> No they would not. The input is arbitrarily remaped to the output 
> numerically and not related to absolute input voltage at all.
> 
> That doesn't mean you can't calibrate your input. One method 
is 
> to output 1920 or 1921 absolute value to all DACs (check with 
> voltmeter which is closer to 5.000 volts), That should give 5 
volts 
> absolute. Loopback all channels to the inputs and use debug 
to 
> measure the actual ADCs values read at 5.000 volts input for 
> each channel. That should allow you to calculate a scale 
> correction factor for each input channel on your specific PSIM.
> 
> 
> 
> 
> 
> Be sure to check out the primary Web site at:
> http://www.SynthModules.com
>   
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
> 
> 
> 
> Be sure to check out the primary Web site at:
> http://www.SynthModules.com
>   
> Yahoo! Groups Links




Be sure to check out the primary Web site at:
http://www.SynthModules.com
  
Yahoo! Groups Links

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.