Development History

Strata, a new way to play in Ableton Live

Development History

The development of what has become Strata began around 2009, in effort to make a seamless system of production and performance, to overcome issues found in transitioning from studio to stage. The goal was to make an integrated and accessible way of accessing the functionality of drum machines, digital vinyl functions such as loop rolling and cue points, synthesis and sound design, and live sound processing. Ableton Live offers much of this functionality natively, and nativeKONTROL addresses much of the rest. The problem to overcome then largely became a challenge of user interface design, with incorporated production methodology. 

To describe this in terms of lineages, particular pieces of music equipment used in certain ways by various artists over the decades have shaped characteristic elements of various genres, so influentially that the genres cannot be separated from the equipment responsible for there sound. For example, if we look the studio work of Lee “Scratch” Perry, his use of the mixing console to momentarily mute and solo tracks, and route tracks trough auxiliary sends to reverbs and delays is largely responsible for what we know as dub reggae, and any descendant electronic style with the word dub in front of it, such as dub step, or dub house, and otherwise. Another, Grand Master Flash was the innovator of looping the hook of a song by having the same album on  two turntables and using crossfading to cut between the records, bring one back to the hook’s beginning while the other played- not only is he the grandaddy of turntablism, but also the concept and use of “decks”, of crossfading (cutting), and of what would become cue points in the world of digital vinyl. We can thank him in many ways for the hip hop and electronic music from the 70’s to present. These are just to name a few- the list of influential individuals and pieces of equipment is long, and filled with detail that I can’t perfectly recite. The purpose that I mention this here is to highly the point of Strata.

The whole idea is to take all these characteristic qualities of particular pieces of equipment, used in particular ways, and combine them all in to a single piece, so that any audio can be interacted with in these ways in real time, whether it be live input, recordings, or midi sequences.

The Strata Prototype – made during spring to summer, 2018
The assembled Strata design files – designed in Solidworks – winter and spring, 2018
An exploded view of the assembly’s components

Getting to the point of this prototype saw a slew of design considerations that shaped its form, which, for those interested, I’ll recount here. Notice that, though the form has gone through several changes, the core functional characteristics and design goals remain.

This earliest manifestation, designed in the highly-sophisticated Microsoft Paint design environment 😉 ha, was the earliest actual drawing I did, dating from 2009. As you can see, it’s come a ways since then.

The idea with this design was to have presetable synthesis and sampling over 8 tracks which could be assigned to a deck, mixed and cross-faded between, and equalized with a graphic eq, depicted in the upper left (I was not yet aware of parametric equalization). I can recall anymore what all the various little circles were supposed to be. I had a labeled version of this image at one point, but misplaced it. This design just predated my learning of Akai’s APC40, Novation’s Lauchpad, both of which we’re released around then, and which led me to Ableton Live 8.

From here on, I began to work exclusively in Live. Unsatisfied with any one controller as a standalone unit, I began experiment with arrays of controllers in a variety of configurations, and this continued for until the development of the current Strata prototype.

In Fall of 2015, I discovered nativeKONTROL scripting, which provide what had been a much sought functionality- cue points, and loop rolling among other things (without the need for Max for Live). At this time, I also began a series of designs which I aimed to be a set of stand-alone units- essentially clones of Ableton functionality, all drawn in Google Sketchup. These designs only reached the point of conceptualization, a never any physical prototyping or software scripting, but they highlight the development course of Strata, in that you can notice the shared features and design goals.

The idea with this concept sampler-synth was that is would be able to support the handling of some large number of independent voices, like 16 or 32 tracks all with there own presetable patches.
Essentially a conceptual clone of Ableton Live 8’s Simpler (Sample-based Synthesis) virtual instrument, but with the addition of Warping section, like that found in the the clip detail section of an audio clip in within Live. This design was prior to Simpler’s Live 9 update, which includes warping, oneshot, and slicing modes. However, Ableton has not yet updated Live’s API so that control over warping parameters can be accessed via midi, which would allow for really excellent real-time time stretching, and more.

At some point following this design, I think it was still in 2015, I did a redesign.

Here the idea was to be able to save and trigger sound presets using the pads, and access bans of sounds using the number pad, which is essentially what Strata achieves in its Snapshot Mode, the only difference being that the banks are limited to 8 per track. This functionality is made possible by the ClyphX Pro Library and Strata’s custom implementation.

All along this path of exploration in product design, there has been analogous releases from industry leaders and bespoke companies, speaking to the validity of my designs.

For example, in August of 2015, I sketched this layout to be used as a methodology and script for the APC4.

