From 9cff5ebf0a7bfe88531852d5648249d85a204403 Mon Sep 17 00:00:00 2001 From: weedge Date: Wed, 12 Mar 2025 16:27:59 +0800 Subject: [PATCH 1/8] fix: test bicodec to print model and params Signed-off-by: weedge --- sparktts/models/bicodec.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sparktts/models/bicodec.py b/sparktts/models/bicodec.py index 8cab2f0..e4a4202 100644 --- a/sparktts/models/bicodec.py +++ b/sparktts/models/bicodec.py @@ -228,11 +228,16 @@ def _remove_weight_norm(m): model = BiCodec.load_from_checkpoint( model_dir="pretrained_models/SparkTTS-0.5B/BiCodec", ) + device = "cpu" if not torch.cuda.is_available() else "cuda" + print(model) + model_million_params = sum(p.numel() for p in model.parameters()) / 1e6 + print(f"{model_million_params}M parameters") + model.to(device) # Generate random inputs for testing duration = 0.96 - x = torch.randn(20, 1, int(duration * 16000)) - feat = torch.randn(20, int(duration * 50), 1024) + x = torch.randn(20, 1, int(duration * 16000)).to(device) + feat = torch.randn(20, int(duration * 50), 1024).to(device) inputs = {"feat": feat, "wav": x, "ref_wav": x} # Forward pass @@ -241,7 +246,8 @@ def _remove_weight_norm(m): wav_recon = model.detokenize(semantic_tokens, global_tokens) # Verify if the reconstruction matches - if torch.allclose(outputs["recons"].detach(), wav_recon): + if torch.allclose(outputs["recons"].detach(), wav_recon, rtol=1e-3, atol=1e-5): + #if torch.allclose(outputs["recons"].detach(), wav_recon): print("Test successful") else: print("Test failed") From f127b853797e57a57dfa241b341e9d789ad7bdf5 Mon Sep 17 00:00:00 2001 From: weedge Date: Wed, 12 Mar 2025 17:04:18 +0800 Subject: [PATCH 2/8] fix: add cli/__init__.py Signed-off-by: weedge --- cli/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 cli/__init__.py diff --git a/cli/__init__.py b/cli/__init__.py new file mode 100644 index 0000000..e69de29 From 58c8d105573b7a049267aa0f0d228416cd9204d5 Mon Sep 17 00:00:00 2001 From: weedge Date: Wed, 12 Mar 2025 17:18:54 +0800 Subject: [PATCH 3/8] add TOKENIZER_PATH env for tokenizer paser Signed-off-by: weedge --- sparktts/utils/token_parser.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sparktts/utils/token_parser.py b/sparktts/utils/token_parser.py index cc43782..cc9cad9 100644 --- a/sparktts/utils/token_parser.py +++ b/sparktts/utils/token_parser.py @@ -156,10 +156,11 @@ def emotion(emotion: str): # test if __name__ == "__main__": + import os from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained( - "/aifs4su/xinshengwang/code/StyleCraft/tokenizer/stylecraft-bicodec-pitch-loudness-speed-emotion-tokenizer" + os.getenv("TOKENIZER_PATH", "/aifs4su/xinshengwang/code/StyleCraft/tokenizer/stylecraft-bicodec-pitch-loudness-speed-emotion-tokenizer") ) tasks = ["tts", "tts", "understand", "controllable_tts", "prompt_tts"] From 27e0648d0d275a9df8c8ae27571517ca4f588b4a Mon Sep 17 00:00:00 2001 From: weedge Date: Wed, 12 Mar 2025 17:25:33 +0800 Subject: [PATCH 4/8] assert tokens==inputs Signed-off-by: weedge --- sparktts/utils/token_parser.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sparktts/utils/token_parser.py b/sparktts/utils/token_parser.py index cc9cad9..9dbd13c 100644 --- a/sparktts/utils/token_parser.py +++ b/sparktts/utils/token_parser.py @@ -184,5 +184,7 @@ def emotion(emotion: str): inputs = [task, age, gender, mel, mel_level, loudness, loudness_level, emotion] inputs = "".join(inputs) ids = tokenizer.encode(inputs, add_special_tokens=False) - print(ids) - print("decode", tokenizer.decode(ids)) + print("tokenized ids",ids) + tokens = tokenizer.decode(ids) + print("decoded tokens", tokens) + assert tokens == inputs From 26b547d566315dfc5d1db682d0e353c5e716e62a Mon Sep 17 00:00:00 2001 From: weedge Date: Mon, 17 Mar 2025 17:40:04 +0800 Subject: [PATCH 5/8] feat: add stream inference (Inference Overview of Voice Cloning and Inference Overview of Controlled Generation) Signed-off-by: weedge --- cli/SparkTTS.py | 230 +++++++++-- cli/inference.py | 32 +- cli/inference_stream.py | 153 ++++++++ cli/streamer.py | 41 ++ example/prompt_recon.wav | Bin 0 -> 318124 bytes sparktts/models/audio_tokenizer.py | 17 +- sparktts/models/bicodec.py | 15 +- sparktts/utils/__init__.py | 20 + sparktts/utils/audio.py | 80 ++-- triton_python_backend_utils.py | 608 +++++++++++++++++++++++++++++ 10 files changed, 1099 insertions(+), 97 deletions(-) create mode 100644 cli/inference_stream.py create mode 100644 cli/streamer.py create mode 100644 example/prompt_recon.wav create mode 100644 triton_python_backend_utils.py diff --git a/cli/SparkTTS.py b/cli/SparkTTS.py index bc86ce3..34eb757 100644 --- a/cli/SparkTTS.py +++ b/cli/SparkTTS.py @@ -13,15 +13,21 @@ # See the License for the specific language governing permissions and # limitations under the License. +import logging +import math import re +from threading import Thread +import uuid import torch -from typing import Tuple +from typing import Generator, Tuple from pathlib import Path from transformers import AutoTokenizer, AutoModelForCausalLM +from sparktts.utils import ThreadSafeDict from sparktts.utils.file import load_config from sparktts.models.audio_tokenizer import BiCodecTokenizer from sparktts.utils.token_parser import LEVELS_MAP, GENDER_MAP, TASK_TOKEN_MAP +from cli.streamer import TokenStreamer class SparkTTS: @@ -29,7 +35,18 @@ class SparkTTS: Spark-TTS for text-to-speech generation. """ - def __init__(self, model_dir: Path, device: torch.device = torch.device("cuda:0")): + def __init__( + self, + model_dir: Path, + device: torch.device = torch.device("cuda:0"), + stream: bool = False, + stream_factor: int = 2, + stream_scale_factor: float = 1.0, + max_stream_factor: int = 2, + token_overlap_len: int = 0, + input_frame_rate: int = 25, + **kwargs, + ): """ Initializes the SparkTTS model with the provided configurations and device. @@ -37,11 +54,32 @@ def __init__(self, model_dir: Path, device: torch.device = torch.device("cuda:0" model_dir (Path): Directory containing the model and config files. device (torch.device): The device (CPU/GPU) to run the model on. """ + if stream is True: + # fast path to check params + # rtf and decoding related + assert ( + stream_factor >= 2 + ), f"stream_factor must >=2 increase for better speech quality, but rtf slow (speech quality vs rtf)" + self.stream_factor = stream_factor + self.max_stream_factor = max_stream_factor + assert ( + stream_scale_factor >= 1.0 + ), "stream_scale_factor should be greater than 1, change it according to your actual rtf" + self.stream_scale_factor = stream_scale_factor # scale speed + assert ( + token_overlap_len >= 0 + ), "token_overlap_len should be greater than 0, change it according to your actual rtf" + self.token_overlap_len = token_overlap_len + self.input_frame_rate = input_frame_rate + self.device = device self.model_dir = model_dir self.configs = load_config(f"{model_dir}/config.yaml") self.sample_rate = self.configs["sample_rate"] self._initialize_inference() + self.start_global_token_id = self.tokenizer.encode("<|start_global_token|>")[0] + self.start_semantic_token_id = self.tokenizer.encode("<|start_semantic_token|>")[0] + logging.debug(f"start_global_token_id:{self.start_global_token_id} start_semantic_token_id:{self.start_semantic_token_id}") def _initialize_inference(self): """Initializes the tokenizer, model, and audio tokenizer for inference.""" @@ -68,12 +106,8 @@ def process_prompt( Tuple[str, torch.Tensor]: Input prompt; global tokens """ - global_token_ids, semantic_token_ids = self.audio_tokenizer.tokenize( - prompt_speech_path - ) - global_tokens = "".join( - [f"<|bicodec_global_{i}|>" for i in global_token_ids.squeeze()] - ) + global_token_ids, semantic_token_ids = self.audio_tokenizer.tokenize(prompt_speech_path) + global_tokens = "".join([f"<|bicodec_global_{i}|>" for i in global_token_ids.squeeze()]) # Prepare the input tokens for the model if prompt_text is not None: @@ -138,9 +172,7 @@ def process_prompt_control( speed_label_tokens = f"<|speed_label_{speed_level_id}|>" gender_tokens = f"<|gender_{gender_id}|>" - attribte_tokens = "".join( - [gender_tokens, pitch_label_tokens, speed_label_tokens] - ) + attribte_tokens = "".join([gender_tokens, pitch_label_tokens, speed_label_tokens]) control_tts_inputs = [ TASK_TOKEN_MAP["controllable_tts"], @@ -154,6 +186,41 @@ def process_prompt_control( return "".join(control_tts_inputs) + def token2wav(self, generated_ids: torch.Tensor, gender: str, global_token_ids: torch.Tensor): + """ + generated_ids -- tokenizer.decode --> sematic tokens + global tokens -- audio_tokenizer.detokenize --> waveform + """ + #print("generated_ids", generated_ids) + # Decode the generated tokens into text (just a mapping, so quick,don't worry) + predicts = self.tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] + #print("predicts", predicts) + + # Extract semantic token IDs from the generated text + pred_semantic_ids = ( + torch.tensor([int(token) for token in re.findall(r"bicodec_semantic_(\d+)", predicts)]) + .long() + .unsqueeze(0) + ) + + if gender is not None: + # Tips: generated_id - global_vq_index = 151665 + global_token_ids = ( + torch.tensor( + [int(token) for token in re.findall(r"bicodec_global_(\d+)", predicts)] + ) + .long() + .unsqueeze(0) + .unsqueeze(0) + ) + + # Convert semantic tokens back to waveform + wav = self.audio_tokenizer.detokenize( + global_token_ids.to(self.device).squeeze(0), + pred_semantic_ids.to(self.device), + ) + + return wav + @torch.no_grad() def inference( self, @@ -184,13 +251,11 @@ def inference( Returns: torch.Tensor: Generated waveform as a tensor. """ + global_token_ids = None if gender is not None: prompt = self.process_prompt_control(gender, pitch, speed, text) - else: - prompt, global_token_ids = self.process_prompt( - text, prompt_speech_path, prompt_text - ) + prompt, global_token_ids = self.process_prompt(text, prompt_speech_path, prompt_text) model_inputs = self.tokenizer([prompt], return_tensors="pt").to(self.device) # Generate speech using the model @@ -209,28 +274,123 @@ def inference( for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] - # Decode the generated tokens into text - predicts = self.tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] + wav = self.token2wav(generated_ids, gender, global_token_ids) - # Extract semantic token IDs from the generated text - pred_semantic_ids = ( - torch.tensor([int(token) for token in re.findall(r"bicodec_semantic_(\d+)", predicts)]) - .long() - .unsqueeze(0) - ) + return wav + @torch.no_grad() + def inference_stream( + self, + text: str, + prompt_speech_path: Path = None, + prompt_text: str = None, + gender: str = None, + pitch: str = None, + speed: str = None, + temperature: float = 0.8, + top_k: float = 50, + top_p: float = 0.95, + ) -> Generator[torch.Tensor, None, None]: + """ + Performs inference to generate speech from text, incorporating prompt audio and/or text. + + Args: + text (str): The text input to be converted to speech. + prompt_speech_path (Path): Path to the audio file used as a prompt. + prompt_text (str, optional): Transcript of the prompt audio. + gender (str): female | male. + pitch (str): very_low | low | moderate | high | very_high + speed (str): very_low | low | moderate | high | very_high + temperature (float, optional): Sampling temperature for controlling randomness. Default is 0.8. + top_k (float, optional): Top-k sampling parameter. Default is 50. + top_p (float, optional): Top-p (nucleus) sampling parameter. Default is 0.95. + + + Returns: + torch.Tensor: Generated waveform as a tensor generator. + """ + global_token_ids = None if gender is not None: - global_token_ids = ( - torch.tensor([int(token) for token in re.findall(r"bicodec_global_(\d+)", predicts)]) - .long() - .unsqueeze(0) - .unsqueeze(0) - ) + prompt = self.process_prompt_control(gender, pitch, speed, text) - # Convert semantic tokens back to waveform - wav = self.audio_tokenizer.detokenize( - global_token_ids.to(self.device).squeeze(0), - pred_semantic_ids.to(self.device), - ) + else: + prompt, global_token_ids = self.process_prompt(text, prompt_speech_path, prompt_text) + model_inputs = self.tokenizer([prompt], return_tensors="pt").to(self.device) - return wav \ No newline at end of file + # session streamer, skip input prompt + streamer = TokenStreamer(skip_prompt=True) + + generation_kwargs = dict( + **model_inputs, + streamer=streamer, + max_new_tokens=3000, + do_sample=True, + top_k=top_k, + top_p=top_p, + temperature=temperature, + ) + # print("generation_kwargs", generation_kwargs) + + thread = Thread(target=self.model.generate, kwargs=generation_kwargs) + thread.start() + + is_meet_start_global_token = False + is_meet_start_semantic_token = False + controll_gen_global_token_ids = [] + semantic_token_ids = [] + + max_batch_size = math.ceil(self.max_stream_factor * self.input_frame_rate) + batch_size = math.ceil(self.stream_factor * self.input_frame_rate) + logging.info(f"init batch_size: {batch_size} max_batch_size: {max_batch_size}") + + for token_id in streamer: + if gender is not None: # Inference Overview of Controlled Generation + if is_meet_start_global_token is False and token_id != self.start_global_token_id: + continue + if is_meet_start_global_token is False and token_id == self.start_global_token_id: + is_meet_start_global_token = True + controll_gen_global_token_ids.append(token_id) + continue + # append global token until meet start_global_token + if ( + is_meet_start_global_token is True + and is_meet_start_semantic_token is False + and token_id != self.start_global_token_id + ): + controll_gen_global_token_ids.append(token_id) + + if is_meet_start_semantic_token is False and token_id != self.start_semantic_token_id: + continue + if is_meet_start_semantic_token is False and token_id == self.start_semantic_token_id: + is_meet_start_semantic_token = True + continue + # do batch stream until meet start_semantic_token + if is_meet_start_semantic_token is True and token_id != self.start_semantic_token_id: + # print(controll_gen_global_token_ids) + pass + + semantic_token_ids.append(token_id) + # if len(semantic_token_ids) % batch_size == 0: + if len(semantic_token_ids) >= batch_size + self.token_overlap_len: + batch = semantic_token_ids[: batch_size + self.token_overlap_len] + # Process each batch + sub_tts_speech = self.token2wav( + [controll_gen_global_token_ids + batch], gender, global_token_ids + ) # one batch + yield {"tts_speech": sub_tts_speech, "sample_rate": self.sample_rate} + semantic_token_ids = semantic_token_ids[batch_size:] + # increase token_hop_len for better speech quality + batch_size = min(max_batch_size, int(batch_size * self.stream_scale_factor)) + logging.info( + f"increase batch_size: {batch_size} token_overlap_len:{self.token_overlap_len}" + ) + + if len(semantic_token_ids) > 0: # end to finalize + # Process each batch + sub_tts_speech = self.token2wav( + [controll_gen_global_token_ids + semantic_token_ids], gender, global_token_ids + ) # one batch + yield {"tts_speech": sub_tts_speech, "sample_rate": self.sample_rate} + logging.info(f"last bath len: {len(semantic_token_ids)}") + + torch.cuda.empty_cache() diff --git a/cli/inference.py b/cli/inference.py index 349f7ea..781f39a 100644 --- a/cli/inference.py +++ b/cli/inference.py @@ -42,9 +42,7 @@ def parse_args(): help="Directory to save generated audio files", ) parser.add_argument("--device", type=int, default=0, help="CUDA device number") - parser.add_argument( - "--text", type=str, required=True, help="Text for TTS generation" - ) + parser.add_argument("--text", type=str, required=True, help="Text for TTS generation") parser.add_argument("--prompt_text", type=str, help="Transcript of prompt audio") parser.add_argument( "--prompt_speech_path", @@ -52,12 +50,8 @@ def parse_args(): help="Path to the prompt audio file", ) parser.add_argument("--gender", choices=["male", "female"]) - parser.add_argument( - "--pitch", choices=["very_low", "low", "moderate", "high", "very_high"] - ) - parser.add_argument( - "--speed", choices=["very_low", "low", "moderate", "high", "very_high"] - ) + parser.add_argument("--pitch", choices=["very_low", "low", "moderate", "high", "very_high"]) + parser.add_argument("--speed", choices=["very_low", "low", "moderate", "high", "very_high"]) return parser.parse_args() @@ -107,10 +101,24 @@ def run_tts(args): logging.info(f"Audio saved at: {save_path}") +""" +# Inference Overview of Controlled Generation +PYTHONPATH=./ python cli/inference.py \ + --text "身临其境,换新体验。塑造开源语音合成新范式,让智能语音更自然。" \ + --save_dir "example/results" \ + --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ + --gender female --pitch moderate --speed high + +# Inference Overview of Voice Cloning +PYTHONPATH=./ python cli/inference.py \ + --text "身临其境,换新体验。塑造开源语音合成新范式,让智能语音更自然。" \ + --save_dir "example/results" \ + --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ + --prompt_text "吃燕窝就选燕之屋,本节目由26年专注高品质燕窝的燕之屋冠名播出。豆奶牛奶换着喝,营养更均衡,本节目由豆本豆豆奶特约播出。" \ + --prompt_speech_path "example/prompt_audio.wav" +""" if __name__ == "__main__": - logging.basicConfig( - level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" - ) + logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") args = parse_args() run_tts(args) diff --git a/cli/inference_stream.py b/cli/inference_stream.py new file mode 100644 index 0000000..511be62 --- /dev/null +++ b/cli/inference_stream.py @@ -0,0 +1,153 @@ +# Copyright (c) 2025 SparkAudio +# 2025 Xinsheng Wang (w.xinshawn@gmail.com) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import os +import argparse +import torch +import soundfile as sf +import logging +from datetime import datetime +import platform + +from cli.SparkTTS import SparkTTS +from sparktts.utils.audio import merge_numpy_darray + + +def parse_args(): + """Parse command-line arguments.""" + parser = argparse.ArgumentParser(description="Run TTS inference.") + + parser.add_argument( + "--model_dir", + type=str, + default="pretrained_models/Spark-TTS-0.5B", + help="Path to the model directory", + ) + parser.add_argument( + "--save_dir", + type=str, + default="example/results", + help="Directory to save generated audio files", + ) + parser.add_argument("--device", type=int, default=0, help="CUDA device number") + parser.add_argument("--text", type=str, required=True, help="Text for TTS generation") + parser.add_argument("--prompt_text", type=str, help="Transcript of prompt audio") + parser.add_argument( + "--prompt_speech_path", + type=str, + help="Path to the prompt audio file", + ) + parser.add_argument("--gender", choices=["male", "female"]) + parser.add_argument("--pitch", choices=["very_low", "low", "moderate", "high", "very_high"]) + parser.add_argument("--speed", choices=["very_low", "low", "moderate", "high", "very_high"]) + parser.add_argument( + "--stream-factor", type=int, default=2, help="Synthesis audios stream factor" + ) + parser.add_argument( + "--stream-scale-factor", + type=float, + default=1.0, + help="Synthesis audios stream scale factor", + ) + parser.add_argument( + "--max-stream-factor", type=int, default=2, help="Synthesis audios max stream factor" + ) + parser.add_argument( + "--token-overlap-len", type=int, default=0, help="Synthesis audios token overlap len" + ) + return parser.parse_args() + + +def run_tts(args): + """Perform TTS inference and save the generated audio.""" + logging.info(f"Using model from: {args.model_dir}") + logging.info(f"Saving audio to: {args.save_dir}") + + # Ensure the save directory exists + os.makedirs(args.save_dir, exist_ok=True) + + # Convert device argument to torch.device + if platform.system() == "Darwin" and torch.backends.mps.is_available(): + # macOS with MPS support (Apple Silicon) + device = torch.device(f"mps:{args.device}") + logging.info(f"Using MPS device: {device}") + elif torch.cuda.is_available(): + # System with CUDA support + device = torch.device(f"cuda:{args.device}") + logging.info(f"Using CUDA device: {device}") + else: + # Fall back to CPU + device = torch.device("cpu") + logging.info("GPU acceleration not available, using CPU") + + # Initialize the model + model = SparkTTS( + args.model_dir, + device, + stream=True, + stream_factor=args.stream_factor, + stream_scale_factor=args.stream_scale_factor, + max_stream_factor=args.max_stream_factor, + token_overlap_len=args.token_overlap_len, + ) + + # Generate unique filename using timestamp + timestamp = datetime.now().strftime("%Y%m%d%H%M%S") + save_path = os.path.join(args.save_dir, f"{timestamp}.wav") + + logging.info("Starting stream inference...") + + sub_tts_speechs = [] + # Perform inference and save the output audio + with torch.no_grad(): + batch_stream = model.inference_stream( + args.text, + args.prompt_speech_path, + prompt_text=args.prompt_text, + gender=args.gender, + pitch=args.pitch, + speed=args.speed, + ) + for item in batch_stream: + sub_tts_speechs.append(item["tts_speech"]) + + output_audio = merge_numpy_darray(sub_tts_speechs) # [[T],...] -> [T] + sf.write(save_path, output_audio, samplerate=16000) + logging.info(f"Audio saved at: {save_path}") + + +""" +# Inference Overview of Controlled Generation +PYTHONPATH=./ python cli/inference_stream.py \ + --text "身临其境,换新体验。塑造开源语音合成新范式,让智能语音更自然。" \ + --save_dir "example/results" \ + --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ + --gender female --pitch moderate --speed high + +# Inference Overview of Voice Cloning +# default use static batch is ok +PYTHONPATH=./ python cli/inference_stream.py \ + --text "身临其境,换新体验。塑造开源语音合成新范式,让智能语音更自然。" \ + --save_dir "example/results" \ + --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ + --prompt_text "吃燕窝就选燕之屋,本节目由26年专注高品质燕窝的燕之屋冠名播出。豆奶牛奶换着喝,营养更均衡,本节目由豆本豆豆奶特约播出。" \ + --prompt_speech_path "example/prompt_audio.wav" +""" +if __name__ == "__main__": + logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") + + args = parse_args() + run_tts(args) diff --git a/cli/streamer.py b/cli/streamer.py new file mode 100644 index 0000000..57bce40 --- /dev/null +++ b/cli/streamer.py @@ -0,0 +1,41 @@ +from queue import Queue + +from transformers.generation.streamers import BaseStreamer + + +class TokenStreamer(BaseStreamer): + def __init__(self, skip_prompt: bool = False, timeout=None): + self.skip_prompt = skip_prompt + + # variables used in the streaming process + self.token_queue = Queue() + self.stop_signal = None + self.next_tokens_are_prompt = True + self.timeout = timeout + + def put(self, value): + if len(value.shape) > 1 and value.shape[0] > 1: + raise ValueError("TextStreamer only supports batch size 1") + elif len(value.shape) > 1: + value = value[0] + # print(value) + + if self.skip_prompt and self.next_tokens_are_prompt: + self.next_tokens_are_prompt = False + return + + for token in value.tolist(): + self.token_queue.put(token) + + def end(self): + self.token_queue.put(self.stop_signal) + + def __iter__(self): + return self + + def __next__(self): + value = self.token_queue.get(timeout=self.timeout) + if value == self.stop_signal: + raise StopIteration() + else: + return value diff --git a/example/prompt_recon.wav b/example/prompt_recon.wav new file mode 100644 index 0000000000000000000000000000000000000000..47799d4bdacb128d3f24df21c49d4644caf6180c GIT binary patch literal 318124 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 IHs5gkKdGZ{E&u=k literal 0 HcmV?d00001 diff --git a/sparktts/models/audio_tokenizer.py b/sparktts/models/audio_tokenizer.py index d7065eb..587c96f 100644 --- a/sparktts/models/audio_tokenizer.py +++ b/sparktts/models/audio_tokenizer.py @@ -43,9 +43,7 @@ def __init__(self, model_dir: Path, device: torch.device = None, **kwargs): def _initialize_model(self): """Load and initialize the BiCodec model and Wav2Vec2 feature extractor.""" - self.model = BiCodec.load_from_checkpoint(f"{self.model_dir}/BiCodec").to( - self.device - ) + self.model = BiCodec.load_from_checkpoint(f"{self.model_dir}/BiCodec").to(self.device) self.processor = Wav2Vec2FeatureExtractor.from_pretrained( f"{self.model_dir}/wav2vec2-large-xlsr-53" ) @@ -82,7 +80,7 @@ def process_audio(self, wav_path: Path) -> Tuple[np.ndarray, torch.Tensor]: wav_ref = torch.from_numpy(wav_ref).unsqueeze(0).float() return wav, wav_ref - def extract_wav2vec2_features(self, wavs: torch.Tensor) -> torch.Tensor: + def extract_wav2vec2_features(self, wavs: np.ndarray) -> torch.Tensor: """extract wav2vec2 features""" inputs = self.processor( wavs, @@ -92,9 +90,7 @@ def extract_wav2vec2_features(self, wavs: torch.Tensor) -> torch.Tensor: output_hidden_states=True, ).input_values feat = self.feature_extractor(inputs.to(self.feature_extractor.device)) - feats_mix = ( - feat.hidden_states[11] + feat.hidden_states[14] + feat.hidden_states[16] - ) / 3 + feats_mix = (feat.hidden_states[11] + feat.hidden_states[14] + feat.hidden_states[16]) / 3 return feats_mix @@ -129,9 +125,7 @@ def tokenize(self, audio_path: str) -> Tuple[torch.Tensor, torch.Tensor]: return global_tokens, semantic_tokens - def detokenize( - self, global_tokens: torch.Tensor, semantic_tokens: torch.Tensor - ) -> np.array: + def detokenize(self, global_tokens: torch.Tensor, semantic_tokens: torch.Tensor) -> np.array: """detokenize the tokens to waveform Args: @@ -149,10 +143,11 @@ def detokenize( # test if __name__ == "__main__": import soundfile as sf + import os device = torch.device("cuda" if torch.cuda.is_available() else "cpu") tokenizer = BiCodecTokenizer( - model_dir="pretrained_models/Spark-TTS-0.5B", + model_dir=os.getenv("MODEL_DIR", "pretrained_models/Spark-TTS-0.5B"), device=device, ) wav_path = "example/prompt_audio.wav" diff --git a/sparktts/models/bicodec.py b/sparktts/models/bicodec.py index e4a4202..82fe1df 100644 --- a/sparktts/models/bicodec.py +++ b/sparktts/models/bicodec.py @@ -17,7 +17,6 @@ import torch.nn as nn from pathlib import Path from typing import Dict, Any -from omegaconf import DictConfig from safetensors.torch import load_file from sparktts.utils.file import load_config @@ -43,7 +42,7 @@ def __init__( speaker_encoder: nn.Module, prenet: nn.Module, postnet: nn.Module, - **kwargs + **kwargs, ) -> None: """ Initializes the BiCodec model with the required components. @@ -73,12 +72,12 @@ def load_from_checkpoint(cls, model_dir: Path, **kwargs) -> "BiCodec": Args: model_dir (Path): Path to the model directory containing checkpoint and config. - + Returns: BiCodec: The initialized BiCodec model. """ - ckpt_path = f'{model_dir}/model.safetensors' - config = load_config(f'{model_dir}/config.yaml')['audio_tokenizer'] + ckpt_path = f"{model_dir}/model.safetensors" + config = load_config(f"{model_dir}/config.yaml")["audio_tokenizer"] mel_params = config["mel_params"] encoder = Encoder(**config["encoder"]) quantizer = FactorizedVectorQuantize(**config["quantizer"]) @@ -116,7 +115,7 @@ def forward(self, batch: Dict[str, Any]) -> Dict[str, Any]: Args: batch (dict): A dictionary containing features, reference waveform, and target waveform. - + Returns: dict: A dictionary containing the reconstruction, features, and other metrics. """ @@ -212,6 +211,7 @@ def init_mel_transformer(self, config: Dict[str, Any]): def remove_weight_norm(self): """Removes weight normalization from all layers.""" + def _remove_weight_norm(m): try: torch.nn.utils.remove_weight_norm(m) @@ -223,7 +223,6 @@ def _remove_weight_norm(m): # Test the model if __name__ == "__main__": - config = load_config("pretrained_models/SparkTTS-0.5B/BiCodec/config.yaml") model = BiCodec.load_from_checkpoint( model_dir="pretrained_models/SparkTTS-0.5B/BiCodec", @@ -247,7 +246,7 @@ def _remove_weight_norm(m): # Verify if the reconstruction matches if torch.allclose(outputs["recons"].detach(), wav_recon, rtol=1e-3, atol=1e-5): - #if torch.allclose(outputs["recons"].detach(), wav_recon): + # if torch.allclose(outputs["recons"].detach(), wav_recon): print("Test successful") else: print("Test failed") diff --git a/sparktts/utils/__init__.py b/sparktts/utils/__init__.py index e69de29..1e8f788 100644 --- a/sparktts/utils/__init__.py +++ b/sparktts/utils/__init__.py @@ -0,0 +1,20 @@ +import threading + + +class ThreadSafeDict: + def __init__(self): + self._dict = {} + # 使用 RLock 可重入锁,避免死锁 + self._lock = threading.RLock() + + def get(self, key, default=None): + with self._lock: + return self._dict.get(key, default) + + def set(self, key, value): + with self._lock: + self._dict[key] = value + + def pop(self, key): + with self._lock: + return self._dict.pop(key, None) diff --git a/sparktts/utils/audio.py b/sparktts/utils/audio.py index 105cd9c..1bb028e 100644 --- a/sparktts/utils/audio.py +++ b/sparktts/utils/audio.py @@ -46,9 +46,7 @@ def audio_volume_normalize(audio: np.ndarray, coeff: float = 0.2) -> np.ndarray: # If the maximum value is less than 0.1, scale the array to have a maximum of 0.1 if temp[-1] < 0.1: - scaling_factor = max( - temp[-1], 1e-3 - ) # Prevent division by zero with a small constant + scaling_factor = max(temp[-1], 1e-3) # Prevent division by zero with a small constant audio = audio / scaling_factor * 0.1 # Filter out values less than 0.01 from temp @@ -168,9 +166,7 @@ def stft( Tensor: Magnitude spectrogram (B, #frames, fft_size // 2 + 1). """ - x_stft = torch.stft( - x, fft_size, hop_size, win_length, window.to(x.device), return_complex=True - ) + x_stft = torch.stft(x, fft_size, hop_size, win_length, window.to(x.device), return_complex=True) # clamp is needed to avoid nan or inf if not use_complex: @@ -188,73 +184,64 @@ def detect_speech_boundaries( sample_rate: int, window_duration: float = 0.1, energy_threshold: float = 0.01, - margin_factor: int = 2 + margin_factor: int = 2, ) -> Tuple[int, int]: """Detect the start and end points of speech in an audio signal using RMS energy. - + Args: wav: Input audio signal array with values in [-1, 1] sample_rate: Audio sample rate in Hz window_duration: Duration of detection window in seconds energy_threshold: RMS energy threshold for speech detection margin_factor: Factor to determine extra margin around detected boundaries - + Returns: tuple: (start_index, end_index) of speech segment - + Raises: ValueError: If the audio contains only silence """ window_size = int(window_duration * sample_rate) margin = margin_factor * window_size step_size = window_size // 10 - + # Create sliding windows using stride tricks to avoid loops windows = sliding_window_view(wav, window_size)[::step_size] - + # Calculate RMS energy for each window - energy = np.sqrt(np.mean(windows ** 2, axis=1)) + energy = np.sqrt(np.mean(windows**2, axis=1)) speech_mask = energy >= energy_threshold - + if not np.any(speech_mask): raise ValueError("No speech detected in audio (only silence)") - + start = max(0, np.argmax(speech_mask) * step_size - margin) end = min(len(wav), (len(speech_mask) - 1 - np.argmax(speech_mask[::-1])) * step_size + margin) - + return start, end def remove_silence_on_both_ends( - wav: np.ndarray, - sample_rate: int, - window_duration: float = 0.1, - volume_threshold: float = 0.01 + wav: np.ndarray, sample_rate: int, window_duration: float = 0.1, volume_threshold: float = 0.01 ) -> np.ndarray: """Remove silence from both ends of an audio signal. - + Args: wav: Input audio signal array sample_rate: Audio sample rate in Hz window_duration: Duration of detection window in seconds volume_threshold: Amplitude threshold for silence detection - + Returns: np.ndarray: Audio signal with silence removed from both ends - + Raises: ValueError: If the audio contains only silence """ - start, end = detect_speech_boundaries( - wav, - sample_rate, - window_duration, - volume_threshold - ) + start, end = detect_speech_boundaries(wav, sample_rate, window_duration, volume_threshold) return wav[start:end] - def hertz_to_mel(pitch: float) -> float: """ Converts a frequency from the Hertz scale to the Mel scale. @@ -268,4 +255,35 @@ def hertz_to_mel(pitch: float) -> float: Frequency in Mel scale. """ mel = 2595 * np.log10(1 + pitch / 700) - return mel \ No newline at end of file + return mel + + +def merge_numpy_darray(sub_arrays: list[np.ndarray]) -> np.ndarray | None: + """ + Merges a list of NumPy arrays into a single NumPy array. + This function is designed to handle arrays that represent audio + waveforms, where each array has shape (num_channels, sequence_length) + but may have different lengths along the sequence_length dimension. + + Args: + sub_arrays: A list of NumPy arrays. [1d array, 1d array, ...] + + Returns: + A single NumPy array with all the sub-arrays concatenated along + the sequence_length (time) dimension. + Returns None if the input list is empty or if the arrays have + inconsistent shapes (different number of channels). + """ + if not sub_arrays: + return None + + total_length = sum(arr.shape[0] for arr in sub_arrays) + dtype = sub_arrays[0].dtype + merged_array = np.empty((total_length), dtype=dtype) + current_position = 0 + + for arr in sub_arrays: + merged_array[current_position : current_position + arr.shape[0]] = arr + current_position += arr.shape[0] + + return merged_array diff --git a/triton_python_backend_utils.py b/triton_python_backend_utils.py new file mode 100644 index 0000000..be774a4 --- /dev/null +++ b/triton_python_backend_utils.py @@ -0,0 +1,608 @@ +# Copyright 2020-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of NVIDIA CORPORATION nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import json +import struct + +import numpy as np + +TRITON_STRING_TO_NUMPY = { + "TYPE_BOOL": bool, + "TYPE_UINT8": np.uint8, + "TYPE_UINT16": np.uint16, + "TYPE_UINT32": np.uint32, + "TYPE_UINT64": np.uint64, + "TYPE_INT8": np.int8, + "TYPE_INT16": np.int16, + "TYPE_INT32": np.int32, + "TYPE_INT64": np.int64, + "TYPE_FP16": np.float16, + "TYPE_FP32": np.float32, + "TYPE_FP64": np.float64, + "TYPE_STRING": np.object_, +} + + +def serialize_byte_tensor(input_tensor): + """ + Serializes a bytes tensor into a flat numpy array of length prepended + bytes. The numpy array should use dtype of np.object_. For np.bytes_, + numpy will remove trailing zeros at the end of byte sequence and because + of this it should be avoided. + Parameters + ---------- + input_tensor : np.array + The bytes tensor to serialize. + Returns + ------- + serialized_bytes_tensor : np.array + The 1-D numpy array of type uint8 containing the serialized bytes in 'C' order. + Raises + ------ + InferenceServerException + If unable to serialize the given tensor. + """ + + if input_tensor.size == 0: + return () + + # If the input is a tensor of string/bytes objects, then must flatten those + # into a 1-dimensional array containing the 4-byte byte size followed by the + # actual element bytes. All elements are concatenated together in "C" order. + if (input_tensor.dtype == np.object_) or (input_tensor.dtype.type == np.bytes_): + flattened_ls = [] + for obj in np.nditer(input_tensor, flags=["refs_ok"], order="C"): + # If directly passing bytes to BYTES type, + # don't convert it to str as Python will encode the + # bytes which may distort the meaning + if input_tensor.dtype == np.object_: + if type(obj.item()) == bytes: + s = obj.item() + else: + s = str(obj.item()).encode("utf-8") + else: + s = obj.item() + flattened_ls.append(struct.pack(" max_batch_size: + raise ValueError( + "configuration specified max_batch_size " + + str(self._model_config["max_batch_size"]) + + ", but in auto-complete-config function for model '" + + self._model_config["name"] + + "' specified max_batch_size " + + str(max_batch_size) + ) + else: + self._model_config["max_batch_size"] = max_batch_size + + def set_dynamic_batching(self): + """Set dynamic_batching as the scheduler for the model if no scheduler + is set. If dynamic_batching is set in the model configuration, then no + action is taken and return success. + Raises + ------ + ValueError + If the 'sequence_batching' or 'ensemble_scheduling' scheduler is + set for this model configuration. + """ + found_scheduler = None + if "sequence_batching" in self._model_config: + found_scheduler = "sequence_batching" + elif "ensemble_scheduling" in self._model_config: + found_scheduler = "ensemble_scheduling" + + if found_scheduler != None: + raise ValueError( + "Configuration specified scheduling_choice as '" + + found_scheduler + + "', but auto-complete-config " + "function for model '" + + self._model_config["name"] + + "' tries to set scheduling_choice as 'dynamic_batching'" + ) + + if "dynamic_batching" not in self._model_config: + self._model_config["dynamic_batching"] = {} + + def add_input(self, input): + """Add the input for the model. + Parameters + ---------- + input : dict + The input to be added. + Raises + ------ + ValueError + If input contains property other than 'name', 'data_type', + 'dims', 'optional' or any of the non-optional properties + are not set, or if an input with the same name already exists + in the configuration but has different data_type or dims property + """ + valid_properties = ["name", "data_type", "dims", "optional"] + for current_property in input: + if current_property not in valid_properties: + raise ValueError( + "input '" + + input["name"] + + "' in auto-complete-config function for model '" + + self._model_config["name"] + + "' contains property other than 'name', 'data_type', 'dims' and 'optional'." + ) + + if "name" not in input: + raise ValueError( + "input in auto-complete-config function for model '" + + self._model_config["name"] + + "' is missing 'name' property." + ) + elif "data_type" not in input: + raise ValueError( + "input '" + + input["name"] + + "' in auto-complete-config function for model '" + + self._model_config["name"] + + "' is missing 'data_type' property." + ) + elif "dims" not in input: + raise ValueError( + "input '" + + input["name"] + + "' in auto-complete-config function for model '" + + self._model_config["name"] + + "' is missing 'dims' property." + ) + + for current_input in self._model_config["input"]: + if input["name"] == current_input["name"]: + if ( + current_input["data_type"] != "TYPE_INVALID" + and current_input["data_type"] != input["data_type"] + ): + raise ValueError( + "unable to load model '" + + self._model_config["name"] + + "', configuration expects datatype " + + current_input["data_type"] + + " for input '" + + input["name"] + + "', model provides " + + input["data_type"] + ) + elif current_input["dims"] and current_input["dims"] != input["dims"]: + raise ValueError( + "model '" + + self._model_config["name"] + + "', tensor '" + + input["name"] + + "': the model expects dims " + + str(input["dims"]) + + " but the model configuration specifies dims " + + str(current_input["dims"]) + ) + elif ( + "optional" in current_input + and "optional" in input + and current_input["optional"] != input["optional"] + ): + raise ValueError( + "model '" + + self._model_config["name"] + + "', tensor '" + + input["name"] + + "': the model expects optional " + + str(input["optional"]) + + " but the model configuration specifies optional " + + str(current_input["optional"]) + ) + else: + current_input["data_type"] = input["data_type"] + current_input["dims"] = input["dims"] + if "optional" in input: + current_input["optional"] = input["optional"] + return + + self._model_config["input"].append(input) + + def add_output(self, output): + """Add the output for the model. + Parameters + ---------- + output : dict + The output to be added. + Raises + ------ + ValueError + If output contains property other than 'name', 'data_type' + and 'dims' or any of the properties are not set, or if an + output with the same name already exists in the configuration + but has different data_type or dims property + """ + valid_properties = ["name", "data_type", "dims"] + for current_property in output: + if current_property not in valid_properties: + raise ValueError( + "output '" + + output["name"] + + "' in auto-complete-config function for model '" + + self._model_config["name"] + + "' contains property other than 'name', 'data_type' and 'dims'." + ) + + if "name" not in output: + raise ValueError( + "output in auto-complete-config function for model '" + + self._model_config["name"] + + "' is missing 'name' property." + ) + elif "data_type" not in output: + raise ValueError( + "output '" + + output["name"] + + "' in auto-complete-config function for model '" + + self._model_config["name"] + + "' is missing 'data_type' property." + ) + elif "dims" not in output: + raise ValueError( + "output '" + + output["name"] + + "' in auto-complete-config function for model '" + + self._model_config["name"] + + "' is missing 'dims' property." + ) + + for current_output in self._model_config["output"]: + if output["name"] == current_output["name"]: + if ( + current_output["data_type"] != "TYPE_INVALID" + and current_output["data_type"] != output["data_type"] + ): + raise ValueError( + "unable to load model '" + + self._model_config["name"] + + "', configuration expects datatype " + + current_output["data_type"] + + " for output '" + + output["name"] + + "', model provides " + + output["data_type"] + ) + elif current_output["dims"] and current_output["dims"] != output["dims"]: + raise ValueError( + "model '" + + self._model_config["name"] + + "', tensor '" + + output["name"] + + "': the model expects dims " + + str(output["dims"]) + + " but the model configuration specifies dims " + + str(current_output["dims"]) + ) + else: + current_output["data_type"] = output["data_type"] + current_output["dims"] = output["dims"] + return + + self._model_config["output"].append(output) + + def set_model_transaction_policy(self, transaction_policy_dict): + """ + Set model transaction policy for the model. + Parameters + ---------- + transaction_policy_dict : dict + The dict, containing all properties to be set as a part + of `model_transaction_policy` field. + Raises + ------ + ValueError + If transaction_policy_dict contains property other + than 'decoupled', or if `model_transaction_policy` already exists + in the configuration, but has different `decoupled` property. + """ + valid_properties = ["decoupled"] + for current_property in transaction_policy_dict.keys(): + if current_property not in valid_properties: + raise ValueError( + "model transaction property in auto-complete-config " + + "function for model '" + + self._model_config["name"] + + "' contains property other than 'decoupled'." + ) + + if "model_transaction_policy" not in self._model_config: + self._model_config["model_transaction_policy"] = {} + + if "decoupled" in transaction_policy_dict.keys(): + if ( + "decoupled" in self._model_config["model_transaction_policy"] + and self._model_config["model_transaction_policy"]["decoupled"] + != transaction_policy_dict["decoupled"] + ): + raise ValueError( + "trying to change decoupled property in auto-complete-config " + + "for model '" + + self._model_config["name"] + + "', which is already set to '" + + str(self._model_config["model_transaction_policy"]["decoupled"]) + + "'." + ) + + self._model_config["model_transaction_policy"]["decoupled"] = transaction_policy_dict[ + "decoupled" + ] + + +TRITONSERVER_REQUEST_FLAG_SEQUENCE_START = 1 +TRITONSERVER_REQUEST_FLAG_SEQUENCE_END = 2 +TRITONSERVER_RESPONSE_COMPLETE_FINAL = 1 +TRITONSERVER_REQUEST_RELEASE_ALL = 1 +TRITONSERVER_REQUEST_RELEASE_RESCHEDULE = 2 From 8063ce0b5834ac9747750078bcf78091feab6fc6 Mon Sep 17 00:00:00 2001 From: weedge Date: Mon, 17 Mar 2025 17:45:42 +0800 Subject: [PATCH 6/8] rm triton_python_backend_utils.py Signed-off-by: weedge --- .gitignore | 3 + triton_python_backend_utils.py | 608 --------------------------------- 2 files changed, 3 insertions(+), 608 deletions(-) delete mode 100644 triton_python_backend_utils.py diff --git a/.gitignore b/.gitignore index 146a43c..4007272 100644 --- a/.gitignore +++ b/.gitignore @@ -172,3 +172,6 @@ cython_debug/ # PyPI configuration file .pypirc + +# runtime +triton_python_backend_utils.py \ No newline at end of file diff --git a/triton_python_backend_utils.py b/triton_python_backend_utils.py deleted file mode 100644 index be774a4..0000000 --- a/triton_python_backend_utils.py +++ /dev/null @@ -1,608 +0,0 @@ -# Copyright 2020-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import json -import struct - -import numpy as np - -TRITON_STRING_TO_NUMPY = { - "TYPE_BOOL": bool, - "TYPE_UINT8": np.uint8, - "TYPE_UINT16": np.uint16, - "TYPE_UINT32": np.uint32, - "TYPE_UINT64": np.uint64, - "TYPE_INT8": np.int8, - "TYPE_INT16": np.int16, - "TYPE_INT32": np.int32, - "TYPE_INT64": np.int64, - "TYPE_FP16": np.float16, - "TYPE_FP32": np.float32, - "TYPE_FP64": np.float64, - "TYPE_STRING": np.object_, -} - - -def serialize_byte_tensor(input_tensor): - """ - Serializes a bytes tensor into a flat numpy array of length prepended - bytes. The numpy array should use dtype of np.object_. For np.bytes_, - numpy will remove trailing zeros at the end of byte sequence and because - of this it should be avoided. - Parameters - ---------- - input_tensor : np.array - The bytes tensor to serialize. - Returns - ------- - serialized_bytes_tensor : np.array - The 1-D numpy array of type uint8 containing the serialized bytes in 'C' order. - Raises - ------ - InferenceServerException - If unable to serialize the given tensor. - """ - - if input_tensor.size == 0: - return () - - # If the input is a tensor of string/bytes objects, then must flatten those - # into a 1-dimensional array containing the 4-byte byte size followed by the - # actual element bytes. All elements are concatenated together in "C" order. - if (input_tensor.dtype == np.object_) or (input_tensor.dtype.type == np.bytes_): - flattened_ls = [] - for obj in np.nditer(input_tensor, flags=["refs_ok"], order="C"): - # If directly passing bytes to BYTES type, - # don't convert it to str as Python will encode the - # bytes which may distort the meaning - if input_tensor.dtype == np.object_: - if type(obj.item()) == bytes: - s = obj.item() - else: - s = str(obj.item()).encode("utf-8") - else: - s = obj.item() - flattened_ls.append(struct.pack(" max_batch_size: - raise ValueError( - "configuration specified max_batch_size " - + str(self._model_config["max_batch_size"]) - + ", but in auto-complete-config function for model '" - + self._model_config["name"] - + "' specified max_batch_size " - + str(max_batch_size) - ) - else: - self._model_config["max_batch_size"] = max_batch_size - - def set_dynamic_batching(self): - """Set dynamic_batching as the scheduler for the model if no scheduler - is set. If dynamic_batching is set in the model configuration, then no - action is taken and return success. - Raises - ------ - ValueError - If the 'sequence_batching' or 'ensemble_scheduling' scheduler is - set for this model configuration. - """ - found_scheduler = None - if "sequence_batching" in self._model_config: - found_scheduler = "sequence_batching" - elif "ensemble_scheduling" in self._model_config: - found_scheduler = "ensemble_scheduling" - - if found_scheduler != None: - raise ValueError( - "Configuration specified scheduling_choice as '" - + found_scheduler - + "', but auto-complete-config " - "function for model '" - + self._model_config["name"] - + "' tries to set scheduling_choice as 'dynamic_batching'" - ) - - if "dynamic_batching" not in self._model_config: - self._model_config["dynamic_batching"] = {} - - def add_input(self, input): - """Add the input for the model. - Parameters - ---------- - input : dict - The input to be added. - Raises - ------ - ValueError - If input contains property other than 'name', 'data_type', - 'dims', 'optional' or any of the non-optional properties - are not set, or if an input with the same name already exists - in the configuration but has different data_type or dims property - """ - valid_properties = ["name", "data_type", "dims", "optional"] - for current_property in input: - if current_property not in valid_properties: - raise ValueError( - "input '" - + input["name"] - + "' in auto-complete-config function for model '" - + self._model_config["name"] - + "' contains property other than 'name', 'data_type', 'dims' and 'optional'." - ) - - if "name" not in input: - raise ValueError( - "input in auto-complete-config function for model '" - + self._model_config["name"] - + "' is missing 'name' property." - ) - elif "data_type" not in input: - raise ValueError( - "input '" - + input["name"] - + "' in auto-complete-config function for model '" - + self._model_config["name"] - + "' is missing 'data_type' property." - ) - elif "dims" not in input: - raise ValueError( - "input '" - + input["name"] - + "' in auto-complete-config function for model '" - + self._model_config["name"] - + "' is missing 'dims' property." - ) - - for current_input in self._model_config["input"]: - if input["name"] == current_input["name"]: - if ( - current_input["data_type"] != "TYPE_INVALID" - and current_input["data_type"] != input["data_type"] - ): - raise ValueError( - "unable to load model '" - + self._model_config["name"] - + "', configuration expects datatype " - + current_input["data_type"] - + " for input '" - + input["name"] - + "', model provides " - + input["data_type"] - ) - elif current_input["dims"] and current_input["dims"] != input["dims"]: - raise ValueError( - "model '" - + self._model_config["name"] - + "', tensor '" - + input["name"] - + "': the model expects dims " - + str(input["dims"]) - + " but the model configuration specifies dims " - + str(current_input["dims"]) - ) - elif ( - "optional" in current_input - and "optional" in input - and current_input["optional"] != input["optional"] - ): - raise ValueError( - "model '" - + self._model_config["name"] - + "', tensor '" - + input["name"] - + "': the model expects optional " - + str(input["optional"]) - + " but the model configuration specifies optional " - + str(current_input["optional"]) - ) - else: - current_input["data_type"] = input["data_type"] - current_input["dims"] = input["dims"] - if "optional" in input: - current_input["optional"] = input["optional"] - return - - self._model_config["input"].append(input) - - def add_output(self, output): - """Add the output for the model. - Parameters - ---------- - output : dict - The output to be added. - Raises - ------ - ValueError - If output contains property other than 'name', 'data_type' - and 'dims' or any of the properties are not set, or if an - output with the same name already exists in the configuration - but has different data_type or dims property - """ - valid_properties = ["name", "data_type", "dims"] - for current_property in output: - if current_property not in valid_properties: - raise ValueError( - "output '" - + output["name"] - + "' in auto-complete-config function for model '" - + self._model_config["name"] - + "' contains property other than 'name', 'data_type' and 'dims'." - ) - - if "name" not in output: - raise ValueError( - "output in auto-complete-config function for model '" - + self._model_config["name"] - + "' is missing 'name' property." - ) - elif "data_type" not in output: - raise ValueError( - "output '" - + output["name"] - + "' in auto-complete-config function for model '" - + self._model_config["name"] - + "' is missing 'data_type' property." - ) - elif "dims" not in output: - raise ValueError( - "output '" - + output["name"] - + "' in auto-complete-config function for model '" - + self._model_config["name"] - + "' is missing 'dims' property." - ) - - for current_output in self._model_config["output"]: - if output["name"] == current_output["name"]: - if ( - current_output["data_type"] != "TYPE_INVALID" - and current_output["data_type"] != output["data_type"] - ): - raise ValueError( - "unable to load model '" - + self._model_config["name"] - + "', configuration expects datatype " - + current_output["data_type"] - + " for output '" - + output["name"] - + "', model provides " - + output["data_type"] - ) - elif current_output["dims"] and current_output["dims"] != output["dims"]: - raise ValueError( - "model '" - + self._model_config["name"] - + "', tensor '" - + output["name"] - + "': the model expects dims " - + str(output["dims"]) - + " but the model configuration specifies dims " - + str(current_output["dims"]) - ) - else: - current_output["data_type"] = output["data_type"] - current_output["dims"] = output["dims"] - return - - self._model_config["output"].append(output) - - def set_model_transaction_policy(self, transaction_policy_dict): - """ - Set model transaction policy for the model. - Parameters - ---------- - transaction_policy_dict : dict - The dict, containing all properties to be set as a part - of `model_transaction_policy` field. - Raises - ------ - ValueError - If transaction_policy_dict contains property other - than 'decoupled', or if `model_transaction_policy` already exists - in the configuration, but has different `decoupled` property. - """ - valid_properties = ["decoupled"] - for current_property in transaction_policy_dict.keys(): - if current_property not in valid_properties: - raise ValueError( - "model transaction property in auto-complete-config " - + "function for model '" - + self._model_config["name"] - + "' contains property other than 'decoupled'." - ) - - if "model_transaction_policy" not in self._model_config: - self._model_config["model_transaction_policy"] = {} - - if "decoupled" in transaction_policy_dict.keys(): - if ( - "decoupled" in self._model_config["model_transaction_policy"] - and self._model_config["model_transaction_policy"]["decoupled"] - != transaction_policy_dict["decoupled"] - ): - raise ValueError( - "trying to change decoupled property in auto-complete-config " - + "for model '" - + self._model_config["name"] - + "', which is already set to '" - + str(self._model_config["model_transaction_policy"]["decoupled"]) - + "'." - ) - - self._model_config["model_transaction_policy"]["decoupled"] = transaction_policy_dict[ - "decoupled" - ] - - -TRITONSERVER_REQUEST_FLAG_SEQUENCE_START = 1 -TRITONSERVER_REQUEST_FLAG_SEQUENCE_END = 2 -TRITONSERVER_RESPONSE_COMPLETE_FINAL = 1 -TRITONSERVER_REQUEST_RELEASE_ALL = 1 -TRITONSERVER_REQUEST_RELEASE_RESCHEDULE = 2 From b7aa7b1d6a321472ba3b8ef6fdb72ccc003c6cc8 Mon Sep 17 00:00:00 2001 From: weedge Date: Mon, 17 Mar 2025 22:30:26 +0800 Subject: [PATCH 7/8] add case Signed-off-by: weedge --- cli/inference_stream.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cli/inference_stream.py b/cli/inference_stream.py index 511be62..de58a6c 100644 --- a/cli/inference_stream.py +++ b/cli/inference_stream.py @@ -137,6 +137,12 @@ def run_tts(args): --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ --gender female --pitch moderate --speed high +PYTHONPATH=./ python cli/inference_stream.py \ + --text "万物之始,大道至简,衍化至繁。君不见黄河之水天上来,奔流到海不复回。君不见高堂明镜悲白发,朝如青丝暮成雪。人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。" \ + --save_dir "example/results" \ + --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ + --gender female --pitch moderate --speed high + # Inference Overview of Voice Cloning # default use static batch is ok PYTHONPATH=./ python cli/inference_stream.py \ @@ -145,6 +151,13 @@ def run_tts(args): --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ --prompt_text "吃燕窝就选燕之屋,本节目由26年专注高品质燕窝的燕之屋冠名播出。豆奶牛奶换着喝,营养更均衡,本节目由豆本豆豆奶特约播出。" \ --prompt_speech_path "example/prompt_audio.wav" + +PYTHONPATH=./ python cli/inference_stream.py \ + --text "万物之始,大道至简,衍化至繁。君不见黄河之水天上来,奔流到海不复回。君不见高堂明镜悲白发,朝如青丝暮成雪。人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。" \ + --save_dir "example/results" \ + --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ + --prompt_text "吃燕窝就选燕之屋,本节目由26年专注高品质燕窝的燕之屋冠名播出。豆奶牛奶换着喝,营养更均衡,本节目由豆本豆豆奶特约播出。" \ + --prompt_speech_path "example/prompt_audio.wav" """ if __name__ == "__main__": logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") From 24b632718c81414cb5b324c5f600d4450550adc4 Mon Sep 17 00:00:00 2001 From: weedge Date: Tue, 18 Mar 2025 00:46:07 +0800 Subject: [PATCH 8/8] fix typo Signed-off-by: weedge --- cli/SparkTTS.py | 2 +- cli/inference_stream.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cli/SparkTTS.py b/cli/SparkTTS.py index 34eb757..c927502 100644 --- a/cli/SparkTTS.py +++ b/cli/SparkTTS.py @@ -391,6 +391,6 @@ def inference_stream( [controll_gen_global_token_ids + semantic_token_ids], gender, global_token_ids ) # one batch yield {"tts_speech": sub_tts_speech, "sample_rate": self.sample_rate} - logging.info(f"last bath len: {len(semantic_token_ids)}") + logging.info(f"last batch len: {len(semantic_token_ids)}") torch.cuda.empty_cache() diff --git a/cli/inference_stream.py b/cli/inference_stream.py index de58a6c..abec662 100644 --- a/cli/inference_stream.py +++ b/cli/inference_stream.py @@ -158,6 +158,13 @@ def run_tts(args): --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ --prompt_text "吃燕窝就选燕之屋,本节目由26年专注高品质燕窝的燕之屋冠名播出。豆奶牛奶换着喝,营养更均衡,本节目由豆本豆豆奶特约播出。" \ --prompt_speech_path "example/prompt_audio.wav" + +PYTHONPATH=./ python cli/inference_stream.py \ + --text "万物之始,大道至简,衍化至繁。" \ + --save_dir "example/results" \ + --model_dir ../../models/SparkAudio/Spark-TTS-0.5B \ + --prompt_text "欢迎大家来体验达摩院推出的语音识别模型" \ + --prompt_speech_path "../../test/audio_files/asr_example_zh.wav" """ if __name__ == "__main__": logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")