CoolFace
Apppublic

lenML/ChatTTS-Forge

sourceHugging Faceagpl-3.0updated 2y agoView on Hugging Face
301likes
synthesize_audio.py53 linesDownload Raw Back to modules
1from typing import Union2 3from modules.SentenceSplitter import SentenceSplitter4from modules.speaker import Speaker5from modules.ssml_parser.SSMLParser import SSMLSegment6from modules.SynthesizeSegments import SynthesizeSegments, combine_audio_segments7from modules.utils import audio8 9 10def synthesize_audio(11    text: str,12    temperature: float = 0.3,13    top_P: float = 0.7,14    top_K: float = 20,15    spk: Union[int, Speaker] = -1,16    infer_seed: int = -1,17    use_decoder: bool = True,18    prompt1: str = "",19    prompt2: str = "",20    prefix: str = "",21    batch_size: int = 1,22    spliter_threshold: int = 100,23    end_of_sentence="",24):25    spliter = SentenceSplitter(spliter_threshold)26    sentences = spliter.parse(text)27 28    text_segments = [29        SSMLSegment(30            text=s,31            params={32                "temperature": temperature,33                "top_P": top_P,34                "top_K": top_K,35                "spk": spk,36                "infer_seed": infer_seed,37                "use_decoder": use_decoder,38                "prompt1": prompt1,39                "prompt2": prompt2,40                "prefix": prefix,41            },42        )43        for s in sentences44    ]45    synthesizer = SynthesizeSegments(46        batch_size=batch_size, eos=end_of_sentence, spliter_thr=spliter_threshold47    )48    audio_segments = synthesizer.synthesize_segments(text_segments)49 50    combined_audio = combine_audio_segments(audio_segments)51 52    return audio.pydub_to_np(combined_audio)53