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