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

With my last push, I consider QQQQ complete. I encourage you to try to break it before it hits the library!

1 Like

looks very nice! … love these colors … :blue_heart:

2 Likes

Here’s two quick videos of it in operation. The first one highlights its operation as a chord quantizer rather than a scale quantizer. Not that they are discrete modes to explicitly set up, of course, just a way of using the device I wanted to make as easy as possible.

Notice that:

  • In the first video, I can load chords on the beat, and the processing is instant, even if it loads a whole javascript runtime behind the scenes.
  • In both videos, QQQQ receives only one input. The knobs and sample & hold are used to extrapolate harmonically correlated material from a single source of randomness.

(volume warning on second one… this is a very raw patch quickly thrown together but i liked the middle section groove too much not to post that recording)

Reminder, I need a confirmation text chord input works reliably on the Mac before I submit this to the library.

6 Likes

Could you give me an example what to test?

Click on the keyboard, and write down valid chords in the fields. For the first one something like “C D E”, for the second something like “I III IV”, and verify that something was loaded in the first three scene slots for both tests.

Then, write down your favorite swear word in either input field and verify that it doesn’t crash.

Thanks!

1 Like

Think its works as it should here on mac and there is NO crash when there is nonsense within the text fields

1 Like

Thanks for testing!

With the lack of bug reports I’m satisfied it works well enough for everyone, it has been submitted to the library.

2 Likes

Unfortunately, the library system didn’t manage to build my plugin.

It’s far from my domain of expertise, so if anyone of you wants to guess what’s happening:

QQQQ is nonetheless finished, so I encourage everyone interested to download those builds (reuploaded from Github’s automatic builds - those files are stable release versions):

2 Likes

On linux I get:

In file included from src/Qqqq.cpp:9:0:
src/javascript.hpp:37:10: fatal error: quickjs/quickjs.h: No such file or directory
 #include "quickjs/quickjs.h"
          ^~~~~~~~~~~~~~~~~~~
1 Like

I just tried to build your modules on windows, and it failed. I cloned your repo, changed directory there and ran make dist:

src/javascript.hpp:37:10: fatal error: quickjs/quickjs.h: No such file or directory
   37 | #include "quickjs/quickjs.h"

I have no quickjs folder. Is there some make dependencies that I should run first? Anyway, just trying to help debug your build issues. Happy to try some experiments on my end. I sent more info in a PM to avoid spamming this thread.

1 Like

Yeah, you must make dep before make dist to pull & build the dependency.

The library logs shows it did clone and build the dependency so it’s definitely not what’s breaking.

I have just booted up my very standard linux vm (ubuntu studio image grabbed from osboxes.org, only added the necessary stuff to build on it), nuked my local repo, built it from scratch, and built it successfully.

I don’t think the error is on my end, I can’t troubleshoot a build system I can’t reproduce locally, I’m not experienced enough with build issues to have a clue what’s breaking.

1 Like

That works, thanks.

Looking forward to having a ‘Quack’ at your new quantizer :slight_smile:

1 Like

ok, yeah, once I make deps and then make dist and everything works. Usually when I have problems it something really dumb, but this does not seem to be a case of really dumb. Maybe the build gnomes would help you out? They get a lot of dumb issues, so probably have not realized that yours seems to be something else.

btw - of course the readme on your github should tell how to build :wink:

1 Like

Well, the official plugin build instructions do suggest to build dep! I’ll make it explicit in the docs, but the expected way to use the plugin is to download it off the library anyway.

Both good points. This just happened to be the first third party repo I’ve run into that required a make dep. But for sure anyone who has a real need/desire to build this should be able to figure it out.

QQQQ is now my quantizer of choice, thank you :slight_smile:

2 Likes

I’m looking forward to working with it as soon as it is in the library :grinning:

1 Like

Banana works great! :+1:

While I’m waiting for more info about the library build environment, I’m already focused on something new.

(don’t bother downloading builds - core functionality is missing, such as most outputs)

Becoming more comfortable with C++, I made it out of templates right from the start, so I could easily make multiple versions, although I think the 8 columns will be the best for most people.

It’s a self-modifying, self-patching step sequencer. When you send it a movement trig on the top-left, the rest of the inputs become active for a short window of one millisecond. During that window, simultaneous CV input can add/remove scale degrees from the current node (it wraps around), and enqueue steps.

Then, the playing step sends various continuous gates for you to self-patch back into the machine (or process with external modules): per column, one of the outputs is guaranteed to be up, one is 50/50 random, another is a latch that happens every other time, and the fourth one triggers one step late. Because they are continuous continuous gates, they will continue until the next window closes, so you can use them for self-patching.

The 1ms of delay means that the 1+ sample delay that every logic module adds is a non-issue, so long as the triggers are roughly simultaneous they will work.

At least that’s how the theory goes! Who knows if it will be even usable in practice. Only one way to know. I’m happy how it’s turning out so far, except for one easy optimization I couldn’t figure out: I can’t manage to framebuffer the segment display font, no matter what I try. Isn’t it supposed to be possible? I didn’t find good example code of someone doing it. I used the same technique (but slightly different font) to make it as Braids, which doesn’t framebuffer it. (Edit: fixed)

5 Likes

Finally got Modulus Salomonis Regis produce output… and it works exactly as expected!

Here’s a quick demo:

Maybe it makes more sense now it’s named after the well-known grimoire The Lesser Key of Solomon? It works primarily through self-patching. In a way, you are drawing sigils on the surface of the module to summon unpredictable, dangerous music.

If you grab automated builds, lemme know what you think! Just one caveat: many features are missing. It’s also currently hardcoded to the C Minor scale only. You can set the scale, but the LCD does not work yet, so use Quack and send its External Scale to Modulus Salomonis Regis’ external scale input.

3 Likes