SUsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget,/translations/zh_CN/sound/cards/emu10k1-jackmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_TW/sound/cards/emu10k1-jackmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/it_IT/sound/cards/emu10k1-jackmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ja_JP/sound/cards/emu10k1-jackmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ko_KR/sound/cards/emu10k1-jackmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/sp_SP/sound/cards/emu10k1-jackmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hALow latency, multichannel audio with JACK and the emu10k1/emu10k2h]hALow latency, multichannel audio with JACK and the emu10k1/emu10k2}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhF/var/lib/git/docbuild/linux/Documentation/sound/cards/emu10k1-jack.rsthKubh paragraph)}(hXOThis document is a guide to using the emu10k1 based devices with JACK for low latency, multichannel recording functionality. All of my recent work to allow Linux users to use the full capabilities of their hardware has been inspired by the kX Project. Without their work I never would have discovered the true power of this hardware.h]hXOThis document is a guide to using the emu10k1 based devices with JACK for low latency, multichannel recording functionality. All of my recent work to allow Linux users to use the full capabilities of their hardware has been inspired by the kX Project. Without their work I never would have discovered the true power of this hardware.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(h[http://www.kxproject.com - Lee Revell, 2005.03.30 h]hdefinition_list)}(hhh]hdefinition_list_item)}(h3http://www.kxproject.com - Lee Revell, 2005.03.30 h](hterm)}(hhttp://www.kxproject.comh]h reference)}(hhh]hhttp://www.kxproject.com}(hhhhhNhNubah}(h]h ]h"]h$]h&]refurihuh1hhhubah}(h]h ]h"]h$]h&]uh1hhhhK hhubh definition)}(hhh]h bullet_list)}(hhh]h list_item)}(hLee Revell, 2005.03.30 h]h)}(hLee Revell, 2005.03.30h]hLee Revell, 2005.03.30}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]bullet-uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hUntil recently, emu10k1 users on Linux did not have access to the same low latency, multichannel features offered by the "kX ASIO" feature of their Windows driver. As of ALSA 1.0.9 this is no more!h]hUntil recently, emu10k1 users on Linux did not have access to the same low latency, multichannel features offered by the “kX ASIO” feature of their Windows driver. As of ALSA 1.0.9 this is no more!}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hFor those unfamiliar with kX ASIO, this consists of 16 capture and 16 playback channels. With a post 2.6.9 Linux kernel, latencies down to 64 (1.33 ms) or even 32 (0.66ms) frames should work well.h]hFor those unfamiliar with kX ASIO, this consists of 16 capture and 16 playback channels. With a post 2.6.9 Linux kernel, latencies down to 64 (1.33 ms) or even 32 (0.66ms) frames should work well.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXjThe configuration is slightly more involved than on Windows, as you have to select the correct device for JACK to use. Actually, for qjackctl users it's fairly self explanatory - select Duplex, then for capture and playback select the multichannel devices, set the in and out channels to 16, and the sample rate to 48000Hz. The command line looks like this: ::h]hXiThe configuration is slightly more involved than on Windows, as you have to select the correct device for JACK to use. Actually, for qjackctl users it’s fairly self explanatory - select Duplex, then for capture and playback select the multichannel devices, set the in and out channels to 16, and the sample rate to 48000Hz. The command line looks like this:}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh literal_block)}(hG/usr/local/bin/jackd -R -dalsa -r48000 -p64 -n2 -D -Chw:0,2 -Phw:0,3 -Sh]hG/usr/local/bin/jackd -R -dalsa -r48000 -p64 -n2 -D -Chw:0,2 -Phw:0,3 -S}hjdsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1jbhhhKhhhhubh)}(h6This will give you 16 input ports and 16 output ports.h]h6This will give you 16 input ports and 16 output ports.}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hThe 16 output ports map onto the 16 FX buses (or the first 16 of 64, for the Audigy). The mapping from FX bus to physical output is described in sb-live-mixer.rst (or audigy-mixer.rst).h]hThe 16 output ports map onto the 16 FX buses (or the first 16 of 64, for the Audigy). The mapping from FX bus to physical output is described in sb-live-mixer.rst (or audigy-mixer.rst).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hhhhubh)}(hXThe 16 input ports are connected to the 16 physical inputs. Contrary to popular belief, all emu10k1 cards are multichannel cards. Which of these input channels have physical inputs connected to them depends on the card model. Trial and error is highly recommended; the pinout diagrams for the card have been reverse engineered by some enterprising kX users and are available on the internet. Meterbridge is helpful here, and the kX forums are packed with useful information.h]hXThe 16 input ports are connected to the 16 physical inputs. Contrary to popular belief, all emu10k1 cards are multichannel cards. Which of these input channels have physical inputs connected to them depends on the card model. Trial and error is highly recommended; the pinout diagrams for the card have been reverse engineered by some enterprising kX users and are available on the internet. Meterbridge is helpful here, and the kX forums are packed with useful information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hhhhubh)}(hX7Each input port will either correspond to a digital (SPDIF) input, an analog input, or nothing. The one exception is the SBLive! 5.1. On these devices, the second and third input ports are wired to the center/LFE output. You will still see 16 capture channels, but only 14 are available for recording inputs.h]hX7Each input port will either correspond to a digital (SPDIF) input, an analog input, or nothing. The one exception is the SBLive! 5.1. On these devices, the second and third input ports are wired to the center/LFE output. You will still see 16 capture channels, but only 14 are available for recording inputs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hhhhubh)}(hThis chart, borrowed from kxfxlib/da_asio51.cpp, describes the mapping of JACK ports to FXBUS2 (multitrack recording input) and EXTOUT (physical output) channels.h]hThis chart, borrowed from kxfxlib/da_asio51.cpp, describes the mapping of JACK ports to FXBUS2 (multitrack recording input) and EXTOUT (physical output) channels.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hhhhubh)}(h0JACK (& ASIO) mappings on 10k1 5.1 SBLive cards:h]h0JACK (& ASIO) mappings on 10k1 5.1 SBLive cards:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hhhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK&uh1jhjubhthead)}(hhh]hrow)}(hhh](hentry)}(hhh]h)}(hJACKh]hJACK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hEpilogh]hEpilog}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(nr)h]h FXBUS2(nr)}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hj,ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhjubhtbody)}(hhh](j)}(hhh](j)}(hhh]h)}(h capture_1h]h capture_1}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio0h]hasio0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0x0)h]h FXBUS2(0x0)}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hj!ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h ~capture_4h]h ~capture_4}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjAubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(hCenterh]hCenter}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjXubah}(h]h ]h"]h$]h&]uh1jhj>ubj)}(hhh]h)}(h&EXTOUT(0x11) // mapped to by Centerh]h&EXTOUT(0x11) // mapped to by Center}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hjoubah}(h]h ]h"]h$]h&]uh1jhj>ubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h ~capture_5h]h ~capture_5}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hLFEh]hLFE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h#EXTOUT(0x12) // mapped to by LFEh]h#EXTOUT(0x12) // mapped to by LFE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_6h]h capture_6}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio3h]hasio3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0x3)h]h FXBUS2(0x3)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_7h]h capture_7}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj+ubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(hasio4h]hasio4}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjBubah}(h]h ]h"]h$]h&]uh1jhj(ubj)}(hhh]h)}(h FXBUS2(0x4)h]h FXBUS2(0x4)}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjYubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_8h]h capture_8}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjyubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(hasio5h]hasio5}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjubah}(h]h ]h"]h$]h&]uh1jhjvubj)}(hhh]h)}(h FXBUS2(0x5)h]h FXBUS2(0x5)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjubah}(h]h ]h"]h$]h&]uh1jhjvubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_9h]h capture_9}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio6h]hasio6}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0x6)h]h FXBUS2(0x6)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_10h]h capture_10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio7h]hasio7}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhj,ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0x7)h]h FXBUS2(0x7)}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjCubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_11h]h capture_11}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjcubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(hasio8h]hasio8}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjzubah}(h]h ]h"]h$]h&]uh1jhj`ubj)}(hhh]h)}(h FXBUS2(0x8)h]h FXBUS2(0x8)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_12h]h capture_12}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio9h]hasio9}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0x9)h]h FXBUS2(0x9)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_13h]h capture_13}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio10h]hasio10}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0xa)h]h FXBUS2(0xa)}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhj-ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_14h]h capture_14}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhjMubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(hasio11h]hasio11}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhjdubah}(h]h ]h"]h$]h&]uh1jhjJubj)}(hhh]h)}(h FXBUS2(0xb)h]h FXBUS2(0xb)}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhj{ubah}(h]h ]h"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_15h]h capture_15}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio12h]hasio12}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0xc)h]h FXBUS2(0xc)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubj)}(hhh](j)}(hhh]h)}(h capture_16h]h capture_16}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hasio13h]hasio13}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h FXBUS2(0xd)h]h FXBUS2(0xd)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1jOhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhhhhhNubh)}(h=TODO: describe use of ld10k1/qlo10k1 in conjunction with JACKh]h=TODO: describe use of ld10k1/qlo10k1 in conjunction with JACK}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhhhhubeh}(h]@low-latency-multichannel-audio-with-jack-and-the-emu10k1-emu10k2ah ]h"]Alow latency, multichannel audio with jack and the emu10k1/emu10k2ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}jZjWs nametypes}jZsh}jWhs footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.