LINUX.ORG.RU

.asoundrc, surround40 + dmix


0

2

Проблема такая. Нужно дублировать фронтальные каналы на тыловые, но чтобы при этом можно было выводить звук не с одного приложения. Со встроенной звуковой картой проблемы не было, в alsamixer была соответствующая опция. Но сегодня поставил Audigy SE (чип CA0106) и с ней эта опция отсутствует.

В гугле нашёл конфиги asoundrc, например такие:

pcm.dmix40 {
     type dmix
        ipc_key 1024
        ipc_key_add_uid false # let multiple users share
        ipc_perm 0660 # IPC permissions (octal, default 0600)
        slave {
                pcm "hw:0" 
                rate 48000
                channels 4
                period_time 0
                period_size 1024 # try 2048 against skipping
                buffer_time 0
                buffer_size 4096 # in case of problems reduce this
                                 # in case of skipping, try increasing
        }
     }
### Duplicate 2to4
pcm.ch40dup {
    type plug
    slave.pcm "plug:dmix40"
    slave.channels 4

    route_policy duplicate
}
pcm.!default {
  type plug;
  slave.pcm plug:ch40dup;
}

В таком случае всё равно звучит только фронт. Если заменить slave.pcm «plug:dmix40» на slave.pcm «surround40», то звучат четыре канала как надо, но звук может выводить только одно приложение одновременно, что не годится. Для дублирования каналов был ещё и такой вариант:

### Duplicate 2to4
pcm.ch40dup {
    type route
    slave.pcm "surround40"
    slave.channels 4
     ttable.0.0 1
     ttable.1.1 1
     ttable.0.2 1
     ttable.1.3 1
}
Результат тот же.

Если заменить в строке 7 pcm «hw:0» на pcm «surround40», то выдаётся ошибка что dmix может выводить только на устройства типа hw.

Pulseaudio не предлагать :D

★★★☆

Последнее исправление: firestarter (всего исправлений: 3)

на нек-х карточках все каналы выводятся ч/з hw:X,0
там твой вариант взлетит

у меня фронт ч/з hw1,0 surr ч/з hw:1,1 саб ч/з hw:1,2, карта sblive
правда, и микширование аппаратное

кури выхлоп aplay -vv при многоканальном воспроизведении чз pcm surround51, может у тебя та же песня

anonymous
()
Ответ на: комментарий от anonymous

у меня фронт ч/з hw1,0 surr ч/з hw:1,1 саб ч/з hw:1,2, карта sblive

У меня hw:0,0 выводит на фронт, hw:0,1 выводит на тыл. 0,2 и 0,3 хз куда выводят, играет, но звука нет (я задействовал только 4 канала).

А hw:1,* это уже встроенная карта.

кури выхлоп aplay -vv при многоканальном воспроизведении чз pcm surround51, может у тебя та же песня

Создал с помощью sox -M file.wav file.wav 4channel.wav четырёхканальный аудиофайл, проиграл с помощью aplay -D surround40 -vv, вот что выводит.

firestarter ★★★☆
() автор топика
Ответ на: комментарий от firestarter

попробуй слабать такой .asoundrc, чтоб на каждый hw было по dmix-у, и чтобы pcm type multi выводил один поток на два этих dmix-а

anonymous
()
Ответ на: комментарий от anonymous

Спасибо большое, получилось!
В итоге конфиг такой (у меня там ещё alsaequal используется).

firestarter ★★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.