From 80eb6da1dd74cc64d2146c31fab86328f748e880 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Thu, 28 Jul 2016 16:08:22 -0700 Subject: [PATCH 01/11] sleep 100ms instead of sleeping as function of rate --- .../com/examples/cloud/speech/StreamingRecognizeClient.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java index dad9c2d27fe..fa003a29e65 100644 --- a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java +++ b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java @@ -138,8 +138,8 @@ public void onCompleted() { .build(); requestObserver.onNext(request); // To simulate real-time audio, sleep after sending each audio buffer. - // For 16000 Hz sample rate, sleep 100 milliseconds. - Thread.sleep(samplingRate / 160); + // Sleep 100ms + Thread.sleep(100); } logger.info("Sent " + totalBytes + " bytes from audio file: " + file); } catch (RuntimeException e) { From 7d8f4b5248fe91e1a47786a2ec2df6ee641228ca Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Thu, 28 Jul 2016 20:47:34 -0700 Subject: [PATCH 02/11] added sleep as inverse of sampling rate --- .../examples/cloud/speech/StreamingRecognizeClient.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java index fa003a29e65..a5f26564e1e 100644 --- a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java +++ b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java @@ -60,6 +60,8 @@ public class StreamingRecognizeClient { private final SpeechGrpc.SpeechStub speechClient; + private static final int BUFFER_SIZE = 3200; //buffer size in bytes + private static final List OAUTH2_SCOPES = Arrays.asList("https://www.googleapis.com/auth/cloud-platform"); @@ -127,7 +129,7 @@ public void onCompleted() { // Open audio file. Read and send sequential buffers of audio as additional RecognizeRequests. FileInputStream in = new FileInputStream(new File(file)); // For LINEAR16 at 16000 Hz sample rate, 3200 bytes corresponds to 100 milliseconds of audio. - byte[] buffer = new byte[3200]; + byte[] buffer = new byte[BUFFER_SIZE]; int bytesRead; int totalBytes = 0; while ((bytesRead = in.read(buffer)) != -1) { @@ -138,8 +140,7 @@ public void onCompleted() { .build(); requestObserver.onNext(request); // To simulate real-time audio, sleep after sending each audio buffer. - // Sleep 100ms - Thread.sleep(100); + Thread.sleep(1000 * BUFFER_SIZE / samplingRate); } logger.info("Sent " + totalBytes + " bytes from audio file: " + file); } catch (RuntimeException e) { From d87d691237901e67b909c104496354ef58b3557d Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Thu, 28 Jul 2016 20:55:02 -0700 Subject: [PATCH 03/11] added LINEAR16 bytes per sample constant --- .../com/examples/cloud/speech/StreamingRecognizeClient.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java index a5f26564e1e..bdffbc17314 100644 --- a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java +++ b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java @@ -61,6 +61,7 @@ public class StreamingRecognizeClient { private final SpeechGrpc.SpeechStub speechClient; private static final int BUFFER_SIZE = 3200; //buffer size in bytes + private static final int LINEAR16_BYTES_PER_SAMPLE = 2; //bytes per sample for LINEAR16 private static final List OAUTH2_SCOPES = Arrays.asList("https://www.googleapis.com/auth/cloud-platform"); @@ -140,7 +141,7 @@ public void onCompleted() { .build(); requestObserver.onNext(request); // To simulate real-time audio, sleep after sending each audio buffer. - Thread.sleep(1000 * BUFFER_SIZE / samplingRate); + Thread.sleep((1000 * BUFFER_SIZE) / (LINEAR16_BYTES_PER_SAMPLE * samplingRate)); } logger.info("Sent " + totalBytes + " bytes from audio file: " + file); } catch (RuntimeException e) { From ff7ffbc81fbba0efd8672ea7e94062f29e071d83 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Thu, 28 Jul 2016 21:02:51 -0700 Subject: [PATCH 04/11] added few variables --- .../cloud/speech/StreamingRecognizeClient.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java index bdffbc17314..14e47daa1d7 100644 --- a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java +++ b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java @@ -60,8 +60,8 @@ public class StreamingRecognizeClient { private final SpeechGrpc.SpeechStub speechClient; - private static final int BUFFER_SIZE = 3200; //buffer size in bytes - private static final int LINEAR16_BYTES_PER_SAMPLE = 2; //bytes per sample for LINEAR16 + private static final int BYTES_PER_BUFFER = 3200; //buffer size in bytes + private static final int BYTES_PER_SAMPLE = 2; //bytes per sample for LINEAR16 private static final List OAUTH2_SCOPES = Arrays.asList("https://www.googleapis.com/auth/cloud-platform"); @@ -130,9 +130,12 @@ public void onCompleted() { // Open audio file. Read and send sequential buffers of audio as additional RecognizeRequests. FileInputStream in = new FileInputStream(new File(file)); // For LINEAR16 at 16000 Hz sample rate, 3200 bytes corresponds to 100 milliseconds of audio. - byte[] buffer = new byte[BUFFER_SIZE]; + byte[] buffer = new byte[BYTES_PER_BUFFER]; int bytesRead; int totalBytes = 0; + int samplesPerBuffer = BYTES_PER_BUFFER / BYTES_PER_SAMPLE; + int samplesPerMillis = samplingRate / 1000; + while ((bytesRead = in.read(buffer)) != -1) { totalBytes += bytesRead; StreamingRecognizeRequest request = @@ -141,7 +144,7 @@ public void onCompleted() { .build(); requestObserver.onNext(request); // To simulate real-time audio, sleep after sending each audio buffer. - Thread.sleep((1000 * BUFFER_SIZE) / (LINEAR16_BYTES_PER_SAMPLE * samplingRate)); + Thread.sleep(samplesPerBuffer / samplesPerMillis); } logger.info("Sent " + totalBytes + " bytes from audio file: " + file); } catch (RuntimeException e) { From a23abdcb7d36b3cf0218532a4691e634308a27ba Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Wed, 3 Aug 2016 17:38:04 -0700 Subject: [PATCH 05/11] added truth and log4j --- speech/grpc/pom.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/speech/grpc/pom.xml b/speech/grpc/pom.xml index ebeba6abf0c..7815ea0479c 100644 --- a/speech/grpc/pom.xml +++ b/speech/grpc/pom.xml @@ -152,6 +152,17 @@ limitations under the License. 1.1.33.Fork14 ${tcnative.classifier} + + com.google.truth + truth + 0.28 + test + + + log4j + log4j + 1.2.17 + From 0cee557e485491eeed3ef4580478cf92ff19c081 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Wed, 3 Aug 2016 17:38:27 -0700 Subject: [PATCH 06/11] added 32khz audio --- speech/grpc/resources/audio32KHz.raw | Bin 0 -> 165698 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 speech/grpc/resources/audio32KHz.raw diff --git a/speech/grpc/resources/audio32KHz.raw b/speech/grpc/resources/audio32KHz.raw new file mode 100644 index 0000000000000000000000000000000000000000..6b52fc326f8ff7b833f2e1aa57b1f4a381716f45 GIT binary patch literal 165698 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

~b1}c}8 zJXE)KZKakE9I8FL#X>xs4jRjVA?KvW|DRX@wZ~k}VjH}+>2w3j(owz$_o z%;0Y|sN(z4fmsAc;)MSnDq9(jSaB-H0pK*dsg1t!oTleW*CtZ?;Kw)LNm=F9at`H$(nj?VAI(6nb_JS&HqAC>6t)r}E9n2X$ED`8DTBEh+}Hu;QRXT1 zS|*}{`pw+HT%4|p$Mg#B<4Qbks=*t11F|rbCpT93n{IisaV=QeQ{u&J*vc6`hT-S( zpMlYwQ~RJEQ0Ibmbmr)%PQW2Q7bb0<&W7a>XTd>Ver^D z+HToC+H^Obxc_sL*lSy9n+Zd@2R=X;SYP^4mPoTHIFdI!vnY~rV~4`lHVd; zvjrOZCu>(!huTNEE7y|m({ary#nQ)r@ALUeOLL@D_^w%%TQH@IqVQSAI`IpC@mym$ z;Th-iRcuRdP%~A5H!uYz$U^$Tqln0AtY2SnW*P*}6%9w@cQJ?f42-K5PwZBD6yLxp zLJV616#@_7DEhQzpx@`|*m&T&byu=0;qou)++p&s-rpj1m-peyrMMw_&bn~zd&I|fD-i~@(1$K6eg@401-$A&u@Vn?IoUq z(jeEHQBkHCvj~;p(G6l>TS)J1IXK!xp&ts{qU;bKSjU#ol`acz^Z^um1~^21aH6ZI zX1jt-`-%3GAnCK|E_9&hQVA|;S^WO0fJ}B~4Vz5gVJ{f%P5%|5aU|=?9lE5a)G+*6 zw#qLhhg8+q&pX?*)_p29GNpXVmgJ(zZ<7uu?Mu3yWJ{iyoFV05%FfhH?n9m@UO{Rk zZ&O5Vfd5RuYsdrRybw(3f6Y@YVb-PSGa8|W-)%c?+hbd98?o)azZ{)tRD4&;R zOTWXOUM;P>~lW5{YH9Q z=TOIfFeXtJ*o9ERMOWPA62Ssd4CMD6W*+G}L znLj;IGXQtD{_1%}l8ef%q+!1K-oHHi+{aUoryNZ_nRGueO zmr3}Xa6a*D(%a{(p@(X35Rw3}n&{nu4n#{#fyywG_X9tY#Q;rPI)_BqM zbvAM4aQ<*?cXW1yIBubKscQGyPNJ(U#A>tzP2NXXsW~m@;Alm24HLTlxzs!h^DwcToM^)rmz%1WGkKpp}o*C8iKagtBUAXk-#k$KB<7b3U;jFj$L zqPCbAei@iT_H@bEh5UI8yY)CCw+=o}FX0ZAWcBT6>3|NQ2#S$M=ta7sK6nHRw7BUJ zs?}`tu!rIQaUTwMY2$a?A^U-r${>qdL5ADl5S%kDD^~ovv+%E|0vfZktYpWE3FHB1 z-9opaFcEVcx2n=G19s7IFp0%k@A?y;lQ>56Q7bYillY3S4r6ar=(EknbJI&VX(%{b zIEeKSP;*n@4LQ(S^i4xpnY+-3ZARC#9&h!@r%L!O{@dDMErIUHVI@Y+C>NE=`AT{V zd2+imq}o%g$)QO_68j`vjc*)ph>wU<;u^$Xi64+qIk93=_vBqEcK2LQ2Hz2>BMk3T z{&t2p#u_NTx0-k2nbjPRi81!K_JWQsj?s>>j$V$609m)~i|j4!zuLdq&e&F zX0zBnTh9|qozPS~vCM@X@CeqxbDS{dh?j*JV>)ALL$km@{{rop`W-jI(ef*)jr7&G z+}G7tmuQ;o``1?+w&eu5q>>5)bdR>sKZJZM4{P~VVY*ntblcRxe9)|-0_c7;*E-!9Jy}jY;$c2Y{ib zf=_Q_2kT8Aq&j!F67L(bKJ=#E`U?y@28M1!dJ2c>Y2-0>rzd{js2WS62$)Gn_%^;+ zs^Ane!rROs+HpTj628J%IRootD&JF@wdj>`FF93RR{v+@Q$4|KlUYrdu^#8f1^YH0 zsl$k%>~!;=X-BCyMpMP*(ms(JXH=IeDLmcMiX$byR7}DnaGYtt0mNE>g#DrOQk4oed)-PN+@+uM=w&& zC<#h6bq&>JU#@W@d^~F58B!CTMJ=-Qny8m6px<}FalC9Yp=Z&xQTK56_{QibXQP(N-i?-3x>P`2(9w;&z;EOq@^ce7$K)@`^Hb`j z=5%N9fijhT_I_ME)+ZgDKTC8%176Tqa&xG)p$LTs5q9P<2%x zAIfLVkFu+vwJ`6qTSHKHMWXsT%?>n-Sn{!kv@(Au7mY%9bz3NepUV%PwY~IDN3z%S zL=iZPtR$XVe4DaC*$+YxruIN1m`_`c!}dylPU`ylbQ%YsQ63E2s1a3Nf>@ebd>WPB z2D}&+!k4XUvYM{5#%E_A>4#V07CPM#)Ti~pk`7VR|2cw$aT z?pCCx8bmy8fG>R0_|o`|YoQoJg}l_7 zji?5j@SGN5H}@I;qpSTF{N6S^MMmQ*n06!J76sTxH`871!A{zkh^+?RPz3Hn9;(ia z?5xG<8~3FP`#bzSJj4C{wR!3qvGS>Bn>8RvL}7VeVcE?nPFj<=3Gj{T0Ajt-9E4vXW5{W>c5PC&WK z!KYeVXIj>q|1zx-mk~uX49vRlkJ84f)0B1cP01*A_C5BF^49WJ_V)B1^%nA-^tF(Z zrM>cCrMjAjIzD?Kry;XZAcl5{9dXwf2)8*iy4G>zM;kciS^A-rj6#1_l~rH}xYI_k zu1I)P<#eA$qo0+%0vv#u_}}005AtX5UqQv183yVIHJf@@8OM|7!87)-{5QDQA^C#* zO!lH(8cu9ySC^`xWZGrmDU4)>#BR9X?~Ee>WfzNfB00*`66SDluoL3oz0T zvda$?%fP@q4&O2#_}g@Nc5tG3)eQLetz#W@ptRk~v$_x#?;q-0LslvpLfANL{lRZL`brs%OzS)y!Fm7+FAm5Gjyz7caN zHY%=1f-5N^`AO<+&kf%V`Lep*{|A77Z*jfphB@An#a7au*>THJhDhq`?B?v?Y|mQ* zXKrV_Mne7aUg|`yAsPRUD!t(jH~^p}YTPKSD&kv(>k)vOWOiw3)+9nZ)cu zE@O5>x`1DcRG%vU$X})0(o~<jN+9>d=wgJrk5wE2vwj_Ik`j~#U}n9N-iu7!+` zsedvUj>E}tf>~~Y*;fx2>PzVC^K#7&zzVLTS~;7Y${euexvY*y@Id={2+X9C z+J3Dh447Ix-CaS-Mv(iC#(DX7@dL{LGvH*unU|Umqm;Y`lXNpkSp&0ZzJl_t6t1+Z z$(3G%6PaO-wq#PoUG8X4a&7}W#AA4$Pp9S|$jUj4J!lO((PI$&FygHZSl<>HjH!kq z;8Ck#6Na$<%!Uv8i5#gC{?N;an{T23yQdgCX*JN}3MgPg@hQH82hAiny#>SwFui8* z>{h~c`2nZ70Sq$yo&tGsV|(mBO2t2c_-Rih4Z;aV*$R1AK`3JBHv$RK)StKGGhCCjTN`h6eSvqC_l`HaZ@$k6CR&V6#zp0@dK@kOX_UFMjLii*&tz{@ zjs3ZQMplEytW^#9zhXYZp85lCsQ}MzW^nPAu$4BEqsa6bexn0(2dt()8E$b{*eR?C zySSPy{RRB8_JDn_uU1ksXz$gV@NYMRf6t|}G8vrwAbVe4Z36m&hD23y)|FiFWkZb% za3-H5B!G4OBj!Srw-G!dnns($Y{hlpJ^9pT^xGX#SPP&ai^Te5H&=u?LR%tTqHf;| z;#misZ~}b7ojCq?hwo7eY+RqLmmSPlpKI0#MZp}nS)cIUYehx>kI^aAhi$w~xJeEo zpdYAC&DskTZ2*k?t~g$oWi3pCfxL&`)Ca^h8{F1AU;JQUNLTUjPr=h_D2EwRsG!ii)II?PMB)joILaUQ}qX0~&tbDndtb3QIsjhxw> z9>-S)=EjbH96KC+99G9#dq(>#+efmiu9k`BW$Z}Xd0uxKHV2mZr)VS8@#r4jN)@ET zRCS5oo8F7wm)`Wg0lo*mMpSp>Dz7RXIsGq4CmY@@mn*)pS%LQtsB=v!NuYT zdtXm~Nm|vfwG(un#=z8k28J?MIV(r7mkjXj^*-?Y>)w?*B&Aw%)})My#S&V?Pl`Je zYl~eH(=4W8%!HUXF`Z)*Vz5lK@(pBkZn`qh~UHC>ofc06@#a|~sjD(5KS$VWUq zvro0Bv#-YObF%f5rMzVr`P3C^W(od$8AJU*8-I6gjJi$vf&bcP zEfSqX73#CihF5s>cL1Hdjn7~{R^Tzza>wY&d?1dJg;d^R=*QfplemIdYAcin-SX4z zypHG59MJG;T=4|-4BOdHTd*1i=!svXdpC-DGAC^Nd*GIO#aGLp!!OajJ5N0{l#Zrb zT|uv+pK?r=r8?3w-wUr1N0Sh@CnYL5JSi#h*TiNC%i_c1ev9+P-if^t`#rWq+=jT^ z@wekwCoE1pnq){Bl={)#%lpyyoBU4csy*|7tpK+L8!`$z|-gl2{n?twPF>y&$)^PZhZdJhKaDRfeN7d$i63UP5d=Vy!9$Yjl(0J)OR`?7HW1 z!OlQsr>pdqkuMz)&a+xwVbwaB<}5Iuzx_9%F77w!@Ra;PCU$|?TFMSsGYyB@1c$md zcw8)e&GqDR<><8B2ZFr4ze}~H^?0@7Qsl|x z)>6JCKTrC^z`8043*uwqhQ?)#i;hipasqk^NY;}6FS#~Q~GT;9Grd=9@O zmHqD-wcuUHL&pQW-RH7yov`P$PqIA(pXz7XV!n%_Fp?{acEV64(7``OTdQ7Y_R0uZ zla3QnW26bv66t{SK`Mlogh5%t?3RDj30e_26pI6;QQtJAn~1?cIjVQ-N zwTJ8j8}Y54LDt%e4pt7QI(ZIvvCF%Q#0;zf}sJ~N{X=+Xmm1tsDXGm zUdE-^C)$W4he^fH?-RP*E8Vc1SVBVnNDILml~E{cghbzS@;vWr3N1wZIt&7pqJfnszyPirpnibNP2(P=!6hxnlV2Xmt` z)%HtbYBpXz`FPgPz|U`;wo)}Dg8xJ7)C9kQ<@BDfvtE4>Bj{DXL^*z1+)Iyf4N=vV zO6)5cRaYWHg&%O4dafJz)Jr;ey@;zEa3zx9P2Y$2ei}6OIW=Hon z4wb|WVkL~ftTv38e(a~ys0U|pOrp=yi)&I(D9djMqvH~RZ|+5~^0lmQ6Vi4;7mD?b zOq9yQI(3C7sTX+X4^)Xdc8~!7VvjaWYfW$54L)}seabrO;xbHPDo9V`G?;l;-#M?% zTi4Us-8!{uO7Y|}NgWbbC47r-8UG-zUtG>Ob6oDYQE^FeE8|-w0aAQ8!iB;6? z4#Ro&HEZAuo@h1c538t#-h!1s<$bJXr{~^>is&6m$06Kr2X)$RbRSvCdl%q2 z>oVGvuB@Hu;UMaqMUB5PJDh_C?0hq+Gj5}b%Sg>Jn0)LSswkN{Fe5vB0j7_XCWoqw zMyM8w)D~QU)?lBN;ni5Ee&3^5y$Zhi7syIO_J*_MXxR+Use@Zk5xfLl=>u{e2kyH_ z>qBS0Fg;F>`b~X?#_OEA3(ij-bv1nrgPccd>YL-e=81RvQs1Qk?lxp=x5iq@KxZQ+}j2^qle*#5o{FsiuwgZyMWngbIchG~pFsLh{KH`HSV*vtNshc#j|XrzUevH@(%3F4o0 zYR-UuoZ@_z&>Lz8R;5SOO(Od@dI%ow_C9vA_F&^lU{Qaw8vTJTs2RvYb@1*g=t=6a zNB0L)*bka+Ljl}@b6-t9_SEPDv#Uw`bYx{}&CwM#-Vk9hOs%>+GghjUC}TJ}*(dC? zcp}1EG11vPk>>Q3feEy0QBV~Q#Id7~VG>;kOv76!@Mfc5E<)}5Lw&9O3$ijobt_e2 zXm*x{`}TWfPkqk-ce7Mu$`PEe$0Y2GS6P)jL{f{`Qn8I=|BB5TcQbBn{JeyPiCdEH zCWoZ>Sl%%|tC&r+$J(DbwmaK~ zd<;IiqPnAGr!=OI4{Z&DA!<*(7wi4J2}6|yZK#j{EbK+hkE_svl5<5L(Og^XY5 zgsh_b+L4_vk{&rD?K+N4q%hG#MrF|qzpA5R4 z3v~M^OuX{Kc=BWqo^q|ybiOM&kCWu(kHshKeaFf7#=^H~j1D-LD2VUC!N&@9V3d4e z|6W4xw={hd=Ae-2HKuc%5jL_6-#U@E0J_RjsHsM9wr7|qY5;@i!OxteC-jcp^9`BO zXE-WmaFe{SVbTd+K68Q0X*D?KS~}#b=;3syGn2qyJc+z47pveGxRtx9397>XJC~+J zuS#bjh8$`Y_o6Ws9^K5nBO5KstJUJq9W5UY#H*r1VGRMWl z{u6s8_FimMZ0WeYaV_GrkeR1XDw^COWl8Eyx5tysS5V3?=c0OdGL`44e>+|F9>$*F z#eLvusOD`<#VCD1c0kKPUGJnTUzs{+EUd*UJeg~#qg^1&`(flph>y^1 z4;AaNS`?x$QA4aI=3#9(Lq^|%UE&wAj4$j3tGLqH@b(``X7L{6Y6{%oOo7*Ew)?|! zX~6n4(!T@@@B~=kYx*TE;bA&KA$J=d8zS)qEJAj&1BGZw>aXdnkGkip1%?BxDA zjCnv1WDtaf6ALgz0R}SyWTgF&VRVPTN$cWrc>)>R#^tLzHP)VrpD$hxTBo2?zNq_$2p3I zbO`O}vW4{zn;SL@=iIqrYr-~#EeUHH_L$i@V?%d^yl|SGH5@bWK+bL(4xgpA2PZ6(qt1=$RQe%nQu><6f*&qjYLVio4V^OdWOQ_5WkT_ z_auwz3A<<^+>&<&7xhz5cD;&?c7FuM`W72vwP z2eZ^G(9En$K74%iNvzSZ^q#TrUBXpD_m;Rq-gFQ2<0QD$Y$}1aXel!@ulpl>%}aE1 z_MoL*3%7R(wc&KItVy7wb77~frczwVSx-lg+W|BpC(o?HJeBX%6&IN|Jrf30x3n%y zU%FF^Ku$LC{4B=FV+;t&aK8En6<-7P{5|wR`>VTP*n=ubgQZm8FuJk1y@NgH+!^q$ zE}rU5Nk}oLmPl=%Ixcl}>cP~jsn1hWQ%k#7x$}4)dZvR~kM|wJ^+@*BpxP=gf0B18 zqt!Z^04~^?ykUi*Df_k=URk0k+WZbYp(niG%Jzx&({`hyljDR#bk?E|*ab9Hb)0sL za+Ig*_YJJ!qWy3CG-mtRnTFQMmdp&6iq3_`HR` zo*j12GVOy_19u34>i8secsri>E9BE=V-+%&*T$kSKNgeE%wZ?&lIE~75KG zK@q*4yr@4}QFZd6=3w|U_{>hace-k#IXGu&@}+)!{~;W7U!ghpg15^5yrOF1Ff;}q zm&L3{BgnO?P)TGo{=!>U)*lyLmUw>ZBCj`%?7bQM|GMms9r>s*y@DgeR8<%TxyY4@ z5?Q9eJO4qt!|l-;l*Ton7MR-v`h441t0wqs`$hk2v*oTcnik(7r_lOfSGNgA5xwPVc+l_Yhpcajk9K9&fhLu zcKbGaRV2abdYV1M0>JbWbRQma;Rta)$pm(+n?GNF*ECtbr2Ju4#Sl5;T4&g zK8=qq)gz$+$Ygic=#AWg4=6t}2hLN6g!-?+v8+dj#0Tr-9+5Sd{XMT5qufvqa$Hls zki}JQs&2aN=RLQkqPtWHGF9Evf$BSYJyF_p9SwG_I zFqueJ^4mE?(RFIJ%l!W@qHPtbkq3fEM&FoTtshLW2enlg*mM>0;oihyUg0yiR5x;) zZ0s*tVDjhTeF!VxcVy%*?s{=M!4W&SF{_O%)Qw{@mvvg)w`SSQ4de_4oY3(iT4fUpa;ynru?e)BUyaVvW zE$Gd{#|OQ2eXo4=r9o0xsU`}R1)$b90rOf9@N4@ta z6SXWM06dvX9lcD$meEI3~lXZ-3Q3 ztJ_hu)KM#{b=mPJ5o6PE_UI1_d@<~*6#S^VQ6Fy8t`Jk1(z+?vh^uf`|8!{3Hj(jG zqEZ_Q0zL_T`31PyweXnJYw`r68@)>g_O33%7$R&AYt-^I2d)G3&X$s|H6{jT$k@FBiMoXE=JhSsmvRPqTSH8y4yBtRf}IzHR7U z3!_fyK}?J!wz|J~NLI@k+qiM4BBQsIUe`h8E?7x%IfZsn`z z(x#uEW$jx`_TCAFmhQ(;mdwxrhWi{|`aYhdzVP`9(=j*F;nW>>yN z*-hV|18Y|nP~9wGayC5Wn`!6NVsP%pfSea*{`WdLue?PnAl>oJ^tJRA@TuMxaFJGd z=XwA1?#JWws&}tpXODfSANiKC0Wz%X_!0I3rUkoqEkQ9)l^u}oJ zdV5x=R8$Am$-j5O37(A$g`f565!$MvtW%4L@L{ZLSy^pzu(mZMXB$SmjbsJuO7xZG zNvjHiHij76$#XY^SIR`^S=T>Jql32xx0{|sQw+@I*E~6Pcs))q`48}pkCS-~LsOLv z#$y(^cZ12i=JT1FRJV82I0#43zxYv@1whb8bG@e1KR*E1wFf>}byWkbgjl&b2zp<< zAJJNSI1WYRK2aQGn|s@zVg2MzCpg-^lC%#BF!e{l4=lBR(UHdfLlrh zoPAzVVeJGr{_0;Bs7nUfh&(t172zA90X#1|vja}xa@f;+!mOF=S!Oc(;j1O1wTX3x z^@`QYyv{Prh%C-b=P+jeeL*d{-r5iU!x+>s-7UXZF2V10m{0I3Sxhgfvs=)u-vZL| ziK?a+*}`p}?K))6o8cfTJWsR90Lrj7f53HVEfF&cW=eZF1BHkpojp*Gx@91|g5P+` zY7BQZE$xXKw;DV@UAun?eFwp9I(MF5pHbt1Q~Ngb3x z-)R^5`$}@vZB(wuIChcA|BjNdF#5f0FsX{LQ|1EwOkyRQPEPeqo2-@6yy_cj!1HvG zYp6HV@~gUX7~Yv>~Xp_xT*P zK?*Y;qd>sV@LX(%x$%;Eqa-=%NWA4X;PQ3}*2*Vp+l)ll@1PQo=uBq?zpl>RXiC<* zkepsMR0JiQV4T73HVPDK0Q=iGVty;g&@GV4yYw6XX7B3(;#r+sy&wDNF1~h@JZl;m zTXR0wh8=MbtJhH8_oKI0n_OEoMv^;S1bIA1b*DSAeFHZ=O%*$dm1rWX*fL^d6WQfj zm@tc|kB1W-Wz+m&@^gkAh@EakQwHMjHAf8VQbFRZI?qQYuGKqY=oG$22gudW@$p@9 zxZ9uze}kIO=U5JJYA;#W^)&Y%-R0*7m5g3XuEM)&9-YQ%)V!@x)!88?~ zMs#uu-{rN~VD{cdEixSyR6TPc>b@v6E*n^_a+schIJXB) zvNKKQ0Z715p`;LnvTPV0mgzv4|D!%S$#tH`j?j^3IX#YmceyqzL0sn2f164VzY{g1 ziK=lU@m3!+JP+MpJlg#lU6x18l>AFu$Qn0~&gdcb#(z*_Kh_=+dGFXK?d-43iMdT= zk>63q=Yp%&jq7`u3O+si&nWKjF>;tEF#@L zX1P21Nk}F$-M`ddUSBnVi{&AP{R#RzK}Gu(IM`BXaun268`?^SqSm5i5B5m8fy8pV zz+DPc>G2o}SP5rYjZU%!nktI)(0mP>(2E4e@~S2vBT8a79d!3}=X8I^R$A-&+tm&qP*(hjF6U3s zR=?vrxaQnXtac99YUdfeRDrJ2t~O-RE_IzG&m;r()(Wy6Gh^Ma0ll&y7U)GJa4Syu zb8zDRK*rxh>#D)|JVC$mszfyZ)f`%Wup>tj>pF^OTcPK0b+R72kSRXYI)ZCB|Nm+2 zWo?VcyEOQ}smNK2BJz3)f8`XSD6K$h%@2*eBkOGpG0_xg#Rth)8c2k#0H^&qCw(TG zZYku#J2=^D&R1u2@$&HTU^KD!=nFfH`AED0RK<4Xt0$K?howE5X=AR|WU)*^t2l>F z@d4b3uUNWqP*esG;c5~4`GY(5p;~1U>%0s9RXBOQ58w@NK<7yC;Hx;P@Qq?`Kf*5( zkx_y0inM6rA@G%)jIB1AEM4)E^u|&XjI&-y+F8iMD`;Fl;e{p^os-(&BxFEJFjUc z_B2S%WX9&jjS@VhD9{pKbG;`kD~8_%*C(Ez-*~XTK7c3W!tWBq*fV%?Oe=ApdW^pk zv&e_}Y5B>u$8g zBr^kO5p9TmEW$&0iKs#hbeDx%(7Je|x>9w}9Y1h){vUvB8AWyEc&z(zWFrpe_W{`a zefV2%e8WBdd)ENy>DToqGI$u0X$;p0e(vqDyXvtc=*Luu2T`d5gsrEbct%LO=_&9pID18p|ktsy<8(AbCv9(JJ?Mh zi1@h;AEdD0Lzh6)ZGhF@k7|S!obWp!x2ddlLF7;awChe#QztZ@HvHTf&H8UFyERyD z`>;cf!SyyH<7Sb;GJyBB!utCSi6&Ta#nG?|U>oLS_cB8r0nmrw{6$fP^%l)rt~b!e zC!QArZD`CTi1!J~Od5|CW+m5MP=|b>?JV4@40o;tx2?iY`O&cg`FkRtje?Q{<;DfZ zjiC2fc->7r=reS78<}_v9sdB|FEF=Po>L>Za$Yo?6g(-6@#W{7rGwEL-na;%n5H$ z%|x&nKEWYgk&Ai*Tk9-wvw!)1iQgU(o%;dUR3LJt81`2yIKba{gV!U?uR`%Lj5drD zQGq>g={eB@&}hX2GoSn-v2M0t^{isVGuVfIoX4iDQdxE|D=R7JfiC30Cp_ZfZQcW> z>oSk8c{*HXJi9)H(az?T#c1c7;W`K5?}GUH3d;Hk&k<`W3p-hab6L@2-8c8xUt>Ix zl5woW5bUrn_|t#q$&K&~)Zr9+F$C+dW0m-1RxCFQu-n~*8mmi}OgtN5lx#XJ5 zm6g57$0tglkyqm`4O!v#aIt}CRN~K?gESHzG#1X&2a0TsPSuQE`yJ|Q#d{m^>XW4`-zqF zq9+Odm%oQvvN67r%&In#hE~XfZrBrD8Dk6frxMm_4(1a84JJc_(eS(XWR5<8_Aa5T zZH2E-gMalQ64U^zvka9%WzZ&SQKi!wPjn|n(#dmmWkmfL-#B!+WsLqPXZ#K8=L4nX zVJE8c{Kn9O;5PR|PZ+_9Oo9St!IhUn4dPi@$F&O1HG@+-fVFDDXDUMHf^wM=no7;; zi@l?eQTr82yTiVpVeW#ed63bbLbtri8F~oq2x_EYU`9fZf@kT5GOV1zOsq!f|8}Y= zyU^MbSLwovbmQuRtZu{Anw9c?$OdYWPVBsIUR|X!aky)o0h6@U!4&3gs6@j~3+20Q99qc2F=W1rss? zX%x=PR)b$U0&BDb*~#@hRic&Ii<)L#qKsY))<2NMa&>?@#zHX{nYjxOg$lnF%sMx< zHn}|gjp7IQpF|=otqs)dzKE1yCtE&(;SO9U%+~ymwf`8Xt`1hXb zyNxzbo7eBW7Y;C$I_Gi39dF=unWnbXYETb5g`OXs(N$hkHKbCFU&@*UPRK2)b5ejE zQw2Xvcd`zX$lBVBwsMIan?6+Rlm_D>+1P_bTTe8840iknFoEw=-?k1!?wok1?bu*R z#NIkWV;#{y_Tb|;bsM$xhsZD*fs|d!37Nuqd4>*I3Y#hv+=i=A#}+i-POMfj^7vbz zd%oiD<)FnbaHXZ_t>1}(y+9wI>*108@KJW;Tx4Z$gV|B>T8@RkPK0}HMSiTpmniXw z+i)jA0lmzM48j9ZlTl5D@@H@k8gV+hb24wR@)6MGKxzpDueuhQ9&M1;DUo$aMkex! zSA$^jp51nucE&5zlM5<{fwphsMcmD-B+9lDx=t{2afW{5t2$IWgj2H;3#}Gh<0715 zBl6-p^8W!}kH`UVVb?U}l#Syg4dNt;EF8e6`a#i+4SeaR(Zs zSOw3}rPuS`ifB41ka9tsx0A@~a^%;S0Ka7|qx;Ob?=r?SoWi$^_XxA^ibmKRjvzR| zBfuJ(33qZZHmdn2*dF&3?Cp4^@JP7T}Zy zBC!Sg&Y#nr59+AKS(4LKmcOP)M#Op~*BvPDENdc2zaq;|@{F_W)GfvF35fAFyr3r-Eh|EZzyjOJF}P7*yGV%Bo;E56>W{&^7?VAdi0)dNZKas zST4Ad14;Opr|n~>7H}rUlC3ZrX)ziJG8u|m$CyOBxXUPy^4m0CpMs3p!D%_q=Pt7* zk6BY4|5J8!mm-{|V$8o7vQ9GXzIx=tZPrvQHYf64&?9}&enek>4K+MrH?A||gRH<2 zW-sxU!;EJyul&p1pL6$*d=E!IKFL@f@LM!A9uK#Q;2sgIQWU30@Z0^_GcSs*VEJZ- zgJ=Hl`h{#O@*$W#5&UDZI((6RqHBrnCe-ncCp~1oHyPD4e*2D0|G^r);I!Q4>nT(q z;}O(k!Sj{72->g@yPcj>;>F9&$c|@ZJqo~GYC;noJu;&Ue55>WjtX}j>woWzRL~>2Bjdr#xsvc9trNn$`Kvu9Q$#M9oP!T+Q@m@!cSY- z^PO1cf<=9lowpNC6)*;PDRbP-l6 zBa|%?TJ|EEH5TOQx17#*-1Q;re;2NJgL5D#*|+%ZK9{_9!E-{c@s79bPdsyny>odn zIz>-T;nBU)v-eq;eJ-9}j8(1f(YYFVq;qZdr8<}3QI~?Flw-ZC@|s{}7vNLkMfYOP zdhss>y;SfoV_EeW&-W<)7x^2>sKxGkfiC17PckF&qOE#SR)5_=baP+N*u03hvKN_H zhkTrsOrBj4bX7n2jbLI6re`v9!hMa-9}AtoXI)-!X5R9or<}Tb(CI^7dG9#`Ui?}w za;Q*>ARc?a;yh==&WwUt7eQ_H;9)fB8mh1mxg3D7M@gzaomVFTX z@pm5EMzE|Mth?Zgip?P!PP+eiQz>@3GW0CEaznU|7i+r;Tt_Io0^iGdR=yZ?Qqc1y ztKhY!M86a)&>xH{61sTL^W@A4=6D28e#>e<=6b@HXm5h&`IWN}|KDf~&WPZp#__+{ zOPta zp*s+36EB^#hT=14Q!oCG_j10l}aD#5(`NrT@b3A3ZDn zj_+P9S6NGq6%Z{Xm1kGI7_fp!ET=A*`N`bH?~;k1QnOBivFyd|74%r|y2)65;kdFF zG9DR&@F(H5GDCUx7tfvxO?rR+>KU2f!prrQcm7~)m?Y{f}H$+ zuX!=W1!>)jku4gUjNOZ3?VW}2P@!4DCl>FVU=7P1WEEx1E?)JbPkT|zB_{UklmCC6 zWwk}J2-W^V)c3Bv%*1=iPrtl_Ui4)-)xYq)h5kf?lv!9j|BHkYdh?<%i|yd$HeS4c zku<;7SjH@$k(tTpL?X!vlJ|IJj6BE7KfGs4cEgL7Ec5eXC;!5h7Bpoq61;cay}0|b zuX1@Ynq~h*&-9|Od#OTZAmf)22<6JE+ZczN`~5%b<}bpqua%JmDiTgEM1IR)I`dj;{c?6Vh--b;bM zIHY%VL~07J65b$ZL}o8L;YA;3aIAvJD4|C$TE1`rLB|)FCVGmXlnd?3?h1dCFE8~7 zXONYYz4y|+thSsRk$-Y$_y2NM`IJzE&9gr;B00a_b(K%Zy#Qr&s=p4kp^j7gp89YRP-!c}09j-~OACAdQP;`pi7Vha}H- zv)5kv?>)`(n)F{uVupT5s`MV+&(4^II>aZL#-pR8;(c<81fyJJc`8OM?{YD7Sq&Mx z=x!o0qj{dJr<1?Q8X3GEhaCEZ1|eFJyy~SJ@$$&Ni>Fdv4P?KA_?uK3#PFKNyv0fg z;cs$AWe^Uy&*~*%)nwp2YCP2+3p|$9kyQxeRhds9doB0W_ldCZRAfb_1@pXQJSa|{r|=$GHCb7MXs6s$?=jb0eHzR#IjuQ7d`AoHU_%@%dZu`$X{UD758B4>iiZir-GgArv9rwvX(Q z=t@?sQn83KGX{V1R7B^KC#jyb6V563_EK+p-kArQ5wDZjtr9W&!Y2}-x=7Fd1*6NQ zW(~hUm$DZ!C!v0!9y#$Y-Yu4EGISHmTF5yN>pdNNFS?-cLkr%CME>U0rh-{ngT0V- zQh6=dqa8?&oL2{pWgbtl53XP#yk_nh7-1pCS%4XZu&UsMV!ccMqUX?yoHvPjfQg0e zQxrQ<@XFIMx;WPCE_VM$?98jox-x#K5!lKdu^UnlgSd~6WC1qmb=IaJp3%yz!7J?1 zWqA0HGt*4i(R1+xZNd}MhIO2RC+!E>U%i=cH~du}@mF2Klh=Z^*o*h63ZChsW-&ZR zN68%N!mN+t-{`>g7j|xf*_e3H4SYoT}S-Hw! z>Er^Te=S%Fzw^{ByzeuVRR@pD9G<+5@ugGl;N|Pdc!kPDzDV>U9e#kJ_y+3m*M|5W zS7BX;dVJs2@js3wMoO-j`GY$<{M66CA^mHSgoq;(sVpx4eX zIXuyktau0fl#8&u#IkycUu_hYU`?VGH_3Tij)m{fyLRAdo5j3~aF_MmBNUI=8vKRJ zcwasCxdHy6hxm~Ckd0TDos47!98_VdSm39@v{2O3tj}r?DDDw4>I0?BV^?}Wo1d_9 zZH#j|7J39er+fUZDEACg<`H3Ng`et!*`6+!S3H>oZJ^2E9VleU4P`tU3phCW6 z_fKGLE@wX9c;yQ#Q{BU}0+cOaHPpr%ev6I?Cx}LhfAbQ4O^w~z!%ns(TG0-)tn$!! zU3|dp$t#=4UM+;iwvu9by+g5*ew%+FjbwsIUg_YK-Nu6dIJ?ZxdPT_nd1#?q7xz zIS60*A0E$EYDMy<*Rqp?@z`9(uVnYcX{2MB)LaK~;yUni9yt4Y-Y5RqaIE@gJXNZI z^Kr7qb6R__O9i0LP2Axj?|6gsh~j;b@KEv3rDv5ZaegKfl_?GHNo3_DFKs@v-NO3B zo8`IBIDBuv^DN;-=Qsfmk+s6vP44rIdy1wM#hv4knnBE^8uQJ?i960p?13BIf%6rI zSLNh;Q9hRhSC8lJlG`L&L{@mR%Fc;5>j!JDus`Cvc*~tZYvb>!pv#xcG8PW$)l3pN zPuaL%Zk`n8sdxX%Uh3R29sD>qPbfW>ACJtnZln2WGEwYKyaumo&zwY83Bi9@7wV2-RwJPKMa*CTd~bt? z_u8O^Sm=8Xr)nRxm6lZ+3-4~m+?L@*-wQAQ36H4F8U(SY={S?OnQ?1k=o8@9*@$gl zgiBUpL{B+&lAp1IueXf9Bzqv;P78AOKd|19&0v0(QTah_4nCWWh{p+2qAMTF8m!Pn zI7m(S)(u8Y@4VSEl{O!XW1EE_d6#tE#uI2HbR)Kck@Z`J5o-2uKdjJQR9_WwEDVLq{~xy&fQ z6N#z?#l^8c?-BdE$T_V27?8ex7$rGlq0G4r zGl*a$_gI&7{G7>yC$Wna&&KXeAvTi*ZKDsmLuW?d1D{<5oMC)P3(p9tj4oMrAuc-mcdyC%GFG!$HoRrtiZe?`9d!#Q*Fm5x2E3@tW=k7Q<7 zBs%njGmr-^TnaApjPtaf`y_BG!l1Ty~|Gdro@5?`R5F-vAtacH$JylV*8pTtVqbJCmgdsjHe zIC%ObsB;|Wzcy!DytDy)qBAF8JhawvjUMrr zY;e?O#A&K>p9IE!8tp~mKOdlrA5cdS`;v>*NX=8;a0y@khRn4?h0z{vw-Sx@80(PC zii>a2n`!+4?tGl+;}9g}KhWexR{tLNzQ(-g5}Vw~E?(wt-#9@TxPJ=ncMgux4IQjM zdwiRxi#;Pg8PWD*c;{W-aUZVn1)9jg{)xtX7=Cdc9+MF&Z^@~Z462Msn+NctZSbXo zd_t^1jl1|U!)WgNk@GK=34Tya8FpT*p8H76UF?vPJ*mdIZw7VOXLaRF6o-n%UX?7C zqU=gDq;m-mwFkq~euJhO@LC0CFa06K115egu^h#dAl7OktM-61d4?;TGblNibJ2x6 zQkgISjrdQrjy_z&IbXwwly@UKTbycq(H13la0GfpYxKDmM8^BFN^{Y^7NLu-h3+=7 z{+r-XbNPKMYyQ!*Zdswv^z4$igQWDCu8e%_3pI`7G>_wCO00ehdfF>bJE{Hc2;_o%F za0VkMTT{85!_$$tE&BPt?6UMqJ<00*#i#0%C0BwNcs4T^pKgeBlgyk^P~dOmDpaR7 zw+VaGmM2u<-e1V*`c9rjIx-gon{GN1RH}LRz$L=r0yo%OsR%d$mEPo}eDKK91UPgy z)?T9D<>2Z5Q0+tBvl>}9n0wbC3ZIoK6&Jmq;*4mn*HjK{pmv}+Rs1QyB)CAf>}b%& z>(Mo&GZjkX^jTa}z<8Xi&j&4gI~nxHsL;4g?Q0x4kJUk0TS8u7f{_RMS`5`C!@(QC z7Z#z3KVpBgQTaZFI*Xs+S~LXDY>9RpEJ0mMPiKLe)Y-QHHM|2?Pp}-iTe^VP)s3GA z(uZsSHQLRnVGIS2Ka$Gn%Y0ILxJ{)dtrHp0)u`pj4Jv3Lj)^32A-;eSa~oWMec&;y z0QF=gRI&*ak?kO_Z-i?8AtPoi6gHGR$sXkDx1rXfDtVG6)ZApTW*|S(Pc@Zjq|XH^ zh@_6J9p|qyD_IWdDe+2?;$j;-hsz&?cJ{CX(jWIE{AE77R~t>EFqBgrS`Z}edeBB* zvgfmdOQ2IHtdcPkZ=|J4C<8f`O`wQooWHJIqsjLBgOfM}s+fc}eHp3q6CNkI2TeIY zbI2^&ik%n^e~zF&Uem|BYBIg{Qeu1f5lXiFTB@G*W) zd~@ou)5izIKZzR~*CB3GT*>E_!NlV> zpKLj29c`;-&rZLb^}db$48NKFvHs0K)@mQ%8?f0QtW&=Ue#`v+^-BOrH>Lj$zoLGd zeSLhVfDnJ2T>KrjKwDeu2C7dx(ml?ic0(u4X`VLbP(?6+{N>spstlt4dVjY;hmoDG zWuQascJ1N1==wlye|=D(RO*60QEzhG$jm7@gccG8RkucW+)6Hb8ggWPp{BD?lGXB% zTIyIRsurC<@>z0gpOstY0V6$m<@MR8%<$Gr*quRC&18b7P2vnrqjvNmw0>R>reY+T zjt%4KWOh(rVyrR;f*&xPD%ShZKzX!;BK-eUsRUNcPt`)j{vdF^60||!{=BuM1Vg73 zNIHG2ed!1v2eN=-nFPXG2kLMY&}@6rkK_i`ZsFh~&7`7XI61#5)lJZqMY#+QTEJ-j zL^mG6*?wdeM;lv1#@!h70?|Ef@cohG=)5E2I)Kjw!ry8^y<6!crlt7f{^hyR5OBHlyqQ;FJdRIvNGMNNYHR7htmUXqi*P_ zsZRiHOkd?*=ql~pnEW|uX_6~(b>g_hq=Y{biX~)8uqEV5Xp&GXA$`J!`0)4}@u%Z2 z#(#?6NyWbr_d0G*T(0;W3GRfjq`AqP9Q~a=U4^NZucW*5g+@8-rsGOGur@}40W{B& z(fYtT$ClB4#XiF)gYR+Q8Gf1l`}*(k-{xP@|0ei>nf$)c?<>alf$s`>p+wP}sise6 zpBVcdkkhl-H&Xv`9hAtUaFF?+kz`V*qCYM6SUoMsFUoC3Q`6Z4v?~>CjO)~vECI!) zhh9z(1rsU=?Cs`cc)!vMgANk!LE#Ga=zPPlmDb@QiKXjR2P$|rQDeQAwLL+vkoRi5 znhJhXkuN`OqPiPR-2i1IJr!E zPySq65SqT33#nZUAj|GHUawcs+b9s$ES`GX!C?07p&OtHVqhPzD$apJS&<$ZGpzs6 z^D8a*%Y#6hO9TfjRtvUdqc7ZDY7Nq9mynjD;BEt`yUjyg(I#}yLTKH$&@`qaLwd13 ztFZhsFxO7#oH@|3ULiR&w9UTwx3-`yFGgBV$0PGY$%zb}?vb|Jsj9mL^35qIxG}Qz z6*V3)cAG$) z7=_H32FA}#eXD!CE7*BFxnXkMWZ&dyYGM(g)o1pW{CeZ0`yFYe4+&;veVN%kP}>*dE3=W2v%zm23i9?> z=>88dx@v(V(F;t8lT;6+hW<|ILCpLhh=NWdJJNVLlB5Z%ejbn6cj{`MP|K)MeOQCs z|K)I-2S~GJpfVWPHYt?Tcz{~)sX=J0o$&q@g37PK9d}Y^`H8hHg@(}>&BDig2R-fs zr}80HA*Jz~y+L1XjIKTx+i)8?*jM^~j6oth)O^%QR-#VjH)8T=UZlE3(jPL=pP?lAx!(}EfUO}&nUs)r6LUc5QzJEB`o z;3v@j#XB-7P zU<@dt(_KBClO55?gQ?n{n`EW$#eFa)DkS7g$dKTh5D~vSen@=F_+s%s@riM_<3>Vh zVR0dG?c@C7AH}ar7@b%%DJE%8@>Itk&eBvECAhEXU=5K?`B)jN<^;j0k0l-W!}Dy- z?S*}uK8Jk=&<&%P|2cpEfPw)PL2&LtCxf=bPgLv=P(0|fKk3heXmm^ z>9CKre+L!&qBXO1l;so1IFG0iNkWtLRhA*Q$oHiVFP5sZ(@BQx|^xM#z_cSj9uo;ZXFQ zTI@$%ewvEDz8JaD7H(0Cvs{kXQ)A;j!f$a4i%oKc?x6jwhNtY~=S;k-1D19@Y!%7! zuMJn2j!$tXp6v%z4P`{r`UARNi0l%C0Xy|~f^awtT(&=ukLAJWsYOj&b9!l32U$yJ z=P$s2H?r$eJ(ZWrvnN#hZp40ViXJA`<7IT;%N`$81eR73mXJiA#72_*;Q4sN$D)UJ z$DW;o&ajtr_KrHF5AZLil9sx)mUMHnskgxqNP$#sO+8K~^#PV{KYT74m9Mu@fMhLYrR{C{Zr*?TZ z2s`n5MZJ&vh%1ZhI2CK?UNV-)HaX1{?ovrB*vDe*Acj^m_{8)D>@f+ts&#gvnV{Ize zCRp>@p4*n#%ft2ZLR%MogZx_f%>$G0zTahd;8efbe(C*UeXsbg^Bv<`+1KH7o=#&e zk+Bc#Bj9*zY}stP(PvJ8!v7k~kPpZell?5n8Z3kR6a$~*6g<2Qm9z>v!(M$dwNMr4 zspED>y1#&V@{*dV*L?r!4x*Z`50$qU^*6d(PivHd66Y9O;abM5rJ$u<2f5lAn@jaew<+IRJIB|jJP}K`|>5Jln2H%eHEr7QE=KsFv z_3g-D?|}AGmCC2=9xN??=qHJNcTjs(7Ho~yaG7fCw=Y^#Y2;-=E{mFgOio53pFsxB zht|GQ>n2D8;hc~~=wac!HW&}ZVQk~bOI6-~DvR-PwRFdM^D1Kj^*?lh;w9jcA)=FVb>8*EM~cVKt;5Ghpa#q=gDyYhjTL? zU8%EnPAdYkac$7pOWEex?%1->@n$Fe3Y*Y{b3Z7VS9}i9-*th{M4!KW2K%(}Dd>}E zzi3}g@3-ISLlYKLZHuHRO_v!68s$ax=DH|bl_Rw(9T6)>jB=? z9600yYTKT(o-syB&iZg7So^T>-lHYuK~8nY2R0b4G6BEBNOuQvEFx*!>wL4P6i6et5CPFbid0o^=KDGx`RiH6b}+O)!X)?l-4LhfDTelL}B z@X6oQxA=I(H?#yasoyz!Z9U$el00=WT(yI;0lRW1zH|+bVtL0i!v99sc8`;`8>?Y1T3mkoV*NpZ$*a~x zd)tRL_%Gh8r%D<1II?{N{)>fXHFU*AaKp7wX=ZHHVGOx)a>T;5hzzUFtEj zp>HNo%~1zy=L9V*7#dfQsqYJ*gliq4DctwXHktv0a4meQvpH=J=6x|4(btEM_wh3TwjN@5*T z(F^lImoGt@-w7&fH!Of6bOy`J>MVWMW~2(p$oETE*hx#;`Za~?t~823n?9lf3YO?>O(9> zgQ)RxB=Ar4y+-h!DO86Kg5L787H3pHEdm6;KvYE%e3wlPbh>=HGBuPNmtGlan0@eF1)um)_@9 z;DwJlKe2E~!w7>u+M`E&#!EVZer-+6^=Q67c<((T9U1X$7F1@y4X-Jc)uzfnJSmLm zL|RV#4?JgQ%{S-~qdAFE{gH-P$0hi3VKnh%xUuA5%tt1aRH~TwvHP2YbGCwe_r&fm zfG=)1vEhI5(oDv?<}wyxk={W+Z4Y`z5|r2$&!^-a><39=CwlW;YW%Z-S9S>Gbw9d!TJ=2V`XDPb zn@ClDVjVZ|1n$E__mTap%kC6of80hjtcoA_14custI%QIp~Wn6a0l z_FPa|{{d^G3-(-UIyWzZA~#^q^yG7^`PqpK_)LAOg8f|&d3TVrev0b>k%{2{B2B~5 zHygm0qLGDl(Bf~h`>Bz}ufRT94L1x#D_ah#SzfIlo$a!Lh*=FEZ$|q5eByIkl&0X+ zA4Nu%!4LFZNrg-g!19Pi<39@Dx{T!RPjAw0Xhe(I_lnAJ^}90HXi9IKc&v+Z$^v$L z5;fmjj4x(+sZ>|?8iVu^#&2pNt%DM22pty0e|Jqur;Spl(A6o**q}^-1MkJ7R1I2Q z&r_E`spCn7tEAj83Yw$U6H~8TT&;I4=x|YSgB>_Ymm& zd0FvAth^xVodk7amA+oz1?I#;d}^Js3F?BS(?ai#KdT>BX9*-du#M#vxaEnRcdcB|niVxnVT-xvS6F31@ z;U;)CnqGiHF{5&VrkcHT#vXn1M#`%#Y*moL>LaANoTGx z4w_kz&Q)0TcyR5Wq3@N)0~8C+)K~QTgUTe(8gr?S&27pnyg>QT4aoB z_DPV|NzH?N?W=UdyWAU{Y!uq(-`JcPl|Sija)KVc8Ig%O(HtsKQMsBPP1lGYRPmOI}HL)w7G() zP-Y}~fO^yX3y*SIbco_gN_5b&>IA$K8I)O^_mV_Y))M{Q$C=2FSLZFfw3k{;8HD!z zO=+tQQ&V8y_$n2l`a?>PHU)h%JKQk~oiI-z9X^2jvY)jpps4C>I#;JQ-y3J~$6m&B zF#$a3lk^0!VHTI&7S>YZUk%e?v3cEn%NdwM;1F2UG zZ&|b+!`}Kcj`&4jaFD~ zg$DmS{CA*-Tb@9Ri^O8=NObBGwy)&bgrV&ZLGSxWd{6qCOI$vRC}XnG(@agqMs1`? zX6*8z#2R~>JK%)B5vM6?zJ}YMXJu;PZOsJ*zJPm18OK@cdFDeX^cWIoH{r5Akrv$6n$+zsewWNv_&KaX8JYJxh<*fYSL zeqezot8=xJrc?i{EVf)!b#^AVvP*5QscJOzHB6bUtyB+iR*oz4)REBOM$SYi=W)MM z%)De!JBe&90VjHoj`)CR>@a1Tx!yPdCb>klx0@gFt%ay(6&)F{$jppJOU5%c+#vIm z(vQz(qhnb`GaX*uCdwM(r2DPT$%-~lqpN%}AK^!Q%DVMo z-5Ws9oAB^=!+Y2atvO6Nhi~Dmxu1KdP?PEE77XJ42(=GgK`)@Yy4a6Z=s@}Km{Wgf zE-})hEwob(5@Xp-tgfN?0k7-=q+3sq&H0y6gnX$&JAs^Y4Vtcjmv0@u zmI=xjG_mqf$ysHq8jY>^4yiH;t7?t5<9qzVc`gWrej`GZTAiVMG-{ja;V4~| zQb?U1%2M#`Bu*Y@HpJ?hNL;njDMGUluo0K@p5&6&yP@Nfuy}k zS)v|M$QD&nYDHA(cXdrKtM zbMlTA#(47tKDB6gEzVRD9*-(Y1@y*_bhqqgcEa+dnif5-1tUD6 ztT)dZ#Imum@33xfpqwyH1z0WE8>aSA`Jg+E_UgZCEuK5e%+1+(g%^d~6FATp{J^mAG=V)+)gAo5&KynjqC57;8Eom!bQlOy4w)rAJRj6;^N4}9tws|$FRnDe;@QhR zHyQgFXFuZUU5NwiF_xM+)GTO@S(IsNXJrIYaEp2qkIoe+W-auZ+2U)!nredA zaX!AEEXo%mDly2%maNz$ES`2|ZDj{s&~1E#f?|wjNQyP^XUU&}$HG^O7>zlDJr} zi4S5E5zgP)lP2tZHS|HrGrncU6Aw#bu7k1ML-EfZfTN!^C&FtM8H3FcYHqZkpXfLv zjs8k&xJ`O;WiFs0cIO?Fn6-`_q9|vOYc@W))C?wC`o(;$r#3ebQyFT`G5VoFY(o>P zpky*XC|T7r+@IJi+RZHVypnj)ewstUg|m>=SP74Be{a*cD5keJcRY;_~2e>CGQ$3Bc!Ly#Rhl;sPD&u-Q<#v&7r88?&y>I*&ASfdqHv!Frv zs+sU7jZ+2~qs-pg7o{2hA7p(dkby9qjDdDoIdMeQW}*KagyQI`WAsqUYmZpZX;?ac znu01e8SdsX&m&nRTdf7L&^p*k=dkh$vvvWTWIskJHA5d5TL-A!VVpOMsm-Cy_Pkz# z-M@_0F`uYOTDV&aJQo%`>Eof-4rIv`gM$=-r%mLkZ?US{BU}12o~_u@&B-a5j+7n% zg2rE*owHadx$!8yH>TYmzYaC z-hBu<*2n>$MP5)@q;*C78AlX

