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

Unified Diff: modules/audio_processing/test/py_quality_assessment/quality_assessment/signal_processing.py

Issue 3010413002: Total Harmonic Distorsion plus noise (THD+n) score in APM-QA. (Closed)
Patch Set: merge Created 3 years, 3 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: modules/audio_processing/test/py_quality_assessment/quality_assessment/signal_processing.py
diff --git a/modules/audio_processing/test/py_quality_assessment/quality_assessment/signal_processing.py b/modules/audio_processing/test/py_quality_assessment/quality_assessment/signal_processing.py
index 9a1f27978bbd79e4b7e6ad9e57cd099ab6ffb3f2..5beb3fb307ad473678704fc5ca94a5a6ffc4b121 100644
--- a/modules/audio_processing/test/py_quality_assessment/quality_assessment/signal_processing.py
+++ b/modules/audio_processing/test/py_quality_assessment/quality_assessment/signal_processing.py
@@ -148,6 +148,13 @@ class SignalProcessingUtils(object):
duration=len(template),
volume=0.0)
+ @classmethod
+ def AudioSegmentToRawData(cls, signal):
+ samples = signal.get_array_of_samples()
+ if samples.typecode != 'h':
+ raise exceptions.SignalProcessingException('Unsupported samples type')
+ return np.array(signal.get_array_of_samples(), np.int16)
+
@classmethod
def DetectHardClipping(cls, signal, threshold=2):
"""Detects hard clipping.
@@ -169,13 +176,7 @@ class SignalProcessingUtils(object):
if signal.sample_width != 2: # Note that signal.sample_width is in bytes.
raise exceptions.SignalProcessingException(
'hard-clipping detection only supported for 16 bit samples')
-
- # Get raw samples, check type, cast.
- samples = signal.get_array_of_samples()
- if samples.typecode != 'h':
- raise exceptions.SignalProcessingException(
- 'hard-clipping detection only supported for 16 bit samples')
- samples = np.array(signal.get_array_of_samples(), np.int16)
+ samples = cls.AudioSegmentToRawData(signal)
# Detect adjacent clipped samples.
samples_type_info = np.iinfo(samples.dtype)

Powered by Google App Engine
This is Rietveld 408576698