horizontalpitch

Subscribe to Horizontalpitch via Email


Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 95 other subscribers

Latest Articles


Categories


Meta


Coding the Modular

digital programming, analog waves

HannesHannes

Usually when you ask a modular user about why they decided to embrace this instrument, you’ll hear something about being tired of computers, interacting with complex UIs with blunt tools like mouse and keyboards, or having to mess with over-complicated MIDI mappings. Apparently many modularists have a problem with computers, and I’d dare to say, with good reasons. It’s all the more astonishing then, that the number of modules involving active coding as part of the sonic creation process is so high. Since the rise of digital, DSP-based modules several years ago, and the widespread adoption of the Arduino platform as a development tool, many ATmel-based, blank-canvas type of devices have popped-up on the modular landscape. These are often modified Arduino boards (or even actual shields), with connections conveniently broken out to the frontplante. You can do with these whatever you want, as long as you know your way around coding.

To name a couple of examples: the ADDAC001 Voltage Controlled Computer, the tbDSP by Analog Bytes and Full Scale Audio (still in development), the SnazzyFX Ardcore, the Noise Making Machines nw2s::b or the Circuit Abbey Euroduino do just that.

ADDAC210 Open Heart Surgery

ADDAC210 Open Heart Surgery

Some go beyond being merely modularized prototype boards and offer integration with existing music coding environments like Max/Msp or PD. The aforementioned ADDAC001 let’s you use the module with Max/Msp, PD or other music software through the USB port (acting as an OSC/MIDI to CV conveter), the Nebulae granular sampler from QuBit Electronix lets you load native PD and Csound code . Then there’s devices that include a whole ecosystem of user-created content: When the OWL from Rebel Technology will get out of the pre-order phase, it will offer an online library of patches, which can be downloaded and installed on the module.

The most extreme of all these modules might be the ADDAC210 Open Heart Surgery. An Arduino shield in Eurorack form, which not only let’s you write your own software for it, but expands the classic pot-jack-switch interface with a prototyping “breadboard”, hence letting you also create your own circuit.

Despite the many differences, they have one thing in common: they all require a relatively high level of expertise and/or depend strongly from user-created code. A module like the OWL stands or falls depending on how much high quality software its userbase creates for it, others have already failed the attempt and turned into useless pieces of abandonware.

In the midst of all these geek-friendly, coding-oriented solutions two modules stand out for their approach: one is the Equation Composer by Microbe Modular, the other one is the recently released Teletype by Monome. We took a look a both modules and got in touch with the makers.

closeup

The Equation Composer, Photo by Elizabeth Busani

Equation Composer, Minimalistic Code Symphonies

The Equation Composer by Microbe Modular takes the concept of Bytebeat as it can be found in apps like BitwizGlitchmachine or Droidbeat and brings it to the modular world (if you never heard of Bytebeat, here’s a handy and very detailed introduction). The concept is very simple: you write a short mathematical expression using numbers and arithmetic/logic operators, this expression is evaluated n times a second (depending on the sample rate) producing an 8 bit value. What you get is a soundwave, which, depending on the code, can be a very simple, static sawtooth or an ever evolving algorithmic composition. Of course the EC adds some modular goodness in form or CV control over all the module’s parameters, plus 3 code-definable ones. The only thing you don’t get is realtime-input of these equations, you’ll have to edit the firmware to change them, but the process is pretty straightforward even if you’re not an Arduino ninja and you can store quite an amount of them on the device.

Bytebeat equations are what I would call the coding equivalent of circuit bending. It’s an exploratory art that can be both accessible and educational. You don’t need to know much about coding to play around with it, even typing in random stuff can yield interesting results.  You can learn a lot by just playing around with it and the more you understand how it works, the more complex and interesting the results will become.

For completeness sake I should mention that the Equation Composer has a whole bunch of additional modes and features besides the main, equation player mode, including, but not limited to:

All of these can be edited/changed and you can create some new ones, either from scratch or by combining the “modularised” pieces of code in the firmware.

Bret Truchan from Microbe Modular tells us a little bit more about the whole matter.

Horizontalpitch: You made a module that plays so called “bytebeat equations”, where did the idea come from?

Bret Truchan: Hello horizontalpitch! It’s an honor to answer your questions. Although I’ll answer in the first person, I don’t consider it “my” module – it was a team effort.

The Equation Composer was heavily influenced by BitWiz 2.0, which is an iPad app based on bytebeat. Bytebeat is a type of sound synthesis where the output of math equations is used verbatim as music. Here’s an example equation:

t * ((t>>10|t<<11)&53&t>>3)

Credit should also go to “Viznut”, who popularized bytebeat and wrote some extensive posts on the subject.

