Chienomi

MAudio M-Track DuoはLinuxで少し問題あり

Live With Linux::hardware

TL;DR in ENG: M-Track Duo uses Texas Instruments PCM2900C Chip, but no profile both sink and source avilable.

M-Track DuoはMAudioの6000円ほどの激安のオーディオインターフェースである。 安いながらも品質はよく、機能性・音質ともに優れている。

USBオーディオクラスデバイスとして動作するため、Linuxでも動作するのだが、少し問題がある。

入力と出力が共存できない

pacmd listすると

カード #0
        名前: alsa_card.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00
        ドライバー: module-alsa-card.c
        モジュール: 6
        プロパティ:
                alsa.card = "2"
                alsa.card_name = "USB AUDIO  CODEC"
                alsa.long_card_name = "BurrBrown from Texas Instruments USB AUDIO  CODEC at usb-0000:00:14.0-14.2, ful"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:00:14.0-usb-0:14.2:1.0"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14.2/1-14.2:1.0/sound/card2"
                udev.id = "usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00"
                device.bus = "usb"
                device.vendor.id = "08bb"
                device.vendor.name = "Texas Instruments"
                device.product.id = "29c0"
                device.product.name = "PCM2900C Audio CODEC"
                device.serial = "BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC"
                device.string = "2"
                device.description = "PCM2900C Audio CODEC"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        プロフィール:
                input:analog-stereo: アナログステレオ 入力 (sinks: 0, sources: 1, priority: 65, available: はい)
                input:iec958-stereo: デジタルステレオ (IEC958) 入力 (sinks: 0, sources: 1, priority: 55, available: はい)
                output:analog-stereo: アナログステレオ 出力 (sinks: 1, sources: 0, priority: 6500, available: はい)
                output:iec958-stereo: デジタルステレオ (IEC958) 出力 (sinks: 1, sources: 0, priority: 5500, available: はい)
                off: オフ (sinks: 0, sources: 0, priority: 0, available: はい)
        有効なプロフィール: output:analog-stereo
        ポート:
                analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown)
                iec958-stereo-input: Digital Input (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        プロファイルの一部: input:iec958-stereo
                analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        プロファイルの一部: output:analog-stereo
                iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        プロファイルの一部: output:iec958-stereo

というところで、プロファイルは4つあるが、sinks: 1sources: 1のどちらかで、入力と出力が排他の仕様だ。 デバイス自体はそんな仕様ではないので、ドライバの問題だと思うが、非常に残念。

なお、PCM2900Cが全てそうなっているとは限らないようだ。

2021-12-08追記

いつの間にかこの問題が解消され、デュプレックスで扱えるようになっていた。

    index: 1
    name: <alsa_card.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00>
    driver: <module-alsa-card.c>
    owner module: 7
    properties:
        alsa.card = "2"
        alsa.card_name = "USB AUDIO  CODEC"
        alsa.long_card_name = "BurrBrown from Texas Instruments USB AUDIO  CODEC at usb-0000:0e:00.3-1, full s"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:0e:00.3-usb-0:1:1.0"
        sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:0e:00.3/usb3/3-1/3-1:1.0/sound/card2"
        udev.id = "usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00"
        device.bus = "usb"
        device.vendor.id = "08bb"
        device.vendor.name = "Texas Instruments"
        device.product.id = "29c0"
        device.product.name = "PCM2900C Audio CODEC"
        device.serial = "BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC"
        device.string = "2"
        device.description = "PCM2900C Audio CODEC"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-usb"
    profiles:
        input:analog-stereo: アナログステレオ 入力 (priority 65, available: unknown)
        input:iec958-stereo: デジタルステレオ (IEC958) 入力 (priority 55, available: unknown)
        output:analog-stereo: アナログステレオ 出力 (priority 6500, available: unknown)
        output:analog-stereo+input:analog-stereo: アナログステレオデュプレックス (priority 6565, available: unknown)
        output:analog-stereo+input:iec958-stereo: アナログステレオ 出力 + デジタルステレオ (IEC958) 入力 (priority 6555, available: unknown)
        output:iec958-stereo: デジタルステレオ (IEC958) 出力 (priority 5500, available: unknown)
        output:iec958-stereo+input:analog-stereo: デジタルステレオ (IEC958) 出力 + アナログステレオ 入力 (priority 5565, available: unknown)
        output:iec958-stereo+input:iec958-stereo: デジタルステレオデュプレックス (IEC958) (priority 5555, available: unknown)
        off: オフ (priority 0, available: unknown)
    active profile: <output:analog-stereo+input:analog-stereo>
    sinks:
        alsa_output.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00.analog-stereo/#1: PCM2900C Audio CODEC アナログステレオ
    sources:
        alsa_output.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00.analog-stereo.monitor/#1: Monitor of PCM2900C Audio CODEC アナログステレオ
        alsa_input.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00.analog-stereo/#2: PCM2900C Audio CODEC アナログステレオ
    ports:
        analog-input: Analog Input (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                
        iec958-stereo-input: Digital Input (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
            properties:
                
        analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
            properties:
                
        iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
            properties:
                

環境は次のとおり

  • linux 5.10.79-1
  • alsa-firmware 1.2.4-2
  • alsa-card-profiles 1:0.3.40-1
  • pulseaudio 15.0-1
  • pipewire 1:0.3.40-1