ALSA-Soundkartenreihenfolge

tholan

.....
Hi,
ich versuchs immer wieder mal mit Linux und Multimedia Apps,
aber meistens scheiterts schon an dem wunderbaren ALSA.
ALSA denkt z.B. mein USB-MIDI-Kabel sei eine Soundkarte ohne Mixer
und versucht sich dann, natürlich vergeblich, mit der Soundausgabe über Selbige.
Das ist aber eigentlich nicht so schlimm, da mein Wheezy mit LXDE die Reihenfolge
der Soundkarten bei jedem Hochfahren sowieso stochastisch ermittelt
und so mal der HDMI-Ausgang der Radeon-GraKa als Defaultkarte erwählt wird,
dann mal wieder die Intel/AD-Onboard-Chipkombination, das nächste Mal
das erwähnte USB-Midikabel und zuletzt auchmal die PCI-Soundkarte,
die hier nur wegen ihres MIDI-Ports drin steckt.
Angeschlossen ist jedenfalls nur der Intel/AD-Onboard-Sound.
Ich habe nun alle Treiber, die die Soundausgaben betrifft, die ich nicht nutze,
bzw. den Überflüssigen für das USB-Kabel in der alsa-base-blacklist.conf unter /etc/modprobe.d
verzeichnet, so daß nur der eine Treiber übrigbleibt, der den Onboardsound bedient.
Das pfundst soweit, ist aber m.E. nicht im Sinne des Erfinders.
Ich würde ja gerne mal die ganzen produktiven MIDI- und Audioprogramme ausprobieren,
wozu ich dann auch noch mehrere USB-Midikabel einsetzen würde.
So scheint mir das aber kein Sinn zu haben.
Jemand ne Lösung?
thx
 
Weis nid ob's hilft, aber einen Versuch wäre es wert, die Treiber in der "richtigen" (hauptsache in einer festen...) Reihenfolge in die /etc/modules reinzuschreiben.
 
Danke Dir,
klingt nach ner guten Idee.
Ich werde die Einträge in der Blacklist wieder rausnehmen, gucken und abschreiben, welche Treiber geladen werden
und die dann mal der richtigen Reihenfolge nach in der modules eintragen,
mal gucken, obs was bringt.
Da steht schon ein Modul drinnen, das sich schlicht "loop" nennt.
Weißt Du, wofür das gut ist und ob das am Ende stehen muß?
 
loop is ein Fake-Dateisystem. Damit kannst du Dateisysteme, die in einer Datei (und nicht direkt auf einer Partition) liegen einhängen. Ich brauch das fast täglich, wie's bei dir aussieht weis ich ned. Wenn's schon drin stand, ohne dass du was dran gemacht hast, könnt ich mir vielleicht vorstellen, dass Wheezy das für irgendwas braucht. Also ich würds dann mal drinnen lassen. Wo is egal.
 
Ich habe durch
Code:
cat /proc/asound/cards
 0 [HDSPMx5df461   ]: HDSPM - RME AIO_5df461
                      RME AIO S/N 0x5df461 at 0xfe8f0000, irq 16
 1 [DSP            ]: H-DSP - Hammerfall DSP
                      RME Hammerfall HDSP 9632 at 0xfe6f0000, irq 20
Code:
cat /proc/asound/modules 
 0 snd_hdspm
 1 snd_hdsp
nachgesehen was drin ist und dann mein Wunsch in die
Code:
cat .asoundrc 
defaults.ctl.card 0
defaults.pcm.card 0
defaults.timer.card 0
eingetragen. Somit nimmt er immer "0 snd_hdspm" als erste SC.

Beim booten habe ich aber externe USB teile immer aus weil er sonst dieses nimmt ... .

http://www.alsa-project.org/main/index.php/Asoundrc
https://wiki.archlinux.de/title/Alsa#Festlegen_des_Default-Device

Hm irgendwie vermute ich das ich noch irgendwas getan hab ... find ichs poste ichs ;-)
 
