You are here

The Future Of Music Technology

Exploration By Dave Shapton
Published October 1999

'Switched Fabric' data transfer technology is already commercially available in the world of network servers, but it maybe a while before musical applications appear.'Switched Fabric' data transfer technology is already commercially available in the world of network servers, but it maybe a while before musical applications appear.

New developments in technology often originate in other fields, and are only later applied to the world of music. In this new regular column, Dave Shapton seeks out the latest breakthroughs in digital technology, and explains how they might change the way in which music is made and recorded.

Two announcements in the computer newswires this month could signal the start of some very interesting times for anyone involved in music and media production: Sun introduced the concept of their real‑time Java media chip, 'MAJC' (pronounced 'Magic'), and Intel clarified their intention to take part in Next Generation Input/Output technology or 'NGIO' (pronounced, er, 'NGIO'). These two products are significant because they will both lead to more and better ways to connect media (audio and video) devices together. And, best of all, they will make it easier as well.

Ngio Marsh

Sun's MAJC Java chip could herald the advent of a 'virtual machine' standard for digital audio and video.Sun's MAJC Java chip could herald the advent of a 'virtual machine' standard for digital audio and video.

NGIO is fascinating because it is so far ahead of what we have available now, and it is a genuinely different way to do things. Up to now, the fastest way to push data around a desktop computer, be it a PC or a Mac, has been via the PCI buss (the AGP or Advanced Graphics Port is actually faster than PCI, but I don't know of any devices that aren't graphics cards that use it).

When PCI came out it seemed fast. It was certainly quick compared to the glacial ISA buss that preceded it, and most importantly, it was fast enough to move data at the sort of speeds you need for real‑time multitrack audio and video. Push it hard enough, however, and it struggles, especially with real‑time media data

The trouble with busses is that they work using a principle called Time Division Multiplex. Sound familiar? It probably does if you are a Pro Tools user. Pro Tools (and before it the Spectral Audio Engine) uses a dedicated digital audio buss that runs at a multiple of the audio sample rate. By synchronising the buss clock to the sample rate in this way, it's possible to guarantee a certain bandwidth on the buss. So you could, for example, rely on having enough capacity on the buss for (say) eight channels of mixing, four auxiliary sends and eight individual outputs, configured via a software patchbay.

The PCI buss works in essentially the same way, but is not synchronised to anything but its own clock. As it happens, it is fast enough (66 or 100MHz — three times faster than early audio TDM busses) to get multiple channels of audio data to their destinations in time, but delivery is not guaranteed. Not only is the buss asynchronous to the digital audio streams passing through it, but it has to deal with other data as well, such as hard disk accesses, graphics card updates, and other computer housekeeping stuff.

Performance of the PCI buss will always, therefore, tail off when it gets busy. Moreover, the more I/O devices using the buss, the slower it gets. Up to now, the only way of increasing data throughput has been to speed up the buss — but there are limits to how fast you can make a buss go. You obviously can't double the maximum speed of your car by making the engine go twice as fast, because it would simply blow up. Likewise, once you get beyond a certain clock speed on a computer motherboard, then physical factors such as capacitance and interference kick in and start corrupting data. (Think about it: FM radio works at Very High Frequencies somewhere around 100MHz. That's actually slower than the new 130MHz PCI buss — your computer is, in a sense, a VHF radio transmitter!). In the future, we're going to need more buss capacity in our digital studios. We want multi‑channel 24‑bit audio, mixed seamlessly with high‑definition video. There has to be something better than the PCI buss.

Luckily for us, there is, and it comes in the form of the oddly named 'Switched Fabric', the basis for the NGIO initiative. It overcomes the biggest drawback of conventional busses: it doesn't slow down when you connect more devices to it. Yes, it sounds impossible — but we use this type of technology every day whenever we use the telephone.

When you dial a telephone number, the local exchange routes via a 'trunk' line to another exchange nearer the phone you are dialling. The remote exchange then switches your call to a line that is connected to the telephone you were calling. Hang up and make another call, and the process is repeated. There can be any number of exchanges between you and the person you want to speak to, but the principle is the same: your call is switched between whatever connections are available between you and the call's destination.

What happens if, during your call, someone else calls another number? This happens all the time on the telephone network, and of course it has no effect on your call whatsoever. Telephone networks have to be capable of supporting huge numbers of simultaneous calls, which could be from anywhere to anywhere. There are two very important points here. Firstly, you have a fixed‑bandwidth connection to the person you are calling. Secondly, so does everyone else on the network. Everyone has a guaranteed connection to everyone else, as long as the total capacity of the network to make new connections is not exceeded.

The more exchanges you add to the network, the more calls it can handle. As a telephone user you'll be oblivious to this. You'd only ever be aware of there not being enough exchanges, at which point you'd get a network busy (engaged) tone. Your bandwidth is guaranteed because your connection to the other person via the network is effectively a 'channel'. As long as you have that connection, you have the full bandwidth of the channel available, and so does everyone else with a connection.