Shortly after, maybe it was still 2015, or in early 2016 (I forget exactly when), Native Instruments released it’s STEMS format, which in many regards is synonymous to what I sketched. And, if I recall correctly, also in 2016, or maybe it was 2015, we see the Ds1, a collaboration between Livid Instruments & Dub Spot, speaking to the interest for a high quality MIDI controller in a traditional mixing console format. 

This whole note book is filled with preliminary design sketches and functionality descriptions, from the summer of 2015. I’ll share one other.

Not long after this, we saw Akai’s MPC touch, and then in early 2017 Pioneer’s entry into the sampler market, with the 
TORAIZ SP-16, followed by the DJS-1000, which offers the same functionality as the Toraiz, but with a form factor to match their CDJs. 

From Empress Effects, we see the Zoia, a digital modular multi-effects, synthesis processor, and from Synesthesia, we have have Pipes, the stand-alone polyphonic sample-player powerhouse, both of which appear to be built on the open-source Pure Data DSP graphical programming environment, same as Crtitter and Guitari’s Organelle. Pure Data is analogous to its commercial counterpart, Max MSP, by Cycling 74′, which is the engine behind Max for Live.

In late-2016, while working on a control configuration utilizing two Launchpad MKIIs and two Launch Controls (not longer in production), routed through BOME Midi Translator Pro for the purpose of preset management, into multiple nativeKONTROL scripts loaded in Live, it dawned dawned on me that redundancy within controllers is a waste of space. By, this I’m referring to having 64 clip launch buttons, for example, because most of them mostly don’t get used. It also occurred to me that that being able to trigger cue points, and perform an variety of shared functionality, on multiple tracks at once would be far more enabling that having to press multiple buttons at the same time. I found that I could achieve this using BOME, and from this, the multi-selection based approach was born. 

So that’s the background summary.

Onto the actual design choices and processes that went into the development of Strata.

I won’t get into the details of the prototype software development, aside from that it was built using existing nativeKONTROL scripts, BOME, virtual midi loop back cables (Mac has this natively, but on Windows I used Tobias Erichsen’s loopMIDI), a MIDI monitor (aside from BOME’s) for data flow diagnostics ( MIDI Monitor on Mac, and MIDI-OX on Windows), and code editors, and regex and grep, for scripting and debugging (Text Wrangler on Mac, and Sublime Text on Windows). Because the developement process existed entirely within established softwares, it wasn’t that I was developing on Mac and Windows simultaneously, but that I began on a mac, which broke, and then resumed on a Lenovo Windows 10 machine.

The software is, though, the foundation and the driving force of the hardware design, so the considerations that were addressed to begin with were simply how to best format the the hardware to fit the software functionality and design goals. The design goals were a multi-selection based approach that allows access to bankable snapshot capturing (presets), chain selection (another method of presets), various modes of playing sounds for sequencing and performance, clip and scene launching that includes momentary stopping of clips, clip loop length, region, and cue point (slicing) control, key transposition control, and writing parameters to clip envelopes.

I conducted the prototype scripting using a launchpad and launch control and masking tape for labeling, adding a second launch control down the line. 

Once had the software to a working point I began developing the hardware layout in Sketchup. I experimented with several designs, and more design objective considerations filtered in as I progressed. But, more or less, my intitial idea that I began with shaped into the prototype hardware.

I spent a good deal of time considering removing all mechanical components (potentiometers and encoders) from the design, and replacing them with touch strips.

This concept design includes a long touch ribbon / pitch bend strip.

And, I considered arranging the pads like an MPC.

This concept design includes a pitch bend / modulation x – y touch panel on the top.

The design considerations that infiltrated in and led me to eventually stick with the original plan are as follows.

First with the touch strip / no moving parts idea, perhaps the greatest benefits was the potential to cut manufacturing costs by removing a printed circuit board from the equation, as well as as many molded housing components as possible, and even the molded keypad, for in this design, there was the potential to simply use a flat cut sheet of silicone and screen print on the text. The silicone would laminated over a touch-sensing matrix array which would be laminated onto a rigid backing. A matrix array like this is technology behind Roger Linn’s Linnstrument, made by a company called Tangio. I’ll be willing to guess touch-sensing matrix array technology is what’s inside Roli’s Seaboards, as well. And it certain is what’s inside Sensel’s Morph, verifiable here. These reason I decided against this route was the need for visual feedback, either with LEDs or with a screen (I’d rather not use either, bu something had to be used to relay that control states). I decided LEDs are the better option for this design, and because of that, the circuit board is required (same as the Linnsturment, which uses the matrix array for sensing, and circuit board for the LEDs).  So, I stuck with the potentiometer / circuit board plan (which was the original idea).

