Skip to content

A DIY capacitive multi-touch midi instrument, protoyped as a bachelor final essay by Shawn Pinciara.

Notifications You must be signed in to change notification settings

LIMUNIMI/Multi-touch-midi-surface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-touch-midi-surface

A DIY capacitive multi-touch midi instrument, protoyped as a bachelor final essay by Shawn Pinciara. The project is based on the work of Narjes Pourjafarian, Anusha Withana, Joseph A. Paradiso and Jürgen Steimle. The multi-touch surface

Tutorial:

How to:

A detailed tutorial on making a surface with Arduino UNO can be found here.

The other pieces of software to be installed are:

Instead of using the Processing file cited in the tutorial, the file Processing/MTK_MIDI/MTK_MIDI.pde should be used instead.

Structure:

The BlobMidi class handles the convertion from Blobs object (of the MultiTouchKit library) to MIDI events.

It is instantiated at setup() and his update() function called during the loop(), when the blob object (corresponding to the fingers’ touch) becomes non-null.

The update() function handles the blob in the 3 states:

  • At push
    • Usually sends a NoteOn
  • At hold
    • Usually sends a CC
  • At release
    • Usually sends a NoteOff

All the states are debounced.

To offer more customization for different use cases these capabilities are offered:

  • Discrete Map functions: to convert X,Y of the blobs not array indexes of MIDI notes (mapToInt() )
  • Modes: the variable mode let the user program different MIDI convertions to handle the different use cases and mapping (standard modes are 0 = drum , 1 = piano , 3 = pentatonic scale)
  • Log: all data can be recorded on tables and saved as CSV on mouse click or finger release

About

A DIY capacitive multi-touch midi instrument, protoyped as a bachelor final essay by Shawn Pinciara.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published