aispeech: add 4mic sdk

Change-Id: Ifa01cfeb8921e99051a8595687498b7a8019b517
Signed-off-by: Sun ChuanHu <aaron.sun@rock-chips.com>
This commit is contained in:
Sun ChuanHu
2018-08-06 10:34:05 +08:00
parent a7a6ef716f
commit d7d56ae227
29 changed files with 298 additions and 0 deletions

View File

@ -0,0 +1,48 @@
arecord -D vad -c 8 -r 16000 -f S16_LE -d 1 -t raw /tmp/test.pcm
rm /tmp/test.pcm
echo 0x60 0x40ff0050 > /sys/kernel/debug/vad/reg
echo 0x5c 0x000e2080 > /sys/kernel/debug/vad/reg
ln -s /oem/aispeech_softap_lite /data/aispeech_softap_lite
ln -s /oem/wifi_monitor.sh /data/
ln -s /oem/dds_client /data/dds_client
ln -s /oem/dds_service.sh /data/
export AISPEECH_WIFI_CFG="/data/wpa_supplicant.conf"
#aispeech dui app information file
export AISPEECH_DUIKIT_APP="/data/aispeech_softap_lite/device/app.json"
#aispeech dui device file
export AISPEECH_DUIKIT_DEVICE="/data/aispeech_softap_lite/device/device.json"
#aispeech dui softap web server address
export AISPEECH_SOFTAP_SERVER_PORT="8000"
#aispeech dui softap configuration folder
export AISPEECH_SOFTAP_DIR="/data/cfg"
export AISPEECH_DO_CONNECT_MP3="/data/aispeech_softap_lite/audio/do_connect.mp3"
export AISPEECH_WIFI_OK_MP3="/data/aispeech_softap_lite/audio/wifi_ok.mp3"
export AISPEECH_NEED_CONNECT_MP3="/data/aispeech_softap_lite/audio/need_connect.mp3"
export AISPEECH_CONNECT_OK_MP3="/data/aispeech_softap_lite/audio/connect_ok.mp3"
export AISPEECH_START_CONNECT_MP3="/data/aispeech_softap_lite/audio/start_connect.mp3"
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/userdata:/userdata/bin:/data/bin:/data/bin/rk_pcba_test:/data/aispeech_softap_lite/bin
if [ -f ${AISPEECH_WIFI_CFG} ]; then
#aispeech_player ${AISPEECH_WIFI_OK_MP3}
wpa_supplicant -B -i wlan0 -c ${AISPEECH_WIFI_CFG} &
dhcpcd &
aispeech_player ${AISPEECH_DO_CONNECT_MP3}
else
aispeech_player ${AISPEECH_NEED_CONNECT_MP3} &
aispeech_softap_server -s aiengine -p 12345678 start &
fi
aispeech_startup &
/data/wifi_monitor.sh &
amixer cset name='Master Playback Volume' 90%

View File

@ -0,0 +1,24 @@
一、需要设置的环境变量,如果不设置使用默认值
//app发送的元数据写入此文件
export AISPEECH_DUIKIT_APP="/data/cfg/app.json"
//device元数据app获取此信息
export AISPEECH_DUIKIT_DEVICE="/data/cfg/device.json"
//配网文件
export AISPEECH_WIFI_CFG="/data/cfg/wpa_supplicant.conf"
//服务器端口号
export AISPEECH_SOFTAP_SERVER_PORT="8000"
//设备成功获取ssid和password信息开始联网时播放的音频
export AISPEECH_DO_CONNECT_MP3="/data/cfg/audio/do_connect.mp3"
二、命令操作
1.将aispeech_softap、aispeech_led命令的路径导出
例如上述两个命令在目录/data/cfg/bin需要进行如下操作
export PATH=$PATH:/data/cfg/bin
开启服务器:
aispeech_softap_server -s aiengine -p 12345678 start &

View File

@ -0,0 +1 @@
{"name":"hahahaha"}

View File

@ -0,0 +1,11 @@
{
"deviceType":"soundbox",
"deviceName":"aispeech-rk3308-0001",
"deviceAlias":"aispeech-rk3308-0001alias",
"productId":"12345678",
"deviceInfo": {
"platform":"linux",
"wifiMac":"12:23:ee:11:23",
"btMac":"12:23:ee:11:23"
}
}

View File

