From 2bd3aab1ad0cd1501fd826235d0810e1aff7f95e Mon Sep 17 00:00:00 2001 From: Sun ChuanHu Date: Thu, 30 Aug 2018 11:46:22 +0800 Subject: [PATCH] device:rockchip:rk3308:aispeech-2mic-32bit:support vad Change-Id: I4072c5c84ed81818adb6b03dae55c0b4a5b42557 Signed-off-by: Sun ChuanHu --- rk3308/aispeech-2mic-32bit/RkLunch.sh | 4 +- .../aispeech-2mic-32bit/dds_client/aimakefile | 2 +- .../components/dui/dui_major_minor_multiple.o | Bin 31928 -> 31536 bytes .../dds_client/components/fsm/dui_fsm.o | Bin 904 -> 908 bytes .../dds_client/components/json/cJSON.o | Bin 10184 -> 10192 bytes .../aispeech-2mic-32bit/dds_client/dui_fespl | Bin 43736 -> 43992 bytes .../dds_client/dui_fespl_record | Bin 43824 -> 44104 bytes .../dds_client/example/main.c | 57 ++++++++++++++- .../dds_client/example/main.o | Bin 1428 -> 2836 bytes .../dds_client/example/main_vad.c | 69 ------------------ 10 files changed, 58 insertions(+), 74 deletions(-) delete mode 100755 rk3308/aispeech-2mic-32bit/dds_client/example/main_vad.c diff --git a/rk3308/aispeech-2mic-32bit/RkLunch.sh b/rk3308/aispeech-2mic-32bit/RkLunch.sh index 5e16855..1a3a3bb 100755 --- a/rk3308/aispeech-2mic-32bit/RkLunch.sh +++ b/rk3308/aispeech-2mic-32bit/RkLunch.sh @@ -1,7 +1,9 @@ +amixer cset name='vad switch' 1 + echo 0x60 0x40ff0050 > /sys/kernel/debug/vad/reg echo 0x5c 0x000e2080 > /sys/kernel/debug/vad/reg -arecord -D 2mic_loopback -c 8 -r 16000 -f S16_LE -d 1 -t raw /tmp/test.pcm +arecord -D 2mic_loopback -c 3 -r 16000 -f S16_LE -d 1 -t raw /tmp/test.pcm rm /tmp/test.pcm ln -s /oem/aispeech_softap_lite /data/aispeech_softap_lite diff --git a/rk3308/aispeech-2mic-32bit/dds_client/aimakefile b/rk3308/aispeech-2mic-32bit/dds_client/aimakefile index 82d10ef..f6aeeff 100755 --- a/rk3308/aispeech-2mic-32bit/dds_client/aimakefile +++ b/rk3308/aispeech-2mic-32bit/dds_client/aimakefile @@ -9,7 +9,7 @@ LOCAL_SRC_FILES += ./example/main.c LOCAL_MODULE := dui_$(MIC_TYPE) LOCAL_CFLAGS := -Wall -O2 -LOCAL_CFLAGS += -DSAVE_AUDIO +#LOCAL_CFLAGS += -DSAVE_AUDIO ifeq ($(MIC_TYPE), fespa) LOCAL_CFLAGS += -DWAKEUP_FESPA else ifeq ($(MIC_TYPE), fespl) diff --git a/rk3308/aispeech-2mic-32bit/dds_client/components/dui/dui_major_minor_multiple.o b/rk3308/aispeech-2mic-32bit/dds_client/components/dui/dui_major_minor_multiple.o index 067692ee69445cc14162242a12845af1c97d30a0..b2f12301851818539ddff4779846a2c3b72859e7 100644 GIT binary patch delta 11621 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 diff --git a/rk3308/aispeech-2mic-32bit/dds_client/components/fsm/dui_fsm.o b/rk3308/aispeech-2mic-32bit/dds_client/components/fsm/dui_fsm.o index 7873f779902f9eb293451e47c40536db34b155c1..29bb31ad1d2c1cf25cd4fefa74720bdbe6ac1300 100644 GIT binary patch delta 73 zcmeBR?_r;y!1!mPVga9lfr*K+Zn}kqfrW8u(!`mOlP557Z2Yr(=ta_QtkW^n*=Oc%5O delta 75 zcmeBS?_i&x!1!aLVgX0GX_9GDs=3j``H_>en7B4EZeV28oxG7rnQ`IdSSInwZ844hNvY;WliS22Ha`&e;A5exw k#*WF7>gqt!5lEhxoCzc=CQnpXmk3d1V8~%W07fVi0PiUnqyPW_ diff --git a/rk3308/aispeech-2mic-32bit/dds_client/dui_fespl b/rk3308/aispeech-2mic-32bit/dds_client/dui_fespl index f60bf7635b289f9c2bb14f278dda3b5275b33307..c4cd7a8c9bcea0b7257466d3a97f6c4ac1a43c3a 100755 GIT binary patch delta 18836 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 delta 17696 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 diff --git a/rk3308/aispeech-2mic-32bit/dds_client/dui_fespl_record b/rk3308/aispeech-2mic-32bit/dds_client/dui_fespl_record index c6f27d5bae0734928d037a877d1526ea75b6071b..3a73cc45157ed0a4795688b6a1a888c94432eb78 100755 GIT binary patch delta 19041 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 delta 17864 zcmc(HeSDO~wf{W(l59eN4GCd^glu*LguK8Kf<_D&0@)-GAOb2PLI_|t7$idQqQ!0m zT4_ZECu#(|Qi^SOQG-Y?D3s{67F+Sg7F)E?rWDF1yGfQ5vn!D7{hsF~8MgNK*YESW z!)JER_sp3yXJ*d4JkK-X%z0hoA9Xt{>E8^KSPo;X;pg}7^}`H zXDp{2GUYo9DkAcM^2>J~9ARuRFt%;yr@wK}K)L0J(-7}Qq>zXBFyeT`!H9Pt&P9wv zT!QF8q>!Z~?0z++WQ0oRBOQ)7RmF>tE<}6)F#~ZiVi99*wgALL#94@UAvzHsLZon? zlCW`VN-ediv=QmODxHkfj<^hQ0Ae=cWW=S2qY$GI=O9uTiFgmF%TjUhal<+2q8hGMdg^4Xh-P_~%T+>orW&(fPw3u6>%(@Xq zzB*#mP#1*j)Y}vBq>({SZSF`Mq<&{-zea*V6RgbYX ztJbVvRl^=xziQQ^1Xff(3BeULPgbv5R*6;$e&A7g5)v9W~!u(U- z5F0~ItpuJF`w*sp4*w+lQ<|q>8eQTu{zmL%=|%o!Z1SKNRa2Kdu46+V;<_QfxC=g4 zUaeyZ@YI!*V&=Li#cZyk6qBZ!QutmCrKoKqrB;4v$URY*o_h$T^YpmyrND*G5yE6X zPbpmP0;O10S}2{$-;FDZg-4oDe*zpYhSFI)I)3bM%*9kfnAmBQ!X+~)UBG9>k9A|p z&Lo7jqnJ`G6Qz`5ttz7w(|sYOSOykRT8=vMvs&#E^O|Z;c?>OCR}3w0Tp85zVvEWD zt1F9^U^qW{@zT)WZojnX*2yaxT_(`Q0`1NhK(0VL1UgNitpaTkXtO|@1eytS@Mgb3 zeuZ|+mU@JY7J)u5(9HsUMxdJn`nW(h3UmYLjYUmPtvB}c<+-J(Fm+I#zi?Mvg#d3UsPKCkk}DK*tEQL7;El=Bb<^W6nLqV*^JIu zC-KI2*qzxUuP&#+mUsj#D0o1&9#LR zi+8+nCEohR6}{ud7M+z}#SZoNQK1RanNXyO)}@ zw@BA$K4m^u)FsOD+L4y{B{1z@G7gWlMAgU{#of95?8xCd>^)WK*6E?Z{&r0Xsv833 zI`)#?Iq!PXx~(o<$=;$ts0hZYTI;i6ny#s{jJ?pPJ3z`x5+`Im_MJNNyN;33s*dAo z^;X`KIBrmZSR#&JNVG&<76mF2ZWGXY;puGZg?_VQ?w43rtG}qItNu z(Q0G%zXrGM2v!w$JMIT3qOkiy8uXY#f%n=AyBp&8wxl}}Si9ty=a=;J{BP?@oMleW z7lqx8ar|78bzClV*I<3FMlaXrK!YK|`9h<0O(@`Mrw;JDY^#+nNE$V9&}N_5jeN-{ z%jjY#_}9Ye|57+(btvGxt++A@8P2V){I2;nrMcA@g({`FGqmPrwHuy$xzUWK2CHg2 z%W6Y`4$>1(#!?fNZo??`bpRiqoTkh1@kPnA@-}(r`B~K2tI@k(4`y0*2XfcwUe@#H zgJ$@9vo{wFW$i5O)EBP@$2(ZY#O96QyzM)7Rqmm`BxjFnkcIx}lN_eg2b?c8LvY85 zYizJh7TxS4_0L`{?#|?QS?%sk-gQ?=#WbJp0HsfPS5w{s7^@#*``gv+Xk7Dc{k^p@ z6d2*#_h^K(u={u{8iT1k%X{fj2k^%#F7Vo_2sf*Einl_>=T)5TZR#{LbV`cs7A;jK z^j1OF26<&T+pZg++ZhVn@X8Kx%bI91c*~Czc6;KuHDyFZI{5I0{1nUG^|0;&taBVQ zI$wlcjb2xZ0ZT=(j~0(6Fa1V)F))*;J>(xA*9g@=VlyW^915Ii6Fo#3V!JcH>sfV@ z3~qFs+KXDW8dj?{=;Runl56-FI{r-!=1^esZ8h+vwgl_PvO=xm7aPg2c&F}wR5!?0 z*d2`Hb++-Ym7#jHnWaz<8=N}-4?;64txi4H`MtfEJ@N?Y4p>~FKu#O8lAV{K7V~a~ z$@y}l@!&x8zd(l8W9RAi{F2OxR88bTT4!&x;&H(L>NADi zc>>qp>N*j*tFU_}x>C|#Ui-Te#-*1edwy48!KcN0i>M9cR7dUhxL>t0>(Iti9{(2N zny?~e@>Y9F`u6ZYFDbQ&1c5 zwxpG+S~7{BOiguH$wkwg5p|Jum<+9CWsS^>JQxbx(Hc?D((bwLdPnEa?=_MiWvB$v?n%X-PcdzvFE9WcS#)_9GXaxW6?YCC?-FgVgV;9|oy z1G;~!T*8qyGZaW~qc;6_ZDIFGnQ5}+qQHI+ao?_0x;K|UJ37nS?4b%b^~9(xIwQ+t zdGJt+n(h4D=+uN3nOP9bol0Z+t|tOnK06;YW<-Lb-|95ku*7-lk5WGk@$hM55_G{7 ze*YM2u>+0O}V;?QXj!UhX+ZuVzBz=@jbhW4Gs+3~7mI{q~It#n&GkNcrVz;SvFxIk6 z+4{on?N)dji<+I^)t(&+tn~EfERu8d$cZfo1r~YO>0DHjiAY;dM(In9`ggQxS?7tQ z#YSFho&|lrDj(}jD6q$4xE2%Dzb2PB(}p_9r4MEwcEM@21v;I7JvP<7D-?0S;iBeC zjuL0SlXj^5uD7$V$h#BG3dRp(Bh2qQl5H%}X7}ErAv6=7T?os{5zWVFe|Q0lRh~y# ztj>980OsPiH}Fblad)ch_O;kKq*QYIT^`!d()c@BDUpjiiB9CZGmml{UEkZ5uKkNW4uc{6sy=r3=>6k@UO9s5g*yn@3P9tnx@G{?O9i=MRHE6Ax!Y z_?e8vtjmJhe&f%>pzrGN*vyH8w%x9zEYp%@Sk!M@zmiw}t&$9LZ=m>gHO-lpNe-yd z>g{vGH7_*w20Gd`r&HXpH&EKq@A5H16N9%M$ar;DqJ0t6nvZD;$hS#}GWt3}%||%k z(9HQ$R?336Z&Ra4LKvuRon|3CU6LGHpde$RxI$QxdzAHFvs zsnmm`k@Bb_KGY=04>e*xG($I5)p^?Rz1ldV>zjMgZ&Lkg!$Cdo4J`8U<_URI9`PzW zv+WuEYfvpOxCSh>XK>!PK7=#afSKKYSo~pEMRadqu}@og@eE+&PKQl8%qtxea7Om6 z;Cmb+Qga?aiAZS-!^79}!T53mDk}Bqcjr65THPD?7{|a175r;QV&>azQj2a}R`V=p ziZd58&j`JN^KA~~{nAUny=^o!bd=dW(eD0j+uWRg==) zH2hjmZmX8;kJ`qUOej8HbRG@9a9hq&TUtpPa>ygF0LcFJ8jO!<8_=S|OM|b2<+)av z_-@-2)fINNWrO;2km1a+v~5OWq_gdd!}2&5w^CzrTMPB{Y+=bsbnlgYps-u%!syv^ zZM}i6*1~R$-=ubJ8TkKbWv2}fO3Z_<4fb`d3m&1<^Tv31)_K{p*h^BKamOEm+sgFU zYMIF<*(*yLimZ64QPXSKK_|WK@<}h^;Jhe*Xp#{HFHhtra}tMsAID3dY>@%SP07E$ z7n6~<=S-LUe8S{psfEwO?>@eE^0@x^l4}qS(7v*=aKxq|W-g(U1YJ(qsH^8b=AE`sZLNI&mgCM0=wBD!3Pp zA9bysePH`Oc4e%#i)pkmY-2H?k%iqmX3)UudGvv=%BRQD=L~ZnL_Uc#soja0; zD33MKvaxwM?fEKr%N@Cf-hj!&6Ym_e^tYYL0<#6j$+D>yHcDa z?(1Y}aTnQ5V^@mvyxfp6Xh`Q54yW#oUYyuzwJ_s2*Apo1EWWDW-EL!iSc%R)tQcKX zeZ1&vcru*KnwvO9o2Nl_2A{F@1UhgS*7(}|{T=w1I@xI}#)PfI1Mh?UiQG}&v&bjZ z5zcW=hpQ*>+fHVUZSD^fMY+e4oLCTGp-vx<*_!VBLvSVL zD>YO*3Z-MVTF|n&os7SJ*K7%ok#~(Aysu+m053t6Hk@I=S1*`EYgnmDFF)S)f-wV-GI za)V~*<2Px3nl=}9pOdvb1Ky8sO8&~524{~u@GHE-gz0#RbwSQ9M)p%T@zO#@2B7so zei?1SyG_aeC~#25n`OKL*dXt!Mj1bJv(|}8F2CgZbI{Cs0=wG34#r#02jd-UDqG46 zyUnt6v2&}(oyjEsjK1n5|J0kT677UJ7Fo!;oD9l_gjKCV@@D`kYl?0M`GXxeRnD!I z*O-wvH)8{p{1RGTUNQP&ElhZ&eZ}gQ<@KO;fU;JwjNupA=&SC^ak6Ol4XU=d{an!6 zIL=uV9L>t0z$;?ijH0K5C2Hy0?Ip_feZ={N@ea z?pkN!91B!?e0x_YU4F^evf^vG^Z(+rt~@VO=Y8cXslMKCnYAa-?du7wGDnGOqYv_&L0FYLeT5bFCTMhGjk`kZwlThm&Z{HkTV3&bAu{7t9mgG(RlVFX?D*$heyik1-+~`)B zxnQ2PD+)KMyz#zERg(RaV692wW+&rrY(qVP&wR`}P(EYL^M@SY3df@IGL&b=YcY6C z|Gc0l@N=9vwS~1*$om9&^*+2nI9A-{-Z2yHHelXOMru5V7ENXw9JLRyNn7HP3hdmf?1YcU>gl&5b(3xSlUUqYqro+?FN8C#1R%za+X9Y|yk zkm3r2>VOi_sX9HO7l0HOAoL?3b@+j5y*)Sxdq7oqX}XkqUHDz%ZNTqh@1v_(#+lPB zb>KyB<$_=;LnFKys}}?p6FCdnQqIo`u3hjzc&0aPbx$DQ+koF`UJrh!c+(#33FLYk z@SEfH;5XZwhIWkiy6~GxFI=&o=~$_arJVBQ=Jy0Pe85ig^89nsc0PG}R?;9m&}^SX zt(ci;b&hn^7a5(FBR1zmOq~wyp1v#zOXWt4o@uO;jnTIZ3rfp$cWgL9i%d_Tm*1Q| zGC?U%Wg~G^ozZNwV>#W(GYghVKjP07%(mppd+IctWIRWtqt$pt9D~9&Ufxmgl(hY5 z<&3)|DW3mq=8?%vLRFH%Ml1Nc9+ozz+1X{1c}AJn0Nzya%!1s1@*fwzhVpjjF+)$l zZ+4!= z#K=kEz&_n`cu<%Z3V7Z}O^olD9Z#R$e?EJDiqh1fR%)zHJ|@0d`&6Z~%OcxzE6~J; zmu8^8!qSvc>)KDda5cp5$5~$5Ww_hGb=RZ;uQ>;{+zR}lgKsUJ55Yf`P9Kyg7hd4A zWZVi&>EL7LSd&xxSUT8i>(JHr+4Uj@jIWw=kJ|0}K3o0={gSEY@6X8`oOWCB-}7(g z{MEG2SMItMnBUGX%zb6-d|xhrp?$Pvo_~ryD#gCAvRXI!s~|I{p+jc+K(Ska>-@EO zPurO+`z}6LOwo_F*cVEDa@W0z+inc*PR#M5Q7rTC)*?j0(@MN;MuGxF*O?$;G`@-q)4 zMw}cjv0n~9+V;R7rS#l~B)0WoiS0pr5Ah7*1w=n0TZ#{mh?$5pm-4m;$4fCshc6CD z*$Z*e#X^@|=)z4rW3`Z8xuJ4dRb|Dx z9sO{{KckN}uh^!Kc+(=W=PmsG$0~-rh8r1l&1ZWY+z2V|#Ef4%J~lU6lJ6R&8SrEX z_5r?TZSsu0a4A&FViD=Ckk2g1^kt-UPsW5uH?=734TaY32S0?Au7&uKUK%X%6#c}P zs$<;ssPF$Uy8kaLN8RrK|E)(K_XQVR2QI)e6Y#BCpsPV|MXYz@rvb4E@f_l1#OsKL zW$-XW2Vy>A8RAOB8pN%L^@#5wevH_HXod%B6%`A#MW7u5eF0z2N#0GCY2o!ug-INW z12dF7x&TO23i8Q?$i)b67y(0((j_;-KZQJ{Bu{eRj8x<)pYW5wluwuD2q%q@+_C~< z5~DJmC`AD&ZXKs6AU`I21T&W;NFm`>$R|uQgYbu#Pjs`1crs4w*GK%xz*G-i5G34g zaVyh{CJQm%8rxq1;UpE48p3PFC<0Vh(JU_U8l<9kuD<)U0x-*;qas3jWQ{!;c+^3+I+k^{xSQ8XXCNYNDET?)| zC1W((Dd-tp-D8Ya1qyn3Jy2E)1uOT*XvtBqa=Ve10|iq*;ojfgVH!iZi0Hs=0!4sU zDj3v<>2jlT+muqh>$<9(mcKp7rmLz-7%XE8 z##9M0>=~Z&L|m*^9b`}MDm@Qoj5@;@ri8O%Fn%M8%rT zON4x?!6o2_AYU0KUn}HOU#?VpoUsH(<+ls@xXm~Xn-91MT7`QBfvu>3ZqJZ}gl&ct z9;Z8yau|YJH4`_+P2De)_yC!-rBTo{9vAXS!+U)iV%cx_GaKXF+GR}I%Ko9Lha`0? z-o(n2I#bn1jc5`yrXar^Sj(px;xPx65FlpX5Ii za2Mpy0v{IjV;$}@2rD4lC@^$bIBB8YBoy!q`BcGm0ox%@3;jkx-jyg+0J2KJ1(06@ zTn9cmiJQ7Km~?vqhILX2F>DSBNWd4=3ho2mV3pVoq?(tV6XeOj3j$saIa+tOtL3S_ zl~|XR5aX7e#MRGWn^AxkZn1!0$d`LSzu_!3HWo!(^l9hRA9kYsRTtnQNR}=Ph05@LB2uFhyN=D4hsc>C_sDhHlct+-OM%l z903o(PDq=(IAkYY--v_1( zM05_N-#TErwWQ_m1CGImms*MP6WEDJ_&?p}(FA@20lH~Je@#OQz67TGFUlj(Aoh1) zx}!pWLPYu3faz`t{z^i|Az-=%Vo~uxG@Y(*Xbl_*OgAyo)%=|RV1t171Dgc=7I2J!PXL<*Og*p_J)#8sLD+90panYh{vPCB(3c$UiWx{}k&3{t`G%mH!sF2iU3NXgt>y-h)>|P(k`e0za59$$xLB zqy0YbliEne3O7nA^&BO#BK=k-M|#! z|4IuD#r+CMVQ_XoCIiw+`!VHjr!kg80$YR%2rE94z*Yh85HQKdV+fQmj8!9_Fys?t zCm{iP7pR0mY(1a&!}yqm8Y6~1&0~KUm*p2YR3sIPrxKJlWD0mXe;g(9$~6fy+lE>- zOcRPUoa}oZiesdmHj%`PSXV*y`54O*agJ)OW7)q!I%qi%%d4;aAsmLJ8sA1uQQE65MQ zh~6Q;J5aQcj=5oY5%A=B%DP7Kj{<+OKw^JU%Wn*me-2oCQZ!@GUJA?KKR`XnP?c2S z2?&UPkoYOE{LWU*{~}Dm#V}j}CE6PcD=O?jKD~J$7mLL@))OXg#*;)}AOljcr_hUH z3WPIgk5L2R>0!7Gc;Z}TR#J~V9G3qWFkSi~b}S6Sg9AHtFDr_&zIzdmgN5koTp9_`pd|_0MklM#i+u6f|!FLqrHseBeBGPF-O@u z3A=}bp}lg5)g`boz=?w2Or||S4P?+gVR#PkeP|KA+9ridfs^2@1uCu%livbtgwM@X z^4;w9FoAb~t%3n3!t+s+_TFa*cC6oo<^KU#?2*3$)1R$qJrcZ49^*eic>xA{lrc{X z!|7r8t}r|+3_lo#zZZr#ikQ0XT$shr@syt=yWbYYAoU?I{W*x%jxWRVuZH2?Fl@$g z=y`a~Qn{HiEDg97oLf!t!|- zZUBB6o^gjN|2}Z4Fwkd!&%%?I$oZIQ7sC{EhhY;PZ`42r4hN<`Nl|-;~P56k~K@HqHbg_?iL4aRbedA7=E1|BU` z__r_xUBEk$pQy?kshMgZauj~FE~n)#6ZkcBIh~rQ#f88>7KXrG4u-ZP&=#}?I0`Mm z0az~ZU)UDK)#6FyYk|n0gyGl2@S!k#0+_BMszc^xXTt>k3S21kz_qY^Jw8jU5vHXD z_{YF`Fos$4BsbUEAk%)eoO6PH(9g=42RHymw_*04_pXg%6}7>{(zN^nuL!5=Lqsmz*-;! z{u+jF3D}DK0eBG2Rm$Iwg=ZME(37betVpwg|JJ_;vQi^X1bZ|*BI%m4jAetuDDNx_U|+2eEg^?hgf z*`GBJUPd3kS1enxeuMn=`)Kq2O?q9uj?Zlv6-6Jg(lDfEzM&yGiauZEVyYbAuLIG? zt4mmnKjOb`NRFUSSNqMpt-%&SU#%{i`H%y)DEhqZ!}_(CPd$(vMa%AXjB^a1Xo%w* z55z<%->>ly#-Bfs98I5L_TrVuj;Z{Y2S!EF{_ePsGD+NjASRklak=2!islgqM@1 #include #include +#include + +#define EV_RECODER_CLOSE (1 << 0) + +static os_event_group_handle_t event; + +extern os_queue_handle_t user_listen_queue; + +static void listen_cb(dui_msg_t *msg) { + dui_msg_t m; + int ret; + while (1) { + ret = os_queue_receive(user_listen_queue, &m); + if (ret == -1) break; + if (m.type == RECORDER_CMD_STOP) { + os_event_group_set_bits(event, EV_RECODER_CLOSE); + } + } +} + int main(int argc, char **argv) { FILE *fd = fopen(argv[1], "rb"); @@ -11,13 +35,40 @@ int main(int argc, char **argv) { fseek(fd, 0L, SEEK_SET); fread(buf, 1, len, fd); + event = os_event_group_create(); - dui_library_init(buf, NULL); + dui_library_init(buf, listen_cb); + fclose(fd); dui_start_recorder(); while (1) { - sleep(20); + int buf[64]; + long frames; + while (1) { + struct timeval tv = { + .tv_usec = 50000 + }; + frames = -1; + fd = fopen("/sys/module/snd_soc_rockchip_vad/parameters/voice_inactive_frames", "r"); + if (fd) { + if (fgets(buf, sizeof(buf), fd)) { + frames = atol(buf); + } + fclose(fd); + } + sleep(1); + printf("\n frames = %d", frames); + + if (frames > 80000) { + dui_stop_recorder(); + os_event_group_wait_bits(event, EV_RECODER_CLOSE, true, true); + system("echo 0 > /sys/module/snd_soc_rockchip_vad/parameters/voice_inactive_frames"); + system("echo mem > /sys/power/state"); + // usleep(30 * 1000); + dui_start_recorder(); + } + select(0, NULL, NULL, NULL, &tv); + } } - dui_stop_recorder(); dui_library_cleanup(); return 0; } diff --git a/rk3308/aispeech-2mic-32bit/dds_client/example/main.o b/rk3308/aispeech-2mic-32bit/dds_client/example/main.o index 67d1c3b31022cabe429dac62cccb98a46d0505dd..34908892c27d405fa70dceaa4de4c55cac12f62e 100644 GIT binary patch literal 2836 zcmb_eONbm*6us4-=}G6~WH4kBW32f^JBd?WGd+=3Oq|JRC5thMi9!&ut*(BZE~mPy zQ}udc-1u3zQV@e62)Zyr77=FSO2t{2g&>kB2r5dDU{I8N6pb6lbL(SjYURQ^ygK*X zciz3PUcL8vo_lD{P!xq?Q>a8Y8PTQwpeH{SK#A7TTGHR2zD~I%G+-W>e`PUqk=|5x z7S7v-+FJhe?`1{*&Li$U;$XjyvIszyD#R>FcwE> zm`X>^hpaEkt*G2L!Q%qnNZE7`a94t>X58C6DxU{cM%6g?E3KY?Dy;DQ@tlz{sI+(?oI#xB;ML^`R(yLoeD^Dt z>0_@>~3wrY?QmEXSRhDo?l*YZA;Ybj%i7I zLDZVu;Uh;;4PAA&x~%~&td^_l>K^rfNFL;Bi*}r?>z)u^*_WmiMEhoE?^8>Ad$!Z? zTvw`-`b1UJC&xXjGOp`WQ!)v8{ti28Q*9&Jj~Y32dU&lG0eCS@1g{H*Iq@yz&4 zWf%3WE6nsOt1`vHn(SciR%L^-F*~GeQZ{F{C|ffl$`0khEQYMKYP%fK5<3cxq4;JFnnOZk*OPj{?P6le_m=BNT~2M>=S3k#&-Imd2b z1*!m_h#2?tyv`)}?tguDax@)ruAw9c z@p=sM%SOh0XNpgzIJHf?qgmwGz7(CBRi`mY+T6^6+5HC(>+oiS#{_$m{HX9_iXXdZ ztU+QybR_kB;nkuP$9tkD$n|T1Q}cu+a651y(AJK5Zm(POg{;+W=?C?x>2^hjn!XV8 z)Re+;5Oy5bqNXRzMtZD;AdY*ZXQO7_Grg0zgltJo%W?fMjtjw)T-)^;!lULffl|Ko zr0bCH2+^gkXLn>XNa9PkdsCa5=n2z~W{R6piZ=Pe5tig7&Y+by67>OfV39et^g8B1 z6<8c1nq=G*p0hGUYq%fC-=}yR(PqXik^XkVuO#?ZqPu~dPX}_o`y<_cMjY%pMwRFg zu$(7)6sQBA&%X{l%kjI2K4iqCKWD^+@&)U#2wwqp;5QuKLG(SxZz1}D<3Qf~9RHaS^=~ll z#QI^6^17&us5=Jax+Ngj)j5v3RYuH@H2-8%=w(r1W<4{`jq|F?DSTm*c?0QcIzjdhopN#Ke zOgGpoJb?e_sj?Fp-6 zi)(Rz?DKq*^W%Keagv0N=fb!2G#c9g_T^FNcz)P=K|Y?}UNj!gd!Owr$S0v2Jh?9S zKN2D5W$R`r_{|AfsA1jXXpFJF16|VMzNZnyyLRI~)=kF*80#35DK3F5q2X8%j&krG g13-S)cU1-7tAns!>pNXwH%DYn8}kbQ2YCv zv;lTnt^0-YNP$wpbQAd|EAPLhEM-nbXbULC8NW*+26CaPRX24X$ZNLm%!VJ~$43WeAmnIyv z_DW2bVtOs6*JFA!rgvldWlTfgat6EuB?Wx1RfSSF$Ux50G zCDDtg91St!(J;+j=XKy6uiqB~oHX#1;5!G;E9mST18+Xv=ay2^u}4byxb1o4IvVL) z>sJ!~n`g82TV5Ue^y~bW?l^?2s+<9f@+;S_aRQQFsDPWhfgr#%j2Xs+Jvlqe*x9+q3r+w diff --git a/rk3308/aispeech-2mic-32bit/dds_client/example/main_vad.c b/rk3308/aispeech-2mic-32bit/dds_client/example/main_vad.c deleted file mode 100755 index 229aa16..0000000 --- a/rk3308/aispeech-2mic-32bit/dds_client/example/main_vad.c +++ /dev/null @@ -1,69 +0,0 @@ -#include "dui.h" -#include "dui_msg.h" -#include "dui_thread.h" -#include "dui_queue.h" -#include -#include -#include -#include - -#define EV_RECODER_CLOSE (1 << 0) - -static dui_event_group_handle_t event; - -extern dui_queue_handle_t user_listen_queue; - -static void listen_cb(dui_msg_t *msg) { - dui_msg_t m; - int ret; - while (1) { - ret = dui_queue_receive(user_listen_queue, &m); - if (ret == -1) break; - if (m.type == RECORDER_CMD_STOP) { - dui_event_group_set_bits(event, EV_RECODER_CLOSE); - } - } -} - - -int main(int argc, char **argv) { - FILE *fd = fopen(argv[1], "rb"); - fseek(fd, 0L, SEEK_END); - int len = ftell(fd); - char *buf = (char *)malloc(len + 1); - fseek(fd, 0L, SEEK_SET); - fread(buf, 1, len, fd); - - event = dui_event_group_create(); - - dui_library_init(buf, listen_cb); - fclose(fd); - dui_start_recorder(); - while (1) { - int buf[64]; - long frames; - while (1) { - struct timeval tv = { - .tv_usec = 50000 - }; - frames = -1; - fd = fopen("/sys/module/snd_soc_rockchip_vad/parameters/voice_inactive_frames", "r"); - if (fd) { - if (fgets(buf, sizeof(buf), fd)) { - frames = atol(buf); - } - fclose(fd); - } - if (frames > 80000) { - dui_stop_recorder(); - dui_event_group_wait_bits(event, EV_RECODER_CLOSE, true, true); - system("echo 0 > /sys/module/snd_soc_rockchip_vad/parameters/voice_inactive_frames"); - system("echo mem > /sys/power/state"); - dui_start_recorder(); - } - select(0, NULL, NULL, NULL, &tv); - } - } - dui_library_cleanup(); - return 0; -}