Professional audio (Русский) - ArchWiki

# Professional audio (Русский)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Ссылки по теме

- Sound system (Русский)
- envy24control

Состояние перевода: На этой странице представлен перевод статьи Professional audio. Дата последней синхронизации: 2017-12-10. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Современные Linux системы способны удовлетворить любые ваши (полу-)профессиональные аудио потребности. При использовании хорошего аппаратного обеспечения и надлежащей конфигурации можно добиться временной задержки от 5 мс до 1 мс.

## Начало работы

Некоторые основные профессиональные аудио приложения уже доступны из официального репозитория или репозитория сообщества Arch Linux. Для всего остального вы можете либо добавить бинарный репозиторий (смотрите ниже) либо, если вы предпочитаете компиляцию, поискать приложение в AUR. Никто не останавливает вас от непосредственной сборки новых выпусков, но, с тем же успехом, вы могли бы пользоваться LFS.

Начните с установки JACK.

Следующие пакеты являются хорошим базисом для построения полнофункциональной профессиональной аудио системы:

- qjackctl
- patchage
- ardour
- qtractor
- hydrogen
- musescore
- rosegarden
- qsynth
- jsampler
- lmms
- calf
- dssi
- guitarix

Другие пакеты, которые могут вам понадобиться, доступны через AUR:

- qsampler (also see LinuxSampler)
- mhwaveeditAUR
- carla
- rakarrack-gitAUR
- yoshimi
- wineasioAUR
- vst-bridge

Смотрите также List of applications#Audio systems, List of applications#Audio editors, и awesome-linuxaudio.

### Настройка системы

Могут оказаться полезными следующие часто используемые настройки системы:

