Friday, December 07, 2007

Progress Update


It's been a tense one today. I finish work for the year tomorrow (to work on my thesis). This afternoon, I was three days behind schedule. This evening has been intense. With a good codebase you can work wonders though ;)
I need to wake up tomorrow, finish the DSP for Ultimate-D (just some tweaking), do final builds, do final alpha tests, and then I can ship MultiLimit, MaxLimit and Ultimate-D to beta. Wooh.
It's been painful, like it always is.
Looks like a release early next year is fairly plausible... so we're on track! :)
I am, however, not on track for the 80s party I am attending tomorrow evening. I should have my hair dyed by now (I am going as Hannibal from the A-Team. For the cigars, basically.).

Weird. These plugins are actually alive. How exciting!
I mentioned about the Analogue Clip being pretty groovy.
MultiLimit imparts an almost magical bigness to things. When I finish my first pop album, it'll be mastered with that. MaxLimit (especially since I added in the delay-compensation stuff) works very nicely even on tracks/busses in a session. Very groovy.
Ultimate-D is probably the least exciting plugin I've ever worked on, but if you need really really really good dither, then you probably could get quite excited about it.

However, something it's VERY easy (for me) to get excited about is that we WON AN AWARD FOR TBK3!
How cool is that?!? (more details to follow...)



Monday, December 03, 2007

BanPiracy, Waves and iLok


I was reading this earlier:

I found myself wondering the following:

What need is there for Banpiracy?

Waves plugins are iLok protected, and iLok hasn't been cracked, right?

Any ideas anyone?

Saturday, December 01, 2007

Plans and Reality


Today I got a healthy dose of how well things can turn out, when plans turn into reality.

So, you might have seen somewhere, we said we'd have an analogue clip on MaxLimit / MultiLimit?

Well, as of this evening, those two are now feature complete... there's polishing and optimising to do yet, but really not more than another day's worth of work, and they'll go to beta (Did I mention that StereoTools is in beta now? :D:D:D).

Now, as you also might recall, I'm striving for a PhD in nonlinear system theory, which means when I say "analogue clip", it really does actually have to be an analogue clip.
Following on with my current theme of making everything sound much simpler than it really is, the only difference between an analogue and a digital clip is the aliasing. Granted, most people claim to have alias-free clipping, and I'm sure that some do, I just haven't been given a copy of them. However, we needed 16 odd orders (a clip is symmetric, so there IS no even order distortion. None. I promise.), and it had to be alias free. I have some tricks for this, so I coded it up, and WOW.

Now, +obviously+ it's not for everything. I mean, you don't clip an acoustic recording, that would just be plain weird. But you do clip dancey stuff. And when you do, with this, BAD THINGS HAPPEN. This is, I think, almost a better reaction than I got from people with TBK3. And that was pretty silly. Perhaps I will post a clip.... of the clip ;)


Saturday, November 03, 2007

19" TFTs Rule My World.

I just got an amazing deal on two 19" DVI TFTs. It's to "improve my productivity" and has nothing to do with giving me space to run Logic's Arrange and Mixer on separate windows at all.
I have been learning Cocoa because I need a quick and easy way of sketching applications. The uber-trendyness of it meant that I finally succumbed, and I spent today and much of yesterday reimplementing the UI of Apple's, as a test. It was fun and I've learned lots. Most striking is that Objective-C is a descendent of C, not C++. The fact that you can browse header files and see how Objective-C is actually implemented is very exciting, for a geek such as myself.

Everyone I talk to at the moment is thrilled to be fixing Leopard-specific bugs. We seem to have gotten away with ease so far. This may be related to my OCD for making auval not flag up a single warning. Or my OCD for fixing ANY warning that flags up during the compilation of our plugins (the ENTIRE codebase compiles without a single warning on either mac or pc). This might sound like good coding practice, but actually, it's just a form of procrastination.

FogBugz6 is out (for Windows... I'm still waiting for the Unix version), and it is amazing. Joel Spolsky (who is a hero of mine, and all programmers, as it goes) is giving a talk in London next friday. I will be there bouncing up and down excitedly, and sacrificing lambs at the altar (though they do also accept credit card payments).

I still haven't written up my PhD thesis. This is because my mastery of avoiding it has now reached such a level that my university is considering awarding me an honorary doctorate in doctorate-work-avoidance. I can't help but feel that that would be rather ironic.

I've adopted a new habit of running MSN (actually Adium) in "Away" mode, to see if it has the psychological effect of reducing the amount that people message me. So far no change, but we'll see.

My striking score on Wii Golf has earned me the nickname "Ironfist", which may be related to a gesture that I make after I sink an Eagle or a chip-in. I may post a photo so you can decide for yourself.

My girlfriend is making a tune and she keeps programming these BIG RAW ANGRY noises which sound FREAKING cool. Every time I ask what she's using, it's TBK3. I have created a monster.

Anyways... back to work...

Friday, November 02, 2007

Waves BanPiracy thing

Guess what?

I think that Waves "BanPiracy" thing is a GREAT idea.

Well... if you ignore all the unethical and entrapment side of it... :)

The idea of going after *commercial studios* using pirate software is bang on the money. No 15yr-old kids suffer - just the people using stolen software so that they can spend their budget on beer and cakes. It gets the dishonest users, and leaves alone the people still trying to make it.

Truth is, if you run a COMMERCIAL, PRO studio, and you are SELLING studio time, and you use cracked plugins, then you are a BASTARD of the first order, and you deserve whatever you get, frankly.

To put this in the context of my earlier postings, commercial studios who use cracks are the "dishonest users" who make a mockery of us all. These are people who can afford the software, and choose to take the piss. By the time you are running a full-time business selling studio time, you have earned the responsibility of not using stolen gear. A pro-studio wouldn't use a stolen mixing desk eh?

Now, I'm sure this strategy isn't infallible - I've heard stories of studios who have been essentially entrapped and done-over by Waves, and obviously that's not the way to go.

