How could you go microtonal?

I don’t really know much PD, but I’ve recently gotten into listening to some microtonal music and would like to find a way to use the Organelle to play custom scales. Kind of an easy answer would be to tune samples on a computer and just play them on the Organelle, but I feel like that takes some of the fun out of it, and seems tedious if I want to switch between scales or sounds. Anyone have any advice/ideas, or know of any patches that already exist like this? It seems totally doable, but I’m not sure the most efficient way to approach it.

And slightly tangential to that, anyone know of any good way to send microtonal notes to a synth? There’s a way to send it by pitch bend cc, it’s only mono though and according to some people not very accurate (I honestly don’t know one way or the other). It would probably work best via modular, right? (audio to cv?)

this is actually pretty simple :slight_smile:

within the organelle pure data patches both midi and the organelle keyboard notes key converted to a send called notes , which are received with [r notes]
so this note is a midi note, so notionally its an integer, but it is interpreted as a float, a fraction - so 60.5 is valid - this is then usually converted to a frequency using [mtof]

so:
a) there is a mapping from a fractional note to the frequency often by mtof
b) fractional notes are fine

this means there are two ways to do microtonal mapping

a) your micro mapping goes from notes to frequency, so replaces mtof
this means going thru every patch, at replacing mtof with your own microtonal mapper
i.e [r notes] → [mtof]-> [oscillator], becomes [r notes] → [micromap] → [oscillator]

b) your micromap goes from notes to notes, just rescaling etc.
this is actually probably the better approach.
basically take the midi note, and remap them to your microtonal scale.
i.e. [r notes] → [micromap] → [s notes] (this wont work but is the idea :wink: )

the great thing about this approach is
for normal patches you can do this in mother.pd, so without touching the patch code!
for orac, you could create a midifx module, which does it … so would work for all synth modules, and even work with sequencers etc :slight_smile:

of course for bonus points, create an orac module that interprets scala files and uses these as the mapping.

this is the ‘same issue’ as expressive controllers, and so the approach is the same…
you indeed use pitchbend, but you would put each note on a separate midi channel.
this of course, requires that your synth is MPE aware… though you can do it with a multtimbral synth by loading the same patch on multiple channels.

inaccurate - done know who told you that, they are talking nonsense;)
PB is 14 bit, so there is plenty of resolution for microtonal , as that 8192 steps per semitone
(for expressive controller its less than that, since we want to slide over at least a couple of octaves, but even that is absolutely fine!)

modular, it would really be audio as such, it would have to be DC coupled.
and then it depends on the resolution of the DAC, but it probably be 24 or 32 bit, so a bit higher…
the main thing about modular though, is it not midi focused, CV pitch is just voltage, so (except midi modules), things like oscillators are assuming continuous voltage not ‘steps’.
but its expensive to start building a polyphonic modular, microtonal or not :wink:
so… not really better, just different.

2 Likes

“Resample” can be fun! with assistance :wink:

1 Like

Thanks Technobear for the in depth answer!
That all makes sense (or at least sense enough for me to start tinkering around). It sounds like an orac module that could interpret scala or .tun files would be perfect, because that would make it easier to try different tunings using different sounds, but that sounds like more advanced programming than I would be able to do at the moment so I’ll leave that as a long term goal.
I also should have been more clear on my modular question, I didn’t explain my set up or thought process at all. This is all for recording/studio purposes, but so far I’ve only been able to find some software for making microtonal music but no way to send it out to any synths I already have (Minilogue, 0 coast, Dark Energy). I figured CV would make more sense (even if it’s only mono for now), but I’m not sure how to best use midi to CV for microtonal. I figure the Organelle might be a good start, it can generate microtonal tones, but using that to control other pieces of gear is where I’m a little lost. I know there are a lot of ways to approach something like this, but I’m not sure what would yield the best and most straight forward results, that hopefully wouldn’t involve buying anything.

Keymanpal, that’s an awesome application! Looks super useful in general and could help setting up a microtonal rig, thanks.

1 Like

I posted a version of the ‘1008’ patch that has some microtunings built in here:

I’ve also been playing around with some microtonal modules in orac recently.
Great idea on a standalone midifx module @thetechnobear, I didn’t think polyphonic patches would work with fractional note inputs but they seem to work fine.
I just took out the microtuning subpatch I’ve been using and put it in a standalone module. It doesn’t support scala, but it has 18 different tuning systems, you can download it here:
https://github.com/adbrant/orac_dev/raw/master/pkg/U-micro.zop

5 Likes