- Добавление себя в группу audio.
- Добавление параметра ядра `threadirqs`.
- Установка ядра linux-rtAUR.
- Настройка регулятора cpufreq на performance (производительность).
- Добавление параметра noatime в fstab (смотрите Improving performance#Mount options).

Настройка в реальном времени в основном автоматизирована. Нет больше необходимости вносить правки в файлы вроде `/etc/security/limits.conf` для получения доступа реального времени. Тем не менее, если вам необходимо изменить настройки, смотрите `/etc/security/limits.d/99-audio.conf` и `/usr/lib/udev/rules.d/40-hpet-permissions.rules` (эти файлы поставляются с пакетами jackAUR или jack2). Дополнительно, вы можете захотеть увеличить максимально запрашиваемую частоту прерывания RTC (по умолчанию 64 Hz), запустив следующее при загрузке системы:

    echo 2048 > /sys/class/rtc/rtc0/max_user_freq
    echo 2048 > /proc/sys/dev/hpet/max-user-freq

По умолчанию, частота обращения к swap определяется параметром "swappiness" и имеет значение 60. При уменьшении этого числа до 10, система будет ждать гораздо дольше перед тем, как попытается начать запись на диск. Далее, параметр inotify следит за изменениями, вносимыми в файлы, и сообщает о них приложениям при соответствующих запросах. Когда ведётся работа с большим объёмом аудио данных, требуется множество контролёров, поэтому необходимо увеличить их число. Две этих настройки можно произвести в файле `/etc/sysctl.d/99-sysctl.conf`.

    vm.swappiness = 10
    fs.inotify.max_user_watches = 524288

Вы также можете захотеть увеличить таймер задержки PCI для звуковой карты формата PCI и повысить значение таймера задержки всех остальных PCI устройств (по умолчанию 64).

    $ setpci -v -d *:* latency_timer=b0
    $ setpci -v -s $SOUND_CARD_PCI_ID latency_timer=ff # eg. SOUND_CARD_PCI_ID=03:00.0 (see below)

Значение SOUND_CARD_PCI_ID может быть получено таким образом:

    $ lspci ¦ grep -i audio

    03:00.0 Multimedia audio controller: Creative Labs SB Audigy (rev 03)
    03:01.0 Multimedia audio controller: VIA Technologies Inc. VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller (rev 01)

#### Контрольный перечень

Представленные ниже пункты по большей части приведены для того, чтобы вы могли удостовериться, что у вас работающая мультимедиа система:

- Тщательно ли я настроил звук? Смотрите ALSA или OSS.

    $ speaker-test

- Включен ли я в группу audio? Смотрите ALSA или OSS.

    $ groups | grep audio

- Захвачено ли устройство с помощью PulseAudio, OSS или чего-то иного?

    $ lsof +c 0 /dev/snd/pcm* /dev/dsp*

-ИЛИ-

    $ fuser -fv /dev/snd/pcm* /dev/dsp*

- Работают ли PAM-security (подключаемые модули аутентификации) и режим реального времени?

Смотрите: Realtime for Users#PAM-enabled login (Обратите особое внимание, особенно если вы не запускали KDM, GDM или Slim.)

- Перезагрузился ли я после всех проделанных изменений?

### JACK

Главная задача здесь заключена в поиске лучшего соотношения размера буффера (buffer size) и частот (periods), которое может обеспечить ваше программное обеспечение. Разумнее всего начинать со значения Frames/Period = 256. Попробуйте использовать Periods/Buffer = 3 для встроенных и USB устройств. Наиболее распространённые значения: 256/3, 256/2, 128/3.

Кроме того, частота семплирования должна совпадать с частотой семплирования аппаратного обеспечения. Для проверки возможности поддержки вашим устройством частоты семплирования и битрейта:

    $ cat /proc/asound/card0/codec#0

Измените card0 и codec#0 на ваши значения. Следует обратить внимание на rates или VRA в Extended ID. Современные устройства чаще всего обладают частотой семплирования 48000 Hz. Чуть менее распространены значения 44100 Hz и 96000 Hz.

Почти всегда при записи или сведении с использованием внешних устройств требуется работа в режиме реального времени (realtime). Также, вам, возможно, захочется установить максимальный приоритет (как минимум в 10 раз меньше чем ограничения системы, определённые в файле `/etc/security/limits.d/99-audio.conf`; наивысший для самого устройства).

Запустите jack с опциями, которые вы получили ранее:

    $ /usr/bin/jackd -R -P89 -dalsa -dhw:0 -r48000 -p256 -n3

qjackctl, cadence и patchage могут быть использованы как графическая оболочка для контроля за статусом JACK и упрощением его настройки.

Примечание: Как только вы закончите конфигурацию JACK, проверьте ваши настройки, запустив различные аудио приложения. Я потратил целый день, разбираясь с проблемой работы JACK xrun с LMMS, что в конце концов оказалось проблемой с последним.

Дополнительная информация: Linux Magazine article

#### FireWire

Примечание: Дополнительные действия не требуются, так как большинство вещей было автоматизировано, особенно с введением нового стека FireWire[устаревшая ссылка 2020-08-04], отказом от HAL и большей концентрации на udev. Вам не требуется редактировать права устройств, но если вы столкнулись с проблемами и подозреваете, что причина кроется в этом, ознакомьтесь с `/lib/udev/rules.d/60-ffado.rules` и, если необходимо, создайте и разместите свои правки в `/etc/udev/rules.d/60-ffado.rules`.

JACK(2) построен против FFADO, вам только нужно установить его с пакетом libffado.

Для проверки возможности запустить FireWire вам следует:

- Убедиться, что загружены необходимые модули ядра:

    # modprobe firewire-core firewire-ohci

- Сможет ли ваш чипсет инициировать устройство?

http://www.ffado.org/?q=node/622

- Сможет ли ваш чипсет позволить устройству работать на полную мощность?

Мы не можем сказать это наверняка, особенно для устройств, построенных на базе Ricoh (проблема кроссплатформенности). В большинстве случаев устройство работает хорошо, но иногда можно столкнуться с забавными причудами. Если это случилось с вами, то вам можно только посочувствовать.

Примечание: Как указано Takashi Sakamoto в списке рассылки alsa-devel, если вы используете бэкенд FireWire с jackd, модуль DICE будет несовместим. Если вы увидели строку как эта:

    Warning (dice_eap.cpp)[1811] read: No routes found. Base 0x7, offset 0x4000

вам необходимо отключить модуль "snd_dice".

#### Jack Flash

Если после настройки jack вы обнаружили, что Flash больше не воспроизводит звук.

Чтобы дать возможность flash работать с jack, вам нужно установить пакет libflashsupport-jackAUR.

Вы также можете использовать более гибкий способ для настройки возможности программам Alsa (включая Flash) проигрывать звук при запущенном jack:

Во-первых, вы должны установить плагин jack для Alsa, установив пакет alsa-plugins. Активируйте его отредактировав (или создав) `/etc/asound.conf` (настройка для всей системы), чтобы в нём были следующие строки:

    # convert alsa API over jack API
    # use it with
    # % aplay foo.wav

    # use this as default
    pcm.!default {
        type plug
        slave { pcm "jack" }
    }

    ctl.mixer0 {
        type hw
        card 1
    }

    # pcm type jack
    pcm.jack {
        type jack
        playback_ports {
            0 system:playback_1
            1 system:playback_2
        }
        capture_ports {
            0 system:capture_1
            1 system:capture_2
        }
    }

Перезагрузка или иные действия не требуются. Просто отредактируйте конфигурационные файлы alsa, запустите jack.

#### Quickscan JACK script

Вероятно, большинство людей захотят работать с JACK в режиме реального времени; однако, для этого требуется крутить слишком много ручек и настроек.

Отличный способ проверить системную конфигурацию после настройки JACK'а — это запустить скрипт Quickscan.

https://github.com/raboof/realtimeconfigquickscan/blob/master/realTimeConfigQuickScan.pl

Вывод данного скрипта покажет вам узкие места(бутылочное горло) в системе и/или железе, и укажет места, где можно найти более подробную информацию по этому поводу.

#### Desktop Effects vs JACK

In addition to the factors listed under the System Configuration section above as well as the settings checked by realTimeConfigQuickScan.pl, it is also worth noting that desktop environments can cause xruns and hence JACK audio glitches, especially memory/process intensive ones and those desktops that utilize composited desktop effects. It is recommended you disable desktop effects when using JACK. You are likely to get the least xruns and best performance by running a lightweight desktop or just a window manager instead.

#### Общий пример

Общий пример настройки доступен по ссылке JACK Audio Connection Kit#A shell-based example setup.

## Режим реального времени ядра

С недавнего времени основное ядро Linux предоставляет хорошие возможности для использования его в режиме реального времени. Основное ядро (с параметром `CONFIG_PREEMPT=y`, используемое в Арч по умолчанию) в худшем случае может работать с задержкой до 10мс (время между моментом аппаратного прерывания и моментом, соответствующим получению прерывания выполняющимся потоком), хотя, конечно же, некоторые драйверы устройств могут внести задержки намного бо́льшие, чем системные. В зависимости от вашего аппаратного обеспечения и драйверов (и требований), вы, возможно, захотите ядро с возможностями жёсткого режима реального времени.

Патч RT_PREEPMT от Инго Молнара (Ingo Molnar) и Томаса Глейкснера (Thomas Gleixner) является интересным вариантом для жёстких задержек и приложений режима реального времени, достигаемых в профессиональном аудио промышленного масштаба. Большинство аудио специфичных дистрибутивов Linux поставляются с применением данного патча. Режим вытесняющей многозадачности реального времени ядра также позволяет настроить приоритеты прерываний (IRQ) обработки потоков и помогает обеспечить плавный звук почти независимо от нагрузки.

Если вы собираетесь компилировать собственное ядро, помните, что удаление модулей/опций не следует приравнивать к «лёгкости и простоте» ядра. Образ ядра, конечно же, уменьшится, но в современных системах это не такая проблема, какая она была в 1995-м.

В любом случае, вы должны обеспечить следующие параметры:

- Timer Frequency установить в значение 1000Hz (CONFIG_HZ_1000=y; если вы не задаёте MIDI, вы можете это игнорировать)
- APM в значение DISABLED (CONFIG_APM=n; Могут быть трудности с некоторым оборудованием - по умолчанию в x86_64)

Если вы хотите действительно лёгкую систему, мы предлагаем вам пойти своим путём и развернуть систему один раз с статической аппаратной поддержкой. Однако, вам понадобится выбрать архитектуру процессора. Выбор «Core 2 Duo» с подбором соответствующего аппаратного обеспечения может послужить хорошим подспорьем для оптимизации; но тем меньше будет выигрыш, чем ниже архитектура.

Основные проблемы с режимом реального времени ядра:

- Гиперпоточность (hyperthreading) (если имеются подозрения, отключите в BIOS)

Также имеются готовые скомпилированные с патчами ядра, доступные в ABS и AUR.

Примечание: Прежде чем вы решите использовать патченное ядро, загляните по ссылке: http://jackaudio.org/faq/realtime_vs_realtime_kernel.html (англ.).

### AUR

Из репозитория AUR вам доступны следующие варианты:

- linux-rtAUR
- linux-rt-ltsAUR (долгосрочная поддержка, стабильный выпуск)

Два первых - это стандартные ядра с патчем CONFIG_PREEMPT_RT, в то время как -ice включают некоторые патчи, которые работают не на всех конфигурациях.

  Смотрите: Real-Time Linux Wiki

## MIDI

Для уменьшения дрожания MIDI при использовании внешнего MIDI оснащения jack2, должна быть использована опция Xalsarawmidi. При этом вам также потребуется использовать a2jmidid.

Вы можете проверить насколько сильно дрожание с помощью alsa-midi-latency-test. PCI и PCIe карты зачастую показывают лучшие результаты по сравнению с устройствами USB MIDI.

При работе с MIDI настоятельно рекомендуется установить a2j (a2jmidid) - связующее звено между alsa midi и jack midi. Это позволит вам соединить приложения, которые связаны только с alsa midi, с приложениями, которые связаны только с jack midi. Laditray также может запускать/останавливать a2j.

  Смотрите: JACK#MIDI

## Переменные окружения

Если вы что-то устанавливаете в нестандартный каталог, зачастую необходимо настроить переменные путей окружения, чтобы приложения знали где искать (для плагинов и других библиотек). Обычно это относится к VST, так как пользователи могут иметь Wine или внешние пути Windows.

Как правило, плагины Linux (LADSPA, LV2, DSSI, LXVST) располагаются по стандартным путям, поэтому не требуется их экспортировать. Но если это не так, убедитесь, что добавили эти стандартные пути, так как Arch ничего не будет делать для dssi или ladspa, и приложений вроде dssi-vst, и не будет смотреть где-то ещё, если найдет предустановленные пути.

    ~/.bashrc

    ...
    export VST_PATH=/usr/lib/vst:/usr/local/lib/vst:~/.vst:/someother/custom/dir
    export LXVST_PATH=/usr/lib/lxvst:/usr/local/lib/lxvst:~/.lxvst:/someother/custom/dir
    export LADSPA_PATH=/usr/lib/ladspa:/usr/local/lib/ladspa:~/.ladspa:/someother/custom/dir
    export LV2_PATH=/usr/lib/lv2:/usr/local/lib/lv2:~/.lv2:/someother/custom/dir
    export DSSI_PATH=/usr/lib/dssi:/usr/local/lib/dssi:~/.dssi:/someother/custom/dir

## Советы и хитрости

- Отключите WiFi и закройте все приложения, нетребующиеся для записи, такие как браузер. Многие отмечали, что отключение WiFi сказывается на производительности JACK.

- Известно, что некоторое USB аудио аппаратное обеспечение не работает с портами USB 3, попробуйте вместо этого использовать порты USB 2/1.

- Могут случаться ошибки IRQ, что создаёт проблемы. Пример, видео аппаратное обеспечение, резервирующее шину, приводящее к ненужным прерываниям в системном пути ввода-вывода. Смотрите обсуждение в FFADO IRQ Priorities How-To. Если вы используете ядро реального времени или свежее ядро, вы можете использовать rtirq для настройки приоритетов обработки потоков IRQ.

- Не используйте службу irqbalance, или будьте с ней очень осторожны [1][устаревшая ссылка 2020-08-04].

- Если вам необходимо использовать несколько аудио устройств с JACK2, можно воспользоваться вспомогательными программами alsa_in и alsa_out для скрытия лишних устройств и показывать их как вывод в JACK patchbay.

- Некоторые службы/процессы могут неожиданно вызывать xruns. Если вам это не нужно, отключите их. Без вопросов.

    $ ls /var/run/daemons
    $ top # or htop, ps aux, whatever you are comfortable with
    $ killall -9 $processname
    # systemctl stop $daemonname

- Если xruns было запущено много раз, особенно с nvidia, отключите дросселирование GPU. Сделать это можно с помощью апплета управления картой и для nvidia это "prefer maximum performance" (спасибо за письмо в LAU от Frank Kober).

- Если вы хотите узнать больше о ALSA: https://www.volkerschatz.com/noise/alsa.html

## Аппаратное обеспечение

Подавляющее большинство звуковых карт и аудио устройств не потребуют дополнительных настроек или пакетов для работы. Просто укажите используемое гнездо звуковой карты и перезагрузите систему.

Но это справедливо не для всех устройств, в частности для тех что перечислены ниже.

### M-Audio Delta 1010

Серия звуковых карт M-Audio Delta основана на аудио чипсете VIA Ice1712. Карты, основанные на этом чипе, требуют установки пакета alsa-tools, так как в нём содержится приложение envy24control. Envy24control - это микшер/контроллер аппаратного уровня. Вы можете использовать alsa-mixer, но, поверьте, вы сохраните кучу нервов, если не будете пробовать этого. Обратите внимание, в этом разделе отсутствует информация о настройке или использовании MIDI.

Запустите приложение-микшер:

    $ envy24control

Это приложение может показаться очень запутанным; смотрите envy24control для объяснения по работе с ним. Тем не менее, ниже приведёна очень простая работающая конфигурация для мультитрекинга с Ardour.

1. На вкладках "Monitor Inputs" и "Monitor PCMs" установите значение 20 для всех контролируемых входов и PCM's.
2. На вкладке "Patchbay / Router" для всех значений выберите выход PCM.
3. На вкладке "Hardware Settings" убедитесь, что настройки Master Clock совпадают с настройками Qjackctl. Если это не так, то ваш xruns не контролируется!

### M-Audio Fast Track Pro

The M-Audio Fast Track Pro - это аудио интерфейс USB 4x4, работающий с характеристиками 24 бит/96 кГц. Из-за ограничений USB 1, это устройство требует дополнительной настройки для получения доступа ко всем его функциям. Устройство может работать в одном из двух режимов:

- Конфигурация 1, или "Режим совместимости классов" ("Class compliant mode") - с усечённой функциональностью, только 16 бит, 48 кГц, аналоговый вход (2 канала) и цифровой/аналоговый выход (4 канала).
- Конфигурация 2 - с доступом ко всем функциям интерфейса.

В настоящий момент, с обычным ядром оно запускается в конфигурации 2, но если вы хотите дополнительно проверить, так ли это, вы можете обратиться к логам ядра в поисках записей вида:

    usb-audio: Fast Track Pro switching to config #2
    usb-audio: Fast Track Pro config OK

С интерфейсом потребуется проделать несколько дополнительных операций для переключения режима. Это производится с помощью опции `device_setup` в процессе загрузке модуля. Рекомендуемый способ настройки интерфейса осуществляется с использованием файла в `modprobe.d`:

    /etc/modprobe.d/ftp.conf

    options snd_usb_audio vid=0x763 pid=0x2012 device_setup=XXX index=YYY enable=1

где `vid` и `pid` - идентификаторы поставщика и продукта для M-Audio Fast Track Pro, `index` - это требуемый номер устройства и `device_setup` - требуемая настройка устройства. Возможные значения для `device_setup`:

device modes
device_setup value | bit depth | frequency | analog output | digital output | analog input | digital input | IO mode
--- | --- | --- | --- | --- | --- | --- | ---
0x0 | 16 bit | 48kHz | + | + | + | + | 4x4
0x9 | 24 bit | 48kHz | + | + | + | - | 2x4
0x13 | 24 bit | 48kHz | + | + | - | + | 2x4
0x5 | 24 bit | 96kHz | * | * | * | * | 2x0 or 0x2

Режим 24 бита/96 кГц является особенным: он предоставляет все входы/выходы, но вы можете открыть только 4 интерфейса одновременно. Если вы, например, откроете выходной интерфейс и следом попытаетесь открыть второй такой же или входной интерфейс, то увидите запись об ошибке в логах ядра:

    cannot submit datapipe for urb 0, error -28: not enough bandwidth

что является нормальным, потому что это устройство USB 1 и не может обеспечить достаточную пропускную способность такого качества для более чем одного (2-канального) источника/получателя одновременно.

В зависимости от значения `index` будет установлено два устройства: `hwYYY:0` и `hwYYY:1`, которые будут содержать доступные входы и выходы. Первое устройство, скорее всего, будет содержать в себе аналоговый выход и цифровой вход, в то время как второй — аналоговый вход и цифровой выход. Чтобы узнать, где и как устройства соединены, — если они настроены правильно, — вы можете проверить `/proc/asound/cardYYY/stream{0,1}` . Ниже приведён список наиболее важных конечных точек (endpoints), которые помогут правильно определить соединения карты (легко перепутать аналоговые и цифровые входные или выходные соединения, прежде чем привыкаешь к устройству):

    EP 3 (аналоговый выход (analogue output) = разъём TRS задней панели зеркально отображается на выходах RCA 1 и 2 задней панели)
    EP 4 (цифровой выход (digital output) = выход S/PDIF задней панели зеркально отображается на выходах RCA 3 и 4 задней панели)
    EP 5 (аналоговый вход (analogue input) = балансный разъём TRS или XLR микрофона, небалансная линия TS на передней панели)
    EP 6 (цифровой вход (digital input) = вход S/PDIF задней панели)

This .asoundrc file enables 24-bit IO on the fast-track pro (and I'm sure it could be modified to work with other 3-byte usb devices) within the context of jack's 32-bit interface while routing default alsa traffic to jack outputs on the audio interface. Alsa will be in S24_3BE mode but jack can plug S32_LE data in and out of the interface and other alsa programs will be able to plug almost anything into jack.

    ### ~/.asoundrc
    ### default alsa config file, for a fast-track pro configured in 24-bit mode as so:
    ### options snd_usb_audio device_setup=0x9
    ### invoke jack with: (if you use -r48000, change the rate in the plugs as well)
    ### $jackd -dalsa -P"hw:Pro" -C"hw:Pro,1" -r44100

    ## setup input and output plugs so jack can write S24_3BE data to the audio interface

    pcm.maud0 {
    	type hw
    	card Pro
    	 }

    #jack_out plug makes sure that S32_LE data can be written to hw:Pro
    pcm.jack_out{
    	type plug
    	format S32_LE
    	channels 2
    	rate 44100
    	slave pcm.maud0
    }

    pcm.maud1 {
    	type hw
    	card Pro
    	device 1
    }
    ## jack_in plug makes sure that hw:Pro,1 can read S32_LE data
    pcm.jack_in {
    	type plug
    	format S32_LE
    	channels 2
    	rate 44100
    	slave pcm.maud1
    }
    #####
    # route default alsa traffic through jack system io

    pcm.jack {
        type jack
        playback_ports {
            0 system:playback_1
            1 system:playback_2
        }
        capture_ports {
            0 system:capture_1
            1 system:capture_2
        }
    }
    pcm.amix {
    	type asym
    	playback.pcm "jack"
    	capture.pcm "jack"
    	}
    pcm.!default {
    	type plug
    	slave.pcm amix
    }

### PreSonus Firepod

1. Запуск: либо из командной строки, либо Qjackctl; драйвер называется firewire.
2. Характеристики: карта содержит 8/8 XLR предусилителей плюс стереопара, итого получается 10 каналов.
3. Сопряжение: карты могут соединяться вместе без каких-либо проблем.
4. Настройка оборудования: ничего особенного; меняйте настройки в Qjackctl по своему усмотрению.

Уровни громкости аппаратные, а маршрутизация может быть выполнена в Qjackctl, даже если между собой сопряжено множество карт, — это не проблема. Ffadomixer пока ещё не работает с данной картой; надеемся, в будущем мы сможем контролировать больше аспектов карты через программный интерфейс как этот.

### PreSonus AudioBox USB

1. Startup: ALSA именует устройство как "USB".
2. Specs: Два моно входа TRS+XLR, два моно выхода TRS, MIDI вход и выход, плюс отдельный стерео канал для наушников. Присутствуют регуляторы для управления обоими входами, основным выходом, и для наушников, всего четыре.
3. Hardware: Работает очень хорошо, и аудио и MIDI. Не управляется программным микшером.

### Tascam US-122

Данные настройки неприменимы для US-122L

1. Требуемые пакеты: alsa-tools alsa-firmware fxloadAUR
2. Правила udev: создайте следующий файл правил, затем перезагрузите правила udev, Udev (Русский)#Загрузка новых правил

    /etc/udev/rules.d/51-tascam-us-122.rules

    SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idProduct}=="8006", ATTRS{idVendor}=="1604", RUN+="/bin/sh -c '/sbin/fxload -D %N -s /usr/share/alsa/firmware/usx2yloader/tascam_loader.ihx -I /usr/share/alsa/firmware/usx2yloader/us122fw.ihx'"
    SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idProduct}=="8007", ATTRS{idVendor}=="1604", RUN+="/bin/sh -c '/usr/bin/usx2yloader'"