But if you are a bastard, and guilty as sin, and you get caught, please, for the sake of my faith in humanity, do the decent thing. Treat it as a wake-up call.

When I first heard about the BanPiracy scheme, I felt a wave of general outrage, as I generally do whenever someone does anything like this, and that whoever it was would be saying goodbye to the idea of having customers pretty quick. However, once I realised that it was EXPLICITLY targeting people who have NO excuse AT ALL for using cracks, I calmed down. BanPiracy (so i'm told) targets the MAJOR studios - ones that major labels pay a few $1000s per hour to. There's just no excuse for ripping off developers for them. Now, even if BanPiracy is getting "the wrong" people, it's always going after people who are actually selling studio time to clients. If that's you, and you use cracked software, then I DARE you to try and construct an ethically defensible position that doesn't make you sound like a crack dealer.
Anyone starting with "I'll let my paying customers use legitimate copies of the software when my business is running well enough" will result in me sending the rozzers down to their yard, if only because of how stupid it made them sound, and how annoying it is that anyone can actually be that stupid.

Now, I'm not saying that /I'd/ ever want to be involved with anything like this - there just IS WAY too much span for accidental entrapment and such, but at least Waves have enough of a clue to target the right people.

Wednesday, October 24, 2007

Where are the Sonalksis TDM plugins?

They're coming! Have some patience, eh?
I've NEARLY finished this mastering kit, just a few more pixels to poke and samples to mash.

But probably not too late next year.

Dedicated DSP VS Native PlugIn Processing

There is a difference - there are several differences. But they may well not be what
you expect them to be.

CPU Performance. Native processors have left all but the most high-end DSPs standing.
A deep-pipelined microcoded CPU like an Intel Core chip is at least an order of magnitude
faster than, say, a Motorola 56000 class DSP. It's a brutish and inelegant figure with
which to make the comparison, but the clock rate of a Core2 can be set at 3GHz,
whereas one would expect to see a 56000 DSP running at around 200MHz.

Of course, that comparison is entirely unfair- the DSP can do things that the Core2
cannot. The DSP can fetch two items from memory AND perform a multiply-accumulate in ONE
cycle (when coded correctly). That choice of instruction is not arbitrary - the most
common DSP task is to multiply-accumulate and fetch two - it's the heart of FIRs, IIRs
and all manner of other lovely algorithms. That's either three or four instructions
on the Core2, but as for how many clock cycles that would take, it's anyone's guess
- somewhere between 1 and 10 seems likely. Anyone care to correct me?

The Core2 is harder to predict the performance because it depends on many things
- whether the numbers to be loaded are in cache or need to be fetched from RAM
- whether the code is in cache or is being fetched from RAM
- what the Core was doing previously
- what the Core is doing next.

Core processors employ what's known as a pipeline. Different parts of the chip
handle different types of task, and they do so in parallel as far as is possible.
When you write an algorithm for a DSP, at the end, you count the number of lines of
assembly, and can state that the code will use N clock cycles. If you have a list of
algorithms to run, with a list of how long they will take, it's very easy to schedule
them and to know exactly how much processing capacity you need. And it is ENTIRELY reliable
and predictable to do so.

Conversely, it's very easy when writing DSP code to know when you have been inefficient.
You are going to use too many clock cycles. Working with external DSPs, you always end
up optimising to minimise your cycle count - that means using tricks and shortcuts to
get the best approximation to what you want, with as few instructions as possible.
That's great fun, in a nerdy way. For instance, a lot of dynamics processing requires
you to evaluate the mathematical functions log() and exp(). A Motorola DSP doesn't have
a log or exp function - though it does have some instructions that can help approximate it.
So when you code a compressor for that DSP, one of the fun things you have to do is
build a fast log and exp approximator. There are endless tricks. With work, you can
get close to the precision of a standard Native implementation - which are, as near as
is meaningful, exact. You'll spend a lot of clock cycles doing that on a DSP though,
and somewhere you'll find that you can trade off a bit of accuracy for extra speed.

The biggest difference between Motorola DSPs and Native processors is the fixed-point
vs floating-point difference. To make clear the difference, a floating point number
CONTAINS a 24bit fixed-point number, PLUS a scale that it can use to increase range.
A floating point number = fixed point number * 2^scale - that is, a floating point
number is a fixed point number, with a scale that can double or halve it many times.

So how can fixed-point sound better than floating, when floating can do more, is far
more accurate, and we have more processing power to throw at it? My controvertial answer
is - BECAUSE it doesn't have the range. Open up one of your sessions, right now.
Insert a clipper at 0dB after EVERY plugin. What happened? Well, it depends on how hot you
run your session - but if in general just a /little/ bit hot, you just got an overall shine
added to your mix - a noisefloor of digital clip distortion and aliasing that boosted up
your high-frequency energy and made everything a touch noisier. And you did it native!

This is the magic of dedicated DSPs - when your channel goes INTO a DSP plugin, and it's
pretty warm but not clipping, and you then add a few dBs of EQ, you clip that band on
the EQ's output. Clipping means high frequency energy, plus a touch of aliasing noise.
The aliasing noise is likely to be very quiet, but the brain doesn't mind /small/ amounts
because within a mix, it's just noise, and we, as humans, like a bit of noise. Boosting
the high frequency energy is great though - more "warmth" from the clipped bass,
more "openness" from the clipped mid and more "air" from the clipped top.
As far as I can tell, and I must state that it is only a theory, this is what lies beneath
the "bigger mixdowns" sound from using dedicated DSPs. But this is certainly not the ONLY thing.

Developing for dedicated DSP requires an investment cost - it's a filter. The kind of users
who have dedicated DSP systems are those who spend more on software. By developing exclusively
for dedicated DSP, you enter a part of the market where piracy is small (no 16yr-old kids cry
themselves to sleep wishing they could get some new cracks for their pro-DSP rig...),
and where customers are wealthy. It's also a filter in that only developers who are serious
about their algorithms will bother to afford the buy-in cost for development.
Since it's easier to develop for native, everyone and anyone can, and do.
People with deep knowledge of how to write good sounding algorithms, however, will go that
step further and develop for DSP, paying that buy-in cost in the sure knowledge that the
market will receive them.

DSP plugins cost more because the developers need to recover that cost of developing for the
DSP - nowadays people generally write code for Native and then port it to the DSP. Recovering
the cost of the Native version will spread across many many users, whereas the developer needs
the far fewer DSP users to help recover the DSP cost, which would be ill-advisedly passed on to
the Native customers. It's also a question of standing. Selling £20 DSP plugins would just seem
ridiculous to the market. It would not be likely be taken seriously.

If you want to add in a Motorola style clip to your plugin, the rough code is:
if (x>1) x=1;
if (x<-1) x=-1;

Friday, October 12, 2007

Blogging Question


I've not been posting much recently. A big part of this is... well... I'm just deep in development work, and I'm pretty sure you're not too interested in how I refactored my UI component class (although, it's a great story... but perhaps not one for parties)... Any requests for info on anything? I miss blogging, and I'm feeling out of ideas for stuff to tell y'all...

The ongoing development process


Here's a heads-up for interested parties.

All the plugin UIs are pretty much finished, names are decided, and so forth, so now all that remains is final tweakage of the DSP, presets, gluing extra features in, and tidying up (optimising). Then a month of beta, during which time I'll be making 2.04 more shiny ready for release... with luck you'll be tweaking by xmas.
You also get a free app to download your license files off the server too, because lots of people have trouble with the registration process, and it's not rocket science to write an app to do it for you :)
We could even put a check for updates in there (and not automatically run on startup, which is just damned annoying)..

It's been lots of fun to see the new UIs come together. I'm adding in the last touches for K-metering tomorrow, and I'll probably spend a while making the graphs even sexier.

More to follow :)

Thursday, October 11, 2007

Why Chris Randall is the coolest.

In case you didn't know, you better get to know:

'cause it's like that, and that's the way it is...

Saturday, September 29, 2007

Ultimax Force - Ninja Commandos

I got this DVD:

Ultimax Force (imdb:

It looks GREAT. I can't WAIT to watch it.


Me? Leak images of things I've been working on? That would never happen.

Friday, September 28, 2007

Dave Gamble, Acting Manager, Absenteeism Department, Sonalksis

Where did I go?

I'm a little embarassed by having disappeared for so long. Truth is, I disappeared to Cuba for a few months, with a huge bag full of cash (with SWAG on the side), to smoke VERY fat cigars, and get a suntan. (Chris Randall sussed me out!)

Ok, no, that's actually not the truth. That's what I /wish/ was the truth. I moved house.
Moving house proves two unique problems for me: 1) I have studio kit and 2) I'm a hoarder.
The new studio is set up now, and I've treated the room to be within 7dB at 1/3rd octave measurement at the sweet spot. I chucked out LOTS of junk, but still managed to fill a 6'x6' bookcase with the excess. And another 6'x2' bookcase. One day, I promise I'll throw out all my old papers, but I just don't have the heart to right now. My thesis draws ever-closer to completion, and, frankly, the idea of throwing away anything I've printed out terrifies me. I bought a laser printer some years ago. Best investment I have ever made. I print things out a lot. I'm not good with screens and understanding what's going on - which is why I'm such a moron to talk to on MSN.
Unless it's code. That's not an invitation for people to MSN me in C++.

