Friday 12 June 2015

INSIDIOUS 6581 Part 1: Why on earth would anybody want to copy a 30-year old soundchip?

Answer: Because it's an extraordinary piece of unique-sounding hardware and I can only access my HardSID card from Windows XP.

Allow me to explain...

The SID

MOS Technologies 6581
A MOS 8580 and 6581R4
The MOS Technology 6581 Sound Interface Device is an amazing chip, designed in about five months by Bob Yannes (who went on to found synthesizer company Ensoniq) for usage in the Commodore 64 home computer in 1982. At the time, Charles Winterble, a colleague of Yannes said of the chip, "This thing is already 10 times better than anything out there and 20 times better than it needs to be". It was far more advanced than anything available at the time and indeed for many years thereafter.

Philips EL3302
A smartphone from the 70s
It was really the SID chip that started me on my career of making music for games. Zzap 64!, the biggest Commodore 64 magazine in the UK in the mid-to-late eighties spent a fair amount of time talking about the music in the games they reviewed, sometimes interviewing musicians and at one point going so far as to have a reader's chart of the best-voted game music. I even sometimes recorded various pieces of music onto tape by holding a cassette recorder near to the television speaker so that I could listen to it without having to spend 5 minutes or more loading the game from tape (and also to use it as annoying proof at school that my Commodore 64 was better than whatever computer the non-C64 owners had). It's fair to say that I revered the composers of the time.

The thing about the game music on the C64 was that it wasn't just a collection of beeps like on every other computer. It really was 'proper' music - Rob Hubbard's music for Thing On A Spring could have easily been the theme tune to a kid's TV show in 1985. The C64 music pioneers like Rob Hubbard and Martin Galway were not just extraordinary musicians, but excellent programmers as well and did a lot of work in squeezing new and interesting sounds from the chip. When at its best the music was (and remains) inventive, melodic, and tonally complex.

Moving onwards and backwards

When the Amiga took the place of the Commodore 64 I must admit to feeling a certain amount of disappointment in its lack of audio features. Initially, everything sounded amazing because everything was made from sampled sounds, but as I became a composer myself, it was clear that some things that were effortless on the SID chip were incredibly difficult on the Amiga with its pure sample playback and no filters or other support. If I'd known how to program properly at the time, it would have been easy to create Pulse-width modulation (PWM), which is the most characteristic sound of the SID, but programming didn't click with me for another few years and so, as with most Amiga composers, I used Soundtracker and its evolving variants Noisetracker, Startrekker and Protracker.

My very first professional game music work was in 1990 and was to convert the music for Last Ninja 2 from the C64 to the Amiga. I was only given 40KB of RAM for each tune. My first thought, being a big fan of the original, was just to copy the music as closely as possible and so I looked into using Future Composer, an Amiga music package that had a memory efficient music data format and could  sound SID-like with its PWM feature. Due to issues with getting the playroutine working in the game, it was impossible, so I went back to using Noisetracker (always in pink mode for those familiar with it).

In Noisetracker, each music pattern took up 1KB and a tune might typically use 10 to 15 patterns. That potentially left only 25KB available for sound samples. To put that into perspective, using 8-bit mono sound at the very low rate of 8Khz gives only 3.2 seconds worth of samples. I'd been making music on the Amiga non-stop for over a year and had messed around and experimented with all sorts of software that I came across. I'd previously discovered that I could make interesting noises in Audio Master II (a sample editor) by creating a very small sound of maybe only 64 samples, playing it as a loop and drawing over the waveform with the mouse while it was playing. That led on to me realising that I could draw a tiny raw waveform and use it as an instrument in Noisetracker.

