Fugue Machine is the work of Alexandernaut (a.k.a. developer and musician Alexander Randon), who has the excellent apps Arpeggionome and Arpio under his creative belt. And, like many tools, Fugue Machine was developed out of the creator’s desire to use it himself.
It all started for Randon with an interest in Johan Sebastian Bach, who in the 18th century popularized a compositional style known as the fugue—complex, ornate music that was realized through the application of mathematical operations to melodies. “I learned about his work in college, and the idea of applying mathematical operations to music always fascinated me,” he says.
Since then, Randon would often apply operations to melodies as part of his own composition process. “I’d start with a melody in a piano roll, for example, inside my DAW. Then, to apply the operations, I would copy/paste notes, stretch them, reverse them, shift them up and down, etc.” This worked well, and isn’t particularly novel in today’s digital world, but he eventually recognized a problem: These operations took lots of time—often, long enough to break musical flow.
So Randon set out to build a tool to help remove that time—something that would enable him to hear the results of an operation almost immediately after curiosity struck. As it turns out, Randon realized that the best (though not-so-obvious) implementation for this was a multi-playhead piano roll—and eight months of programming later, Fugue Machine is now available for purchase on your friendly neighborhood Apple iTunes App Store.
“I was a main-track engineering student, so the idea of combining something I was good at (math) to something I wanted to be good at (music), seemed obvious.”
Essentially, the app lets you manipulate and change the direction, speed, and tone of the melodies you create in its familiar piano roll, playing multiple variations of that melody simultaneously via multiple playheads. It works with its own internal sound engine, and can send MIDI information to external sound sources as well. “I was a main-track engineering student, so the idea of combining something I was good at (math) to something I wanted to be good at (music), seemed obvious.”
There were, however, some notable challenges on the road from conception to reality. The first was an issue of interface design, and realizing the concept of multiple playheads. “I’ve actually wanted to build a melodic operation tool like Fugue Machine for years now, and I’ve tried a bunch of times, but was never able to satisfy all the design goals,” Randon says. In fact, it wasn’t until, fed up one day following a dead-end design approach, that Randon decided he’d build Fugue Machine’s back-end first, in hopes that the technical design might inspire its UI. “I quickly realized that the most eloquent technical design was to have one music sequence being read multiple times,” Randon says. “Then it hit me: That’s a piano roll with multiple playheads! I seriously jumped up and down, alone in my music studio, for far too long.”
MIDI Note messages provided their own technical challenges, particularly when dealing with external sound synthesizers—more specifically, how to handle moments when the same note is triggered by two or more playheads at the same time. There’s no standard way that synthesizers handle this scenario: Some will create a second voice, others will replace the first, and some will actually just freak out or get hung up. So Randon had to ensure that for each note, there would only be one active “Note On” message sent at a time. Though coding the algorithm to make this work was extremely difficult to keep lightweight, he eventually got there.
Randon worked on Fugue Machine on eight months straight, thanks in part to the Gray Area foundation, a Bay Area nonprofit based on applying art and technology to create positive social impact. (Among other things, Gray Area incubated Jono Brandel’s incredible Patatap, a mobile and web app that functions as a portable audiovisual kit.)
“The Gray Area community is just incredible, and it’s probably the main reason I choose to stay in San Francisco,” Randon says. He spent three months working inside the Grand Theater, a historic theater in the Mission District that Gray Area has rebuilt from the ground up. “The program included project critiques, various resources, and culminated in a public showcase. I work alone, so working around a diverse group of artists/technologists was refreshing and inspiring. And the deadlines! I’m convinced I got this thing to work thanks to the pressure of the impending public showcase. I had to show something!”
While Randon worked hard to create an extremely clean, lightweight internal sound, the ability to send the note data to external synthesizers makes it even more powerful. Randon says the best way is to control external hardware synths is with a CoreMIDI hardware interface, like iConnectMidi or the original iRig MIDI (which he recommends due to its ability to power the iPad, unlike its successor). The MidiMux app is another option for those looking to integrate Fugue Machine into their studio: it connects to your computer via lightning cable and, with an accompanying MidiMux server app, Fugue Machine and all other virtual MIDI ports show up in your computer as regular MIDI ports.
"I make it a point to see every little detail through before I launch anything.”
With professional applications in mind, widespread tech company approaches didn’t really apply. “There’s a common practice in the Bay Area tech scene to ‘release early and iterate’, but I don’t follow it,” Randon says. “It doesn’t seem to apply well to pro-music software—software that users have a relatively intimate relationship with. If a piece of music software crashes when you’re in the creative zone, it really is heartbreaking! And since I know the feeling all too well, I make it a point to see every little detail through before I launch anything.”
Fugue Machine is currently iPad-only, but an iPhone version is in the works. Randon has a healthy list of new features in mind as well, including the ability to send each playhead to a different destination. This means you’ll soon be able to send each playhead to a different hardware synthesizer, or to a different synth app on the same iPad. There are two other upcoming features Randon is excited about, but he’s keeping them close to the chest for now.
For Randon, it’s another step on a journey that began ten years ago. “I actually recall the exact moment I became interested in music,” he recalls. “I was in high school, and my friend bought a Korg MS2000. The first time I played with it, I held a key, turned the cutoff knob—and that was it.”