The new place is a LOT nicer. My girlfriend and I got a place together, which is a little scary (first time for me!), but it does mean we can have a REALLY nice home! (she's a graphics designer... did I mention that? Flukey or what eh?) I may even post some photos.

So, to the interesting (and less rambling-idiot-stylee) news...
2.04 is in beta at the moment. Lots of fixes and improvements for all sorts of obscure cases.
Improvements across the board for: 315Mk1, 517Mk1, 315Mk2, 517Mk2, 719, FreeG, CQ1, DQ1...

As you may have gathered, there is to be a range of Sonalksis Mastering plugins. There's been a LOT of work on that. They're not quite in beta yet, I'm still making some alpha adjustments, and incorporating a few last features. They'll be in test within a month tho, and you can rely on the beta group (who just go from strength to strength. I fear them) to make em lovely.
There will be (I can officially announce) StereoTools (TM), MaxLimit (TM), MultiLimit (TM), and Ultimate-D (TM).

Hopefully the names are reasonably self-explanatory. Ultimate-D (TM) is, obviously, a Tenacious-D (TM, but not ours!) tribute plugin, and makes you feel like Jack Black (TM, his own).

I'm going to stop talking about those now... comments guessing what they do are invited :)

I'll post more shortly :)


Saturday, July 07, 2007

I spent nearly the entire week dithering...

If you'll pardon the horrific pun...

Obviously a mastering limiter has dithering. Right?
So, naturally we wanted to provide the best dithering in the world, because that's just what we do.

This is really interesting, go do this:

As many people have pointed out, the psychoacoustics behind dither rely on your hearing perception spectrum changing with volume, so unless you try it nice and quiet, you won't learn much from it.

That said, I tried it out at a higher volume... and I gotta say, things didn't change TOO much! The order of "goodness" remained -roughly- the same for me, the best stayed the best, at least... and that's MegaBitMax. The Waves IDR(/POW-R, for that is what it appears to be) comes a good second... but MBM definitely has it.

I stumbled onto (literally found by accident) the coefficients for the POW-R3 dither (yeah, they're on the net in some sourcecode! Weird!).

I spent the start of the week figuring out how dither works. Today, the maths all made sense, arranged itself in my brain, and fell into place. I now have all the dither you want... :)

So, first up, I ought to start with the background... why do we dither things, how does it work, why, etc.

Well, we're going to reduce bit-depth to fit it onto a CD, and whatever we do to get rid of those excess bits is going to generate some form of distortion. That distortion sounds bad. We want to get rid of it.

Step1: Add some noise. If the noises is louder than the distortion (which is actually quite quiet), you won't hear the distortion.

Good one. A little noise, and the distortion is gone.

Now we have this extra noise that we don't want... so..

Step2: Maybe, with some feedback, we can filter the noise and make it less audible.

Bingo! now, we've hidden the distortion under some noise... and then we hid the noise! ACE! :D
Does it get any better than that?? This is the magical thing about noise... you can bend it - so we fold it out of the way to places we can't hear!

"How is this all psycho-acoustic?"

Easy! We want to get rid of the noise where you can't hear it. Psychoacoustics tells me about where your hearing isn't very sensitive... so... I EQ it away from where you CAN hear, and towards where you CAN'T hear... there are curves for this sort of thing, and all you need to do is invert that curve and you're home and dry... maybe...


Well, actually no! You're not! If that WAS completely true, POW-R3 would sound better than MegaBitMax. But it doesnt, does it? How strange! So... there's a little bit more going on than psychoacoustics wants us to know about... but hey we can experiment and get it right.

"The way you're describing all this, it makes it sound like this is just about some EQ settings"
Well... that's the magic, it really is. Go find Alexey Lukin's page on dither, grab the pdf

see... curves! Magic.

"Is this really the only way to do it?"
No, but it is the best way.
We have a number of other options that we could explore, which I shall detail here:

1) We could not add dither noise.
Sure, and then the distortion comes back- that's the only reason we're doing this.

