Hilley commited on
Commit
f106107
1 Parent(s): e9dec03

Update api.py

Browse files
Files changed (1) hide show
  1. api.py +20 -0
api.py CHANGED
@@ -158,6 +158,26 @@ class ToneColorConverter(OpenVoiceBaseClass):
158
  return audio
159
  else:
160
  soundfile.write(output_path, audio, hps.data.sampling_rate)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
 
162
  def add_watermark(self, audio, message):
163
  if self.watermark_model is None:
 
158
  return audio
159
  else:
160
  soundfile.write(output_path, audio, hps.data.sampling_rate)
161
+
162
+ def convert_data(self, audio, sample_rate, src_se, tgt_se, output_path=None, tau=0.3, message="default"):
163
+ hps = self.hps
164
+ # load audio
165
+ audio = torch.tensor(audio).float()
166
+
167
+ with torch.no_grad():
168
+ y = torch.FloatTensor(audio).to(self.device)
169
+ y = y.unsqueeze(0)
170
+ spec = spectrogram_torch(y, hps.data.filter_length,
171
+ hps.data.sampling_rate, hps.data.hop_length, hps.data.win_length,
172
+ center=False).to(self.device)
173
+ spec_lengths = torch.LongTensor([spec.size(-1)]).to(self.device)
174
+ audio = self.model.voice_conversion(spec, spec_lengths, sid_src=src_se, sid_tgt=tgt_se, tau=tau)[0][
175
+ 0, 0].data.cpu().float().numpy()
176
+ audio = self.add_watermark(audio, message)
177
+ if output_path is None:
178
+ return audio
179
+ else:
180
+ soundfile.write(output_path, audio, hps.data.sampling_rate)
181
 
182
  def add_watermark(self, audio, message):
183
  if self.watermark_model is None: