bidiwave, a wavetable synth for monome norns

bidiwave

wavetable synth for monome norns

Inspired by ppg/waldorf stuff with nice Supercollider tricks added :nerd_face:

Requirements

norns, MIDI

Documentation

enc 1 → change pages (hello, MIDI, wavetables, envelopes, modulations)
key 2 and key 3 → navigate page sections
enc 2 → select value
enc 3 → change value

hello page
key 1 save and key 2 load the preset numer chosen with enc 2.
With enc 3 you can navigate through wavetables while playing, a really nice one knob feature.

MIDI page
On the first section you can select velocity sensitivity, portamento in seconds, pitch bend range in semitones and modwheel controlled lfo speed maximum.
On the second section you can activate an arpeggiator in three modes, “play” iterates in the order you play notes, up goes up and down goes on its way too. With “freez” the arpeggio continue playing in background, if selected while holding notes.
You can select an action (octave up or step skip) the arpeggiator does every n cycles and another action the arpeggiator does every n steps (skip step or muting), so it’s a little algo style arpeggiator.

wtables page
The synth use envelopes to interpolate between waves you choose in this page, in the square you can set in order oscillator 1 interpolation start and end and oscillator 2 interpolation start and end.
You can add your own waves, they have to be .wav audiofiles made by 512 samples and have to be placed in “waveforms” folder.

envelopes page
There are 4 envelopes, one controls amplitude and filter cut, other two navigate through the waves and the fourth is a crossfade control between the two waves.
In the first line with enc 2 you can choose the envelope to show and edit, with enc 3 you can activate or deactivate editing. Every change in parameters will update the values of the active envelopes (the bright ones), it’s done for fast editing with so many parameters.
At the end you can choose with enc 2 and 3 the loop and release points.

modulations page
Here we have 6 oscillators detune, similar to supersaw… superwave. The “nF” parameters set the frequency for random amplitude lfos and “/” set the destination amplitude modulation, it may point to table interpolation, crossfading or detune. There’s a lowpass resonant filter too. Just listen what happen and enjoy.

Download

v1.0.0 - https://github.com/fivedollarman/bidiwave

;install https://github.com/fivedollarman/bidiwave

58 Likes

i know nothing about wavetables but this seems cool…for clarity, what’s the significance of 512?

1 Like

sorry, I mean a .wav audiofile made by 512 samples (floating point numbers) :slight_smile:

3 Likes

this is perfect timing. I just loaded a huge collection of IRs, wavetables and just tiny snippets of sound in general to try and coax a preexisting script into becoming exactly this. youve done a wonderful job here and saved me from much frustration. thank you.

5 Likes

welcome and thanks for making & sharing this script.

2 Likes

Thanks for making a very interesting-looking and sounding script; I’ve not got too much experience of wavetables, so this seems like an ideal way to learn.

1 Like

How do we ensure they are 512? Does this refer to length? I have no idea what this measures :blush: haha

Looks bleedin’ great though, look forward to having a play

2 Likes

I think you’ll need to be clearer about the format of the wavetables, I’m presuming the 512 samples is the frame length? You’d also need to mention how many frames are in the table and the bit-depth and sample rate. For example a common standard would be 256 frames of 2048 samples at 32 bit, 44.1KHz.

It’s possible you could use the software for the 4ms Spherical Wavetable Navigator (an open source fork of WaveEdit) to create wavetables here if 512 sample frames - Spherical Wavetable Navigator

Very cool stuff, thank you for creating it!

2 Likes

agreed!
it looks like a wonderful contribution

3 Likes

Yay - cannot wait to try this out! I was just wondering if there were any wavetable scripts for the Norns =D

Is it possible to use the Sheets of Sound waveform editor for this script?

1 Like


Seems like it.

3 Likes

Ahh - thank you so much for confirming =D

Here’s a couple of other wavetable resources that may prove useful for this script as well. Not sure if they fit the format requirements but just in case:

https://waveeditonline.com/ and AKWF FREE (waveform samples) : Adventure Kid

1 Like

Hi there, the engine I made takes audio files and convert it to the wavetable format used by Supercollider. It doubles the array of 512 floating point amplitudes of the .wav, adding zero points for its internal computation facilities, and it allocates them in the Supercollider buffers for fast reading, it does everything on the fly. The allocated buffers have a fixed length of 1024 32bit floating points numbers so the audio file must have 512 samples of any floating point bit format and framerate. Wavetables are the discrete descriptions of one cycle oscillatons, in this case frames and framerates doesn’t matter at all, you can crop any cycle from an audio file, stretch it to 512 samples and upload it in the wavetables folder of bidiwave.
The synth use envelopes to interpolate between the eight waves you choose in the wtables page, in the square you can set in order wave 1 and wave 2 table interpolation start and end, and there’s a cross fade between the two waves driven by the last envelope.
Greetings :grin:

11 Likes

great explanation!

what tool are you using for this process? i probably have something which can do it but have never measured my audio by discrete samples

Audacity :nerd_face:

3 Likes

nice work! i’m surprised no one has made a wavetable synth for norns before - or at least not one i can find. Excited to dig deeper into this.

something i did earlier caused an ear splitting blast of distortion and crashed the audio drivers, requiring a full reboot. only happened once though :thinking:

thanks for all the extra detail :smiley: that all makes sense.
Thanks so much for this, can’t wait to give it a try!

1 Like

excellent i just tried making some with these waveform tools (hardcore/softcore)

there’s something in export settings about cycle length which i’ve set to 512
will test your app tonight and report whether it works well

thanks for the help to understand all of this :+1:

2 Likes

Congratulations and big thanks, @marcocinque ! Will test it tonight, but the video already sounds gorgeous.

@glia I don´t know if it´s this SKYNET (welcome?) apocalypse messing the internet today, but I can´t access hardcore/softcore, floats.se appears offline and I didn´t found it in fors.fm. Does someone have the Windows one to share (I don´t know if @ess is active here)? Thanks!

1 Like

It’s not skynet lol
I had trouble downloading months ago and then still it only works on one of my computers

i have the mac version or i’d send to you asap