MIDISharingAdventure

From XPUB & Lens-Based wiki

MIDI Sharing Adventure

File:Synthesizer-idle-light.webm

17-1-2026 Research moment

Looking for interesting ways to share MIDI files, I stumbled on this page intended to download high quality MIDI files for learning how to play piano. https://www.reddit.com/r/synthesia/comments/qdkxou/creating_a_website_for_sharing_midi_files/

midishare

midishow looks kinda scary with all it's ads

Discussions

15-01-2026

On Steve's Party we sat downd at the synth and started just bleeping a blooping around. There are many ways to go but its nice that we share the same interest in generating sound waves and do somthing with them.

19-01-2026

Daan found a website where people can share MIDI files and scores. It is quite hard to submit your own sound. He points out that whatever we do it is important to store and share the sound we creating.

Some quesgtions that came up: How do we store and share the sounds we created?

Valentin proposes a way to start a prototype by thinking about each letter of the alphabet as a a sound, which is not a big think if we think about spoken lanuage (we assign specific letters to each sound to create the alphabet). My proposal is about reversing the evolution of orality to litercay - so literacy to orality - by assigning a specific sound to each letter. Just a quick idea is to find an instrument with each letter of the alphabet -> take a note e.g. C and play that note on each instrument (or synthetize them) -> assign sounds to letters -> and voila: recreated the vocal/orail repertoir of sounds our alphabet. This prototype can serve as a further exploration into encryption. (Save Bootleg Library (SBL))

Valentin also proposes a way to think about files as structured datapoints. File sharing (sound waves).png


The most amazing website with all the instruments with pictures in alphabetic order :DDD

Alphorn Banjo Cello Djembe Ektara Flute Ghatam Imzad Jews' Harp Kalimba Langeleik Mandolin Ney Ocarina Panpipe Qairaq Rubboard Sitar Tuba Ud Vuvuzela Waterphone Xylophone Yamatogoto Zurna

Mapping letters to instrument sounds.png Mapping letters to instruments 02.png

20-01-2026

Valentin shares the observation of usb stick left in CDJs by djs, as a way to spread files among venues, radios etc. physically.


10-2-2026

Sharing that our first USB stick made it to Antwerp. Valentin got the idea to make platform for tracking and sharing the files that are on the USB. Manetta points out that it is interesting that this is centralising a not-centralized system. Valentin proposes what if this system is semi-centralised so the usbs contain some instructions to acces and upload the content of them but not an 'easy' way but in a way that requires some technical knowledge. about servers/git/ or other methods for filesharing.


24-2-2026

Can we link MIDI-controllers and their assigned audio to each other through an online network? Like an etherpad but with MIDI controllers.

  • MIDI-controllers need to be linked to a computer, because it's having wifi. Or there should be midi devices that can go online. To make the devices compatible to each other so they can respond.
  • Is sequencer.party the tool that we're looking for?

Prototype 1: MIDI-mapping (how does MIDI work?)

Today we learned how to map signals from the synth keys and nobs plus the samplers button in TouchDesigner. We also learned to sample music from different devices (synth, computer).

This way we could make a first prototype for assigning synthetic sounds to letters.

Mapping keyboards and nobs in touchdesigner.jpg Loading sounds of instruments aplhabetical order on the Roland sampler.jpg Labeling keys, nobs, and buttons based on touchdesigners MIDI mapping.jpg

Mapping the MIDI keyboard's keys

MIDI keyboard input -> Select individual keys -> re-range their value to 0/1 -> export value to the assigned letter's aplha value -> perform :D

Mapping the MIDI keyboard's keys in TouchDesigner.png

I have found this xPub graduation project as a nice reference for what a modular system could be:
Modular Matter by Jian Haake [ohjian]

Prototype 2: shadowshares

Diving deeper into the habit of DJ's leaving their usb's in Pioneer sets after their set, it gave us the idea that this could be done intentionally. As a poetic reference to this habit of forgetting your usb. We wrote a README file which explains what the usb contains. We added some guidelines for people who want to push the usb further with newly added material. A Signal group with Valentin and Daan was created which people can access when finding the usb. Then added a command in the README, to share gps location of where they left the usb and a summary of what they added.

