Aria's thread of barely working betas and bug squashing: Psychopump (in library soon)

You are 100% correct - my mistake. Anyway, really nice stuff. keep it up!

2 Likes

There is now experimental portable sequences support in Darius. Should hit the library soon, but you can try it now from the usual link if you wanna. That support is experimental (in terms of behavior), I might change how it interprets data in the future, depending on feedback.

3 Likes

About the gypsy major, you could also use its minor instead, this mode is also referred to as the Hungarian minor which has no problems with being respectful or not, and can be shortened nicely. But I’d vote for “double harmonic” because it is a name that tells you something musically useful about the scale. Such a cool scale btw. :slight_smile:

3 Likes

Only the UI implemented so don’t bother trying out automated github builds, but what do you think of this layout/feature set for my next module?

(Not pictured yet: knobs to navigate the sequencer, and copy/paste button. Might swap the order of output and two bottom buttons but it overlaps the rail so idk.)

I plan to have 3 form factors of the same underlying module:

  • Quatherine the Quantum Duck presents Quatherine’s Quality Quad Quantizer: the big one pictured above, with 4 poly quantizing lines (signal flows top to bottom), and a 16 step sequencer. The name of the module is not up for negotiation.
  • Quack: Just the piano and a single quantizer column.
  • Q< : One single quantizer column, external scale input only.

You will be able to use it to create an external scale to send to Darius, and it accepts external scales produced by Arcane.

It’s strongly based on how I use quantizing to make songs, giving it a convenient all-in-one UI where every feature but the main one is optional, and it is a building block for future modules in my own module system.