2) We could just shape the noise but not the quantize error
Sure, and then you'll have noise which isn't masking the error in the most sensitive part of your hearing.

3) We could just shape the quantize error but not the noise
Sure, but if you just want to add loud noise, why not record onto an old tape?

4) We could change the EQ to follow the shape of the music, and hide the noise in places that are loud so it's masked!
Good idea, but there are some real problems here that you must pay attention to: First and foremost, we add noise because it is specifically uncorrelated to the signal - if it WAS correlated, it would be harmonic distortion (that's the definition). Now, if you're planning to change the filter coefficients depending on the signal, then not only is that a time-variant filter (where you'll either be changing the curve too slowly to be useful or too quick, and making bad noises - it's a fine line and not a fun game) you would actually be adding in a correlated change - so you'd actually be adding in more distortion. It's possible that a strategy based on this might one day find the balance with the time-variant filter and allow you to blend between distortion and noise, but it's a very complicated task, and you really wouldn't be gaining anything. (Although it would make for a very interesting paper.)

So, with these decisions fixed, made and justified, my task was reduced to finding a way to generate the perfect dither response. The literature hints at it, but the answer is obviously an optimised Levinson-Durbin recursion since the problem can be resolved to solving a set of
simultaneous equations with a symmetric Toeplitz matrix. I can do it in realtime now :)
I've been A/Bing with the POW-R3 and MegaBitMax, and what I have here sounds at least as good;
I've reduced the problem down to calibrating one number, which is mad really. I think the final
answer will be about 2.2. ;)

I'll get some samples up sometime :)

