Quantizer Trouble
  • I'm having difficulty understanding how to use the pitch quantizer module (this one: http://docs.audulus.com/modules/#quantizer).

    I'm not so familiar with how the implementation of 1v/oct works in Audulus, so I thought a convenient workaround would be this: Keyboard Hz --> Hz2o --> Quantizer --> o2Hz --> Osc Hz --> Speaker. But when I route the modules like this and then hit a note on the onscreen keyboard, the cables going from the Osc into the Speaker turn white and no sound is produced.

    Why doesn't this work?
  • So first off let me say that’s a bug that needs to be addressed in an update haha. The white wires has to do with the keyboard node starting at 0Hz as its resting state before any note is hit, which makes one of the expressions there go wacky. If you put an expression after the Hz output on the keyboard that reads: clamp(Hz,20,20000) and plug the Hz output into the Hz input you create, that will fix the problem you’re having.

    That said, why do you want to use the quantizer with a keyboard? Prevent hitting wrong notes? If you just want to go straight from keyboard to oscillator to speaker you can do that.

    The o or Octave signal is a linearized pitch scale where 0=A=440, 1=A=880, -1=A=220. Chromatic steps are in 1/12 increments. There are things that are easier/more musical to do when you linearize your pitch scale vs modulating the Hz value.

  • Hm, I assume clamp prevents values lower/higher than 20/20000 from being output? Putting that expression b/w the keyboard Hz out and the Hz2o in doesn't seem to work for me, as the cables still turn white. Any idea why that might be, or other options for me to try?

    > That said, why do you want to use the quantizer with a keyboard?

    I don't. I've created an elaborate 32-step sequencer whose steps output Hz. I'd like to put the quantizer module inside my sequencer and send the Hz signal through that quantizer before sending it out of the sequencer. That way, when I connect the sequencer's Hz out to Osc Hz in, the quantizer will already be part of the signal flow and ready to go. Considering this, AFAIK receiving Hz out from the keyboard node will (from the perspective of the quantizer) be identical to receiving it from my sequencer, just simpler and easier to set up.
  • When I get white cables, i cut and paste the modules to reset the white cables. I have also found it productive to have sequencers output 1/oct signals as the o2Hz module doesn't suffer the same mathematical inconvenience of outputting infinity when 0 is input. finally, if you post your patch, we might be able to help you debug the situation.
  • Yeah it'll be easier to help if you post the patch. Are you familiar with the way most sequencers work in Audulus? I'm not saying you have to make them work the same way, but basically how it works in most is that you take a 0-1 signal from the sequencer and you translate it into a -5 to 5 range linearized pitch scale that covers 10 octaves. This makes the response of the knob on the sequencer smooth as well, where it feels like pitches are equally distributed over the sweep of the knob.

    Attached is an example.

    Also, the oscillators in the new library we're building all use the octave signal instead of a Hz input - just something to consider, not saying you have to accept any standard.
    Octave Signal Example.audulus
  • Re. The white cables of death. They’ve been driving me crazy everytime I open a patch a realize that I’ve forgotten to disconnect the keyboard node and have to quit and start again. My solution is to simply include an expression with clamp(x,-100,5) before the 1/o output in the keyboard module. (-100 so that you only get a very slow tick if you have an oscillator connected without an envelope.)
  • moral of the story:

    roses are red,
    my cords are white.
    clamp the signal
    and you'll be alright!

    It rhymes so you know it's true.