Hi,
hat ein bischen gedauert.
Die Nummerierungen scheinen beim Hochfahren wohl wirklich
völlig willkürlich gewürfelt zu werden.
Hier zwei Beispiele. Das Erste, wie es sein sollte,
das Zweite mit der falschen Karte (ATI-GraKa HD-Ausgang) als Default:
Code:
cat /proc/asound/cards:

 0 [ICH7           ]: ICH4 - Intel ICH7
                      Intel ICH7 with AD1981B at irq 23
 1 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfe9dc000 irq 43
 2 [CMI8738        ]: CMI8738 - C-Media CMI8738
                      C-Media CMI8738 (model 37) at 0xcc00, irq 18
 3 [Interface      ]: USB-Audio - USB MIDI Interface
                      USB MIDI Interface at usb-0000:00:1d.2-1, full speed
 4 [Cable          ]: USB-Audio - USB Midi Cable

                      USB Midi Cable at usb-0000:00:1d.2-2, full speed
cat /proc/asound/devices:

  1:        : sequencer
  2: [ 2- 2]: digital audio playback
  3: [ 2- 2]: digital audio capture
  4: [ 2- 1]: digital audio playback
  5: [ 2- 0]: digital audio playback
  6: [ 2- 0]: digital audio capture
  7: [ 2]   : control
  8: [ 1- 3]: digital audio playback
  9: [ 1- 0]: hardware dependent
 10: [ 1]   : control
 11: [ 3- 0]: raw midi
 12: [ 3]   : control
 13: [ 4- 0]: raw midi
 14: [ 4]   : control
 15: [ 0- 4]: digital audio playback
 16: [ 0- 3]: digital audio capture
 17: [ 0- 2]: digital audio capture
 18: [ 0- 1]: digital audio capture
 19: [ 0- 0]: digital audio playback
 20: [ 0- 0]: digital audio capture
 21: [ 0]   : control
 33:        : timer
Beim nächsten Mal siehts dann so aus:
Code:
cat /proc/asound/cards:
 0 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xfe9dc000 irq 43
 1 [CMI8738        ]: CMI8738 - C-Media CMI8738
                      C-Media CMI8738 (model 37) at 0xcc00, irq 18
 2 [ICH7           ]: ICH4 - Intel ICH7
                      Intel ICH7 with AD1981B at irq 23
 3 [Interface      ]: USB-Audio - USB MIDI Interface
                      USB MIDI Interface at usb-0000:00:1d.2-1, full speed
 4 [Cable          ]: USB-Audio - USB Midi Cable
                      USB Midi Cable at usb-0000:00:1d.2-2, full speed

cat /proc/asound/devices:

  1:        : sequencer
  2: [ 0- 3]: digital audio playback
  3: [ 0- 0]: hardware dependent
  4: [ 0]   : control
  5: [ 1- 2]: digital audio playback
  6: [ 1- 2]: digital audio capture
  7: [ 1- 1]: digital audio playback
  8: [ 1- 0]: digital audio playback
  9: [ 1- 0]: digital audio capture
 10: [ 1]   : control
 11: [ 3- 0]: raw midi
 12: [ 3]   : control
 13: [ 4- 0]: raw midi
 14: [ 4]   : control
 15: [ 2- 4]: digital audio playback
 16: [ 2- 3]: digital audio capture
 17: [ 2- 2]: digital audio capture
 18: [ 2- 1]: digital audio capture
 19: [ 2- 0]: digital audio playback
 20: [ 2- 0]: digital audio capture
 21: [ 2]   : control
 33:        : timer
Das Seltsame ist auch, daß ich nur 2 midi-devices habe:
/dev/midi3 und /dev/midi4,
obwohl es 3 sein sollten. Einen am Joystickport der CMI-Karte
und 2 über die beiden USB-Kabel.
Als Eingang funktioniert nur midi3 und midi4. Das sind die beiden USB-Kabel.
Da sind aber noch 2 "dmmidi": /dev/dmmidi3 und /dev/dmmidi4.
dmmidi3 entspricht midi3 und dmmidi4 entspricht midi4, also nur den USB-Kabeln,
hab ich mit: cat /dev/dmmidi[n] getestet.
Das sind auch keine Links, sondern echte Devices.
Der MIDI-Anschluß am Joystickport der CMI-Soundkarte scheint jedenfalls garnicht zu funktionieren,
dafür finde ich jedenfalls kein weiteres MIDI-device.