[I will concede that finding the one number that tweaks it just right was a stroke of luck.. I've seen no reference to it in the literature.]

Friday, June 29, 2007

What's that?

.... more evil deeds are afoot....

Friday, June 15, 2007

Celebrating the launch of TBK3

... and just when I'd convinced you I wasn't a cigar-smoking fat-cat...

We're all very excited and pleased about the TBK3 launch! :D

[and for those of you who care, it's a Carlos Torano Reserva Selecta torpedo, and it is delicious!]

Thursday, June 14, 2007

Can you guess what I just uploaded?

... Can you?

Ship dates are always very emotional for me.
There's something really significant about declaring something ready.
Well, it's had two months of beta and it's rocksolid. And nasty.

Anyone who reads about marketing will discover Zipfs law soon enough... #1 gets 90%, #2 gets 9%, #3 0.9% and so on... I have a feeling about TBK3.. this really could be the plugin that becomes the #1 compressor... I wonder...
There's been a long phase of people wanting accurate models of analogue compressors, but I dont think i'm being controvertial in suggesting that it's more due to wanting a compressor that really does the job than there being some bizarre magic to a particular piece of kit - it's always you that decides what sound you take from it, after all. And here we are sitting on TBK3, which REALLY DOES get the job done and is quicker to use than any other comp I know of...

It could just happen...

What's even more nuts is the realization that the people who read this blog could make it happen. The biggest problem at Sonalksis is that no-one knows who we are... we've really struggled for magazine inches, and without big advertising capital you're stuck... Everyone's always telling us about how good the plugins sound... perhaps people like to keep them as secret weapons? ;)

But I've got this long list of things people tell us they really want, from ring modulators to spring-reverbs, pitch-shifters to new even-more-pro eqs, some really pro mastering gear, etc etc (i might post the list sometime...) and I really do like shipping products... with your support in spreading the word, we could afford to take on more people and get these things done.
Can you help? What could we do to make spreading the word easier? Will TBK3 just make it happen?

You can either stay tuned... or start writing the script...

Tuesday, June 12, 2007

TBK3... Mind your speakers....


And after:

[If that doesn't work, click Before and After]

Tuesday, June 05, 2007

Thursday, May 03, 2007

Again More Hackers...

I haven't edited the comments to my last post. Nor replied to them. It's a heated issue, and I'd rather get involved by making a clear statement than by making short replies that could get misunderstood.

I had the opportunity to speak to someone who actually knows some crackers, and I learnt a lot about how it works. And to explain what I learnt, we need to start with ethics.

In my last post I talked about how it is unethical to use cracked software. I also referred (perhaps not as clearly as I should have) to the critical distinction between a lost sale and a non-potential sale. Let me restate this: a 14-yr old who wants to learn about making music the way that professionals do it and uses cracked software is not a potential sale. 14-yr olds do not have £3500 to spend on studio equipment to get started. There is an argument that they could learn by using free software - and many do, but the point is that free software is not what the professionals use- if it was, there would be NO music software market.
A lost sale is a producer who is making his money by selling records, or perhaps renting studio time, who gets a cracked piece of software and decides that there's no point in buying it, because he has it now.

No-one in this market suffers from non-potential sales. Ever. In fact, the reverse is completely true. If you work in this industry, you DO know people who started out with cracked software and now have spent thousands and thousands of pounds on their studios. If you don't know anyone like this, then you either know less than two people, or you don't work in the industry. This is a fact. If there was no crack of Photoshop, there would be FEWER legitimate Photoshop users. The fact that businesses HAVE to buy Photoshop for their employees forces this to be the case, but it's equally true in music just because musicians are (with almost no exceptions) GOOD people.

Now, suppose we naively believe that people who can afford to buy software will do so. We believe this, because it's true for us, and we don't really think anyone would be that different to us.

Well then, ON THAT ASSUMPTION, it becomes an ethically justifiable case to crack software and make it available to people who need it but can't afford it, safe in the knowledge that as soon as they CAN afford it, they will, of course, buy it! This, so I am informed, is the ethical foundation for the cracking community. And clearly, this will develop into an ethically driven and ethically justified community of people working together for a common good.

Effectively, cracking is aggressive marketing to people who can't YET form part of your customerbase, done for you, the developer, by a 3rd party.

The crackers feel ethically justified in what they are doing, because their foundations show that they can't harm you. Hey, they've probably paid for the copy that they use themselves.

So there's this lovely symbiotic relationship going on, where the crackers provide new software to people who /can't/ buy it, so that one day they will. Great.

Except that the assumption is, apparently, wrong. Not enormously wrong, but wrong enough to show up some nasty statistics. Y'see, people who /can/ afford to buy the software are also getting their hands on the cracks. That's not what the developers want - because these people ARE potential sales. That's not what the crackers want either - these people are mocking the crackers by using the cracks commercially.

Go find some cracks and read the files that the hackers include with them. The more respected the cracking group, the heavier the emphasis on "try before you buy", and "if you use it, pay for it". This is universally true.

So, it's not the crackers that hurt the developers, it's dishonest users. Of course, there's an easy argument that if the crackers didn't distribute the cracks to /anyone/, then there'd be no problem with dishonest users. There'd also be fewer users, and less publicity for products. Swings and roundabouts - statistics you can never gather, because it's a clear example of the uncertainty principle; if you try to measure it, you'll change it.

I personally believe that this wraps up the story with the crackers. They have an ethical standpoint that is naively defensible. However, they're being exploited in the same way as developers. It was not for nothing that I urged anyone seeking to hack the Sonalksis plugins to customise the UIs to show that they were cracks. I really will release the installer files upon request to any crackers who want them in order to repackage the plugs.

Do legitimate users care if 14-yr-old kids have a copy of the software that they've paid for to play around with? I consider that pretty unlikely. If you've gotten far enough in this industry to be able to afford pro plugins, then you already have a pretty good idea of how all this works. Better than I do, most likely. And EVERYONE can get hold of the 30-day demo anytime - they're just using the "infinite demo", because that's their culture.

But users who could easily afford to buy plugins but don't... what to do? Users who'll happily pay out a few grand on hardware, but not even a few pounds on software...

...will be discussed in a future posting.


Friday, April 20, 2007

What goes on at Castle Sonalksis?


I feel I ought to give a quick update as to what's going on behind the scenes.

TBK3 finished its first beta phase.
A few minor things to tidy up... and a decision that it should go even nastier.
So, it's just ridiculous now. Totally ridiculous.
Set to extreme settings I can't make any sense of what's going on at all. :D
I think the testers like it. Audio perverts.
So, now it's just polishing and making sure all the bugs are closed and buried.
With luck and good weather (which we've been having a lot of in the UK recently!), it should be a few more weeks to release.

I guess it's time to read some books on writing about high-energy action adventures, so I can write the manual... ;)

In other news.
I finished the DSP and plugin-y-ness for another new plugin... a useful utility-type thing. It still needs a UI, so it hasn't gone to beta yet; so that'll be out after TBK3
Specs are confirmed for another two plugins, which I intend to start veeeerrry soon ;) NO DETAILS FOR YOU! :P

In other other news.
I bought a copy of FogBUGZ. I used to use it at Focusrite/Novation, and it was one of the best things ever. It still is one of the best things ever.
It's frankly astonishing that a piece of software can turn bug tracking into an enjoyable experience. I've no clue how it's done, but if you have bugs to track, throw out whatever you're using and get FogBUGZ now.

I bought a copy for my mac. It's all working now, but pheww... it took some time...
To get it to work I had to:
1) Install the latest PHP ('cause the one that ships with macos is lame)
2) FIGHT this thing called PEAR (which seems to be some kind of package manager); I say FIGHT because there were two versions installed that were fighting. If you get into the same trouble, the answer is: sudo pear config-set bin_dir /usr/bin, THEN do all the sudo pear upgrade PEAR stuff. and use sudo pear -V LOTS. You need it to say that the version number is 1.5ish, or better. 1.3.6 is right out.
3) Use PEAR to install some PHP modules (i think thats what it did)
4) Install MySQL off the 'net
5) Learn the bare minimum to get MySQL working (install all 3 things in the dmg, open system preferences, click start. know that by default db passwords are blank)
6) Poke around 3 or 4 setup screens for FogBUGZ
7) Configure my php.ini... but which one?!!? The one HIDDEN in /usr/local/php5/ of course!
8) Reboot apache lots. Thank goodness apple have a button for this in system prefs.
9) Configure my my.cnf file. It doesnt exist yet. It goes in /etc/. It needs to contain about 2 lines of text.
10) ENJOY!

Now, as you can see, had I installed it on a Linux machine, I could have skipped stages 1->9. Let this be a lesson to us all! :D :D :D

