[РЕШЕНО] Тихий звук в XFCE4+ALSA+Intel Corporation NM10/ICH7 Family High Definition Audio Controller

приветствую.
на нетбуке HP Mini 110 с установленным arch и alsa тихий уровень звука, существенно тише, чем на win7.

[zhksteal@ArchZhKSteaL ~]$ sudo lspci | grep -i audio
[sudo] password for zhksteal:
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 02)

[zhksteal@ArchZhKSteaL ~]$ cat /var/lib/alsa/asound.state
state.Intel {
	control.1 {
		iface MIXER
		name 'Headphone Playback Volume'
		value.0 127
		value.1 127
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 127'
			dbmin -9525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.2 {
		iface MIXER
		name 'Headphone Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.3 {
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 127
		value.1 127
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 127'
			dbmin -9525
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.4 {
		iface MIXER
		name 'Speaker Playback Switch'
		value.0 true
		value.1 true
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.5 {
		iface MIXER
		name 'Loopback Mixing'
		value Enabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.6 {
		iface MIXER
		name 'Internal Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.7 {
		iface MIXER
		name 'Internal Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.8 {
		iface MIXER
		name 'Mic Playback Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 31'
			dbmin -3450
			dbmax 1200
			dbvalue.0 -3450
			dbvalue.1 -3450
		}
	}
	control.9 {
		iface MIXER
		name 'Mic Playback Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.10 {
		iface MIXER
		name 'Auto-Mute Mode'
		value Disabled
		comment {
			access 'read write'
			type ENUMERATED
			count 1
			item.0 Disabled
			item.1 Enabled
		}
	}
	control.11 {
		iface MIXER
		name 'Capture Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 15'
			dbmin 0
			dbmax 2250
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.12 {
		iface MIXER
		name 'Capture Switch'
		value.0 false
		value.1 false
		comment {
			access 'read write'
			type BOOLEAN
			count 2
		}
	}
	control.13 {
		iface MIXER
		name 'Internal Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.14 {
		iface MIXER
		name 'Mic Boost Volume'
		value.0 0
		value.1 0
		comment {
			access 'read write'
			type INTEGER
			count 2
			range '0 - 3'
			dbmin 0
			dbmax 3000
			dbvalue.0 0
			dbvalue.1 0
		}
	}
	control.15 {
		iface MIXER
		name 'Beep Playback Switch'
		value false
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.16 {
		iface MIXER
		name 'Beep Playback Volume'
		value 2
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 3'
			dbmin -1800
			dbmax 0
			dbvalue.0 -600
		}
	}
	control.17 {
		iface MIXER
		name 'Master Playback Volume'
		value 127
		comment {
			access 'read write'
			type INTEGER
			count 1
			range '0 - 127'
			dbmin -9999999
			dbmax 0
			dbvalue.0 0
		}
	}
	control.18 {
		iface MIXER
		name 'Master Playback Switch'
		value true
		comment {
			access 'read write'
			type BOOLEAN
			count 1
		}
	}
	control.19 {
		iface CARD
		name 'Internal Mic Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.20 {
		iface CARD
		name 'Mic Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.21 {
		iface CARD
		name 'Headphone Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.22 {
		iface CARD
		name 'Speaker Phantom Jack'
		value true
		comment {
			access read
			type BOOLEAN
			count 1
		}
	}
	control.23 {
		iface PCM
		name 'Playback Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.24 {
		iface PCM
		name 'Capture Channel Map'
		value.0 0
		value.1 0
		comment {
			access read
			type INTEGER
			count 2
			range '0 - 36'
		}
	}
	control.25 {
		iface MIXER
		name 'PCM Playback Volume'
		value.0 255
		value.1 255
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 255'
			tlv '0000000100000008ffffec1400000014'
			dbmin -5100
			dbmax 0
			dbvalue.0 0
			dbvalue.1 0
		}
	}
}

[zhksteal@ArchZhKSteaL ~]$ sudo pacman -Qs alsa
local/alsa-lib 1.0.27.2-1
    An alternative implementation of Linux sound support
local/alsa-plugins 1.0.27-2
    Extra alsa plugins
local/alsa-tools 1.0.27-5
    Advanced tools for certain sound cards
local/alsa-utils 1.0.27.2-1
    An alternative implementation of Linux sound support

[zhksteal@ArchZhKSteaL ~]$ lsmod | grep -i snd
snd_hda_codec_idt      32836  1
snd_hda_intel          29956  4
snd_hda_codec         126979  2 snd_hda_codec_idt,snd_hda_intel
snd_hwdep               4746  1 snd_hda_codec
snd_pcm                63876  3 snd_hda_codec,snd_hda_intel
snd_page_alloc          5974  2 snd_pcm,snd_hda_intel
snd_timer              14942  2 snd_pcm
snd                    44383  12 snd_hwdep,snd_timer,snd_hda_codec_idt,snd_pcm,snd_hda_codec,snd_hda_intel
soundcore               4386  1 snd

поиск в гугле и на сайте alsa выдал вариант с /home/xxx/.asoundrc и подключение плагина softvol. но при перезагрузке у меня в alsamixer новый бегунок управления громкостью не появился.

[zhksteal@ArchZhKSteaL ~]$ cat ~/.asoundrc
pcm.!default {
type plug
slave.pcm "softvol"
}

pcm.softvol {
type softvol
slave {
pcm "dmix"
}
control {
name "Pre-Amp"
card 0
}
min_dB -5.0
max_dB 20.0
resolution 6
}

в xfce4 в smplayer есть выставить "Программное управление громкостью"=400, звук становится гораздо громче и более-менее адекватный по громкости. без этого выставления - очень тихий.
тема, наверное, избита не единожды. но поиском по вики и в гугле - я не осилил.
поможите.
не совсем понятно после каких манипуляций, появился Pre Amp в alsamixer и asound.state

	control.26 {
		iface MIXER
		name Pre-Amp
		value.0 2
		value.1 2
		comment {
			access 'read write user'
			type INTEGER
			count 2
			range '0 - 5'
			tlv '0000000100000008fffffe0c000001f4'
			dbmin -500
			dbmax 2000
			dbvalue.0 500
			dbvalue.1 500
		}
	}

прям совсем не понятно, как появилась эта срочка.
меняю count=2 -> count=1 и range '0 - 5' -> range '0 - 10' что бы менять громкость с шагом в 10%, ничего не получается. в alsamixer все так же через 20% меняется.

в общем, вообще не понимаю как сохраняются и загружаются настройки при рестарте.
правлю файл asound.state под рутом.
перегружаюсь, настройки восстанавливаются не понятно как.
1) альсу перезапускали?
2) а если попробовать так:
pcm.!default {
      type plug
      slave.pcm "softvol"
  }
  pcm.softvol {
      type softvol
      slave {
          pcm "dmix"
      }
      control {
          name "Pre-Amp"
          card 0
      }
      min_dB -5.0
      max_dB 20.0
      resolution 6
  }
lumberjack
1) альсу перезапускали?
2) а если попробовать так:
pcm.!default {
      type plug
      slave.pcm "softvol"
  }
  pcm.softvol {
      type softvol
      slave {
          pcm "dmix"
      }
      control {
          name "Pre-Amp"
          card 0
      }
      min_dB -5.0
      max_dB 20.0
      resolution 6
  }

