| Index: webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/simulation.py
 | 
| diff --git a/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/simulation.py b/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/simulation.py
 | 
| index ac20edc9d763ba67cc371cc8116dc978394c66c4..f7962001b30ad90b3c3682a05361b7f8ff2ed6fd 100644
 | 
| --- a/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/simulation.py
 | 
| +++ b/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/simulation.py
 | 
| @@ -6,24 +6,42 @@
 | 
|  # in the file PATENTS.  All contributing project authors may
 | 
|  # be found in the AUTHORS file in the root of the source tree.
 | 
|  
 | 
| +"""APM module simulator.
 | 
| +"""
 | 
| +
 | 
|  import logging
 | 
|  import os
 | 
|  
 | 
|  from . import audioproc_wrapper
 | 
|  from . import data_access
 | 
|  from . import eval_scores
 | 
| +from . import eval_scores_factory
 | 
|  from . import evaluation
 | 
|  from . import noise_generation
 | 
| +from . import noise_generation_factory
 | 
| +
 | 
|  
 | 
|  class ApmModuleSimulator(object):
 | 
| +  """APM module simulator class.
 | 
| +  """
 | 
|  
 | 
|    _NOISE_GENERATOR_CLASSES = noise_generation.NoiseGenerator.REGISTERED_CLASSES
 | 
|    _EVAL_SCORE_WORKER_CLASSES = eval_scores.EvaluationScore.REGISTERED_CLASSES
 | 
|  
 | 
| -  def __init__(self):
 | 
| +  def __init__(self, aechen_ir_database_path, polqa_tool_path):
 | 
| +    # Init.
 | 
|      self._audioproc_wrapper = audioproc_wrapper.AudioProcWrapper()
 | 
|      self._evaluator = evaluation.ApmModuleEvaluator()
 | 
|  
 | 
| +    # Instance factory objects.
 | 
| +    self._noise_generator_factory = (
 | 
| +        noise_generation_factory.NoiseGeneratorFactory(
 | 
| +            aechen_ir_database_path=aechen_ir_database_path))
 | 
| +    self._evaluation_score_factory = (
 | 
| +        eval_scores_factory.EvaluationScoreWorkerFactory(
 | 
| +            polqa_tool_path=polqa_tool_path))
 | 
| +
 | 
| +    # Properties for each run.
 | 
|      self._base_output_path = None
 | 
|      self._noise_generators = None
 | 
|      self._evaluation_score_workers = None
 | 
| @@ -38,12 +56,15 @@ class ApmModuleSimulator(object):
 | 
|      self._base_output_path = os.path.abspath(output_dir)
 | 
|  
 | 
|      # Instance noise generators.
 | 
| -    self._noise_generators = [
 | 
| -        self._NOISE_GENERATOR_CLASSES[name]() for name in noise_generator_names]
 | 
| +    self._noise_generators = [self._noise_generator_factory.GetInstance(
 | 
| +        noise_generator_class=self._NOISE_GENERATOR_CLASSES[name]) for name in (
 | 
| +            noise_generator_names)]
 | 
|  
 | 
|      # Instance evaluation score workers.
 | 
|      self._evaluation_score_workers = [
 | 
| -        self._EVAL_SCORE_WORKER_CLASSES[name]() for name in eval_score_names]
 | 
| +        self._evaluation_score_factory.GetInstance(
 | 
| +            evaluation_score_class=self._EVAL_SCORE_WORKER_CLASSES[name]) for (
 | 
| +                name) in eval_score_names]
 | 
|  
 | 
|      # Set APM configuration file paths.
 | 
|      self._config_filepaths = self._get_paths_collection(config_filepaths)
 | 
| 
 |