Skip to content

scarfboy/touchy

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

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