-tiXzu8Q4_okujOMSRX-t4K5=!8BKN>=?!^D17K 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 Date: Wed, 3 Aug 2016 18:03:27 -0700 Subject: [PATCH 07/11] added Streaming Test --- .../speech/StreamingRecognizeClientTest.java | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java diff --git a/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java new file mode 100644 index 00000000000..2795ef3edb2 --- /dev/null +++ b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java @@ -0,0 +1,125 @@ +/* + * Copyright 2016 Google Inc. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.examples.cloud.speech; + +import static com.google.common.truth.Truth.assertThat; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +import java.io.File; +import java.io.IOException; +import java.net.URI; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.ArrayList; +import java.util.List; +import org.apache.log4j.Layout; +import org.apache.log4j.WriterAppender; +import org.apache.log4j.Logger; +import org.apache.log4j.Level; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.spi.LoggingEvent; +import org.apache.log4j.AppenderSkeleton; +import java.io.Writer; +import java.io.StringWriter; +import io.grpc.ManagedChannel; + +/** + * Unit tests for {@link StreamingRecognizeClient }. + */ +@RunWith(JUnit4.class) +public class StreamingRecognizeClientTest { + private TestAppender appender; + + @Before + public void setUp() { + appender = new TestAppender(); + Logger.getRootLogger().addAppender(appender); + } + + @After + public void tearDown() { + Logger.getRootLogger().removeAppender(appender); + } + + @Test + public void test16KHzAudio() throws InterruptedException, IOException { + URI uri = new File("resources/audio.raw").toURI(); + Path path = Paths.get(uri); + + String host = "speech.googleapis.com"; + int port = 443; + ManagedChannel channel = AsyncRecognizeClient.createChannel(host, port); + StreamingRecognizeClient client = new StreamingRecognizeClient(channel, path.toString(), 16000); + + client.recognize(); + assertThat(appender.getLog()).contains("transcript: \"how old is the Brooklyn Bridge\""); + } + + @Test + public void test32KHzAudio() throws InterruptedException, IOException { + URI uri = new File("resources/audio32khz.raw").toURI(); + Path path = Paths.get(uri); + + String host = "speech.googleapis.com"; + int port = 443; + ManagedChannel channel = AsyncRecognizeClient.createChannel(host, port); + StreamingRecognizeClient client = new StreamingRecognizeClient(channel, path.toString(), 32000); + + client.recognize(); + assertThat(appender.getLog()).contains("transcript: \"how old is the Brooklyn Bridge\""); + } + + /** + * + * TestAppender for JUnit tests to check logger output + */ + class TestAppender extends AppenderSkeleton { + private final List loggingEvents = new ArrayList(); + + @Override + public boolean requiresLayout() { + return false; + } + + @Override + public void close() {} + + @Override + protected void append(final LoggingEvent loggingEvent) { + loggingEvents.add(loggingEvent); + } + + public String getLog() { + StringBuilder builder = new StringBuilder(); + for(LoggingEvent event : loggingEvents) { + builder.append(event.getMessage().toString()); + builder.append("\n"); + } + return builder.toString(); + } + } +} From a253ebf9416a83d57c868337906459117f66bc21 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Wed, 3 Aug 2016 20:50:07 -0700 Subject: [PATCH 08/11] added unit tests for 16 and 32 khz audio --- .../speech/StreamingRecognizeClient.java | 16 +++++-- .../speech/StreamingRecognizeClientTest.java | 42 ++++--------------- 2 files changed, 19 insertions(+), 39 deletions(-) diff --git a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java index 14e47daa1d7..464c26a9844 100644 --- a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java +++ b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java @@ -43,8 +43,13 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.apache.log4j.ConsoleAppender; +import static org.apache.log4j.ConsoleAppender.SYSTEM_OUT; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.SimpleLayout; +import java.io.OutputStreamWriter; + /** * Client that sends streaming audio to Speech.Recognize and returns streaming transcript. @@ -76,6 +81,10 @@ public StreamingRecognizeClient(ManagedChannel channel, String file, int samplin this.channel = channel; speechClient = SpeechGrpc.newStub(channel); + + //Send log4j logs to Console + ConsoleAppender appender = new ConsoleAppender(new SimpleLayout(), SYSTEM_OUT); + logger.addAppender(appender); } public void shutdown() throws InterruptedException { @@ -94,8 +103,7 @@ public void onNext(StreamingRecognizeResponse response) { @Override public void onError(Throwable error) { - Status status = Status.fromThrowable(error); - logger.log(Level.WARNING, "recognize failed: {0}", status); + logger.log(Level.WARN, "recognize failed: {0}", error); finishLatch.countDown(); } diff --git a/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java index 2795ef3edb2..1819ed1c3f8 100644 --- a/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java +++ b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java @@ -40,7 +40,7 @@ import org.apache.log4j.WriterAppender; import org.apache.log4j.Logger; import org.apache.log4j.Level; -import org.apache.log4j.PatternLayout; +import org.apache.log4j.SimpleLayout; import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.AppenderSkeleton; import java.io.Writer; @@ -52,11 +52,13 @@ */ @RunWith(JUnit4.class) public class StreamingRecognizeClientTest { - private TestAppender appender; + private Writer writer; + private WriterAppender appender; @Before public void setUp() { - appender = new TestAppender(); + writer = new StringWriter(); + appender = new WriterAppender(new SimpleLayout(), writer); Logger.getRootLogger().addAppender(appender); } @@ -76,7 +78,7 @@ public void test16KHzAudio() throws InterruptedException, IOException { StreamingRecognizeClient client = new StreamingRecognizeClient(channel, path.toString(), 16000); client.recognize(); - assertThat(appender.getLog()).contains("transcript: \"how old is the Brooklyn Bridge\""); + assertThat(writer.toString()).contains("transcript: \"how old is the Brooklyn Bridge\""); } @Test @@ -90,36 +92,6 @@ public void test32KHzAudio() throws InterruptedException, IOException { StreamingRecognizeClient client = new StreamingRecognizeClient(channel, path.toString(), 32000); client.recognize(); - assertThat(appender.getLog()).contains("transcript: \"how old is the Brooklyn Bridge\""); - } - - /** - * - * TestAppender for JUnit tests to check logger output - */ - class TestAppender extends AppenderSkeleton { - private final List loggingEvents = new ArrayList(); - - @Override - public boolean requiresLayout() { - return false; - } - - @Override - public void close() {} - - @Override - protected void append(final LoggingEvent loggingEvent) { - loggingEvents.add(loggingEvent); - } - - public String getLog() { - StringBuilder builder = new StringBuilder(); - for(LoggingEvent event : loggingEvents) { - builder.append(event.getMessage().toString()); - builder.append("\n"); - } - return builder.toString(); - } + assertThat(writer.toString()).contains("transcript: \"how old is the Brooklyn Bridge\""); } } From d1fdc61c1e279a8d7056863f71deb38ce844bfb6 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Thu, 4 Aug 2016 00:22:36 -0700 Subject: [PATCH 09/11] checkstyle fixes --- .../speech/StreamingRecognizeClient.java | 13 +++++----- .../speech/StreamingRecognizeClientTest.java | 26 ++++++------------- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java index 464c26a9844..869d3fdecfb 100644 --- a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java +++ b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java @@ -16,6 +16,8 @@ package com.examples.cloud.speech; +import static org.apache.log4j.ConsoleAppender.SYSTEM_OUT; + import com.google.cloud.speech.v1beta1.RecognitionConfig; import com.google.cloud.speech.v1beta1.RecognitionConfig.AudioEncoding; import com.google.cloud.speech.v1beta1.SpeechGrpc; @@ -26,7 +28,6 @@ import com.google.protobuf.TextFormat; import io.grpc.ManagedChannel; -import io.grpc.Status; import io.grpc.stub.StreamObserver; import org.apache.commons.cli.CommandLine; @@ -35,6 +36,10 @@ import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.SimpleLayout; import java.io.File; import java.io.FileInputStream; @@ -43,12 +48,6 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.apache.log4j.ConsoleAppender; -import static org.apache.log4j.ConsoleAppender.SYSTEM_OUT; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.apache.log4j.SimpleLayout; -import java.io.OutputStreamWriter; /** diff --git a/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java index 1819ed1c3f8..d54c853c8ab 100644 --- a/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java +++ b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java @@ -18,34 +18,24 @@ import static com.google.common.truth.Truth.assertThat; +import io.grpc.ManagedChannel; +import org.apache.log4j.Logger; +import org.apache.log4j.SimpleLayout; +import org.apache.log4j.WriterAppender; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import java.io.File; import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; -import java.util.ArrayList; -import java.util.List; -import org.apache.log4j.Layout; -import org.apache.log4j.WriterAppender; -import org.apache.log4j.Logger; -import org.apache.log4j.Level; -import org.apache.log4j.SimpleLayout; -import org.apache.log4j.spi.LoggingEvent; -import org.apache.log4j.AppenderSkeleton; -import java.io.Writer; -import java.io.StringWriter; -import io.grpc.ManagedChannel; /** * Unit tests for {@link StreamingRecognizeClient }. From a44e692d2c7837f3fec7d3becda33c3c1a8416ca Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Thu, 4 Aug 2016 11:04:37 -0700 Subject: [PATCH 10/11] renamed to KHz --- .../com/examples/cloud/speech/StreamingRecognizeClientTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java index d54c853c8ab..c42e521ebff 100644 --- a/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java +++ b/speech/grpc/src/test/java/com/examples/cloud/speech/StreamingRecognizeClientTest.java @@ -73,7 +73,7 @@ public void test16KHzAudio() throws InterruptedException, IOException { @Test public void test32KHzAudio() throws InterruptedException, IOException { - URI uri = new File("resources/audio32khz.raw").toURI(); + URI uri = new File("resources/audio32KHz.raw").toURI(); Path path = Paths.get(uri); String host = "speech.googleapis.com"; From 4ac456e364821e41cebf1eb1b54e1014b37a16b3 Mon Sep 17 00:00:00 2001 From: Puneith Kaul Date: Thu, 4 Aug 2016 13:12:32 -0700 Subject: [PATCH 11/11] added comment --- .../com/examples/cloud/speech/StreamingRecognizeClient.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java index 869d3fdecfb..a302f2415c4 100644 --- a/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java +++ b/speech/grpc/src/main/java/com/examples/cloud/speech/StreamingRecognizeClient.java @@ -82,6 +82,9 @@ public StreamingRecognizeClient(ManagedChannel channel, String file, int samplin speechClient = SpeechGrpc.newStub(channel); //Send log4j logs to Console + //If you are going to run this on GCE, you might wish to integrate with gcloud-java logging. + //See https://github.com/GoogleCloudPlatform/gcloud-java/blob/master/README.md#stackdriver-logging-alpha + ConsoleAppender appender = new ConsoleAppender(new SimpleLayout(), SYSTEM_OUT); logger.addAppender(appender); }