Irgendwie wäre das toll, die Funktionsweise von ALSA erstmal gefressen zu haben,
soweit ist das jedenfalls ein fürchterliches, akademisches Gefummel
und wenn die MIDI-Schnittstelle am Joystickport der CMI-Karte nicht will, kann ichs sowieso vergessen.
 
Generell gibt es unter Linux schon sehr lange keine Probleme mehr mit Alsa. Das einzigste was ist, dass wenn man mehrere Soundkarten im Rechner hat beim booten und laden des Alsa Treiber die Karten in unterschiedlicher Reihenfolge gefunden werden und somit andere "hw" NAmen erhalten. Das nervt mich auch. Also kann es passieren das nach dem Kaltstart ein eingestecktes USB Interface nicht mehr hw:1.0 ist sondern hw:0 oder what ever...

Du hast nun 2 Möglichkeiten. Entweder du macst es so wie ich und benutzt nur im Laptop die Onboard Sounkarte, oder du bastelst dir ein kleines Skript das die zuordnung abfragt und dann deien Wünschen entsprcehend ändert. Da ich sowieso nur SuperCollider und PD oder ab und zu Renoise sowie kein Multitrackrecording betreibe reicht die Onboardlösung aus. Dies hat noch einen weiteren Vorteil. Wenn ich mal den Laptop austöpseln will dann muss ich nicht meine Programme schlieessen und den Treiber Qjackctl beenden und sicher das Iterface beenden. Sondern ich kann im laufenden Betrieb einfach am Monitorcontroller den Mute Knopf drücken und den Neutrik Minikline aus dem Laptop ziehen während die Musik weiter läuft...
 
So,
hab jetzt die Modules nach dem Tip von Psicolor in der /etc/modules eingetragen:
Code:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

loop
snd_intel8x0
snd_cmipci
snd_usb_audio
snd_usb_audio
snd_hda_intel
ALSA scheint das aber nicht zu interessieren.
Das fabrizierte Ergebnis in der /proc/asound/modules sieht
nach Neustart so aus:
Code:
 0 snd_intel8x0
 1 snd_hda_intel
 2 snd_cmipci
 3 snd_usb_audio
 4 snd_usb_audio
Ich schätze, hier könnte ich nur das fehlende MIDI-Modul
für die CMI-Karte nachtragen.

Jack ist noch garnicht drauf (muß ich dafür nicht den RT-Kernel draufhaun?),
ich wollte halt erstmal ALSA vernünftig zum Laufen bringen.
Das ist ein feststehender PC und die USB-Kabel haben jeweils ihren fest zugeordneten Anschluß,
damits unter XP auf ner anderen Partition zu keinem Durcheinander kommt.
 
tholan schrieb:
Die Nummerierungen scheinen beim Hochfahren wohl wirklich
völlig willkürlich gewürfelt zu werden.
Das war hier auch so. Habe noch mal in der Konsole history nachgeschaut (oh mist, hab doch damals gedacht: "ha geschafft, das vergisste nie mehr" was sich als falsch herausgestellt hat omg /dev/brain >> /dev/null ;-) ).
Was ich gefunden habe war das ich als root
Code:
alsamixer
Code:
alsactl store
Code:
alsactl restore
aufgerufen hatte.
<EDIT>
Anscheinend gibt es alsactl nur in testing/sid, nicht in stable. :sad:
https://packages.debian.org/de/jessie/alsa-utils
</EDIT>
On-Board SC habe ich im Bios deaktiviert.
Eine
Code:
/etc/modprobe.d/alsa-base-blacklist.conf
habe ich nicht.
Seitdem ist die Reihenfolge fest vergeben == immer gleich.
Nur darf nichts eingeschaltet am USB Port hängen sonst ist dieses evt. meine default-SC.
OMG Linux muss man schon mögen! ;-)
Code:
alsactl version 1.0.27.2
NAME

       alsactl - advanced controls for ALSA soundcard driver

SYNOPSIS

       alsactl [options] [store|restore|init] <card # or id or device>

DESCRIPTION

       alsactl  is  used  to  control advanced settings for the ALSA soundcard
       drivers. It supports multiple soundcards. If  your  card  has  features
       that  you can't seem to control from a mixer application, you have come
       to the right place.

