Chris Randall: Musician, Writer, User Interface Designer, Inventor, Photographer, Complainer. Not necessarily in that order.
 

Tags: Dropping Science


June 25, 2017

Evolution of a Produkt...

by Chris Randall
 

In early 2008, I got it in my head that Audio Damage needed a multi-band distortion. Like most Audio Damage products, this one came about because of a personal need. I like the general idea of multi-band distortion, but at the time, there was only really one available, Ohmicide. To be clear, Ohmicide is a very good product, one that has stood the test of time. The problem was that it had a very distinctive sound; I could pick it out of a mix from a mile away. And this distinctive sound wasn't really conducive to what I was trying to accomplish at the time.

So after begging and pleading, and much rending of garments, I somehow talked Adam in to making such a product for AD. We decided on a very simple topology, with a multi-selector for each band's algorithm, a simple resonant lowpass filter, and our normal compressor code (as heard in Rough Rider), configured for a one-knob "moar" kind of situation. And Kombinat was born.



This was the first UI we did where there were procedural knobs; this is very much a hybrid UI, where I'm using a fake screen element to display the flat stuff. But you can definitely see how my mind was working at the time.

Anyhow, it did fine, in line with our other products that aren't Eos, Discord, or Dubstation. We weren't going to finally buy that volcano lair or anything, but it sold pretty consistently. Like Ohmicide, it has an unique character that is easy to pick out if you know what you're listening for, but being far less popular than Ohmicide, there wasn't as much of a danger of having That Sound. It worked for what I needed, so I was happy.

Fast forward to 2011. In the intervening three years, screen resolutions had been creeping up, and Kombinat, with its hard-coded selector image maps, was getting difficult to read. I also wanted to experiment with a truly flat user interface, something that, aside from Live, was not common in music software. I'm sure there were other reasons as well for revving Kombinat to a version two, but they aren't coming readily to mind. But the upshot is we decided to rev it, and this is the first UI I did totally flat. It is still image maps, but instead of filmstrips of 3D Studio Max knobs, we're drawing most of the elements procedurally. We named it Kombinat Dva, because "Kombinat" is Russian for "Combination," and "Dva" is Russian for "two."



