ALSA: Inbetriebnahme einer USB-Audio-Class-Soundkarte oder wie binde ich in Linux den DJ-Controller Pioneer DDJ-ERGO-V ein?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Servus ihr Linux-Fachleute,

    als notorischer Linux-Dauernoob möchte ich meinen DJ-Controller Pioneer DDJ-ERGO-V unter Linux einrichten, um ihn auf meinem Laptop und anschließend eventuell sogar auf einem RPi 4B (4GB) mit Mixxx zu betreiben. Das Ding läuft zwar plug+play unter Windows mit der Software Virtual DJ, aber ich will jetzt von Windows komplett weg. Bitte darüber keine Diskussion, es ist einfach so :)

    Solche DJ-Konsolen sind prinzipiell ein USB-Gerät mit Hub(?), an dem ein HID-Gerät, sozusagen eine aufgemotzte Tastatur (allerdings als MIDI-Gerät) und eine USB-Soundkarte mit zwei Stereo-Ausgängen (Masterausgang und Kopfhörerausgang zum Vorhören) und einem Stereoeingang (für Mikrofon oder externe Audioquelle) hängen. Die eigentliche Steuerung und Berechnung der Audiodaten erfolgt komplett in der DJ-Software.

    Teil 1, die Umsetzung (Mapping) der einzelnen Bedienelemente über MIDI dürfte in Linux out-of-the-box funktionieren. Unter Linux (Mint) wird auf meinem Laptop beim Anstecken des DDJ-ERGO-V an USB die Gerätedatei /dev/midi1 angelegt. Mit cat /dev/midi1 sieht man die Datenbytes, die von der DJ-Konsole an den PC gesendet werden. Ebenso ist ein schreibender Zugriff problemlos möglich. Die für's Mapping erforderlichen Werte sind in der Bedienungsanleitung ab Seite 25, "Liste der MIDI-Meldungen" aufgeführt. Für erste Tests habe ich ganz einfache C++-Programme erstellt und die waren prinzipiell erfolgreich.

    Mit Teil 2, der Audioanbindung habe ich Probleme:

    Die Soundeinheit des DDJ-ERGO-V wird unter Linux zwar als USB-Soundkarte nach USB-Audio-Class 1(?) für den Treiber snd-usb-audio erkannt, aber natürlich kommt kein Ton heraus, denn sonst wär's ja einfach.

    lsusb
    Code
    Bus 002 Device 003: ID 04f2:b1d6 Chicony Electronics Co., Ltd CNF9055 Toshiba Webcam
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 003: ID 08e4:0161 Pioneer Corp.
    Bus 003 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

    An USB-Port/Bus 003 hängt also der DDJ-ERGO-V als Device 003

    lsusb -t

    Es handelt sich also um ein USB1.1-Gerät mit einer Übertragungsrate von 12Mbit, bestehend aus 5 Einträgen "snd-usb-audio" und einem "Human Interface Device" für die MIDI-Steuerung.

    aplay -l
    Code
    Karte 0: SB [HDA ATI SB], Gerät 0: ALC259 Analog [ALC259 Analog]
    Sub-Geräte: 1/1
    Sub-Gerät #0: subdevice #0
    Karte 1: HDMI [HDA ATI HDMI], Gerät 3: HDMI 0 [HDMI 0]
    Sub-Geräte: 1/1
    Sub-Gerät #0: subdevice #0
    Karte 2: DDJERGO [PIONEER DDJ-ERGO], Gerät 0: USB Audio [USB Audio]
    Sub-Geräte: 1/1
    Sub-Gerät #0: subdevice #0

    Auch von ALSA wird "die Soundkarte" erkannt und offenbar als USB-Audio-Class-konformes Gerät eingebunden.

    Und hier noch die verbose-Ausgabe von lsusb -d 08e4: -v

    für die, die es interessiert :)

    Dann hat es mich interessiert, wie der DDJ-ERGO-V im Inneren aufgebaut ist und habe ihn geöffnet, in der Hoffnung, auf einen linus-bekannten Chipsatz zu stoßen. Aber als USB-Baustein wurde der (mittlerweile von TI als deprecated klassifizierte) Baustein TUSB3200A verwendet. eigentlich ein cooles Teil mit integriertem 8052-µC. Daran hängen zwei DAC-Wandler AK4387 (Audioausgänge) und ein ADC-Wandler AK5358 (Audioeingang) und dahinter jeweils entsprechende Audio-OpAmps vom Typ RC4580:

    bzw. hier als Foto:


    und jetzt die Frage: Wie bindet man das in Linux ein? Die Anzahl der Audiokanäle wird nicht (richtig) erkannt.

    Momentan denke ich, dass es vielleicht funzt, wenn man die ALSA-Steuerdatei /etc/asound.conf bzw. ~/.asoundrc erstellt.

    Mit aplay fand ich heraus, dass die DDJ-ERGO-V-Soundkarte nativ eine WAV mit signed24bit-PWM verarbeitet. Allerdings wird die Anzahl der Audiokanäle nicht richtig erkannt

    aplay-Aufrufe
    Code
    $ aplay -D hw:2,0 /media/peter/Musik/01_GloanaBauer_16bit.wav # Originaldatei
    Wiedergabe: WAVE '/media/peter/Musik/01_GloanaBauer_16bit.wav' : Signed 16 bit Little Endian, Rate: 44100 Hz, stereo
    aplay: set_params:1233: Sample-Format nicht unterstützt
    Available formats:
    - S24_3LE
    Code
    $ aplay -D hw:2,0 -c 2 /media/peter/Musik/03_gloanaBauer_signed24bit_PCM.wav # Mit audacity angepasste Audiodatei
    Wiedergabe: WAVE '/media/peter/Musik/03_gloanaBauer_signed24bit_PCM.wav' : Signed 24 bit Little Endian in 3bytes, Rate: 44100 Hz, stereo
    aplay: set_params:1239: Kanalanzahl nicht unterstützt

    hierbei ist es auch egal, wie viele Kanäle man mit dem Parameter -c <Kanalanzahl> angibt. Ich habe es von 0 bis 10 durchprobiert.


    Hier noch ein paar Dateien

  • ALSA: Inbetriebnahme einer USB-Audio-Class-Soundkarte oder wie binde ich in Linux den DJ-Controller Pioneer DDJ-ERGO-V ein?? Schau mal ob du hier fündig wirst!

  • Was sagt der alsamixer zu der Soundkarte? Mit alsamixer -D  kannst du den zu kontrollierenden Hardware Device mit angeben.

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

  • Wenn man im alsamixer mit F6 die entsprechende Soundkarte auswählt, wird kein einziger Mixerregler angezeigt. Das vergaß ich zu schreiben.

    Heute abend will ich außerdem noch die Ausgabe von aplay -L und arecord -L nachreichen. Dort werden nämlich etliche Untergeräte angezeigt für Stereo, Surround5.1, Surround 7.1 etc. Wobei letztere eigentlich nicht sein können, da der DJ-Controller nur vier Mono-Audioausgänge hat.

  • bei sudo alsamixer der selbe Effekt? Dann kann man schon mal ein Berechtigungsproblem weitgehendst ausschließen. Evtl. alsa-test ausführen, das Ergebnis landet dann, meine im tmp Verzeichnis.

    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

  • alsamixer -D hw:2 liefert mit und ohne sudo

    --> also kein Rechteproblem.

    alsa-test gibt es auf meinem PC nicht, auch nicht nach sudo apt install alsa-utils: alsa-utils ist schon die neueste Version (1.1.0-0ubuntu5).

    Mit speaker-test -c 2 -Dhw:2 erhalte ich folgende Ausgabe:

    Code: Ausgabe von speaker-test -c 2 -Dhw:2
    speaker-test 1.1.0
    
    Wiedergabe-Gerät ist hw:2
    Stream-Parameter sind 48000 Hz, S16_LE, 2 Kanäle
    Verwende 16 Oktaven rosa Rauschen
    Sample-Format nicht unterstützt: Das Argument ist ungültig
    Fehler beim Setzen der Hardware-Parameter: Das Argument ist ungültig

    ebenso bei speaker-test -c 2 -Dhw:2,0

    EDIT: Bei speaker-test wird die falsche PCM-Kodierung gesetzt: S16_LE, ich bräuchte jedoch S24_3LE. Siehe im erstern Beitrag im Spoiler "aplay-Aufrufe"

    Hier noch die versprochenen Ausgabelisten von aplay/arecord -L:

    aplay -L -D hw:2

    obwohl der Kommandozeilenparameter -Dhw:2,0 angegeben ist, kommt die gesamte Litanei:

    arecord -L -D hw:2

    für die Eingangskanäle:

    Mich wundert die Ausgabe der ganzen Surround-Geschichten wie surround71:CARD=DDJERGO,DEV=0.

    Mein Gefühl ist, dass vom Hersteller Pioneer auf dem EEPROM des DJ-Controllers für die USB-Enumeration ein Eintrag Standard USB-Audio-Class Device abgelegt wurde. Da unter Windows ja grundsätzlich spezifische Treiber mitgeliefert werden, tritt dann dort ein mögliches Kompatibilitätsproblem offenbar nicht auf. Aber für Linux habe ich keinen Treiber. Auf der mitgelieferten CD befinden sich nur welche für Windows XP/Vista/7 in Form einer Installations-EXE und (angeblich) welche für Mac OS X

  • EDIT: Ergänzung zur onboard-Soundkarte meines Laptops zum Vergleich:

    lspci  liefert für die onboard-Soundkarten Karte 0: SB [HDA ATI SB], Gerät 0: ALC259 Analog [ALC259 Analog] und Karte 1: HDMI [HDA ATI HDMI], Gerät 3: HDMI 0 [HDMI 0]:

    Code
    00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40)
        Subsystem: Toshiba America Info Systems SBx00 Azalia (Intel HDA)
        Flags: bus master, slow devsel, latency 32, IRQ 16
        Memory at ff700000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

    und

    Code
    01:05.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] RS880 HDMI Audio [Radeon HD 4200 Series]
        Subsystem: Toshiba America Info Systems RS880 HDMI Audio [Radeon HD 4200 Series]
        Flags: bus master, fast devsel, latency 0, IRQ 19
        Memory at ff510000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

    wobei ich dies nicht eindeutig auf "Karte 0: SB" bzw. "Karte 1: HDMI" zuordnen kann:

    EDIT: steht doch in der ersten Zeile dabei. Wer lesen kann, ist im Vorteil! :wallbash:

    aplay -l
    Code
    **** Liste der Hardware-Geräte (PLAYBACK) ****
    Karte 0: SB [HDA ATI SB], Gerät 0: ALC259 Analog [ALC259 Analog]
    Sub-Geräte: 1/1
    Sub-Gerät #0: subdevice #0
    Karte 1: HDMI [HDA ATI HDMI], Gerät 3: HDMI 0 [HDMI 0]
    Sub-Geräte: 1/1
    Sub-Gerät #0: subdevice #0
    Karte 2: DDJERGO [PIONEER DDJ-ERGO], Gerät 0: USB Audio [USB Audio]
    Sub-Geräte: 1/1
    Sub-Gerät #0: subdevice #0
  • Moin, in Ubuntu Bionic zu finden => /usr/sbin/alsa-info ==> /tmp/alsa-info.txt.vTHg0EvN9R

    Auszug aus dem durch alsa-info erzeugten alsa-info.txt

    alsa-info.txt

    upload=true&script=true&cardinfo=

    !!################################

    !!ALSA Information Script v 0.4.64

    !!################################

    !!Script ran on: Tue Mar 3 06:46:26 UTC 2020


    !!Linux Distribution

    !!------------------

    Ubuntu 18.04.4 LTS \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS" NAME="Ubuntu" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.4 LTS" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-an…/privacy-policy" UBUNTU_CODENAME=bionic Ubuntu 18.04.3 LTS (Bionic Beaver)


    !!DMI Information

    !!---------------

    Manufacturer:

    Product Name:

    Product Version:

    Firmware Version:


    !!Kernel Information

    !!------------------

    Kernel release: 4.19.105-v8-28

    Operating System: GNU/Linux

    Architecture: aarch64

    Processor: aarch64

    SMP Enabled: Yes


    !!ALSA Version

    !!------------

    Driver version: k4.19.105-v8-28

    Library version: 1.1.3

    Utilities version: 1.1.3


    !!Loaded ALSA modules

    !!-------------------

    snd_bcm2835

    snd_bcm2835


    !!Sound Servers on this system

    !!----------------------------

    Pulseaudio:

    Installed - Yes (/usr/bin/pulseaudio)

    Running - Yes


    !!Soundcards recognised by ALSA

    !!-----------------------------

    0 [b1 ]: bcm2835_hdmi - bcm2835 HDMI 1

    bcm2835 HDMI 1

    1 [Headphones ]: bcm2835_headphonbcm2835 Headphones - bcm2835 Headphones

    bcm2835 Headphones


    !!PCI Soundcards installed in the system

    !!--------------------------------------


    !!Advanced information - PCI Vendor/Device/Subsystem ID's

    !!-------------------------------------------------------


    !!Modprobe options (Sound related)

    !!--------------------------------

    snd_pcsp: index=-2

    snd_usb_audio: index=-2

    snd_atiixp_modem: index=-2

    snd_intel8x0m: index=-2

    snd_via82xx_modem: index=-2

    snd_atiixp_modem: index=-2

    snd_intel8x0m: index=-2

    snd_via82xx_modem: index=-2

    snd_usb_audio: index=-2

    snd_usb_caiaq: index=-2

    snd_usb_ua101: index=-2

    snd_usb_us122l: index=-2

    snd_usb_usx2y: index=-2

    snd_cmipci: mpu_port=0x330 fm_port=0x388

    snd_pcsp: index=-2

    snd_usb_audio: index=-2

    snd_bcm2835: enable_headphones=1

    snd_bcm2835: enable_hdmi=1

    snd_bcm2835: enable_compat_alsa=0


    !!Loaded sound module options

    !!---------------------------

    !!Module: snd_bcm2835

    enable_compat_alsa : N

    enable_hdmi : Y

    enable_headphones : Y

    force_bulk : N

    !!Module: snd_bcm2835

    enable_compat_alsa : N

    enable_hdmi : Y

    enable_headphones : Y

    force_bulk : N


    !!ALSA Device nodes

    !!-----------------

    crw-rw----+ 1 root audio 116, 0 Jan 28 2018 /dev/snd/controlC0

    crw-rw----+ 1 root audio 116, 32 Jan 28 2018 /dev/snd/controlC1

    crw-rw----+ 1 root audio 116, 16 Jan 28 2018 /dev/snd/pcmC0D0p

    crw-rw----+ 1 root audio 116, 48 Jan 28 2018 /dev/snd/pcmC1D0p

    crw-rw----+ 1 root audio 116, 1 Jan 28 2018 /dev/snd/seq

    crw-rw----+ 1 root audio 116, 33 Jan 28 2018 /dev/snd/timer

    /dev/snd/by-path:

    total 0

    drwxr-xr-x 2 root root 60 Jan 28 2018 .

    drwxr-xr-x 3 root root 180 Jan 28 2018 ..

    lrwxrwxrwx 1 root root 12 Jan 28 2018 platform-soc:audio -> ../controlC0


    !!Aplay/Arecord output

    !!--------------------

    APLAY

    **** List of PLAYBACK Hardware Devices ****

    card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]

    Subdevices: 3/4

    Subdevice #0: subdevice #0

    Subdevice #1: subdevice #1

    Subdevice #2: subdevice #2

    Subdevice #3: subdevice #3

    card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]

    Subdevices: 4/4

    Subdevice #0: subdevice #0

    Subdevice #1: subdevice #1

    Subdevice #2: subdevice #2

    Subdevice #3: subdevice #3

    ARECORD

    **** List of CAPTURE Hardware Devices ****

    !!Amixer output

    !!-------------

    !!-------Mixer controls for card 0 [b1]

    Card hw:0 'b1'/'bcm2835 HDMI 1'

    Mixer name : 'Broadcom Mixer'

    Components : ''

    Controls : 2

    Simple ctrls : 1

    Simple mixer control 'HDMI',0

    Capabilities: pvolume pvolume-joined pswitch pswitch-joined

    Playback channels: Mono

    Limits: Playback -10239 - 400

    Mono: Playback 236 [98%] [2.36dB] [on]

    !!-------Mixer controls for card 1 [Headphones]

    Card hw:1 'Headphones'/'bcm2835 Headphones'

    Mixer name : 'Broadcom Mixer'

    Components : ''

    Controls : 2

    Simple ctrls : 1

    Simple mixer control 'Headphone',0

    Capabilities: pvolume pvolume-joined pswitch pswitch-joined

    Playback channels: Mono

    Limits: Playback -10239 - 400

    Mono: Playback 400 [100%] [4.00dB] [on]


    !!Alsactl output

    !!--------------

    --startcollapse--

    state.b1 {

    control.1 {

    iface MIXER

    name 'HDMI Playback Volume'

    value 236

    comment {

    access 'read write'

    type INTEGER

    count 1

    range '-10239 - 400'

    dbmin -9999999

    dbmax 400

    dbvalue.0 236

    }

    }

    control.2 {

    iface MIXER

    name 'HDMI Playback Switch'

    value true

    comment {

    access 'read write'

    type BOOLEAN

    count 1

    }

    }

    }

    state.Headphones {

    control.1 {

    iface MIXER

    name 'Headphone Playback Volume'

    value 400

    comment {

    access 'read write'

    type INTEGER

    count 1

    range '-10239 - 400'

    dbmin -9999999

    dbmax 400

    dbvalue.0 400

    }

    }

    control.2 {

    iface MIXER

    name 'Headphone Playback Switch'

    value true

    comment {

    access 'read write'

    type BOOLEAN

    count 1

    }

    }

    }

    --endcollapse--


    !!All Loaded Modules

    !!------------------

    Module

    hci_uart

    btbcm

    serdev

    bluetooth

    ecdh_generic

    fuse

    brcmfmac

    brcmutil

    joydev

    evdev

    cfg80211

    vc4

    rfkill

    drm_kms_helper

    cec

    snd_soc_core

    snd_compress

    snd_bcm2835

    bcm2835_codec

    snd_pcm_dmaengine

    snd_pcm

    bcm2835_v4l2

    snd_seq_midi

    v4l2_mem2mem

    syscopyarea

    snd_seq_midi_event

    sysfillrect

    v4l2_common

    bcm2835_mmal_vchiq

    snd_rawmidi

    v3d

    sysimgblt

    videobuf2_dma_contig

    videobuf2_vmalloc

    snd_seq

    fb_sys_fops

    videobuf2_memops

    gpu_sched

    videobuf2_v4l2

    videobuf2_common

    drm

    videodev

    snd_seq_device

    snd_timer

    media

    raspberrypi_hwmon

    snd

    drm_panel_orientation_quirks

    hwmon

    vc_sm_cma

    rpivid_mem

    uio_pdrv_genirq

    uio

    sch_fq_codel

    i2c_dev

    ip_tables

    x_tables

    ipv6

    crc_ccitt


    !!ALSA/HDA dmesg

    !!--------------

    [ 6.445908] bcm2835-codec bcm2835-codec: Loaded V4L2 isp

    [ 6.458097] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.

    [ 6.466723] bcm2835_audio soc:audio: card created with 4 channels


    Body-Count >= 2.2 Million ☠️-covid19-??@?

    ? + ?? >= 2.2 Million ☠️

    2002 | 2019+

    Freedom 4 ?? + ??

  • ich habe einen neuen Laptop (tuxedo BC1710), von daher sind die Ausgaben bezüglich der onboard-Komponenten zu den obigen Beiträgen leider nicht mehr konsistent.Aber auch mit dem relativ aktuellen Kernel 5.3.0-40-generic wird der DDJ-ERGO-V nicht richtig/vollständig erkannt.

    uname -a # und andere Systemausgaben

    uname -r

    Code
    5.3.0-40-generic

    uname-a

    Code
    Linux tuxedoBC1710 5.3.0-40-generic #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

    hostnamectl

    Code
       Static hostname: tuxedoBC1710
             Icon name: computer-laptop
               Chassis: laptop
            Machine ID: b9345171accd4bbdb68fb20877168a24
               Boot ID: 4e21bd885c76459bb09ea2fc8bb7d441
      Operating System: Ubuntu 18.04.4 LTS
                Kernel: Linux 5.3.0-40-generic
          Architecture: x86-64

    cat /etc/os-release

    Ich habe jetzt mal /usr/sbin/alsa-info jeweils mit und ohne DDJ-ERGO-V durchgeführt, siehe Dateianhänge.

    Interessant ist jedoch, dass zwar aplay -L für den DDJ-ERGO-V folgendes liefert, u.a. diverse surround-Einstellungen:

    Aber das GUI-Programm PulseAudio-Lautstärkeregler erkennt zumindest irgendwie die Gesamtanzahl der Einzelkanäle: PIONEER DDJ-ERGO Analog Surround 4.0 (zwei Stereokanäle für Master Out und Kopfhörer):


    Auch auf dem neuen PC mit Kernel 5.3 erkennt das Programm alsamixer keine Regler:


    Ich bin damit zu folgender Zwischenerkenntnis gelangt:

    Wenn der DDJ-ERGO-V auf einem Linux-PC nur mit dem allgemeinen ALSA-Treiber snd-usb-audio laufen soll, also ohne spezifischen Treiber, dann kann es nur über die ALSA-Steuerdatei /etc/asound.conf bzw. ~/.asoundrc funktionieren. Aber da muss ich mich in die Details einlesen. So "einfach" wie die Software-Lautstärkeregelung beim HifiBerry MiniAmp wird es nicht werden....

  • Neue Erkenntnisse (aber es funzt immer noch nicht)

    Bezüglich ALSA habe ich mich bei ubuntuusers.de in folgende Artikel eingelesen:

    https://wiki.ubuntuusers.de/Soundsystem/

    https://wiki.ubuntuusers.de/ALSA/

    https://wiki.ubuntuusers.de/.asoundrc/

    https://wiki.ubuntuusers.de/Sound_Problembehebung/

    sowie ferner direkt auf der ALSA-Projektseite unter alsa-project.org, aber das ist mehr als kryptisch:

    https://alsa-project.org/wiki/Asoundrc

    https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html

    Es hängt nach wie vor an der Kanalanzahl:

    cat /proc/asound/cards liefert

    Code: cat /proc/asound/cards
     0 [SB             ]: HDA-Intel - HDA ATI SB
                          HDA ATI SB at 0xff700000 irq 16
     1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                          HDA ATI HDMI at 0xff510000 irq 19
     2 [DDJERGO        ]: USB-Audio - PIONEER DDJ-ERGO
                          Pioneer PIONEER DDJ-ERGO at usb-0000:00:12.0-2, full speed

    Die Soundkarte wird also als Gerät 2 erkannt und kann in ALSA über den Hardwarenamen hw:2,0 oder nur hw:2 angesprochen werden.

    Zudem lese ich es aus den diversen Links oben so heraus, dass wenn lsusb -t folgendes (an Bus 3.Port 1) liefert,

    das USB-Audiogerät im Pioneer DDJ-ERGO-V wirklich als USB-Soundkarte nach dem Standard USB-Audio-Class erkannt und eingebunden wird. Ein spezieller (proprietärer) Treiber sollte nicht erforderlich sein. Bitte korrigieren, falls ich mich an dieser Stelle irren sollte. Dafür spricht auch, dass für MAC-OS (ebenfalls ein unixoides Betriebssystem) keine Treiber für dieses Gerät geliefert werden müssen.

    Allerdings liefert die Suche nach Ausgaben zu den Audiokanälen über lsusb -d 08e4: -v | grep han folgende Ausgabe mit der bisher von mir nicht beachteten Fehlermeldung:

    Code
    Couldn't open device, some information will be missing
            bNrChannels             4
            wChannelConfig     0x0000
            iChannelNames           7 
            bNrChannels             2
            wChannelConfig     0x0000
            iChannelNames           5 
            bNrChannels             4
            bNrChannels             2

    Ich habe die ~/.asoundrc gemäß dem Beispiel Kanal-Splitting auf ubuntuusers.de auf eine Vierkanal-Karte angepasst, siehe Dateianhang in diesem Beitrag.

    Hier noch die Ergebnisse diverser aplay-Kommandos:

    aplay-Ergebnisse

    Auf der Standardsoundkarte des Laptops (hw:0):

    aplay /usr/share/sounds/alsa/Front_Center.wav

    Spielt auf der Soundkarte des Laptops die Datei erfolgreich ab, Dauer ca. 3 Sekunden

    Wiedergabe: WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate: 48000 Hz, mono

    aplay -Dhw:0 /usr/share/sounds/alsa/Front_Center.wav

    Fehlermeldung:

    Wiedergabe: WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate: 48000 Hz, mono

    aplay: set_params:1239: Kanalanzahl nicht unterstützt


    Jetzt auf der USB-Soundkarte des Pioneer DDJ-ERGO-V:

    aplay -Dhw:2 /usr/share/sounds/alsa/Front_Center.wav

    Fehlermeldung:

    Wiedergabe: WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate: 48000 Hz, mono

    aplay: set_params:1233: Sample-Format nicht unterstützt

    Available formats:

    - S24_3LE

    Also stattdessen eine Datei im gewünschten Audioformat S24_3LE:

    aplay -Dhw:2 /media/peter/Musik/03_gloanaBauer_signed24bit_PCM.wav

    Fehlermeldung:

    Wiedergabe: WAVE '/media/peter/Musik/03_gloanaBauer_signed24bit_PCM.wav' : Signed 24 bit Little Endian in 3bytes, Rate: 44100 Hz, stereo

    aplay: set_params:1239: Kanalanzahl nicht unterstützt

    --> Da war wieder mein Problem...

    Über die ALSA-Konfiguration mit der Konfigurationsdatei .asoundr im Anhang passiert folgendes:

    aplay -Dstereo1 /media/peter/Musik/03_gloanaBauer_signed24bit_PCM.wav

    keine Fehlermeldung, aber trotzdem kein Ton!

    Wiedergabe: WAVE '/media/peter/Musik/03_gloanaBauer_signed24bit_PCM.wav' : Signed 24 bit Little Endian in 3bytes, Rate: 44100 Hz, stereo

    aplay läuft solange, wie die Audiodatei dauert, es fehlt (Achtung: Unwort!) nur noch der Ton... ;(

    Über die ALSA-Konfiguration wird auch eine im "falschen" Audioformat vorliegende Datei abgespielt:

    aplay -Dstereo1 /usr/share/sounds/alsa/Front_Center.wav

    keine Fehlermeldung, aber ebenfalls kein Ton!

    Wiedergabe: WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate: 48000 Hz, mono

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!