HP: The Equation Composer let’s your write modular music using short pieces of code, isn’t that kind of a contradiction? Modulars and coding?

BT: That’s true. Modulars + coding are a tough sell. I love my modular because it isn’t programming and it doesn’t involve a computer. I enjoy the constraints that a modular introduces to the creative process. Heck, I’m emotionally attached to my modular! When coding enters the picture, it feels like a distraction.

The Equation Composer doesn’t require programming. But if you do want to explore your own bytebeat equations, there’s no avoiding it. Bytebeat is a wonderful beast and worth the effort. The noise generated by math equations has amazing character. It’s something completely new.

HP: the EC does a lot more than just playing bytebeat equations, how did you get from there to the final functionality?

Legendary feature creep! Ha ha ha. The original concept of the Equation Composer didn’t have a USB port, nor the ability to upload custom equations. As it evolved over the course of a year, the firmware went from 1 file to 206 files. The documentation grew to around 70 pages, including the module references. As the firmware progressed, the possibilities unfolded along the way, and I just kept going.

I knew that shifting focus from a bytebeat player to a programmable Arduino module would not make it more attractive. There were already programmable modules on the market, including the NW2S::B and the Ardcore. I tried to keep the focus on bytebeat, but there was no reason not to make it programmable, so I did. I don’t consider the Equation Composer to be squarely in the “programmable modules” camp since it’s entirely capable without any customization.

HP: Why did you choose to go for a module that produces sound instead of control voltages?

BT: I think it was just chance. There was no philosophical reason behind that decision. My second module, the Meta Sequencer, creates control voltages.

HP: The software inside the Equation Composer is modular in itself, turning the whole idea of a modular into a conceptual hypercube. The recent Roland FX modules also have virtual software modules inside, do you think that’s the future?

BT: Hmm, that would be interesting.  I’ve always wondered what would happen if Nord decided to release the Nord Modular in eurorack format.  The problem is (which is also something I had to wrestle with when building the Equation Composer) that it forces the front panel controls to be “generic”, which would be less intuitive than traditional modules.  Also, there’s a lot of things that are easier to accomplish with a few lines of code, rather than trying to string together a bunch of math modules.  For example, arrays.  None of my newer modules use the Equation Composer architecture.  So no, I don’t think that “hypercube” modules are taking over the earth anytime soon.

HP: talking about the future, what can we expect from Microbe Modular in the next years?

BT: We’re partnering with a few artists and musicians on a few upcoming modules, so you’re likely to see a variety of modules under the Microbe umbrella. All of our modules are likely to have a digital element to them, since that’s where my background is from. I’ll share more details when I can.

tt

Monome Teletype, photo curtesy of Monome

Modular Live Coding: Meet the Teletype

While all the previously mentioned modules are based on the fact that you can change the code that runs on its processor, the Monome Teletype is the only one that will let you do that directly on the module and in real-time. In fact it comes with a built-in screen and a small keyboard (as in QWERTY keyboard).

Of course this new device from Monome will blend in very well with their existing ones, so for instance you can use it with your grid, or have it talk with your Earthsea.

This is really a game changer for people who like the idea of interacting with the modular through code, directly on the instrument and in real time. It really opens up some interesting, new possibilities.


Of course we had to have a little talk with Monome as well, Brian Crabtree tells us a bit more about their new creation and coding vs. modulars in general.

Horizontalpitch: Until recently, when one heard the name “Monome” the first association that came to mind was “computers”, when did you realise that you had to integrate your technology with modular synths?

Brian Crabtree: This makes sense in that the Monome grid emerged at the time when live computer music was becoming not just possible but sophisticated– a moment when innovative hardware was less common. The grid presents an approach which can elevate interaction with computer software, and given its open-source nature these ideas spread rapidly.

The grid itself has no prescribed functionality, so it makes sense to be paired with the flexibility of a computer. In recent years there has been movement towards hardware, particularly modular systems. With careful consideration the grid fits very well into the knob and cable universe. The computer allows for open-ended software routings with infinite configuration potential, where conversely modular succeeds in its general lack of configuration.

The boring response to “modularizing” the grid would’ve been to insert a computer, with all of the annoying parts of computer experience but without the best parts. I’m less interested in simply attaching CV to everything. Instead I saw modular as an opportunity to create complete instruments with the grid as a performance surface. But of course these are still open-source and can be fully modified at will.

This has opened up entirely new gestures to the modular environment.

HP: One could say that you closed the cycle on a higher level with the Aleph and especially with the recent Teletype module. You started with computers, moved to modulars and then made a computer that sits right in your rack. Was that the plan from the start?

BC: It was my plan from the start to have Teletype follow the grid modules, but I wouldn’t say it is a return to the computer, which represents a very different way of working. Teletype doesn’t run Ableton and have an inter-application MIDI bus etc etc. It is a very specifically designed system which happens to have a screen and a keyboard.

