Hi Dan,
here are my list of devices and my asound.conf file. Please let me know how to edit my asound.conf to launch my USB audio output. Thk you!
###########################################
# Version: 1.0.3
###########################################
#
# Set the default SRC to speex fixed point
#
defaults.pcm.rate_converter "speexrate"
defaults.namehint.showall on
#
# This card (fileout) is handy to have for debugging audio. Use with
# caution, however, as it can eat up memory very quickly.
#
pcm.fileout{
type file
slave {
pcm "dmix_48000"
}
file "/tmp/debug.wav"
format wav
perm 0777
}
#
# The buffer_size is set to approx 120mS which is the maximum
# tolerable group delay for the Bluetooth HF far-side call audio
# to come out of the cabin speakers.
#
pcm.dmix_48000{
type dmix
ipc_key 5678293
ipc_key_add_uid yes
slave {
pcm "hw:0,0"
rate 48000
format S16_LE
buffer_size 6144
period_size 1536
}
}
#
# The buffer_size is set to approx 20mS which is the maximum
# tolerable group delay for the Bluetooth HF far-side call audio
# to come in the microphone.
#
pcm.dsnoop_48000{
type dsnoop
ipc_key 5778293
ipc_key_add_uid yes
slave {
pcm "hw:0,0"
rate 48000
format S16_LE
buffer_size 6144
period_size 1536
}
}
#
# The asymed plugin allows simultaneous playback and capture from
# different processes.
#
pcm.asymed {
type asym
playback.pcm "dmix_48000"
capture.pcm "dsnoop_48000"
}
#
# The asymed plugin allows simultaneous playback and capture from
# different processes.
#
pcm.tel_asymed {
type asym
playback.pcm "dmix_48000"
capture.pcm "mic_hw"
}
#
# The "mic" card is a generic input capture for the microphone
#
pcm.mic {
type plug
slave {
pcm "asymed"
}
}
#
# The "mic_hw" card is a generic input capture for the microphone
# without the dsnoop plugin
#
pcm.mic_hw {
type plug
slave {
pcm "hw:0,0"
rate 48000
format S16_LE
}
}
#
# Set a default playback and capture device. This card is not controlled
# by any part of audio management and will output audio regardless of
# any audio management configuration or setting.
#
pcm.!default {
type plug
slave {
pcm "asymed"
}
}
#
# Use this card to route mono or stereo input to the left channel only
# For stereo input, Left Output = 0.5 Left + 0.5 Right
# For mono input, Left Output = Left In
# For both, Right Output = 0
# Sample rate must be 48000
#
pcm.routeLeft {
type route
slave.pcm "asymed"
slave.channels 2
ttable.0.0 0.5
ttable.1.0 0.5
ttable.0.1 0.0
ttable.1.1 0.0
}
#
# Use this card to route mono or stereo input to the right channel only
# For stereo input, Right Output = 0.5 Left + 0.5 Right
# For mono input, Right Output = Left In
# For both, Left Output = 0
# Sample rate must be 48000
#
pcm.routeRight {
type route
slave.pcm "asymed"
slave.channels 2
ttable.0.1 0.5
ttable.1.1 0.5
ttable.0.0 0.0
ttable.1.0 0.0
}
########################################################################
#
# These ALSA cards and mixer elements are part of the Entertainment Mux
#
# PCM Card <----> ALSA Mixer Element
# entertainmentUsb <----> entertainmentMuxUsbIn
# entertainmentBtsa <----> entertainmentMuxBtsaIn
#
# Use this card (entertainmentMl) for mirror link media streams
# Any input sample rate accepted
pcm.entertainmentMl {
type plug
slave.pcm "entertainmentMlVol"
slave.channels 2
route_policy "duplicate"
}
pcm.entertainmentMlVol {
type softvol
slave.pcm "entertainmentLRCrossover"
control {
name "entertainmentMuxMlIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
# Use this card (entertainmentUsb) for USB media streams
# Any input sample rate accepted
pcm.entertainmentUsb {
type plug
slave.pcm "entertainmentUsbVol"
slave.channels 2
route_policy "duplicate"
}
pcm.entertainmentUsbVol {
type softvol
slave.pcm "entertainmentLRCrossover"
control {
name "entertainmentMuxUsbIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
# Use this card (entertainmentBtsa) for BDS streams
# Any input sample rate accepted
pcm.entertainmentBtsa {
type plug
slave.pcm "entertainmentBtsaVol"
slave.channels 2
route_policy "duplicate"
}
pcm.entertainmentBtsaVol {
type softvol
slave.pcm "entertainmentLRCrossover"
control {
name "entertainmentMuxBtsaIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
pcm.entertainmentLRCrossover {
type route
slave.pcm "entertainmentNaviMute"
slave.channels 2
ttable.0.0 1.0
ttable.1.0 0.0
ttable.0.1 0.0
ttable.1.1 1.0
}
pcm.entertainmentNaviMute {
type softvol
slave.pcm "asymed"
control {
name "mediaNaviMute"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
#
# End of Entertainment Mux
#
########################################################################
########################################################################
#
# These ALSA cards and mixer elements are part of the Information Mux
#
# PCM Card <----> ALSA Mixer Element
# informationGeneric <----> informationMuxGenericIn
# informationNavi <----> informationMuxNaviIn
# informationTts <----> informationMuxTtsIn
#
# Use this card (informationGeneric) for the generic prompts
# Any input sample rate accepted, mono or stereo OK
pcm.informationGeneric {
type plug
slave.pcm "informationGenericVol"
slave.channels 2
route_policy "duplicate"
}
pcm.informationGenericVol {
type softvol
slave.pcm "asymed"
control {
name "informationMuxGenericIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
# Use this card (informationNavi) for navigation
# Any input sample rate accepted, mono or stereo OK
pcm.informationNavi {
type plug
slave.pcm "informationNaviVol"
slave.channels 2
route_policy "duplicate"
}
pcm.informationNaviVol {
type softvol
slave.pcm "routeLeft"
control {
name "informationMuxNaviIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
# Use this card (informationNaviAlt) for alternate navigation
# Any input sample rate accepted, mono or stereo OK
pcm.informationNaviAlt { ##NaviAlt Testing
type plug
slave.pcm "informationNaviAltVol"
slave.channels 2
route_policy "duplicate"
}
pcm.informationNaviAltVol {
type softvol
slave.pcm "routeLeft"
control {
name "informationMuxNaviAltIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
# Use this card (informationTts) for TTS prompts
# Any input sample rate accepted, mono or stereo OK
pcm.informationTts {
type plug
slave.pcm "informationTtsVol"
slave.channels 2
route_policy "duplicate"
}
pcm.informationTtsVol {
type softvol
slave.pcm "asymed"
control {
name "informationMuxTtsIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
#
# End of Information Mux
#
#######################################################################
########################################################################
#
# These ALSA cards and mixer elements are part of the VR Mux
#
# PCM Card <----> ALSA Mixer Element
# vrGeneric <----> vrMuxGenericIn
#
# Use this card (vrAudioPlayer) for the audio player
# Any input sample rate accepted, mono or stereo OK
pcm.vrGeneric {
type plug
slave.pcm "vrGenericVol"
slave.channels 2
route_policy "duplicate"
}
pcm.vrGenericVol {
type softvol
slave.pcm "asymed"
control {
name "vrMuxGenericIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
#
# End of VR Mux
#
#######################################################################
########################################################################
#
# These ALSA cards and mixer elements are part of the Telephony Mux
#
# PCM Card <----> ALSA Mixer Element
# telephonyGeneric <----> telephonyMuxGenericIn
# telephonyPrompt <----> telephonyMuxPromptIn
#
# Use this card (telephonyGeneric) for the telephony audio
# Any input sample rate accepted, mono or stereo OK
pcm.telephonyGeneric {
type plug
slave.pcm "telephonyGenericVol"
slave.channels 2
route_policy "duplicate"
}
pcm.telephonyGenericVol {
type softvol
slave.pcm "tel_asymed"
control {
name "telephonyMuxGenericIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
# Use this card (telephonyPrompt) for the telephony prompts
# Any input sample rate accepted, mono or stereo OK
pcm.telephonyPrompt {
type plug
slave.pcm "telephonyPromptVol"
slave.channels 2
route_policy "duplicate"
}
pcm.telephonyPromptVol {
type softvol
slave.pcm "asymed"
control {
name "telephonyMuxPromptIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
#
# End of Telephony Mux
#
#######################################################################
########################################################################
#
# These ALSA cards and mixer elements are part of the Alert Mux
#
# PCM Card <----> ALSA Mixer Element
# alertGeneric <----> alertGenericIn
#
# Use this card (alertGeneric) for generic alert audio
# Any input sample rate accepted, mono or stereo OK
pcm.alertGeneric {
type plug
slave.pcm "alertGenericVol"
slave.channels 2
route_policy "duplicate"
}
pcm.alertGenericVol {
type softvol
slave.pcm "asymed"
control {
name "alertGenericIn"
card 0
}
min_dB -100.0
max_dB 0.0
resolution 100
}
#
# End of Alert Mux
#
#######################################################################
ctl.mixer0{
type hw
card 0
}
#######################################################################
# BT SCO Audio Definitions
#######################################################################
pcm.bt_sco_dmix_8000 {
type dmix
ipc_key 1000
ipc_key_add_uid yes
slave {
pcm "hw:1,0"
rate 8000
format S16_LE
channels 1
buffer_size 512
period_size 256
}
}
pcm.bt_sco_dsnoop_8000 {
type dsnoop
ipc_key 2000
ipc_key_add_uid yes
slave {
pcm "hw:1,0"
rate 8000
format S16_LE
channels 1
buffer_size 512
period_size 256
}
}
pcm.bt_sco_dmix_16000 {
type dmix
ipc_key 3000
ipc_key_add_uid yes
slave {
pcm "hw:1,0"
rate 16000
format S16_LE
channels 1
buffer_size 512
period_size 256
}
}
pcm.bt_sco_dsnoop_16000 {
type dsnoop
ipc_key 4000
ipc_key_add_uid yes
slave {
pcm "hw:1,0"
rate 16000
format S16_LE
channels 1
buffer_size 512
period_size 256
}
}
#
# Since the two virtual Bluetooth devices below configure the same
# underlying hardware at different sample rates, they cannot be used
# concurrently. However, multiple processes can open either one or
# the other individually multiple times. In other words, if bluetoothSco
# is used by any process, other processes can also use it without
# restriction. However, once bluetoothSco is opened by a process,
# bluetoothScoWB cannot be opened by any other process until all processes
# utilizing bluetoothSco have finished.
#
pcm.bluetoothSco
{
type asym
playback.pcm "bt_sco_dmix_8000"
capture.pcm "bt_sco_dsnoop_8000"
}
pcm.bluetoothScoWB
{
type asym
playback.pcm "bt_sco_dmix_16000"
capture.pcm "bt_sco_dsnoop_16000"
}