Difference between revisions of "Multichannel Recording"

From Audacity Wiki
Jump to: navigation, search
(add headings for rest of page)
(very minor tidy and a few typos)
Line 1: Line 1:
Mutli-channel recording means recording more than two separate channels of audio at once on the same computer, syncronised to each other. This needs support at several levels in order for it to work sucessfully:
+
Multi-channel recording means recording more than two separate channels of audio at once on the same computer, synchronised to each other. This needs support at several levels in order for it to work successfully:
 
* Hardware support - you need a sound card or external sound device which actually has enough analogue to digital converters to do multi-channel recording. Most consumer cards only have one stereo pair of analogue to digital converters that is switched between Line In, Aux In, Mic etc. You need at least a semi-professional device which actually supports recording multiple channels at once.
 
* Hardware support - you need a sound card or external sound device which actually has enough analogue to digital converters to do multi-channel recording. Most consumer cards only have one stereo pair of analogue to digital converters that is switched between Line In, Aux In, Mic etc. You need at least a semi-professional device which actually supports recording multiple channels at once.
* Driver support - the drivers for the device must make it possible to record from more than two channels at once. This is more problematic that it might seem because the standard sound interfaces for many OSes were designed long before multi-channel recording was possible, and so only allow for up to two channels of recording. Also, consumer operating systems are not designed to achieve the low latencies and high throughputs needed for high quality multi-channel recordings.
+
* Driver support - the drivers for the device must make it possible to record from more than two channels at once. This is more problematic that it might seem because the standard sound interfaces for many operating systems were designed long before multi-channel recording was possible, and so only allow for up to two channels of recording. Also, consumer-level systems are not designed to achieve the low latencies and high throughputs needed for high quality multi-channel recordings.
 
* Application support - the application you are recording in needs to support working with multiple channels of audio. Audacity supports recording up to 16 simultaneous channels of audio, but only plays back two channels (stereo). Multiple channel files can be exported from audacity 1.3.0 onwards. Offers to help add support for multi-channel playback would be welcome.
 
* Application support - the application you are recording in needs to support working with multiple channels of audio. Audacity supports recording up to 16 simultaneous channels of audio, but only plays back two channels (stereo). Multiple channel files can be exported from audacity 1.3.0 onwards. Offers to help add support for multi-channel playback would be welcome.
  
Line 8: Line 8:
 
== Windows ==
 
== Windows ==
 
=== Windows Sound Interfaces ===
 
=== Windows Sound Interfaces ===
The standard '''windows MME (Multi Media Extensions)''' sound interface has been around since Windows 3.1. It supports up to two channels of recording, sample depths up to 16 bits, and sample rates up to 44100Hz. ]On playback, multiple applications can use the sound device at the same time, with all the audio being mixed and sample rate converted to 44100Hz in windows before being sent to the sound card. Nice and simple for going ping and utterly hopeless for multi-channel music production.
+
The standard '''windows MME (Multi Media Extensions)''' sound interface has been around since Windows 3.1. It supports up to two channels of recording, sample depths up to 16 bits, and sample rates up to 44100Hz. On playback, multiple applications can use the sound device at the same time, with all the audio being mixed and sample rate converted to 44100Hz in Windows before being sent to the sound card. Nice and simple for going ping and utterly hopeless for multi-channel music production.
  
