MIDI Input Histogram Capture / Random Play

This patch hooks up the Histogram players and Arpeggiator Box to my Scale player, so I can easily put interesting scales into the player and I get the convenience of using two of the black keys (C# and Eb) to put the histograms players into record mode, one (F#) to clear and another (Bb) to re-sync any playback through any player that’s in record mode (any black key maps that way in this module)

You choose a scale to play through by selecting it and pressing the flashing button.

The white key thing just makes it easy for non-piano players to play in-scale. It was a rewarding project. (Maybe I should learn to play the piano instead?)

The same flashing button feature is used on the clock source module so that you can set up a new clock frequency and launch it only after it’s all dialed in.

I have put a resonant drum-type synthesizer and a more typical modulated oscillator synthesizer on each of the two histogram players sources…

That cool Allpass Ring Reverb (that I just squished down to fit in my packed patch) gives a mellow background vibe, particularly suitable when the res drums are in use.

You can set up interesting and more natural-sounding rhythms by re-syncing one channel that’s recording relative to the other that’s not. If both channels are recording then the sync puts them in unison.

New this morning: Dancing lights! The display shows the play pattern, with white indicating that it’s the current scale and blue indicating that it’s being played.

Scale by Histogram polyoctave–2 voice 25112301.audulus4 (775.4 KB)

A much simpler DEMO is here:
Random Tones by Histogram v25.11.23.1 DEMO.audulus (528.9 KB)

The latest Histogram player:
Screenshot 2025-11-23 at 09.26.32

The arpeggiator module:

3 Likes

Here’s an improved demo, with a button to latch in a new key, and with the red/green theme on the midi histo sampler (green means green light to soloing over a pattern. Red means we’re sampling the pattern).

Scale by Histogram polyoctave.audulus (677.1 KB)

I tried adding polyphonic soloing, but I obviously need to relook at that functionality in Audulus. Things were getting overloaded when I tried adding a midi keyboard in a poly mode to the soloing synth.

1 Like

This is awesome and wild as usual! Thanks for sharing @dcLargo! :slight_smile:

1 Like

Thanks! The gauntlet was kind of thrown with the marble thing. I just couldn’t leave it alone until I got the multi-octave part done.

2 Likes

We have an amazing user community! It’s really all the dedicated Audulus users that make this such an exciting product. It seems that no matter what area of musical synthesis you choose, someone is working on an Audulus patch. We all owe a debt to @Taylor for such a wonderful toolkit. I’m really looking forward to all the improvements in the pipeline.

6 Likes

I’ll say! Audulus is a lovely sandbox!

4 Likes

Audulus be praised!

3 Likes

Awesome! I’m happy this tool has it’s own thread. Thanks for posting this awesome module :slight_smile:

1 Like

I’m having fun playing with this thing! Here’s a two-voice demo, with all the messy counters grouped into neat little boxes. I was looking at effects, but these little synths are so awesome I settled on a little reverb instead.

Scale by Histogram polyoctave–2 voice.audulus (1.4 MB)

2 Likes

Exploring some possibilities. I added a clock divider for sampler #2 and tried clocking the playback on the 180 degree output. Gives a bit of a lilt to it. Alse added octave adjusters for each sampler output.

Scale by Histogram polyoctave–2 voice.audulus (1.5 MB)

3 Likes

Wow, I have no words.

2 Likes

I’m working on a version of this which sets a maximum count for any one bin and once that point is hit on a bin, subsequent hits on that bin instead toss hits from all other bins. This should make the sampler more responsive as you pile on hits. First hunch is that 25 hits should be the cutoff, giving a minimum change of like 4%.

3 Likes

This version of the module introduces a limit on bin size to maintain responsiveness as you play. Maximum bin size is set by applying an integer at binMax. Default is 100.

Random Tones by Histogram v12.12.18.1.audulus (425.3 KB)

When the count of hits in a bin reaches the value binMax, its count stops at binMax. If a bin sitting at that max number of hits receives another hit, the other bins are decreased by one, giving the bin just hit more prominence.

Here’s the demo:
Scale by Histogram polyoctave–2 voice.audulus (1.6 MB)

This demo used a minor mod to my tap tempo module, which sets the g output to zero initially, to avoid triggering playback before the tempo has established.

Don’s Tap Tempo v12.12.18.1.audulus (70.8 KB)

2 Likes

I just posted my latest “Autoplay by Histogram” work at the top of this topic. I fixed a lot of little mistakes and made an arpeggiator module to run two of 'em. Several arpeggiation options in there. The modules have pretty detailed writeups in their patch description fields.

The topic is years old but I got this wild desire to finish it.

I uploaded a simpler demo and a more complicated-looking (but easier to use) patch:

Everything is working pretty smoothly now. Kind of soothing sound if run at slow tempos.

Okay, I put in my wishlist item: Dancing lights! White means it’s in the current scale. Blue means it’s playing.

Same major internal and external changes as the upload yesterday.

Big one:

Scale by Histogram polyoctave–2 voice 25112301.audulus4 (775.4 KB)

Demo:


Random Tones by Histogram v25.11.23.1 DEMO.audulus (528.9 KB)