diff options
Diffstat (limited to 'Documentation/sound')
-rw-r--r-- | Documentation/sound/alsa/emu10k1-jack.txt | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Documentation/sound/alsa/emu10k1-jack.txt b/Documentation/sound/alsa/emu10k1-jack.txt new file mode 100644 index 000000000000..751d45036a05 --- /dev/null +++ b/Documentation/sound/alsa/emu10k1-jack.txt | |||
@@ -0,0 +1,74 @@ | |||
1 | This document is a guide to using the emu10k1 based devices with JACK for low | ||
2 | latency, multichannel recording functionality. All of my recent work to allow | ||
3 | Linux users to use the full capabilities of their hardware has been inspired | ||
4 | by the kX Project. Without their work I never would have discovered the true | ||
5 | power of this hardware. | ||
6 | |||
7 | http://www.kxproject.com | ||
8 | - Lee Revell, 2005.03.30 | ||
9 | |||
10 | Low latency, multichannel audio with JACK and the emu10k1/emu10k2 | ||
11 | ----------------------------------------------------------------- | ||
12 | |||
13 | Until recently, emu10k1 users on Linux did not have access to the same low | ||
14 | latency, multichannel features offered by the "kX ASIO" feature of their | ||
15 | Windows driver. As of ALSA 1.0.9 this is no more! | ||
16 | |||
17 | For those unfamiliar with kX ASIO, this consists of 16 capture and 16 playback | ||
18 | channels. With a post 2.6.9 Linux kernel, latencies down to 64 (1.33 ms) or | ||
19 | even 32 (0.66ms) frames should work well. | ||
20 | |||
21 | The configuration is slightly more involved than on Windows, as you have to | ||
22 | select the correct device for JACK to use. Actually, for qjackctl users it's | ||
23 | fairly self explanatory - select Duplex, then for capture and playback select | ||
24 | the multichannel devices, set the in and out channels to 16, and the sample | ||
25 | rate to 48000Hz. The command line looks like this: | ||
26 | |||
27 | /usr/local/bin/jackd -R -dalsa -r48000 -p64 -n2 -D -Chw:0,2 -Phw:0,3 -S | ||
28 | |||
29 | This will give you 16 input ports and 16 output ports. | ||
30 | |||
31 | The 16 output ports map onto the 16 FX buses (or the first 16 of 64, for the | ||
32 | Audigy). The mapping from FX bus to physical output is described in | ||
33 | SB-Live-mixer.txt (or Audigy-mixer.txt). | ||
34 | |||
35 | The 16 input ports are connected to the 16 physical inputs. Contrary to | ||
36 | popular belief, all emu10k1 cards are multichannel cards. Which of these | ||
37 | input channels have physical inputs connected to them depends on the card | ||
38 | model. Trial and error is highly recommended; the pinout diagrams | ||
39 | for the card have been reverse engineered by some enterprising kX users and are | ||
40 | available on the internet. Meterbridge is helpful here, and the kX forums are | ||
41 | packed with useful information. | ||
42 | |||
43 | Each input port will either correspond to a digital (SPDIF) input, an analog | ||
44 | input, or nothing. The one exception is the SBLive! 5.1. On these devices, | ||
45 | the second and third input ports are wired to the center/LFE output. You will | ||
46 | still see 16 capture channels, but only 14 are available for recording inputs. | ||
47 | |||
48 | This chart, borrowed from kxfxlib/da_asio51.cpp, describes the mapping of JACK | ||
49 | ports to FXBUS2 (multitrack recording input) and EXTOUT (physical output) | ||
50 | channels. | ||
51 | |||
52 | /*JACK (& ASIO) mappings on 10k1 5.1 SBLive cards: | ||
53 | -------------------------------------------- | ||
54 | JACK Epilog FXBUS2(nr) | ||
55 | -------------------------------------------- | ||
56 | capture_1 asio14 FXBUS2(0xe) | ||
57 | capture_2 asio15 FXBUS2(0xf) | ||
58 | capture_3 asio0 FXBUS2(0x0) | ||
59 | ~capture_4 Center EXTOUT(0x11) // mapped to by Center | ||
60 | ~capture_5 LFE EXTOUT(0x12) // mapped to by LFE | ||
61 | capture_6 asio3 FXBUS2(0x3) | ||
62 | capture_7 asio4 FXBUS2(0x4) | ||
63 | capture_8 asio5 FXBUS2(0x5) | ||
64 | capture_9 asio6 FXBUS2(0x6) | ||
65 | capture_10 asio7 FXBUS2(0x7) | ||
66 | capture_11 asio8 FXBUS2(0x8) | ||
67 | capture_12 asio9 FXBUS2(0x9) | ||
68 | capture_13 asio10 FXBUS2(0xa) | ||
69 | capture_14 asio11 FXBUS2(0xb) | ||
70 | capture_15 asio12 FXBUS2(0xc) | ||
71 | capture_16 asio13 FXBUS2(0xd) | ||
72 | */ | ||
73 | |||
74 | TODO: describe use of ld10k1/qlo10k1 in conjunction with JACK | ||