COMMANDS

       store saves the current driver state for the selected soundcard to  the
       configuration file.

       restore  loads  driver  state  for  the  selected  soundcard  from  the
       configuration file. If restoring fails (eventually  partly),  the  init
       action is called.

       nrestore  is  like  restore,  but it notifies also the daemon to do new
       rescan for available soundcards.

       init tries to initialize all devices to a default state. If  device  is
       not known, error code 99 is returned.

       daemon manages to save periodically the sound state.

       rdaemon like daemon but restore the sound state at first.

       kill  notifies  the daemon to do the specified operation (quit, rescan,
       save_and_quit).

       If no soundcards are specified, setup for all cards will  be  saved  or
       loaded.

OPTIONS

       -h, --help
              Help: show available flags and commands.

       -d, --debug
              Use debug mode: a bit more verbose.

       -v, --version
              Print alsactl version number.

       -f, --file
              Select   the   configuration   file   to  use.  The  default  is
              /var/lib/alsa/asound.state.

       -F, --force
              Used with restore command.  Try to restore the matching  control
              elements  as  much  as  possible.  This option is set as default
              now.

       -g, --ignore
              Used with store and restore commands. Do not show 'No soundcards
              found' and do not set an error exit code when soundcards are not
              installed.

       -P, --pedantic
              Used with restore command.  Don't  restore  mismatching  control
              elements.  This option was the old default behavior.

       -I, --no-init-fallback
              Don't  initialize cards if restore fails.  Since version 1.0.18,
              alsactl tries to initialize the card with the restore  operation
              as  default.   But this can cause incompatibility with the older
              version.  The caller may expect that the state won't be  touched
              if no state file exists.  This option takes the restore behavior
              back to the older version by suppressing the initialization.

       -r, --runstate
              Save restore and init state to this file. The file will  contain
              only  errors.   Errors are appended with the soundcard id to the
              end of file.

       -R, --remove
              Remove runstate file at first.

       -E, --env #=#
              Set environment variable (useful for  init  action  or  you  may
              override   ALSA_CONFIG_PATH   to  read  different  or  optimized
              configuration - may be useful for "boot" scripts).

       -i, --initfile
              The    configuration    file    for    init.     By     default,
              PREFIX/share/alsa/init/00main is used.

       -p, --period
              The store period in seconds for the daemon command.

       -e, --pid-file
              The pathname to store the process-id file in the HDB UUCP format
              (ASCII).

       -b, --background
              Run the task in background.

       -s, --syslog
              Use syslog for messages.

       -n, --nice
              Set the process priority (see 'man nice')

       -c, --sched-idle
              Set the process scheduling policy to idle (SCHED_IDLE).

FILES

       /var/lib/alsa/asound.state (or whatever file you specify  with  the  -f
       flag)  is  used  to  store  current  settings  for your soundcards. The
       settings  include  all  the  usual  soundcard  mixer  settings.    More
       importantly,  alsactl  is  capable  of  controlling other card-specific
       features that mixer apps usually don't know about.

       The configuration file is generated automatically  by  running  alsactl
       store. Editing the configuration file by hand may be necessary for some
       soundcard features (e.g. enabling/disabling automatic mic gain, digital
       output, joystick/game ports, some future MIDI routing options, etc).

SEE ALSO

        amixer(1), alsamixer(1), aplay(1), alsactl_init(7)

BUGS

       None known.

AUTHOR

       alsactl  is  by  Jaroslav  Kysela  <perex@perex.cz>  and Abramo Bagnara
       <abramo@alsa-project.org>.   This   document   is   by   Paul   Winkler
       <zarmzarm@erols.com>.
danach habe ich nur noch andere Einträge in der history.
In der
Code:
/etc/modprobe.d/alsa.conf
Code:
/etc/conf.d/alsasound
habe ich nichts extra eingetragen.
 
Es ist - für mich - schon sinnvoll das die HW fest vergeben ist. Ich drücke auf "start" und qjackctl hat immer die selbe SC bzw Firefox nutzt die, welche an der Anlage angeschlossen ist. Jedesmal anders ist eine weitere Hürde in dem eh komlizierten Audio&&Linux DAW Ding IMHO.
Ich habe nur ALSA und jackd install, das Krebsgeschwür Pulse oder dergleichen habe ich nicht install.
Dank der USE-Flags (Gentoo) habe ich auch alle Programme nur mit ALSA/jackd gebaut.
Warum einen 3. Soundserver install? Ja cool hab 3 Schnittstellen für snd. ;-)
 
