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

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

Issue 2711923002: Parallel iterator bash script for the quality assessment package. (Closed)
Patch Set: README file for the default output folder Created 3 years, 10 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.sh
diff --git a/webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.sh b/webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.sh
new file mode 100644
index 0000000000000000000000000000000000000000..593f03e98584a30d7389bb8d3930125d3f1f10c1
--- /dev/null
+++ b/webrtc/modules/audio_processing/test/py_quality_assessment/apm_quality_assessment.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS. All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+# Customize probing signals, noise sources and scores if needed.
+PROBING_SIGNALS=(py_quality_assessment/probing_signals/*.wav)
+NOISE_SOURCES=( \
+ "identity" \
+ "white" \
+ "environmental" \
+ "echo" \
+)
+SCORES=( \
+ "polqa" \
+ "audio_level" \
+)
+OUTPUT_PATH=output
+
+# Generate standard APM config files.
+chmod +x apm_quality_assessment-gencfgs.py
+./apm_quality_assessment-gencfgs.py
+
+# Customize APM configurations if needed.
+APM_CONFIGS=(py_quality_assessment/apm_configs/*.json)
+
+# Add output path if missing.
+if [ ! -d ${OUTPUT_PATH} ]; then
+ mkdir ${OUTPUT_PATH}
+fi
+
+# Start one process for each "probing signal"-"noise source" pair.
+chmod +x apm_quality_assessment.py
+for probing_signal_filepath in "${PROBING_SIGNALS[@]}" ; do
+ probing_signal_name="$(basename $probing_signal_filepath)"
+ probing_signal_name="${probing_signal_name%.*}"
+ for noise_source_name in "${NOISE_SOURCES[@]}" ; do
+ LOG_FILE="${OUTPUT_PATH}/apm_qa-${probing_signal_name}-"`
+ `"${noise_source_name}.log"
+ echo "Starting ${probing_signal_name} ${noise_source_name} "`
+ `"(see ${LOG_FILE})"
+ ./apm_quality_assessment.py \
+ -i ${probing_signal_filepath}\
+ -o ${OUTPUT_PATH} \
+ -n ${noise_source_name} \
+ -c "${APM_CONFIGS[@]}" \
+ -e "${SCORES[@]}" > $LOG_FILE 2>&1 &
+ done
+done
+
+# Join.
+wait
+
+# Export results.
+./apm_quality_assessment-export.py -o ${OUTPUT_PATH}
+
+# Show results in the browser.
+RESULTS_FILE="$(realpath ${OUTPUT_PATH}/results.html)"
+sensible-browser "file://${RESULTS_FILE}" > /dev/null 2>&1 &

Powered by Google App Engine
This is Rietveld 408576698