АСПЛинукс 12 Carbon - 5.1 звук через ALSA

Автор: B.X - 24.12/2007, пн - 07:18

Попытаюсь рассказать, как настроить звук 5.1 на ASPLinux 12 Carbon (Fedora 7 тоже подходит). Сразу скажу, что всё у меня не заработало и мне лень было во всём разбираться, я настроил для работы плеер АмароК и Каффейне для видео. Если вам нужно будет настраивать всё остальное, то вы должны будете углубиться в изучение конфигов файла .asoundrc, в котором всё и нужно настраивать для работы со звуком в нашем дистрибутиве. Для начала проверьте, действительно ли у вас 5.1 канальная звуковая карта и нормально ли она работает. Проект ALSA предлагает простое решение:

  1. % speaker-test -Dplug:surround51 -c6 -twav

После ввода этой команды в терминале, красивый женский голос расскажет, в каких местах у вас установлены колонки, какая правая, какая левая. Если до этого у вас работали только две колонки, то вы должны услышать (если драйвер поддерживает вашу звуковую карту), что работают все пять.

Далее, вы должны настроить файл .asoundrc, который находится в вашей домашней папке (home/user), чтобы добавить эмуляцию 5.1-канального звука (эмуляцию - потому что на самом деле mp3 - это стерео звук и для раскидывания его по всем колонкам, его нужно программно микшировать). Итак, добавьте в вышеупомянутый файл такой текст:

  1. pcm.ch51dup {
  2.     type route
  3.     slave.pcm surround51
  4.     slave.channels 6
  5.     ttable.0.0 1
  6.     ttable.1.1 1
  7.     ttable.0.2 1
  8.     ttable.1.3 1
  9.     ttable.0.4 0.5
  10.     ttable.1.4 0.5
  11.     ttable.0.5 0.5
  12.     ttable.1.5 0.5
  13. }

После этого сохраните его и можете смело запускать приложение АмароК для проигрывания файлов, хотя сначала его также нужно настроить. По умолчанию, он также играет стерео. Как настроить, видно на картинке, просто замените в графе "Стерео" default на ch51dup:

Перезапустите программу и проигрывайте файл, работать должны все 5 колонок. Теперь переходим на настройку плеера Каффейне, для просмотра видео и прочего. Этот плеер есть в дистрибутиве АСПЛинукс 12 по умолчанию, работает также, как и АмароК на движке Xine. В общем, всё точно также как в предыдущем случае:

Не забудьте перейти в "Режим эксперта", а то вы не увидите никаких настроек. Что ещё работает с таким звуком? Было бы удивительно, если бы не работал MPlayer. Он и работает, правда, в терминале. Настройки его конфига, чтобы он так же работал для всех файлов, я искать не стал, так как меня удовлетворяют два вышеупомянутых решения. Чтобы проиграть файл, нужно набрать в терминале:

  1. mplayer -af channels=6:6:0:0:1:1:0:2:1:3:0:4:1:5 -channels 6 ваш_файл.mp3

Правда, звук тоже нужно указывать отдельно, микшер работать не будет, что верно и для остальных примеров. Есть у меня задумка, попробовать всё это пустить через новый кроссплатформенный сервер PulseAudio и я его даже настраивал. Но как совместить все эти конфиги, это отдельная задача, которую, видимо придётся решать на следующей версии АСПЛинукс, так как там этот звуковой сервер будет уже по умолчанию работать.

Может также получиться такое, что Каффейне не захочет сохранять настройки (с АмароК таких проблем нет)... тогда нужно будет просто изменить пару строк в конфиге самого Xine, в своей домашней папке, ищем папку .xine (в Наутилусе нужно будет в меню "Вид" поставить "показывать скрытые файлы"), и там находим файл config, открываем его и изменяем строчку, как на картинке, в принципе, строка должна выглядеть так:

  1. audio.device.alsa_front_device:ch51dup

Ну и сама картинка, для более наглядного понимания того, как это должно выглядеть:

Если вы используете Тотем, то там всё аналогично. Находите файл конфигурации Тотема, он находится в /home/user/.gnome2/share, называется просто "totem_config", в нём правим вышеупомянутую строчку. Есть ещё один момент, во всех этих настройках. Если вы всё сделали, что написано выше, но у вас ничего не работает, то вам надо зайти в регулятор громкости ГНОМЕ и выставить на вкладке Surround галочку, при этом регулятор PCM не должен быть выключен, иначе половина колонок у вас также не будет функционировать, всё должно быть настроено вот таким вот образом:

Что ещё интересного есть для звуков и видео? Ну наверное, кодеки. Хотя они есть АСПЛинукс 12 для Xine, но их почему-то нет для Mplayer. Я решил исправить эту странную ошибку и доустановить их. Как оказалось, во всём интернете находятся довольно старые версии для Федоры, почти всё для Убунту, Сусе... и только в одном месте нашлись новые. Они находятся здесь - w32codec-1.0_20061022-1.fc6.i386.rpm и подходят для ASPLinux 12 Carbon просто прекрасно.

