[solved] Norns - can it control a Sirin via USB MIDI? Can it read CSV?

Hello everyone, I’m very newbie at writing for Norns.

Can Norns send MIDI data to a Sirin, so that the Norns is functioning like a sequencer for the Sirin? Brains in the Norns, sound from the Sirin?

Can the Norns read a CSV with data, transform that data into MIDI note information (with pitch, pitchbend, velocity, amplitude information) and then send along to Sirin to play?

I read through the Streams tutorial and it looks like the text file reading might be explained there. The Physical tutorial mentions hooking up a MIDI controller but doesn’t mention hooking up a MIDI instrument.

The endstate I am working towards is to be able to feed a CSV (or other text format) to Norns and have Norns transform that text file into MIDI note, pitchbend, velocity/filter, amplitude. Then pass that MIDI data via USB to a Moog Sirin at a steady tempo. Tempo controlled by a knob on Norns.

The CSV would contain frequencies in Hz and data for velocity and amplitude in rows for each note. If the Hz-to-MIDI note w/pitchbend is a hassle I could do that in my spreadsheet before making the CSV.

I also have crow so if the whole thing is easier via CV than MIDI please let me know.

I have Mac OSX, norns, crow, Sirin (takes CV or MIDI).

Thanks for any help, guidance, getting started pointers – even if it’s just “Hey you should just write it out in Logic and not do it this way.”

reading in a csv file should be straightforward using the Lua’s io.open. Once you do that you could certainly parse the csv and do what you want with the data. Here’s some examples/libraries for parsing CSV strings in Lua. I’m not so familiar with norns midi API, but I believe you can send midi data directly with Lua without using supercollider as well.

It all sounds doable, and maybe a good learning exercise, but certainly more work than using the piano roll in logic. I assume you have specific reasons for wanting to compose with a csv file though…

1 Like

yes, all those things are well within the scope of a simple lua script on norns.

1 Like