feat: audio stack working — pulseaudio + x6200_control + voice_rec
- Add pulseaudio in system mode - Add alsactl restore with correct mixer state from Aether - Add x6200-control package (I2C hardware control library) - Audio chain: pulseaudio -> x6200_control_init -> voice_rec -> speaker
This commit is contained in:
88
br2_external/board/x6200/rootfs-overlay/etc/asound.conf
Normal file
88
br2_external/board/x6200/rootfs-overlay/etc/asound.conf
Normal file
@@ -0,0 +1,88 @@
|
||||
# direct mix for pcm playback
|
||||
# aplay -D mixplayback xxx.wav
|
||||
pcm.mixout {
|
||||
type dmix
|
||||
ipc_key 1024
|
||||
slave {
|
||||
# slave PCM name
|
||||
pcm "hw:0,0"
|
||||
|
||||
# PCM params
|
||||
format S16_LE # STR
|
||||
rate 16000 # INT
|
||||
#rate 48000 # INT
|
||||
channels 2 # INT
|
||||
|
||||
# stream params,buffer_size=period x period_size
|
||||
periods 100 # INT,when buffer_size or buffer_time is not specified
|
||||
period_size 1024 # INT,in frames,3 times than app need
|
||||
|
||||
# optional params
|
||||
# period_time 0 # INT,in usec
|
||||
# buffer_time 0 # INT,in usec
|
||||
# buffer_size 65536 #INT,in frames
|
||||
}
|
||||
bindings {
|
||||
0 0 # from 0 -> 0
|
||||
1 1 # from 1 -> 1
|
||||
}
|
||||
# slowptr BOOL # slow but more precise pointer updates
|
||||
}
|
||||
|
||||
# dsnoop for capture
|
||||
# arecord -D mixcapture test.wav
|
||||
pcm.mixin {
|
||||
type dsnoop
|
||||
ipc_key 1025 # must be unique for all dmix plugins!!!!
|
||||
# ipc_key_add_uid yes # no need for embedded system
|
||||
slave {
|
||||
# slave PCM name
|
||||
pcm "hw:0,0"
|
||||
|
||||
# PCM params
|
||||
format S16_LE # STR
|
||||
rate 16000 # INT
|
||||
#rate 48000 # INT
|
||||
channels 2 # INT
|
||||
|
||||
# stream params,buffer_size=period x period_size
|
||||
periods 100 # INT,when buffer_size or buffer_time is not specified
|
||||
period_size 1024 # INT,in frames,3 times than app need
|
||||
|
||||
# optional params
|
||||
# period_time 0 # INT,in usec
|
||||
# buffer_time 0 # INT,in usec
|
||||
# buffer_size 65536 #INT,in frames
|
||||
}
|
||||
bindings {
|
||||
0 0 # from 0 -> 0
|
||||
1 1 # from 1 -> 1
|
||||
}
|
||||
}
|
||||
|
||||
# pcm plug for playback
|
||||
pcm.mixplayback {
|
||||
type plug
|
||||
slave.pcm "mixout"
|
||||
# A hint is required for listing the device in some GUIs
|
||||
hint {
|
||||
show on
|
||||
description "X6200 playback mixer"
|
||||
}
|
||||
}
|
||||
|
||||
# pcm plug for capture
|
||||
pcm.mixcapture {
|
||||
type plug
|
||||
slave.pcm "mixin"
|
||||
# A hint is required for listing the device in some GUIs
|
||||
hint {
|
||||
show on
|
||||
description "X6200 capture mixer"
|
||||
}
|
||||
}
|
||||
|
||||
ctl.mixer0 {
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
Reference in New Issue
Block a user