LINUX.ORG.RU

Странно работает регулировка громкости в ALSA на Xonar D1

 ,


0

0

Где всё в порядке: alsamixer, amixer при задании абсолютного значения громкости.

Где проблемы: во всех остальных приложениях. Во-первых, громкость определяется разными программами по-разному, обычно выше, чем есть. Во-вторых, регулировка во всяких плеерах работает, но затрагивает сразу все каналы вывода. В-третьих, amixer при указании величины с +/- просто поднимает громкость до 100%.

Возможно, это как-то связано с тем, что у карты несколько выходов на Master:

~ > amixer get Master
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right - Rear Left - Rear Right - Front Center - Woofer - Side Left - Side Right
  Limits: Playback 67 - 127
  Mono:
  Front Left: Playback 94 [45%] [-33.00dB] [on]
  Front Right: Playback 94 [45%] [-33.00dB] [on]
  Rear Left: Playback 67 [0%] [-60.00dB] [on]
  Rear Right: Playback 67 [0%] [-60.00dB] [on]
  Front Center: Playback 67 [0%] [-60.00dB] [on]
  Woofer: Playback 67 [0%] [-60.00dB] [on]
  Side Left: Playback 67 [0%] [-60.00dB] [on]
  Side Right: Playback 67 [0%] [-60.00dB] [on]
(кстати, здесь указана громкость 45%, но в alsamixer сейчас 20)

Проблема с amixer решена так:

#!/bin/bash
get_vol(){
	CURRENT=$(amixer get Master | awk '/^  Front Left/ {print $5}' | tr -d '[]%')
}
set_vol(){
	amixer set Master front $1%
}
change_vol(){
	let NEW=$CURRENT$1
}
get_vol
change_vol $1
set_vol $NEW

По сути, даже индикаторы для трея/панелей становятся бесполезными.

Это только у меня так? Может, нужно что-то покрутить в настройках?

Debian Wheezy, ALSA 1.0.24 (ядро), 1.0.25 (alsa-utils), Linux 3.2.12.

★★★★★

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

У меня D1. С уровнями была какая-то проблема. В итоге задал один раз громкость в alsamixer и больше не меняю. В используемых приложениях есть программная регулировка, которой более чем хватает. Если все же нужно поменять какие-то настройки звуковухи, то делаю это исключительно в alsamixer, который, похоже, наиболее правильно работает в этой ситуации.

ATIpro ★★
()

так.

amixer при указании величины с +/- просто поднимает громкость до 100%
это как?
"amixer set Master 1+"
Alt + b:4

"amixer set Master 1-"
  Alt + b:5
всё работает как надо
про плеера хз - у меня в них программная, ибо альт+колесо_мыши глобально удобей

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

amixer set Master 1+
1+

Гы :) Так работает нормально. Попробуй 1%+ (на всякий случай лучше это делать без наушников на голове).

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

1+ и есть 1%

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

хотя при овер 78 - это уже 2%

Но на прежних звуковухах оно не задирало громкость до 100% при любом начальном уровне.

В общем, можно считать тему решённой. В плеерах включу софтовую регулировку.

GotF ★★★★★
() автор топика
8 мая 2012 г.

После чтения багтрекера ALSA было выяснено, что проблемы у сторонних приложений при отображении и регулировке громкости вытекают из экзотической особенности карты: один физический контрол Master с восемью каналами. Кроме alsamixer такая ерунда нигде не поддерживается.

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