42 lines
1.6 KiB
Plaintext
42 lines
1.6 KiB
Plaintext
|
|
# Copyright 2021 The Chromium OS Authors. All rights reserved.
|
||
|
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
|
# found in the LICENSE file.
|
||
|
|
|
||
|
|
from autotest_lib.server import utils
|
||
|
|
|
||
|
|
AUTHOR = "chromeos-chameleon"
|
||
|
|
NAME = "audio_AudioNoiseCancellation.noisy_env"
|
||
|
|
PURPOSE = "Remotely controlled input noise cancellation audio test."
|
||
|
|
CRITERIA = "This test will fail if the captured audio does not reduce noise from the input."
|
||
|
|
TIME = "SHORT"
|
||
|
|
TEST_CATEGORY = "Functional"
|
||
|
|
TEST_CLASS = "audio"
|
||
|
|
TEST_TYPE = "server"
|
||
|
|
ATTRIBUTES = "suite:audio_advanced"
|
||
|
|
DEPENDENCIES = "board:volteer, audio_box"
|
||
|
|
JOB_RETRIES = 1
|
||
|
|
PY_VERSION = 3
|
||
|
|
|
||
|
|
DOC = """
|
||
|
|
This test checks if the speech quality is improved by NC when the input is mixed with noises.
|
||
|
|
During the test, the speech and noise files will be mixed and played by Chameleon, while DUT
|
||
|
|
records via the internal mic with NC enabled and disabled respectively. The score difference
|
||
|
|
calculated by ViSQOL with the speech file as reference should not be less than the threshold
|
||
|
|
specified in test_data.
|
||
|
|
"""
|
||
|
|
|
||
|
|
args_dict = utils.args_to_dict(args)
|
||
|
|
chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict)
|
||
|
|
|
||
|
|
# Test files are located in gs://chromeos-localmirror/distfiles/test_noise_cancellation
|
||
|
|
# Both files are 15-second, 1-channel, 16k-rate.
|
||
|
|
test_data = dict(speech_file='speech_ref.wav',
|
||
|
|
noise_file='office_noise.wav',
|
||
|
|
threshold=0.1)
|
||
|
|
|
||
|
|
def run(machine):
|
||
|
|
host = hosts.create_host(machine, chameleon_args=chameleon_args)
|
||
|
|
job.run_test("audio_AudioNoiseCancellation", host=host, test_data=test_data, tag='noisy_env')
|
||
|
|
|
||
|
|
parallel_simple(run, machines)
|