Know Your Nodes pt 5 & 5.5 - Splines & Streamlining a Large Patch

I would love a simple version. Also, crazy idea, how hard would it be to encode a monophonic midi clip into a pair of splines?

1 Like

Sounds good. Iā€™ll give the simple WAV version a go.

As for MIDI, I guess it depends on what you mean. I guess you could:

  • ignore everything but the note on commands and when they show up
  • define a MIDI note that means -1 and a MIDI note that means 1 and scale everything else in between

What kind of workflow are you thinking? Piano roll -> spline?

1 Like

So the input would be a midi file.

And the output would be two splines. One spline would be 1/oct signals that are scaled down, say something like ā€˜(o+5)/10ā€™ and the other spline would be gate info with amplitude mapped to velocity.

That way I could scrub a pre quantized melody like I was playing the spline as a sequence in the video.

1 Like

Great idea about using MIDI files. Iā€™ll open a new thread about ideas for auto generating custom splines. @jjthrash Iā€™ll have to study your node builder code so I can try out some ideas I have as well.

2 Likes

Sounds good. Iā€™m going to be changing the structure of it a bunch to accommodate new things, but hopefully that wonā€™t cause too much trouble.

1 Like

Iā€™ve added the single-spline building feature. You can update the ruby gem with

sudo gem install build_audulus_wavetable_node

Then, when you run the command, add a -s parameter, like so:

build_audulus_wavetable_node -s file.wav

The resulting patch will contain a single spline.

1 Like

Cool thread everyone!

Just FYI this is all really awesome stuff, but know that in the future in Audulus 4 youā€™ll be able to do this stuff without using the spline node (though it is an amazing hack for now). Youā€™ll be able to upload .wav files directly and scan through them in the same way.

Maybe everyone knows that already but just wanted to add that in for the passers-by.

Carry on!

Nice! Will the scanning provide anti-aliasing?

1 Like

Also, do you have an idea what the interface to the WAV/scanning node will be? I could possibly mimic that so that later people can drop in replacements if desired.

2 Likes

Iā€™m sure it will, and that might mean we have two nodes or an option that turns on/off the anti-aliasing, because that would obviously interfere with using the node as pure data storage.

Not really - we started a thread about it on the old forum, but we could restart it here and discuss how it should look.

1 Like

Any chance you could provide a sample midi file that I could work from?

1 Like

Sure, let me compress this 3k file into azip Solar Octopus Track 1 (Dublin).mid.zip (1.1 KB)

2 Likes

Does this look like what youā€™d expect the 1/o spline to look like? Based on whatā€™s in the MIDI file I think itā€™s probably right, at least the left ā€œclusterā€ of nodes.

I calculated the 1/o value by assuming (note 69 is A4 is 0.0 ā€œvoltsā€). Then I scaled it down by a factor of 10 per your idea.

Not sure whatā€™s up with the big gapā€¦

Yeah, that looks right! The big gap is probably because I just ripped this midi file out of a project (Solar Octopus) so thatā€™s probably a part where some other instruments are playing. Thatā€™s pretty amazing that you were able to modify the code so quickly!

edit: Is there a node I can download
:blush:

1 Like

Sure! out.audulus (9.0 KB)

Will be a bit before I make the utility do something usefulā€¦ this was generated from prototype code.

Question about the gate spline node: Iā€™m guessing you would prefer gate to be 0 whenever there is no note currently on, is that right?

2 Likes

That would require the least conversion, so yeah.

1 Like

Interesting, the notes seems to have gotten squished.

edit: side note, didnā€™t web browsers used to be able to play midi files?

1 Like

Windows used to have a built in general MIDI synth. Itā€™s been quite a while though.

2 Likes

Everything should have a built in synth.

4 Likes

I checked and itā€™s still built into Window Media Player on Windows 10. If you download a midi file in the browser it will ask if you want to play it. I thought it was long gone.

1 Like