update ac108_asound.state asound.conf

This commit is contained in:
Baozhu Zuo 2017-09-14 20:14:10 +08:00
parent 9a97f5033f
commit baaecb8b7d
3 changed files with 19 additions and 706 deletions

View file

@ -65,698 +65,7 @@ state.ALSA {
} }
} }
} }
state.seeedvoicecard { state.seeed4micvoicec {
control.1 {
iface MIXER
name 'Capture Volume'
value.0 63
value.1 63
comment {
access 'read write'
type INTEGER
count 2
range '0 - 63'
dbmin -1725
dbmax 3000
dbvalue.0 3000
dbvalue.1 3000
}
}
control.2 {
iface MIXER
name 'Capture Volume ZC Switch'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 1'
}
}
control.3 {
iface MIXER
name 'Capture Switch'
value.0 true
value.1 true
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.4 {
iface MIXER
name 'Left Input Boost Mixer LINPUT3 Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -9999999
dbmax 600
dbvalue.0 -9999999
}
}
control.5 {
iface MIXER
name 'Left Input Boost Mixer LINPUT2 Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -9999999
dbmax 600
dbvalue.0 -9999999
}
}
control.6 {
iface MIXER
name 'Right Input Boost Mixer RINPUT3 Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -9999999
dbmax 600
dbvalue.0 -9999999
}
}
control.7 {
iface MIXER
name 'Right Input Boost Mixer RINPUT2 Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -9999999
dbmax 600
dbvalue.0 -9999999
}
}
control.8 {
iface MIXER
name 'Right Input Boost Mixer RINPUT1 Volume'
value 3
comment {
access 'read write'
type INTEGER
count 1
range '0 - 3'
dbmin 0
dbmax 2900
dbvalue.0 2900
}
}
control.9 {
iface MIXER
name 'Left Input Boost Mixer LINPUT1 Volume'
value 3
comment {
access 'read write'
type INTEGER
count 1
range '0 - 3'
dbmin 0
dbmax 2900
dbvalue.0 2900
}
}
control.10 {
iface MIXER
name 'Playback Volume'
value.0 255
value.1 255
comment {
access 'read write'
type INTEGER
count 2
range '0 - 255'
dbmin -9999999
dbmax 0
dbvalue.0 0
dbvalue.1 0
}
}
control.11 {
iface MIXER
name 'Headphone Playback Volume'
value.0 127
value.1 127
comment {
access 'read write'
type INTEGER
count 2
range '0 - 127'
dbmin -9999999
dbmax 600
dbvalue.0 600
dbvalue.1 600
}
}
control.12 {
iface MIXER
name 'Headphone Playback ZC Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.13 {
iface MIXER
name 'Speaker Playback Volume'
value.0 127
value.1 127
comment {
access 'read write'
type INTEGER
count 2
range '0 - 127'
dbmin -9999999
dbmax 600
dbvalue.0 600
dbvalue.1 600
}
}
control.14 {
iface MIXER
name 'Speaker Playback ZC Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.15 {
iface MIXER
name 'Speaker DC Volume'
value 4
comment {
access 'read write'
type INTEGER
count 1
range '0 - 5'
}
}
control.16 {
iface MIXER
name 'Speaker AC Volume'
value 5
comment {
access 'read write'
type INTEGER
count 1
range '0 - 5'
}
}
control.17 {
iface MIXER
name 'PCM Playback -6dB Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.18 {
iface MIXER
name 'ADC Polarity'
value 'No Inversion'
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'No Inversion'
item.1 'Left Inverted'
item.2 'Right Inverted'
item.3 'Stereo Inversion'
}
}
control.19 {
iface MIXER
name 'ADC High Pass Filter Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.20 {
iface MIXER
name 'DAC Polarity'
value 'No Inversion'
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'No Inversion'
item.1 'Left Inverted'
item.2 'Right Inverted'
item.3 'Stereo Inversion'
}
}
control.21 {
iface MIXER
name 'DAC Deemphasis Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.22 {
iface MIXER
name '3D Filter Upper Cut-Off'
value High
comment {
access 'read write'
type ENUMERATED
count 1
item.0 High
item.1 Low
}
}
control.23 {
iface MIXER
name '3D Filter Lower Cut-Off'
value Low
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Low
item.1 High
}
}
control.24 {
iface MIXER
name '3D Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 15'
}
}
control.25 {
iface MIXER
name '3D Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.26 {
iface MIXER
name 'ALC Function'
value Off
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Off
item.1 Right
item.2 Left
item.3 Stereo
}
}
control.27 {
iface MIXER
name 'ALC Max Gain'
value 7
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
}
}
control.28 {
iface MIXER
name 'ALC Target'
value 4
comment {
access 'read write'
type INTEGER
count 1
range '0 - 15'
}
}
control.29 {
iface MIXER
name 'ALC Min Gain'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
}
}
control.30 {
iface MIXER
name 'ALC Hold Time'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 15'
}
}
control.31 {
iface MIXER
name 'ALC Mode'
value ALC
comment {
access 'read write'
type ENUMERATED
count 1
item.0 ALC
item.1 Limiter
}
}
control.32 {
iface MIXER
name 'ALC Decay'
value 3
comment {
access 'read write'
type INTEGER
count 1
range '0 - 15'
}
}
control.33 {
iface MIXER
name 'ALC Attack'
value 2
comment {
access 'read write'
type INTEGER
count 1
range '0 - 15'
}
}
control.34 {
iface MIXER
name 'Noise Gate Threshold'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 31'
}
}
control.35 {
iface MIXER
name 'Noise Gate Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.36 {
iface MIXER
name 'ADC PCM Capture Volume'
value.0 195
value.1 195
comment {
access 'read write'
type INTEGER
count 2
range '0 - 255'
dbmin -9999999
dbmax 3000
dbvalue.0 0
dbvalue.1 0
}
}
control.37 {
iface MIXER
name 'Left Output Mixer Boost Bypass Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -2100
dbmax 0
dbvalue.0 -2100
}
}
control.38 {
iface MIXER
name 'Left Output Mixer LINPUT3 Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -2100
dbmax 0
dbvalue.0 -2100
}
}
control.39 {
iface MIXER
name 'Right Output Mixer Boost Bypass Volume'
value 5
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -2100
dbmax 0
dbvalue.0 -600
}
}
control.40 {
iface MIXER
name 'Right Output Mixer RINPUT3 Volume'
value 2
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -2100
dbmax 0
dbvalue.0 -1500
}
}
control.41 {
iface MIXER
name 'ADC Data Output Select'
value 'Left Data = Left ADC; Right Data = Right ADC'
comment {
access 'read write'
type ENUMERATED
count 1
item.0 'Left Data = Left ADC; Right Data = Right ADC'
item.1 'Left Data = Left ADC; Right Data = Left ADC'
item.2 'Left Data = Right ADC; Right Data = Right ADC'
item.3 'Left Data = Right ADC; Right Data = Left ADC'
}
}
control.42 {
iface MIXER
name 'DAC Mono Mix'
value Stereo
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Stereo
item.1 Mono
}
}
control.43 {
iface MIXER
name 'Left Boost Mixer LINPUT2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.44 {
iface MIXER
name 'Left Boost Mixer LINPUT3 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.45 {
iface MIXER
name 'Left Boost Mixer LINPUT1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.46 {
iface MIXER
name 'Right Boost Mixer RINPUT2 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.47 {
iface MIXER
name 'Right Boost Mixer RINPUT3 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.48 {
iface MIXER
name 'Right Boost Mixer RINPUT1 Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.49 {
iface MIXER
name 'Left Input Mixer Boost Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.50 {
iface MIXER
name 'Right Input Mixer Boost Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.51 {
iface MIXER
name 'Left Output Mixer PCM Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.52 {
iface MIXER
name 'Left Output Mixer LINPUT3 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.53 {
iface MIXER
name 'Left Output Mixer Boost Bypass Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.54 {
iface MIXER
name 'Right Output Mixer PCM Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.55 {
iface MIXER
name 'Right Output Mixer RINPUT3 Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.56 {
iface MIXER
name 'Right Output Mixer Boost Bypass Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.57 {
iface MIXER
name 'Mono Output Mixer Left Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.58 {
iface MIXER
name 'Mono Output Mixer Right Switch'
value false
comment {
access 'read write'
type BOOLEAN
count 1
}
}
}
state.seeedvoicecard4 {
control.1 { control.1 {
iface MIXER iface MIXER
name 'OUT1 Mute' name 'OUT1 Mute'
@ -856,7 +165,7 @@ state.seeedvoicecard4 {
control.7 { control.7 {
iface MIXER iface MIXER
name 'CH1 digital volume' name 'CH1 digital volume'
value 180 value 181
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -864,7 +173,7 @@ state.seeedvoicecard4 {
range '0 - 255' range '0 - 255'
dbmin -11925 dbmin -11925
dbmax 7200 dbmax 7200
dbvalue.0 1575 dbvalue.0 1650
} }
} }
control.8 { control.8 {
@ -884,7 +193,7 @@ state.seeedvoicecard4 {
control.9 { control.9 {
iface MIXER iface MIXER
name 'CH3 digital volume' name 'CH3 digital volume'
value 180 value 181
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -892,7 +201,7 @@ state.seeedvoicecard4 {
range '0 - 255' range '0 - 255'
dbmin -11925 dbmin -11925
dbmax 7200 dbmax 7200
dbvalue.0 1575 dbvalue.0 1650
} }
} }
control.10 { control.10 {
@ -912,7 +221,7 @@ state.seeedvoicecard4 {
control.11 { control.11 {
iface MIXER iface MIXER
name 'ADC1 PGA gain' name 'ADC1 PGA gain'
value 31 value 27
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -920,13 +229,13 @@ state.seeedvoicecard4 {
range '0 - 31' range '0 - 31'
dbmin 0 dbmin 0
dbmax 3100 dbmax 3100
dbvalue.0 3100 dbvalue.0 2700
} }
} }
control.12 { control.12 {
iface MIXER iface MIXER
name 'ADC2 PGA gain' name 'ADC2 PGA gain'
value 31 value 27
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -934,13 +243,13 @@ state.seeedvoicecard4 {
range '0 - 31' range '0 - 31'
dbmin 0 dbmin 0
dbmax 3100 dbmax 3100
dbvalue.0 3100 dbvalue.0 2700
} }
} }
control.13 { control.13 {
iface MIXER iface MIXER
name 'ADC3 PGA gain' name 'ADC3 PGA gain'
value 31 value 27
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -948,13 +257,13 @@ state.seeedvoicecard4 {
range '0 - 31' range '0 - 31'
dbmin 0 dbmin 0
dbmax 3100 dbmax 3100
dbvalue.0 3100 dbvalue.0 2700
} }
} }
control.14 { control.14 {
iface MIXER iface MIXER
name 'ADC4 PGA gain' name 'ADC4 PGA gain'
value 31 value 27
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -962,13 +271,13 @@ state.seeedvoicecard4 {
range '0 - 31' range '0 - 31'
dbmin 0 dbmin 0
dbmax 3100 dbmax 3100
dbvalue.0 3100 dbvalue.0 2700
} }
} }
control.15 { control.15 {
iface MIXER iface MIXER
name 'Tx1 Channels' name 'Tx1 Channels'
value '4 channels ' value '1 channels '
comment { comment {
access 'read write' access 'read write'
type ENUMERATED type ENUMERATED

View file

@ -34,6 +34,6 @@ pcm.array {
pcm.ac108 { pcm.ac108 {
type ac108 type ac108
slavepcm "hw:0,0" slavepcm "hw:1,0"
channels 4 channels 4
} }

View file

@ -78,8 +78,10 @@ has_2mic=$(grep seeed-2mic-voicecard /boot/config.txt)
has_4mic=$(grep seeed-2mic-voicecard /boot/config.txt) has_4mic=$(grep seeed-2mic-voicecard /boot/config.txt)
case "${card}" in case "${card}" in
"2mic") "2mic")
echo "cp wm8960_asound.state /var/lib/alsa/asound.state"
cp wm8960_asound.state /var/lib/alsa/asound.state cp wm8960_asound.state /var/lib/alsa/asound.state
if [ "x${has_4mic}" != x ] ; then if [ "x${has_4mic}" != x ] ; then
echo "has 4mic before, now remove it"
sed -i "s/dtoverlay=seeed-4mic-voicecard//g" /boot/config.txt sed -i "s/dtoverlay=seeed-4mic-voicecard//g" /boot/config.txt
fi fi
grep -q "dtoverlay=seeed-2mic-voicecard" /boot/config.txt || \ grep -q "dtoverlay=seeed-2mic-voicecard" /boot/config.txt || \
@ -87,8 +89,10 @@ case "${card}" in
;; ;;
"4mic") "4mic")
echo "cp ac108_asound.state /var/lib/alsa/asound.state"
cp ac108_asound.state /var/lib/alsa/asound.state cp ac108_asound.state /var/lib/alsa/asound.state
if [ "x${has_2mic}" != x ] ; then if [ "x${has_2mic}" != x ] ; then
echo "has 2mic before, now remove it"
sed -i "s/dtoverlay=seeed-2mic-voicecard//g" /boot/config.txt sed -i "s/dtoverlay=seeed-2mic-voicecard//g" /boot/config.txt
fi fi
grep -q "dtoverlay=seeed-4mic-voicecard" /boot/config.txt || \ grep -q "dtoverlay=seeed-4mic-voicecard" /boot/config.txt || \