Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Unified Diff: webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.py

Issue 2813883002: APM QA refactoring: render stream support, echo path simulation, new export engine (Closed)
Patch Set: merge Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.py
diff --git a/webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.py b/webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.py
index b495a74f3c5bda26081b546b09721eeac0194f44..ee08ff7b7f701b1b100ecf63b8234826284f036c 100755
--- a/webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.py
+++ b/webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.py
@@ -23,11 +23,14 @@ import os
import sys
import quality_assessment.audioproc_wrapper as audioproc_wrapper
+import quality_assessment.echo_path_simulation as echo_path_simulation
import quality_assessment.eval_scores as eval_scores
import quality_assessment.evaluation as evaluation
import quality_assessment.test_data_generation as test_data_generation
import quality_assessment.simulation as simulation
+_ECHO_PATH_SIMULATOR_NAMES = (
+ echo_path_simulation.EchoPathSimulator.REGISTERED_CLASSES)
_TEST_DATA_GENERATOR_CLASSES = (
test_data_generation.TestDataGenerator.REGISTERED_CLASSES)
_TEST_DATA_GENERATORS_NAMES = _TEST_DATA_GENERATOR_CLASSES.keys()
@@ -53,8 +56,20 @@ def _InstanceArgumentsParser():
'called'),
default=[_DEFAULT_CONFIG_FILE])
- parser.add_argument('-i', '--input_files', nargs='+', required=True,
- help='path to the input wav files (one or more)')
+ parser.add_argument('-i', '--capture_input_files', nargs='+', required=True,
+ help='path to the capture input wav files (one or more)')
+
+ parser.add_argument('-r', '--render_input_files', nargs='+', required=False,
+ help=('path to the render input wav files; either '
+ 'omitted or one file for each file in '
+ '--capture_input_files (files will be paired by '
+ 'index)'), default=None)
+
+ parser.add_argument('-p', '--echo_path_simulator', required=False,
+ help=('custom echo path simulator name; required if '
+ '--render_input_files is specified'),
+ choices=_ECHO_PATH_SIMULATOR_NAMES,
+ default=echo_path_simulation.NoEchoPathSimulator.NAME)
parser.add_argument('-t', '--test_data_generators', nargs='+', required=False,
help='custom list of test data generators to use',
@@ -87,6 +102,15 @@ def main():
parser = _InstanceArgumentsParser()
args = parser.parse_args()
+ if args.capture_input_files and args.render_input_files and (
+ len(args.capture_input_files) != len(args.render_input_files)):
+ parser.error('--render_input_files and --capture_input_files must be lists '
+ 'having the same length')
+ sys.exit(1)
+ if args.render_input_files and not args.echo_path_simulator:
+ parser.error('when --render_input_files is set, --echo_path_simulator is '
+ 'also required')
+ sys.exit(1)
simulator = simulation.ApmModuleSimulator(
aechen_ir_database_path=args.air_db_path,
@@ -95,7 +119,9 @@ def main():
evaluator=evaluation.ApmModuleEvaluator())
simulator.Run(
config_filepaths=args.config_files,
- input_filepaths=args.input_files,
+ capture_input_filepaths=args.capture_input_files,
+ render_input_filepaths=args.render_input_files,
+ echo_path_simulator_name=args.echo_path_simulator,
test_data_generator_names=args.test_data_generators,
eval_score_names=args.eval_scores,
output_dir=args.output_dir)

Powered by Google App Engine
This is Rietveld 408576698