1*1c60b9acSAndroid Build Coastguard Worker# lws secure streams alexa 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard WorkerThis demonstrates AVS Alexa usage using secure streams. It connects to AVS, 4*1c60b9acSAndroid Build Coastguard Workeruses your linux computer's microphone to wait for the 'alexa' wakeword, sends 5*1c60b9acSAndroid Build Coastguard Workerthe utterance to AVS and plays back the result. 6*1c60b9acSAndroid Build Coastguard Worker 7*1c60b9acSAndroid Build Coastguard Worker## build 8*1c60b9acSAndroid Build Coastguard Worker 9*1c60b9acSAndroid Build Coastguard WorkerThere are some special build considerations: 10*1c60b9acSAndroid Build Coastguard Worker 11*1c60b9acSAndroid Build Coastguard Worker1) Build lws with cmake options `-DLWS_WITH_ALSA=1 -DLWS_WITH_SECURE_STREAMS=1` 12*1c60b9acSAndroid Build Coastguard Worker 13*1c60b9acSAndroid Build Coastguard Worker2) Install distro build dependency packages: 14*1c60b9acSAndroid Build Coastguard Worker 15*1c60b9acSAndroid Build Coastguard Worker |Dependency|Ubuntu package|Fedora Package| 16*1c60b9acSAndroid Build Coastguard Worker |---|---|---| 17*1c60b9acSAndroid Build Coastguard Worker |libasound|libasound2-dev|alsa-lib-devel| 18*1c60b9acSAndroid Build Coastguard Worker |mpg123|libmpg123-dev|mpg123-devel| 19*1c60b9acSAndroid Build Coastguard Worker 20*1c60b9acSAndroid Build Coastguard Worker3) Clone Picovoice Porcupine Apache-licensed demo version from here 21*1c60b9acSAndroid Build Coastguard Worker 22*1c60b9acSAndroid Build Coastguard Worker https://github.com/Picovoice/porcupine 23*1c60b9acSAndroid Build Coastguard Worker 24*1c60b9acSAndroid Build Coastguard Worker It provides binary libs for wakeword detection on various platforms. Copy 25*1c60b9acSAndroid Build Coastguard Worker the headers and binary lib to your build context, eg, for native x86_64 26*1c60b9acSAndroid Build Coastguard Worker 27*1c60b9acSAndroid Build Coastguard Worker``` 28*1c60b9acSAndroid Build Coastguard Worker $ sudo cp ./include/* /usr/include 29*1c60b9acSAndroid Build Coastguard Worker $ sudo cp ./lib/linux/x86_64/libpv_porcupine.* /usr/lib 30*1c60b9acSAndroid Build Coastguard Worker $ sudo ldconfig 31*1c60b9acSAndroid Build Coastguard Worker``` 32*1c60b9acSAndroid Build Coastguard Worker 33*1c60b9acSAndroid Build Coastguard Worker Enter the minimal example dir for secure-streams-alexa and make the sample 34*1c60b9acSAndroid Build Coastguard Worker 35*1c60b9acSAndroid Build Coastguard Worker``` 36*1c60b9acSAndroid Build Coastguard Worker $ cd ./minimal-examples/secure-streams/minimal-secure-streams-alexa 37*1c60b9acSAndroid Build Coastguard Worker $ cmake . 38*1c60b9acSAndroid Build Coastguard Worker $ make 39*1c60b9acSAndroid Build Coastguard Worker``` 40*1c60b9acSAndroid Build Coastguard Worker 41*1c60b9acSAndroid Build Coastguard Worker## usage 42*1c60b9acSAndroid Build Coastguard Worker 43*1c60b9acSAndroid Build Coastguard Worker``` 44*1c60b9acSAndroid Build Coastguard Worker $ ./lws-minimal-secure-streams-alexa 45*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:01:1097] U: LWS secure streams - Alex voice test [-d<verb>] 46*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:01:1115] N: lws_create_context: creating Secure Streams policy 47*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:01:1115] N: lwsac_use: alloc 1532 for 1 48*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:01:1119] N: lwsac_use: alloc 288 for 168 49*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:01:1119] N: lws_ss_policy_set: policy lwsac size: 1.796KiB, pad 11% 50*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:02:4114] N: lws_ss_client_connect: connecting 0 api.amazon.com /auth/o2/token 51*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:02:8686] N: auth_api_amazon_com_parser_cb: expires in 3600 52*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:02:8686] N: ss_api_amazon_auth_rx: acquired 656-byte api.amazon.com auth token 53*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:02:8754] N: lws_ss_client_connect: connecting 1 alexa.na.gateway.devices.a2z.com /v20160207/directives 54*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:02:3182] N: secstream_h2: h2 client entering LONG_POLL 55*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:02:3183] U: Connected to Alexa... speak "Alexa, ..." 56*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:06:9380] W: ************* Wakeword 57*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:06:9380] N: avs_query_start: 58*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:06:9381] N: lws_ss_client_connect: connecting 1 alexa.na.gateway.devices.a2z.com /v20160207/events 59*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:06:9381] N: lws_vhost_active_conns: just join h2 directly 60*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:06:9384] N: metadata done 61*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:06:1524] N: est: 42 1 62*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:06:3723] N: est: 108 1 63*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:07:5914] N: est: 352 1 64*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:07:8112] N: est: 4284 1 65*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:07:0300] N: est: 3369 1 66*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:07:2325] N: est: 577 1 67*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:08:4519] N: est: 9 1 68*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:08:6716] N: est: 3 1 69*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:08:6718] N: est: 11 1 70*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:08:8915] N: est: 10 1 71*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:08:8915] W: callback_audio: ended capture 72*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:09:0993] N: identified reply... 73*1c60b9acSAndroid Build Coastguard Worker^C[2019/10/16 16:22:14:3067] U: Disconnected from Alexa 74*1c60b9acSAndroid Build Coastguard Worker[2019/10/16 16:22:14:3123] U: Completed 75*1c60b9acSAndroid Build Coastguard Worker$ 76*1c60b9acSAndroid Build Coastguard Worker 77*1c60b9acSAndroid Build Coastguard Worker``` 78