Planned features:

  • Can set the scale from the piano buttons, the knobs, or external input
  • Everything polyphonic (pay the CPU cost only for what’s plugged in)
  • If you push the visualize button of a quantizer line, the keys being played light up in pink
  • Scale & offset incoming signal per column
  • Transpose per column in one of the following three modes:
    • Transpose by ±n semitones then quantize
    • Quantize then transpose by ±n scale degrees
    • Transpose by ±n octaves
  • Sample & Hold / Track & Hold per column
  • Import to the sequencer from the clipboard or a contextual menu text input form:
    • Leadsheet notation (e.g. G am C B, E/G# Bb A,Fsus2 C7)
    • Roman numeral notation using the current key (e.g. im VIm I V vi)
    • Portable sequence
  • They act as expanders of each other, and of future interactive controllers I have planned (disregard the cable on the picture, the connection will be made implicitly)

As usual, my policy is that µMAP exists, so I don’t systematically double dip on knob & jack inputs.

Lemme know what you think, nothing is set in stone yet.

Except the name of the module.

6 Likes

Very nice module! Just two suggestions:

  1. Show the 4 keyboard instead of 1 as a row and add 1 more octave (I don´t know if it make sense)…

  2. Add Trigger and/or Gate outputs.

Great work! :clap:

To use 1 keyboard per quantizer line, using multiple instances of the smaller Quack will be a good option. However, showing multiple octaves makes no sense in a quantizer, since it quantizes signal no matter its range, so it has no idea what’s the first and the second octaves

How would they work? Data being quantized is processed as fast as it comes in, and often lacks a definite rhythm. There’s already a sample & hold / track & hold input to match the rate of processing to external triggers. Would the trigger be sent on note change? What’s the use case? I feel it’s better to leave it to external modules.

Okay! About Trigger and gate outputs, the idea is do the same as Quantum module from ML .

1 octave for quantizers is definitely the norm, but it could be interesting to have more octaves, representing different probabilities for parts of the input range, so you could program things like certain notes shouldn’t play in the bass range etc.

For example if you’re making a chord like sound with quantizers and random input, it would be useful to have this kind of control as chords can feel very different depending on which notes are on which octaves even if the list of contained notes are the same.

Not saying this module should have this just a thought.

2 Likes

Still missing the clipboard/keyboard buttons that will go in the free space on the right, but I think I’m going for this. Notice it’s receiving its scale from Atout

Does it look intuitive to use without a manual? Not sure I’m happy with the small pushbuttons, but they’d be hard to label, and will provide contextual help from the LCD like Darius.

3 Likes

… pity it’s Latimeria smaller now … :upside_down_face:

1 Like

Here’s a little UI test. Because the user will have 5 ways to set the scale in total (the piano display, the scale/key knobs, the external input, the scene selector, and QQQQ acting as a daisy-chainable expander), I’m trying to figure out the most intelligent way to set priorities… I think the one I will settle on is the simplest: the last one of these to have changed a value gets the last word.

Here’s how it’d work in practice:

Notice that after changing scenes, I had to plug the external cable back in to force that scene to read from the external cable. It’s by design.

One detail I might change: in this video the external input hijacks the key/scale knobs for consistency with Darius, but I think I will remove that check, and change that behavior in Darius to match that of QQQQ.

Thoughts?

I like to work documentation & visual design first, so I have the docs mostly in place too, feel free to let me know if it seems clear how it will work just from reading it: https://github.com/AriaSalvatrice/AriaVCVModules/blob/development-1.5.0/README.md#quatherina-the-quantum-duck-presents-quatherinas-quality-quad-quantizer

I hope I can make this device an absolute go-to of its category, especially once I add my poly cable rotator and explain unique generative techniques CV polyphony enable.

Since I’m introducing pink buttons, I had to give them that little notch in the center for colorblind users… The yellow and pink I picked happen to look the exact same for people with tritanopia.
Also, I changed the last letter of the duck’s name lol, noticed it’d overlap with an existing fictional character.

5 Likes

Just a note about my less than conventional use of Darius: I like driving it with a fast free-running clock. Then, I use a trigger sequences like VCV pulse matrix and use the trigger & a sample & hold to sample the Darius CV output. You get a note sequences with some randomness,but it also sound like there’s some order and intention to it. Even with random paths thru the pyramid, there’s enough constraint built in to keep it semi-orderly.

2 Likes

About half the features of Quatherina the Quantum Duck presents Quatherina’s Quality Quad Quantizer have been implemented now.

Here’s a quick little patch I made with QQQQ:

So, if anyone wants to help out, please take a look, let me know if anything breaks, if performance is normal. It would be especially useful to get reports from a Mac user.

Downloads from the usual place: Release Dangerous development builds that may or may not destroy your computer · AriaSalvatrice/AriaModules · GitHub

Docs are here: https://github.com/AriaSalvatrice/AriaVCVModules/tree/development-1.5.0#quatherina-the-quantum-duck-presents-quatherinas-quality-quad-quantizer

The following features do not work yet, so no need to report they don’t:

  • Scene memory is not saved with the patch
  • The smaller versions of the modules don’t exist yet (you will see 3 clones of the big one in the browser)
  • The expander features aren’t implemented yet
  • The LCD isn’t implemented yet
  • The keyboard/paste input isn’t implemented yet
  • The third transpose mode isn’t implemented yet
  • Sample&Hold isn’t implemented yet
5 Likes

Everything I tried on my Mac worked as expected, including:

  • % (tho admittedly I’m not 100% sure what correct output would be)
  • offset - input x4 with increasing values to make chords
  • transpose - octaves & semitones
  • visualize button :+1:t2:
  • scales - spot checked
  • keys - checked all keys for the major scale
  • piano buttons - function & display as expected

Happy to test anything specific I may have missed, or a test patch if that would be helpful.

Suggestions:

  • It would be useful if the input were normaled so that a single input could affect all four rows.
  • The labels on the main panel (%, offest, etc) lack sufficient contrast against the background to be accessible.

This is a useful module & I look forward to using it in its final form. Nice work (as always)!

1 Like

Thanks for the thorough test! Two positive reports that it works on the Mac now - I had trouble with compatibility in the past.

Forgot to mention it wasn’t present yet in the dev builds, but it is now!


I have now enabled a few aggressive optimizations - culling unnecessary calculations, and running slower than audio rate (every 32 samples). As far as I can tell there is no reason whatsoever for a quantizer to run at the audio rate, and while I know it will results in artifacts, I simply cannot hear them, since even at 44,100hz they are shorter than a millisecond.

As a result, QQQQ can now process 64 channels using less CPU than some other quantizers in the library consume while idle.

8 Likes

Now with the smaller versions! Quack and Q<. They all act as expanders of each other, and under the faceplate all three are the exact same module.

At this point, most features have been implemented, and the QQQQ series is ready for heavy testing. It’s 99% likely I won’t break patches created with the dev version if you want to try it in real patches (if it breaks I’ll help you fix it lol)

Only three features still missing:

  • Copy-paste scenes via right click
  • Keyboard/Paste buttons (this one is gonna be a handful, lol)
  • Disabling expander input from right-click

Lemme know what you think, and please report anything weird.

DL: Release Dangerous development builds that may or may not destroy your computer · AriaSalvatrice/AriaModules · GitHub
Docs: https://github.com/AriaSalvatrice/AriaVCVModules/tree/development-1.5.0#quatherina-the-quantum-duck-presents-quatherinas-quality-quad-quantizer

4 Likes

Interesting quantizers. I have a couple of questions and a comment.

  • How do you turn off Visualize on Piano on the smaller version?

  • Rounding modes—just round to nearest, or are you going to add more?

  • Rounding thresholds shouldn’t be right at a note voltage.

    • As an example, using Bogaudio Reftone:
    • Set Reftone to C# and sweep octave from 1 to 8.
    • With your quantizer on the C Major scale its output is:
      • C1, C2, C3, D4, D5, D6, D7, D8
    • It should consistently round either down or up, without having to worry about voltage changes in the 6th decimal place.
1 Like

Thanks for the comments!

For now there’s no user-facing method since I figure that blinking lights are at least 30% of the appeal of a modular.

Quantizing & sharing scales is a building block for future modules I have in mind, so I want quantizing behavior consistend across my collection.

What are interesting use cases for other modes?

Thanks! I actually ran into (what should be) the same issue myself with the third quantization mode. Floating point math is fun, heh. Gonna see if it can be solved by fudging a little offset.

1 Like

The latest automatic build should no longer produce this bug now.

1 Like

The feature I really wanted - and was an incredible pain to implement, because I do it through a JS library - is now in the test builds!

image

When you click on the keyboard button, you can type in chords, and they become scenes in the quantizer. In roman numeral notation, the tonic is set by the Key knob.

The parsing isn’t perfect, especially roman numerals that require explicit “m” for minor instead of lowercase, but it’s definitely good enough as a starting point.

Things I’d like to know:

  • Is it working on macs?
  • Is it working out as expected for you?
  • Can you crash it at all?
  • Is the performance of importing anything less than instant?

(Portable sequences not implemented yet) Edit: now they’ve been implemented too, try them out!!

I really believe QQQQ’s ease of use is going to really open up entirely new ways to use a quantizer in generative music. I feel I’m barely starting to understand its potential. The main version having four columns forwarding input is the key to generate complex, harmonically related material from a single source.

Also, now that I’ve got a working (if very basic) way of calling JS code from a module, that opens the door to encapsulating anything on NPM as a module, so long as it’s about one-off rather than ongoing processing.

DL: Release Dangerous development builds that may or may not destroy your computer · AriaSalvatrice/AriaModules · GitHub
Docs: https://github.com/AriaSalvatrice/AriaVCVModules/tree/development-1.5.0#quatherina-the-quantum-duck-presents-quatherinas-quality-quad-quantizer

4 Likes