As it turned out, a few other people had the same idea at around the same time and these single-cycle waveforms became the basis for what became known as 'chip tunes' on the Amiga (and indeed it's likely the reason that the whole reason that the retro music genre nowadays is called chip music). In my case I never originally thought about using them on their own, they were just a means to an end.

I realised that copying the C64 music data would still leave one sound channel free on the Amiga. This got me thinking of a way that I could keep memory usage down and get some sort of SID-style modulation. I could draw a single-cycle waveform in Audio Master and play that sound in two channels. By slightly increasing the pitch of one channel during playback I could get a chorus effect. The result was a modulating sound in a tiny amount of RAM at the expense of a sound channel. You can hear how it sounds when applied to three channels on a video on youtube.

All that messing about just to attempt something that the SID could do easily in a few bytes.
Even after the Amiga games market had had its day and we moved into the era of CD-based games with CD-quality audio, I still knew that there was something unique about the sound of the SID. It had a tone and grittiness to it that nothing I'd come across could come close to.

It must have been around 1996 that my fellow Psygnosis musician cohort Tim Wright had the idea to make a standalone MIDI synth using a SID chip. He looked around for parts and even ordered a few, but never got around to finally making it. A few years later, in 1999, it became clear that other people felt the same way about the chip as we did. Elektron's SidStation synth and Téli Sándor's HardSID ISA card for the PC were both released. I've never actually used one, but the SidStation always looked to me like a bit of a pain to use and was initially a very limited run of only 100 machines. The HardSID could play actual C64 tunes, had PC software with it and could be bought without sound chips, meaning that sales were not restricted to how many chips the manufacturer could source.

I didn't get one until five years after its initial release when I saw its next version, the HardSID Quattro (4 SID chips on one PCI card!) for sale at the Back In Time Live event in London in 2004. I snapped it up and then got my Mum to scour the car boot sales for C64s so that I could take the SID chips out of them. Various versions of the SID chip sound different due to flaws in the manufacturing process, but as luck would have it, I ended up with what is basically the complete set of major revisions of the SID chip: A 6581R2, 6581R3, 6581R4 and an 8580R5 (the 6581R1 version was just a prototype).

Over the years, I didn't actually use it very much for music production. I got a few sounds in a few tracks here and there, but it spent most of its time being used to playback C64 tunes from the High Voltage SID Collection. The software SID emulations like Sidplay were no match for the real thing; the difference in the sound quality was quite extreme at times, mostly because of the unique distorting filter of the real hardware. I must admit to being quite pleased with myself that I could always listen to the genuine article.

Recently, however, having the real hardware has become less important. Thanks to Antti Lankila's extraordinary work in analysing the SID's filter, Sidplay/w 2.6 with Antti's filter patch is basically indistinguishable from the real thing. I've done listening tests between my SID chips and this version of Sidplay with different filter settings, and I couldn't tell the difference. It completely destroys any reason to have the real hardware just to play C64 tunes, but it was definitely worth having for use in my own compositions. Unfortunately, this became a big issue.
My aging HardSID Quattro containing each major revision of the SID

Choosing between old and new

Over the last few years I have become a very heavy user of Native Instruments' Reaktor to the point where every track I create has Reaktor in it somewhere. About a year ago, Native Instruments changed their installer program so that it would only install on Windows 7 or later, so as you can imagine I wasn't happy when I couldn't update the software on my Windows XP music PC. Just to have a small rant at NI here, the latest versions of Reaktor and the other NI software run perfectly fine on Windows XP, it's just that their installer program quits if it finds itself running on anything less than Windows 7. This left me in a bit of a dilemma. The HardSID Quattro is from 2002 and drivers were only ever released for Windows XP; it doesn't work with Windows Vista or later. So do I upgrade my music PC to the upcoming Windows 8 and lose access to my HardSID card and possibly some other music software, or do I forgo upgrading Reaktor and my other Native Instruments software to the latest versions?

Progress won out and I bought Windows 8. The decision was swayed thanks largely to Antti Lankila's updates to Sidplay removing the requirement for real hardware to hear SID files correctly, but also because I knew I could keep XP on another partition and go back to it as necessary for real SID usage. Nevertheless, going back to XP just to play with the SIDs became more of a pain as time wore on and I wanted a VST of it to use in music. It was either that or spending a lot of money on Téli Sándor's hard-to-come-by last creation, the USB-based HardSID 4U unit.

The main problem with the set of available VSTs that claim to emulate the SID chip is that they are mostly, to be frank, utter crap. Most advertise themselves as being SID-like or are up-front that they are not emulations, but an attempt to create some self-defined facsimile of '8-bit' sound. I wanted to recreate the raw SID chip, not someone else's idea of how the SID should sound or any form of 'enhanced' or 'better' SID. There are only two products that seem acceptable to me, but both have their issues:

Plogue ChipsoundsPlogue Chipsounds is a good attempt at emulating all sorts of computer sound chips, but it is pretty high priced, the demo doesn't give nearly enough time for a proper evaluation, the GUI is very convoluted and the SID filter is awful.

HyperSynth SIDizer seems like it should be very good from its feature list. It looks like it's trying hard to be very accurate and the price seems much more reasonable than Plogue's plugin. However, it just crashes my DAW when I try to open it and I've never managed to hear it live.

There was little choice but to just do it myself. Ideally, I would make a VST in C++ that used the updated libsidplay (as used in the Sidplay program) and have it work as if it was accessing the real hardware, but the biggest problem would be the user interface. It would take far more time to program the interface than it would to get the sound going, and the interface is all-important in giving access to the relevant features via MIDI. A better choice would be to use something that already has an easy GUI framework and is extensible by the user.

And so, having become pretty adept over the years at making my own synths in Reaktor and knowing the SID chip pretty intimately, I loaded up said software and selected "New Ensemble".

Next: "How on earth does someone copy a 30-year old soundchip?"

Insidious 6581 for Reaktor is available at the Native Instruments User Library

No comments:

Post a Comment