Now I've moved the buglist from Excel into FogBUGZ which is working just lovely on my machine. It's very exciting. Admittedly there aren't THAT many bugs to enter, but the joy is, I can assign myself new tasks as feature requests for building new things! YAY! :)
FogBUGZ is so wonderful because:
1) Things that live in databases that you can't see feel much more safe and secure than .xls files on your desktop
2) It forces you to work in a formal way, and this in turn makes you feel much better and safer about things
3) It remembers all these things for you! You can even leave messages to yourself! What more could you ask for?
4) It is so simple that anyone ever could learn to use it in less than 3 minutes, without a manual.
5) There is a strange and magical process inside my brain that works like this: if something is in a place where I know it is safe, and other people can see it, then I don't have to burn braincycles on worrying about it. In this way, FogBUGZ makes me feel better about my life in general. Weird huh? It just destresses me. I'm sure the same thing will work for you too if you have bugs to track, or features to implement :)

So, that's my exciting news. I have some bug tracking software which is so good I want to write pages of blog about it. Oh, and lots of new plugins on the way.

I'm planning to take a holiday at the start of next month. I'm considering Palma/Majorca or Barcelona... or maybe Paris. Any suggestions?
I'm just thinking that with the weather being this good over here at this time of year, it's nuts to go away, but a nice holiday away somewhere would be just the ticket.

Bye for now,


Monday, April 16, 2007

Hackers Again.


It looks like I haven't blogged for a while, but actually I have another post I just haven't finished yet.

There's a big thread on KvR where someone is offering $1000 reward for information that leads to prosecution of some hackers. I think that's a paltry reward given what's being asked for, but of course, everyone's opinions vary- the thread is about 55 pages long now. Some people are pro hackers, some people against. I've made my position clear before- or at least I thought I had...

You may or may not be aware that I got a little message wishing me a happy new year from some hackery-type people. That left me somewhat perplexed. I wasn't sure if they were sincerely hoping I had a happy new year (although a perhaps somewhat impoverished one), or if they were just being mean? I'm pretty sure they read the blog, and I'd love some clarification. I can't trace anonymous comments, so there's nothing to stop you posting to me. In fact, I'd love to find out.

I did ask in a previous post that if anyone does feel the need to crack Sonalksis software, they should update the UI graphics to make sure everyone knows they did it. I've even made this easy to do. Perhaps I should make the installer files available to make it easier still for them?

The argument that plugins should be free is false.
You want Sonalksis plugins. They require X amount of working time to develop and test.
For me at least, if it wasn't a day-job, I could not find the time to do the work necessary.
Free plugins = non-existent plugins.

Not so! You say - there are many free plugins!

Yes, but evidently the circumstances that apply to their authors do not apply to us at Sonalksis.
If you want Sonalksis quality (and customer support and updates and new features and...), you need to get it developed by Sonalksis. For that to happen, we have to have the time, and that means taking things seriously.

Even if you disagree that circumstances are different (though everyone's circumstances ARE different), that makes you an ethically justified user of free plugins, not an ethically justified user of cracked non-free plugins.

Essentially, when you buy something, you are saying not only that you want that item (and support for it in future) but that you want the manufacturer to provide you with similar future items which also appeal to you.
By using cracked Sonalksis software when you can afford not to, what you are saying is that you DO NOT want more Sonalksis software to be available. Now, if that is what you mean to say, then that's fair enough - but pay for the software you do use, and tell us that for whatever reason you want us to go bust. That's the only ethically defensible position, I'm afraid.

I have started to get the impression that a lot of people think of plugin companies as big fat-cats, all rich beyond their dreams, driving porsches and ferraris. Big glass offices, server rooms with millions of blinking lights. Water fountains. Multi-million pound mansions in the countryside with stables and maybe a racetrack for practicing rallying at the weekend.
Yeah, that's the dream, but actually, I don't know of ANY company who's got that far (except perhaps Waves at their highest peak).

So some reality just so you can ground what it's really like. Most plugin companies are very small. 20 people is a HUGE number of employees for a plugin company. Pay is never great - there's always more money working for some faceless corporate consulting outfit. I've almost finished paying off my student debts - maybe another year or two will get it. No-one at Sonalksis owns a car, let alone a Porsche or a Ferrari (although one of the guys has a van!).

Making plugins is not (as far as we can tell!) a way to get rich and retire, making a killing exploiting the musicians of the world. Actually, making plugins isn't even I.T. It's not the same market. It's the music industry. The market for a plugin company IS NOT everyone with a computer, it's PURELY musicians. I think we ALL know how much money there isn't in this industry.

This is why my comment above about sustaining company development is moot. No-one in this industry (not even Waves!) is sitting back and laughing (WUP?). Not any more. We're all doing the best we can to stay in business. We're all still trying to live the dream - making a living in the music industry! Everyone goes about things in different ways, and I'm sure different approaches have different merits - even though I strongly disagree with a few things going on today.

When money comes through the door here, it gets invested in three things:
1) Making new plugins. This is the only way we can stay in business.
2) Supporting existing plugins. This is the only way we can guarantee that we're a company worth buying from. No-one wants to be a bad company, do they?
3) Growth. We need to advertise to have new customers, we need to take on people who are good to do the stuff we're bad at, we need to expand as a company in order to keep growing (because otherwise you shrink and die)

So, now you know. No fat-cats smoking cigars. No Ferraris. Not even a second-hand Lamborghini. What you're paying for is for us to keep making new plugins, and to keep the old ones working.

Hopefully you remember that I'm not hopelessly naive about these things and I can tell a lost sale from someone who never would have bought. So I'm not arguing that a 13yr old with his first sequencer is destroying the industry - that's clearly nonsense. However, a studio selling recording time and using cracked software clearly IS. If they didn't pay for their hardware, someone would be in there to retrieve it nice and quick. If they didn't pay for their electricity, it'd get shut off. Cracked software should be the same deal, but it's not. This is what led me to request that hackers badge cracked software. But let's not think of it as "going after people who OUGHT to be paying".

I've seen, and I like it. I have one of their t-shirts.
I saw their forums. Wheeewww... A lot of very angry people there, who've been done-over by large software companies, and now feel that their piracy is justified.