Ja, ALSA ist kein Soundserver, dachte da an:
46580-sound-driver-for-linux.jpg

Wie gesagt habe ich nur ALSA (klar) und als Server jackd.
Wenn jackd nicht läuft wird direkt ALSA angesprochen. Da kann sich dann nur ein Programm zu verbinden.
Bzw. grad nachgeschaut bei Firefox gstreamer(?):
Code:
Endgültige USE-Flags: +alsa, ..., +gstreamer, ..
 
Hey, ich danke Dir.
Das sieht ja mal zielführend aus.
Wenn das pfundst, kann ich ja mal gucken, ob es einen vernünftigen MIDI-Sequencer gibt.
 
Verständnisfrage:
Laut http://alsa.opensrc.org/MultipleUSBAudioDevices wird das dann durch
"/etc/modules.conf, or /etc/modprobe.conf" (bei Gentoo gibt es nur "/etc/conf.d/modules, or /etc/modprobe.d/alsa.conf")
geregelt?
In der "/etc/conf.d/modules" habe ich modules="snd_seq" eingetragen (wobei ich snd_seq nicht mehr verwende, sondern in qjackctl/Setup "[X] Skript nach Start ausführen:" "sleep 5 && a2jmidid -e &", MIDI Driver: "none"),
in der "/etc/modprobe.d/alsa.conf" nichts.
Ich hatte das mit alsactl festgelegt.
Ist alsactl dann das "neue" welches den Eintrag in "/etc/modprobe.d/alsa.conf" ersetzt?

Na dann trag das in "/etc/modprobe.conf" ein (so wie Drumfix geschrieben hat), sry mein System ist evt. ~neuer und daher die Irritation meinerseits.

Zu Programmen schau mal http://wiki.linuxaudio.org/apps/start
 
Verständnisfrage:
Laut http://alsa.opensrc.org/MultipleUSBAudioDevices wird das dann durch
"/etc/modules.conf, or /etc/modprobe.conf" (bei Gentoo gibt es nur "/etc/conf.d/modules, or /etc/modprobe.d/alsa.conf")
geregelt?
In der "/etc/conf.d/modules" habe ich modules="snd_seq" eingetragen (wobei ich snd_seq nicht mehr verwende, sondern in qjackctl/Setup/Settings MIDI Driver: "none", qjackctl/Setup/Options "[X] Skript nach Start ausführen:" "sleep 5 && a2jmidid -e &"),
in der "/etc/modprobe.d/alsa.conf" nichts.
Ich hatte das mit alsactl festgelegt.
Ist alsactl dann das "neue" welches den Eintrag in "/etc/modprobe.d/alsa.conf" ersetzt?

Na dann trag das in "/etc/modprobe.conf" ein (so wie Drumfix geschrieben hat), sry mein System ist evt. ~neuer und daher die Irritation meinerseits.

Zu Programmen schau mal http://wiki.linuxaudio.org/apps/start
 
Ich erzwinge die Reihenfolge in einer selbstgebastelten /etc/modprobe.d/usb-audio-interfaces.conf

# Mit Logitch Webcam und Focusrite Scarlett 2i2
options snd_usb_audio index=2,3 vid=0x46d,0x1235 pid=0x809,0x8006

Damit ist meine Focusrite Scarlett immer an Position 3, die Webcam immer an Position 2.
Das geht vermutlich auch mit deutlich mehr Interfaces.
 
Es stört mich nicht unbedingt, aber eines verwundert mich bei Alsa auch...

Jackd benutzt ja Alsa bzw. verbindet sich an den Alsa Audiotreiber... Also könnte man ja denken das man, wenn man den Umweg über eine weitere Schnittstelle sparen könnte. In der Tat ist es so das wenn man den Rechner richtig konfiguriert hat (limits.conf usw.) auch Alsa im RT Modus betreiben kann... Aber nur solange man nur die Outs benutzt. Irgendwie scheint Alsa alleine es nicht im RT ohne Knackser auf die Reihe bekommen die Ins und Outs im Duplex Modus zu betreiben. Hierzu benötigt man dann doch jackd.
 
