La version de votre navigateur est obsolète. Nous vous recommandons vivement d'actualiser votre navigateur vers la dernière version.

Invent new ways to play music

Thanks to the standards ( MusicXML, LUA script, MIDI ), it is easy to invent new instruments aroud the Expresseur software or its API.

New instruments

Invent new physical interface to trigger the music in the Expresseur.

It can be useful for intensive players ( score, or improvisation ) who wants an instrument which has not the look and feel of a piano keyoard.

It can be an easy way to invent interface for disablity.

To facilitate the compatibility with MIDI, you can use Micro-controller MIDI-compliant ( e.g. teensy )


Small optical keyboard, with sound-generator embedded.

 optical keyboardoptical keyboard
















 video for demo

features :

  • 3 optical buttons, with velocity (for four fingers, to play an Expresseur-score)
  • 2 mechanical buttons (to play a piano-pedal, arpeggiate, move in the score )
  • 2 linear potentiometers  to set the volume and the dynamic (or to mix the sound rendering )
  • 2 Leds to display the velocity read by the optical buttons
  • a MIDI sound-expander embedded from serdashop
  • The box is 3D printed from STL files (with OpenScad design).
  • Teensy 4 micro-controller is used, to control the hardware + USB/MIDI
  • USB/MIDI connection to Expresseur
  • audio jack output from the MIDI sound-expander
  • C code opensource for the teensy 4
  • Do It Yourself ( 3D basic print, no PCB )

Contact by email for more information

 User's guide :

  • Connect this optical keyboard to the computer with USB-cable
  • Setup MIDI device in Expresseur : this keyboard is used for Midi-IN & Midi-OUT 
  • Setup Mixer in Expresseur : select this keyboard MIDI device as sound-output, and select a sound in the GM-list (piano, guitar .. ). Additional settings of the sound can be done (cf. list of MIDI controls on this PDF , and Expresseur-syntax to control instruments  )
  • Setup MIDI actions in Expresseur : add triggers for each event (or range of events ) coming from this keyboard. It can be used to play the score, move within the score, pedal, arpeggiate, track volume ...  :
  • events from the keyboard :
    • The 3 optical button generates Note-On / Note-Off, with velocity according t the dynamic setting of the keyboard. Velocity is displayed on the 3 LEDs 
    • The 2 mechanical buttons generates Note-On / Note-Off, with velocity 127
    • First potentiometer sets the volume of the optical buttons
    • Second potentiometer sets the dynamic of the optical buttons
    • If an optical button is pressed while a mechanical button is pressed , the pitch of optical button is shifted according to the mechanical button pressed
    • if potentiometer is changed while a mechanical button is pressed, the potentiometers will act as MIDI Control-Change. To come back to potentiometers  for dynamic setting, press the two mechanical buttons while changing the potentiometer.
    • When potentiometers act as MIDI-Control-Change : the mechanical buttons change the Control-Change number. Without button or with  one of the 2 buttons :  the two potentiometer can generate  6 different Control-changes.

Other projects :

  • MIDI PAD : Reuse of the Kat multi-pad to improvise accompaniment
  • MIDI guitar : reuse of MIDI-Guitar to improvise "guitare-like" accompaniment
  • Former keyboard project  :

Small keyboard, with 5 keys ( one per finger ), and some functional buttons. It helps a lot to play intensively scores. A package can be sent on demand, for free. It contains :






New outputs

Invent physical acoustic instruments, with robotics toolkits.

Trigger wav sounds.

"Display" the sounds using the shader technology.

Script new music logic

 To create or adapt new music behaviors,script your own music logic with LUA language.

Global schema of API MIDI LUA GUI in the Expresseur 


LUA Midi GUI API schema of the ExpresseurLUA Midi GUI API schema of the Expresseur