Well, what can you say to someone who's been put through so much pain that they'd rather pirate software than pay a cent to support the companies. Shame on the companies that messed them about! But that's not enough, because NOW, every other company will feel their wrath. It's worth noting that these people are in the large paying customers who're not prepared to pay any more - they want the companies that have mistreated them to go bust, and as long as they stick to non-cracked software, they are ethically sound!

We make a point of looking after our customers. We are a small company, and as I've probably mentioned before, all of our customers (so far.. touch wood) are lovely!
This might be related to the fact that customer support is essentially our highest priority as a company. Sometimes growth/new products suffer as a result; we just have to interpret that as a measure of how tough the market actually is. We can't afford to let customer service suffer, or we'd be out of business in a week.
Nor can we differentiate between the level of support a demo-user vs a customer gets. We've no way of demonstrating that we offer good customer service to customers unless prospective customers get the same service too.
So customer service is opened up to everyone.
Now out comes a crack, and suddenly TWENTY TIMES as many users have the plugins.
How fair does it feel that the cost of supporting them through customer service is paid for by the legitimate customers?
To clarify that- I can't distinguish between someone who is "using the demo and needs help" and someone who is using the crack. The former represents a potential sale, the latter most likely does not. I have to help them both.
Or maybe I only offer customer service to existing customers... would that be popular?

But on the flip-side, TWENTY TIMES as many people have now heard of Sonalksis... maybe they'll buy? Well... the demo period is (we think) pretty generous, so it's not the benefits of try-before-you-buy. So maybe it's a marketing thing?
Perhaps there is some benefit there?
But marketing is something you ought to take control of - if you had to choose between spending X amount advertising to random people, or the same amount advertising in a magazine read by your target audience, which would you choose?
I have a funny feeling this analogy isn't a million miles from the way it is, whether you measure X as cash expenditure or lost sales.

Ah well. There's really no fixed answer to this type of argument.
There's no hard data - and there never can be.
You can prove precisely nothing.

There's another angle that interests me though.
Why do crackers crack?
I suspect it goes something like this:
1) Young, very smart, technically gifted, wants to acquire some status
2) Does a few cracks which get some attention, acquires desired status
3) Gets surrounded by a network of people who really want more cracks done
4) Gets half-way emotionally blackmailed into it, and keep cracking until finally s/he gets the opportunity to stop.

It's well known that hacking (white hat) is something people do because it's interesting and fun. That explains the first few cracks (black hat). But surely there comes a point where it becomes routine and monotonous. Points 3&4 are my theory as to WHY people would carry on cracking after it's become dull. Suppose you've cracked CP mechanism X, and you did it because it was fun. Well, now it's cracked, why would you keep on cracking it for other plugins?

I believe that points 1-4 form a valid explanation for the motives and actions of crackers. It makes sense. To start with, they find something technically fascinating (although illegal), and they dive into it. Then, they find themselves locked into it, long past the fascination has gone.

I don't believe for one second that the crackers we have heard of are immature in any way. The concept that someone could have the immaturity to keep trying to attain status in a childlike way just bears NO conceivable parity with the level of skill required to crack software.

However, while I /like/ 1-4 as an explanation, I have two more potential hypotheses:
A) Crackers believe they are ethically justified
B) Crackers hold a vendetta against their victims
Now, as I have said, anyone with the skills to crack software is necessarily mature enough to realise that A is clearly false - there isn't /really/ an ethical justification. If they really do think that, then all we can conclude is that that's a +frightening+ state of affairs.
As for B... well, why? It would have to be a very generic vendetta too. Some kind of prejudice against plugin companies? Weird.

The handiwork I've seen from crackers recently indicates that the level of skill required to enter the arena is higher than ever before. The crypto knowledge alone is not something you'd learn at university... So here we are talking about people who could WALK into some of the highest paid jobs in the IT industry...

I just wonder why they don't surf over to, spend 20 minutes figuring out DSP, and start their own plugin companies?

Any ideas?

Friday, March 02, 2007

The button...

Ok people...

So, as you may have guessed from other posts, TBK3 is /bit/ nasty...
In fact, it's so nasty that we've had a little think.

Now, we know damn well that you want a compressor so evil that it frightens your pets, so none of the functionality is going... but we're going to have a button which lets you pick just how nasty it gets; y'see, it's a really great compressor when you're NOT killing things dead, so there'll be a "nicer" mode...

So... a button which brings the pain...

Our ideas for labels so far include:

So... What should we call the button that brings the kind of compression that has only existed in your most perverse nightmares?
Let us know!!! :)


Thursday, March 01, 2007

And it is done...

I feel an enormous sense of relief now. 2.02 is out :)
The last email has been sent, and it's all sorted.
Installers are up, pages are updated, ChangeLog is added, mailouts are sent...

It's half four in the morning.
Now I just have to wait for someone to spot the obvious mistakes... :-S
Wish me luck eh?


Two things! (Both of which are exciting!)


Today (well, tonight) is exciting because:
1) It's TBK3 day
2) It's Essentials Mk2 v2.02 day

(2) first:
So, they've been in testing for long enough now. They're stable and great and all round lovely. A few nice new features have gone in, and the last few niggly bugs have been cleaned up!
Felix is visiting from Paris. Despite talking every day on the phone/msn/aim/email, it DOES make a difference to actually SEE someone. I am pleased he is here! :)
So, we are shipping 2.02. No-one can find anything else for me to fix (and our testers are AMAZING! They scare me! :-D), so it's time to ship. I will be genuinely surprised if these ever make it to 2.04!! (... until we add new features! :P)
I've built all the installers, uploaded them, written the changelog (ooh! a first!). Felix is writing the mailshots, and I have to go update the webpages, and then make the installers live.
Then we have to hack a stack of SQL to send out the mailshots... and then Felix can write the press releases. Aceness.
It feels good to get closure on such an intense phase of work!

Felix has a new blog. I am gonna update the links on the side of the blog to link to him... when I figure out how... :D