I can’t get this to work :frowning: I placed it in the first module slot in the chain and tried a few synths in the next module – to no avail. Any ideas what I’m doing wrong?

One gotcha is that you need to play the notes into the U-micro module itself (or an earlier module, or from the midi input). If you play notes while the synth is the selected they will go straight to that module and will be unaffected by the remapping.

1 Like

I see, thanks! So I need to have, say, a sequencer in slot 1, then the U-micro module in slot 2, and a synth in slot 3, right?

Any way to play the micro tuning manualy via the built-in keyboard?

Oh, but I think I did just that – used the built-in keyboard while in the U-micro module.

Hmm, I think that should work then, I just gave it a try with the module installed from the zop and it seems ok.
The default tuning is standard equal temperament, and the first couple are pretty subtle, maybe make sure it is on the later tunings that are more extreme.
Also are your patches on the usb drive or on a partition in the SD card?

My patches are on the USB drive. Will try it again later tonight. What synth were you using? Perhaps I could try and replicate your settings? Thanks!

I got it to work! Works both – with the sequencer in front of the U-micro, and the U-micro keyboard. But with some heavy tweaking on the U-micro after some time I get either stuck notes, or a kind of a stuck sequence (even though the sequencer is stopped, it is still sending notes and triggers). The only way to get them unstuck is to change the synth/sound module. Changing the sequencer module or the U-micro module doesn’t do that. Is there an operator error there? Should I be doing something in a different way?

Unfortunately there is the potential for stuck notes if you adjust the tuning while notes are being played. If a note-on is sent out with one tuning, then a note-off with another, most polyphonic patches will get confused and keep playing the first note.
The u-micro module could try dealing with that, but most ways would restrict the polyphony and add processing overhead, so I kept it simple. I would recommend making sure there are no active notes when adjusting the tuning.
I’m not sure about the stuck sequences issue though, that could be something else.

1 Like

Thanks, mate. I appreciate you taking the time to help. I just wanted to confirm this was normal behaviour. I guess, I’ll just have to refrain from chaingin the tuning midnote – too bad, as this was a great way to add a lot of variety to the sequence.

It’s a brilliant module anyway, thanks!

PS Is there a place I could find information about the tunings you used?

1 Like

Glad its working for you!
Here are the sources/explanations for the tunings in the module
12-tet - standard equal temperament
werckmeister: https://en.wikipedia.org/wiki/Werckmeister_temperament werckmeister 1 here
maqam: Eb Bb are raised a half step, some middle eastern keyboards have similar tunings there’s more information here https://www.maqamworld.com/en/index.php
LMY: https://en.wikipedia.org/wiki/The_Well-Tuned_Piano#Tuning
5LimCompact , 5LimMarburg ,5limRiley: http://archive.bridgesmathart.org/1999/bridges1999-101.pdf
7limCentaur: http://anaphoria.com/centaur.html
kirnberger: https://en.wikipedia.org/wiki/Kirnberger_temperament
17 24 9 5 7 15: equal temperaments
mirror72: notes are reversed around C4
fifthcircle: the octave is rearranged so adjacent notes are a fifth apart, ie C G D A E B Gb Db Ab Eb Bb F

1 Like

Thanks again! Much appreciated.

Oh, I’m coming back to this! It would be sooo great (and I’d like to believe of quite widespread value) to have a proper microtuning module for the brilliant Orac. Imagine being able to use La Monte Youngs beautiful ‘The Tortoise, His Dreams and Journeys’ tuning in combination with e.g. an arper and a CZZ module. And of course any customizable set of temperaments in, let’s say scala format (I use Little Miss Scale Oven).

Having tested the U-micro, I found it unfortunately not working with a wide array of synth modules, and then again, with some yes. Admittedly I’m a very ragged PD programmer, I found nothing wrong with the code.

So this post is to see if I’m alone with this or if there’s others out there, maybe with better programming skills, who could help - programming-wise I’m not able contribute a lot, I’m afraid. Are there dealbreaking limitations for a flexible and stable microtuning module or is it overly complicated? I think WyrdAI’s approach to use midi note floats is very clever here, I don’t know how common, though. But it would be nice, if you could read in a set of tuning files from a folder on initializing the module (and then convert to midi note numbers internally). And it would be crucial to be able to set the root note. And maybe send an All-Notes-Off on changing the tuning, so it won’t result in any orphaned Note-Ons.

I hope this finds some resonance, maybe others are already a few steps further. Anyway, thank you so much to all of you contributors of fine modules and interesting experimental ideas and settings. And once again to theTechnobear for Orac and all the provided instruction and support - it’s tremendous what you do for us!!!

1 Like