ALSA-Soundkartenreihenfolge

Dieses Thema im Forum "Linux" wurde erstellt von tholan, 27. Juli 2014.

  1. khz

    khz D@AU ~/Opportunist/Orwell # ./.cris/pr.run

    EDIT: Nur das es bei mir nicht (mehr) so geht %/

    Festlegen des Default-Device

    Code:
    cat /proc/asound/cards
    Für z.B.
    Code:
    0 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                         HDA ATI HDMI at 0xfe9ec000 irq 19
    1 [Bt878          ]: Bt87x - Brooktree Bt878
                         Brooktree Bt878 at 0xfdffe000, irq 21
    2 [Audigy2        ]: Audigy2 - Audigy 4 [SB0610]
                         Audigy 4 [SB0610] (rev.0, serial:0x10211102) at 0xe800, irq 20
    Mit z.B. nano editieren
    Code:
    ~/.asoundrc
    <-- für Einstellungen, die nur einen Benutzeraccount betreffen.
    oder in
    Code:
    /etc/asound.conf 
    <-- für systemweite Einstellungen, die alle Benutzer betreffen (root Rechte beim editieren nicht vergessen).

    Code:
    pcm.!default {
        type hw
        card Audigy2
    }
    ctl.!default {
        type hw
        card Audigy2
    }
    
    https://wiki.archlinux.de/title/Alsa#Festlegen_des_Default-Device


    JACK

    Code:
    ~/.asoundrc
    Code:
    pcm.jackplug12 {
            type plug
            slave { pcm "jack12" }
    }
    
    pcm.jack12 {
            type jack
            playback_ports {
                    0 alsa_pcm:playback_1
                    1 alsa_pcm:playback_2
            }
            capture_ports {
                    0 alsa_pcm:capture_1
                    1 alsa_pcm:capture_2
            }
    }
    http://wiki.ubuntuusers.de/.asoundrc#JACK


    Das geht bei mir:

    Code:
    ~/.asoundrc
    Code:
    defaults.ctl.card 0
    defaults.pcm.card 0
    defaults.timer.card 0
    
    Was nicht die Reihenfolge der Soundcard beeinflusst sondern das Ausgabegeräte für z.B. Firefox festlegt :phat: %/


    alsamixer

    Die Einstellungen in dem alsamixer zu speichern (root Rechte beim editieren nicht vergessen).

    Code:
    alsactl store
    >>
    Code:
    alsactl --help
    Code:
    ...
    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
    ...

    Teste:
    Code:
    /etc/modprobe.d/alsa.conf
    z.B.:
    Code:
    options snd-emu10k1 index=0
    options snd-via82xx index=1
    https://www.gentoo.org/doc/de/alsa-guide.xml <-- Mehrere Soundkarten
     
  2. khz

    khz D@AU ~/Opportunist/Orwell # ./.cris/pr.run

    Nachschauen was drin ist:
    Code:
    cat /proc/asound/cards
    und in
    Code:
     /etc/modprobe.d/alsa.conf
    seine gewünschte Booteihenfolge festlegen, z.B.:
    Code:
        options snd-emu10k1 index=0
        options snd-via82xx index=1
    https://www.gentoo.org/doc/de/alsa-guide.xml <-- Mehrere Soundkarten
     
  3. khz

    khz D@AU ~/Opportunist/Orwell # ./.cris/pr.run

    1. Erste Soundkarte festlegen:

    Was ist im Computer drin:
    Code:
    cat /proc/asound/cards
    edit:
    Code:
    /etc/modprobe.d/alsa.conf
    Beispiel, nimm die was "/proc/asound/cards" sagt!

    - unterschiedliche Treiber:
    Code:
        options snd-emu10k1 index=0
        options snd-via82xx index=1
    
    - gleiche Treiber:
    Code:
        options snd-ymfpci index=0
        options snd-hda-intel index=1,2

    2. Einstellunge in alsamixer speichern (als root), für jede Soundkarte separat Einstellunge vornehmen und abspeichern:
    Code:
    alsactl store

    3. Programme nehmen bestimmte Soundkate:

    edit:
    Code:
    ~/.asoundrc
    Code:
        defaults.ctl.card 0
        defaults.pcm.card 0
        defaults.timer.card 0

    4. Mehrere Soundkarten in qjackctl zusammenführern:

    In Qjackctl:
    A)
    Setup >> Optionen >> [X] Skript beim start ausführen
    Code:
    jack_load -i "-d hw:1 -i16 -o16" 9632 audioadapter && jack_bufsize 128 &
    hw: die du zusammenführen willst (hw:1/hw:0/...)
    -i <-- deine Anzahl der SC inputs
    -o <-- deine Anzahl der SC outputs
    9632 <-- wie du sie benennen willst (jackport)
    jack_bufsize <-- festlegen des JACK buffer size

    B)
    Für Alsa2jack (MIDI):
    install:
    Code:
    a2jmidid
    Setup >> Optionen >> [X] Skript nach start ausführen
    Code:
    sleep 5 && a2jmidid -e &

    5. Flash & jack

    install:
    Code:
    alsa-plugins
    edit:
    Code:
    nano .asoundrc
    Code:
    # convert alsa API over jack API
    # use it with
    # % aplay foo.wav
    
    # use this as default
    pcm.!default {
        type plug
        slave { pcm "jack" }
    }
    
    ctl.mixer0 {
        type hw
        card 1
    }
    
    # pcm type jack
    pcm.jack {
        type jack
        playback_ports {
            0 system:playback_1
            1 system:playback_2
        }
        capture_ports {
            0 system:capture_1
            1 system:capture_2
        }
    }
    card 1 <-- wenn du die "card 1" (oder "card 0" ...) willst.
     
  4. khz

    khz D@AU ~/Opportunist/Orwell # ./.cris/pr.run

    Wenn mann will, wird ja nicht mehr aktiv weiterentwickelt, kann man einen RT-Kernel nehmen (aktuell ist der 3.14).
    Ich habe einen ~normalen neueren genommen und den selber gebaut (menuconfig) wo ich
    Code:
    Processor type and features >> Preemption Mode >> Complete Preemption (Real-Time)
    Processor type and features >> Timer frequency >> 1000 HZ
    General setup >> RCU Subsystem >> RCU Implementation (Preemptable tree-based hierarchical RCU)
    
    gesetzt habe (Complete Preemption (Real-Time) gibt es beim normalen ja nicht, eben "fully preemptible" genommen) und meine Soundkarten ausgewählt, die anderen rausgenommen.
    Wenn man will noch http://kmuto.jp/debian/hcl/ (Debian GNU/Linux device driver check page).

    In der
    Code:
    /etc/security/limits.conf
    Code:
    @audio          -       rtprio          99
    @audio          -       memlock         unlimited
    eingetragen.

    TIP: Für eine DAW mit nicht unedlich schneller Hardware solten möglichst wenige Dienste automatisch gestartet werden wenn Sie nicht zwingend benötigt werden. Sporadisch benutzte Dienste lieber manuell starten z.B.: /etc/init.d/klöschenformer start

    Wers nicht lassen kann ;-) : Viele Infos zu "System configuration" findet man hier:
    http://wiki.linuxaudio.org/wiki/system_configuration
     
  5. huscape

    huscape ..

  6. khz

    khz D@AU ~/Opportunist/Orwell # ./.cris/pr.run

    Ergänzung zu *1:
    Habe jack-audio-connection-kit-2.9999 installiert.

    *1:
    Code:
    1. Erste Soundkarte festlegen:
    
    Was ist im Computer drin:
    [code]cat /proc/asound/cards
    edit:
    Code:
    /etc/modprobe.d/alsa.conf
    Beispiel, nimm die was "/proc/asound/cards" sagt!

    - unterschiedliche Treiber:
    Code:
        options snd-emu10k1 index=0
        options snd-via82xx index=1
    
    - gleiche Treiber:
    Code:
        options snd-ymfpci index=0
        options snd-hda-intel index=1,2

    2. Einstellunge in alsamixer speichern (als root), für jede Soundkarte separat Einstellunge vornehmen und abspeichern:
    Code:
    alsactl store

    3. Programme nehmen bestimmte Soundkate:

    edit:
    Code:
    ~/.asoundrc
    Code:
        defaults.ctl.card 0
        defaults.pcm.card 0
        defaults.timer.card 0

    4. Mehrere Soundkarten in qjackctl zusammenführern:

    In Qjackctl:
    A)
    Setup >> Optionen >> [X] Skript beim start ausführen
    Code:
    jack_load -i "-d hw:1 -i16 -o16" 9632 audioadapter && jack_bufsize 128 &
    hw: die du zusammenführen willst (hw:1/hw:0/...)
    -i <-- deine Anzahl der SC inputs
    -o <-- deine Anzahl der SC outputs
    9632 <-- wie du sie benennen willst (jackport)
    jack_bufsize <-- festlegen des JACK buffer size

    B)
    Für Alsa2jack (MIDI):
    install:
    Code:
    a2jmidid
    Setup >> Optionen >> [X] Skript nach start ausführen
    Code:
    sleep 5 && a2jmidid -e &

    5. Flash & jack

    install:
    Code:
    alsa-plugins
    edit:
    Code:
    nano .asoundrc
    Code:
    # convert alsa API over jack API
    # use it with
    # % aplay foo.wav
    
    # use this as default
    pcm.!default {
        type plug
        slave { pcm "jack" }
    }
    
    ctl.mixer0 {
        type hw
        card 1
    }
    
    # pcm type jack
    pcm.jack {
        type jack
        playback_ports {
            0 system:playback_1
            1 system:playback_2
        }
        capture_ports {
            0 system:capture_1
            1 system:capture_2
        }
    }
    card 1 <-- wenn du die "card 1" (oder "card 0" ...) willst.[/code]