More API features
This commit is contained in:
10
melo/api.py
10
melo/api.py
@@ -63,16 +63,17 @@ class TTS(nn.Module):
|
|||||||
return audio_segments
|
return audio_segments
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def split_sentences_into_pieces(text, language):
|
def split_sentences_into_pieces(text, language, quiet=False):
|
||||||
texts = split_sentence(text, language_str=language)
|
texts = split_sentence(text, language_str=language)
|
||||||
|
if not quiet:
|
||||||
print(" > Text split to sentences.")
|
print(" > Text split to sentences.")
|
||||||
print('\n'.join(texts))
|
print('\n'.join(texts))
|
||||||
print(" > ===========================")
|
print(" > ===========================")
|
||||||
return texts
|
return texts
|
||||||
|
|
||||||
def tts_to_file(self, text, speaker_id, output_path=None, sdp_ratio=0.2, noise_scale=0.6, noise_scale_w=0.8, speed=1.0):
|
def tts_to_file(self, text, speaker_id, output_path=None, sdp_ratio=0.2, noise_scale=0.6, noise_scale_w=0.8, speed=1.0, quiet=False, format=None):
|
||||||
language = self.language
|
language = self.language
|
||||||
texts = self.split_sentences_into_pieces(text, language)
|
texts = self.split_sentences_into_pieces(text, language, quiet)
|
||||||
audio_list = []
|
audio_list = []
|
||||||
for t in texts:
|
for t in texts:
|
||||||
if language in ['EN', 'ZH_MIX_EN']:
|
if language in ['EN', 'ZH_MIX_EN']:
|
||||||
@@ -109,5 +110,8 @@ class TTS(nn.Module):
|
|||||||
|
|
||||||
if output_path is None:
|
if output_path is None:
|
||||||
return audio
|
return audio
|
||||||
|
else:
|
||||||
|
if format:
|
||||||
|
soundfile.write(output_path, audio, self.hps.data.sampling_rate, format=format)
|
||||||
else:
|
else:
|
||||||
soundfile.write(output_path, audio, self.hps.data.sampling_rate)
|
soundfile.write(output_path, audio, self.hps.data.sampling_rate)
|
||||||
|
|||||||
Reference in New Issue
Block a user