The QuNexus is strictly a MIDI instrument but the Artiphon Instrument 1 has built in speakers and I occasionally want to use those speakers with ALSA only and as the DEFAULT sound card (no JACK or PULSE running). To do this I want it to always be hw:0
The problem was the QuNexus was always grabbing hw:0 by default on every reboot and I would have to unplug and replug them to get them ordered properly, plug back the Artiphon first and then the QuNexus second to get the Artiphon Instrument 1 to get hw:0 and the QuNexus to take hw:1
The Fast Track Pro always grabs hw:5 as it uses the file
Code: Select all
/etc/modprobe.d/fast-track-pro.conf
Code: Select all
options snd_usb_audio index=5 vid=0x763 pid=0x2012 device_setup=0x9 enable=1
It was easy enough to understand how this file was used to set the hw number for the Fast Track pro to hw:5. The dilemma was figuring a method to get the other two USB cards to be assigned the intended slot on reboot.
I tried a few times to make changes to the ~/.asoundrc to no avail. I figured that if the Fast Track Pro could be assigned a hw number there had to be a way to get the other two assigned without hot swapping and decided to determine if there was another way to do so other than asoundrc.
After re-reading a few articles at Alsa Opensrc Org discovered that by using the vid and pid, the slots could be assigned and there was no need for complicating things with alias char-major, alias sound-slot, alias sound-service and options snd-card. Getting the vid and pid were enough, and for both the QuNexus (vid=0x1f38 pid=0x0019) and Artiphon Instrument 1 (vid=0x04d8 pid=0xf296) this info can be found running lsusb
Code: Select all
lsusb
Bus 001 Device 009: ID 1f38:0019
Bus 001 Device 008: ID 04d8:f296 Microchip Technology, Inc.
Bus 001 Device 003: ID 0763:2012 M-Audio M-Audio Fast Track Pro
At first I tried creating .conf files in /etc/modprobe.d/ with this info but that did not work well
in those files mimicking the fast-track-pro.conf file added...
Code: Select all
options snd_usb_audio index=0 vid=0x04d8 pid=0xf296 enable=1
options snd_usb_audio index=1 vid=0x1f38 pid=0x0019 enable=1
this was very far from a solution as I want the Fast Track Pro at 24 bit.
The solution was to add the following to
Code: Select all
/etc/modules
Code: Select all
snd-aloop
snd-seq-midi
Code: Select all
snd-usb-audio index=0 vid=0x04d8 pid=0xf296
snd-usb-audio index=1 vid=0x1f38 pid=0x0019
Code: Select all
cat /etc/modules
# /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.
snd-aloop
snd-seq-midi
snd-usb-audio index=0 vid=0x04d8 pid=0xf296
snd-usb-audio index=1 vid=0x1f38 pid=0x0019
Code: Select all
cat /etc/modprobe.d/snd-aloop.conf
# Prevent snd-aloop from being loaded as first soundcard
options snd-aloop index=2
Code: Select all
cat /proc/asound/cards
0 [INSTRUMENT1 ]: USB-Audio - INSTRUMENT1
Artiphon INSTRUMENT1 at usb-0000:00:1a.0-1.3, full speed
1 [QuNexus ]: USB-Audio - QuNexus
KESUMO, LLC QuNexus at usb-0000:00:1a.0-1.4, full speed
2 [Loopback ]: Loopback - Loopback
Loopback 1
5 [Pro ]: USB-Audio - FastTrack Pro
M-Audio FastTrack Pro at usb-0000:00:1a.0-1.1, full speed
https://alsa.opensrc.org/MultipleUSBAudioDevices
https://alsa.opensrc.org/MultipleCards