Подключите устройство. После этого устройство должно начать работать. Программного управления микшером нет.

### RME Babyface

Хорошо работает при малых задержках (~5мс) с alsa-utils, jack2 и linux-rtAUR. Запуск ALSA только со стандартным ядром может привести к появлению треска при меньших задержках.

Для распознавания устройства и его работы, версия прошивки должна быть >= 200, который обладает режимом класса совместимости (Class Compliant Mode). Для перехода в режим совместимости классов (Class Compliant Mode) зажмите кнопки "Select" и "Recall" при подсоединении Babyface к компьютеру через USB. После этого оно должно быть распознано.

Для проверки распознавания устройства смотрите:

    grep -i baby /proc/asound/cards

Для получения большей информации о режиме совместимости классов (Class Compliant Mode), посетите сайт RME. На нём имеется PDF, который рассказывает обо всех функциях.

Для Babyface не требуется особых настроек Jack. Но если вы захотите воспользоваться встроенным входом/выходом MIDI, вам нужно установить "MIDI Driver" в положение "seq" и, при необходимости, отключить "Enable Alsa Sequencer Support" для использования его в комбинации с другими устройствами MIDI (например, USB Midi клавиатура).

## Несвободные приложения

### Steinberg'овые SDK

Естественно, мы не можем распространять заголовки ни VST, ни ASIO в форме бинарных пакетов. Тем не менее, всякий раз, когда вы собираете программу, которая будет работать с плагинами VST в виде Windows-библиотек .dll, проверьте следующие пакеты (которые не требуют использования какого-либо SDK):

