Blog

PART 22 – WHAT’S THAT YOU’VE GOT THERE?

So that’s enough about Orbiter, I’m busy talking to a couple of sources about using their loops, if this doesn’t come off then I will have to start to make loops – it will drive me insane – so post here may become odd, garbled and infrequent.  Meanwhile a quick review:

So what did I build?

For those of you who are interested Orbiter is/does:

  • 4 loop playback engine
  • Load up any of the hundreds of loops shipped with the product including full-drum loops, drum-tops, kicks and snares, pads, basses, special effects etc. In the end a complete 4-part song development and playback environment
  • Loaded loops are sliced into 32 parts, and each slice is placed in one of the interfaces 32 pads
  • Playback runs a pattern across the loop. This is a collection of steps each of which plays one of the loop pads.
  • Start/Stop optionally synced to DAW transport controls
  • Playback is synced to DAW tempo
  • Loadable patterns replay the loop in a unique (resliced/slice juggling) order to give you all sorts of different playback results, including randomising of pattern sections, for completely unique playback
  • Retrigger(restart) a loop from any pad at any time, using the interface or key switch
  • Latch on any pad
  • 12 patterns can be available at once, and switched between as the loops play, using either the interface or key switches.
  • Ships with heaps of patterns (hopefully)
  • Any loop can be muted/unmuted during playback using the interface or key switches
  • Groove(Swing) controls applied to all loops at the same time (loops “play together”)
  • 4 different definable(start and end point) sub-loops that can be started/stopped at any point (key switches for these too)
  • Resync(return to the original pattern position to stay in time/sync with your song)
  • Tempo and direction options
  • Key switches for start, stop, direction change, latch and resync
  • Each loop has independent volume, pan, humanise and output routing
  • Modulators for Volume(Trance Gate effects), Pan, and Groove controls
  • Event Quantise option to make sure any change is in time with your song
  • Each of the 32 pad steps has ten different effects that can be applied to it independently, these are:
  • Repeats – from 2 to 8 repeats (for drill effects)
  • Random – selects a random part of the loop, including intelligent musical sub-options
  • Reverse – plays a reversed version of the pad
  • Mute – mutes this part of the loop
  • Fx – turn on off any of each loops 4 in-line FX
  • Offset – adjust the start and end point of the loop slice playback
  • Tune – re-pitch the slice
  • Volume – change the gain of this slice
  • Sends – route different amounts of the slice to the 4 send FX
  • Every step has a likelihood control to allow random use of these pad effects
  • Complete Effects system, 4 independent in-line effect slots for each loop, with a choice from over 20 effects for each slot, 4 send effect slots, with 6 different effects to choose from
  • Pitched mode – select any pad and have it re-pitched across the keyboard for chromatic playback
  • A/B Voice and Sound switching – two complete set-ups for each of the pad effect sets to offer 4 different versions available via key-switch at playback
  • Configuration smart randomisation – generate new usable settings across a loop
  • Macro controls – 6 macro controls, assign any two pad parameters to each and modulate all controls across the viewed loop in real-time

In the end it’s the most comprehensive loop player I have ever seen in software. Yeah it’s a BIG claim, (and yes I looked at the obvious competitors Sample Logic’s Rhythmology and Spectrasonic’s Stylus RMX) and I am more than willing to be proved wrong, but I cant for the life of me think of or find anything that does what Orbiter does, it’s completely out there.

whatIdelivered

PART 21 – DELIVERING, THE RADICAL OPTION

Perhaps I should do an end-around all these authorisation and download issues and adopt a completely radical distribution model, the one I call the “WPMUDev.org model”, check them out. In their model everything is always available to members – but not like (say) Slate Digital where its everything  you can eat whilst you pay the subscription and you’re attached to the interwebs. No its more radical than that it’s “Sign-up and download everything and keep it for ever, EVEN IF YOU STOP SUBSCRIBING”

