ALSA multi plugin woes, joining two cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone!
I've still got problems joining my twosoundcards (Delta 1010LT and EMU 1212m). I've created the multi device for capture and playback, taken care of the bit width conversion and still it doesn't work. See the .asoundrc below. With Delta and EMU's analog I/O (device 0) JACK will start, but gives a lot of ALSA_PCM xruns. With the S/PDIF and/or ADAT/DSP part of the EMU card included JACK won't start or will shutdown immediately. Also ecasound/arecord won't work. Having tried the EMU S/PDIF on its own with arecord, I found, that it would only allow 8kHz samplerate, instead of the requested 48kHz. The EMU card is however setup to take the clocksource from the delta card, which works perfectly with 48kHz. OK, even it takes its clock from the outside (Lindy A/D converter). To test the S/PDIF in on the EMU I tried playing back something to the Delta's S/PDIF out, but only got silence. So it looks, like there is more than one problem. But I can't spot it. I've looked at the .asoundrc documentation again and the list of ALSA plugins. OK, there is the route plugin for creating interleaved audio, using the ttable, but for a start, I've read, that this will cause great latency. Anyway, I've built my JACK version myself and I don't see, why it shouldn't include complex MMAP. But that is a little further along the way.
  So here's my .asoundrc:
# The 8 ADAT ins of EMU 1212m, conversion to S16_LE
pcm.emu_adat {
	type linear
	slave {
		pcm "hw:4,2"
		format S32_LE
	}
}

# The 2 Ins, 2 Outs of EMU 1212m, they have S16_LE
pcm.emu_analog {
	type hw
	card 4
	device 0
}

# The 2 S/PDIF Ins and 2 S/PDIF Outs of EMU 1212m,they have S16_LE
pcm.emu_spdif {
	type hw
	card 4
	device 1
}

# The 16 DSP out channels of EMU 1212m, they have S16_LE
pcm.emu_dsp {
	type hw
	card 4
	device 3
}

# The M-Audio Delta 1010 LT, conversion from S32_LE to S16_LE
pcm.delta {
	type linear
	slave {
		pcm "hw:1"
		format S32_LE
	}
}

# Multi capture device including EMU ADAT, Analog and S/PDIF channels and
# Delta analog and S/PDIF in channels
pcm.multi_capture {
	type multi
	slaves.a {
		pcm "delta"
		channels 12
	}
	slaves.b {
		pcm "emu_analog"
		channels 2
	}
	#slaves.c {
	#	pcm "emu_spdif"
	#	channels 2
	#}
	#slaves.d {
	#	pcm "emu_adat"
	#	channels 8
	#}
	bindings.0.slave a
	bindings.0.channel 0
	bindings.1.slave a
	bindings.1.channel 1
	bindings.2.slave a
	bindings.2.channel 2
	bindings.3.slave a
	bindings.3.channel 3
	bindings.4.slave a
	bindings.4.channel 4
	bindings.5.slave a
	bindings.5.channel 5
	bindings.6.slave a
	bindings.6.channel 6
	bindings.7.slave a
	bindings.7.channel 7
	bindings.8.slave a
	bindings.8.channel 8
	bindings.9.slave a
	bindings.9.channel 9
	bindings.10.slave b
	bindings.10.channel 0
	bindings.11.slave b
	bindings.11.channel 1
	#bindings.12.slave c
	#bindings.12.channel 0
	#bindings.13.slave c
	#bindings.13.channel 1
	#bindings.14.slave d
	#bindings.14.channel 0
	#bindings.15.slave d
	#bindings.15.channel 1
	#bindings.16.slave d
	#bindings.16.channel 2
	#bindings.17.slave d
	#bindings.17.channel 3
	#bindings.18.slave d
	#bindings.18.channel 4
	#bindings.19.slave d
	#bindings.19.channel 5
	#bindings.20.slave d
	#bindings.20.channel 6
	#bindings.21.slave d
	#bindings.21.channel 7
}

# Control device for multi_capture, I chose card 1 (Dela), because it gives
# the clock signal.
ctl.multi_capture {
	type hw
	card 1
}

# Multi playback for EMU 1212m Analog, S/PDIF and DSP out channels as well as
# Delta 1010 LT's analog and S/PDIF out channels
pcm.multi_playback {
	type multi
	slaves.a {
		pcm "delta"
		channels 10
	}
	slaves.b {
		pcm "emu_analog"
		channels 2
	}
	slaves.c {
		pcm "emu_spdif"
		channels 2
	}
	#slaves.d {
	#	pcm "emu_dsp"
	#	channels 16
	#}
	bindings.0.slave a
	bindings.0.channel 0
	bindings.1.slave a
	bindings.1.channel 1
	bindings.2.slave a
	bindings.2.channel 2
	bindings.3.slave a
	bindings.3.channel 3
	bindings.4.slave a
	bindings.4.channel 4
	bindings.5.slave a
	bindings.5.channel 5
	bindings.6.slave a
	bindings.6.channel 6
	bindings.7.slave a
	bindings.7.channel 7
	bindings.8.slave a
	bindings.8.channel 8
	bindings.9.slave a
	bindings.9.channel 9
	bindings.10.slave b
	bindings.10.channel 0
	bindings.11.slave b
	bindings.11.channel 1
	bindings.12.slave c
	bindings.12.channel 0
	bindings.13.slave c
	bindings.13.channel 1
	#bindings.14.slave d
	#bindings.14.channel 0
	#bindings.15.slave d
	#bindings.15.channel 1
	#bindings.16.slave d
	#bindings.16.channel 2
	#bindings.17.slave d
	#bindings.17.channel 3
	#bindings.18.slave d
	#bindings.18.channel 4
	#bindings.19.slave d
	#bindings.19.channel 5
	#bindings.20.slave d
	#bindings.20.channel 6
	#bindings.21.slave d
	#bindings.21.channel 7
	#bindings.22.slave d
	#bindings.22.channel 8
	#bindings.23.slave d
	#bindings.23.channel 9
	#bindings.24.slave d
	#bindings.24.channel 10
	#bindings.25.slave d
	#bindings.25.channel 11
	#bindings.26.slave d
	#bindings.26.channel 12
	#bindings.27.slave d
	#bindings.27.channel 13
	#bindings.28.slave d
	#bindings.28.channel 14
	#bindings.29.slave d
	#bindings.29.channel 15
}

# Control device for multi_playback, I chose card 1 (Delta) again as it is
# the clock source
ctl.multi_playback {
	type hw
	card 1
}

Any idea anyone? Could it be a specific configuration issue of the EMU 1212m or is there a special kernel option - not directly related to sound -, which might help?
  Warm regards and thanks for any hints
        Julien

----------------------------------------
http://juliencoder.de/nama/music.html
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user




[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux