Browse Source

[to #42322933] feat: change ans&aec pipeline output type to bytes

master
bin.xue 3 years ago
parent
commit
3f9a5d041f
2 changed files with 10 additions and 6 deletions
  1. +6
    -3
      modelscope/pipelines/audio/ans_pipeline.py
  2. +4
    -3
      modelscope/pipelines/audio/linear_aec_pipeline.py

+ 6
- 3
modelscope/pipelines/audio/ans_pipeline.py View File

@@ -113,10 +113,13 @@ class ANSPipeline(Pipeline):
current_idx += stride
else:
outputs = self.model(ndarray)['wav_l2'][0].cpu().numpy()
return {OutputKeys.OUTPUT_PCM: outputs[:nsamples]}
outputs = (outputs[:nsamples] * 32768).astype(np.int16).tobytes()
return {OutputKeys.OUTPUT_PCM: outputs}

def postprocess(self, inputs: Dict[str, Any], **kwargs) -> Dict[str, Any]:
if 'output_path' in kwargs.keys():
sf.write(kwargs['output_path'], inputs[OutputKeys.OUTPUT_PCM],
self.SAMPLE_RATE)
sf.write(
kwargs['output_path'],
np.frombuffer(inputs[OutputKeys.OUTPUT_PCM], dtype=np.int16),
self.SAMPLE_RATE)
return inputs

+ 4
- 3
modelscope/pipelines/audio/linear_aec_pipeline.py View File

@@ -126,6 +126,7 @@ class LinearAECPipeline(Pipeline):
}
"""
output_data = self._process(inputs['feature'], inputs['base'])
output_data = output_data.astype(np.int16).tobytes()
return {OutputKeys.OUTPUT_PCM: output_data}

def postprocess(self, inputs: Dict[str, Any], **kwargs) -> Dict[str, Any]:
@@ -145,9 +146,9 @@ class LinearAECPipeline(Pipeline):
}
"""
if 'output_path' in kwargs.keys():
wav.write(kwargs['output_path'], self.preprocessor.SAMPLE_RATE,
inputs[OutputKeys.OUTPUT_PCM].astype(np.int16))
inputs[OutputKeys.OUTPUT_PCM] = inputs[OutputKeys.OUTPUT_PCM] / 32768.0
wav.write(
kwargs['output_path'], self.preprocessor.SAMPLE_RATE,
np.frombuffer(inputs[OutputKeys.OUTPUT_PCM], dtype=np.int16))
return inputs

def _process(self, fbanks, mixture):


Loading…
Cancel
Save