You’ve got plenty of off-the-shelf controllers – but what if you want something that’s unique to you? OpenDeck is an affordable, young, Arduino-powered controller platform for DIYers, and it’s starting to produce some jaw-dropping results.
There was a time when you needed to build your own stuff to add custom controls to synths and computers, sourcing joysticks and knobs and buttons and whatnot yourself. Doepfer’s Pocket Electronic platform spawned tons of weird and wonderful stuff. But then a lot of people found they were satisfied with a growing assortment of off-the-shelf generic and software-specific controllers, including those from the likes of Ableton, Native Instruments, Novation, and Akai.
But a funny thing happened at the same time. Just as economies of scale and improved microcontroller and development platforms have aided big manufacturers in the intervening years, DIY platforms are getting smarter and easier, too.
Enter OpenDeck. It’s what you’d expect from a current generation platform for gear makers. It supports class-compliant MIDI over USB, but also runs standalone. You can configure it via Web interface. You can plug in buttons and encoders and pots and other inputs and LEDs – but also add displays. You have tons of I/O – 32-64 ins, and 48 outs. But it’s all based on the familiar, friendly Arduino platform – and runs on Arduino and Teensy boards in addition to a custom OpenDeck board.
You get an easy platform that supports all the I/O you need and isn’t hard to code – leaving you to focus on hardware. And it runs on an existing platform rather than forcing you to learn something new.
I’ll take a look at it soon. Because it’s built around MIDI, OpenDeck looks ideal for controller applications, though other solutions now address audio, too.
But platform aside, look how many cool things people are starting to build. With so many stage rigs getting standardized (yawn), it’s nice to see this sort of weird variety … and people who have serious craft. (At least the rest of us can sigh and wish we were this handy, right?)
The very nice-looking OpenDeck custom board is US$149. But you can also load this on much cheaper Arduino boards if you want to give it a test drive or start prototyping before you spring for the full board – and you can even buy pre-configured Arduinos to save yourself some time. (Some of the other boards are also more form efficient if you’re willing to do some additional work designing a board around it.)
Sensimidia, for Croatian dub act “Homegrown Sound.”
Tannin and Ceylon, two MIDI controllers.
Morten Berthelsen built this Elektron Analog controller.
Elektron’s Octatrack gets a custom controller … and foot pedals, too. By Anthony Vogt.
OpenDeck also features open source firmware under a GPLv3 license.
Game developers have Unreal Engine and Unity Engine. Well, now it’s audio’s turn. Tracktion Engine is an open source engine based on the guts of a major DAW, but created as a building block developers can use for all sorts of new music and audio tools.
You can new music apps not only for Windows, Mac, and Linux (including embedded platforms like Raspberry Pi), but iOS and Android, too. And while developers might go create their own DAW, they might also build other creative tools for performance and production.
The tutorials section already includes examples for simple playback, independent manipulation of pitch and time (meaning you could conceivably turn this into your own DJ deck), and a step sequencer.
We’ve had an open source DAW for years – Ardour. But this is something different – it’s clear the developers have created this with the intention of producing a reusable engine for other things, rather than just dumping the whole codebase for an entire DAW.
Okay, my Unreal and Unity examples are a little optimistic – those are friendly to hobbyists and first-time game designers. Tracktion Engine definitely needs you to be a competent C++ programmer.
But the entire engine is delivered as a JUCE module, meaning you can drop it into an existing project. JUCE has rapidly become the go-to for reasonably painless C++ development of audio tools across plug-ins and operating systems and mobile devices. It’s huge that this is available in JUCE.
Even if you’re not a developer, you should still care about this news. It could be a sign that we’ll see more rapid development that allows music loving developers to try out new ideas, both in software and in hardware with JUCE-powered software under the hood. And I think with this idea out there, if it doesn’t deliver, it may spur someone else to try the same notion.
I’ll be really interested to hear if developers find this is practical in use, but here’s what they’re promising developers will be able to use from their engine:
A wide range of supported platforms (Windows, macOS, Linux, Raspberry Pi, iOS and Android)
Tempo, key and time-signature curves
Fast audio file playback via memory mapping
Audio editing including time-stretching and pitch shifting
MIDI with quantisation, groove, MPE and pattern generation
Built-in and external plugin support for all the major formats
Parameter adjustments with automation curves or algorithmic modifiers
Modular plugin patching Racks
Recording with punch, overdub and loop modes along with comp editing
External control surface support
Fully customizable rendering of arrangements
The licensing is also stunningly generous. The code is under a GPLv3 license – meaning if you’re making a GPLv3 project (including artists doing that), you can freely use the open source license.
But even commercial licensing is wide open. Educational projects get forum support and have no revenue limit whatsoever. (I hope that’s a cue to academic institutions to open up some of their licensing, too.)
Personal projects are free, too, with revenue up to US$50k. (Not to burst anyone’s bubble, but many small developers are below that threshold.)
For $35/mo, with a minimum 12 month commitment, “indie” developers can make up to $200k. Enterprise licensing requires getting in touch, and then offers premium support and the ability to remove branding. They promise paid licenses by next month.
Check out their code and the Tracktion Engine page:
Vember Audio’s Surge synth could be an ideal choice for an older machine or a tight budget – with deep modulation and loads of wavetables, now free and open source.
And that really means open source: Surge gets a GPL v3 license, which could also make this the basis of other projects.
People are asking for this a lot – “just open source it.” But that can be a lot of work, often prohibitively so. So it’s impressive to see source code dumped on GitHub.
And Surge is a deep synth, even if last updated in 2008. You get an intensive modulation architecture, nearly 200 wavetables, and a bunch of effects (including vocoder and rotary speaker). Plus it’s already 64-bit, so even though it’s a decade old, it’ll play reasonably nicely on newer machines.
Inside the modulation engine.
Synthesis method: Subtractive hybrid
Each patch contain two ‘scenes’ which are separate instances of the entire synthesis engine (except effects) that can be used for layering or split patches.
Quick category-based patch-browser
Future proof, comes as both a 32 & 64-bit VST plugin (Windows PC)
Universal Binary for both VST and AU (Mac)
8 versatile oscillator algorithms: Classic, Sine, Wavetable, Window, FM2, FM3, S/H Noise and Audio-input
The classic oscillator is a morphable pulse/saw/dualsaw oscillator with a sub-oscillator and self-sync.
The FM2/FM3 oscillators consists of a 1 carrier with 2/3 modulators and various options.
Most algorithms (except FM2, FM3, Sine and Audio-input) offer up to 16-voice unison at the oscillator level.
Most oscillator algorithms (except FM2/FM3) are strictly band-limited yet still cover the entire audible spectrum, delivering a clear punchy yet clean sound.
Noise generator with variable spectrum.
Two filter-units with arrangeable in 8 different configurations
Feedback loop (number of variations inside the parenthesis)
Available filter-algorithms: LP12 (3), LP24 (3), LP24L (1-4 poles), HP12 (3), HP24 (3), BP (4), Notch (2), Comb (4), S&H
Filters can self-oscillate (with excitation) and respond amazingly fast to cutoff frequency changes.
Waveshaper (5 shapes)
12 LFO-units available to each voice (6 are running on each voice and 6 are shared for the scene)
DAHDSR envelope generators on every LFO-unit
7 deformable LFO-waveforms + 1 drawable/stepsequencer waveform
LFO1 allows envelope retriggering when used as stepsequencer
Extremely fast and flexible modulation routing. Almost every continuous parameter can be modulated.
8 effect units arranged as 2 inserts/scene, 2 sends and 2 master effects
10 top-quality algorithms: Delay, Reverb, Chorus, Phaser, EQ, Distortion, Conditioner (EQ, stereo-image control & limiter), Rotary speaker, Frequency shifter, Vocoder
DIY guru Mitch Altman has been busy expanding ArduTouch, the $30 kit board he designed to teach synthesis and coding. And now you can turn it into a bunch of other synths – with some new videos to who you how that works.
You’ll need to do a little bit of tinkering to get this working – though for many, of course, that’ll be part of the fun. So you solder together the kit, which includes a capacitive touch keyboard (as found on instruments like the Stylophone) and speaker. That means once the soldering is done, you can make sounds. To upload different synth code, you need a programmer cable and some additional steps.
Where this gets interesting is that the ArduTouch is really an embedded computer – and what’s wonderful about computers is, they transform based on whatever code they’re running.
ArduTouch is descended from the Arduino project, which in turn was the embedded hardware coding answer to desktop creative coding environment Processing. And from Processing, there’s the idea of a “sketch” – a bit of code that represents a single idea. “Sketching” was vital as a concept to these projects as it implies doing something simpler and more elegant.
For synthesis, ArduTouch is collecting a set of its own sketches – simple, fun digital signal processing creations that can be uploaded to the board. You get a whole collection of these, including sketches that are meant to serve mainly as examples, so that over time you can learn DSP coding. (The sketches are mostly the creation of Mitch’s friend, Bill Alessi.) Because the ArduTouch itself is cloned from the Arduino UNO, it’s also fully compatible both with UNO boards and the Arduino coding environment.
Mitch has been uploading videos and descriptions (and adding new synths over time), so let’s check them out:
Thick is a Minimoog-like, playable monosynth.
Arpology is an “Eno-influenced” arpeggiator/synth combo with patterns, speed, major/minor key, pitch, and attack/decay controls, plus a J.S. Bach-style generative auto-play mode.
Beatitude is a drum machine with multiple parts and rhythm track creation, plus a live playable bass synth.
Mantra is a weird, exotic-sounding sequenced drone synth with pre-mapped scales. The description claims “it is almost impossible to play something that doesn’t sound good.” (I initially read that backwards!)
Xoid is raucous synth with frequency modulation, ratio, and XOR controls. Actually, this very example demonstrates just why ArduTouch is different – like, you’d probably not want to ship Xoid as a product or project on its own. But as a sketch – and something strange to play with – it’s totally great.
DuoPoly is also glitchy and weird, but represents more of a complete synth workstation – and it’s a grab-bag demo of all the platform can do. So you get Tremelo, Vibrato, Pitch Bend, Distortion Effects, Low Pass Filter, High Pass Filter, Preset songs/patches, LFOs, and other goodies, all crammed onto this little board.
There, they’ve made some different oddball preset songs, too:
Platinum hit, this one:
This one, it sounds like we hit a really tough cave level in Metroid:
The monome made history by transforming the virtual world of the computer into a low-fidelity grid of lights and buttons. But it’s no less magical today – especially in the hands of stretta.
Matthew Davidson has been an innovative developer of patches for the monome since its early days. And that’s a principle innovation of the hardware: by reducing the “screen” to a minimal on/off grid, and lighting buttons independently from your input, the monome becomes a distillation of the ideas in a particular computer patch. Just like a fretboard or the black and white keys of a grand piano, a music box roll or the notes on a staff, it’s an abstraction of the music itself. And its simplicity is part of its power – a simplicity that a mouse and a high-definition color display lack.
Matthew is using some features the first-generation monome didn’t have – the varibright lights, and a recommended 128-format grid. But otherwise, this riffs on the original idea.
And remember last week when we covered Berkelee College of Music introducing study of electronic instruments? Well, Davidson has developed a whole series of these kind of clever inventions as a set of studies in grid performance.
That is, the choice of Bach is fitting. This is classical grid from a virtuoso, a Well-Tempered Monome if you like.
Via social media, Matthew Davidson elaborates on why this setup requires the monome – which still says a lot about the uniqueness of the monome design:
First up is 64 buttons versus 512. It’ll work on a 128 kinda, barely, but it is awkward. An implementation of a fold mode might make that useable.
Second is the protocol. The monome protocol provides the ability to update a quadrant with a simple, compact message. This is what is used to achieve the fluidity. If you want to update the entire grid of a Launchpad, you have to send 64 individual messages, one for each LED.
Lastly is the issue of MIDI devices and M4L. The monome uses serialosc to communicate. Because of this, a monome M4L device can send and receive MIDI data at the same time as sending a receiving button/led data.
[Reproduced with permission.]
Of course, if you have other DIY ideas here, we’d love to hear them!
The Nord Modular G2 is one of electronic music’s most beloved departed pieces of gear. Now it gets a second lease on life, for free – with Csound.
You’d be forgiven for not knowing this happened. The work was published as an academic paper in Finland last June, authored by three Russian engineers – one of whom works on nuclear physics research, no less. (It’s not the right image, but if you want to imagine something involving submarines, go for it. That’s where I want my next sound studio, inside a decommissioned nuclear sub from the USSR, sort of Thomas Dolby meets Hunt for Red October. But I digress.)
Anyway, Gleb Rogozinsky, Mihail Chesnokov, and Eugene Cherny, all of St. Petersburg, had a terrific idea. They chose to simulate the behavior of the Nord Modular G2 synth itself, and translate its patch files into use as Csound – the powerful, elegant free software that has a lineage to the first computer synth.
The upshot: patches (including those you found on the Web) now work on any computer, Mac, Windows, Linux, and Linux machines like Raspberry Pi – for free. And the graphical editor that lets you create Nord Modular patches just became a peculiar Nord-specific editor for Csound. (Okay, there are other visual editors for Csound, but that’s still cool, and the editor is still available for Mac and Windows free from the original manufacturer, Clavia.)
And best of all, if you have patches you created on the Nord Modular, now they’ll work for all eternity – or, rather, at least as long as human civilization lasts and keeps making computers, as I’m pretty sure Csound will remain with us for that. Let’s hope that’s… not a short period of time, of course.
Have you ever wanted to enslave your own Aphex Twin, then have him make endless rhythms for you, but worried about care and feeding of a Richard D. James?
Do you want to soak up the glory of the life of an IDM musician (the touring in helicopters, the seven-figure royalties), but want to avoid the actual work of making the music?
Well, then this Csound-based tool is for you. Leave it running, and it’ll generate a whole folder full of rhythms and various bpm. Dump those into Ableton Live, pick out the ones you like, and … ah, okay, now you will have to do some work turning this into music. (Effects …. maybe. Arrangement … well, or just loop one endlessly and pop off for lunch. Or make them into something new, original, and very much your own. Kind of up to you, really, though soon we should have some machine learning that decides for you what you probably would like to choose.)
It’s all the fault – erm, work – of one Micah Frank, who actually makes his living as a sound designer. (Meaning, of course – Micah what are you doing?!) Switch it on, and wait for hundreds of sounds to come your way.
Right now, it’s pretty simple – and it takes all night because it’s real-time, not offline. (On the other hand, you could output sound and have lovely, very weird and erratic, sonic wallpaper.) But Micah plans lots of additional features here, plus a whole compositional environment.
So there you have it. Skip the all nighter. Catch up on sleep.
Open up a browser tab, use code sketch musical loops and grooves (using trigonometry, even), and play / export – all in this free tool.
So — why?
Developer Jack Schaedler is quick to caution that this is neither intended for teaching code nor teaching music, that better tools exist for each. (Sonic Pi is a particularly accessible entry for learning how to express musical ideas as code, used even by kids!)
Then again, you don’t have to believe him. That same spirit that made him decide to do this for fun seems to be infectious. And this might be an entry into making this stuff.
For coders, it’s yet another chance to discover some code and libraries and perhaps bits and pieces and inspiration for your own next project. For everyone else, well, it’s a terrific distraction.
And you can export MIDI, so this could start a new musical project.
By the way, someone want to join me in building this actual inspiration for Jazzari? It could be killer by next summer, at least.
The name is a riff on the 12th century scholar and inventor Ismail al-Jazari. al-Jazari is thought to have invented one of the first programmable musical machines, a “musical automaton, which was a boat with four automatic musicians that floated on a lake to entertain guests at royal drinking parties.”
Bonus, for my Arabic, Kurdish, and Persian friends in electronic music – no one knows which of those accurately can claim this guy. We clearly need to get something going.
The days of Linux being a barren plug-in desert may at last be over. And if you’re a developer, there are some other nice things happening to VST development on all platforms.
Steinberg has quietly rolled out the 3.6.7 version of their plug-in SDK for Windows, Mac, iOS, and now Linux. Actually, your plug-ins may be using their SDK even if you’re unaware – because many plug-ins that appear as “AU” use a wrapper from VST to Apple’s Audio Unit. (One is included in the SDK.)
For end users, the important things to know are, you may be getting more VST3 plug-ins (with some fancy new features), and you may at last see more native plug-ins available for Linux. That Linux support comes at just the right time, as Bitwig Studio is maturing as a DAW choice on the platform, and new hardware options like the Raspberry Pi are making embedded solutions start to appeal. (I kind of hesitate to utter these words, as I know that desktop Linux is still very, very niche, but – this doesn’t have to mean people installing Ubuntu on laptops. We’ll see where it goes.)
For developers, there’s a bunch of nice stuff here. My favorites:
Why a browser? Well, the software is available instantly, from anywhere with an Internet connection and a copy of Chrome or Opera. It’s also instantly updated, as we add features. And you can share your results with anyone else with a MeeBlip, too.
That means you can follow our new MeeBlip bot account and discover new sounds. It might be overkill with a reasonable simple synth, but it’s a playground for how synths can work in our Internet-connected age. And we think in the coming weeks we can make our bot more fun to follow than, um, some humans on Twitter.
Plus, because this is all built with Web technologies, the code is friendly to a wide variety of people! (That’s something that might be less true of the Assembly code the MeeBlip synth hardware runs.)
You can have a look at it here. Actually, we’re hoping someone out there will learn from this, modify it, ask questions – whatever! So whether you’re advanced or a beginner, do have a look:
All the work on the editor comes to us from musician and coder Ben Schmaus, based on an earlier version – totally unsolicited, actually, so we’re amazed and grateful to get this. We asked Ben for some thoughts on the project.
CDM: How did you get into building these Web music tools in the first place?
Ben: I had been reading about the Web MIDI and Audio APIs and thinking about how I might use them. I bought an anode Limited Edition synth and wanted a way to save patches I created. I thought it’d be cool and maybe even useful to be able to store and share patches with URLs, the lingua franca of the web. Being a reasonably capable web developer it seemed pretty approachable and so I started working on Blipweb. [Blipweb was the earlier iteration of the same editor tool. -Ed.]
Why the MeeBlip for this editor?
Well, largely because I had one! And the (admirably concise) quick start guide very clearly outlined all the MIDI CC numbers to control mappings. So it seemed very doable. Plus being already open source I thought it would be nice to contribute something to the user community.
What’s new in the new MeeBlip editors versus the original Blipweb?
The layout and design is tighter in the new versions. I added a very basic sequencer that has eight steps and lets you control pitch and velocity. It’s nice because you can produce sound with just a MeeBlip, MIDI interface, and browser. There’s also a simple patch browser that has some sample patches loaded into it that could be expanded in a few different ways in the future. Aside from the visible changes the code was restructured quite a bit to enable sharing between the anode and triode editors. The apps are built using JQuery, because I know it and it also had a nice knob UI widget. If I were starting from scratch today, I’d probably build the editors using React (developed by Facebook), which improves upon the JQuery legacy without over-complicating things.
Why do this in a browser rather than another tool?
There’s the practical aspect of me being familiar with web technologies. Combining that with the fact that Chromium-based browsers implement Web MIDI, the browser was a natural target platform. I’m not sure where Web MIDI is going. It’s obviously a very niche piece of functionality, but I also think it’s super useful to be able to pull up a web page and start interacting with hardware gear without having to download a native app. The ease of access is pretty compelling, and the browser is a great way to reach lots of OSes with minimal effort.
You also built this terrific Web MIDI console. How are you using that – or these other tools – in your own work and music?
The Web MIDI console is a tool to inspect MIDI messages sent from devices. I updated it recently after being inspired by Geert Bevin’s sendMIDI command line utility. So now you can send messages to devices in addition to viewing them. I often use it to see what messages are actually coming from my devices. I’ve written a few controller scripts for Bitwig Studio and the MIDI console has come in handy for quickly seeing which messages pads, knobs, sliders, etc. send. There are, of course, native apps that do this sort of thing, but again, it’s nice to just open a web page and have a quick look at a MIDI data stream or send some messages.
What was your background; how did you learn these Web technologies?
I studied music in college and learned just enough web dev skills through some multimedia courses to get a job making web pages back around 2000. It was more enjoyable than the random day jobs/teaching guitar lessons/wedding band gigs I was doing so I decided to pursue it seriously. Despite starting out in web/UI development, I’ve spent more time working on back-end services. I was an engineering director at Netflix and worked there in the Bay Area for five years before moving back to the east coast last summer. I’ve been spending more time working on music software lately and hope to find opportunities to continue it.
Did you learn anything useful about these Web technologies? Where do you think they’ll go next? (and will we ever use a Chromebook for MIDI?)
Well, if you want the broadest compatibility across browsers you need to serve your Web MIDI app over HTTPS. For example, Opera doesn’t allow MIDI access over HTTP. I’m not sure where it’s going, really. It’d be nice to see Web MIDI implemented in more browsers. People spend so much time in their browsers these days, so it seems reasonable for them to become more tightly integrated with the underlying OS. Though it’s a bit hard to find strong incentive for browser vendors to support MIDI. Nonetheless, I’m glad it’s available in Chrome and Opera.
I think Web MIDI apps work quite well as tools in support of other products. Novation’s browser apps for Circuit are really well done and move Web MIDI beyond novelty. I hope the MeeBlip editors do the same. I also like Soundtrap and think Web MIDI/Audio apps work well in educational contexts since browsers are by and large ubiquitously accessible.
Ed.: For more on this topic of SSL and MIDI access, Ben wrote a companion blog post whilse developing this editor:
Why make these tools open source? Does it matter that the MeeBlip is open source hardware?
It absolutely matters that MeeBlip is open source. That’s the main reason I bought into it. I really like the idea of open and hackable products that let users participate in their further development. It’s especially cool to see companies that are able to build viable businesses on top of open products.
In the case of the editors, they’re (hopefully!) adding value to the product; there’s no competitive advantage in having a patch editor by itself. It makes sense to open source the tools and let people make and share their own mods. And maybe some of that work feeds back into the main code line to the benefit of the broader user base. I think open source hardware/software products tend to encourage more creative and vibrant user communities.
What other useful browser music stuff do you use? Any tips?
Thanks, Ben! Yes, we’ll be watching this, too – developers, users, we’d love to hear from you! In the meantime, don’t miss Ben’s site. It’s full of cool stuff, from nerdy Web MIDI discussions to Bitwig and SuperCollider tools for users: