From 360f0aa397d822d1b0114b57af94b9308a45999b Mon Sep 17 00:00:00 2001 From: root Date: Tue, 29 Apr 2025 08:49:12 +0000 Subject: [PATCH] update README --- egs/speech_llm/SPEECH2SPEECH/README.md | 89 ++++++ .../SPEECH2SPEECH/assets/framework.jpg | Bin 0 -> 339257 bytes .../local/compute_whisper_fbank.py | 14 +- .../{slam_omni => qwen_omni}/data_module.py | 0 .../{slam_omni => qwen_omni}/decode.py | 0 .../ds_config_zero1.json | 0 .../label_smoothing.py | 0 .../{slam_omni => qwen_omni}/model.py | 271 ++++++++++++------ .../speech_dataset.py | 3 +- .../{slam_omni => qwen_omni}/train.py | 0 .../{slam_omni => qwen_omni}/web_demo.py | 263 ++++++++--------- .../whisper_encoder_forward_monkey_patch.py | 0 12 files changed, 423 insertions(+), 217 deletions(-) create mode 100644 egs/speech_llm/SPEECH2SPEECH/README.md create mode 100644 egs/speech_llm/SPEECH2SPEECH/assets/framework.jpg rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/data_module.py (100%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/decode.py (100%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/ds_config_zero1.json (100%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/label_smoothing.py (100%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/model.py (77%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/speech_dataset.py (99%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/train.py (100%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/web_demo.py (60%) rename egs/speech_llm/SPEECH2SPEECH/{slam_omni => qwen_omni}/whisper_encoder_forward_monkey_patch.py (100%) diff --git a/egs/speech_llm/SPEECH2SPEECH/README.md b/egs/speech_llm/SPEECH2SPEECH/README.md new file mode 100644 index 000000000..e4738eeef --- /dev/null +++ b/egs/speech_llm/SPEECH2SPEECH/README.md @@ -0,0 +1,89 @@ + +# Introduction + +This recipe includes scripts for training speech2speech models. + +# SPEECH2SPEECH + +The following table lists the folders for different tasks. + +|Recipe | Speech Input | Speech Output | Comment| +|--------------|--------------|---------------|--------| +|Qwen-omni like| Continuous Embeddins| Cosyvoice1 50Hz Single-codebook Token | Text-driven; using Thinker LLM for text token, small Talker LLM for speech token | + +### [Qwen-omni like Speech2speech Recipe](./qwen_omni) + +[Qwen2.5-Omni](https://github.com/QwenLM/Qwen2.5-Omni) style model using [worstchan/Belle_1.4M-SLAM-Omni](https://huggingface.co/datasets/worstchan/Belle_1.4M-SLAM-Omni) dataset. + +
+

+ +

+
+ +Command for training is: +```bash +pip install -r whisper_llm_zh/requirements.txt + +pip install huggingface_hub['cli'] +mkdir -p models/whisper models/qwen + +# For aishell fine-tuned whisper model +huggingface-cli download --local-dir models/whisper yuekai/icefall_asr_aishell_whisper exp_large_v2/whisper-large-v2-aishell1-epoch-10-avg-6.pt +# For multi-hans fine-tuned whisper model +# huggingface-cli download --local-dir models/whisper yuekai/icefall_asr_multi-hans-zh_whisper v1.1/whisper-large-v2-multi-hans-zh-epoch-3-avg-10.pt + +# huggingface-clie download --local-dir models/qwen Qwen/Qwen2-7B-Instruct +huggingface-clie download --local-dir models/qwen Qwen/Qwen2-1.5B-Instruct + +# First, we only train the projector and freeze other modules. +torchrun --nproc_per_node 8 ./whisper_llm_zh/train.py \ + --max-duration 200 \ + --exp-dir ./whisper_llm_zh/exp_test \ + --speech-encoder-path-or-name models/whisper/exp_large_v2/whisper-large-v2-aishell1-epoch-10-avg-6.pt \ + --llm-path-or-name Qwen/Qwen2-1.5B-Instruct \ + --manifest-dir data/fbank \ + --deepspeed \ + --deepspeed_config ./whisper_llm_zh/ds_config_zero1.json \ + --use-flash-attn True \ + --use-lora False --unfreeze-llm False + +# Then we jointly train the projector and LLM LoRA modules. +torchrun --nproc_per_node 8 ./whisper_llm_zh/train.py \ + --max-duration 200 \ + --exp-dir ./whisper_llm_zh/exp_test \ + --speech-encoder-path-or-name models/whisper/exp_large_v2/whisper-large-v2-aishell1-epoch-10-avg-6.pt \ + --llm-path-or-name Qwen/Qwen2-1.5B-Instruct \ + --manifest-dir data/fbank \ + --deepspeed \ + --deepspeed_config ./whisper_llm_zh/ds_config_zero1.json \ + --use-flash-attn True \ + --use-lora True --unfreeze-llm True + --pretrained-model-path ./whisper_llm_zh/exp_test/epoch-3.pt +``` + +Command for decoding: +```bash +mkdir -p models/whisper models/qwen models/checkpoint +huggingface-cli download --local-dir models/checkpoint yuekai/icefall_asr_aishell_whisper_qwen2_1.5B + +# For aishell fine-tuned whisper model +huggingface-cli download --local-dir models/whisper yuekai/icefall_asr_aishell_whisper exp_large_v2/whisper-large-v2-aishell1-epoch-10-avg-6.pt +# For multi-hans fine-tuned whisper model +# huggingface-cli download --local-dir models/whisper yuekai/icefall_asr_multi-hans-zh_whisper v1.1/whisper-large-v2-multi-hans-zh-epoch-3-avg-10.pt + +huggingface-clie download --local-dir models/qwen Qwen/Qwen2-7B-Instruct + +mkdir -p whisper_llm_zh/exp_aishell_whisper_qwen2_1.5B +ln -s models/checkpoint/epoch-10-avg-5.pt whisper_llm_zh/exp_aishell_whisper_qwen2_1.5B/epoch-999.pt + +python3 ./whisper_llm_zh/decode.py \ + --max-duration 80 \ + --exp-dir whisper_llm_zh/exp_aishell_whisper_qwen2_1.5B \ + --speech-encoder-path-or-name models/whisper/exp_large_v2/whisper-large-v2-aishell1-epoch-10-avg-6.pt \ + --llm-path-or-name models/qwen \ + --epoch 999 --avg 1 \ + --manifest-dir data/fbank \ + --use-flash-attn True \ + --use-lora True --dataset aishell +``` diff --git a/egs/speech_llm/SPEECH2SPEECH/assets/framework.jpg b/egs/speech_llm/SPEECH2SPEECH/assets/framework.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d708bb256f799cfd07f32c779cf1bf315a3376f5 GIT binary patch literal 339257 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 z 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 DRR_1WZ^~3lyEnam3)&B(BIxT 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 literal 0 HcmV?d00001 diff --git a/egs/speech_llm/SPEECH2SPEECH/local/compute_whisper_fbank.py b/egs/speech_llm/SPEECH2SPEECH/local/compute_whisper_fbank.py index b01a35c7d..4bc5e5a82 100755 --- a/egs/speech_llm/SPEECH2SPEECH/local/compute_whisper_fbank.py +++ b/egs/speech_llm/SPEECH2SPEECH/local/compute_whisper_fbank.py @@ -17,6 +17,16 @@ # 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. +""" +Usage: + python3 local/compute_whisper_fbank.py \ + --num-mel-bins 80 --whisper-fbank True --resample-to-16kHz True --speed-perturb False \ + --out-dir data/fbank \ + --huggingface-dataset-path-or-name worstchan/UltraChat-300K-SLAM-Omni \ + --audio-key question_audio --text-key answer \ + --prefix ultrachat +""" + import argparse import logging @@ -126,7 +136,7 @@ def compute_fbank(args): num_digits = 5 for i in range(num_shards): shard = dataset.shard(num_shards, i) - shard = shard.take(10) # for testing + # shard = shard.take(10) # for testing logging.info( f"Loading dataset shard {i} from {args.huggingface_dataset_path_or_name}" ) @@ -159,8 +169,6 @@ def compute_fbank(args): logging.info(f"Saving to {cuts_path}") # see https://github.com/lhotse-speech/lhotse/issues/1125 cut_set.drop_recordings().to_file(cuts_path) - if i > 1: - break def main(): diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/data_module.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/data_module.py similarity index 100% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/data_module.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/data_module.py diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/decode.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/decode.py similarity index 100% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/decode.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/decode.py diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/ds_config_zero1.json b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/ds_config_zero1.json similarity index 100% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/ds_config_zero1.json rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/ds_config_zero1.json diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/label_smoothing.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/label_smoothing.py similarity index 100% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/label_smoothing.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/label_smoothing.py diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/model.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/model.py similarity index 77% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/model.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/model.py index 0cc93c237..97870337d 100644 --- a/egs/speech_llm/SPEECH2SPEECH/slam_omni/model.py +++ b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/model.py @@ -1,11 +1,14 @@ +from typing import List, Tuple # Added for type hints + import torch from torch import nn -from transformers.trainer_pt_utils import LabelSmoother -from typing import List, Tuple # Added for type hints from torchmetrics.classification import MulticlassAccuracy +from transformers.trainer_pt_utils import LabelSmoother + IGNORE_TOKEN_ID = LabelSmoother.ignore_index import logging + class EncoderProjector(nn.Module): """ The encoder projector module. It is used to project the encoder outputs to the same dimension as the language model. @@ -69,7 +72,8 @@ class SPEECH_LLM(nn.Module): self.codec_lm = codec_lm if self.codec_lm: self.speech_token_projector = nn.Linear( - self.llm.config.hidden_size + self.llm.config.hidden_size, self.codec_lm.config.hidden_size + self.llm.config.hidden_size + self.llm.config.hidden_size, + self.codec_lm.config.hidden_size, ) self.codec_lm_head = nn.Linear( self.codec_lm.config.hidden_size, self.codec_lm.config.vocab_size @@ -89,6 +93,7 @@ class SPEECH_LLM(nn.Module): multidim_average="global", ignore_index=IGNORE_TOKEN_ID, ) + def _merge_input_ids_with_speech_features( self, speech_features, inputs_embeds, input_ids, attention_mask, labels=None ): @@ -274,68 +279,115 @@ class SPEECH_LLM(nn.Module): ) = self._merge_input_ids_with_speech_features( speech_features, inputs_embeds, input_ids, attention_mask, labels ) - input_seq_len = attention_mask.sum(dim=1) # shape, B - text_label_start_index_list, text_input_start_index_list, input_question_len_list = [], [], [] + input_seq_len = attention_mask.sum(dim=1) # shape, B + ( + text_label_start_index_list, + text_input_start_index_list, + input_question_len_list, + ) = ([], [], []) for i in range(labels.shape[0]): input_embeds_valid_index = torch.where(attention_mask[i] != 0)[0] input_embeds_start_index = input_embeds_valid_index[0] text_labels_valid_index = torch.where(labels[i] != IGNORE_TOKEN_ID)[0] text_labels_start_index = text_labels_valid_index[0] - assert input_seq_len[i] == input_embeds_valid_index[-1] - input_embeds_start_index + 1, f"input_seq_len: {input_seq_len[i]}, input_embeds_valid_index: {input_embeds_valid_index}, input_embeds_start_index: {input_embeds_start_index}" - assert input_embeds_valid_index[-1] == text_labels_valid_index[-1], f"input_embeds_valid_index: {input_embeds_valid_index}, text_labels_valid_index: {text_labels_valid_index}" + assert ( + input_seq_len[i] + == input_embeds_valid_index[-1] - input_embeds_start_index + 1 + ), f"input_seq_len: {input_seq_len[i]}, input_embeds_valid_index: {input_embeds_valid_index}, input_embeds_start_index: {input_embeds_start_index}" + assert ( + input_embeds_valid_index[-1] == text_labels_valid_index[-1] + ), f"input_embeds_valid_index: {input_embeds_valid_index}, text_labels_valid_index: {text_labels_valid_index}" input_question_len = text_labels_start_index - input_embeds_start_index - assert input_question_len + text_labels_valid_index[-1] - text_labels_start_index + 1 == input_seq_len[i] + assert ( + input_question_len + + text_labels_valid_index[-1] + - text_labels_start_index + + 1 + == input_seq_len[i] + ) text_label_start_index_list.append(text_labels_start_index) text_input_start_index_list.append(input_embeds_start_index) input_question_len_list.append(input_question_len) model_outputs = self.llm( - inputs_embeds=inputs_embeds, attention_mask=attention_mask, labels=labels, output_hidden_states=True + inputs_embeds=inputs_embeds, + attention_mask=attention_mask, + labels=labels, + output_hidden_states=True, ) text_loss = model_outputs.loss delay_step = 1 # prepare codec lm inputs - audio_codes_lens = [len(x) + input_question_len_list[i] + delay_step + 1 for i, x in enumerate(speech_codec_ids)] + audio_codes_lens = [ + len(x) + input_question_len_list[i] + delay_step + 1 + for i, x in enumerate(speech_codec_ids) + ] max_len_speech_codec = max(audio_codes_lens) if self.codec_lm_padding_side == "right": audio_codes = [ - [self.codec_lm.config.mask_token_id] * (input_question_len_list[i] + delay_step) + [self.codec_lm.config.bos_token_id] + x + [self.codec_lm.config.pad_token_id] * (max_len_speech_codec - audio_codes_lens[i]) + [self.codec_lm.config.mask_token_id] + * (input_question_len_list[i] + delay_step) + + [self.codec_lm.config.bos_token_id] + + x + + [self.codec_lm.config.pad_token_id] + * (max_len_speech_codec - audio_codes_lens[i]) for i, x in enumerate(speech_codec_ids) ] audio_labels = [ - [self.codec_lm.config.pad_token_id] * (input_question_len_list[i] + delay_step) + x + [self.codec_lm.config.eos_token_id] + [self.codec_lm.config.pad_token_id] * (max_len_speech_codec - audio_codes_lens[i]) + [self.codec_lm.config.pad_token_id] + * (input_question_len_list[i] + delay_step) + + x + + [self.codec_lm.config.eos_token_id] + + [self.codec_lm.config.pad_token_id] + * (max_len_speech_codec - audio_codes_lens[i]) for i, x in enumerate(speech_codec_ids) ] elif self.codec_lm_padding_side == "left": audio_codes = [ - [self.codec_lm.config.pad_token_id] * (max_len_speech_codec - audio_codes_lens[i]) + [self.codec_lm.config.mask_token_id] * (input_question_len_list[i] + delay_step) + [self.codec_lm.config.bos_token_id] + x + [self.codec_lm.config.pad_token_id] + * (max_len_speech_codec - audio_codes_lens[i]) + + [self.codec_lm.config.mask_token_id] + * (input_question_len_list[i] + delay_step) + + [self.codec_lm.config.bos_token_id] + + x for i, x in enumerate(speech_codec_ids) ] audio_labels = [ - [self.codec_lm.config.pad_token_id] * (max_len_speech_codec - audio_codes_lens[i]) + [self.codec_lm.config.pad_token_id] * (input_question_len_list[i] + delay_step) + x + [self.codec_lm.config.eos_token_id] + [self.codec_lm.config.pad_token_id] + * (max_len_speech_codec - audio_codes_lens[i]) + + [self.codec_lm.config.pad_token_id] + * (input_question_len_list[i] + delay_step) + + x + + [self.codec_lm.config.eos_token_id] for i, x in enumerate(speech_codec_ids) ] audio_codes = torch.tensor( - audio_codes, - dtype=torch.int64, - device=input_ids.device + audio_codes, dtype=torch.int64, device=input_ids.device ) audio_labels = torch.tensor( - audio_labels, - dtype=torch.int64, - device=input_ids.device + audio_labels, dtype=torch.int64, device=input_ids.device ) audio_attention_mask = audio_codes.ne(self.codec_lm.config.pad_token_id) audio_embeddings = self.codec_lm.get_input_embeddings()(audio_codes) - + text_last_hidden_lists, text_embeds_list, text_input_embeds_list = [], [], [] for i in range(len(text_label_start_index_list)): - text_last_hidden = model_outputs.hidden_states[-1][i, text_input_start_index_list[i]:text_input_start_index_list[i] + input_seq_len[i] - 1] + text_last_hidden = model_outputs.hidden_states[-1][ + i, + text_input_start_index_list[i] : text_input_start_index_list[i] + + input_seq_len[i] + - 1, + ] text_last_hidden_lists.append(text_last_hidden) - text_embed = inputs_embeds[i, text_input_start_index_list[i] + 1:text_input_start_index_list[i] + input_seq_len[i]] # exclude bos + text_embed = inputs_embeds[ + i, + text_input_start_index_list[i] + + 1 : text_input_start_index_list[i] + + input_seq_len[i], + ] # exclude bos text_embeds_list.append(text_embed) text_input_embeds = torch.cat( @@ -344,22 +396,34 @@ class SPEECH_LLM(nn.Module): text_embed, ], dim=-1, - )# shape, T, D1 + D2 - text_input_embeds = self.speech_token_projector(text_input_embeds) # shape, T, D_codec + ) # shape, T, D1 + D2 + text_input_embeds = self.speech_token_projector( + text_input_embeds + ) # shape, T, D_codec text_input_embeds_list.append(text_input_embeds) - + for i in range(audio_embeddings.shape[0]): text_input_embeds = text_input_embeds_list[i] if self.codec_lm_padding_side == "right": - audio_embeddings[i, :text_input_embeds.shape[0]] += text_input_embeds + audio_embeddings[i, : text_input_embeds.shape[0]] += text_input_embeds elif self.codec_lm_padding_side == "left": - start_idx = torch.where(audio_codes[i] == self.codec_lm.config.mask_token_id)[0][0] + start_idx = torch.where( + audio_codes[i] == self.codec_lm.config.mask_token_id + )[0][0] start_idx_re_compute = torch.where(audio_attention_mask[i] != 0)[0][0] - assert start_idx == start_idx_re_compute, f"start_idx: {start_idx}, start_idx_re_compute: {start_idx_re_compute}" + assert ( + start_idx == start_idx_re_compute + ), f"start_idx: {start_idx}, start_idx_re_compute: {start_idx_re_compute}" if text_input_embeds.shape[0] > audio_embeddings.shape[1] - start_idx: - text_input_embeds = text_input_embeds[:audio_embeddings.shape[1] - start_idx] - logging.warning(f"Truncate text_input_embeds: {text_input_embeds.shape} to {audio_embeddings.shape[1] - start_idx}") - audio_embeddings[i, start_idx:start_idx + text_input_embeds.shape[0]] += text_input_embeds + text_input_embeds = text_input_embeds[ + : audio_embeddings.shape[1] - start_idx + ] + logging.warning( + f"Truncate text_input_embeds: {text_input_embeds.shape} to {audio_embeddings.shape[1] - start_idx}" + ) + audio_embeddings[ + i, start_idx : start_idx + text_input_embeds.shape[0] + ] += text_input_embeds speech_outputs = self.codec_lm( attention_mask=audio_attention_mask, @@ -369,8 +433,10 @@ class SPEECH_LLM(nn.Module): ) last_hidden_state = speech_outputs.hidden_states[-1].clone() - audio_logits = self.codec_lm_head(last_hidden_state) # shape, B, T, vocab_size - audio_logits = audio_logits.contiguous().view(-1, self.codec_lm.config.vocab_size) + audio_logits = self.codec_lm_head(last_hidden_state) # shape, B, T, vocab_size + audio_logits = audio_logits.contiguous().view( + -1, self.codec_lm.config.vocab_size + ) audio_labels = audio_labels.contiguous().view(-1) audio_labels = audio_labels.masked_fill( audio_labels == self.codec_lm.config.pad_token_id, IGNORE_TOKEN_ID @@ -378,7 +444,6 @@ class SPEECH_LLM(nn.Module): codec_loss = self.loss_fct(audio_logits, audio_labels) audio_preds = torch.argmax(audio_logits, -1) - with torch.no_grad(): preds = torch.argmax(model_outputs.logits, -1) acc = compute_accuracy( @@ -392,12 +457,11 @@ class SPEECH_LLM(nn.Module): ignore_label=IGNORE_TOKEN_ID, ) audio_topk_acc = self.audio_accuracy_metric( - audio_logits.detach(), - audio_labels.detach()).item() - + audio_logits.detach(), audio_labels.detach() + ).item() return text_loss, acc, codec_loss, audio_acc, audio_topk_acc - + def decode( self, fbank: torch.Tensor = None, @@ -453,12 +517,12 @@ class SPEECH_LLM(nn.Module): def decode_with_speech_output( self, fbank: torch.Tensor = None, - input_ids: torch.LongTensor = None, # Prompt input_ids - attention_mask: torch.Tensor = None, # Prompt attention_mask + input_ids: torch.LongTensor = None, # Prompt input_ids + attention_mask: torch.Tensor = None, # Prompt attention_mask max_text_new_tokens: int = 1024, - max_speech_new_tokens: int = 1024, # Max length for speech tokens - llm_kwargs: dict = None, # Kwargs for text LLM generate - codec_lm_kwargs: dict = None # Kwargs for codec LM (e.g., temperature for sampling) - NOT IMPLEMENTED YET + max_speech_new_tokens: int = 1024, # Max length for speech tokens + llm_kwargs: dict = None, # Kwargs for text LLM generate + codec_lm_kwargs: dict = None, # Kwargs for codec LM (e.g., temperature for sampling) - NOT IMPLEMENTED YET ) -> Tuple[torch.LongTensor, List[List[int]]]: """ Generates text and corresponding speech tokens using the revised logic. @@ -479,16 +543,22 @@ class SPEECH_LLM(nn.Module): the generated speech codec tokens for a batch item. """ assert fbank.shape[0] == 1, "Batch size must be 1 for speech generation." - if not self.codec_lm or not self.speech_token_projector or not self.codec_lm_head: - raise ValueError("codec_lm and associated layers must be initialized to generate speech output.") + if ( + not self.codec_lm + or not self.speech_token_projector + or not self.codec_lm_head + ): + raise ValueError( + "codec_lm and associated layers must be initialized to generate speech output." + ) - device = next(self.parameters()).device # Use model's device + device = next(self.parameters()).device # Use model's device batch_size = fbank.shape[0] # --- 1. Prepare Prompt Embeddings --- encoder_outs = self.encoder(fbank) speech_features = self.encoder_projector(encoder_outs) - speech_features = speech_features.to(self.llm.dtype) # Ensure matching dtype + speech_features = speech_features.to(self.llm.dtype) # Ensure matching dtype prompt_embeds = self.llm.get_input_embeddings()(input_ids) @@ -511,12 +581,12 @@ class SPEECH_LLM(nn.Module): "eos_token_id": self.llm.config.eos_token_id, "pad_token_id": self.llm.config.pad_token_id, "num_beams": 1, - "do_sample": True, # Typically false for S2ST/S2TT tasks unless exploration needed + "do_sample": True, # Typically false for S2ST/S2TT tasks unless exploration needed "top_p": 0.5, "top_k": 20, "repetition_penalty": 1.1, "temperature": 0.7, - **(llm_kwargs or {}) # User-provided kwargs override defaults + **(llm_kwargs or {}), # User-provided kwargs override defaults } text_outputs = self.llm.generate( @@ -525,17 +595,22 @@ class SPEECH_LLM(nn.Module): max_new_tokens=max_text_new_tokens, return_dict_in_generate=True, output_hidden_states=True, - **final_llm_kwargs + **final_llm_kwargs, ) delay_step = 1 - generated_text_ids = text_outputs.sequences # [B, S_full] + generated_text_ids = text_outputs.sequences # [B, S_full] eos_token_id = self.llm.config.eos_token_id - eos_token_embedding = self.llm.get_input_embeddings()(torch.tensor([[eos_token_id]], device=device)) # 1,D - assert generated_text_ids[0, -1] == eos_token_id, f"Last token is not EOS: {generated_text_ids[0, -1]} != {eos_token_id}" + eos_token_embedding = self.llm.get_input_embeddings()( + torch.tensor([[eos_token_id]], device=device) + ) # 1,D + assert ( + generated_text_ids[0, -1] == eos_token_id + ), f"Last token is not EOS: {generated_text_ids[0, -1]} != {eos_token_id}" thinker_token_embeds_org = [ - token_hidden_states[0].to(self.llm.device) for token_hidden_states in text_outputs.hidden_states + token_hidden_states[0].to(self.llm.device) + for token_hidden_states in text_outputs.hidden_states ] - # shift one for thinker token_embeds, drop the first embeds, and add the eos token + # shift one for thinker token_embeds, drop the first embeds, and add the eos token first_thinker_token_embed = torch.cat( [ thinker_token_embeds_org[0][:, 1:], @@ -544,19 +619,27 @@ class SPEECH_LLM(nn.Module): dim=1, ) - thinker_token_embeds = [first_thinker_token_embed] + thinker_token_embeds_org[2:] + [eos_token_embedding] + thinker_token_embeds = ( + [first_thinker_token_embed] + + thinker_token_embeds_org[2:] + + [eos_token_embedding] + ) thinker_hidden_states = [ - token_hidden_states[-1].to(self.llm.device) for token_hidden_states in text_outputs.hidden_states + token_hidden_states[-1].to(self.llm.device) + for token_hidden_states in text_outputs.hidden_states ] # thinker_reply_part = torch.cat(thinker_hidden_states[1:], dim=1) + torch.cat(thinker_token_embeds[1:], dim=1) - thinker_reply_part = [torch.cat( - [ - thinker_hidden_state, - thinker_token_embed, - ], - dim=-1, - ) - for thinker_hidden_state, thinker_token_embed in zip(thinker_hidden_states[1:], thinker_token_embeds[1:]) + thinker_reply_part = [ + torch.cat( + [ + thinker_hidden_state, + thinker_token_embed, + ], + dim=-1, + ) + for thinker_hidden_state, thinker_token_embed in zip( + thinker_hidden_states[1:], thinker_token_embeds[1:] + ) ] thinker_reply_part = torch.cat(thinker_reply_part, dim=1) # thinker_prompt_part = thinker_hidden_states[0] + thinker_token_embeds[0] @@ -568,26 +651,35 @@ class SPEECH_LLM(nn.Module): dim=-1, ) - thinker_prompt_part = self.speech_token_projector(thinker_prompt_part) # [B, S_full, D_codec] - thinker_reply_part = self.speech_token_projector(thinker_reply_part) # [B, S_full, D_codec] - + thinker_prompt_part = self.speech_token_projector( + thinker_prompt_part + ) # [B, S_full, D_codec] + thinker_reply_part = self.speech_token_projector( + thinker_reply_part + ) # [B, S_full, D_codec] thinker_prompt_part_seq_len = thinker_prompt_part.shape[1] talker_input_ids = torch.full( - (batch_size, thinker_prompt_part_seq_len + delay_step + 1), self.codec_lm.config.mask_token_id, dtype=torch.long, device=self.llm.device + (batch_size, thinker_prompt_part_seq_len + delay_step + 1), + self.codec_lm.config.mask_token_id, + dtype=torch.long, + device=self.llm.device, ) - talker_input_ids[:,-1] = self.codec_lm.config.bos_token_id - talker_inputs_embeds = self.codec_lm.get_input_embeddings()(talker_input_ids) # [B, S_full, D_codec] + talker_input_ids[:, -1] = self.codec_lm.config.bos_token_id + talker_inputs_embeds = self.codec_lm.get_input_embeddings()( + talker_input_ids + ) # [B, S_full, D_codec] thinker_input_embeds = torch.cat( [ thinker_prompt_part, - thinker_reply_part[:, :delay_step + 1, :], + thinker_reply_part[:, : delay_step + 1, :], ], dim=1, ) talker_inputs_embeds += thinker_input_embeds - thinker_reply_part = thinker_reply_part[:, delay_step + 1:, :] # [B, S_full, D_codec] - + thinker_reply_part = thinker_reply_part[ + :, delay_step + 1 :, : + ] # [B, S_full, D_codec] past_key_values = None # generated_speech_tokens_list = [[] for _ in range(batch_size)] @@ -599,10 +691,14 @@ class SPEECH_LLM(nn.Module): # Get embedding for the *current* input token ID (initially BOS, then generated tokens) # current_speech_embeds = self.codec_lm.get_input_embeddings()(current_speech_input_ids) # [B, 1, D_codec] if t > 0: - talker_inputs_embeds = self.codec_lm.get_input_embeddings()(next_token_ids) # [B, 1, D_codec] + talker_inputs_embeds = self.codec_lm.get_input_embeddings()( + next_token_ids + ) # [B, 1, D_codec] if thinker_reply_part.shape[1] > 0: talker_inputs_embeds += thinker_reply_part[:, :1, :] - thinker_reply_part = thinker_reply_part[:, 1:, :] # Remove the first token for next step + thinker_reply_part = thinker_reply_part[ + :, 1:, : + ] # Remove the first token for next step # # Add the projected text embedding corresponding to the current timestep `t` # if t < text_context_len: # # Text context from the full generated text sequence @@ -611,20 +707,24 @@ class SPEECH_LLM(nn.Module): # else: # # No more text context to add # inputs_embeds = current_speech_embeds - + # Forward pass through codec LM for one step # We provide inputs_embeds directly, bypassing prepare_inputs_for_generation codec_outputs = self.codec_lm( - inputs_embeds=talker_inputs_embeds, # Combined embedding for this step + inputs_embeds=talker_inputs_embeds, # Combined embedding for this step past_key_values=past_key_values, use_cache=True, return_dict=True, output_hidden_states=True, # No attention mask needed here when using past_key_values and single token input ) - last_token_hidden_state = codec_outputs.hidden_states[-1][:, -1, :] # [B, D_codec] #TODO: check shape here + last_token_hidden_state = codec_outputs.hidden_states[-1][ + :, -1, : + ] # [B, D_codec] #TODO: check shape here # Get logits for the *last* token generated in this step - next_token_logits = self.codec_lm_head(last_token_hidden_state) # Use -1 index + next_token_logits = self.codec_lm_head( + last_token_hidden_state + ) # Use -1 index # suppress tokens between 4096:len(vocab)-3 # next_token_logits[:, 4096:-3] = -float("Inf") # TODO: where we should supress tokens? next_token_ids = topk_sampling( @@ -634,11 +734,14 @@ class SPEECH_LLM(nn.Module): if next_token_ids[0, 0] == self.codec_lm.config.eos_token_id: break # current_speech_input_ids = next_token_ids # Use the newly generated token ID as input for next step - past_key_values = codec_outputs.past_key_values # Update KV cache - generated_speech_tokens_list.append(next_token_ids.squeeze(1).cpu().tolist()[0]) + past_key_values = codec_outputs.past_key_values # Update KV cache + generated_speech_tokens_list.append( + next_token_ids.squeeze(1).cpu().tolist()[0] + ) # --- 6. Return Results --- return generated_text_ids, generated_speech_tokens_list + def compute_accuracy(pad_outputs, pad_targets, ignore_label): """Calculate accuracy. Copied from https://github.com/X-LANCE/SLAM-LLM/blob/main/src/slam_llm/utils/metric.py @@ -717,4 +820,4 @@ def top_k_top_p_filtering( 1, sorted_indices, sorted_indices_to_remove ) logits[indices_to_remove] = filter_value - return logits \ No newline at end of file + return logits diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/speech_dataset.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/speech_dataset.py similarity index 99% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/speech_dataset.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/speech_dataset.py index d0a77fd0e..43a4efb5a 100644 --- a/egs/speech_llm/SPEECH2SPEECH/slam_omni/speech_dataset.py +++ b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/speech_dataset.py @@ -1,13 +1,12 @@ from typing import Callable, Dict, List, Union import torch -from torch.utils.data.dataloader import DataLoader, default_collate - from lhotse import validate from lhotse.cut import CutSet from lhotse.dataset.input_strategies import BatchIO, PrecomputedFeatures from lhotse.utils import compute_num_frames, ifnone from lhotse.workarounds import Hdf5MemoryIssueFix +from torch.utils.data.dataloader import DataLoader, default_collate class K2SpeechRecognitionDataset(torch.utils.data.Dataset): diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/train.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/train.py similarity index 100% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/train.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/train.py diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/web_demo.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/web_demo.py similarity index 60% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/web_demo.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/web_demo.py index 3155174fb..e33d2437d 100644 --- a/egs/speech_llm/SPEECH2SPEECH/slam_omni/web_demo.py +++ b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/web_demo.py @@ -1,26 +1,25 @@ # Modified from https://github.com/QwenLM/Qwen2.5-Omni/blob/main/web_demo.py import io - -import numpy as np -import gradio as gr -import soundfile as sf - -import gradio.processing_utils as processing_utils -import tempfile -from transformers import AutoModelForCausalLM, AutoTokenizer, Qwen2Config -from gradio_client import utils as client_utils - -from argparse import ArgumentParser -import whisper -import torch -from peft import LoraConfig, get_peft_model -from whisper_encoder_forward_monkey_patch import replace_whisper_encoder_forward -from model import SPEECH_LLM, EncoderProjector -from train import DEFAULT_SPEECH_TOKEN, add_model_arguments -import sherpa_onnx -from cosyvoice.cli.cosyvoice import CosyVoice import sys -sys.path.append('/workspace/CosyVoice/third_party/Matcha-TTS') +from argparse import ArgumentParser + +import gradio as gr +import gradio.processing_utils as processing_utils +import numpy as np +import sherpa_onnx +import soundfile as sf +import torch +import whisper +from cosyvoice.cli.cosyvoice import CosyVoice +from gradio_client import utils as client_utils +from model import SPEECH_LLM, EncoderProjector +from peft import LoraConfig, get_peft_model +from train import DEFAULT_SPEECH_TOKEN, add_model_arguments +from transformers import AutoModelForCausalLM, AutoTokenizer, Qwen2Config +from whisper_encoder_forward_monkey_patch import replace_whisper_encoder_forward + +# https://github.com/FunAudioLLM/CosyVoice/tree/main/third_party +sys.path.append("/workspace/CosyVoice/third_party/Matcha-TTS") def get_model(params, device="cuda"): @@ -88,7 +87,7 @@ def get_model(params, device="cuda"): codec_lm = AutoModelForCausalLM.from_config( config=config, attn_implementation=attn_implementation, - torch_dtype=torch.float16 + torch_dtype=torch.float16, ) codec_lm.resize_token_embeddings(codec_vocab_size) codec_lm.vocab_size = codec_vocab_size @@ -102,12 +101,10 @@ def get_model(params, device="cuda"): llm, encoder_projector, codec_lm, - codec_lm_padding_side= "left" if params.use_flash_attn else "right", + codec_lm_padding_side="left" if params.use_flash_attn else "right", ) - checkpoint = torch.load( - f"{params.checkpoint_path}", map_location="cpu" - ) + checkpoint = torch.load(f"{params.checkpoint_path}", map_location="cpu") model.load_state_dict(checkpoint, strict=False) model.to(device) @@ -122,27 +119,37 @@ def audio_decode_cosyvoice(audio_tokens, codec_decoder): Args: audio_tokens (list): List of audio tokens to be processed. codec_decoder: Codec decoder for generating audio. - + Returns: torch.Tensor: Generated audio waveform. """ - flow_embedding = codec_decoder.frontend.spk2info['中文女']['embedding'] + flow_embedding = codec_decoder.frontend.spk2info["中文女"]["embedding"] flow_prompt_speech_token = torch.zeros(1, 0, dtype=torch.int32) prompt_speech_feat = torch.zeros(1, 0, 80) - tts_mel, _ = codec_decoder.model.flow.inference(token=audio_tokens.to(codec_decoder.model.device), - token_len=torch.tensor([audio_tokens.shape[1]], dtype=torch.int32).to(codec_decoder.model.device), - prompt_token=flow_prompt_speech_token.to(codec_decoder.model.device), - prompt_token_len=torch.tensor([flow_prompt_speech_token.shape[1]], dtype=torch.int32).to(codec_decoder.model.device), - prompt_feat=prompt_speech_feat.to(codec_decoder.model.device), - prompt_feat_len=torch.tensor([prompt_speech_feat.shape[1]], dtype=torch.int32).to(codec_decoder.model.device), - embedding=flow_embedding.to(codec_decoder.model.device), - flow_cache=torch.zeros(1, 80, 0, 2).to(codec_decoder.model.device),) + tts_mel, _ = codec_decoder.model.flow.inference( + token=audio_tokens.to(codec_decoder.model.device), + token_len=torch.tensor([audio_tokens.shape[1]], dtype=torch.int32).to( + codec_decoder.model.device + ), + prompt_token=flow_prompt_speech_token.to(codec_decoder.model.device), + prompt_token_len=torch.tensor( + [flow_prompt_speech_token.shape[1]], dtype=torch.int32 + ).to(codec_decoder.model.device), + prompt_feat=prompt_speech_feat.to(codec_decoder.model.device), + prompt_feat_len=torch.tensor( + [prompt_speech_feat.shape[1]], dtype=torch.int32 + ).to(codec_decoder.model.device), + embedding=flow_embedding.to(codec_decoder.model.device), + flow_cache=torch.zeros(1, 80, 0, 2).to(codec_decoder.model.device), + ) - - audio_hat, _ = codec_decoder.model.hift.inference(speech_feat=tts_mel, cache_source=torch.zeros(1, 1, 0)) + audio_hat, _ = codec_decoder.model.hift.inference( + speech_feat=tts_mel, cache_source=torch.zeros(1, 1, 0) + ) return audio_hat + def preprocess( messages, tokenizer, @@ -178,28 +185,14 @@ def preprocess( attention_mask = input_ids.ne(tokenizer.pad_token_id) return input_ids, attention_mask - - -def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): + +def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): def format_history(history: list): messages = [] for item in history: if isinstance(item["content"], str): - messages.append({"role": item['role'], "content": item['content']}) - # elif item["role"] == "user" and (isinstance(item["content"], list) or - # isinstance(item["content"], tuple)): - # file_path = item["content"][0] - # # TODO: check if the file_path's transcript is already in the history - # mime_type = client_utils.get_mimetype(file_path) - # if mime_type.startswith("audio"): - # messages.append({ - # "role": - # item['role'], - # "content": item["content"][1] # append audio transcript here - # }) - print('predict history: ', messages) - # messages = messages[-2:] # TODO: WAR: add history later + messages.append({"role": item["role"], "content": item["content"]}) return messages def decode( @@ -217,9 +210,8 @@ def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): dtype = torch.float32 device = model.llm.device - feature = feature.to(device, dtype=dtype)#.transpose(1, 2) - # assert feature.shape[2] == 80 - + feature = feature.to(device, dtype=dtype) + input_ids, attention_mask = preprocess([messages], tokenizer) generated_ids, audio_tokens = model.decode_with_speech_output( @@ -227,26 +219,21 @@ def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): ) hyps = tokenizer.batch_decode(generated_ids, skip_special_tokens=True) - # print('hyps: ', hyps, 23333333333333333333333333) + yield {"type": "text", "data": hyps[0]} - # yield {"type": "text", "data": hyps} audio_tokens = [token for token in audio_tokens if token < 4096] audio_tokens = torch.tensor(audio_tokens, dtype=torch.int32).unsqueeze(0) audio_hat = audio_decode_cosyvoice(audio_tokens, token2wav_model) - audio = audio_hat.squeeze(0).cpu().numpy() - # sf.write(f'{wav_name}.wav', audio_hat.squeeze(0).cpu().numpy(), 22050) + audio = audio_hat.squeeze(0).cpu().numpy() audio = np.array(audio * 32767).astype(np.int16) - # yield {"type": "audio", "data": (22050, audio)} - # with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmpfile: - # sf.write(tmpfile.name, audio, 22050, format="WAV") - # audio_path = tmpfile.name wav_io = io.BytesIO() sf.write(wav_io, audio, samplerate=22050, format="WAV") wav_io.seek(0) wav_bytes = wav_io.getvalue() audio_path = processing_utils.save_bytes_to_cache( - wav_bytes, "audio.wav", cache_dir=demo.GRADIO_CACHE) + wav_bytes, "audio.wav", cache_dir=demo.GRADIO_CACHE + ) yield {"type": "audio", "data": audio_path} @@ -259,25 +246,27 @@ def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): gr.update(visible=True), # stop_btn ) print(2333, history, audio) - history.append({"role": "user", "content": (audio,)}) - history.append({"role": "user", "content": f"{DEFAULT_SPEECH_TOKEN}"}) + history.append({"role": "user", "content": (audio,)}) + history.append({"role": "user", "content": f"{DEFAULT_SPEECH_TOKEN}"}) history.append({"role": "assistant", "content": ""}) - formatted_history = format_history(history=history) # only keep string text format + formatted_history = format_history( + history=history + ) # only keep string text format assert audio is not None audio_transcript = get_transcript( audio, asr_model, ) - print('audio_transcript: ', audio_transcript) history[-2]["content"] = audio_transcript fbank = whisper.log_mel_spectrogram(audio, device=model.llm.device) fbank = fbank.unsqueeze(0) assert fbank.ndim == 3 - # history.append({"role": "assistant", "content": ""}) - for chunk in decode(model, token2wav_model, tokenizer, fbank, formatted_history): + for chunk in decode( + model, token2wav_model, tokenizer, fbank, formatted_history + ): if chunk["type"] == "text": history[-1]["content"] = chunk["data"] yield ( @@ -287,10 +276,9 @@ def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): gr.update(visible=True), # stop_btn ) if chunk["type"] == "audio": - history.append({ - "role": "assistant", - "content": gr.Audio(chunk["data"]) - }) + history.append( + {"role": "assistant", "content": gr.Audio(chunk["data"])} + ) # Final yield yield ( @@ -304,8 +292,7 @@ def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): with gr.Tab("Online"): with gr.Row(): with gr.Column(scale=1): - microphone = gr.Audio(sources=['microphone'], - type="filepath") + microphone = gr.Audio(sources=["microphone"], type="filepath") submit_btn = gr.Button("Submit", variant="primary") stop_btn = gr.Button("Stop", visible=False) clear_btn = gr.Button("Clear History") @@ -315,64 +302,80 @@ def _launch_demo(args, model, tokenizer, token2wav_model, asr_model): def clear_history(): return [], gr.update(value=None) - submit_event = submit_btn.click(fn=media_predict, - inputs=[ - microphone, - media_chatbot, - ], - outputs=[ - microphone, - media_chatbot, submit_btn, - stop_btn - ]) + submit_event = submit_btn.click( + fn=media_predict, + inputs=[ + microphone, + media_chatbot, + ], + outputs=[microphone, media_chatbot, submit_btn, stop_btn], + ) stop_btn.click( - fn=lambda: - (gr.update(visible=True), gr.update(visible=False)), + fn=lambda: (gr.update(visible=True), gr.update(visible=False)), inputs=None, outputs=[submit_btn, stop_btn], cancels=[submit_event], - queue=False) - clear_btn.click(fn=clear_history, - inputs=None, - outputs=[media_chatbot, microphone]) + queue=False, + ) + clear_btn.click( + fn=clear_history, inputs=None, outputs=[media_chatbot, microphone] + ) - demo.queue(default_concurrency_limit=100, max_size=100).launch(max_threads=100, - ssr_mode=False, - share=args.share, - inbrowser=args.inbrowser, - server_port=args.server_port, - server_name=args.server_name,) + demo.queue(default_concurrency_limit=100, max_size=100).launch( + max_threads=100, + ssr_mode=False, + share=args.share, + inbrowser=args.inbrowser, + server_port=args.server_port, + server_name=args.server_name, + ) def _get_args(): parser = ArgumentParser() - parser.add_argument('--checkpoint-path', - type=str, - default=None, - help='Checkpoint name or path, default to %(default)r') - parser.add_argument('--token2wav-path', - type=str, - default=None, - help='Token2Wav path, default to %(default)r') - parser.add_argument('--asr-model-dir', - type=str, - default=None, - help='ASR model dir, default to %(default)r') - parser.add_argument('--flash-attn2', - action='store_true', - default=False, - help='Enable flash_attention_2 when loading the model.') - parser.add_argument('--share', - action='store_true', - default=False, - help='Create a publicly shareable link for the interface.') - parser.add_argument('--inbrowser', - action='store_true', - default=False, - help='Automatically launch the interface in a new tab on the default browser.') - parser.add_argument('--server-port', type=int, default=8001, help='Demo server port.') - parser.add_argument('--server-name', type=str, default='127.0.0.1', help='Demo server name.') + parser.add_argument( + "--checkpoint-path", + type=str, + default=None, + help="Checkpoint name or path, default to %(default)r", + ) + parser.add_argument( + "--token2wav-path", + type=str, + default=None, + help="Token2Wav path, default to %(default)r", + ) + parser.add_argument( + "--asr-model-dir", + type=str, + default=None, + help="ASR model dir, default to %(default)r", + ) + parser.add_argument( + "--flash-attn2", + action="store_true", + default=False, + help="Enable flash_attention_2 when loading the model.", + ) + parser.add_argument( + "--share", + action="store_true", + default=False, + help="Create a publicly shareable link for the interface.", + ) + parser.add_argument( + "--inbrowser", + action="store_true", + default=False, + help="Automatically launch the interface in a new tab on the default browser.", + ) + parser.add_argument( + "--server-port", type=int, default=8001, help="Demo server port." + ) + parser.add_argument( + "--server-name", type=str, default="127.0.0.1", help="Demo server name." + ) add_model_arguments(parser) args = parser.parse_args() return args @@ -401,6 +404,7 @@ def read_wave(wave_filename: str): return samples_float32, sample_rate + def get_transcript(audio_path, recognizer): samples, sample_rate = read_wave(audio_path) s = recognizer.create_stream() @@ -408,10 +412,13 @@ def get_transcript(audio_path, recognizer): recognizer.decode_streams([s]) return s.result.text + if __name__ == "__main__": args = _get_args() model, tokenizer = get_model(args) - token2wav = CosyVoice(args.token2wav_path, load_jit=False, load_trt=False, fp16=False) + token2wav = CosyVoice( + args.token2wav_path, load_jit=False, load_trt=False, fp16=False + ) asr_model = sherpa_onnx.OfflineRecognizer.from_paraformer( paraformer=f"{args.asr_model_dir}/model.int8.onnx", @@ -423,4 +430,4 @@ if __name__ == "__main__": debug=False, ) - _launch_demo(args, model, tokenizer, token2wav, asr_model) \ No newline at end of file + _launch_demo(args, model, tokenizer, token2wav, asr_model) diff --git a/egs/speech_llm/SPEECH2SPEECH/slam_omni/whisper_encoder_forward_monkey_patch.py b/egs/speech_llm/SPEECH2SPEECH/qwen_omni/whisper_encoder_forward_monkey_patch.py similarity index 100% rename from egs/speech_llm/SPEECH2SPEECH/slam_omni/whisper_encoder_forward_monkey_patch.py rename to egs/speech_llm/SPEECH2SPEECH/qwen_omni/whisper_encoder_forward_monkey_patch.py