У меня возникли проблемы со звуком под Fedora 16 на этом Lenovo T520. В alsamixer все выставлено на 100% (и pulseaudio, и карта). Я установил Windows 7 на ноутбук, чтобы проверить, есть ли та же проблема на Windows, и ее нет.
Кто-нибудь знает, как с этим бороться? Меня эта проблема раздражает уже почти год, но сейчас, когда на восточном побережье стоит жара, мне приходится включать кондиционер на полную мощность, а при включенном кондиционере я ничего не слышу.
Под audacity я определенно могу получить большую громкость из моих динамиков, просто смешивая громкость звука. Есть ли способ запустить программный усилитель между PulseAudio и alsa, чтобы поднять громкость, или есть что-то, что можно сделать в alsactl.conf, чтобы карта нормализовала шкалу громкости звука на более низкой точке? Поскольку этот ноутбук довольно распространен среди пользователей Linux, я надеюсь, что кто-то придумал решение.
решение1
Я делал это в прошлом и имел довольно хороший успех в увеличении громкости. Единственная проблема в том, что если вы убавите громкость, вам придется вернуться в системные настройки под иконкой динамика, чтобы снова поднять ее до 150%.
Однако, следуя приведенным ниже шагам, проблема должна оставаться «залипшей» от перезагрузки к перезагрузке.
Увеличиваем громкость
Если щелкнуть правой кнопкой мыши по апплету динамика и выбрать настройки звука, откроется это диалоговое окно.
подтверждение и сохранение изменений
Увеличьте громкость до 150%. После того, как вы ее увеличите, вы можете закрыть этот диалог. Если вы перейдете в оболочку и введете команду, amixer
вы можете подтвердить это:
$ amixer
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 98304 [150%] [on]
Front Right: Playback 98304 [150%] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch cswitch-joined penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 65536
Front Left: Capture 65536 [100%] [off]
Front Right: Capture 65536 [100%] [off]
Если затем выполнить эту команду, то можно сохранить это состояние, чтобы при следующем перезапуске системы оно стало состоянием по умолчанию.
# saves settings
$ sudo alsactl store
# confirm file's created
$ ls -l /etc/asound.state
-rw-r--r-- 1 root root 4761 Oct 5 16:54 /etc/asound.state
Другие вещи с amixer
Эту же команду можно использовать amixer
для изменения громкости.
100%
$ amixer sset Master 100% | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
150%
$ amixer sset Master 150% | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
ПРИМЕЧАНИЕ:Однако этот метод не позволяет превысить 100%.
немой
$ amixer sset Master muted | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [off]
Front Right: Playback 65536 [100%] [off]
включить звук
$ amixer sset Master unmuted | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
решение2
Насколько я знаю, вы можете использоватьsoftvolплагин для ALSA и установитеmax_dB
значение. Что-то в направлении:
pcm.!default {
type plug
slave.pcm "softvol"
}
pcm.softvol {
type softvol
slave {
pcm "hw:0,0"
# pcm "dmix" or this or the like.
}
control {
name "PreAmp"
card 0
}
min_dB -5.0
max_dB 30.0 # 50.0 is max
resolution 16
}
Возможно, есть какие-то намекиздесь также. Затем перезагрузите ALSA, воспроизведите EG, speaker-test -c2 -twav
чтобы загрузить его, а затем настройте усилитель в ALSAmixer.
Если вы хотите выключить PulseAudio, не забудьте деактивировать autospawn
.
echo autospawn=no >> ~/.pulse/client.conf
или раскомментируйте его в глобальном файле client.conf
(в /etc/pulse/
или подобном). (Также видел, как некоторые заменяли daemon-binary
на /bin/true
.)
Однако использование pactl и т. п., возможно, было бы предпочтительнее.
Из командной строки скажите:
pactl set-sink-volume 0 65536 # 100%
pactl set-sink-volume 0 98304 # 150%
pactl set-sink-volume 0 131072 # 200%
| |
| +----- Based on volume steps
+------- Sink number
Чтобы составить список и идентифицировать раковины, скажите:
pactl list sinks
pacmd list-sinks # a bit more verbose, and list "volume steps"
Как всегда man
и pacmd -h
, pactl -h
.
Чтобы установить громкость по умолчанию, например, 150%, отредактируйте ./pulse/default.pa
и добавьте строку:
set-sink-volume 0 98304
|
+-- (Use full name if one e.g. have multiple USB-soundcards.)
Для удобства добавьте псевдоним или короткий скрипт, чтобы задать это значение в любое удобное время.
Чтобы перезапустить PA, произнесите pulseaudio -k
, и pulseaudio --start
.
Другим вариантом было бы рассмотреть плагины, например LADSPA ишввАЛСАилиPulseAudio.
РЕДАКТИРОВАТЬ:
Хорошо. Подумал об этом. Это может подойти.(Не знаю, как это ускользнуло от меня в первый раз.)
- В
default.pa
добавлениеМодуль Pulse Audioиз Драйверов устройств. - Перезапустите Pulse Audio.
- ОткрытьНастройки звукаи установите громкость дляоригинальная раковинанапример, 150%. (Или сделайте это с помощью командной строки или предварительно установите его,
default.pa
как описано выше.) - Выберите новый модуль/приемник в качестве устройства для вывода звука.
Это даст вам 150% как 100% при использованиинормальныйизмеритель объема.
Пример – использованиеmodule-remap-sink
:
Делатьнетраскомментируйте, как сказано в документе.
В default.pa
:
.ifexists module-remap-sink.so
# Using remap-sink as dummy, not doing any re-mapping.
load-module module-remap-sink sink_name=VolDummy master=0 sink_properties=device.description=CrankThaVolume
.fail
.endif
# Set it as default:
set-default-sink VolDummy
Затем перезапустите Pulse Audio, чтобы зарегистрировать новый модуль.
Выдача:
$ pactl list modules # Should show "Usage counter: 1" for the module in question.
$ pactl list sinks
должен показать новый сток. Вы все еще можете увеличить громкость длявладелецс помощью командной строки и/или добавления строк в default.pa
.
решение3
При запуске alsamixer из командной строки обязательно используйте параметр, --view all
чтобы убедиться, что вы просматриваете все доступные элементы управления микшером.
alsamixer -V all
Также нажмите F6 в alsamixer и проверьте настройки для каждого из перечисленных устройств.
решение4
У меня однажды была похожая проблема в Fedora 18. Оказалось, что API «pepperbox» от Google для Flash имело серьезные проблемы со звуком, и я решил их, перейдя в /home//.config/google-chrome и удалив PepperFlash, а затем переустановив плагины Flash от Adobe.