А так же 4.0 звук. Это скорее не руководство, не how-to, а просто записка чтобы не зыбыть, а потом может кому и пригодится.
На платах с чипом nForce4 есть интегрированный 5.1 звук. Про качество звучания ничего говорить не будем - каждому свое. lshwd -cc на моей машине говорит про неё следующее:
nVidia Corp.|CK804 AC'97 Audio Controller
и рекомендует использовать модуль ядра snd-intel8x0. Сама nVidia прекратила поддрежку своего OSS драйвера nvsound и рекомендует использовать данный.
Кратко про конфигурацию: запустить alsaconf, ответить на все вопросы, в /etc/modprobe.conf, по желанию добавить следующее:
# ALSA
install snd_intel8x0 /sbin/modprobe --ignore-install snd_intel8x0 ; sleep 1; /usr/sbin/alsactl restore >/dev/null 2>&1 || :
remove snd_intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd_intel8x0
# OSS Compatibility
install snd-pcm modprobe -i snd-pcm ; modprobe snd-pcm-oss ; true
install snd-seq modprobe -i snd-seq ; modprobe snd-seq-oss ; true
Все, считаем что звук у вас работает и все играется. Теперь нужно что бы звук был более чем стерео.
Итак, для этого достаточно сделать у вас в домашнем каталоге файл .asoundrc со следующим содержимым:
pcm.CK804 {
type hw
card 0
}
ctl.CK804 {
type hw
card 0
}
pcm.!default {
type route;
slave.pcm "surround51";
slave.channels 6;
ttable.0.0 1;
ttable.1.1 1;
ttable.0.2 1;
ttable.1.3 1;
ttable.0.4 1;
ttable.1.5 1;
}
Это даст нам 5.1 звук. Регуляторы при этом станут:
| Колонки | Регулятор |
|---|---|
| Front | Master |
| Rear | Surround |
| Center | Center |
| LFE | LFE |
Общего регулятора нет. Плохо. Пока не решил проблему использую метод о котором ниже.
pcm.CK804 {
type hw
card 0
}
ctl.CK804 {
type hw
card 0
}
pcm.!default {
type route;
slave.pcm "surround40";
slave.channels 4;
ttable.0.0 1;
ttable.1.1 1;
ttable.0.2 1;
ttable.1.3 1;
}
Это нам даст 4.0 звук (квадрофонический). Пока использую по причине наличия двух стерео-колонок и отсутствия 5.1 системы. Регуляторы при этом станут:
| Колонки | Регулятор |
|---|---|
| Front | Master |
| Rear | Surround |
Общего регулятора опять таки нет.
Для данного действия написал скрипт что устанавливает громкость по всем указанным каналам.
#!/bin/bash DIFF=5% Front="Master" Rear="Surround" Center="Center" LFE="LFE" Side="" case "$1" in "+"|"-") if [ ! -z "$2" ]; then DIFF=$2% fi amixer sset "$Front" $DIFF$1 amixer sset "$Rear" $DIFF$1 amixer sset "$Center" $DIFF$1 amixer sset "$LFE" $DIFF$1 amixer sset "$Side" $DIFF$1 ;; *) if [ ! -z "$1" ]; then amixer sset "$Front" $1% amixer sset "$Rear" $1% amixer sset "$Center" $1% amixer sset "$LFE" $1% amixer sset "$Side" $1% fi ;; esac
Файл обозвал mmix. После чего его можно использовать так:
mmix +|- [шаг] mmix [значение]
+ или - увеличивает или уменьшает громкость на указанный шаг. Если шаг не указан его значение принимается 5%
Если параметром заданое только числовое значение громкость выставляется сразу в данную величину.
© Alexander 'hatred' Drozdov, Vladivostok 2007