В Панели управления Windows 7 -> Звук -> Свойства звука есть ползунок для настройки громкости звука CD:
И довольно странно, что я не могу найти соответствующего в универсальных микшерах Linux: alsamixer
или amixer
.
Я подключил CD-привод, чтобы попытаться настроить громкость звука CD с помощью cdcd
(CD-плеера):
$ cdcd setvol 0
Invalid volume
На самом деле это не недействительный том, это потому, что ioctl()
вызов не удается. Я обнаружил это после поиска и небольшого изменения исходного кода этой утилиты (в libcdaudio):
--- cdaudio.c.orig 2004-09-09 06:26:20.000000000 +0600
+++ cdaudio.c 2012-05-30 21:34:34.167915521 +0600
@@ -578,8 +578,10 @@
cdvol_data.CDVOLCTRL_BACK_RIGHT_SELECT = CDAUDIO_MAX_VOLUME;
#endif
- if(ioctl(cd_desc, CDAUDIO_SET_VOLUME, &cdvol) < 0)
- return -1;
+ if(ioctl(cd_desc, CDAUDIO_SET_VOLUME, &cdvol) < 0) {
+ printf("*** cd_set_volume: ioctl() returned error\n");
+ return -1;
+ }
return 0;
}
Кстати, команда cdcd get volume выдает довольно странный вывод:
Left Right
Front 1281734864 32767
Back 0 0
Также я попробовал aumix:
$ aumix -c 0
Но все безуспешно.
Я прочитал в этом руководстве —http://tldp.org/HOWTO/Alsa-sound-6.html(раздел6.2 Миксер) этот канал CD может присутствовать в amixer
выводе. Возможно, в моей установке Ubuntu 12.04 LTS отсутствуют некоторые драйверы для звуковой карты. Хотя я не думаю, что это так:
$ lsmod | grep snd
snd_mixer_oss 22602 0
snd_hda_codec_hdmi 32474 1
snd_hda_codec_realtek 223867 1
snd_hda_intel 33773 4
snd_hda_codec 127706 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 13668 1 snd_hda_codec
snd_pcm 97188 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi 13324 0
snd_rawmidi 30748 1 snd_seq_midi
snd_seq_midi_event 14899 1 snd_seq_midi
snd_seq 61896 2 snd_seq_midi,snd_seq_midi_event
snd_timer 29990 2 snd_pcm,snd_seq
snd_seq_device 14540 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 78855 19 snd_mixer_oss,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep ,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 15091 1 snd
snd_page_alloc 18529 2 snd_hda_intel,snd_pcm
Все, что мне нужно, это просто отключить звук или установить уровень громкости на 0 для канала CD Audio, как я делал в Windows 7, чтобы избавиться от шипящего шума в динамиках.
решение1
Наконец мне удалось решить эту проблему, полностью заменив аудиоподсистему наОСС 4.
Связанные пакеты:
ii oss-compat 2 amd64 Open Sound System (OSS) compatibility package
ii oss4-base 4.2-build2006-2+deb7u1 amd64 Open Sound System - base package
ii oss4-dkms 4.2-build2006-2+deb7u1 amd64 Open Sound System - DKMS module sources
ii oss4-gtk 4.2-build2006-2+deb7u1 amd64 Open Sound System - simple GTK2-based mixer control
ii oss4-source 4.2-build2006-2+deb7u1 amd64 Open Sound System - drivers sources
И качество звука теперь отличное. Я действительно не могу понять, почему его убирают в некоторых популярных дистрибутивах.