@ -0,0 +1,59 @@
#!/bin/sh
#this script is used for rk3308 V11 board
dir=`pwd`
for item in `ls bin`; do
chmod +x ${dir}/bin/${item}
done
#hardware-related configuration
board_startup_script=/oem/RkLunch.sh
rm -rf ${board_startup_script}
#wpa configuration file
aispeech_wifi_cfg=/data/wpa_supplicant.conf
rm -rf ${aispeech_wifi_cfg}
content="export AISPEECH_WIFI_CFG=\"${aispeech_wifi_cfg}\"
#aispeech dui app information file
export AISPEECH_DUIKIT_APP=\"${dir}/device/app.json\"
#aispeech dui device file
export AISPEECH_DUIKIT_DEVICE=\"${dir}/device/device.json\"
#aispeech dui softap web server address
export AISPEECH_SOFTAP_SERVER_PORT=\"8000\"
#aispeech dui softap configuration folder
export AISPEECH_SOFTAP_DIR=\"/data/cfg\"
export AISPEECH_DO_CONNECT_MP3=\"${dir}/audio/do_connect.mp3\"
export AISPEECH_WIFI_OK_MP3=\"${dir}/audio/wifi_ok.mp3\"
export AISPEECH_NEED_CONNECT_MP3=\"${dir}/audio/need_connect.mp3\"
export AISPEECH_CONNECT_OK_MP3=\"${dir}/audio/connect_ok.mp3\"
export AISPEECH_START_CONNECT_MP3=\"${dir}/audio/start_connect.mp3\"
export PATH=${PATH}:${dir}/bin
if [ -f \${AISPEECH_WIFI_CFG} ]; then
aispeech_player \${AISPEECH_WIFI_OK_MP3}
wpa_supplicant -B -i wlan0 -c \${AISPEECH_WIFI_CFG} &
dhcpcd &
aispeech_player \${AISPEECH_DO_CONNECT_MP3}
else
aispeech_player \${AISPEECH_NEED_CONNECT_MP3} &
aispeech_softap_server -s aiengine -p 12345678 start &
fi
aispeech_startup &
"
echo "${content}" > ${board_startup_script}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,39 @@
{
"auth":{
"productId": "100001463",
"deviceProfile": "Yhn7W3QzXThMGBG1qgJcbCmW0hmO7HYdHcfuQPFzJhgnzWrrJhPPWYTdm5qJlpyarJqcjZqL3cXdz8fKm5nNycyZmcbGy5udy52cy8bHzsuZzJ6ZmZrLzMnd092ek5OQiN3FztPdj42Qm4qci7ab3cXdzs/Pz8/Oy8nM3dPdm5qJlpyasZ6Smt3F3Z7Oy8icnpmbms6bnsvNm87Gz83MnsqZzcicy83Iy5rN3dPdjJyQj5rdxaTdnpOT3aKC"
},
"recorder":{
"device":"4mic_loopback",
"bits":16,
"channels":5,
"samplerate":16000
},
"player":{
"device":"default"
},
"wakeup":{
"cfg":{
"aecBinPath":"./res/AEC_ch5-2-1ref_common_20180727_v0.9.4.bin",
"wakeupBinPath":"./res/wakeup_aifar_comm_20180104.bin",
"beamformingBinPath":"./res/UCA_asr_ch4-2-ch4_70mm_comm_20180412_v1.2.1.bin",
"env":"words=ni hao xiao le;thresh=0.34;major=1;",
"rollBack":200
},
"wakeupWord":["ni hao xiao le"],
"wakeupAudio":["./audio/wakeup.mp3"]
},
"vad":{
"cfg":{
"resBinPath":"./res/vad_aihome_v0.7.bin",
"pauseTime":300
},
"startTimeoutPrompt":"./audio/vad_start_timeout2.mp3"
},
"dds":{
"productId":"100001463",
"aliasKey":"prod",
"server":"ws://dds.dui.ai/dds/v1",
"deviceProfile":"Yhn7W3QzXThMGBG1qgJcbCmW0hmO7HYdHcfuQPFzJhgnzWrrJhPPWYTdm5qJlpyarJqcjZqL3cXdz8fKm5nNycyZmcbGy5udy52cy8bHzsuZzJ6ZmZrLzMnd092ek5OQiN3FztPdj42Qm4qci7ab3cXdzs/Pz8/Oy8nM3dPdm5qJlpyasZ6Smt3F3Z7Oy8icnpmbms6bnsvNm87Gz83MnsqZzcicy83Iy5rN3dPdjJyQj5rdxaTdnpOT3aKC"
}
}

View File

@ -0,0 +1,23 @@
#!/bin/sh
#
#
case "$1" in
start)
echo "Starting $0..."
cd /oem/dds_client && ./dui dui_cfg.json &
;;
stop)
echo "Stop $0..."
killall dui
;;
restart|reload)
killall dui
cd /oem/dds_client && ./dui dui_cfg.json &
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -0,0 +1,93 @@
#!/bin/sh
PROCESS=/data/dds_service.sh
softap_stop()
{
echo softap_stoping
killall dui || echo dui-exit
ip addr delete 192.168.1.1 dev p2p0 || echo ip-addr-delete
killall hostapd || echo hostapd-exit
ifconfig p2p0 down || echo p2p0
echo softap_stopped
}
dds_start()
{
softap_stop
#echo dds_start
pidof dui || $PROCESS start
gst-play-1.0 /data/aispeech_softap_lite/audio/connect_ok.mp3
}
dds_stop()
{
echo dds_stop
#$PROCESS stop
}
wifiReadyAction()
{
pidof dui || $PROCESS start
}
wifiUpAction()
{
echo wifiUp
dds_start
}
wifiDownAction()
{
echo wifiDown
dds_stop
}
wifiChangeAction()
{
echo wifiChange
dds_stop
dds_start
}
wifiRequestingIp()
{
echo wifiRequestingIp
}
checkwifistate()
{
local flag=0
local last_ip_address=0
while true
do
wpa_state=`wpa_cli -iwlan0 status | grep wpa_state | awk -F '=' '{printf $2}'`
ip_address=`wpa_cli -iwlan0 status | grep ip_address | awk -F '=' '{printf $2}'`
if [ "${wpa_state}"x = "COMPLETED"x ];then
if [ "${ip_address}"x != ""x ] && [ "${ip_address}"x != "0.0.0.0"x ];then
if [ $flag -eq 0 ];then
flag=1
wifiUpAction
elif [ "${ip_address}"x != "${last_ip_address}"x ];then
flag=1
wifiChangeAction
else
flag=1
wifiReadyAction
fi
else
flag=0
wifiRequestingIp
fi
else
if [ $flag -eq 1 ];then
flag=0
wifiDownAction
fi
fi
sleep 3
last_ip_address="${ip_address}"
done
}
$PROCESS stop
checkwifistate