You may be familiar with the idea of channels because of the way MIDI works. MIDI, though, is a serial interface: it has a fixed capacity that has to be divided between all its channels. That's why you get delays if you have several instruments all playing big chords. The reason that doesn't happen with NGIO is that a Switched Fabric has a much larger total bandwidth and can set up 'virtual circuits' through its arrangement of swiches. Eventually it will run out of capacity for additional circuits — but it will never rob an individual connection of bandwidth in order to set up another one.

NGIO sounds to me like a technology that will be useful to have in a digital studio. We won't get our hands on it for a while yet, because the IT industry is massively bigger than the music recording business, and NGIO will be used initially to improve the input/output performance of large network servers. If you want to read about Switched Fabric technology in practice, have a look at www.sgi.com/origin/numa_tech.html, which is part of the SGI (formerly known as Silicon Graphics) site. They offer a network server that has 12 special slots for I/O devices, each of which has a guaranteed bandwidth of 1.6Gb per second!

That's Magic!

Sun's MAJC chip is already creating quite a stir, because the device will apparently use several brand‑new technologies, including parallel processing on a single chip. To me, what's most exciting is that MAJC could well be the first example of a chip that can use Java to do real‑time audio and video processing. Java is a programming language that is designed to work on just about any type of computer. It overcomes the difficulty of dealing with different types of microprocessor by running in a 'virtual machine'. Virtual machines are created by software written for a specific processor and operating system. They create an environment where all reasonable requests and commands issued by a Java program can be translated into instructions that the host processor can understand and carry out. A Java chip is effectively a virtual machine in hardware! The advantage of it is that it is much faster than a software implementation, and still runs standard Java. It does mean that you are tied to specific hardware, but they promise to be cheap, and therefore ubiquitous.

The reason why all this is exciting is not at first sight obvious. It's all to do with standards, and the possibilities that they bring. Think about MIDI...

When I first came across MIDI, I had a DX7 and a Bit 99 (a digitally controlled analogue synth), both of which had a set of MIDI sockets. I plugged them together and amused myself for about five minutes by playing one keyboard from the other. And I thought 'Well, that's MIDI, then.' It wasn't until I got my first PC, and my first sequencer, about four years later, that I began to realise how important MIDI would be. You can criticise MIDI for being slow and not very good at moving large amounts of data, but as an example of what can happen when people cooperate and actually use standards, MIDI is very good indeed. Just think: you can connect any two devices that support MIDI together. Not only can you send detailed note information, but machine control (play, record, rewind and so on), timecode and all sorts of other things. But the best thing about MIDI is that it just works. No setting up, no searching for the right combination of connectors (there is only one!). In the universe of MIDI, any device, from any manufacturer, will talk to any other device.

I may be way out on this one, but I think processors like Sun's MAJC could be the first step towards making digital audio and video as plug‑and‑play as MIDI. Once we have DSP (digital signal processing) capabilities in Java, or something like it, we'll be able to transfer mixes between different kinds of mixing desk, and run our favourite reverb on any kind of processing device, whether it's a desktop computer or a dedicated studio rack unit. We'll be able to do this in our studio or across the Internet. Maybe each device will have a MAJC chip, or perhaps general‑purpose processors (probably with names like 'Octium IV Pro Plus') will be fast enough to run a virtual machine for real‑time DSP. The implications of this are staggering, and I'll be exploring this in detail in a future column.

We don't know enough about MAJC yet to say what its capabilities will be, but there are already promising signs. Gateway Inc, who now own the brand name and rights to the Amiga computer, have just said that they will use MAJC in at least one variant of their new‑generation Amiga. I'm old enough to remember when the Amiga was the only real competitor to the Atari ST: the first home computer to come with MIDI.

A Final Thought

It took 35 years for 50 million people to have radios. It's taken five years for the same number to get on the Internet (television took 14 years, by the way). Notice that there is only one Internet. You don't find an American Internet and a French one. You don't find a BBC one and a BskyB one (not for want of trying, I dare say). It is the fact that there is only one Internet that has made it the fastest‑growing media phenomenon in the history of media phenomena. There only needs to be one Internet because of standards: TCP/IP (the protocol used to address and deliver data over the Internet) and HTML (the language used to construct the World Wide Web).

Capacity And Bandwidth

It's important to point out the distinction between network capacity and bandwidth. Bandwidth is the greatest amount of data that can be send point‑to‑point in a given time. For example, the bandwidth of a typical dial‑up connection to the Internet is 56kbits/sec. Confusingly, although the bandwidth of an Internet Service Provider's connection across the Atlantic may be quoted as (say) 144 Mbits/sec, the actual capacity of the connection could be many times higher, as there may be many parallel pipes each supporting 144 Mbits/sec. Similarly, the bandwidth of the telephone network may seem low — it was designed for minimum quality speech, after all — but its capacity is astronomical.