Bug: 156879015

Clone this repo:
  1. 1b5ad3e [automerger skipped] Merge tm-qpr-dev-plus-aosp-without-vendor@9467136 am: ec6cf132b8 -s ours am: 9ada1a0ae4 -s ours by Xin Li · 1 year, 9 months ago aml_hef_341811030 aml_rkp_341810000 android14-d2-release android14-d2-s1-release android14-d2-s2-release android14-d2-s3-release android14-d2-s4-release android14-d2-s5-release android14-dev android14-mainline-healthfitness-release android14-qpr1-automotiveos-release android14-qpr1-release android14-qpr1-s2-release android14-qpr2-release android14-qpr2-s1-release android14-qpr2-s2-release android14-qpr2-s3-release android14-qpr2-s4-release android14-qpr2-s5-release android14-qpr3-d1-release android14-qpr3-d1-s1-release android14-qpr3-d1-s2-release android14-qpr3-d1-s3-release android14-qpr3-release android14-qpr3-s10-release android14-qpr3-s11-release android14-qpr3-s12-release android14-qpr3-s13-release android14-qpr3-s14-release android14-qpr3-s2-release android14-qpr3-s3-release android14-qpr3-s4-release android14-qpr3-s5-release android14-qpr3-s6-release android14-qpr3-s7-release android14-qpr3-s8-release android14-qpr3-s9-release android15-release android15-s1-release android15-tests-dev android15-tests-release main master aml_cfg_341510000 aml_hef_341114030 aml_hef_341311010 aml_hef_341415040 aml_hef_341512030 aml_hef_341613000 aml_hef_341717050 aml_hef_341811030 aml_rkp_341012000 aml_rkp_341015010 aml_rkp_341114000 aml_rkp_341311000 aml_rkp_341510000 aml_rkp_341810000 android-14.0.0_r16 android-14.0.0_r17 android-14.0.0_r18 android-14.0.0_r19 android-14.0.0_r20 android-14.0.0_r21 android-14.0.0_r22 android-14.0.0_r23 android-14.0.0_r24 android-14.0.0_r25 android-14.0.0_r26 android-14.0.0_r27 android-14.0.0_r29 android-14.0.0_r30 android-14.0.0_r31 android-14.0.0_r32 android-14.0.0_r33 android-14.0.0_r34 android-14.0.0_r35 android-14.0.0_r36 android-14.0.0_r37 android-14.0.0_r38 android-14.0.0_r39 android-14.0.0_r40 android-14.0.0_r41 android-14.0.0_r42 android-14.0.0_r43 android-14.0.0_r44 android-14.0.0_r45 android-14.0.0_r50 android-14.0.0_r51 android-14.0.0_r52 android-14.0.0_r53 android-14.0.0_r54 android-14.0.0_r55 android-14.0.0_r56 android-14.0.0_r57 android-14.0.0_r58 android-14.0.0_r59 android-14.0.0_r60 android-14.0.0_r61 android-14.0.0_r62 android-14.0.0_r63 android-14.0.0_r64 android-14.0.0_r65 android-14.0.0_r66 android-14.0.0_r67 android-14.0.0_r68 android-14.0.0_r69 android-14.0.0_r70 android-14.0.0_r71 android-14.0.0_r72 android-14.0.0_r73 android-14.0.0_r74 android-15.0.0_r1 android-automotiveos-14.0.0_lts2 android-cts-15.0_r1 android-security-15.0.0_r1 android-vts-15.0_r1
  2. 9ada1a0 [automerger skipped] Merge tm-qpr-dev-plus-aosp-without-vendor@9467136 am: ec6cf132b8 -s ours by Xin Li · 1 year, 9 months ago
  3. ec6cf13 Merge tm-qpr-dev-plus-aosp-without-vendor@9467136 by Xin Li · 1 year, 9 months ago android-u-beta-1-gpl
  4. b382d9d [automerger skipped] Resolve security vulnerability. am: ed1d1ad4c0 am: fdce3c4cc7 am: cea35b433b -s ours by jschung · 1 year, 9 months ago
  5. cea35b4 Resolve security vulnerability. am: ed1d1ad4c0 am: fdce3c4cc7 by jschung · 1 year, 9 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

Note for voice match with query phrases, please use enroll_with_queries as test_name for voice match enrollment.

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.