ALSA-Soundkartenreihenfolge

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

  1. tholan

    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
     
  2. psicolor

    psicolor Busfahrer und Bademeister

    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.
     
  3. tholan

    tholan -

    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ß?
     
  4. psicolor

    psicolor Busfahrer und Bademeister

    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.
     
  5. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    Für ernsthaftes Audio unter Linux wird doch sowieso Jack benutzt. Und da läßt sich das Gerät auch via Namen ansprechen. Was sagt den "aplay -l" bei dir? Da wird der Kartenname direkt hinter der Nummer angezeigt.
     
  6. khz

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

    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 ;-)
     
  7. tholan

    tholan -

    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.
     
  8. mark

    mark -

    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...
     
  9. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    Ich möchte hier nochmal meinen Vorschlag wiederholen, die Devices per Namen anzusprechen.
     
  10. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    Meine .jacdrc sieht so aus:
    Code:
    /usr/bin/jackd -p128 -dalsa -dhw:USB -r44100 -p128 -n3 -s -Xseq
    Es wird das Gerät hw:USB angesprochen. So heißt meine Scarlett 2i2. Der Name wird über "aplay -l" oder über "cat /proc/asound/cards" in eckigen Klammern ausgegeben.
     
  11. tholan

    tholan -

    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.
     
  12. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    Jack kannst du auch ohne RT-Kernel benutzen. Ab den 3.0-Kernels sogar auch mit Realtime-Option (hast dann allerdings eine höhere Latenz als mit RT-Kernel). Frühere Kernel (non-RT) funzen nur ohne RT-Option.
     
  13. khz

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

    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.
     
  14. khz

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

  15. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    Wenn's nicht um RT-Audio geht, wird doch eh meist noch ein Sound-Daemon benutzt. Warum also jetzt mit den Card-Nummern rumfrickeln? Für "normale" Audio-Apps (zum Musikhören, Video gucken) sitzt bei mir Pulse-Audio dazwischen. Da läßt sich die Karte via Namen auswählen. Ebenso bei Jack für RT-Audio-Apps.

    Ich kann hier alles eingestöpselt lassen beim Hochfahren und hab keinerlei Probleme. Das mit den unterschiedlichen Nummerierungen hab ich hier auch (Fedora), ist aber kein Problem.
     
  16. khz

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

    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. ;-)
     
  17. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    Naja, Alsa ist nicht wirklich ein Soundserver, aber egal.

    Gibt's bei den Proggies, die direkt auf Alsa zugreifen, keine Möglichkeit, ihnen das Gerät mitzuteilen? Ach ja, nutze doch ein Prog, das Alsa direkt nutzt: MythTV. Auch da kann ich das Device angeben, was ich dann per Namen tue. Und alles funzt, wie es soll.
     
  18. khz

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

    Ja, ALSA ist kein Soundserver, dachte da an:
    [​IMG]
    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, ..
     
  19. Drumfix

    Drumfix aktiviert

  20. tholan

    tholan -

    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.
     
  21. dbra

    dbra Ehrenpräsident des Technofreunde Ohlenburg e.V.

    Einigermaßen brauchbar zum Jammen: seq24 und Non. Für Timeline-Sachen nehme ich Ardour 3. Hat aber, was MIDI angeht, noch einige Bugs.

    Hab bisher noch keinen gefunden, der mir 100% gefällt.
     
  22. khz

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

    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
     
  23. khz

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

    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
     
  24. bluebell

    bluebell aktiviert

    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.
     
  25. mark

    mark -

    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.
     
  26. khz

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

    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.
     
  27. bluebell

    bluebell aktiviert

    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.
     
  28. mark

    mark -

    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.
     
  29. tholan

    tholan -

    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.
     
  30. bluebell

    bluebell aktiviert

    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.
     

Diese Seite empfehlen