PyCon 2019 in Cleveland, Ohio

Sunday 10 a.m.–1 p.m. in Expo Hall

Griode: the musical instrument for not-yet-musicians

Jérôme Petazzoni

Description

In 2017, I started playing music with a [LaunchPad](https://novationmusic.com/launch/launchpad). A LaunchPad is a MIDI controller, which for all intents and purposes is basically an 8x8 grid of buttons which can also light up in different colors, thanks to individual LEDs. Since it doesn't have any sound-producing ability on its own, I would connect it to my laptop, and run something like Ableton or Bitwig (two fine, but proprietary, pieces of software). This would give me a portable, versatile musical instrument. In 2018, I started to think that it would be nice to replace the laptop with something smaller (like a Raspberry Pi). It would also be cheaper, and more suitable for use by small children. There was just one little problem: the software I was using could not run on a Raspberry Pi, so I wrote my own. The result is an Open Source project called "Griode." [It's on GitHub](https://github.com/jpetazzo/griode), and it serves at least three kinds of users: 1. People like me, who want to play music on the go with something rugged enough to withstand frequent travel, and small enough to fit in a regular backpack. 2. People like my nephews (5 and 8 years old at the time), who can learn to play tunes on it using a [Simon](https://en.wikipedia.org/wiki/Simon_(game%29)-style interface. 3. People who don't know chords and scales, but who want to improvise along with other musicians. After you punch in the note and scale that you want to use, Griode lights up the buttons corresponding to the notes in that scale, making it easy for you to play them even if you don't know anything about music theory. Under the hood, Griode makes use of many existing Open Source components like mido (for MIDI interfacing) and FluidSynth (to generate sounds). It is built around an event loop, and allows multiple controllers to be connected at the same time. The UX is provided by "gridgets" (widgets on a grid!) arranged by something that looks like the distant cousin of a compositing window manager. Come see and hear and play with Griode; I will have at least two controllers for folks willing to try it out. If you're still wondering what this could look (and sound) like, I made a [handful of short videos](https://www.youtube.com/playlist?list=PLBAFXs0YjviK9PzKnr3MDsRU6YAJgeH1K) (2 minutes each) to showcase its main features.