Kombinat Dva added six more algorithms (including my favorite thing we've ever made, "Nerd Rage"), a second filter topology, and a feedback loop. Since the nature of feeding back on a ridiculous conglomeration of distortion algorithms and resonant filters would result in some fairly hairy tones, I came up with the (I thought) clever idea of giving the feedback loop an envelope, triggered off the input. Which is why it has attack and release controls. Adam was fairly puzzled by this, but he built it, and it works great. The feedback control makes the entire thing fairly unstable, and I'd frequently get customers writing asking could I please make the noise stop and why did I hate them and other such ponderings. I inexplicably decided it needed seventy presets, as well, which is about sixty five more presets than anyone ever uses. Go, me.

Anyhow, Kombinat Dva did significantly better than the first one, but still lived somewhere in the middle of the field as far as our product line goes. Six years on, and Kombinat is now the ripe old age of nine. Time for Kombinat Tri.



Tri is, of course, Russian for "three." So it makes sense and is clever on enough levels that I can feel good about myself. Which is all I really ask at the end of the day.

Anyhow, this version of Kombinat gets the JUCE-ified look that all the current line are getting. Since I did the new Dubstation 2 UI in plain black-and-white (just to see if I could, really), I went the other way with Kombinat Tri and made it very colorful. We also added what I call "the filter package," which is a conglomeration of all our current filters that I like for musical applications. The destruction algorithms are unchanged, but we went through and fixed a couple little things that were resulting in DC offsets that made some people unhappy. And finally, we added a mix control, something that is of incredible usefulness in a multi-band distortion, come to find out.

The UI, like all of the new ones, is resolution-ecumenical. In addition, like all of our current re-rolls, it picks up VST3 and AAX support. It will also get a standalone and AUv3 version for iOS in the near future.

For people that know what a useful tool the Kombinat series is, they'll be very happy with this update, which extends its usefulness while keeping the core Kombinat "sound" totally intact. For people new to the Kombinat style, well, they'll be equal parts frightened and surprised, as has been the case for nine years now. In the Audio Damage store now.

 
June 18, 2017

Eye Oh Ess...

by Chris Randall
 



There are two major side benefits of switching to JUCE for our plugin dev. The first, you've already met: AAX versions essentially for free.

The second, you're about to meet: iOS versions for moderate effort. JUCE 5 projects on OS X have two targets in addition to the bevy of plugin formats: AUv3 and Standalone. Both of these are essentially pointless on OS X, where the AUv3 is an actual step backwards, lacking everything but the most basic ability to talk to anything but the DAW. Standalones have their purpose, but mostly as synths. A standalone effect is about as useful as... well... nothing really comes to mind. I'll have to ponder for a bit to come up with something that useless.

But!

Switch that target from OS X to iOS, and we're on to something. AUv3 is the only audio plugin format allowed on iOS, and standalones actually have some merit. The screenshot above is Rough Rider 2 running as an AUv3 insert effect in GarageBand. These AUv3 builds will work in any host that can stomach it; right now that list is mildly limited: GarageBand, Audiobus 3, Cubasis (full version), and some others. The situation will improve quite a bit when Intua drops BeatMaker 3 on July 15, in my opinion.

Digressions aside, the only difference between Rough Rider 2 for iOS AUv3 and Rough Rider 2 AU/AAX/VST/VST3 is some mild fiddling with the UI to get it to cooperate in the context. It will run on any device that can run iOS 9.3, which is pretty much anything from iPad 3 / iPad Mini 2 / iPhone 6 on.

Rough Rider 2 is available now in the app store, and like any good drug dealer, we give you the first taste for free. If you run in to any issues at all, don't hesitate to drop us a line.

Grind is next in line, and is currently awaiting TestFlight review so the testers can get a piece of that action, but it is pretty much done. Once that's released, we're going to turn our attention back to desktops for a bit, so we can see how things shake out. I don't want to release everything for iOS, and then find out I did something terribly wrong. But once we're sure that things generally work, we'll push out Dubstation 2 and Eos 2 in short order. I don't expect any trouble building either for iOS.

If you're an iOS musician, I'd like to hear about how you feel about pricing. I'm of a mixed mind on this; obviously, these are identical to the desktop plugins internally, and require a bit extra work, so they should be priced accordingly. On the other hand, the iOS music ecosystem doesn't really have a place for a similar pricing model, and we're in a situation where people are expected to effectively double the price of their purchase to get a 12th format to go with the other 11 they already own.

I went through every AUv3 product I could find on the App Store, and I feel that, in general, plugins seem to be in the $5 to $10 neck of the woods. There are some outliers, but on the whole, that seems to be the case. I'm okay with this in general.

The other option would be to do it free, and have an In-App Purchase to unlock all the features. This isn't terribly complicated, but it does add some frustration to the proceedings, both on my part and on the consumer's part. So I'm less likely to look favorably on this, unless someone can offer a compelling argument in its defense.

 
May 30, 2017

New Kid On The Block...

by Chris Randall
 



Our habit, for the last couple years, has been to port our existing product line to Eurorack hardware. However, there is one product we have that is unique to Eurorack, our Shapes module, that I really wanted in the DAW. So, after we got done making Eos 2, I scraped all the Sean out of the project and got to work, moving the code from Shapes, and adding to it given the somewhat more expansive CPU real-estate available in DAW-land.

The result is what you see above, Grind. It can run both "wave" and "algo" modes of Shapes simultaneously (with some additions to both the waveform complement and the algorithms), and we threw in a huge raft of filters and a tempo-synced LFO because hashtag yolo. I was going to say that this is probably the first direct code port of a digital Eurorack module to a plugin, but I haven't looked closely at that SoftTube thing, so I couldn't say for sure.

In a nutshell, the input level determines which sample of the wavetable is accessed, and we replace the input sample with the wavetable sample. Then, this hot mess passes through the algorithms, which are mostly of the soft sat / clip variety, with a couple exceptions. After that, it hits one of the 11 filter algorithms. The filter frequency and wavetable can be hit with the tempo-synced LFO. It is a fairly unique distortion plugin, and incredibly capable. You can turn the wavetables off and just use the algos and filter and access the entire range of "analog warmth" tricks that we use in the plugin business, or go screaming acid banshee on whatever the input is. Add the wavetables to that, and it's a god damn nightmare machine.

Tonight or tomorrow I'll have a video overview of this bad boy up, but it is available for purchase now. VST/VST3/AU/AAX.

Speaking of AAX, while I was waiting for Adam to finish the Grind manual, I plucked some low-hanging fruit and ported our free FuzzPlus3 plug; while I was at it, I hit a couple little bugs. So FuzzPlus3 is now VST/VST3/AU/AAX as well. Get it here. We're going to have to do a version upgrade to do the same to Rough Rider, as it is not a JUCE plugin to begin with, so we have to essentially remake it from scratch. There's not a ton to it, though, so it should be fairly easy.

EDIT: It was, in fact, fairly easy. And is now done. Rough Rider is at v2, and includes AAX, VST3, and a new UI.

In unrelated news, working on my Summer Vibes EP. Like you do, while Adam lays out the PCB for [REDACTED]. More on both those things as they become pertinent. I also finally bit the bullet and bought a smoking new Kaby Lake PC (literally the day before Intel announces Kaby Lake X. Go team) and a glorious 4K monitor to peer at its innards with. That'll be arriving tomorrow, so system migration ho!

Anyhow, that was my week. What are you up to?

 
May 15, 2017

Hypocrisy Is The Greatest Luxury...

by Chris Randall
 



Long-time readers will know how comically funny this screenshot is. (Either that, or a blatant display of hypocrisy. 6:5 and pick 'em.) That right there is Eos 2 as a 64-bit AAX running in PT12. We've just pushed the v2.0.2 of Eos to the store, and the installers on both platforms include AAX. All future releases will also include AAX.

It is worth noting here that the person that we had a "disagreement" with at Digidesign is long departed, and Avid reached out to us with an olive branch. You can also blame almost constant haranguing from Eric Beam and Don Gunn, both of whom have been driving me absolutely to distraction with requests for AAX.

So finally I caved and was like "how hard can it be?" As it turns out, not hard at all. The only difficult part was figuring out the PACE/Eden signing on the Windows side of things, and Sean Costello of ValhallaDSP gave me some very helpful guidance there.

So, long story short, babies under the bridge, throwing the horse out with the bathwater, etc. We are at war with Eastasia. We have always been at war with Eastasia. Grab that 2.0.2 installer and get yourself some AAX.

 
May 8, 2017

Eos Dos...

by Chris Randall
 



Now that the hardware side of the business is chugging along, we've turned our attention back to plugins. After some soul-searching and rending of garments, it became obvious that some serious re-building was in our future to make sure our rather extensive product line stays pertinent and healthy as we start knocking on the door of our 3rd decade in business.

First one on the block was (depending on how you count) either our second- or third-most popular plugin, Eos. We're rebuilding everything in JUCE, so that we can offer and support all the formats from a single codebase that is well-supported and gives us a lot of different options. So these ports aren't really ports as such, but complete ground-up rebuilds. In the case of Eos, the biggest problem was the user interface. It still held up okay on normal-res screens, but on Hi_Res and Retina, it looked cheap and awful. Also, a continuing point of contention with me has been the lack of a common platform-agnostic preset mechanism.

Early last year, we released FuzzPlus3, which was built with JUCE and made with a completely procedural user interface. (That is to say that the UI is all code, no images at all.) It also had an XML-based preset mechanism that Randy from Madrona and Sean from ValhallaDSP came up with. Several tens of thousands of downloads later, nobody seemed to have any problem with either the OpenGL interface or the preset mechanism, so I figured they were safe to roll in to a paid product.

With all that in mind, I set to it. I decided on a darker look for Eos 2, and instead of a static background, I used a GLSL shader to give me a little animated blob that responded to knobbing, which I thought was a clever trick. We also bared some previously hidden controls (high and low crossover points, which are the corner frequencies for the high and low multipliers) and added a fourth algorithm, Plate 3, which is a derivation of Plate 2 with a somewhat different rendering loop that results in a less dense tail with a wider stereo image.

All in all the port only took about 5 days, and then we spent a week with the testers tracking down all the silly bits. The testers were surprised to hear from me, not having got a new AD plug for some time now. But they were all still game, and now Eos 2 is available for purchase in the Audio Damage store and at Splice. The full version is $59.00, and the upgrade from v1.x is the difference between the two, $10.00.

This version is built with the absolute latest JUCE 5, the current VST3 SDK, and current Xcode and Visual Studio, against the current APIs from both Apple and Windows. So it should be solid for a good long while. Aside from the usual 32/64 VST and AudioUnits, a side effect of using JUCE is that we pick up the VST3 version for free. So that's included, and will be included in all our upcoming rebuilds. This version also removes the anti-denormal math, which caused a very small amount of noise to be added to the signal path. We figure not many people are using a Pentium 4 for music any more, and the ones that are probably can't run a bleeding-edge OpenGL-based plugin anyhow, so that's that.

We haven't decided what we're going to do next; I'm about 70% finished with Basic 2, which is a polyphonic version with much more extensive modulation. We've also got a couple new plugs we've been cooking up, and would like to port some of the advances we've made on the hardware side of things back in to plugin land.
 

Displaying 1 to 5 of 44 available blog entries.

Page 1 of 9