не нашел отличий, если честно, в вашем примере за исключением табуляций. у меня видимо при копи-пасте из консоли табуляция не вставилась, в конфиге в действительности с табуляциями.

да, перезапускал.
останавливал через alsactl kill quit, менял конфиг в /var/lib/alsa/asound.state и запускал сервис заново alsactl kill rescan. перегружал бук. все одно и то же.
пробовал alsactl -f /var/lib/alsa/test.state store, править в нем строчки, затем alsactl -f /var/lib/alsa/test.state restore - результата нет.
пробовал удалить вообще все файлы из /var/lib/alsa/ и перегружать бук. при перезагрузке в директории опять два файла asound.state, asound.lock с последней конфигурацией. полагаю, при перезагрузке "что-то" записывает текущий конфиг и состояние уровней в эти файлы.

изменения в файле .asoundrc тоже ни к чему не приводят. менял resolution с 6 на 11, т.е. как раз 11 шагов регулировки 0...10 по 10% - перегружал ноут, бесполезно.
либо плохо искал, либо не нашел деталей по тому как взаимодействуют/работают /var/lib/alsa/asound.state и ~/.asoundrc :(
zhksteal, я добавлял это в файл /etc/asound.conf
у меня в asoundrc не заработало
lumberjack
zhksteal, я добавлял это в файл /etc/asound.conf
у меня в asoundrc не заработало

я так понял, что /etc/asound.conf был заменен файлом /var/lib/alsa/asound.state ? т.е. ты его просто создал и вписал туда конфиг?

можешь прислать что у тебя содержится в
1. /var/lib/alsa/asound.state (если такой файл у тебя есть, если удалил - расскажи как)
2. /etc/asound.conf
3. ~/.asoundrc (если такой файл у тебя есть)
и как выглядит при этом вызов alsamixer
state это состояние, он сам создаётся
conf это настройки, его надо создать

;)
такие дела.
cucullus
state это состояние, он сам создаётся
conf это настройки, его надо создать