I’m pretty averse to menu diving, and quite fond of the command line. The idea behind Teletype is to radically augment musical “events” with a simple script system. Patterns, procedural events, time-based events, cross-influence and randomness are all facilitated in the “programming” langauge. “Scripts” are triggered by inputs, and the output is both CV and triggers, in addition to an internal system to remote control other grid modules. It’s possible to reset the position of the White Whale or synchronize an Earthsea pattern using Teletype.

Teletype also has a tracker mode for pattern input– bringing yet another sequencing paradigm into the modular environment. But given the script system, it’s not just simple playback. The playhead, loop points, and note data are all dynamically change-able with trigger sripts. The data in the pattern itself can be manipulated or generated from other scripts, or from the command line.

Everything is save-able to flash, and startup is instant– so while there is an impulse to cast Teletype squarely into the live-coding realm, I expect I’ll be using it myself more for pre-composition by setting up interesting control networks for different parts of a set. Scenes can be recalled from the front panel without a keyboard, so this is a use case I aimed to facilitate.

HP: Since you developed the Aleph together with Ezra Buchla, many people are asking themselves why you’re not making something for the Buchla system as well, did you consider this as a possibility?

BC: Given the potentially controversial nature of Teletype, we needed to ensure it would be accessible to the most people initially, and euro is the most popular format presently. We’d be quite happy to expand to other formats if it becomes viable.

HP: Can you blur the line between creating music and coding? How did you manage to make coding become part of a performance rather than something hidden behind a sound?

I think the line is absolutely blurred. It helps to compare coding to writing a score. Composition and performance are both “music making” but we now have many tools which allow us to do both at the same time.

Of course like all performance (and composition) this can be done in a compelling way or with complete boring tragedy. I still think we’re all collectively exploring new territory and establishing language for how to talk about this kind of work. Most importantly I feel it is important to be conscious of our impulsive biases– that seeing a computer might mean “not live” or that a particular sound purely comes from a single module– as these assumptions may very well be untrue and prevent us from appreciating a potentially wonderful moment.

HP: Tell us some more about that Teletype module. Where did the idea originate from?

BC: Many grid applications I create are systems that get put in motion with a set of rules– typically the “event” was simply triggering a note via MIDI– and surprise! Everything started to have the same sound.

I needed to trigger events that could do more than just change a note or MIDI control value. I made a simply script to trigger different notes in a scale. Then I added randomness. Then I added delay. Then I added rules. Then I threw the whole thing away and designed a simple syntax that had more flexibility than I could’ve imagined.

The goal was not to put “programming” into a module– it was to solve a very specific musical need– for detailed and powerful event creation.

HP: The design aspect (including the visual side) of your instruments is obviously very strong and important for you, what’s your process like?

BC: The impetus for all designs lies in a creative need or curiosity. The difficulty comes in trying to refine old ideas (which are easier for musicians to adopt) versus introducing very new approaches (which may not resonate for one reason or another). I’m incredibly grateful that we have a community with the attention span and trust to delve into our more explorative endeavors.

Strong visual and mechanical design simply reaffirm the commitment to an idea. I prefer to have few tools, but for those to be a pleasure to use and behold. And to live a long life. And to appreciate how they were made and where they came from. These are the sorts of objects I’d like to put into the world.

HP: The good old question: form or function? How do these concepts relate to your work?

BC: The good old answer– they must inform one another strongly. The minimalism of the grid, for example, allows it to be free. No labels, no built-in funcitonality. You don’t have to “hack” the grid to do something new. By default it does something new– you tell it the new thing.

HP: What can we expect from Monome in the near future?

BC: Historically we’ve been mostly creating open-ended designs that require definition, or modules that fit into an open-ended system. I’m now focussing on fully-conceived instruments that have thoroughly designed interaction, while keeping the ability to redefine behavior.

The function and format of these devices must stay a surprise for later, though.

Closing Words

While many coding-oriented modules only make sense for a very narrow, technically minded niche or end up on the abandonware junkyard due to a lack of user-generated content, the Equation Composer and the Teletype really stand out, one because of it’s versatility and great out-of-the box experience, the other because, for the first time, coding can be done directly on the module and even become part of the performative act.

For Further Information

Equation Composer: microbemodular.com

Teletype monome.org

OWL: hoxtonowl.com

ADDAC001 Voltage Controlled Computer: addacsystem.com

tbDSP: tbdsp.tumblr.com

Ardcore: snazzyfx.com

Euroduino: www.circuitabbey.com

Graphic designer, illustrator and modular synth enthusiast. Founder of Papernoise, a small design studio located in northern Italy, specialised in graphic design for the world of music.