Автор Тема: Усилване на звука, работещо на всякакъв хардуер  (Прочетена 1243 пъти)

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
Мислех си, че това е достатъчно:
Примерен код

rexima pcm 88 vol 88

но се оказа не така.

На някои машини има pcm2:
Примерен код

rexima pcm 88 vol 88 pcm2 88


Редактирал съм файла /etc/rc.d/rc.alsa:

Примерен код

#!/bin/sh
# Load the mixer settings and OSS compatibility for ALSA.
# (the Advanced Linux Sound Architecture)

# Modified by: Valentin Stoykov <http://vslive.hit.bg>

# A function to load the ALSA mixer settings:
load_alsa_mixer() {
    sleep 1
    chmod a+r /dev/sound/*
    chmod a+w /dev/sound/*
    echo "Setting sound volume: /usr/bin/rexima pcm 88 vol 88"
    rexima pcm 88 vol 88
}

# A function to load the ALSA OSS compat modules:
load_alsa_oss_modules() {
  if ! cat /proc/modules | grep -w snd-pcm-oss 1> /dev/null 2> /dev/null; then
    echo "Loading OSS compatibility modules for ALSA."
    modprobe snd-pcm-oss
    modprobe snd-mixer-oss
  fi
}

# If hotplug or something else has loaded the ALSA modules, then
# simply load the mixer settings and make sure the OSS compat
# modules are loaded:
if [ -d /proc/asound ]; then
  load_alsa_oss_modules
  load_alsa_mixer
else
  # If there are ALSA modules defined in /etc/modules.conf, but
  # ALSA is not yet loaded, then load the modules now:
  DRIVERS=`modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{ print $3 }'`
  if [ ! "$DRIVERS" = "" ]; then
    echo "Loading ALSA kernel modules."
    for module in $DRIVERS; do
      modprobe $module
    done
  fi
  # If ALSA is now up, then load the mixer settings and OSS modules:
  if [ -d /proc/asound ]; then
    load_alsa_oss_modules
    load_alsa_mixer
  fi
fi


Ето го оригинала:
Примерен код

#!/bin/sh
# Load the mixer settings and OSS compatibility for ALSA.
# (the Advanced Linux Sound Architecture)

# A function to load the ALSA mixer settings:
load_alsa_mixer() {
  if [ -r /etc/asound.state ]; then
    echo "Loading ALSA mixer settings:  /usr/sbin/alsactl restore"
    /usr/sbin/alsactl restore
  else
    echo "ALSA warning:  No mixer settings found in /etc/asound.state."
    echo "  Sound may be muted.  Use 'alsamixer' to unmute your sound card,"
    echo "  and then 'alsactl store' to save the default ALSA mixer settings"
    echo "  to be loaded at boot."
  fi
}

# A function to load the ALSA OSS compat modules:
load_alsa_oss_modules() {
  if ! cat /proc/modules | grep -w snd-pcm-oss 1> /dev/null 2> /dev/null; then
    echo "Loading OSS compatibility modules for ALSA."
    modprobe snd-pcm-oss
    modprobe snd-mixer-oss
  fi
}

# If hotplug or something else has loaded the ALSA modules, then
# simply load the mixer settings and make sure the OSS compat
# modules are loaded:
if [ -d /proc/asound ]; then
  load_alsa_mixer
  load_alsa_oss_modules
else
  # If there are ALSA modules defined in /etc/modules.conf, but
  # ALSA is not yet loaded, then load the modules now:
  DRIVERS=`modprobe -c | grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | awk '{ print $3 }'`
  if [ ! "$DRIVERS" = "" ]; then
    echo "Loading ALSA kernel modules."
    for module in $DRIVERS; do
      modprobe $module
    done
  fi
  # If ALSA is now up, then load the mixer settings and OSS modules:
  if [ -d /proc/asound ]; then
    load_alsa_mixer
    load_alsa_oss_modules
  fi
fi


Разликата:
Примерен код

4a5,6
> # Modified by: Valentin Stoykov <http://vslive.hit.bg>
>
7,15c9,13
<   if [ -r /etc/asound.state ]; then
<     echo "Loading ALSA mixer settings:  /usr/sbin/alsactl restore"
<     /usr/sbin/alsactl restore
<   else
<     echo "ALSA warning:  No mixer settings found in /etc/asound.state."
<     echo "  Sound may be muted.  Use 'alsamixer' to unmute your sound card,"
<     echo "  and then 'alsactl store' to save the default ALSA mixer settings"
<     echo "  to be loaded at boot."
<   fi
---
>     sleep 1
>     chmod a+r /dev/sound/*
>     chmod a+w /dev/sound/*
>     echo "Setting sound volume: /usr/bin/rexima pcm 88 vol 88"
>     rexima pcm 88 vol 88
31d28
<   load_alsa_mixer
32a30
>   load_alsa_mixer
45d42
<     load_alsa_mixer
46a44
>     load_alsa_mixer


Както се вижда - разменени са и местата на

Примерен код

    load_alsa_mixer
    load_alsa_oss_modules


На този адрес видях това:

Примерен код

/usr/bin/rexima vol 90 pcm 100 speaker 0 line 0 mic 0 cd 0 pcm2 100 igain 0 line1 0 dig1 100 dig2 100 phin 0 phout 0 video 0


Предполагам, че няма нужда чак и микрофона да описвам, но...

Търся универсален начин да увелича звука при първото стартиране (при живите дискове всяко стартиране е първо) до приемливо ниво (по-голямо от нула), което да работи на всяка машина със звукова карта.
Активен