На этом, заметка приблизилась к своему благополучному концу. Надеюсь, что она кому-нибудь, чем-нибудь помогла или хотя бы заставила задуматься. Всё-таки, в чём-то Линукс - это ещё не так просто. Хотя, понятно, что такой разносторонний продукт не может концентрироваться на поддержке именно звука 5.1 (7.1 и тд.) и должен учитывать другие факторы, но в 2007-м году, это могли бы сделать попроще. Надеюсь, с вводом звукового сервера PulseAudio всё изменится. Но даже если нет, то люди обязательно придумают что-нибудь ещё.

Комментарии

звуковая creative audigy se 7.1. вот что выдает тест

[root@localhost ~]# speaker-test -Dplug:surround51 -c6 -twav

speaker-test 1.0.15

Playback device is plug:surround51
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Playback open error: -16,Устройство или ресурс занято
Playback open error: -16,Устройство или ресурс занято
Playback open error: -16,Устройство или ресурс занято
Playback open error: -16,Устройство или ресурс занято
Playback open error: -16,Устройство или ресурс занято
....... и т.д.

файла .asoundrc нигде нет. сам создал. эффекта все равно ноль. дрова переставлял и обновлял уже

не за что... хорошо, что заработало, хотя в принципе, там всё просто... но я всё равно был удивлён отсутствием howto по этой теме...

конечно мало что смыслю в этом деле, но очень долго искал решение для этой проблемы. поэтому тем у кого застопорится скажу что занятость устройства исправил отключением системных звуков, то есть убрал программное смешение звуков (я все делаю в гноме). файл .asoundrc создал далее сам.
правда теперь звук идет только из одной проги. либо звуки amarok, либо звуки в тотеме либо к примеру в icq-клиенте. все вместе теперь не звучат(. хотя может можно как-то подправить.. может достаточно одной галочки;) попытаюсь разобраться.
Вообщем, дерзайте. и ваш линукс еще запоет)

насколько я помню, если везде используется alsa, то программное смешение звуков можно включить после всех этих настроек... и всё должно работать...

пробовал, конечно же, обратно включать смешение. автоматом в конфигах амарока и тотема стерео на дефолт ставится( при попытке поставить галочку обратно си может вообще повиснуть. вместе никак почему-то. да и у меня на колонках есть низкочастотный выход (жаль только низкочастотный). и честно говоря звук который пошел на 5.1 вообще не порадовал на низкие частоты (что center что LFE без разницы). даже реалтековский встроненный выдал правильные басы, хоть там и нашел я их методом тыка, ибо одно дело тестовый голос девушки говорит - другое как на самом деле. путаница. думаю подыскать звуковую чисто под линукс. может посоветуете? или куда копать в поисках басов?)

кстати галочка обьемного звука была только у реалтека встроенного. дело небось еще в самом драйвере. короче опять куча вопросов) не сидеть же с жутким звуком реалтека, так ведь;)

так конфиг alsa вставляйте свой до включения программного смешения звука, а конфиги тотема и амарока правьте после... хотя, если честно, зачем это, если всё работает через что-то одно... например, тотем свободно проигрывает и звук и видео, а зависит он он xine, кодеков к которому есть на всё, что можно...

насколько я знаю, дело в общем-то не в самой звуковой карте и проблемах с ней... дело в правильном микшировании 5.1 канального звука... все песни и звуки, например, в mp3 идут как стерео, а значит - это всего лишь двухканальный звук и не более... программное микширование позволяет раскидать этот звук на 5 колонок и сабвуфер...

ALSA позволяет делать программную эмуляцию 5.1 канального звука, но я подозреваю, что это не было одним из самых больших приоритетов, а потому качество возможно ниже... я думаю, после разработки звукового сервера Pulseaudio и доводки его до ума положение станет лучше... насколько лучше, я не знаю... поживём - увидим...

насчёт карточки, вы будете смеяться, но у меня встроенная AC'97, то есть тот же Реалтек и звук меня полностью удовлетворяет... я вообще не очень люблю сильные басы, главное, что они просто есть и работают все 6 колонок...

Сейчас настроил на openSUSE 10.3 карта SB Live! 7.1
Создал файл .asoundrc, заполнил содержимым, перезапустил алса. В амароке сделал все как на кртинке и вуаля! С кафеином тоже все просто, а вот с vlc пока не вышло будем разбираться.
Еще раз спасибо автору!

не за что, просто порывшись в интернете, с удивленим обнаружил, что "тема не раскрыта" и решил добавить несколько слов... на самом-то деле всё просто, но почему-то никому не пришло в голову рассказать об этом простым и понятным человеческим языком... технические-то описания читать не очень интересно, поскольку они рассчитаны на понимающих людей и попросту недоступны непрофессионалам... тот же проект ALSA, там много чего написано, но без поллитра не разберёшься...