It's also not very much use for writing games with, which is why after the release of Windows 95, it became necessary to offer the games manufacturers something better to persuade them off DOS. So '''DirectSound''' was born. This provided more flexible playback of audio, and later added multi-channel and surround sound playback for immersive game audio. However it didn't have any recording support to start with, and still is rarely used for recording audio.
+
It's also not very much use for writing games with, which is why after the release of Windows 95, it became necessary to offer the games manufacturers something better to persuade them off DOS. So '''DirectSound''' was born. This provided more flexible playback of audio, and later added multi-channel and surround sound playback for immersive game audio. Recording support was also only added later, and DirectSound is still rarely used for recording audio. Multi-channel recording is now theoretically possible, but with significant latency. 
  
This all left serious audio recording and playback rather out in the cold, so proprietary solutions stepped into the gap, and Steinberg created the '''[http://www.steinberg.net/329+M52087573ab0.html ASIO]''' interface for bypassing the operating system entirely, and connecting audio applications direct to the sound card. This gives very low latencies (because all the mixing and conversion involved in the MME interface is avoided), but means that only one application can use a sound card at a time (no sharing between multiple applications, no system sounds)).
+
This all left serious audio recording and playback rather out in the cold, so proprietary solutions stepped into the gap, and Steinberg created the '''{{external|[http://www.steinberg.net/329+M52087573ab0.html ASIO]}}''' interface for bypassing the operating system entirely, and connecting audio applications direct to the sound card. This gives very low latencies (because all the mixing and conversion involved in the MME interface is avoided), but means that only one application can use a sound card at a time (no sharing between multiple applications, no system sounds).
  
 
'''GSIF''' also arrived about this time, but is proprietary and completely playback-only, so doesn't affect us.
 
'''GSIF''' also arrived about this time, but is proprietary and completely playback-only, so doesn't affect us.
  
Finally, Microsoft wanted to provide a way to do what ASIO did but that they controlled, and integrated better with existing MME drivers. So '''WDM KS''' or '''EWDM''' drivers were invented. Windows Driver Model Kernel Streaming or Enhanced Windows Driver Model provided a unified way of writing drivers for Windows 2000 onwards, as well as more direct access into the audio hardware for applications that needed it. Cakewalk's SONAR was the first major application to use this, and it still lags behind ASIO in terms of market penetration on the application side. Drivers are more widespread, because providing a WDM driver automatically provides DirectSound and MME support through Windows. Not all WDM drivers will provide multi-channel recording support however - this isn't needed for DirectSound or MME, so many driver writers ommit it.
+
Finally, Microsoft wanted to provide a way to do what ASIO did but that they controlled, and integrated better with existing MME drivers. So Windows Driver Model Kernel Streaming ('''WDM KS''') and Enhanced Windows Driver Model ('''EWDM''') drivers were invented. These provided a unified way of writing drivers for Windows 2000 onwards, as well as more direct access into the audio hardware for applications that needed it. Cakewalk's SONAR was the first major application to use this, and it still lags behind ASIO in terms of market penetration on the application side. Drivers are more widespread, because providing any kind of  WDM driver automatically provides DirectSound and MME support through Windows. But WDM drivers not specifically designated as  WDM KS or EWDM generally won't provide multi-channel recording support - as this isn't needed for DirectSound or MME, many driver writers omit it.
  
For more on how windows sound drivers work, try this page: http://www.staudio.de/kb/english/drivers/
+
For more on how Windows sound drivers work, try {{external|[http://www.staudio.de/kb/english/drivers/ this page]}}.
  
 
=== Recording With Audacity ===
 
=== Recording With Audacity ===
Out of the box audacity comes with support for windows MME drivers. These work fine for simple stereo recording and playback, and are available on all versions of Windows where audacity will run. However, as they aren't going to provide multi-channel recording, we need something more. If you're lucky, you sound card manufacturer provides full EWDM support, and audacity will just work - select up to 16 channels of recording (depends on your hardware) and away you go. [http://www.esi-audio.com/aboutus/technology/ ESI] is one manufacturer who is reported to make this work.
+
Out of the box Audacity comes with support for windows MME drivers. These work fine for simple stereo recording and playback, and are available on all versions of Windows where Audacity will run. However, neither these nor most WDM drivers  are going to provide multi-channel recording; if you try to send multiple inputs to Audacity with these, you will only be presented with a series of separate two-channel "recording devices" from which you can choose one, instead of the number of input channels there actually are. If you're lucky, and your sound card manufacturer provides full EWDM support, Audacity will just work - select up to 16 channels of recording (depends on your hardware) and away you go. {{external|[http://www.esi-audio.com/aboutus/technology/ ESI]}} is one manufacturer whose devices are reported to provide multi-channel recording in Audacity.
  
Unfortunately most manufacturers of studio-market cards see Windows drivers as for consumer stuff, and assume all their users will use ASIO. So they provide either a basic stereo MME driver or no windows driver at all, and ASIO to get to the multi-channel functions. The problem is that ASIO is proprietary, so audacity doesn't support it in the released builds. More information on the problems with ASIO is on the [[ASIO Audio Interface]] page.
+
Unfortunately most manufacturers of soundcards for the semi-professional or studio market see Windows drivers as for consumer stuff, and assume all their users will use ASIO. So they provide either a basic stereo MME driver or no Windows driver at all, and ASIO drivers for multi-channel functions. The problem is that ASIO is proprietary, so Audacity cannot support it in the released builds. More information on the problems with ASIO is on our [[ASIO Audio Interface]] page.
  
 
== Mac OS X ==
 
== Mac OS X ==

Revision as of 07:31, 28 August 2007

Multi-channel recording means recording more than two separate channels of audio at once on the same computer, synchronised to each other. This needs support at several levels in order for it to work successfully:

  • Hardware support - you need a sound card or external sound device which actually has enough analogue to digital converters to do multi-channel recording. Most consumer cards only have one stereo pair of analogue to digital converters that is switched between Line In, Aux In, Mic etc. You need at least a semi-professional device which actually supports recording multiple channels at once.
  • Driver support - the drivers for the device must make it possible to record from more than two channels at once. This is more problematic that it might seem because the standard sound interfaces for many operating systems were designed long before multi-channel recording was possible, and so only allow for up to two channels of recording. Also, consumer-level systems are not designed to achieve the low latencies and high throughputs needed for high quality multi-channel recordings.
  • Application support - the application you are recording in needs to support working with multiple channels of audio. Audacity supports recording up to 16 simultaneous channels of audio, but only plays back two channels (stereo). Multiple channel files can be exported from audacity 1.3.0 onwards. Offers to help add support for multi-channel playback would be welcome.

The status of driver and application support depends on the operating system you are using, as described in the sections below.

Windows

Windows Sound Interfaces

The standard windows MME (Multi Media Extensions) sound interface has been around since Windows 3.1. It supports up to two channels of recording, sample depths up to 16 bits, and sample rates up to 44100Hz. On playback, multiple applications can use the sound device at the same time, with all the audio being mixed and sample rate converted to 44100Hz in Windows before being sent to the sound card. Nice and simple for going ping and utterly hopeless for multi-channel music production.

It's also not very much use for writing games with, which is why after the release of Windows 95, it became necessary to offer the games manufacturers something better to persuade them off DOS. So DirectSound was born. This provided more flexible playback of audio, and later added multi-channel and surround sound playback for immersive game audio. Recording support was also only added later, and DirectSound is still rarely used for recording audio. Multi-channel recording is now theoretically possible, but with significant latency.

This all left serious audio recording and playback rather out in the cold, so proprietary solutions stepped into the gap, and Steinberg created the ASIO  interface for bypassing the operating system entirely, and connecting audio applications direct to the sound card. This gives very low latencies (because all the mixing and conversion involved in the MME interface is avoided), but means that only one application can use a sound card at a time (no sharing between multiple applications, no system sounds).

GSIF also arrived about this time, but is proprietary and completely playback-only, so doesn't affect us.

Finally, Microsoft wanted to provide a way to do what ASIO did but that they controlled, and integrated better with existing MME drivers. So Windows Driver Model Kernel Streaming (WDM KS) and Enhanced Windows Driver Model (EWDM) drivers were invented. These provided a unified way of writing drivers for Windows 2000 onwards, as well as more direct access into the audio hardware for applications that needed it. Cakewalk's SONAR was the first major application to use this, and it still lags behind ASIO in terms of market penetration on the application side. Drivers are more widespread, because providing any kind of WDM driver automatically provides DirectSound and MME support through Windows. But WDM drivers not specifically designated as WDM KS or EWDM generally won't provide multi-channel recording support - as this isn't needed for DirectSound or MME, many driver writers omit it.

For more on how Windows sound drivers work, try this page .

Recording With Audacity

Out of the box Audacity comes with support for windows MME drivers. These work fine for simple stereo recording and playback, and are available on all versions of Windows where Audacity will run. However, neither these nor most WDM drivers are going to provide multi-channel recording; if you try to send multiple inputs to Audacity with these, you will only be presented with a series of separate two-channel "recording devices" from which you can choose one, instead of the number of input channels there actually are. If you're lucky, and your sound card manufacturer provides full EWDM support, Audacity will just work - select up to 16 channels of recording (depends on your hardware) and away you go. ESI  is one manufacturer whose devices are reported to provide multi-channel recording in Audacity.

Unfortunately most manufacturers of soundcards for the semi-professional or studio market see Windows drivers as for consumer stuff, and assume all their users will use ASIO. So they provide either a basic stereo MME driver or no Windows driver at all, and ASIO drivers for multi-channel functions. The problem is that ASIO is proprietary, so Audacity cannot support it in the released builds. More information on the problems with ASIO is on our ASIO Audio Interface page.

Mac OS X

OS X sound interfaces

CoreAudio ASIO

Recording With Audacity

Linux

Linux Sound Interfaces

OSS ALSA

Recording With Audacity