| Index: webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/test_data_generation.py
|
| diff --git a/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/test_data_generation.py b/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/test_data_generation.py
|
| index 2fa49da6e385765c410a044ce3b76ef233441761..3d54da5fc2af3890841d89f615fce3ab6e411943 100644
|
| --- a/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/test_data_generation.py
|
| +++ b/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/test_data_generation.py
|
| @@ -33,6 +33,7 @@ except ImportError:
|
|
|
| from . import data_access
|
| from . import exceptions
|
| +from . import input_signal_creator
|
| from . import signal_processing
|
|
|
|
|
| @@ -109,6 +110,12 @@ class TestDataGenerator(object):
|
| base_output_path: base path where output is written.
|
| """
|
| self.Clear()
|
| +
|
| + # If the input signal file does not exist, try to create using the
|
| + # available input signal creators.
|
| + if not os.path.exists(input_signal_filepath):
|
| + self._CreateInputSignal(input_signal_filepath)
|
| +
|
| self._Generate(
|
| input_signal_filepath, test_data_cache_path, base_output_path)
|
|
|
| @@ -119,6 +126,33 @@ class TestDataGenerator(object):
|
| self._apm_output_paths = {}
|
| self._reference_signal_filepaths = {}
|
|
|
| + @classmethod
|
| + def _CreateInputSignal(cls, input_signal_filepath):
|
| + """Creates a missing input signal file.
|
| +
|
| + The file name is parsed to extract input signal creator and params. If a
|
| + creator is matched and the parameters are valid, a new signal is generated
|
| + and written in |input_signal_filepath|.
|
| +
|
| + Args:
|
| + input_signal_filepath: Path to the input signal audio file to write.
|
| +
|
| + Raises:
|
| + InputSignalCreatorException
|
| + """
|
| + filename = os.path.splitext(os.path.split(input_signal_filepath)[-1])[0]
|
| + filename_parts = filename.split('-')
|
| +
|
| + if len(filename_parts) < 2:
|
| + raise exceptions.InputSignalCreatorException(
|
| + 'Cannot parse input signal file name')
|
| +
|
| + signal = input_signal_creator.InputSignalCreator.Create(
|
| + filename_parts[0], filename_parts[1].split('_'))
|
| +
|
| + signal_processing.SignalProcessingUtils.SaveWav(
|
| + input_signal_filepath, signal)
|
| +
|
| def _Generate(
|
| self, input_signal_filepath, test_data_cache_path, base_output_path):
|
| """Abstract method to be implemented in each concrete class.
|
|
|