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

Check this bad boy out!

http://www.expert-sleepers.co.uk/generalcv.html

2 Likes

Pretty cool!

Web MIDI has taken off and chrome browser or the Web MIDI app on iOS. Here’s a screen shot and video of iseqtribe for the iELECTRIBE app running in the Web MIDI app controlling it and a video of it too.
image

It might be useful to create splines that replicate the MIDI values themselves and then users could use the output from those MIDI splines to process it in ways they would with regular MIDI.

1 Like

I have updated the build_audulus_wavetable_node tool to add MIDI support. It generates a gate spline (based on note on/off and velocity) and a pitch spline (MIDI notes scaled to 1/o, scaled down to the 0…1 range). The pitch spline includes an Expr node to move the output back to 1/o range.

Here is sample output: test.audulus (26.2 KB)

gem install build_audulus_wavetable_node

to update, and

build_audulus_wavetable_node -m somefile.mid

to use.

2 Likes

Wow this sounds crazy! So I think the algorithm is adding slopes in between the note points and gates. Is there a way to make the gates and notes more plateau-like?

2 Likes

Well, it’s really just adding the points, and the spline node’s default behavior is to add the slopes. I can force it to be more stepwise… just more work. :slight_smile: Or, as managers love to say, it’s a simple matter of programming.

1 Like

I guess a work around would be to remove velocity from the gate points and then you could sample and hold the 1/oct signal when the gate==1. Would that be less work?

1 Like

ok that slipped past me, that is solid gold!

1 Like

Not really less work. The correct solution is to add an extra point just before the transition to the next point so you get a microsecond transition between points. I’ll see if I can make that happen.

2 Likes

Here’s a video tutorial on creating .wav files to auto generate splines by sampling a few milliseconds of audio using AudioShare and TwistedWave on iOS followed by using the single cycle wave file as input for the @jjthrash program on macOS to generate the code per request by @robertsyrett.

2 Likes

Been quietly watching this develop – pretty much way over my head. At this point what is the chance of designing wavetables in WaveEdit and then running the tables through @jjthrash’s github project? Is the end result splines that are too CPU intensive for iOS?

1 Like

I’ve already made a waveform in WaveEdit and run it through my tool. Works well! As for CPU intensiveness, the WaveEdit waveform only does 256 samples, so it’s not so bad. Worth a try, anyway.

2 Likes

There goes my evening. After dinner you will probably see me kicking aroung asking quesions about compiling your work :grin:

2 Likes

Are you familiar with GitHub? It’s the starting point. You need to clone the script @jjthrash created to your computer as the first step.

1 Like

I have been avoiding Github, as every I try to compile something I end up spending a bunch of time troubleshooting a compile. I better wait till after dinner :roll_eyes:

1 Like

I’d never used it before and was able to figure it out so let me know if you run into problems.

1 Like


Here’s a modification of the original @robertsyrett patch along with a video.
spline CPU friend 6.audulus (287.6 KB)
image
Here’s the PseudoStereo module used to convert the mono screen recording to stereo.
PseudoStereoIAA.audulus (11.7 KB)
image

3 Likes

That video is amazing! What program did you use to make the kaleidoscope?

1 Like

How’s this for stepwise behavior? test.audulus (19.4 KB)

I’ve pushed up a new version of the gem that will have this behavior. The stepwise transitions are accomplished by having an extra node 0.0001 before the next node, so they’re pretty sharp. Nothing a slew limiter won’t fix, though.

2 Likes