Bug: 156879015

Clone this repo:
  1. f7b2e0c [automerger skipped] Mark ab/7061308 as merged in stage. am: 42d4f7f02d -s ours am: 0ea8647337 -s ours by Xin Li · 11 months ago android-s-v2-preview-1 android12--mainline-release android12-dev android12-qpr1-d-release android12-qpr1-d-s1-release android12-qpr1-d-s2-release android12-qpr1-d-s3-release android12-qpr1-release master android-12.0.0_r16 android-12.0.0_r18 android-12.0.0_r19 android-12.0.0_r20 android-12.0.0_r21 android-12.0.0_r26 android-12.0.0_r27 android-mainline-12.0.0_r4 android-s-v2-beta-2 android-s-v2-preview-2
  2. 0ea8647 [automerger skipped] Mark ab/7061308 as merged in stage. am: 42d4f7f02d -s ours by Xin Li · 11 months ago
  3. 42d4f7f Mark ab/7061308 as merged in stage. by Xin Li · 11 months ago android-s-beta-4 android-s-beta-5 android-s-beta-1 android-s-beta-2 android-s-beta-3
  4. 98fd771 Mark ab/6881855 as merged am: 1358c17367 am: a701b9ae97 by Xin Li · 1 year, 2 months ago
  5. a701b9a Mark ab/6881855 as merged am: 1358c17367 by Xin Li · 1 year, 2 months ago

OpenHST : Open sourced Hotword Stress Test tool

Hotword stress test tool is a python script to measure the Google Hotword performance on Android devices with simple test set up. The goal of OpenHST is making Google Hotword Stress Test tool as an open source project so that Android Partners can easily adapt on their development.

Overview

Hotsord Stress Test concept diagram

Prerequsite

Before setting up your HST test environment, please make sure to meet following preconditions.

  • DSP hotword capability on test device (android handset)
  • ADB connection between the test server and android handset
  • Internet connection on android handset
  • No screen lock setting on android handset
  • Install Homebrew (Mac)
  • Install pyenv for Linux and Mac.
  • Install GNU make(3.81 above) on test machine (Linux, Mac, Windows)

Test environment setup

Please follow below steps to set up HST on your test machine and make sure that no error popped up during the installation.

Linux & Mac

  1. pyenv install 3.6.8
  2. pyenv shell 3.6.8
  3. make start
  4. chmod +x ./start_venv.sh
  5. source env/bin/activate
  6. ./start_venv.sh
  7. make proto-compile

Windows

  1. install python3.7.5
  2. make start
  3. .\env\Scripts\activate
  4. pip3 install -r requirements.txt
  5. Download protoc.ext (3.11.4 version) from github
  6. Decompress protoc-3.11.4-win64.zip and copy bin/protoc.exe to env/ folder
  7. Decompress protoc-3.11.4-win64.zip and copy include/* under env/include folder
  8. make proto-compile

Voice model training

Before conducting stress test, voice model should be trained with the recorded tts sound.

  1. Please follow the guide in “Train voice model” chapter in OEM Hotword Stress Test with OpenHST

Stress Test

Please refer to the guide in “Run Stress Test” chapter in OEM Hotword Stress Test with OpenHST and run the hotword stress test.

  1. python stress_test.py --test_name dsp_trigger_and_screen_off --num_iterations 3000 --output_root test_out
  2. Over 95% pass ratio from 3000 test cycle would be fair enough to declare that the device passed the hotowrd stress test

Contacts

Join our mailing list for discussions and announcements.