вторник, 14 декабря 2010 г.

Улучшение качества звука в Kubuntu 10.04

При стандартной установленной системе звук у меня работал плохо, были слышны щелчки, со звуком могла работать только одна звуковая карта. Сильно описывать не буду так как в Интернете есть много статей по устранению данной проблемы, больше опишу про фиксы и настройку отдельных программ.

Для начала сносим PulseAudio и устанавливаем OSS4 по инструкции:
http://forum.ubuntu.ru/index.php?topic=129285.0

После всего этого имеем нормальный звук, отсутствие щелчков и одновременная работа со звуком несколько приложений. Но имеются некоторые неудобства:
1. На ноутбуке не работают клавиши регулировки громкости (Это понятно так как Kmix в KDE4 не поддерживает OSS4).
2. Отсутствие звука в Skype 2.1 (в отличии от предыдущей версии из него выкинута поддержка OSS).
3. Отвратительный звук с VMware.

Теперь раскажу про решение этих проблем:
Для управления звуком с помощью стандартных клавиш нужно создать три скрипта:
mute.sh
#!/bin/sh
CTRL=vmix0-outvol
touch $HOME/.volume
VOLUME=$(cat $HOME/.volume)
CURRENT=$(ossmix | grep $CTRL | awk '{print $4}' | awk -F : '{print $1}')
if [ $CURRENT = "0.0" ]; then
      ossmix $CTRL $VOLUME
      > $HOME/.volume
else
      VOLUME=$(ossmix | grep $CTRL | awk '{print $4}' | awk -F : '{print $1}')
      ossmix $CTRL 0
      echo $VOLUME > $HOME/.volume
fi
lowervolume.sh
#!/bin/sh
CTRL=vmix0-outvol
VOL=$(ossmix | grep $CTRL | awk '{print $4}' | awk -F : '{print $1}')
VOL=$(echo $VOL | awk '{print $1-2}')
ossmix -- $CTRL $VOL
raisevolume.sh
#!/bin/sh
CTRL=vmix0-outvol
VOL=$(ossmix | grep $CTRL | awk '{print $4}' | awk -F : '{print $1}')
VOL=$(echo $VOL | awk '{print $1+2}')
ossmix -- $CTRL $VOL
Теперь заходим в Параметры системы -> Действия и назначаем горячие клавиши для скриптов. При назначении клавиш будет выдаваться предупреждение, что они уже назначены, смело жмем Да.
Выключить звук - mute.sh
Уменьшить громкость - lowervolume.sh
Увеличить громкость - raisevolume.sh
Теперь мы можем управлять звуком с помощью стандартных клавиш. В качестве замены Kmix предлагаю использовать ossxmix.

Для настройки звука в Skype и VMware нужно добавить эмуляцию ALSA.
Нам понадобиться установить пакет libasound2-plugins
sudo apt-get install libasound2-plugins
Создаем файл ~/.asoundrc с содержимым
pcm.!default
{
type oss
device /dev/dsp
}
mixer.!default
{
type oss
device /dev/dsp
}
Теперь у нас работает звук в Skype и имеем чистый звук в VMware.

Комментариев нет :

Отправить комментарий