;)

вроде как логично. НО!
[zhksteal@ArchZhKSteaL ~]$ alsactl --help
Usage: alsactl <options> command
...
Available state options:
  -f,--file #      configuration file (default /var/lib/alsa/asound.state)
...
Available commands:
  store     <card>  save current driver setup for one or each soundcards
                      to configuration file
  restore   <card>  load current driver setup for one or each soundcards
                      from configuration file
  nrestore  <card>  like restore, but notify the daemon to rescan soundcards

неужто никто не знает, как работает/настраивается alsa? :(
что "но"?

/var/lib/alsa/asound.state (or whatever file you specify with the -f flag) is used to store current settings for your soundcards.

The configuration file is generated automatically by running alsactl store.

ну и вики почитайте.
такие дела.
cucullus
что "но"?

/var/lib/alsa/asound.state (or whatever file you specify with the -f flag) is used to store current settings for your soundcards.

The configuration file is generated automatically by running alsactl store.

ну и вики почитайте.

у меня нет /etc/asound.conf
это и вводит в заблуждение.

http://alsa.opensrc.org/Softvol

[b]Note:[/b]The new volume control won't appear imidiately! [b]Only after the first usage of the newly defined device (e.g. with speaker-test), should amixer sget Softmaster display the new control.[/b] Mixers that were already started before the first usage (like KMix) have to be restarted to adopt the changes. If the new control is still not there, try restarting ALSA or your PC.
[b]Removing a volume control[/b]
This task is not as easy at it seems, if you don't know the trick. If the correspondant part of the configuration file is just deleted and alsactl store has been executed after the usage of the device in question, the volume control won't disappear. [b]alsactl store stores the value of all controls (among them the softvol device) in /etc/asound.state and is most likely executed on every shutdown of your computer.[/b]
To make the volume control disappear finally, you [b]have to delete its values in /etc/asound.state[/b] or just the whole file (it will be recreated with default values on next reboot). After that, your computer has to be restarted once without the execution of alsactl store on shutdown. On Debian, this can be achieved by temporarily renaming /etc/rc6.d/K50alsa-utils (or similar). Pressing the reset button also works, but should be avoided.

попробую сделать в соответствии с этим, вы оказались правы про .state
но все равно не понятно взаимодействие /etc/asound.conf, /var/lib/alsa/asound.state, ~/.asoundrc, с учетом если файлы /etc/asound.conf, ~/.asoundrc не существуют. и откуда берется конфигурация при рестарте.
 
Зарегистрироваться или войдите чтобы оставить сообщение.