(1)... TBK3... It came to life today... It is born.
Can't remember how much I've said about it before, so here's the skinny:
It's a compressor. With a bad attitude. Overcompression is just the starter, dual-domain envelopes is the entree, analogue-style curve softening is just another starter, the sidechain bias is rather handy, the clipper is fairly useful, the additive analogue-modelled (filtered gaussian distributed pseudorandom) noise is very chewy, and the inbuilt transient designer... well... ;)
Basically, we took everything we know about what makes analogue compressors sound nasty and evil, took it to an extreme, converted that to DSP and made it a plugin.
There is no possible "nice" use for this plugin. I have tested. Play some thin sounding beats in, and as you sweep the knob, you go all the way from "solid" to "heavy" to "crunchy hip-hop" all the way to "instant dubstep". It's just mean to the beats. But they love it ;)

I am super-excited. Can you tell? :D

It needs tweakage before I let it out the gate, 'cause I like to tweak, and I reckon I can balance the transient designer and compressor stages more tightly... and I might set an envelope follower to control the noise... and the graphics are still in progress... but oh boy, this is gonna upset a few people! :D :D :D

If you've read this far, then you must REALLY like me, so come and find me at SoundsExpo!! I'll wear my blue t-shirt which says "Code Monkey"(friday) or my black t-shirt that says "Insufficient Memory"(saturday). I might even have a namebadge! I'm the one with glasses hanging around with the REALLY tall dude with dreadlocks (Felix). Come say Hi!! :) I'll be there friday + saturday.

Hope to see you there!! :)


Tuesday, February 13, 2007

Where have you gone? Where has 2.02 gone?!?!

I mean, it wasn't that much to ask for, was it?
Except, who saw it coming...? That I would find myself locked in a room for two weeks, on the verge of losing my mind, trying to fix a bug in the RTAS version that just plain didn't want to be fixed.
Well, I guess that just goes to show why it's never safe to publish release dates for things in beta testing!

I am feeling slightly better about life now that I'm no longer focussing every fibre of my being on this one retarded bug ('cause it's fixed now).
I do want to say BIG THANKS and BIG LOVE to Angus @ FXpansion and Nixx @ Focusrite for keeping me sane during that fortnight... Errrgh.
I'm uploading a new beta for the testers while I type this... :)

And then I get to make some exciting NEW plugins!! Now, that IS something I'm looking forward to!! :)

I watched 8 DVDs this weekend:
Farenheit 9/11 (veeeery interesting)
Layer Cake (just great)
The 40-year-old Virgin (actually a lot more funny than i expected)
Memoirs of a Geisha (very cool)
Ultraviolet (no actual storyline to speak of, nor dialogue, but lots of fighting, and that completely redeemed it, in my eyes)
Hitch (it's a will smith rom-com, you know what it's gonna be like)
Team America - World Police (required viewing for everyone, ever)
Anchorman (really really really funny)

While watching Layer Cake, my macbook's power supply failed. The cable melted through, just at the join between the cable and the magnetic connector. Very scary.
I went to the Apple Store in London and showed them it. They asked me to take a seat. I waited about 1hr30, and then a very nice man gave me a new one!! :D
So now I am online again. I have photos of my melted power cable if anyone would be interested to see them?

Files have uploaded... onto some new plugins now, methinks :D


Monday, January 29, 2007

Bogdon Box Bass

Thanks to Chris Randall for the tipoff...

These are AMAZING!!
Get yourself a Bogdon box-bass now!

I built mine this morning... and it is VERY exciting!

Photos/videos/mp3s to follow ;)


Tuesday, January 23, 2007

Hard Disk Recording- Internal Vs External

There's absolutely no mistaking it. These internal drives sound MUCH better.

Wednesday, January 17, 2007

Word Verification


I've switched on Word Verification for comments posting.
That's not to be anarchic or anything, but going through deleting spam sucks...
[though... if you think it's bad here, you should see the Sonalksis forum... I reckon we spend an hour per day cleaning it up!! :(]

And my blog appears to have been dead for a few days... so hopefully a sharp republish should help fix things :)

Thursday, January 11, 2007

Mono Versions not working in Logic 5...

Mental note to self,
Please observe that VST process() is declared deprecated in VST2.4...
so if you don't declare it with the right name, it doesn't override the right function...
[i.e. DECLARE_VST_DEPRECATED(process)(...)]


Essentials Mk2 UIs


While most people really like the MK2 UIs (some even claiming that they make things sound better), it has not escaped my attention that there are some people who do not like them.

Make no mistake, I appreciate that some people won't like them- that's true for ANY piece of artwork... and I do care about your feelings, and I want to give you ACE products...
Just EXPECT to receive NOTHING but "diplomatic" (i.e. content-free) replies from me on the topic.

My alternatives to being diplomatic are:
Insult my graphics artist for your enjoyment; which would be a disgusting thing to do, since he IS a very talented, very capable artist, and a very nice guy to boot. So I'm not doing that.
Insult YOU! Which I'm not going to do, because I DO believe that your opinions are valid, and I'm not the sort of mental bastard who wants to shoot his customers (not mentioning any SPECIFIC competitors... ;) so I'm not doing that EITHER.

To be clear, I have only a very limited control over graphics, so I'm just not the right person to talk to, but there IS a feedback form on the site, designed for SPECIFICALLY this sort of thing, and that will go DIRECTLY to the right people :)

Anyway, I like em :P

Friday, January 05, 2007

I got a rowing machine!

I have decided I need to get more healthy.

So I bought a rowing machine!! :D It's a sculling one (the pullcord ones don't appeal to me at all... being able to actually row a boat feels more useful...), and it's really good.
I have been eating more healthily too; lots of natural yoghurt and fruit.

It's ACE :)

I have been fixing buglets today. I'm going to do a 2.01 (or do we only release even numbers? 2.02?) revision of the Essentials, which will be slightly tidier. There's a few cosmetic things bugging me, so I am tidying :D