1# OpenHST : Open sourced Hotword Stress Test tool 2 3Hotword stress test tool is a python script to measure the Google Hotword 4performance on Android devices with simple test set up. The goal of OpenHST is 5making Google Hotword Stress Test tool as an open source project so that Android 6Partners can easily adapt on their development. 7 8## Overview 9 10![Hotsord Stress Test concept diagram](docs/image/HST_concept_diagram.png) 11 12## Prerequsite 13 14Before setting up your HST test environment, please make sure to meet following 15preconditions. 16 17* DSP hotword capability on test device (android handset) 18* ADB connection between the test server and android handset 19* Internet connection on android handset 20* No screen lock setting on android handset 21* Install Homebrew (Mac) 22* Install [pyenv](https://github.com/pyenv/pyenv#installation) for Linux and Mac. 23* Install GNU make(3.81 above) on test machine (Linux, Mac, Windows) 24 25## Test environment setup 26 27Please follow below steps to set up HST on your test machine and make sure that 28no error popped up during the installation. 29 30__Linux & Mac__ 31 321. pyenv install 3.6.8 331. pyenv shell 3.6.8 341. make start 351. chmod +x ./start_venv.sh 361. source env/bin/activate 371. ./start_venv.sh 381. make proto-compile 39 40__Windows__ 41 421. install python3.7.5 431. make start 441. .\env\Scripts\activate 451. pip3 install -r requirements.txt 461. Download [protoc.ext (3.11.4 version)](https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protoc-3.11.4-win64.zip) from [github](https://github.com/protocolbuffers/protobuf/releases/tag/v3.11.4) 471. Decompress protoc-3.11.4-win64.zip and copy bin/protoc.exe to env/ folder 481. Decompress protoc-3.11.4-win64.zip and copy include/* under env/include folder 491. make proto-compile 50 51## Voice model training 52 53Before conducting stress test, voice model should be trained with the recorded tts sound. 54 551. Please follow the guide in "Train voice model" chapter in [OEM Hotword Stress Test with OpenHST](https://docs.google.com/presentation/d/e/2PACX-1vR5kjJfMZGMLMeyFV3AmzgGT1gniS1URztYqv4IJleWiSAtDNYNodsF1FMJHT57duP8CPr5oXvEEqCb/pub?start=false&loop=false&delayms=3000) 56 57## Stress Test 58 59Please refer to the guide in "Run Stress Test" chapter in [OEM Hotword Stress Test with OpenHST](https://docs.google.com/presentation/d/e/2PACX-1vR5kjJfMZGMLMeyFV3AmzgGT1gniS1URztYqv4IJleWiSAtDNYNodsF1FMJHT57duP8CPr5oXvEEqCb/pub?start=false&loop=false&delayms=3000) and run the hotword stress test. 60 611. python stress_test.py --test_name dsp_trigger_and_screen_off --num_iterations 3000 --output_root test_out 621. Over 95% pass ratio from 3000 test cycle would be fair enough to declare that the device passed the hotowrd stress test 63 64## Contacts 65 66Join our [mailing list](https://groups.google.com/g/openhst) for discussions and 67announcements. 68