ALSA, ffado (OSS (=veraltet) liefert den passenden Treiber und es kann immer nur ein Programm auf die Audio-Hardware zugreifen bzw. die I/O belegen. Siehe Bild.
Deshalb wurde u. a. jackd entwickelt um mehrere Programme gleichzeitig zu starten und zu routen, niedrige Latenzzeit, ... .
Wenn ich Renoise mit ALSA starte - was ich eher selten mache, daher 50/50 Wahrheit - funkt es hier recht gut, keine Knackser. Routing mach ich dann über hdspmixer. Aber ich kann dann eben nur Renoise starten, keine weiteren Audio Programme.
 
Seit langem ist bei ALSA der Mixer DMIX die Standardkonfiguration, d.h. es können ohne Probleme mehrere ALSA-Clients darauf ausgeben. Was Renoise da Spezielles macht, kann ich nicht sagen.
 
khz schrieb:
ALSA, ffado (OSS (=veraltet) liefert den passenden Treiber und es kann immer nur ein Programm auf die Audio-Hardware zugreifen bzw. die I/O belegen. Siehe Bild.
Deshalb wurde u. a. jackd entwickelt um mehrere Programme gleichzeitig zu starten und zu routen, niedrige Latenzzeit, ... .
Wenn ich Renoise mit ALSA starte - was ich eher selten mache, daher 50/50 Wahrheit - funkt es hier recht gut, keine Knackser. Routing mach ich dann über hdspmixer. Aber ich kann dann eben nur Renoise starten, keine weiteren Audio Programme.

Renoise ist schon OK, oder? Insbesondere der Sampler und die vielen versteckten Möglichkeiten. Ich finde Renoise immernoch das Beste unter Linux. Hast du dir mal SuperCollider angeschaut? Ich will dich nicht überfordern, SuperCollider benötigt einiges an einarbeitungszeit und man muss schon ein wenig SM veranlagt sein wenn man so Musik machen will, aber meiner Meinung nach ist es die ultimative Modular Lösung weil man durch algoriythmische Komposition schier unendliche und ungeahnte Möglichkeiten hat. Das entspricht dann nicht mehr den Konventionellem Wege Musik auf einer Timebase zu Arrangieren, sondern es geht mehr über Random Genaratoren und Kontrollstrukturen die im Falle des Falles etwas Neues erzeugen...

Ich wollte ja eigentlich mehr mit PD machen weil es hier in Berlin 2 mal im Monat ein PD User Treffen gibt, zu dem ich bisher noch nicht gegangen bin. Ich habe imer Angst vor sozialen Kontakten oder Blamage keine Ahnung...

Egal.. Dank Linux habe ich mehr über Musik gelernt als jeh zuvor, vor allen Dingen das zum Schluss alles nur Mathematik ist, also die Abildung der Realtität über Zahlenwerte die entweder geloopt werden oder mit der Hilfe von Algorithmen moduliert. Analog ist zum Schluss einfach nur noch dafür gut geeignet, wenn man absolut keine Lust auf Programmierung hat und einfach nur so drauf los schrauben will... Im nüchternen Kopf gecodet und wenn man was getrunken oder gekifft hat dann greift man lieber zum analogen Synth weil es schneller geht.
 
Dank Linux habe ich mehr über Musik gelernt als jeh zuvor
Pft..
Dank Linux habe ich soo viele Sachen gelernt, von denen ich vorher garnichts wissen wollte...

Aber ehrlich:
Ich halte das immer mehr für ein akademisches Abenteuer.
Alsa und udev machen hier immer noch, was sie wollen
und das bezieht sich nicht nur auf die USB-Stöpsel.
Ich habe 2 PCI-Soundkarten und einen HDMI-Soundausgang,
da wird bei jedem Hochfahren prinzipiell gewürfelt.
Ich hab überhaupt keinen Bock mehr, nur rauszukriegen, wie diese Modulparaden,
die schon für eine einzige Soundkarte anfallen heißen, um dann irgendwelche Skripte zu schreiben,
die beim Hochfahren die geladenen Treiber erstmal wieder rausschmeißen und sie dann
einzeln wieder laden.
Der alsamixer läßt sich garnicht mehr aufrufen, wenn die 1. Soundkarte
keine Mixerfeatures hat, wie es bei dem HDMI-Audioausgang der Grafikkarte der Fall ist.
Ich habe jetzt auf Dunst pulseaudio und den gnome-mixer installiert.
Seitdem läßt sich über den Mixer die Karte, die tönen soll, auswählen.
Ich habe keinen Blassen, was diese einzelnen Programmfetzen eigentlich machen
und prinzipiell überhaupt keinen Bock, den Entwicklern auf ihren verschlungenen Denkpfaden
zu folgen, nur um eine bestimmte Soundkarte zum Tönen zu bringen.
Von meinen drei Midischnittstellen werden nur zwei erkannt,
die erscheinen unter /dev als midi3, bzw. dmmidi3 und midi4, bzw. dmmidi4.
Die MIDI-Schnittstelle im Gameport der CMI-Karte sieht Linux nicht.
Desweiteren habe ich gemerkt, daß das Floppy Laufwerk nicht mehr funktioniert.
Darüber rette ich ja normalerweise meine Samples für den X7000 vom Atari
auf den PC auf 720Kb-formatierten Disketten rüber.
Naja, wenigstens habe ich jetzt Sound für Youtube, Tagesschau usw.
Ich nehms jetzt halt, wie es ist: Zum Surfen und für Email.
 
Wenn Du jackd mit Qjackctl startest, kannst Du Soundkartenbezeichner nehmen. Mit etwas Glück haben die Karten einen sprechenden Namen, der sich nicht ändert. Dann kann Dir die Reihenfolge, wie das Betriebssystem die Treiber lädt, egal sein.

Ob solche Konstellationen mit mehreren PCI-Karten unter Windows problemärmer sind, kann ich nicht sagen. Und so toll ist die Windows-eigene Soundarchitektur für Musikerzwecke auch nicht, denn sonst gäbe es dieses ASIO-Treiberzeugs nicht, wo die Leute mit unterschiedlichen Treiberversionen unterschiedliche Ergebnisse bekommen.

Der Computer, sein Betriebssystem und die Anwendungen haben sich zu einem Instrument entwickelt, das man erlernen muss. Der Traum von einem fast unbegrenzt variablen Gerät, das sich aber von selbst einrichtet und intuitiv genutzt werden kann, wird wohl noch lange weitergeträumt werden müssen.
 
Von Windows rede ich ja garnicht.
Ein Instrument ist etwas, auf dem ich spiele oder dem ich zumindest
so, wie es sich mir präsentiert, Klänge entlocken kann.
Instrumente zu bauen, sehe ich immernoch als einen anderen Job.

Ähmm... Hab ich doch von Anfang an gesagt?
Das heißt, ich brauche garkein Alsa?
Ich war bis jetzt davon ausgegangen, daß alles darauf aufbaut?
 
Das sagt "Aplay -l":
Code:
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ICH7 [Intel ICH7], Gerät 0: Intel ICH [Intel ICH7]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: ICH7 [Intel ICH7], Gerät 4: Intel ICH - IEC958 [Intel ICH7 - IEC958]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 3: Generic [HD-Audio Generic], Gerät 3: HDMI 0 [HDMI 0]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 4: CMI8738 [C-Media CMI8738], Gerät 0: CMI8738 [C-Media PCI DAC/ADC]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 4: CMI8738 [C-Media CMI8738], Gerät 1: CMI8738 [C-Media PCI 2nd DAC]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 4: CMI8738 [C-Media CMI8738], Gerät 2: CMI8738 [C-Media PCI IEC958]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
ICH7 ist die Karte, auf der auch die Ausgabe erfolgen soll.
Hier ist sie also zufällig auch als Karte 0 verzeichnet.
Heißt die nun "ICH7" oder "Intel ICH7" oder "Intel ICH7 - IEC958"
jackd2 und qjackcontrol sind installiert.
jackd beschwert sich noch beim Starten:
Code:
Cannot lock down 82274202 byte memory area (Nicht genügend Hauptspeicher verfügbar)
...scheint aber trotzdem zu laufen.
 
Hey, ich Danke Dir wirklich.
Mal gucken, ob ich mit dem Zinober fertig werde.
Die MIDI-Schnittstelle auf der CMI-Karte sehe ich immer noch nicht.
Wahrscheinlich fehlt da noch das Modul.
thx

p.s.
Der ganze Multiuserscheiß nervt!
 
Die "cannot lock"-Meldung kommt vermutlich, weil Deine UserID nicht in der Gruppe audio ist:

sudo usermod -a -G audio DeineUserID

sollte helfen.

Die nötigen Realtime-Einstellungen in /etc/security/limits.conf oder /etc/security/limits.d/audio.conf machen die Distributionen normalerweise automatisch beim Installieren des jack-Pakets. Da muss sowas drinstehen wie

Code:
@audio - rtprio 99
@audio - memlock unlimited

Nach den Änderungen musst Du Dich neu anmelden. Ein Reboot ist nicht nötig.
 
Ja, dein user muss in der Gruppe "audio" sein. Als user
Code:
~ $ groups
und die
Code:
/etc/security/limits.conf
soll den Eintrag wie bluebell gepostet hat haben.
Wegen Reihenfolge wurden ja schon einiges gesagt. Wie ich es hier dauerhaft gleich beim booten eingestellt habe habe ich hier geschrieben. Hängt manchmal von der aktualität der Distribution und/oder von den installierten Programmen ab.
Du kannst jederzeit in qjackctl (Settings/Einstellungen) dein Interface (klick da auf [>]) auswählen (was in der tat mir auch zu nervig wäre es nach jedem reboot zu kontrolieren/anzupassen).
setup.png

JACK/Grafische_Konfiguration

Für was ALSA(treiber)/etc. ist siehe Bild hier.
Evt. zu allgemein oder so aber WIKI *buntu: soundkarten.
 
Et pfundst!
Habe mich zur Gruppe audio gesellt
und die Fehlermeldung ist weg.
Dafür hat sich aber wieder die Reihenfolge der Karten geändert:
Code:
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 2: ICH7 [Intel ICH7], Gerät 0: Intel ICH [Intel ICH7]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 2: ICH7 [Intel ICH7], Gerät 4: Intel ICH - IEC958 [Intel ICH7 - IEC958]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 3: Generic [HD-Audio Generic], Gerät 3: HDMI 0 [HDMI 0]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 4: CMI8738 [C-Media CMI8738], Gerät 0: CMI8738 [C-Media PCI DAC/ADC]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 4: CMI8738 [C-Media CMI8738], Gerät 1: CMI8738 [C-Media PCI 2nd DAC]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 4: CMI8738 [C-Media CMI8738], Gerät 2: CMI8738 [C-Media PCI IEC958]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Unter dem erwähnten [>] läßt sich dann aber die Jack-Karte auswählen.
0 und 1 sind diesmal die USB-MIDIs
Aber ehrlich:
Den, der auf die Idee gekommen ist, nen USB-MIDI Replikator als Audiodevice
zu klassifizieren, sollte man hauen, bis er lacht!

Ich kann jetzt jedenfalls die ICH7 mit Jack verbinden und das freut mich.
Habt vielen Dank.
 
tholan schrieb:
Ich kann jetzt jedenfalls die ICH7 mit Jack verbinden und das freut mich.
\o/ yes - und die anderen Sachen werden auch noch gehn.
dbra schrieb:
Ist die Realtime-Option in den Einstellungen abgehakt?
Und dafür musst du in der
Code:
nano /etc/security/limits.conf
Code:
    @audio - rtprio 99
    @audio - memlock unlimited
eintragen (siehe Post von bluebell)

Die Reihenfolge kann man festlegen (ok, externes USB Dinge macht auch hier Verwirrung - wenn z. B. mein Sequencer eingeschaltet ist beim booten hab ich diesen als SC, und nur diesen %/ - deswegen lass ich dieses beim booten aus). Linux (und grade noch mit Audiobereich) ist Wildwuchs und auch manchmal mit Nerven/Zeit/Pioniergeist/... zu verstehen. ;-)
Keine Panik >> 42
Ja ich sehe auch z. B. den HW Sequencer unter alsamixer bzw qjackctl, für was auch immer. ^^
Du kannst
Code:
alsamixer -c1
0,1,2,3,... Reihenfolge der Soundcards aufrufen bzw. im alsamixer F6: Soundkarte auswählen
 


News

Zurück
Oben