Ukulele - Sample-based Instrument Patch

Hey everyone, I’ve just released a new patch that turns your Organelle into a ukulele. :slight_smile:

This is a summary of the interface:

Download from Patchstorage. More info in the readme on GitHub.

Please try it out and let me know what you think!

7 Likes

This is great, thanks for posting. The sounds are really pleasant and satisfying. The tuning is a nice touch, tweaking them a little adds a humanness to the sound. I like the chord identification, a helpful educational component!

Also, how does the tuning work? looks like delay based… how does it do with other types of sounds? might be a good standalone effect, or part of a multi effect

2 Likes

Thanks for the feedback! Very glad that you like the patch! :slight_smile:

The chord identification was adapted from maxlib/chord. I changed it enough so that it no longer did the same thing as the original, so lacking creativity, I named my version notchord.

The original object can definitely be used in more ways for educational purposes. There is a slight bug with its inputs though. It doesn’t actually respect the lower note limit argument from what I can tell. I fixed this for my version since I also added an upper limit to constrain the inputs to one octave. I can submit a fix for the original version too, but I’m not sure if the current maintainer accepts pull requests. The repo seems pretty quiet.

The tuning was adapted from the pitchshift object in the official Pure Data examples.

I admit that I don’t fully understand this one yet, but it is delay based, like you thought. Here’s a description by Maelstrom from the pdpatchrepo.info forum:

It is a granular pitch shifter that works by sending the signal into a short delay, and then reading it back with two delay taps (the two grains). The [phasor~]s adjust the delay times, thus reading them back at different speeds, depending on the transposition, which is what causes the pitch change. They also control the grain envelope (window) and are 180 degrees out of phase with each other, causing them to fade in and out of each other. Since each grain always starts off reading at the same delay time, they’re essentially able to read them at different speeds without “falling behind” or “getting ahead” because they end up wrapping back when their envelopes are silent. It’s kind of a difficult thing to describe while trying to keep it simple, but hopefully that helps.

And some more technical info from Miller Puckette’s The Theory and Technique of Electronic Music. This provides the transposition factor formula, which explains where some of the magic numbers come from.

Hope that helps! :slight_smile:

2 Likes

This is a great idea. Can you post a video of it being played, here or on github?

Has anyone done the same thing to turn the Organelle M into an electric guitar?

I imagine the code / samples could be modified to achieve that simulation, correct?

(That is really what I would love to use the Organelle M for.)

1 Like

I’ve asked a far more musically talented friend to create a short demo for it. Will hopefully post something soon! :slight_smile:

1 Like

Thanks for that info! The (not)chord object looks interesting. It might be fun for generating bass lines (or melodies) automatically…

3 Likes

My friend recorded a short demo of the patch. :slight_smile:

3 Likes

Nice - Thanks!

1 Like