Skip to content

knobs-dials/touchy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

touchy

I wanted a way to visualize musical intervals within chords, in a layout that's not biased to a particular key (like a a piano style keyboard is).

This

  • allows varied layout. So far I've played with
    • a few octaves of chromatic (see screenshot)
    • guitar and uke layout
    • isometric with thirds and fifths
  • optionally mentions
    • note name (disabled in screenshot below)
    • Intervals to all touched notes
  • colors by consonance (blue) or dissonance (red)
  • reacts to multitouch
  • reacts to MIDI input
  • plays to MIDI

Animated screenshot of playing a major triad

This is code leveraging the Kivy framework, because it's a very convenient way to quickly make this sort of experiment - the first functional version was under 100 lines.

Requirements

  • Kivy
  • loopMIDI (optional) is one way to route MIDI to a DAW

TODO

  • change button behaviour

    • right now reacts twice
    • figure out whether/why changing button text makes it so slow to respond to lots of touches at once (is it relayouting?)
  • actually add the code here

  • figure out other realtimeish issues

  • think more about the consonance/dissonance coloring

  • packaging so I can offer download rather than 'please install these things'

CONSIDER

  • make it react to sliding touch

    • as in, hit all buttons you pass, not just the one you land the touch on
    • consider strumming, pitch bends
  • add on-screen config, e.g. swapping to other layouts, what to show on buttons, switching midi channel

  • add file config (e.g. for what MIDI device name to prefer)

  • think about other musical concents I want to explore with this

    • make it smart about chords?

About

multitouch musical keyboard, and interval visualizer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published