How does this work? Its classic Kevin Kelly (look here: http://kk.org/thetechnium/better-than-fre/), the value is not in the bits, it’s in the service. So why not sign-up for 1 month, download everything, and quit? why keep paying? Here’s why:

Currency – You will always have the latest version of each product  – right now right away, not when some pirate gets around to cracking and uploading the version with the features you want, and I *know* that I tweak every single product I build to add more stuff, even AFTER its been delivered in version 1.0

New Stuff – if each month or so there is something worth the entry price, then its worth continuing to pay it.  So if you sign up in June and download everything then quit you miss July, August and onwards releases.

Authentication – not the user, but the product – you know you have the genuine article, not something riddled with mal-ware from some pirate.

Community – you get a say in what happens next, what feature you want and how you’d like it to play out, personalisation in software development

Support – You get access to the developer – you get stuck with the “how do I?”  Well they KNOW the product, so ask them, and if it cant do what you want see the point above.

The Moral High Ground – you are doing the right thing, also called patronage

One of the nice things(for me) here would be I could ship with only say 200 loops in the first release of Orbiter and add more every month….

So I’d charge around £8.50/month, and I’m seriously considering it. What’s holding me back? In truth not the model, but building out a subscription based web site. That was an ugly effort last time I did it.

Meanwhile back in the real world… I am really really working hard at avoiding doing the loop building for Orbiter, and even if I say so my self I think I’m getting quite good at it.  I pulled together all the Factory instruments(Kick Factory, Snare Factory, Percussion Factory and the unreleased Hat Factory and Toms Factory) into one package, and sent them off to KontaktHub – lets see how they go. I did the same for Grid Machine instruments too, packaging Matrix, Chain, Pulse and River (it’s a 6Gb+ archive) and sent them off too. It was interesting playing with all these – some of them are really not bad.

I also agreed to provide an engine ( a single voice version of Formula) to an open-source/free sound initiative, more on that later, and built out the Geared Audio pages on the web site, speaking of web-site and free – over 400 downloads of FreeForm Volume 1 now, check i tout if you haven’t downloaded it yet.

DeliveringTheRadicalOption

PART 20 – RISE OF THE MACHINES

So in the end I went overboard a bit and also gave myself a bunch more work to do, are you seeing any sort of pattern here?

I bought a Revox B77 Mark II on the interwebs, sight unseen. I went to collect it (it was about an hour away driving) to find it was a 1980’s vintage piece of gear that hadn’t been used for near 20 years. I got it for a good(ish) price, and the guy selling it showed me at least that it could play tape. Getting it home it was clear that it needs a fair amount of TLC, so I’ve been cleaning the heads and running gear for a week or so, a process that involves chemicals , cotton buds and patience. Given how unloved it had been its taken a while, and I still haven’t tried recording anything yet. Getting the requisite cabling(that will fit it) is also taking more than one go, and tape stock is no easy thing to either get or to decide on (911 or 428?? – yeah me neither).

In truth I’m a bit frightened that it might not record anything and will need some major servicing and repair. The only two places I can find that will do that are a long way away from me (this thing is heavy and doesn’t fair well with couriers apparently) as well as expensive. I’m vacillating and putting it off.

Now you’d think I would be happy at that point no? Well apprehensive and unwilling to try anything else at least. Oh how little you know of me…

To be honest this next purchase was an accident, there was at one point so many tape machines on eBay that I could bid on I got lost in what I’d bid and missed. I ended up also buying and getting forgiveness for (from my long-suffering partner) a much older machine, an Akai M-8. Luckily I also got this pretty cheap too.

Now this is not a pro-machine in that it’s not 15IPS mastering two track, like the Revox, instead, its’ just 7.5IPS, stereo 2-two track (so 4 tracks then) consumer device, but with a nice couple of features (well one feature but you get two of ’em) . Akai made the M-8 in the 1970’s so yeah its 40 years old, but its built like a tank. Insanely it feels like it weighs nearly twice as much as the Revox, it nearly killed me carrying it into the studio. But just as important (possibly more so) than its tape recording capabilities is the way it amplifies signal. It has two open-ended class A valve amps to do this. These come with routing that will allow me to use the valve amplifiers in all sorts of interesting ways. But just like the Revox I’m pretty sure no one has cleaned the tape-heads in 20 years. It’s next on the repair bench.  So I have a range of tape machines and now antique, unique, valve-based amplification to add in to the mix. All my audio should sound great! If I can get all these machines working.

riseOftheMachines

PART 19 – THE SHIPPING NEWS

Time to think about how to, and what to ship. Clearly whilst all this has been going on I’ve needed to think about the sort of loops that Orbiter is best equipped with, and that’s not easy – I’ve worked hard to make it work well with all sorts of loops. But in any case it will need a series of “stem” based loops to be at least part of its deliverable, and I’ve been trying to make some of these as I go – but sample/loop designing/building/editing is a whole other series of posts. Plus it will need some of those cinematic pads and melodic material too, as well as full-drum-loops.

This will be a download only product – no CD/DVDs in a box thing. So there is always tension here – more loops = more download bandwidth and time consuming download activities for users, less loops = well, less, and we don’t really want that. Continua would be of help here as it is apparently very very quick and includes a custom re-startable download system.

I wish I knew what to do, I could go down the same route as Slice – and make Genre based packs, Orbiter:DubStep, Orbiter:House etc.  but Orbiter seems to be well beyond that in many ways, it’s turning/turned into a more generic loop-playback/sound-design tool. So current thinking is I’m going to try and ship 1,000 loops – yep a thousand – possibly a bit mad, and it will be *BIG*. Worse to come though… I decided all of the loops should be mastered to tape, so it was off to eBay to buy a tape machine. Clearly I only needed one track to record on to and sample back from so multi-track tape machine not required. Some sort of mastering machine then.  So away I went to get one, no one has ANY use for these things anymore right? So these should be dirt cheap right? Wrong… Research completed and I wanted a Pro quality machine so I clearly needed a 15IPS machine, preferably a ½ track – I ended up settling on a Revox B77 Mark II or similar. Ebay told me these (in good condition) would set me back £500+ Ouch!

Next there’s the manual, always a chore, but always a useful thing. And there’s the video-walkthrus, ditto. But, apart from me, who really reads the manual? So if I sacrifice the manual for a set of videos would that be better?

Next problem is: Product Price. It has all the functionality of a product like Stylus RMX plus a LOT more, and I mean a LOT. In fact I cant think of a loop playback system that comes anywhere near it. Looking today the list price of Stylus RMX is: $399.00 but I’ve always been unconvinced by these sorts of prices. However I also realise that charging $24.95 in many ways belittles what it is, a pro-product with pro-functionality and capabilities. Plus it’s take a big chunk of my year to build this thing – 9 months. I’m going to have to make a decision, right now I think $179.00 sounds-about-right. But SampleLogic just announced Rhythmology, which looks like it does similar things to Orbiter for an intro price of  $199.00, so maybe $129.00? Still looking back all the way to the start of this and the Slice V4 experience,  I might not sell many no matter what the price. Which leads to;

Distribution/Marketing/Reviews…and what to do about getting these lined up. OK hands up who’s a reviewer? Who wants to be one? Who is/wants to be a distributor?

Meanwhile here’s a, not particular, secret: There are two business models at work here. First “build a Kontakt software product filled with cool functionality and nice sounds and sell it to musicians” That’s what I’ve been talking about in this post, and in many ways it is an assumed position in all the previous posts. But business model 2 lives along-side model 1, and always has for me. It’s “build a Kontakt software product filled with cool functionality and licence this to audio content owners, so they can build their own instruments to sell to musicians”. Here audio content owners(sample library owners) get to launch a Kontakt instrument with MUCH lower costs and less risk than building their own, I wrote about this in a white-paper nearly 2 years ago now, and nothing much has changed https://channelrobot.com/10/building-audio-products , except building simple Kontakt instruments has in the end got easier, and the market is even more crowded and prices are still falling. I’ve done this licensing a number of time with products I’ve built, and it works nicely for everyone involved.

So Orbiter just got added to the list of things you can license from me. What can you license? I’m glad you asked:

  1. Loop Player (Orbiter)
  1. Drum ROMpler (Studio)
  1. Drum Machine (Factory)
  1. ROMpler (Formula)
  1. Ambient Drone Machine (424)

— With other stuff coming. Get in contact if you are interested.

shippingNews

PART 18 – END OF THE LINE, WE WALK FROM HERE

OK, so that’s enough development already. No. More. Functionality. Is that the end of the line? I so wish it was that easy to ship a product. Experience tells me there is easily as much work still to come after development stops as there is already completed, basically all the sampling needs doing now. So just enough time to think about some of the development edge issues, like what version of Kontakt should this get shipped in? This is a bit of a contrived question really, because if I don’t know this by now I’m more than a little foolish . Here’s the general rule I use: Ship in the oldest (reliable) version that supports all the functionality you need, or worst case ship in the version you built it in, but these SHOULD be the same.

For me this is Kontakt version 5.5. Sure Version 5.6 has been out a few months by now, and the additional screen real-estate it offers along with the changes in KSP looked mighty tempting at the time. But for a change I held off, I didn’t *need* extra screen real-estate or the KSP changes. I’m glad I did, as there were lots of complaints about 5.6 and it seemed an above average number of problems. This made me think it wasn’t so reliable – It might be rock solid but that wasn’t the impression I was getting, or have got. I think I will wait until 5.6.7 at least if not later.

Next issue is: Kontakt or Kontakt Player? Again this is a no brainer (but sadly so in this case). I cant afford Kontakt Player – it would make Orbiter available to a MUCH wider audience, add in Native Instruments authorisation system, protect my IP and generally make Orbiter seem much more professional – and I suspect it would be the only way it would get reviewed by any of the ink-based press. But its many thousands of dollars to roll out in this format.

I can’t risk it and I don’t have the money lying around, I wish I did, and even if I did I don’t think I’d spend it this way. I’d pay an extra amount and get it coded as a VST.

So a Kontakt only product it is. Which makes the IP much more vulnerable.

Speaking of IP protection, and authentication and authorisation as we were, in passing: Lets start with the obvious: Yes every authentication system is breakable – the NI one has been broken before and will be again I guess. But….

I’ve built “in-KSP” authentication systems for 3rd-party products. They got broken – eventually, and that’s the important word — “eventually”. The best system I built took nearly 12 months before someone got round to breaking it – not because it was so good, but because it defeated amateur-hackers and the pro-hackers were busy with more high profile products. But those products with NO protection? Well they got loaded on the warez sites within a few days of release, effectively killing sales. Should I add in the authentication system and make the distributors lives more complex? (Sending authorisation codes separately to downloads via email) Would they even accept this complexity or decide not to carry the product? Dunno, but I suspect they wont be set up to handle it.

There’s a 3rd party download and authorisation system for Kontakt libraries from a company called Continuata that looks like it might fit the bill perfectly, download system, audio watermarking etc. but its not cheap to set up(again thousands of dollars).

So this might mean being back to(forced into) distributing only from channelrobot.com, and that hasn’t gone well in the past, so I’d really like to keep some distribution flexibility here. Sigh, EVERYTHING is a trade off it seems.

One nice thing (in the longer term) is that Kontakt/KSP is no longer the only viable game in town for building audio products, there’s a few. They will take some uplift effort to get up to development speed but they offer many features that Kontakt and Native Instruments doesn’t/wont. I’m keeping a close watch on them all. But truth is, I’m moving on – KSP moves slowly, and hasn’t added anything I care about in a long while, and the non-functional issues with the development environment are holding back sales for me I think.

endofthelineSQ

PART 17 – MEANWHILE IN A GALAXY FAR FAR AWAY…..

Take a look at one of the screen designs, look down at the bottom, yep those are the ever present unchanging effect system controls. They’re pretty sophisticated. All 4 loops have 4 slots each into which the user can place any of around 20 effects, there’s also 4 send effects too – that the pad Send effect controls the routing to. The user can select any one of 6 different effects to load into each Send slot. In the end the FX System is a completely separate thing that just sits at the bottom of any other product page adding lots of really nice effect addition and control.

I built this system for an unreleased product called Cadence, but then reused it for Formation, and it’s been in every product since. It’s massive, and good, and not everything I wanted it to be (but I admit I was being hugely ambitious). As I’ve mentioned here before it started out as an all-singing-all-dancing solution to ANY product design, handling group based effects, bus effects, insert effects and send effects. If you could load an effect somewhere in Kontakt this would do it too. It has nearly killed me more than once.

I cut it down to work for Formation(one bus and the sends) and this worked fine for Slice too. But adding 4 parallel loops in Orbiter required me to add in 4 busses alongside the Sends. So I’ve done that. But the problem has always been about saving the effect settings – which I got a handle on at the end of Slice 4.2 (never released, and now replaced by my decision to go with Snapshots anyway), and modulation – or more specifically the lack of any modulation of effect parameters.

So given I’d been in Modulation adding mode, before being so rudely interrupted(<- look a real-time coding pun!) by all that timing rework,  I thought about adding modulators to the FX system too. But timing, timing, timing – this modulation system wasn’t going to make that less of a problem. There would need to be about 10 to 20 modulators, they would each need to be capable of working on up to 240 effect parameters – in real time. Possibly a big ask. But I’d re-built the internal product “Clock” so I could reuse that, and see if it broke things badly or not. Can you tell I’m still worrying abut timing issues here?

Stepping back for a minute (and only for a minute) sanity seemed to prevail(for a change). I realise, importantly, that I’m burned out. Time to stop adding stuff in, so reluctantly effect system modulation will also have to wait for another product to do it and get retro-fitted here. Users always have the CC learn facility available anyway, and this is not a synth, modulating filters etc. isnt a must-have feature, it’s a loop player. Or to keep this Star Wars analogy alive “These are not the feature changes you are looking for…”

part13A_macros

PART 16 -TO ARP OR NOT TO ARP

So it may be obvious that I’ve been re-using lots of code I built in other products (like Formation, Cadence and Slice itself) as well as more general modules like the effect and modulation systems. There are lots of other things laying around here at CR headquarters (well on the cloud-drives anyway). Which led me down the following garden-path….

So when Orbiter ISNT playing a pattern then pressing a key gets you a specific slice of the loop, or (in pitched mode) a re-pitched version of a named-slice. So in “Stopped Mode” you *can* just play the loop through by pressing each slice-associated key in turn – sure loading up a pattern then pressing play on the pattern tab is way easier, but you could do-it-yourself if you wanted.  Plus you could press those keys in all sorts of different orders to get your own hand-rolled pattern. So one way to think of Orbiter is as a kind of ROMpler with sounds under each pad/key and a sophisticated pattern player bolted on.

So thinking about that – two ideas came to mind – it seemed pretty simple to assume that if I wrote a little (say 8 track) sequencer on the front of Orbiter to play specific pads that might be a nice addition. Unsurprisingly I have one of those lying around. I could just wire it up and see if it worked. This thought came early in the journey home from work, but before I’d got home this other thought occurred to me:

“You know what? That was the original idea for Formation – build a little sequencer on the front, but in the end this turned into the MUCH nicer Sequencing Arpeggiator that got shipped, why not just use that instead?”

Now if you haven’t seen the “sequencing arpeggiator” in Formation, well you should. It’s really unique, and really powerful.  It “listens” for up to 8 key presses, and for each key that is pressed (in order) instead of playing the associated note, like any other arpeggiator, it has a  little independent 16 step one-note sequencer it associates with that note and it plays thru that sequence repeatedly. Yeah, it’s hard to visualise based on a textural description but it sounds great and its clearly obvious when you see it in action. You can do loads of very very cool things with it from standard arpeggiator patterns to rising and falling polyrhythmic shapes, chords AND runs at the same time or after one another etc.

It needed a few things taking out of it to make it work with Orbiter, but removing stuff is (sometimes) easier than adding so I did a quick UI sketch (based on the existing arpeggiator). It looks do-able. But the nagging voice in my head is now saying “you are making this all too complicated…” And perhaps that is true, but its also really cool stuff. Conflicted now. As it stand’s I think I’ll schedule this in Version 1.1.

Oh the second idea? Well “Orbiter is as a kind of ROMpler” means you could use other sounds than loop slices, so it wouldn’t be so hard to turn Orbiter(or its engine) into a drum machine, and a pretty unique and powerful one at that. Another day perhaps.

ObiterArpDesign

Building Audio Products

So I wrote a white paper about the Kontakt developer/library market back in 2015. It seems to have been quoted and pointed at quite a bit recently, and occasionally I send it along to people asking about how much I charge for development and will I build them their all-singing-all-dancing mega instrument. If you are thinking about getting into developing a kontakt instrument library, either as coder, designer or as an owner of samples, you should give it a read. It might prove insightful and offer you a way in (or not).

Not much has changed in the interim, apart from the arrival of GUI builders which ease the coding-pain of building a UI, but as that’s about 20% of your coding effort it’s probably not a golden key solution for anyone and will probably add to the number of instruments in a crowded market.

The other thing that happens a fair bit is people arrive with development requests and a very poor understanding of what the costs are going to be. So I’wrote a new paper on the costs of coding.

The original white paper is here: KontaktMarket2015

The Cost Of Coding paper is here: The Cost of Code

These papers may be controversial, and you are free to disagree in any way you like. Take them for what you will, they are my experience.

 

 

PART 15 – SAVE, LOAD, LOAD, SAVE

Adding in all this new stuff meant going back to the Save/Load system to include it all. Now clearly users LOVE presets, and I can see why., I do too – but building out preset systems? Yeah not so lovely.  But here goes…

So there are a number of questions to ask:

  1. What should be included in the preset and what shouldn’t?
  2. Why aren’t we all using that nice snapshot feature that NI gave us?

Well answer 1. is “as much as is useful” and answer 2 is, well, complicated… let’s look at Orbiter and see how we get along.

OK so what is “as much as is useful”? Well in Orbiter’s case this is probably all 4 loops and all their settings, as well as all the bus and send effect settings too. Plus given you will be playing Orbiter at some point we will need all 12 patterns and all the sub loop data as well as all the “transient/permanent” settings for the key switches. Looking at that list there isnt really anything else in Orbiter…. So essentially “as much as is useful” here means – everything that a snapshot would save. So on to the second question, why not use the snapshot system?

There are pluses and minuses with the snapshot system. Here’s the plusses:

  • You can drag and drop snapshots onto Kontakt and it will load the instrument for you(if its not loaded already)
  • Once its set up properly its convenient to use, better in all likelihood than some preset system which asks you to go find your custom coded presets in the file system
  • NI built it so it will probably upgrade/remain reasonably reliable across versions of Kontakt
  • See the point above, so developers don’t have to build their own system – and there are limitations to such a system – you save EVERYTHING in a big array, but the array size is limited, it’s pretty massive at 32K elements, but by now I had A LOT of arrays for configurations across all 4 loops I might be getting near this limit.

The minuses:

  • Snapshots have to live in a specific spot on the users machine (and its different for Mac and Windows users)
  • That spot is NOT a sub-folder of the instrument(WHHHYYYYY NI? WHY OH WHY?) So for a product you ship the user will need to do a separate manual step to copy the snapshots into the correct directory/folder on their hard drive.

So what to do? I’ve had a “hand-built” preset system in (nearly) every product I’ve shipped. But that is partly because I’ve been shipping products since before Kontakt had Snapshots. So (re)building another is in theory only an effort challenge not a design challenge. But for Orbiter this effort just quadrupled. I think I’m biting the bullet here, and starting to use the Snapshot system from here on. So out goes Load and Save, and in comes a bunch of additional install instructions – perhaps I should build that installer I kept thinking about, and that would automate the install including setting up Snapshots…..

Meanwhile yet more playing sold me on the idea that it would be nice to be able to switch dynamically between sets of effects, you could set a loop up with a ton of repeats, or envelopes or FX toggling etc. and that was great but when I was playing the loop back, I could dynamically mute/unmute the loop, and change the overall pattern but I couldn’t switch “effect layouts” (for the want of a better phrase) for each loop – If I added an A/B switch for Voice settings and another for Sound settings I could in effect have yet another way to play loops, – playing the loop in up to 4 different variations:

  1. A & A
  2. A & B
  3. B & A
  4. B & B

Toggling these with a  key-switch seemed a good idea too. So I added it. There’s a lot of key-switches by now.  So I spent a fair while sorting and remapping these. Added key-switches for the modulators too.

Here’s those A/B toggles.

ScreenShotAB_Buttons