Shadowshares-readme.png
Shadowshares first iteration.jpg

On Monday the 26th of January ⁨ʟɨʟɨȶԋ⁩ joined the Signal group.

27-1-2026 Feedback & notes during prototyping class

worked on two things

mapped alphabet to type the word "file sharing" valentin connected the midi output to touch designer will be shared next week, maybe with a new iteration

CDJ habit of DJs leaving USBs: dead drop prototype README script > put at a USB plus a playlist of songs! the USB is left at WORM somebody found it and took it home, and joined a signal group

plan to share more USBs to see if it can grow

i did put music that i bought and more pop songs from bigger labels that i downloaded illegaly

sharing notes about the music?? branching multiple USBs??

Manetta: are there other ways to enter the network? Kamo: could also be ok to not do that Manetta: one person could hold on to it / loose it, then it's gone Kamo: Could put out a 'teaser' that they are around, ( like an easter egg ) Daan: maybe a way to keep track of it, without showing it's content

3-2-2026

How do we go further? How do we carry on? We want to make several more and spread those around. Start gossips that there are shadowlibrary usb's for artists/dj's lingering around.

To do:

  • Making a shadowshares logo
  • Make laser engraved keychains to attach to usb's
  • Acquire new usb's to spread around
  • Get new gigs or dj-sets to spread it
  • Contact artist friends so they can do it for you
  • Make the new USBs az git repositories -> update the README.txt

10-2-2026

Links and things to explore:

Prototype 3: WEB MIDI API test

Testing WEB MIDI API.png

In this experiment I followed this article to start with. It has 3 steps to implement WEB MIDI API:

  • Check if browser supports WEBMIDI
  
  if (navigator.requestMIDIAccess) {
      console.log('This browser supports WebMIDI!');
  } else {
      console.log('WebMIDI is not supported in this browser.');
  }
  
  • Check if there is available MIDI device plugged in
  
  navigator.requestMIDIAccess()
      .then(onMIDISuccess, onMIDIFailure);
  
  function onMIDISuccess(midiAccess) {
      console.log(midiAccess);
  
      var inputs = midiAccess.inputs;
      var outputs = midiAccess.outputs;
  }
  function onMIDIFailure() {
      console.log('Could not access your MIDI devices.');
  }
  
  • Listen to MIDI events from the device (key pressed, knob turned etc.)
  
  function getMIDIMessage(message) {
      var command = message.data[0];
      var note = message.data[1];
      var velocity = (message.data.length > 2) ? message.data[2] : 0; // a velocity value might not be included with a noteOff command
       switch (command) {
           case 144: // noteOn
              if (velocity > 0) {
                  noteOn(note, velocity);
              } else {
                  noteOff(note);
              }
              break;
          case 128: // noteOff
              noteOff(note);
              break;
          // we could easily expand this switch statement to cover other types of commands such as controllers or sysex
      }
  }
  

Other links and documentation:

Next step would be to finish the third step and then through websocket create an environment to start sessions whhere remote MIDI devices could connect. (client-server communication)


02-3-2026

10-3-2026

Discussion with Manetta: Daan is sharing frustration about understanding web MIDI. Maneteea suggests to revisit the start of the project to stir the direction back to actually work with MIDI files and sharing MIDI files among valentin (aka me) and Daan. Valentin wants to explore how to export MIDI from Korg Monologue as a next step.

Valentines discoveries along the way of connecting an analogue synth to Reaper. Reaper is a software which was released the first version in 2006 by Cockos under the Properiaty license. >> would be nice to have conversation about this type of license because its not free however in practice it is free to use.

PPQN:

"Pulses per quarter note (PPQN), also known as pulses per quarter (PPQ), and ticks per quarter note (TPQN), is the smallest unit of time used for sequencing note and automation events."

MIDI beat clock:

"MIDI beat clock, or simply MIDI clock, is a clock signal that is broadcast via MIDI to ensure that several MIDI-enabled devices such as a synthesizer or music sequencer stay in synchronization. Clock events are sent at a rate of 24 pulses per quarter note. Those pulses are used to maintain a synchronized tempo for synthesizers that have beats-per-minute-dependent voices and also for arpeggiator synchronization. "

REAPER's MIDI file export panel.png