i am fully back to linux again, after having a short "affair" with windows 10.. i gave microsoft the "benefit of doubt", but of course, it messed up my system completely.. again.. i should have expected this, stupid me, but, well, well...
anyway.. i am using a NI Audio Kontrol 1 (usb) audio device with jack (exclusively), while pulseaudio uses the internal onboard audio for system sounds, etc.. works nicely, and avoids conflicts between pulseaudio and jack..
except..
the AudioKontrol has 2 inputs and 4 outputs, but only 2 of the outputs are available with jack.. did a lot of investigation and google searching, and found a few promising posts related to this, like this one:
https://www.ralf-oechsner.de/opensource ... o_kontrol1
so i tried the suggestion there, created a .asoundrc in my home directory, and logged out and in again.. but still, only two outputs available..
alsa configuration is a big mystery to me, with a lot of "magic words and incantations", hehe, and documentation is not very helpful (to me)..
does anybody have any suggestions?
what should i try next?
some info:
i'm running ubuntu 16.04, lowlatency kernel, nvidia proprietary driver (shouldn't be relevant for audio, i guess).. kxstudio repositories configured/setup, and system up to date..
Code: Select all
> aplay -l
**** List of PLAYBACK Hardware Devices ****
card 3: MID [HDA Intel MID], device 0: ALC888 Analog [ALC888 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: MID [HDA Intel MID], device 1: ALC888 Digital [ALC888 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 4: AudioKontrol1 [Audio Kontrol 1], device 0: Audio Kontrol 1 [Audio Kontrol 1]
Subdevices: 1/2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
looks like the NI AK has two subdevices..
can i "combine them" into one device with 4 outputs instead?
the .asoundrc file didn't exist, so i created it myself
(copied from the url above)
Code: Select all
> cat ~/.asoundrc
# Makes the subdevices aka channel 1&2 and 3&4 available for alsa applications
pcm_slave.sl12 {
pcm "hw:AudioKontrol1,0,0"
format S16_BE
channels 2
rate 44100
}
pcm.channel12 {
type plug
slave sl12
}
pcm_slave.sl34 {
pcm "hw:AudioKontrol1,0,1"
format S16_BE
channels 2
rate 44100
}
pcm.channel34 {
type plug
slave sl34
}
# create a virtual four-channel device with two sound devices:
# This is in fact two interleaved stereo streams in
# different memory locations, so JACK will complain that it
# cannot get mmap-based access. see below.
pcm.multi {
type multi;
slaves.a.pcm "hw:AudioKontrol1,0,0";
slaves.a.channels 2;
slaves.b.pcm "hw:AudioKontrol1,0,1";
slaves.b.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
}
# JACK will be unhappy if there is no mixer to talk to, so we set
# this to the usb card.
ctl.multi {
type hw;
card AudioKontrol1;
}
# This creates a 4 channel interleaved pcm stream based on
# the multi device. JACK will work with this one.
pcm.ttable {
type route;
slave.pcm "multi";
slave.channels 4;
ttable.0.0 1;
ttable.1.1 1;
ttable.2.2 1;
ttable.3.3 1;
}
# see above.
ctl.ttable {
type hw;
card AudioKontrol1;
}
Code: Select all
> cat ~/.jackdrc
/usr/bin/jackd -P89 -t5000 -dalsa -dhw:AudioKontrol1,0 -r44100 -p128 -n4