- dssi-vst
- fst
- vestige

С учётом вышесказанного, если вы собираете программу, которая будет работать с нативными .so VST плагинами, то в этом случае выхода нет. Для таких случаев Арч позволяет нам поддерживать единую локальную базу данных приложений. Мы можем «установить» общесистемную SDK — достаточно лишь скачать и поместить файл в директорию установленного пакета.

Получить их можно в AUR

Примечание: Steinberg не запрещает распространять конечные продукты и не диктует лицензию, под которой они должны распространяться. Существует много плагинов с лицензией GPL. Таким образом, распространение бинарных пакетов или программного обеспечения, собранного с данными несвободными заголовками не проблема, потому что заголовки являются лишь временными зависимостями для сборки.

## Проект Arch Linux Pro Audio

Да, у нас есть и такое. Задумайтесь над "Planet CCRMA" или "Pro Audio Overlay", меньше научной коннотации: ArchAudio[устаревшая ссылка 2021-05-17].

Что значит, что сие является репозиторием дополнений, т.е. вы должны поработать над разумной установкой и настройкой Archlinux.

Это относительно новое течение, хотя инициатива была проявлена ещё примерно в 2006/2007г.

История: https://bbs.archlinux.org/viewtopic.php?id=30547

По всем вопросам, связанными с Arch- и ArchAudio- проблемами можно обратиться в наш IRC: #archlinux-proaudio

## Linux и Arch Linux Pro Audio в новостях

- Построй систему для производства серьёзной мультимедиа продукции с Arch[устаревшая ссылка 2020-08-04] - Linux.com статья, июль 2012

- Практика использования Arch - Статья от музыканта и писателя Dave Phillips, октябрь 2011

- С Windows на Linux: разумное решение - интервью с Geoff "songshop" Beasley, февраль 2010

## Mailing list

- Linux-audio-user -- A list for linux audio users The Linux pro-audio related mailing list with much traffic and a huge subscriber community of users and developers.

Category:

- Sound (Русский)