quark |
|
Темы:
7
Сообщения:
42
Участник с: 21 марта 2010
|
NatrioElSonadorЭто дефолт. Да, все понятно, буду именно в эту сторону и копать. С другой стороны, ищу качественный звук - зачем мне софтварное микширование? Пока играет плеер или мплеер другое мне не нужно ;-) Посмотрю как сложатся хотелки :-) Большое спасибо |
elsonador |
|
![]()
Темы:
63
Сообщения:
996
Участник с: 09 апреля 2010
|
Это делается так:pcm.!default { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:0,0" format S32_LE period_time 0 period_size 1024 buffer_size 8192 rate 192000 } bindings { 0 0 1 1 } } ctl.dmixer { type hw card 0 device 0 } pcm.dsp { type plug slave.pcm "dmixer" } ctl.mixer { type hw card 0 } |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
quarkХардварное микширование работает аналогично – все звуковые потоки ресэмплируются на одну фиксированную частоту и разрядность, а потом уже складываются. Отличие от программного только в том, что: 1) всё происходит ВНУТРИ DSP звуковой платы, а значит гарантированно бесперебойно; 2) скорей всего, вы НЕ сможете изменить внутреннюю частоту DSP (а возможно, и размер буфера), в которую он будет перекодировать весь поступающий звук. Как правило, это будут всё те же 48кГц, только разрядность будет повыше. Дорогие звуковые карты могут иметь и более высокую частоту микширования, может даже перестраиваемую, но это всё надо выяснять отдельно по каждой модели. Одноканальная же звуковуха, БЕЗ аппаратного микширования, может по требованию перестраивать свой ЦАП на разные частоты, в зависимости от частоты того единственного потока, который она в данный момент воспроизводит. Прикрутив к ней программное микширование, вы вольны задавать для него любые доступные параметры, но тогда вам придётся заботиться о том, чтобы никакая программа не пыталась это программное микширование обходить, иначе она захватит вывод звука монопольно. Также на одноканальной звуковухе у вас не будет программного микширование в эмуляции OSS, поскольку dmix работает на уровне ALSA-lib, а не на уровне ядра. |