Squinktronix Arpeggiator discussion thread

A wise person suggested I move discussion from the announcement thread over here.

1 Like

Just pushed fix for the bug reported this morning. If you build yourself, make sure to use the b2 branch. I’ll post some new builds “later”

@Schabbes could you post a midi file or something so I can repro your Entrian issue? I don’t own the sequencer, nor know how to use it.

Oh, never mind. It seems like the free player doesn’t work. well, I’m sure I can get a copy of the real one.

Could you post a patch that is giving your problems? Preferably with as few modules as possible that aren’t Fundmental, etc.

Bruce, how is it that I’ve never given you an Entrian Sequencers license? :slight_smile:

PM me your VCV account email address and I’ll put that right.


Yes, there is something for sure not right with not enough notes coming out. I thought this would be a “minimal” path where I arpeggiate the output of Harmony. But for sure only half as many notes are coming out as I expect. Hmmm… Well, I had to work late a the day job tonight, so probably won’t figure it out quite yet.

…Oh, I see. This is one of those “what is this gate input supposed to mean, anyway” kind of issues…

I don’t know if this beyond the scope of what you want to do with the arpeggiator, but if you’re taking feature suggestions/requests, one thing that I find super useful in an arp is the ability to arpeggiate through additional polyphonic CVs. If your input is from a MIDI controller for example, you’re going to have velocity for every note anyway, so why not have the option to send that out of the arpeggiator? If you have input from an MPE controller, you’ll have velocity, pressure and cc74 per note.

I guess if the goal is to keep the module relatively simple, this starts to pull away from that, but maybe you could have an expander with inputs and outputs for extra CVs?

Another maybe possible/maybe not function would be an output that guesses the root note based on whatever notes are in the buffer, sort of an inverse of Harmony, I guess. Maybe it could be transposed down an octave for a sort of bassline generator.

Also, in the module browser, the description says “Apreggiator.” Typo?

So, like more than 16 pitch inputs? sounds cool. Input from a midi controller? My input is from a jack that caries a CV, right? Could add another one…

As far as guessing the root, that’s cool, too. something to think about.

And, yes, typo. now fixed. tx!

Yeah, to illustrate the simplest case, with just one extra CV in/out, you could take the velocity output of the MIDI->CV module as input, and then with each step, the arpeggiator would produce a note, a gate and a velocity. In your TL;DR patch, it would look something like this (with velocity modulating the VCO pulse width):

Also, I can’t really tell if the Hold function is doing anything at all right now. The only notes that seem to play are currently held ones, so if there are notes accumulating in the buffer, I don’t know how to access them.

@Squinky - Thanks for making it so that the current Arpeggiator Mode is indicated when it’s changed by a CV. :+1:t3:

would the CV2/CV output pair always be playing some pair from the CV2/CV inputs? i.e. the maximum playing “things” would still be 16, but the would be voltage pairs rather than single voltages?

I’ll take a look. I suspect that it still works, but you never know. Update:yes, hold seems to be broken.

Yeah, I’m using the old (ancient) drop-down I used in many SL module, but in the application it was obvious that it was not changing, so I added that. I think this is the first time I ever made one controllable by CV.

Yes, that’s the idea!

Thx! Will probably do this. Also, I made a new unit test for hold. It does not work. I see I broke it when I added the hold cv. Will fix.

The last times I reloaded the patch it seemed to work ok again… maybe it was some midi hickup. When it wasn’t playing correctly I was assuming it might be because there are more channels transmitted than are active (in my example the polyphonic output was 9 channels, MIDI-CV was set to 8 and I was playing some 2, 3 or 4 note chords on my midi-keyboard, but it probably desn’t make a difference if it’s connected to Entrian Timeline or directly to MIDI-CV. I can’t seem to reproduce it so I was probably doing something wrong or some midi message got lost or something…

Sorry for the probably false alarm, but in the chain of events it at least helped you to an Entrian license :slight_smile: If I encounter some weird behaviour again I will report.

Oh, I don’t doubt something bad happened that should be fixed. Just need to find it.

Arpeggiator update.

I’ve been adding the requested second CV (“velocity”). It’s a trivial code change, but unfortunately it broke dozens of my unit tests. I’m only maybe half done fixing them.

I also discovered that hold is not just broken, it’s broken in three different ways. I have a unit test now for hold, so it shouldn’t break in the future, but still working on it (the test still doesn’t pass).

The hold bugs intersect with a problem driving Arpeggiator from other modules, and that is the issue of when should the sound “turn off”. Currently it turns off when you release all the keys. I think instead it should turn off when the clock next goes low. That will make it act more consistently.

Will post when update is available.

Thanks @cthonophonic for the input.

1 Like

Hope to have a new version up soon:


New test release of Arpeggiator 3/26/2020. It has a lot of new features and bug fixes:

You can download build for all three platforms here: Release Second test versions · squinkylabs/SqHarmony · GitHub

This module is getting very fun (I think). One of the fun things about it is all the different arpeggiation modes it has. You can see them listed here:

There is also a lot of CV control available. It’s super easy to use this thing as a sort of sequencer/shift register for generative music making.

Here is the arpeggiator section of the changelog:

Added shuffle trigger input. Added second CV In/Out. Fixed the hold switch. Fixed some bugs around deciding when to stop playing channels. Fixed code bugs reported by staircrusher. Fixed a typo in the Apreggiator module description. Fixed bug where setting length back to zero did not bring back full input size. Use a better shuffling algorithm, and better random numbers.


I build from source, is this the B3 branch?