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) |