The second consideration was to arrange the pads in a row, or in a square, like an MPC, and wether or not to include a pitch bend / mod wheel x – y touch strip. The consideration taken into account that led to the final arrangement was that the primary goal of this system is not to be a musical instrument per say, but to be a control system, where the focus is on the mix, and on the sound design, and on the changing between sounds, as opposed to finger drumming (for which, I feel the MPCs square arrangement is a more playable configuration).  With that in mind, I finalized the design, and on top of this dimensionally-accurate layout, the circuit board and case were designed.

The final layout of the circuit board.

From there, I design the keypad in Sketchup, too.

I later learned, though, that Sketchup (at least the free version), cannot generate nor export the solid body (NURBS) files required to cut mold cavities with a CNC machine- a process called compression molding is the manufacturing process used to make a silicone keypad (and the rubber soles of your shoes, for that matter). So, I had to design the keypad again in a professional engineering design application. I used Solidworks, and also Autocad’s Inventor (a little bit). I had no experience in Solidworks prior, and the approach to creating a shape, and the user interface controls, differ from Sketchup, and it was a steep learning curve over the course of a few weeks, but I figured it out well enough to get the job done. 

I designed the case parts in Solidworks as well. The most difficult part of designing the parts was learning about and designing for the tolerances of the materials and processes to be used.

Once the design files were complete, I settled on a combination of 3D printed mold patterns and silicone molds to cast the prototype parts in. The circuit board design, which I contracted out for over freelancer.com, was complete and I had settled on a company in Schenzen, China, called Seeed Studios, and used their PCBA service (that’s printed circuit board manufacturing and assembly) to make the prototype boards. I want to be all for American Made, and support jobs in my home country, but the difference in cost was like 7 to 1. I had 5 of the boards made, which is their minimum order.

For the 3D parts, at first I went as cheap as possible, using 3D Hubs to find a independent budget printing service with a printer large enough to accommodate my size requirements. I used FDM (fuse deposition molding), which has some great characteristics, including low cost, but at the expense of low resolution, and the inability to accurately print areas of relief without support (something I didn’t entirely understand at the time).

Areas of relief, not accurately printable with FDM

The parts came out decently, and didn’t cost much, but were too flawed to be usable, though I did spend a few days worth of hours trying to get the into shape with epoxy, bondo, and sand paper (a waste of time and effort in this case). On benefit that came of this otherwise-flawed attempt was that these parts revealed some design flaws I had overlooked on the computer, so that was good. 

I next tried having the parts printed by Shapeways, using SLS (selective laser sintering). This sort of worked out and sort of didn’t.  Shapeways says not to use SLS for large, broad, flat parts because they will warp in the cooling process, but at the same time, the also have a pre-printing design review, and a post-printing quality assurance (supposedly). I figured since I was new to this, I would let their team handle assessing the design’s printable. They dropped the ball on this one. The parts arrived warped. I’m not looking to rag on Shapeways, though. They offer good prices, comparatively, and good customer service, and I would work with them again. I manage to use make use of all but one of the parts, the one not used was the enclosure top, which was utterly skewed. I was able to use the other parts because the were warped in ways that I was able to flatten with weigh. 

Next, I went to Stratsys Direct, and had the top of the case printed in SLA (Stereolithography), which was way expensive, but got the job done accurately. 3rd time’s the charm, I guess.

For the molds, keypad, and other silicone parts, I used Silicone, Inc.’s P-592 Platinum Cure silicone. For the case, I used Innovative Polymer’s IE-3076  polyurethane casting resin. Both the silicone and polyurethane were purchased through Innovative Polymer’s parent company RAMPF, who is distributor of Silicone, Inc. silicones. Polyurethane is a foam when cured, so casting under pressure (60psi) is required to compress that bubbles to a microscopic size so that the material cures rigid, dense, and strong. For this I used California Air Tool’s 10 gallon paint sprayer pot, which I modified for use as a resin casting compression chamber. The silicone required a different process, degassing, to remove air bubbles be for casting. This is done with a vacuum chamber. I used a 3 gallon chamber from Best Value Vacs, and a generic 1/3 hp vacuum pump. 

Spraying the mold patterns with mold release (non-stick spray)
Casting the reverse half of the molds
Casting the mold for the top of the case
The 1st of the 5  prototype circuit boards
Testing the first keypad prototype

Tags: , , , , ,