LINUX.ORG.RU

Arturia MiniFuse 1 + Linux = Need Help!

 , ,


0

1

Итак, приобрел звуковую карту Arturia MiniFuse 1. Карты Arturia, в отличие от Focusrite, тут как-то обсуждаются мало, хотя они тоже очень популярны. Пусть эта тема будет обсуждением проблем с Arturia.

Первая проблема, которую надо решить сейчас: эта звуковая карта при работе в Linux, не позволяет выставить частоту дискретизации выше 48000 гц. 44100 и 48000 работает нормально. В списке поддерживаемых частот, есть только эти две.

Что пока удалось заметить. В Windows, если не устанавливая драйвверов воткнуть эту карту, то же самое. Если установить MiniFuse Control Center, он ставит ASIO драйвер, и после этого в Windows начинают работать частоты до 192000 даже в микшере Windows.

То есть гипотетически, со стандартным драйвером usb audio она репортит о поддержке только 44100 и 48000.

Репортит нормальный ряд частот дискретизации.

В интернете не нагугливается пока ничего, вообще ничего!

Может у кого-то есть такая карта, или другая от Arturia?

Может, кто-то сталкивался с такой проблемой у других карт? С чего начать, куда копать? Какие будут идеи?

БАГРЕПОРТ НАЙДЕН

https://github.com/alsa-project/alsa-ucm-conf/issues/313

https://github.com/alsa-project/alsa-lib/issues/388

РЕШЕНО

Подъехала версия pipewire 1.4.1 и alsa-card-profiles 1.4.1. С этими версиями пакетов, все нормально с дефолтным профилем!

★★★★

Последнее исправление: James_Holden (всего исправлений: 4)

Вот что написано в /proc/asound по этой карте

ARTURIA MiniFuse 1 at usb-0000:00:1a.0-1.2.2, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 4
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR FC LFE
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 1
    Implicit Feedback Mode: No
  Interface 1
    Altset 2
    Format: S16_LE
    Channels: 4
    Endpoint: 0x01 (1 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 16
    Channel map: FL FR FC LFE
    Sync Endpoint: 0x81 (1 IN)
    Sync EP Interface: 1
    Sync EP Altset: 2
    Implicit Feedback Mode: No

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S32_LE
    Channels: 4
    Endpoint: 0x82 (2 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR FC LFE

James_Holden ★★★★
() автор топика

Продолжаю препарировать пациента!

Итак: отключил pipewire, пытаюсь выводит в чистую alsa!

Плееры qmmp и mpv упорно выводят поток 48000, проигрывая файл 96000! Да что ж такое.

Написал тестовую программу, которая через alsa api открывает карту и пытается установить частоту дискретизации, перебирая все возможные частоты, и выводя те, которые сработали!

В результате, карту Arturia удалось открыть на всех нужных частотах, вплоть до 192000 Гц!

Спрашивается, а почему плееры не могут этого делать? Тут все так любят голую ALSA, может кто-то в ней понимает, как это объяснить?

James_Holden ★★★★
() автор топика
Ответ на: комментарий от James_Holden

Плееры qmmp и mpv упорно выводят поток 48000, проигрывая файл 96000! Да что ж такое.

А ffplay?
Слегка поискал на Гитхабе похожие проблемы частот у mpv, «починили» принудительной установкой в 48000.

dataman ★★★★★
()
Ответ на: комментарий от James_Holden

То есть, mpv принудительно выводит 48000?

Вот похожее (почти три года назад): https://github.com/smplayer-dev/smplayer/issues/420, хоть и для Windows.
В конце есть ссылки на незакрытые репорты mpv.

dataman ★★★★★
()
Ответ на: комментарий от dataman

Короче, Ardour в alsa режиме работает нормально, выставляет любую частоту дискретизации на вход и на выход.

Что доказывает, что alsa часть работает корректно.

Тогда вопрос сводится к тому, почему pipewire не хочет переключать ее выше 48 кгц.

Со встройкой тут же все переключается без проблем в pipewire.

James_Holden ★★★★
() автор топика

Ну в целом ситуация прояснилась. Виной всему, по видимому, кривые профили из пакета alsa-ucm-confs.

Там есть профиль под minifuse1, который и подхватывался по умолчанию, и почему-то этот профиль заставляет все ресемплировать в 48000 перед выводом в звуковую карту (НЕ зависимо от частоты сервера pipewire!!).

Если переключиться на профиль Pro-Audio, то все начинает работать нормально - для карты врубается частота дискретизации сервера pipewire.

Вот только механизм, причина того что именно не так - не понятна

James_Holden ★★★★
() автор топика
Последнее исправление: James_Holden (всего исправлений: 1)

Я бы всё-таки взял карточку с 4-мя входами хотя бы. Почему? У тебя будет аппаратный микшер, в который можно воткнуть выход со встройки и гнать ютуб/игры и прочее кино через встройку, а внешнюю карточку юзать для звукового софта параллельно хоть с голой алсой, хоть с джеком.

kott ★★★★★
()
Ответ на: комментарий от sadko4u

Итог дня. Под виндой все нормально. Под голой alsa все нормально. Под pipewire с профилем pro audio все нормально.

Под pipewire с профилем по умолчанию (alsa UCM для именно этой карты) принудительно все ресемплится в 48000. Пишут

For configurations using split macros, the default rate is hardcoded to 48kHz in the alsa-lib direct plugins

Но я еще не разобрался, какое место в коде alsa-lib тут имелось в виду.

James_Holden ★★★★
() автор топика