diff --git a/app.py b/app.py new file mode 100644 index 0000000000000000000000000000000000000000..9514266c7035c2a95003f273e2502e0f80593f31 --- /dev/null +++ b/app.py @@ -0,0 +1,414 @@ +import ast +import base64 +import datetime +import json +import logging +import os +import spaces + +import gradio as gr +import sys +import time +import traceback + +import torch + +from common_utils.utils4infer import get_feat_from_wav_path, load_model_and_tokenizer, token_list2wav + +sys.path.insert(0, '.') +sys.path.insert(0, './tts') +sys.path.insert(0, './tts/third_party/Matcha-TTS') +from patches import modelling_qwen2_infer_gpu # 打patch +from tts.cosyvoice.cli.cosyvoice import CosyVoice +from tts.cosyvoice.utils.file_utils import load_wav + +is_npu = False +try: + import torch_npu +except ImportError: + is_npu = False + print("torch_npu is not available. if you want to use npu, please install it.") + + + + +from huggingface_hub import hf_hub_download +# 从Hugging Face下载.pt文件 +CHECKPOINT_PATH_A = hf_hub_download(repo_id="ASLP-lab/OSUM-EChat", filename="language_think_final.pt") +CHECKPOINT_PATH_B= hf_hub_download(repo_id="ASLP-lab/OSUM-EChat", filename="tag_think_final.pt") +CONFIG_PATH = "./conf/ct_config.yaml" +NAME_A="language_think" +NAME_B="tag_think" +cosyvoice_model_path = hf_hub_download(repo_id="ASLP-lab/OSUM-EChat", filename="CosyVoice-300M-25Hz.tar") +# 将tar包解压到当前目录 +os.system(f"tar -xvf {cosyvoice_model_path}") +print("解压cosyvoice模型pt文件完成") +cosyvoice_model_path="./CosyVoice-300M-25Hz" + + + +device = torch.device("cuda") +print("开始加载模型 A...") +model_a, tokenizer_a = load_model_and_tokenizer(CHECKPOINT_PATH_A, CONFIG_PATH) + +print("\n开始加载模型 B...") +if CHECKPOINT_PATH_B is not None: + model_b, tokenizer_b = load_model_and_tokenizer(CHECKPOINT_PATH_B, CONFIG_PATH) +else: + model_b, tokenizer_b = None, None +loaded_models = { + NAME_A: {"model": model_a, "tokenizer": tokenizer_a}, + NAME_B: {"model": model_b, "tokenizer": tokenizer_b}, +} if model_b is not None else { + NAME_A: {"model": model_a, "tokenizer": tokenizer_a}, +} +print("\n所有模型已加载完毕。") + +cosyvoice = CosyVoice(cosyvoice_model_path, gpu_id=0) + +# 将图片转换为 Base64 +with open("./tts/assert/实验室.png", "rb") as image_file: + encoded_string = base64.b64encode(image_file.read()).decode("utf-8") + +# 任务映射 +TASK_PROMPT_MAPPING = { + "empathetic_s2s_dialogue with think": "THINK", + "empathetic_s2s_dialogue no think": "s2s_no_think", + "empathetic_s2t_dialogue with think": "s2t_think", + "empathetic_s2t_dialogue no think": "s2t_no_think", + "ASR (Automatic Speech Recognition)": "转录这段音频中的语音内容为文字。", + "SRWT (Speech Recognition with Timestamps)": "请识别音频内容,并对所有英文词和中文字进行时间对齐,标注格式为<>,时间精度0.1秒。", + "VED (Vocal Event Detection)(类别:laugh,cough,cry,screaming,sigh,throat clearing,sneeze,other)": "请将音频转化为文字,并在末尾添加相关音频事件标签,标签格式为<>。", + "SER (Speech Emotion Recognition)(类别:sad,anger,neutral,happy,surprise,fear,disgust,和other)": "请将音频内容转录成文字记录,并在记录末尾标注情感标签,以<>表示。", + "SSR (Speaking Style Recognition)(类别:新闻科普,恐怖故事,童话故事,客服,诗歌散文,有声书,日常口语,其他)": "请将音频中的讲话内容转化为文字,并在结尾处注明风格标签,用<>表示。", + "SGC (Speaker Gender Classification)(类别:female,male)": "请将音频转录为文字,并在文本末尾标注性别标签,标签格式为<>。", + "SAP (Speaker Age Prediction)(类别:child、adult和old)": "请将这段音频转录成文字,并在末尾加上年龄标签,格式为<>。", + "STTC (Speech to Text Chat)": "首先将语音转录为文字,然后对语音内容进行回复,转录和文字之间使用<开始回答>分割。", + "Only Age Prediction(类别:child、adult和old)": "请根据音频分析发言者的年龄并输出年龄标签,标签格式为<>。", + "Only Gender Classification(类别:female,male)": "根据下述音频内容判断说话者性别,返回性别标签,格式为<>.", + "Only Style Recognition(类别:新闻科普,恐怖故事,童话故事,客服,诗歌散文,有声书,日常口语,其他)": "对于以下音频,请直接判断风格并返回风格标签,标签格式为<>。", + "Only Emotion Recognition(类别:sad,anger,neutral,happy,surprise,fear,disgust,和other)": "请鉴别音频中的发言者情感并标出,标签格式为<>。", + "Only Event Detection(类别:laugh,cough,cry,screaming,sigh,throat clearing,sneeze,other)": "对音频进行标签化,返回音频事件标签,标签格式为<>。", + "ASR+AGE+GENDER": '请将这段音频进行转录,并在转录完成的文本末尾附加<年龄> <性别>标签。', + "AGE+GENDER": "请识别以下音频发言者的年龄和性别.", + "ASR+STYLE+AGE+GENDER": "请对以下音频内容进行转录,并在文本结尾分别添加<风格>、<年龄>、<性别>标签。", + "STYLE+AGE+GENDER": "请对以下音频进行分析,识别说话风格、说话者年龄和性别。", + "ASR with punctuations": "需对提供的语音文件执行文本转换,同时为转换结果补充必要的标点。", + "ASR EVENT AGE GENDER": "请将以下音频内容进行转录,并在转录完成的文本末尾分别附加<音频事件>、<年龄>、<性别>标签。", + "ASR EMOTION AGE GENDER": "请将下列音频内容进行转录,并在转录文本的末尾分别添加<情感>、<年龄>、<性别>标签。", +} +prompt_path = hf_hub_download(repo_id="ASLP-lab/OSUM-EChat", filename="prompt.wav") +prompt_audio_choices = [ + {"name": "拟人", + "value": prompt_path}, +] + +prompt_audio_cache = {} +for item in prompt_audio_choices: + prompt_audio_cache[item["value"]] = load_wav(item["value"], 22050) + +logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s') + + + +def do_s2t(model, input_wav_path, input_prompt, profile=False): # 增加 model 参数 + model.eval() + feat, feat_lens = get_feat_from_wav_path(input_wav_path) + print(f'feat shape: {feat.shape}, feat_lens: {feat_lens}') + if is_npu: torch_npu.npu.synchronize() + start_time = time.time() + res_text = model.generate(wavs=feat, wavs_len=feat_lens, prompt=input_prompt, cache_implementation="static")[0] + if is_npu: torch_npu.npu.synchronize() + end_time = time.time() + print(f"S2T 推理消耗时间: {end_time - start_time:.2f} 秒") + return res_text + + +def do_s2t4chat(model, input_wav_path, input_prompt, profile=False): # 增加 model 参数 + model.eval() + feat, feat_lens = get_feat_from_wav_path(input_wav_path) + print(f'feat shape: {feat.shape}, feat_lens: {feat_lens}') + if is_npu: torch_npu.npu.synchronize() + start_time = time.time() + res_text = model.generate4chat(wavs=feat, wavs_len=feat_lens, cache_implementation="static")[0] + if is_npu: torch_npu.npu.synchronize() + end_time = time.time() + print(f"S2T4Chat 推理消耗时间: {end_time - start_time:.2f} 秒") + return res_text + +def do_s2t4chat_think(model, input_wav_path, input_prompt, profile=False): # 增加 model 参数 + model.eval() + feat, feat_lens = get_feat_from_wav_path(input_wav_path) + print(f'feat shape: {feat.shape}, feat_lens: {feat_lens}') + if is_npu: torch_npu.npu.synchronize() + start_time = time.time() + res_text = model.generate4chat_think(wavs=feat, wavs_len=feat_lens, cache_implementation="static")[0] + if is_npu: torch_npu.npu.synchronize() + end_time = time.time() + print(f"S2T4Chat 推理消耗时间: {end_time - start_time:.2f} 秒") + return res_text + + +def do_t2s(model, input_prompt, text_for_tts, profile=False): # 增加 model 参数 + model.eval() + if is_npu: torch_npu.npu.synchronize() + start_time = time.time() + res_tensor = model.generate_tts(device=device, text=text_for_tts, )[0] + res_token_list = res_tensor.tolist() + res_text = res_token_list[:-1] + if is_npu: torch_npu.npu.synchronize() + end_time = time.time() + print(f"T2S 推理消耗时间: {end_time - start_time:.2f} 秒") + return res_text + + +def do_t2t(model, question_txt, profile=False): # 增加 model 参数 + model.eval() + if is_npu: torch_npu.npu.synchronize() + start_time = time.time() + print(f'开始t2t推理, question_txt: {question_txt}') + res_text = model.generate_text2text(device=device, text=question_txt)[0] + if is_npu: torch_npu.npu.synchronize() + end_time = time.time() + print(f"T2T 推理消耗时间: {end_time - start_time:.2f} 秒") + return res_text + + +def do_s2s(model, input_wav_path, input_prompt, profile=False): # 增加 model 参数 + model.eval() + feat, feat_lens = get_feat_from_wav_path(input_wav_path) + print(f'feat shape: {feat.shape}, feat_lens: {feat_lens}') + if is_npu: torch_npu.npu.synchronize() + start_time = time.time() + output_text, text_res, speech_res = model.generate_s2s_no_stream_with_repetition_penalty(wavs=feat, wavs_len=feat_lens,) + if is_npu: torch_npu.npu.synchronize() + end_time = time.time() + print(f"S2S 推理消耗时间: {end_time - start_time:.2f} 秒") + return f'{output_text[0]}|{str(speech_res[0].tolist()[1:])}' + +def do_s2s_think(model, input_wav_path, input_prompt, profile=False): # 增加 model 参数 + model.eval() + feat, feat_lens = get_feat_from_wav_path(input_wav_path) + print(f'feat shape: {feat.shape}, feat_lens: {feat_lens}') + if is_npu: torch_npu.npu.synchronize() + start_time = time.time() + output_text, text_res, speech_res = model.generate_s2s_no_stream_think_with_repetition_penalty(wavs=feat, wavs_len=feat_lens,) + if is_npu: torch_npu.npu.synchronize() + end_time = time.time() + print(f"S2S 推理消耗时间: {end_time - start_time:.2f} 秒") + return f'{output_text[0]}|{str(speech_res[0].tolist()[1:])}' + +@spaces.GPU +def true_decode_fuc(model, tokenizer, input_wav_path, input_prompt): # 增加 model 和 tokenizer 参数 + print(f"wav_path: {input_wav_path}, prompt:{input_prompt}") + if input_wav_path is None and not input_prompt.endswith(("_TTS", "_T2T")): + print("音频信息未输入,且不是T2S或T2T任务") + return "错误:需要音频输入" + + if input_prompt.endswith("_TTS"): + text_for_tts = input_prompt.replace("_TTS", "") + prompt = "恳请将如下文本转换为其对应的语音token,力求生成最为流畅、自然的语音。" + res_text = do_t2s(model, prompt, text_for_tts) + elif input_prompt.endswith("_self_prompt"): + prompt = input_prompt.replace("_self_prompt", "") + res_text = do_s2t(model, input_wav_path, prompt) + elif input_prompt.endswith("_T2T"): + question_txt = input_prompt.replace("_T2T", "") + res_text = do_t2t(model, question_txt) + elif input_prompt in ["识别语音内容,并以文字方式作出回答。", + "请推断对这段语音回答时的情感,标注情感类型,撰写流畅自然的聊天回复,并生成情感语音token。", + "s2s_no_think"]: + res_text = do_s2s(model, input_wav_path, input_prompt) + elif input_prompt == "THINK": + res_text = do_s2s_think(model, input_wav_path, input_prompt) + elif input_prompt == "s2t_no_think": + res_text = do_s2t4chat(model, input_wav_path, input_prompt) + elif input_prompt == "s2t_think": + res_text = do_s2t4chat_think(model, input_wav_path, input_prompt) + else: + res_text = do_s2t(model, input_wav_path, input_prompt) + res_text = res_text.replace("", "").replace("", "").replace("", + "") + + print("识别结果为:", res_text) + return res_text + + +def do_decode(model, tokenizer, input_wav_path, input_prompt): # 增加 model 和 tokenizer 参数 + print(f'使用模型进行推理: input_wav_path={input_wav_path}, input_prompt={input_prompt}') + output_res = true_decode_fuc(model, tokenizer, input_wav_path, input_prompt) + return output_res + + +def save_to_jsonl(if_correct, wav, prompt, res): + data = { + "if_correct": if_correct, + "wav": wav, + "task": prompt, + "res": res + } + with open("results.jsonl", "a", encoding="utf-8") as f: + f.write(json.dumps(data, ensure_ascii=False) + "\n") + + +def download_audio(input_wav_path): + return input_wav_path if input_wav_path else None + + +def get_wav_from_token_list(input_list, prompt_speech): + time_str = datetime.datetime.now().strftime("%Y%m%d_%H%M%S_%f") + wav_path = f"./tmp/{time_str}.wav" + return token_list2wav(input_list, prompt_speech, wav_path, cosyvoice) + + +# --- Gradio 界面 --- +with gr.Blocks() as demo: + gr.Markdown( + f""" +
+

+ OSUM Speech Understanding Model Test +

+
+ """ + ) + + # ### --- 关键修改:添加模型选择器 --- ### + with gr.Row(): + model_selector = gr.Radio( + choices=list(loaded_models.keys()), # 从加载的模型字典中获取选项 + value=NAME_A, # 默认值 + label="选择推理模型", + interactive=True + ) + + with gr.Row(): + with gr.Column(scale=1, min_width=300): + audio_input = gr.Audio(label="录音", sources=["microphone", "upload"], type="filepath", visible=True) + with gr.Column(scale=1, min_width=300): + output_text = gr.Textbox(label="输出结果", lines=6, placeholder="生成的结果将显示在这里...", + interactive=False) + + with gr.Row(): + task_dropdown = gr.Dropdown(label="任务", + choices=list(TASK_PROMPT_MAPPING.keys()) + ["自主输入文本", "TTS任务", "T2T任务"], + value="empathetic_s2s_dialogue with think") + prompt_speech_dropdown = gr.Dropdown(label="参考音频(prompt_speech)", + choices=[(item["name"], item["value"]) for item in prompt_audio_choices], + value=prompt_audio_choices[0]["value"], visible=True) + custom_prompt_input = gr.Textbox(label="自定义任务提示", placeholder="请输入自定义任务提示...", visible=False) + tts_input = gr.Textbox(label="TTS输入文本", placeholder="请输入TTS任务的文本...", visible=False) + t2t_input = gr.Textbox(label="T2T输入文本", placeholder="请输入T2T任务的文本...", visible=False) + + audio_player = gr.Audio(label="播放音频", type="filepath", interactive=False) + + with gr.Row(): + download_button = gr.DownloadButton("下载音频", variant="secondary", + elem_classes=["button-height", "download-button"]) + submit_button = gr.Button("开始处理", variant="primary", elem_classes=["button-height", "submit-button"]) + + with gr.Row(visible=False) as confirmation_row: + # ... (确认组件不变) + gr.Markdown("请判断结果是否正确:") + confirmation_buttons = gr.Radio(choices=["正确", "错误"], label="", interactive=True, container=False, + elem_classes="confirmation-buttons") + save_button = gr.Button("提交反馈", variant="secondary") + + # ... (底部内容不变) + with gr.Row(): + with gr.Column(scale=1, min_width=800): + gr.Markdown(f"""...""") # 省略底部HTML + + + def show_confirmation(output_res, input_wav_path, input_prompt): + return gr.update(visible=True), output_res, input_wav_path, input_prompt + + + def save_result(if_correct, wav, prompt, res): + save_to_jsonl(if_correct, wav, prompt, res) + return gr.update(visible=False) + + + # handle_submit 函数现在接收 `selected_model_name` 参数 + def handle_submit(selected_model_name, input_wav_path, task_choice, custom_prompt, tts_text, t2t_text, + prompt_speech): + # 1. 根据选择的模型名称,从字典中获取对应的模型和分词器 + print(f"用户选择了: {selected_model_name}") + model_info = loaded_models[selected_model_name] + model_to_use = model_info["model"] + tokenizer_to_use = model_info["tokenizer"] + + # 2. 准备 prompt + prompt_speech_data = prompt_audio_cache.get(prompt_speech) + if task_choice == "自主输入文本": + input_prompt = custom_prompt + "_self_prompt" + elif task_choice == "TTS任务": + input_prompt = tts_text + "_TTS" + elif task_choice == "T2T任务": + input_prompt = t2t_text + "_T2T" + else: + input_prompt = TASK_PROMPT_MAPPING.get(task_choice, "未知任务类型") + + # 3. 调用重构后的推理函数,传入选择的模型 + output_res = do_decode(model_to_use, tokenizer_to_use, input_wav_path, input_prompt) + + # 4. 处理输出 (逻辑不变) + wav_path_output = input_wav_path + if task_choice == "TTS任务" or "empathetic_s2s_dialogue" in task_choice: + if isinstance(output_res, list): # TTS case + wav_path_output = get_wav_from_token_list(output_res, prompt_speech_data) + output_res = "生成的token: " + str(output_res) + elif isinstance(output_res, str) and "|" in output_res: # S2S case + try: + text_res, token_list_str = output_res.split("|") + token_list = json.loads(token_list_str) + wav_path_output = get_wav_from_token_list(token_list, prompt_speech_data) + output_res = text_res + except (ValueError, json.JSONDecodeError) as e: + print(f"处理S2S输出时出错: {e}") + output_res = f"错误:无法解析模型输出 - {output_res}" + + return output_res, wav_path_output + + + # --- 绑定事件 (下拉框逻辑不变) --- + task_dropdown.change(fn=lambda choice: gr.update(visible=choice == "自主输入文本"), inputs=task_dropdown, + outputs=custom_prompt_input) + task_dropdown.change(fn=lambda choice: gr.update(visible=choice == "TTS任务"), inputs=task_dropdown, + outputs=tts_input) + task_dropdown.change(fn=lambda choice: gr.update(visible=choice == "T2T任务"), inputs=task_dropdown, + outputs=t2t_input) + + submit_button.click( + fn=handle_submit, + # 在 inputs 列表中添加模型选择器 `model_selector` + inputs=[model_selector, audio_input, task_dropdown, custom_prompt_input, tts_input, t2t_input, + prompt_speech_dropdown], + outputs=[output_text, audio_player] + ).then( + fn=show_confirmation, + inputs=[output_text, audio_input, task_dropdown], + outputs=[confirmation_row, output_text, audio_input, task_dropdown] + ) + + download_button.click(fn=download_audio, inputs=[audio_input], outputs=[download_button]) + save_button.click(fn=save_result, inputs=[confirmation_buttons, audio_input, task_dropdown, output_text], + outputs=confirmation_row) + +# --- 关键修改:为两个模型分别进行预热 --- +print("开始预热模型...") +warmup_wav_path = "./tts/assert/hq_1.wav" +warmup_prompt = "将这段音频的语音内容详细记录为文字稿。" + +for model_name, model_info in loaded_models.items(): + print(f"正在预热 {model_name}...") + try: + # 使用重构后的 do_s2t 函数进行预热,传入对应的模型 + res_text = do_s2t(model_info["model"], warmup_wav_path, warmup_prompt, profile=False) + print(f'{model_name} 预热完成。ASR推理结果: {res_text}') + except Exception as e: + print(f"预热 {model_name} 时发生错误: {e}") + +# 启动Gradio界面 +print("\nGradio 界面启动中...") +demo.launch(server_name="0.0.0.0", server_port=7860, share=False) \ No newline at end of file diff --git a/common_utils/__init__.py b/common_utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/common_utils/convert_ckpt_dir_to_pt.py b/common_utils/convert_ckpt_dir_to_pt.py new file mode 100644 index 0000000000000000000000000000000000000000..6e294a2623e59eed7b29d11161bd95f2d1bc7c65 --- /dev/null +++ b/common_utils/convert_ckpt_dir_to_pt.py @@ -0,0 +1,27 @@ +from gxl_ai_utils.utils import utils_file +import torch +try: + import torch_npu +except: + pass +import os + + + +def convert_ckpt_to_pt(pt_dir_path): + exp_dir = os.path.dirname(pt_dir_path) + pt_name = os.path.basename(pt_dir_path) + weight_dict = torch.load(f"{exp_dir}/{pt_name}/mp_rank_00_model_states.pt", map_location=torch.device('cpu'))[ + 'module'] + print(weight_dict.keys()) + torch.save(weight_dict, f"{exp_dir}/{pt_name}.pt") + +if __name__ == '__main__': + pt_dir_path, = utils_file.do_get_commandline_param(1, ["pt_dir_path"]) + exp_dir = os.path.dirname(pt_dir_path) + pt_name = os.path.basename(pt_dir_path) + weight_dict = torch.load(f"{exp_dir}/{pt_name}/mp_rank_00_model_states.pt", map_location=torch.device('cpu'))[ + 'module'] + print(weight_dict.keys()) + torch.save(weight_dict, f"{exp_dir}/{pt_name}.pt") +# weigth_dict = torch.load("/mnt/sfs/asr/code/wenet_undersdand_and_speech_xlgeng/examples/wenetspeech/whisper/exp/epoch24_cosyvoice1_new-set_token_1w_plus-multi_task_new/step_24999.pt") diff --git a/common_utils/load_combine_type_yaml.py b/common_utils/load_combine_type_yaml.py new file mode 100644 index 0000000000000000000000000000000000000000..baa26dda4783688eb4ef478674511a599f7c5db4 --- /dev/null +++ b/common_utils/load_combine_type_yaml.py @@ -0,0 +1,59 @@ +import os +import random +import time + +from gxl_ai_utils.utils import utils_file + +data_config_path, tmp_file_path = utils_file.do_get_commandline_param(2) +# random.seed(10086)# 老的 +# 把当前时间戳作为随机种子 +random.seed(int(time.time())) +# random.seed(7891)# 尝试一下新的顺序 #7890 +data_info_dict = utils_file.load_dict_from_yaml(data_config_path) +if data_info_dict is None: + data_info_dict = {} +total_list = [] +for data_info in data_info_dict.values(): + if "path" not in data_info: + print(f"path or weight not in data_info:{data_info}") + continue + if "weight" not in data_info: + data_weight = 1 + else: + data_weight = int(float(data_info['weight'])) + data_path_i = data_info['path'] + utils_file.logging_info(f'path:{data_path_i} ') + + if data_weight == 0: + data_weight = float(data_info['weight']) + if data_weight >= 0: + utils_file.logging_info(f'data {data_path_i} weight is {data_weight}, will be used as a list') + final_data_list_i_tmp = utils_file.load_list_file_clean(data_path_i) + true_num = int(len(final_data_list_i_tmp)*data_weight) + final_data_list_i = utils_file.do_get_random_sublist(final_data_list_i_tmp, true_num) + else: + final_data_list_i = utils_file.load_list_file_clean(data_path_i) * data_weight + # 判断数据类型 + if "combines_list.txt" in data_path_i: + print(f'是 combine类型的数据') + tar_root_path = data_path_i.replace('combines_list.txt', 'combines_tar_root.txt') + if not os.path.exists(tar_root_path): + utils_file.logging_info(f'combine_list.txt:{data_path_i} 对应的 combines_tar_root.txt:{tar_root_path} 不存在') + continue + tar_root = utils_file.load_first_row_clean(tar_root_path) + if tar_root.endswith('/'): + tar_root = tar_root[:-1] + utils_file.logging_info(f' tar_root:{tar_root}') + new_final_data_list_i = [] + for data_path_j in final_data_list_i: + # "combine_path|shard_path" + tmp_lines = f'{data_path_j}|{tar_root}/{utils_file.do_get_file_pure_name_from_path(data_path_j)}.tar' + new_final_data_list_i.append(tmp_lines) + else: + print(f'不是 combine类型的数据,是传统shard类型的数据') + new_final_data_list_i = [f'-|{data_path_j}' for data_path_j in final_data_list_i] + + utils_file.logging_info(f'true load num is : {len(new_final_data_list_i)}') + total_list.extend(new_final_data_list_i) +random.shuffle(total_list) +utils_file.write_list_to_file(total_list, tmp_file_path) diff --git a/common_utils/utils4infer.py b/common_utils/utils4infer.py new file mode 100644 index 0000000000000000000000000000000000000000..e709fedab3ab78a9e0bcafbecfc61bf90214ba67 --- /dev/null +++ b/common_utils/utils4infer.py @@ -0,0 +1,163 @@ +import copy +import os +import random +import re + +import yaml +from cn2an import an2cn +from gxl_ai_utils.utils import utils_file +from wenet.utils.init_tokenizer import init_tokenizer +from gxl_ai_utils.config.gxl_config import GxlNode +from wenet.utils.init_model import init_model +import logging +import librosa +import torch +import torchaudio + + + +def load_model_and_tokenizer(checkpoint_path, config_path, device:torch.device=torch.device('cuda')): + """ + 封装了加载模型和分词器的逻辑 + Args: + checkpoint_path (str): 模型权重文件路径 + config_path (str): 模型配置文件路径 + device (torch.device): 加载模型的设备 + Returns: + model: 加载好的模型 + tokenizer: 加载好的分词器 + """ + print(f"正在从以下路径加载模型: {checkpoint_path}") + args = GxlNode({"checkpoint": checkpoint_path}) + configs = utils_file.load_dict_from_yaml(config_path) + model, configs = init_model(args, configs) + model = model.to(device).to(torch.bfloat16) + model.eval() # 设置为评估模式 + tokenizer = init_tokenizer(configs) + print(f"模型 {checkpoint_path} 加载完成并移动到 {device}") + return model, tokenizer + +def token_list2wav(token_list, prompt_speech, wav_path, cosyvoice): + token_list = [int(i) for i in token_list] + j = cosyvoice.inference_zero_shot_gz_22k( + '收到好友从远方寄来的生日礼物。', + '希望你以后能够做的比我还好呦。', prompt_speech, stream=False, token_list=token_list) + utils_file.makedir_for_file(wav_path) + torchaudio.save(wav_path, j['tts_speech'],cosyvoice.sample_rate) + print(f'语音合成完成,保存到 {wav_path}') + return wav_path + +def do_resample(input_wav_path): + """...""" + waveform, sample_rate = torchaudio.load(input_wav_path) + if waveform.shape[0] > 1: + waveform = torch.mean(waveform, dim=0, keepdim=True) + resampler = torchaudio.transforms.Resample(orig_freq=sample_rate, new_freq=16000) + waveform = resampler(waveform) + return waveform, 16000 + + +def get_feat_from_wav_path(input_wav_path, device:torch.device=torch.device('cuda')): + """...""" + waveform, sample_rate = do_resample(input_wav_path) + waveform = waveform.squeeze(0) + window = torch.hann_window(400) + stft = torch.stft(waveform, 400, 160, window=window, return_complex=True) + magnitudes = stft[..., :-1].abs() ** 2 + filters = torch.from_numpy(librosa.filters.mel(sr=sample_rate, n_fft=400, n_mels=80)) + mel_spec = filters @ magnitudes + log_spec = torch.clamp(mel_spec, min=1e-10).log10() + log_spec = torch.maximum(log_spec, log_spec.max() - 8.0) + log_spec = (log_spec + 4.0) / 4.0 + feat = log_spec.transpose(0, 1) + feat_lens = torch.tensor([feat.shape[0]], dtype=torch.int64).to(device) + feat = feat.unsqueeze(0).to(device) + feat = feat.to(torch.bfloat16) + return feat, feat_lens + + + +def do_format_shard_manifest4one(input_shards_path, tmp_file_path=None): + if tmp_file_path is None: + tmp_file_path = f'~/.cache/.temp/{random.randint(10000, 99999)}.txt' + data_path_i = input_shards_path + utils_file.logging_info(f'path:{data_path_i} ') + final_data_list_i = utils_file.load_list_file_clean(data_path_i) + # 判断数据类型 + if "combines_list.txt" in data_path_i: + print(f'是 combine类型的数据') + tar_root_path = data_path_i.replace('combines_list.txt', 'combines_tar_root.txt') + if not os.path.exists(tar_root_path): + utils_file.logging_error( + f'combine_list.txt:{data_path_i} 对应的 combines_tar_root.txt:{tar_root_path} 不存在') + return + tar_root = utils_file.load_first_row_clean(tar_root_path) + if tar_root.endswith('/'): + tar_root = tar_root[:-1] + utils_file.logging_info(f' tar_root:{tar_root}') + new_final_data_list_i = [] + for data_path_j in final_data_list_i: + # "combine_path|shard_path" + tmp_lines = f'{data_path_j}|{tar_root}/{utils_file.do_get_file_pure_name_from_path(data_path_j)}.tar' + new_final_data_list_i.append(tmp_lines) + else: + print(f'不是 combine类型的数据,是传统shard类型的数据') + new_final_data_list_i = [f'-|{data_path_j}' for data_path_j in final_data_list_i] + + utils_file.logging_info(f'true load num is : {len(new_final_data_list_i)}') + utils_file.write_list_to_file(new_final_data_list_i, tmp_file_path) + return tmp_file_path + + + +def convert_numbers_in_string(s): + # 正则表达式匹配数字(支持整数、小数、负数) + pattern = r'-?\d+\.?\d*' + + def replace_func(match): + num_str = match.group() + try: + # 尝试转换数字 + return an2cn(num_str) + except ValueError: + # 若转换失败(如非有效数字),返回原内容 + return num_str + # 替换字符串中所有匹配的数字 + return re.sub(pattern, replace_func, s) + +def get_test_conf(config_path): + with open(config_path, 'r', encoding='utf-8') as fin: + print(f"加载配置文件 {config_path}") + configs = yaml.load(fin, Loader=yaml.FullLoader) + configs['dataset_conf']['filter_conf']['filter_no_extra_info'] = False + test_conf = copy.deepcopy(configs['dataset_conf']) + + # test_conf['filter_conf']['max_length'] = 3000 # whisper最长处理30s 102400 + test_conf['filter_conf']['min_length'] = 10 + test_conf['filter_conf']['token_max_length'] = 102400 + test_conf['filter_conf']['token_min_length'] = 1 + test_conf['filter_conf']['max_output_input_ratio'] = 102400 + test_conf['filter_conf']['min_output_input_ratio'] = 0 + test_conf['filter_conf']['filter_no_extra_info'] = False + test_conf['filter_conf']['max_seq_len'] = 102400 + test_conf['speed_perturb'] = False + test_conf['spec_aug'] = False + test_conf['spec_sub'] = False + test_conf['spec_trim'] = False + test_conf['shuffle'] = False + test_conf['sort'] = False + test_conf['cycle'] = 1 + test_conf['list_shuffle'] = True + if 'fbank_conf' in test_conf: + test_conf['fbank_conf']['dither'] = 0.0 + elif 'mfcc_conf' in test_conf: + test_conf['mfcc_conf']['dither'] = 0.0 + test_conf['batch_conf']['batch_type'] = "static" + test_conf['batch_conf']['batch_size'] = 1 + test_conf['split_num'] = 1 + test_conf['multi_num'] = 1 + test_conf['other_filter_conf'] = {} + test_conf['data_recover'] = False + return configs, test_conf + + diff --git a/conf/ct_config.yaml b/conf/ct_config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..00f85df460ee37951b0e6d3d3071a3a19eeb22ec --- /dev/null +++ b/conf/ct_config.yaml @@ -0,0 +1,153 @@ +model: osum_echat + +# llm_path +llm_path: &llm_path "Qwen/Qwen2.5-3B-Instruct" + +# +# model config +downsample_rate: 4 # 1 2 4 8 +adapter_type: osum_echat +if_instruct: true +input_dim: 80 + +# tokenizer ,gxl +tokenizer: huggingface +tokenizer_conf: + llm_path: *llm_path + +# lora config +use_lora: false +lora_alpha: 32 +lora_rank: 64 # 3B -> 85M +lora_dropout: 0.1 + +# speech generate config +speech_token_num: &token_num 4097 #4097 + + +# Configuration of parameters for training +fire_module: link_and_encoder_and_lora # link encoder llm link_and_encoder link_and_encoder_and_lora, llm需要配合use_lora为true + +# other config +grad_clip: 5 +accum_grad: 8 +log_interval: 10 +save_interval: 1250 #1250 #2500 +max_epoch: 1 +init_step: true + +# training config +optim: adamw +optim_conf: + betas: + - 0.9 + - 0.99 + eps: 1.0e-06 + lr: 1.0e-06 + weight_decay: 0.01 +scheduler: warmuplr +scheduler_conf: + warmup_steps: 2000 + + +dataset: asr +dataset_conf: + speech_token_num: *token_num + batch_conf: + batch_size: 26 + batch_type: dynamic + max_frames_in_batch: 28000000 #3000 #9000 #3000 #3300 # 3900 + max_seq_in_batch: 3700 #1500 #4000 #1100 #1600 # 1900 + feats_type: log_mel_spectrogram + filter_conf: + max_length: 20000 + min_length: 20 + token_max_length: 1200 + token_min_length: 1 + filter_no_extra_info: true # 如果没有task lang 等信息,直接过滤掉, 适用于通用多任务训练, 推理时应该关掉 + max_seq_len: 2000 #、1100 #1000 + other_filter_conf: + only_s2s: false # 只针对与s2s dataloader的过滤 + only_s2t: false # 只针对与s2t dataloader的过滤 + only_t2t: false # 只针对与t2t dataloader的过滤 + only_t2s: false # 只针对与t2s dataloader的过滤 + language_conf: + limited_langs: + - zh + log_mel_spectrogram_conf: + hop_length: 160 + n_fft: 400 + num_mel_bins: 80 + padding: 0 + resample_conf: + resample_rate: 16000 + shuffle: true + shuffle_conf: + shuffle_size: 1500 + sort: true + sort_conf: + sort_size: 500 + spec_aug: true + spec_aug_conf: + max_f: 10 + max_t: 50 + num_f_mask: 2 + num_t_mask: 2 + spec_sub: true + spec_sub_conf: + max_t: 30 + num_t_sub: 3 + spec_trim: false + speed_perturb: false + eod_id: 151645 + split_num: 1 + multi_num: 2 + prompt_conf_path: conf/prompt_config.yaml + data_recover: false + data_recover_conf: + start_idx: 0 # 删除前面start_idx个item(tar包) + other_tokenze_conf: # 一些对数据额外操作的可控按钮,这些操作一般来说再test时都得为false + only_info: + only_s2s: false # 只针对与s2s dataloader的过滤 + only_s2t: false # 只针对与s2t dataloader的过滤 + only_t2t: false # 只针对与t2t dataloader的过滤 + only_t2s: false # 只针对与t2s dataloader的过滤 + use_50_per_change_if_only_X: true # 50%的句子随机替换为其only X + use_s2s_streaming_random: + enable: false + rate: 0.5 # 1.0 表示100%的句子随机替换为其only X + natural_language_convert: + enable: false + rate: 0.00 # 1.0 表示100%的转换成自然语言模式 + use_s2s_convert_s2t: + enable: false # 单独为s2t dataloader 开启s2s convert + rate: 1.0 # 1.0 表示100%的句子随机替换为其only X + use_streaming_tts: + enable: false + rate: 0.5 # 1.0 表示100%的句子随机替换为其only X + use_think_mode: + enable: false # 开启think 模式, 即随机替换为think模式的句子 + rate: 0.8 + other_filter_conf: + fiter_txt_is_None: true # 过滤掉text is ""的语音数据,适配由于gender数据部分含有标签而设计。但仅train起作用 + +# model config for encoder +encoder: transformer +encoder_conf: + activation_type: gelu + attention_dropout_rate: 0.0 + attention_heads: 16 + dropout_rate: 0.1 + gradient_checkpointing: true + input_layer: conv1d2 + key_bias: false + linear_units: 4096 + normalize_before: true + num_blocks: 24 + output_size: 1024 + pos_enc_layer_type: abs_pos_whisper + positional_dropout_rate: 0.1 + static_chunk_size: -1 + use_dynamic_chunk: false + use_dynamic_left_chunk: false + diff --git a/conf/ct_config_sft.yaml b/conf/ct_config_sft.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cfb39c644b99992b7c43fb08220dd563c0d853e5 --- /dev/null +++ b/conf/ct_config_sft.yaml @@ -0,0 +1,152 @@ +model: llmasr + +# llm_path +llm_path: &llm_path "/home/A02_tmpdata3/ckpt/Qwen2.5-3B-Instruct" +# +# model config +downsample_rate: 4 # 1 2 4 8 +adapter_type: osum_echat +if_instruct: true +input_dim: 80 + +# tokenizer ,gxl +tokenizer: huggingface +tokenizer_conf: + llm_path: *llm_path + +# lora config +use_lora: false +lora_alpha: 32 +lora_rank: 64 # 3B -> 85M +lora_dropout: 0.1 + +# speech generate config +speech_token_num: &token_num 4097 #4097 + + +# Configuration of parameters for training +fire_module: link_and_encoder_and_lora # link encoder llm link_and_encoder link_and_encoder_and_lora, llm需要配合use_lora为true + +# other config +grad_clip: 5 +accum_grad: 8 +log_interval: 10 +save_interval: 125 #1250 #2500 +max_epoch: 1 +init_step: true + +# training config +optim: adamw +optim_conf: + betas: + - 0.9 + - 0.99 + eps: 1.0e-06 + lr: 1.0e-06 + weight_decay: 0.01 +scheduler: warmuplr +scheduler_conf: + warmup_steps: 400 + + +dataset: asr +dataset_conf: + speech_token_num: *token_num + batch_conf: + batch_size: 26 + batch_type: dynamic + max_frames_in_batch: 28000000 #3000 #9000 #3000 #3300 # 3900 + max_seq_in_batch: 3700 #1500 #4000 #1100 #1600 # 1900 + feats_type: log_mel_spectrogram + filter_conf: + max_length: 20000 + min_length: 20 + token_max_length: 1200 + token_min_length: 1 + filter_no_extra_info: true # 如果没有task lang 等信息,直接过滤掉, 适用于通用多任务训练, 推理时应该关掉 + max_seq_len: 2000 #、1100 #1000 + other_filter_conf: + only_s2s: false # 只针对与s2s dataloader的过滤 + only_s2t: false # 只针对与s2t dataloader的过滤 + only_t2t: false # 只针对与t2t dataloader的过滤 + only_t2s: false # 只针对与t2s dataloader的过滤 + language_conf: + limited_langs: + - zh + log_mel_spectrogram_conf: + hop_length: 160 + n_fft: 400 + num_mel_bins: 80 + padding: 0 + resample_conf: + resample_rate: 16000 + shuffle: true + shuffle_conf: + shuffle_size: 1500 + sort: true + sort_conf: + sort_size: 500 + spec_aug: true + spec_aug_conf: + max_f: 10 + max_t: 50 + num_f_mask: 2 + num_t_mask: 2 + spec_sub: true + spec_sub_conf: + max_t: 30 + num_t_sub: 3 + spec_trim: false + speed_perturb: false + eod_id: 151645 + split_num: 1 + multi_num: 2 + prompt_conf_path: conf/prompt_config.yaml + data_recover: false + data_recover_conf: + start_idx: 0 # 删除前面start_idx个item(tar包) + other_tokenze_conf: # 一些对数据额外操作的可控按钮,这些操作一般来说再test时都得为false + only_info: + only_s2s: false # 只针对与s2s dataloader的过滤 + only_s2t: false # 只针对与s2t dataloader的过滤 + only_t2t: false # 只针对与t2t dataloader的过滤 + only_t2s: false # 只针对与t2s dataloader的过滤 + use_50_per_change_if_only_X: true # 50%的句子随机替换为其only X + use_s2s_streaming_random: + enable: false + rate: 0.5 # 1.0 表示100%的句子随机替换为其only X + natural_language_convert: + enable: false + rate: 0.00 # 1.0 表示100%的转换成自然语言模式 + use_s2s_convert_s2t: + enable: false # 单独为s2t dataloader 开启s2s convert + rate: 1.0 # 1.0 表示100%的句子随机替换为其only X + use_streaming_tts: + enable: false + rate: 0.5 # 1.0 表示100%的句子随机替换为其only X + use_think_mode: + enable: false # 开启think 模式, 即随机替换为think模式的句子 + rate: 0.8 + other_filter_conf: + fiter_txt_is_None: true # 过滤掉text is ""的语音数据,适配由于gender数据部分含有标签而设计。但仅train起作用 + +# model config for encoder +encoder: transformer +encoder_conf: + activation_type: gelu + attention_dropout_rate: 0.0 + attention_heads: 16 + dropout_rate: 0.1 + gradient_checkpointing: true + input_layer: conv1d2 + key_bias: false + linear_units: 4096 + normalize_before: true + num_blocks: 24 + output_size: 1024 + pos_enc_layer_type: abs_pos_whisper + positional_dropout_rate: 0.1 + static_chunk_size: -1 + use_dynamic_chunk: false + use_dynamic_left_chunk: false + diff --git a/conf/data_s2s.yaml b/conf/data_s2s.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b06e0a90b2dbfd696699517cde7614136b838591 --- /dev/null +++ b/conf/data_s2s.yaml @@ -0,0 +1,226 @@ +# ===========================副语言 s2s thinking =================================== + +# age gender, +age_gender_common: + path: /home/A02_tmpdata3/osum_s2s/gender/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 1511 + weight: 2 + +gender_xianshi: + path: /home/A02_tmpdata3/osum_s2s/sex_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 30 + weight: 2 + + +gender_yinshi_3k: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_7_4_osum_by_cywang_added_by_20250708/raw_data/s2s_handle/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 3 + weight: 2 + +gender_yinshi_5k: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_5000_6_13_data_by_gjli_added_by_20250622/raw_data/s2s_handle/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 6 + weight: 2 + +age_xianshi: + path: /home/A02_tmpdata3/osum_s2s/age_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 25 + weight: 2 + + +# caption +caption_common_7label: + path: /home/A02_tmpdata3/osum_s2s/caption/raw_data/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 162 + weight: 2 + +caption_common_50_label: + path: /home/A02_tmpdata3/osum_s2s/caption_add_2025_1_6/raw_data/s2s_data_with_gender/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 395 # 实际是196k + weight: 2 + +caption_xianshi: + path: /home/A02_tmpdata3/osum_s2s/caption_s2s_xianshi_20250806/raw_data/s2s_data/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 6 + weight: 10 + + + +# emotion +emotion_100K_sensevoice: + path: /home/A02_tmpdata3/osum_s2s/emotion_yinshi_zxzhao_with_q_emo_by_cywang_added_by_20250701/handle_data/s2s_handle/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 107 + weight: 10 + +emotion_30K_sensevoice: + path: /home/A02_tmpdata3/emotion/中英混多音色情感数据库/s2s_handle/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + tar_num: 33 + weight: 10 + +S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616_think: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616/raw_data/s2s_handle/xlgeng_new_data/s2s_thinking/doubao/combines_list.txt + shard_num: 8 + weight: 10 + +# ======================================s2s 副语言 thinking end===================================== + + + + +# ===========================副语言 s2s no thinking =================================== + +# age gender, +age_gender_common_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/gender/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 1511 + weight: 2 + +gender_xianshi_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/sex_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 30 + weight: 2 + +gender_yinshi_3k_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_7_4_osum_by_cywang_added_by_20250708/raw_data/s2s_handle/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 3 + weight: 2 + +gender_yinshi_5k_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_5000_6_13_data_by_gjli_added_by_20250622/raw_data/s2s_handle/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 6 + weight: 2 + +age_xianshi_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/age_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 25 + weight: 2 + + +# caption +caption_common_7label_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/caption/raw_data/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 162 + weight: 2 + +caption_common_50_label_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/caption_add_2025_1_6/raw_data/s2s_data_with_gender/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 395 # 实际是196k + weight: 2 + +caption_xianshi_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/caption_s2s_xianshi_20250806/raw_data/s2s_data/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 6 + weight: 2 + + +# emotion +emotion_100K_sensevoice_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/emotion_yinshi_zxzhao_with_q_emo_by_cywang_added_by_20250701/handle_data/s2s_handle/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 107 + weight: 10 + +emotion_30K_sensevoice_no_thinking: + path: /home/A02_tmpdata3/emotion/中英混多音色情感数据库/s2s_handle/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + tar_num: 33 + weight: 10 + +S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616/raw_data/s2s_handle/xlgeng_new_data/s2s_no_thinking/doubao/combines_list.txt + shard_num: 8 + weight: 10 + +# -------------------------------------------s2s 副语言 no thinking end------------------------------------------- + +S2SChat_syndata_merged_by_300W_zhguo_added_by_20250616: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_syndata_merged_by_300W_zhguo_added_by_20250616/combines_data_s2s/combines_list.txt + tar_num: 3000 + weight: 1 +S2SChat_osum_total_data_lst_check_final_100W_by_zhguo_added_by_20250616: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_osum_total_data_lst_check_final_100W_by_zhguo_added_by_20250616/combines_data_s2s/combines_list.txt + tar_num: 1000 + weight: 1 + +gaozhiliang_gbma: + path: /home/A02_tmpdata3/osum_s2s/gaozhiliang_gbma/shards_list.txt + new_data_list: /home/node44_tmpdata3/netease/gbma/workspace/osum/data/process/0803/all_data_info.jsonl + new_lab_path: /home/work_nfs23/asr_data/data/osum_chat/s2s/gaozhiliang_gbma/shards_list.txt + shard_num: 24 + weight: 1 + +# ======================================s2s no thinking end===================================== + +# emotion explicit; +S2SChat_0628_E1_shard_by_kxxia_added_by_20250630: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_0628_E1_shard_by_kxxia_added_by_20250630/shards_list.txt + new_data_list: /home/work_nfs16/cywang/workspace/OSUM/E1/0628_E1_shard.jsonl + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/0628_E1_shard/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_0628_E1_shard_by_kxxia_added_by_20250630/shards_list.txt + shard_num: 147 + description: "E1 shard, 情感显示数据" + weight: 1 +S2SChat_eng_e1_by_cywang_added_by_20250711: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_eng_e1_by_cywang_added_by_20250711/shards_list.txt + new_data_list: /home/work_nfs16/kxxia/work/common/eng_e1.jsonl1752154262.3374825 + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/eng_e1/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_eng_e1_by_cywang_added_by_20250711/shards_list.txt + shard_num: 50 + weight: 2 + +# 下面一共才200多个 +S2SChat_0630_trans_en2zh_by_cywang_added_by_20250704: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_0630_trans_en2zh_by_cywang_added_by_20250704/shards_list.txt + new_data_list: /home/work_nfs16/cywang/workspace/OSUM/trans_emotion/0630_trans_en2zh.jsonl + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/0630_trans_en2zh/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_0630_trans_en2zh_by_cywang_added_by_20250704/shards_list.txt + shard_num: 128 + weight: 0.5 +S2SChat_0630_trans_zh2en_by_cywang_added_by_20250704: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_0630_trans_zh2en_by_cywang_added_by_20250704/shards_list.txt + new_data_list: /home/work_nfs16/cywang/workspace/OSUM/trans_emotion/0630_trans_zh2en.jsonl + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/0630_trans_zh2en/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_0630_trans_zh2en_by_cywang_added_by_20250704/shards_list.txt + shard_num: 128 + weight: 0.5 +S2SChat_pachong_part1_filter_author_data_by_gjli_added_by_20250622: + shard_num: 28 + huawei_path: /mnt/sfs/asr/update_data/S2SChat_pachong_part1_filter_author_data_by_gjli_added_by_20250622/shards_list.txt + new_data_list: /home/work_nfs16/gjli/workspaces/poem/6-16_shigepachong/pachong_part1_filter_content_data.list + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/pachong_part1_filter_author_data/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_pachong_part1_filter_author_data_by_gjli_added_by_20250622/shards_list.txt + weight: 1 +S2SChat_pachong_part1_filter_content_data_by_gjli_added_by_20250622: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_pachong_part1_filter_content_data_by_gjli_added_by_20250622/shards_list.txt + new_data_list: /home/work_nfs16/gjli/workspaces/poem/6-16_shigepachong/pachong_part1_filter_author_data.list + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/pachong_part1_filter_content_data/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_pachong_part1_filter_content_data_by_gjli_added_by_20250622/shards_list.txt + shard_num: 68 + weight: 1 +S2SChat_poem_1_2_6_3_author_data_150num_by_gjli_added_by_20250622: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_poem_1_2_6_3_author_data_150num_by_gjli_added_by_20250622/shards_list.txt + new_data_list: /home/work_nfs16/gjli/workspaces/poem/6.3/poem_1_2_6-3_author_data.list + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/poem_1_2_6-3_author_data/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_poem_1_2_6_3_author_data_150num_by_gjli_added_by_20250622/shards_list.txt + shard_num: 2 + weight: 1 +S2SChat_poem_1_2_6_3_content_data_150num_by_gjli_added_by_20250622: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_poem_1_2_6_3_content_data_150num_by_gjli_added_by_20250622/shards_list.txt + new_data_list: /home/work_nfs16/gjli/workspaces/poem/6.3/poem_1_2_6-3_content_data.list + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/poem_1_2_6-3_content_data/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_poem_1_2_6_3_content_data_150num_by_gjli_added_by_20250622/shards_list.txt + shard_num: 9 + weight: 1 +S2SChat_poem_500_author_data_new_by_gjli_added_by_20250622: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_poem_500_author_data_new_by_gjli_added_by_20250622/shards_list.txt + new_data_list: /home/work_nfs16/gjli/workspaces/poem/poem_500_author_data_new.list + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/poem_500_author_data_new/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_poem_500_author_data_new_by_gjli_added_by_20250622/shards_list.txt + shard_num: 4 + weight: 1 +S2SChat_poem_500_content_data_new_by_gjli_added_by_20250622: + huawei_path: /mnt/sfs/asr/update_data/S2SChat_poem_500_content_data_new_by_gjli_added_by_20250622/shards_list.txt + new_data_list: /home/work_nfs16/gjli/workspaces/poem/poem_500_content_data_new.list + new_lab_path: /home/work_nfs11/cywang/data/shard/S2Chat/poem_500_content_data_new/shards_list.txt + path: /home/A02_tmpdata3/osum_s2s/S2SChat_poem_500_content_data_new_by_gjli_added_by_20250622/shards_list.txt + shard_num: 4 + weight: 1 + diff --git a/conf/data_s2t.yaml b/conf/data_s2t.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7c03f48f8a6b988948132ebcb6ddaf254f598c55 --- /dev/null +++ b/conf/data_s2t.yaml @@ -0,0 +1,402 @@ + +# age gender, +age_gender_common: + path: /home/A02_tmpdata3/osum_s2s/gender/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 1511 + +gender_xianshi: + path: /home/A02_tmpdata3/osum_s2s/sex_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 30 + +gender_yinshi_3k: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_7_4_osum_by_cywang_added_by_20250708/raw_data/s2s_handle/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 3 + +gender_yinshi_5k: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_5000_6_13_data_by_gjli_added_by_20250622/raw_data/s2s_handle/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 6 + +age_xianshi: + path: /home/A02_tmpdata3/osum_s2s/age_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 25 + + +# caption +caption_common_7label: + path: /home/A02_tmpdata3/osum_s2s/caption/raw_data/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 162 + +caption_common_50_label: + path: /home/A02_tmpdata3/osum_s2s/caption_add_2025_1_6/raw_data/s2s_data_with_gender/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 395 # 实际是196k + +caption_xianshi: + path: /home/A02_tmpdata3/osum_s2s/caption_s2s_xianshi_20250806/raw_data/s2s_data/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 6 + weight: 10 + + +# emotion +emotion_100K_sensevoice: + path: /home/A02_tmpdata3/osum_s2s/emotion_yinshi_zxzhao_with_q_emo_by_cywang_added_by_20250701/handle_data/s2s_handle/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 107 + weight: 10 + +emotion_30K_sensevoice: + path: /home/A02_tmpdata3/emotion/中英混多音色情感数据库/s2s_handle/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + tar_num: 33 + weight: 10 + +S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616_think: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616/raw_data/s2s_handle/xlgeng_new_data/s2t_thinking/doubao/combines_list.txt + shard_num: 8 + weight: 10 + +# ======================================s2s 副语言 thinking end===================================== + + + + +# ===========================副语言 s2s no thinking =================================== + +# age gender, +age_gender_common_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/gender/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 1511 + +gender_xianshi_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/sex_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 30 + +gender_yinshi_3k_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_7_4_osum_by_cywang_added_by_20250708/raw_data/s2s_handle/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 3 + +gender_yinshi_5k_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_sex_yinshi_5000_6_13_data_by_gjli_added_by_20250622/raw_data/s2s_handle/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 6 + +age_xianshi_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/age_xianshi_cosyvoice2_by_cywang_added_by_20250625/raw_data/s2s_handle/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 25 + + +# caption +caption_common_7label_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/caption/raw_data/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 162 + +caption_common_50_label_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/caption_add_2025_1_6/raw_data/s2s_data_with_gender/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 395 # 实际是196k + +caption_xianshi_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/caption_s2s_xianshi_20250806/raw_data/s2s_data/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 6 + + +# emotion +emotion_100K_sensevoice_no_thinking: + path: /home/A02_tmpdata3/osum_s2s/emotion_yinshi_zxzhao_with_q_emo_by_cywang_added_by_20250701/handle_data/s2s_handle/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 107 + weight: 10 + +emotion_30K_sensevoice_no_thinking: + path: /home/A02_tmpdata3/emotion/中英混多音色情感数据库/s2s_handle/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + tar_num: 33 + weight: 10 + +S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_osum_setting_qa_527_updated_by_cywang_added_by_20250616/raw_data/s2s_handle/xlgeng_new_data/s2t_no_thinking/doubao/combines_list.txt + shard_num: 8 + weight: 10 + +# -------------------------------------------s2s 副语言 no thinking end------------------------------------------- + + + +# 知识问答 +S2SChat_syndata_merged_by_300W_zhguo_added_by_20250616: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_syndata_merged_by_300W_zhguo_added_by_20250616/combines_data_s2t/combines_list.txt + tar_num: 3000 +S2SChat_osum_total_data_lst_check_final_100W_by_zhguo_added_by_20250616: + path: /home/A02_tmpdata3/osum_s2s/S2SChat_osum_total_data_lst_check_final_100W_by_zhguo_added_by_20250616/combines_data_s2t/combines_list.txt + tar_num: 1000 +# ======================================s2t 副语言 no thinking end========================== + + + +# 语音理解========================================== +asr: + huawei_path: "/mnt/sfs/asr/asr/shards_list.txt" # 2.4 + lab_path: "/home/node54_tmpdata/xlgeng/asr_data_2w/shards_list.txt" + path: "/home/A03_tmpdata1/s2s/asr_data_2.4w/asr_data_2w/shards_list.txt" + shard_num: 15477 + weight: 0.1 # ~10000h + + +# ===========理解任务 ============================================== +librispeech: + huawei_path: "/mnt/sfs/asr/update_data/LibriSpeech_shard_common/shards_list.txt" #1000h + lab_path: "/home/work_nfs15/asr_data/data/LibriSpeech/LibriSpeech_shard_common/shards_list.txt" + path: "/home/A03_tmpdata3/asr_data/librispeech/shards_list.txt" + shard_num: 282 + weight: 1 +mix_asru200_add_2025_2_14: + huawei_path: "/mnt/sfs/asr/update_data/mix_asru200_add_2025_2_14/shards_list.txt" # 200 + path: "/home/A03_tmpdata1/s2s/asru700/train/shards_list.txt" + lab_path: "/home/work_nfs15/asr_data/data/ASRU700/train/shards_list.txt" # 中英混单词之间是有空格的 + shard_num: 187 + weight: 1 + + + + + +caption: + path: "/home/A02_tmpdata3/osum_s2s/caption/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/caption/shards_list.txt" # 319h + lab_path: "/home/node54_tmpdata2/data4understand/update_data/caption/shards_list.txt"# 是cap audio set+aishell2的拼接 + shard_num: 319 + weight: 0.5 +caption_add_2025_1_6: + path: "/home/A02_tmpdata3/osum_s2s/caption_add_2025_1_6/shards_list.txt" + lab_path: "/home/work_nfs7/yacao/0106_twj_shard/shards_0306/add_label/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/caption_2025_1_6_newadd/shards_list.txt" # 130h + shard_num: 392 + weight: 0.5 +caption_aslp_add_2025_1_15: + path: "/home/A02_tmpdata3/osum_s2s/caption_aslp_add_2025_1_15/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/caption_aslp_add_2025_1_15/shards_list.txt" # 5h + shard_num: 5 + lab_path: "/home/work_nfs9/yacao/nfs7_copy/yacao/shard/0114_wjtian_simu2/aslp_caption_train/shards_list.txt" + weight: 5 + + + +# 50类别的caption +s2t_caption_50label: + shard_num: 392 + path: "/home/A02_tmpdata3/osum_s2s/s2t_caption_50label/shards_list.txt" + lab_path: "/home/work_nfs7/yacao/0106_twj_shard/shards_0306/add_label/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/0106_twj_shard_caption_50label_add_by_2025_3_10/shards_list.txt" # 392tar + weight: 0.5 # 10 + + + + +emotion: # 不全, 312tar + path: "/home/A02_tmpdata3/osum_s2s/emotion/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/emotion/shards_list.txt" + huawei_path: "/mnt/sfs/asr/emotion/shards_list.txt" + shard_num: 370 + weight: 0.5 # 538h +emotion_stage2_add: + path: "/home/A02_tmpdata3/osum_s2s/emotion_stage2_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/emotion_stage2_add/shards_list.txt" + huawei_path: "/mnt/sfs/asr/emotion_stage2_add/shards_list.txt" + shard_num: 44 + weight: 0.1 # 150h +emotion_stage3_add: + path: "/home/A02_tmpdata3/osum_s2s/emotion_stage3_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/emotion_stage3_add/shards_list.txt" + huawei_path: "/mnt/sfs/asr/emotion_stage3_add/shards_list.txt" + shard_num: 53 + weight: 0.1 # 138h +emotion_stage4_add: + path: "/home/A02_tmpdata3/osum_s2s/emotion_stage4_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/emotion_stage4_add/shards_list.txt" + huawei_path: "/mnt/sfs/asr/emotion_stage4_add/shards_list.txt" + shard_num: 54 + weight: 0.1 #100h +emotion_stage5_add: + path: "/home/A02_tmpdata3/osum_s2s/emotion_stage5_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/emotion_stage5_add/shards_list.txt" + shard_num: 53 + huawei_path: "/mnt/sfs/asr/emotion_stage5_add/shards_list.txt" + weight: 0.1 + +emotion_meld: + path: "/home/A02_tmpdata3/osum_s2s/emotion_meld/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/emotion_meld/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/emotion_meld/shards_list.txt" # 8h + shard_num: 9 + weight: 1 +#emotion_dis_fear_add_2025_1_15: +# huawei_path: "/mnt/sfs/asr/update_data/emotion_dis_fear_add_2025_1_15/shards_list.txt" +# weight: 0 + +emotion_lucy_Q_added_2025_4_9: + path: "/home/A02_tmpdata3/osum_s2s/s2s_lucy_Q_emotion/shards_list.txt" + shard_num: 121 + lab_path: "/home/work_nfs11/cywang/data/shard/emotion/QEmo_Q_train/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/emotion_lucy_Q_added_2025_4_9/shards_list.txt" + weight: 0.5 + + + +Age_with_noize_add_2025_2_4: # 不全,才245个 + path: "/home/A02_tmpdata3/osum_s2s/age_3000_noize/shards_list.txt" + lab_path: "/home/work_nfs6/syliu/for_gxl/Age/simu_age/shards_list.txt" + shard_num: 2720 + huawei_path: "/mnt/sfs/asr/update_data/Age_with_noize_add_2025_2_4/shards_list.txt" + weight: 0.1 +age: + path: "/home/A02_tmpdata3/osum_s2s/age_3000/shards_list.txt" + lab_path: "/home/work_nfs3/syliu/for_gxl/Age/age/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/age/shards_list.txt" + shard_num: 2820 + weight: 0.1 #1.5 # 3000h + + +gender: # 不全,目前310个 + shard_num: 1738 + lab_path: "/home/xlgeng/sdb2/gender/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/sex/shards_list.txt" # 3000 + path: "/home/A02_tmpdata3/osum_s2s/gender/shards_list.txt" + weight: 0.1 #1.5 +gender_add_2025_1_6_kaggle: # 全了 + shard_num: 116 + path: "/home/A02_tmpdata3/osum_s2s/gender_kaggle/shards_list.txt" + lab_path: "/home/work_nfs3/syliu/for_gxl/new_gender/Sex/sex/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/sex_2025_1_6_newadd/shards_list.txt" # 107h, kaggle + weight: 0.1 #3 +gender_add_2025_2_4_fix: # 2100tar # 不全,365个 + path: "/home/A02_tmpdata3/osum_s2s/gender_add_2025_2_4_fix/shards_list.txt" + shard_num: 2140 + lab_path: "/home/work_nfs6/xlgeng/for_gxl/gender_add_2025_2_4_fix/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/gender_add_2025_2_4_fix/shards_list.txt" + weight: 0.1 +gender_with_noize_add_2025_2_4: # 1500h ,780tar # 不全,266个 + path: "/home/A02_tmpdata3/osum_s2s/gender_with_noize_add_2025_2_4/shards_list.txt" + lab_path: "/home/work_nfs6/xlgeng/for_gxl/gender_with_noize_add_2025_2_4/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/gender_with_noize_add_2025_2_4/shards_list.txt" + shard_num: 780 + weight: 0.1 + + + + +age_gender_stage2_add: + path: "/home/A02_tmpdata3/osum_s2s/age_gender_stage2_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/age_gender_stage2_add/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/Speech_Age_Sex/shards_list.txt" + weight: 0.1 # 174h + +age_gender_add_2025_1_13: + path: "/home/A02_tmpdata3/osum_s2s/age_gender_add_2025_1_13/shards_list.txt" + lab_path: "/home/work_nfs3/syliu/for_gxl/Age_Sex/age_sex/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/Speech_Age_Sex_add_2025_1_13/shards_list.txt" + weight: 0.1 #2571h + +style_age_gender_stage3_add: + path: "/home/A02_tmpdata3/osum_s2s/style_age_gender_stage3_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/style_age_gender_stage3_add/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/Speech_Style_Age_Sex/shards_list.txt" + weight: 0.1 # 85h + + +age_gender_pure_stage3_add: + path: "/home/A02_tmpdata3/osum_s2s/age_gender_pure_stage3_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/age_gender_pure_stage3_add/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/Age_Sex/shards_list.txt" + weight: 0.1 # 174h + + +style_age_gender_pure_stage3_add: + path: "/home/A02_tmpdata3/osum_s2s/style_age_gender_pure_stage3_add/shards_list.txt" + lab_path: "/home/xlgeng/sdb2/style_age_gender_pure_stage3_add/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/Style_Age_Sex/shards_list.txt" + weight: 0.1 # 85h + + + + +# 多任务, caption +merged_output_caption_age_gender_add_2025_2_26: + path: "/home/A02_tmpdata3/osum_s2s/merged_output_caption_age_gender_add_2025_2_26/shards_list.txt" + lab_path: "/home/work_nfs7/yacao/0106_twj_shard/shards_0226/merged_output/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/multi_task/caption_new/merged_output/shards_list.txt" + weight: 0.1 +nfs10_time1_output_caption_age_gender_add_2025_2_26: + path: "/home/A02_tmpdata3/osum_s2s/nfs10_time1_output_caption_age_gender_add_2025_2_26/shards_list.txt" + lab_path: "/home/work_nfs7/yacao/0106_twj_shard/shards_0226/nfs10_time1/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/multi_task/caption_new/nfs10_time1/shards_list.txt" + weight: 0.1 +other_20000_caption_age_gender_add_2025_2_26: + path: "/home/A02_tmpdata3/osum_s2s/other_20000_caption_age_gender_add_2025_2_26/shards_list.txt" + lab_path: "/home/work_nfs7/yacao/0106_twj_shard/shards_0226/other_20000/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/multi_task/caption_new/other_20000/shards_list.txt" + weight: 0.1 +simu9_1227_caption_age_gender_add_2025_2_26: + path: "/home/A02_tmpdata3/osum_s2s/simu9_1227_caption_age_gender_add_2025_2_26/shards_list.txt" + lab_path: "/home/work_nfs7/yacao/0106_twj_shard/shards_0226/simu9_1227/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/multi_task/caption_new/simu9_1227/shards_list.txt" + weight: 0.1 + + +# 多任务, emotion +merged_output_emotion_age_gender_add_2025_3_2: + path: "/home/A02_tmpdata3/osum_s2s/merged_output_emotion_age_gender_add_2025_3_2/shards_list.txt" + lab_path: "/home/work_nfs16/emotion_data/OSUM_age_gender/emotion_age_gender1/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/multi_task/emotion_age_gender1/shards_list.txt" + weight: 0.1 + +merged_output_emotion_age_gender_add_2025_3_2_di2pi: + path: "/home/A02_tmpdata3/osum_s2s/merged_output_emotion_age_gender_add_2025_3_2_di2pi/shards_list.txt" + shard_num: 181 + lab_path: "/home/work_nfs16/emotion_data/OSUM_age_gender/emotion_age_gender2/shards_list.txt" + huawei_path: "" + weight: 0.1 + + +# 多任务, style +merged_output_style_age_gender_add_2025_3_2: + path: "/home/A02_tmpdata3/osum_s2s/merged_output_style_age_gender_add_2025_3_2/shards_list.txt" + lab_path: "/home/node54_tmpdata2/gjli/style_age_gender_data/style_labeling_100wto200w_part1_age_gender/shards_list.txt" + shard_num: 107 + huawei_path: "/mnt/sfs/asr/update_data/multi_task/style_labeling_100wto200w_part1_age_gender/shards_list.txt" + weight: 0.1 +merged_output_style_origin_tts_age_gender_add_2025_3_2: + path: "/home/A02_tmpdata3/osum_s2s/merged_output_style_origin_tts_age_gender_add_2025_3_2/shards_list.txt" + lab_path: "/home/node54_tmpdata2/gjli/style_age_gender_data/style_origin_tts_age_gender/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/multi_task/style_origin_tts_age_gender/shards_list.txt" + weight: 0.1 +style_labeling_100wto200w_part1_age_gender_emotion_gjli: + path: "/home/A02_tmpdata3/osum_s2s/style_labeling_100wto200w_part1_age_gender_emotion_gjli/shards_list.txt" + lab_path: "/home/node54_tmpdata2/gjli/style_labeling_100wto200w_part1_age_gender_emotion/shards_list.txt" # 107 + huawei_path: "/mnt/sfs/asr/update_data/style_labeling_100wto200w_part1_age_gender_emotion/shards_list.txt" #107tar + weight: 0.5 +style_labeling_200wto300w_part1_age_gender_emotion_gjli: + path: "/home/A02_tmpdata3/osum_s2s/style_labeling_200wto300w_part1_age_gender_emotion_gjli/shards_list.txt" + lab_path: "/home/node54_tmpdata2/gjli/style_labeling_200wto300w_part2/shards_list.txt" + shard_num: 236 + huawei_path: "_" + +age_gender_style_emotion1_add_2025_3_29_zxzhao: + path: "/home/A02_tmpdata3/osum_s2s/age_gender_style_emotion1_add_2025_3_29_zxzhao/shards_list.txt" + lab_path: "/home/work_nfs16/emotion_data/OSUM_age_gender/age_gender_style_emotion1/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/age_gender_style_emotion1_add_2025_3_29_zxzhao/shards_list.txt" # 256tar + weight: 0.5 + + +5_label_caption_age_gender_style_emotion_added_2025_3_29_yacao: + path: "/home/A02_tmpdata3/osum_s2s/5_label_caption_age_gender_style_emotion_added_2025_3_29_yacao/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/5_label_caption_age_gender_style_emotion_added_2025_3_29_yacao/shards_list.txt" #270tar + lab_path: "/home/work_nfs7/yacao/0320_multilabel_2/shard/5_label/shards_list.txt" + weight: 0.5 + +# audio description 数据 +audio_caption_by_wjtian_added_by_20250414: # 其实是 20250411 ,写日期的时候由于自动补全写错了 + path: "/home/A02_tmpdata3/osum_s2s/audio_caption_by_wjtian_added_by_20250414/shards_list.txt" + lab_path: "/home/work_nfs7/cywang/OSUM/OSUM_data/shard/audio_caption/audio_caption/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/audio_caption_by_wjtian_added_by_20250414/shards_list.txt" # 2155 tar + weight: 0.15 # 开始上传天文杰准备的audio_caption数据,音频描述数据 + + +S2SChat_MMAU_training_all_by_wjtian_added_by_20250708: + path: "/home/A02_tmpdata3/osum_s2s/S2SChat_MMAU_training_all_by_wjtian_added_by_20250708/shards_list.txt" + lab_path: "/home/work_nfs11/cywang/data/shard/S2Chat/MMAU-training-all/shards_list.txt" + huawei_path: "/mnt/sfs/asr/update_data/S2SChat_MMAU_training_all_by_wjtian_added_by_20250708/shards_list.txt" # 1000 tar + shard_num: 22 + weight: 5 diff --git a/conf/data_t2s.yaml b/conf/data_t2s.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d9b7c222424fb707e4d0ea4b550b6976b7d0f6dd --- /dev/null +++ b/conf/data_t2s.yaml @@ -0,0 +1,28 @@ +TEXT2TOKEN_hq_add_2025_3_17: + lab_path: "/home/node48_tmpdata/hkxie/4O/speech_data_final/10wh_token_data/TEXT2TOKEN_hq/shards_list.txt" + path_huawei: "/mnt/sfs/asr/update_data/TEXT2TOKEN_hq_add_2025_3_17/shards_list.txt" + path: /home/A03_tmpdata2/s2s/2000_hq_S2Chat_by_hkxie_added_by_20250411/combine_tts/combines_list.txt + weight: 5 + +#english_text_token_add_2025_3_26: +# path_huawei: "/mnt/sfs/asr/update_data/english_speech_data_final_TEXT2TOKEN_part_1_added_2025_3_26/shards_list.txt" # 2000 +# data_list_path: "/home/work_nfs14/code/hkxie/ASR/understanding_LLM_task/english/speech_data_final/data_libriheavy_part_1.list" +# lab_path: "?" +# weight: 0.5 #1 #1 #10 +#english_TEXT2TOKEN_part_2_added_by_20250402: +# path_huawei: "/mnt/sfs/asr/update_data/english_TEXT2TOKEN_part_2_added_by_20250402/shards_list.txt" #8050 +# data_list_path: "/home/work_nfs14/code/hkxie/ASR/understanding_LLM_task/english/speech_data_final/data_libriheavy_part_2.list" +# lab_path: "?" +# weight: 0.5 #1 #1 #10 +# +#zh_en_mix_tts_added_by_20250402: # tts +# path_huawei: "/mnt/sfs/asr/update_data/zh_en_mix_s2s_added_by_20250402/shards_list.txt" # 7 +# weight: 1 +#poly_tts_added_by_20250402: # tts +# path: "/mnt/sfs/asr/update_data/poly_s2s_added_by_20250402/shards_list.txt" # 295 +# weight: 0.5 #10 +# +#text2token_itn_by_cywang_added_by_20250428: # zyzhang 负责,cywang打包 +# lab_path: "/home/work_nfs7/cywang/OSUM/OSUM_data/shard/text2token/tn/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/text2token_itn_by_cywang_added_by_20250428/shards_list.txt" # 1100 +# weight: 0.5 \ No newline at end of file diff --git a/conf/data_t2t.yaml b/conf/data_t2t.yaml new file mode 100644 index 0000000000000000000000000000000000000000..739698e554fa4c45f451ff86a56974e1b65d0aa6 --- /dev/null +++ b/conf/data_t2t.yaml @@ -0,0 +1,159 @@ +# 文本到文本 +#text2text_added_2025_4_4: +# path_huawei: "/mnt/sfs/asr/update_data/text2text_added_by_20250404/shards_list.txt" # 1850 +# weight: 1 +#text2text_2_added_by_20250409: +# path_huawei: "/mnt/sfs/asr/update_data/text2text_2_added_by_20250409/shards_list.txt" # 2000 +# weight: 1 +# +#text2text_3_en_added_by_20250411: +# path_huawei: "/mnt/sfs/asr/update_data/text2text_3_en_added_by_20250411/shards_list.txt" # 185 +# weight: 1 +# +#text2text_4_en_added_by_20250416: +# path_huawei: "/mnt/sfs/asr/update_data/text2text_4_en_added_by_20250416/shards_list.txt" +# weight: 1 + +#text2text_5_lucy_audioQA_1M_by_cywang_added_by_20250426: +# shard_num: 10000 +# path_huawei: "/mnt/sfs/asr/update_data/text2text_5_lucy_audioQA_1M_by_cywang_added_by_20250426/shards_list.txt" +# weight: 0.1 + +t2t_8772K_by_xlgeng_added_by_20250513: + path: "/home/A03_tmpdata1/text2text_data_xlgeng/t2t_8772K/shards_list.txt" + path_huawei: "/mnt/sfs/asr/update_data/t2t_8772K_by_xlgeng_added_by_20250513/shards_list.txt" + weight: 0.1 + +#t2t_math_poetry_self_by_xlgeng_added_by_20250513: +# path: "/home/A03_tmpdata1/text2text_data_xlgeng/t2t_math_poetry_self/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_math_poetry_self_by_xlgeng_added_by_20250513/shards_list.txt" # 75 +# weight: 1 + +Alpaca_CoT_3000W_by_wjt_added_by_20250605: + lab_path_huawei: "" + shard_num: 30000 + path_huawei: "/mnt/sfs/asr/update_data/Alpaca_CoT_3000W_by_wjt_added_by_20250605/shards_list.txt" + path: "/home/A03_tmpdata1/text2text_data_xlgeng/Alpaca-CoT_3000W/shards_list.txt" + weight: 0.15 + + +qwenomni_bench_data: + path: "/home/A02_tmpdata3/osum_t2t/qwenomni_bench_data/shards_list.txt" + weight: 3 + +three_kingdoms: + path: "/home/A02_tmpdata3/osum_t2t/three_kingdoms/shards_list.txt" + weight: 3 + +voicebench_data: + path: "/home/A02_tmpdata3/osum_t2t/voicebench_data/shards_list.txt" + weight: 3 + +t2t_osum_self_instruction_8K: + path: "/home/A02_tmpdata3/osum_t2t/t2t_osum_self_instruction_8K/shards_list.txt" + weight: 3 + + +#t2t_osum_self_instruction_8K_by_xlgeng_added_by_20250529: +# path: "/home/A02_tmpdata3/t2t_osum_self_instruction_8K_by_xlgeng_added_by_20250529/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_osum_self_instruction_8K_by_xlgeng_added_by_20250529/shards_list.txt" +# weight: 5 + +#kouyu_t2t_data_by_xlgeng_added_by_20250622: +# path: "" +# shard_num: 1758 +# path_huawei: "/mnt/sfs/asr/update_data/kouyu_t2t_data_by_xlgeng_added_by_20250622s/shards_list.txt" +# weight: 1 +# 4653 + +#text2text_data_xlgeng_three_kingdoms_by_xlgeng_added_by_20250701: +# path: "/home/A02_tmpdata3/text2text_data_xlgeng_three_kingdoms_by_xlgeng_added_by_20250701/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/text2text_data_xlgeng_three_kingdoms_by_xlgeng_added_by_20250701/shards_list.txt" +# weight: 1 +# lab_path_huawei: "/home/work_nfs11/asr_data/data/text2text_data_xlgeng/shard/benchdata/three_kingdoms/shard/shards_list.txt" +# shard_num: 24 +# +#text2text_data_xlgeng_qwenomni_bench_data_by_xlgeng_added_by_20250701: +# path: "/home/A02_tmpdata3/text2text_data_xlgeng_qwenomni_bench_data_by_xlgeng_added_by_20250701/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/text2text_data_xlgeng_qwenomni_bench_data_by_xlgeng_added_by_20250701/shards_list.txt" +# weight: 1 +# lab_path_huawei: "/home/work_nfs11/asr_data/data/text2text_data_xlgeng/shard/benchdata/qwenomni_bench_data/shard/shards_list.txt" +# shard_num: 113 + + +#text2text_data_xlgeng_voicebench_data_by_xlgeng_added_by_20250701: +# path: "/home/A02_tmpdata3/text2text_data_xlgeng_voicebench_data_by_xlgeng_added_by_20250701/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/text2text_data_xlgeng_voicebench_data_by_xlgeng_added_by_20250701/shards_list.txt" +# weight: 1 +# lab_path_huawei: "/home/work_nfs11/asr_data/data/text2text_data_xlgeng/shard/benchdata/voicebench_data/shard/shards_list.txt" +# shard_num: 65 +# +#t2t_age_chat_by_cywang_added_by_20250708: # have +# path: "/home/A02_tmpdata3/osum_s2s/t2t_age_chat_by_cywang_added_by_20250708/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_age_chat_by_cywang_added_by_20250708/shards_list.txt" +# lab_path_huawei: "/home/work_nfs11/asr_data/data/osum_data/t2t_paralanguage_chat/age_chat/shard_dir/shards_list.txt" +# shard_num: 50 +# weight: 1 +# +#t2t_caption_chat_by_cywang_added_by_20250708: # have +# path: "/home/A02_tmpdata3/osum_s2s/t2t_caption_chat_by_cywang_added_by_20250708/shards_list.txt" +# lab_path_huawei: "/home/work_nfs11/asr_data/data/osum_data/t2t_paralanguage_chat/caption_chat/shard_dir/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_caption_chat_by_cywang_added_by_20250708/shards_list.txt" +# shard_num: 100 +# weight: 1 +# +#t2t_emotion_chat_by_cywang_added_by_20250708: # have +# path: "/home/A02_tmpdata3/osum_s2s/t2t_emotion_chat_by_cywang_added_by_20250708/shards_list.txt" +# lab_path_huawei: "/home/work_nfs11/asr_data/data/osum_data/t2t_paralanguage_chat/emotion_chat/shard_dir/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_emotion_chat_by_cywang_added_by_20250708/shards_list.txt" +# shard_num: 50 +# weight: 1 +# +#t2t_sex_chat_by_cywang_added_by_20250708: # have +# path: "/home/A02_tmpdata3/osum_s2s/t2t_sex_chat_by_cywang_added_by_20250708/shards_list.txt" +# lab_path_huawei: "/home/work_nfs11/asr_data/data/osum_data/t2t_paralanguage_chat/sex_chat/shard_dir/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_sex_chat_by_cywang_added_by_20250708/shards_list.txt" +# shard_num: 50 +# weight: 1 +# +#t2t_xianshi_emotion_chat_by_cywang_added_by_20250711: # no +# path: "/home/A02_tmpdata3/osum_t2t/t2t_xianshi_emotion_chat/shards_list.txt" +# lab_path_huawei: "/home/work_nfs11/asr_data/data/osum_data/t2t_paralanguage_chat/xianshi_emotion_chat/shard_dir/shards_list.txt|/home/work_nfs23/asr_data/data/osum_chat/t2t_data/t2t_paralanguage_chat/xianshi_emotion_chat/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_xianshi_emotion_chat_by_cywang_added_by_20250711/shards_list.txt" +# shard_num: 50 +# weight: 1 +# +#t2t_sex_chat_2_by_cywang_added_by_20250711: # no +# path: "/home/A02_tmpdata3/osum_t2t/t2t_sex_chat_2_by_cywang_added_by_20250711/shards_list.txt" +# lab_path_huawei: "/home/work_nfs11/asr_data/data/osum_data/t2t_paralanguage_chat/sex_chat_2/shard_dir/shards_list.txt|/home/work_nfs23/asr_data/data/osum_chat/t2t_data/t2t_paralanguage_chat/t2t_sex_chat_2_by_cywang_added_by_20250711/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_sex_chat_2_by_cywang_added_by_20250711/shards_list.txt" +# shard_num: 27 +# weight: 1 +# +#t2t_age_chat_2_by_cywang_added_by_20250711: # no +# path: "/home/A02_tmpdata3/osum_t2t/t2t_age_chat_2_by_cywang_added_by_20250711/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_age_chat_2_by_cywang_added_by_20250711/shards_list.txt" +# lab_path_huawei: "/home/work_nfs11/asr_data/data/osum_data/t2t_paralanguage_chat/age_chat_2/shard_dir/shards_list.txt|/home/work_nfs23/asr_data/data/osum_chat/t2t_data/t2t_paralanguage_chat/t2t_age_chat_2_by_cywang_added_by_20250711/shards_list.txt" +# shard_num: 27 +# weight: 1 +# +#t2t_sex_chat_2_by_cywang_added_by_20250715: # no +# path: "/home/A02_tmpdata3/osum_t2t/t2t_sex_chat_2_by_cywang_added_by_20250715/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_sex_chat_2_by_cywang_added_by_20250715/shards_list.txt" +# lab_path_huawei: "/home/work_nfs14/asr_data/data/osum_data/t2t_paralanguage_chat/sex_chat_2/shard_dir/shards_list.txt" +# shard_num: 10 +# weight: 1 +# +#t2t_age_chat_3_by_cywang_added_by_20250716: # no +# path: "/home/A02_tmpdata3/osum_t2t/t2t_age_chat_3_by_cywang_added_by_20250716/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_age_chat_3_by_cywang_added_by_20250716/shards_list.txt" +# lab_path_huawei: "/home/work_nfs14/asr_data/data/osum_data/t2t_paralanguage_chat/age_chat_3/shard_dir/shards_list.txt" +# shard_num: 10 +# weight: 1 +# +#t2t_caption_chat_3_by_cywang_added_by_20250716: # have +# path: "/home/A02_tmpdata3/osum_t2t/t2t_caption_chat_3_by_cywang_added_by_20250716/shards_list.txt" +# path_huawei: "/mnt/sfs/asr/update_data/t2t_caption_chat_3_by_cywang_added_by_20250716/shards_list.txt" +# lab_path_huawei: "/home/work_nfs14/asr_data/data/osum_data/t2t_paralanguage_chat/caption_chat_3/shard_dir/shards_list.txt" +# shard_num: 10 +# weight: 1 \ No newline at end of file diff --git a/conf/data_tmp.yaml b/conf/data_tmp.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c3e2dfa821cba2dbbbf7006e85195549039f137d --- /dev/null +++ b/conf/data_tmp.yaml @@ -0,0 +1,6 @@ +gaozhiliang_gbma: + path: /home/A02_tmpdata3/osum_s2s/gaozhiliang_gbma/shards_list.txt + new_data_list: /home/node44_tmpdata3/netease/gbma/workspace/osum/data/process/0803/all_data_info.jsonl + new_lab_path: /home/work_nfs23/asr_data/data/osum_chat/s2s/gaozhiliang_gbma/shards_list.txt + shard_num: 24 + weight: 10 \ No newline at end of file diff --git a/conf/ds_stage2.json b/conf/ds_stage2.json new file mode 100644 index 0000000000000000000000000000000000000000..5a46ca7e841c8646c97384ec1dff2f9913f432f1 --- /dev/null +++ b/conf/ds_stage2.json @@ -0,0 +1,34 @@ +{ + "train_micro_batch_size_per_gpu": 1, + "gradient_accumulation_steps": 8, + "steps_per_print": 10, + "gradient_clipping": 5, + "fp16": { + "enabled": false, + "auto_cast": true, + "loss_scale": 0, + "initial_scale_power": 16, + "loss_scale_window": 1000, + "hysteresis": 2, + "consecutive_hysteresis": false, + "min_loss_scale": 1 + }, + "bf16": { + "enabled": true + }, + "zero_force_ds_cpu_optimizer": false, + "zero_optimization": { + "stage": 2, + "offload_optimizer": { + "device": "none", + "pin_memory": true + }, + "allgather_partitions": true, + "allgather_bucket_size": 2e8, + "reduce_scatter": true, + "reduce_bucket_size": 2e8, + "contiguous_gradients": false, + "overlap_comm": false + }, + "find_unused_parameters": true +} \ No newline at end of file diff --git a/conf/empty.yaml b/conf/empty.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/conf/prompt_config.yaml b/conf/prompt_config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ed9d29587763d80e778df27d883702e402cfc98b --- /dev/null +++ b/conf/prompt_config.yaml @@ -0,0 +1,3911 @@ +: + - 转录如下音频。 + - 转录这段音频中的语音内容为文字。 + - 将音频的语音部分转换为文字形式,谢谢。 + - 将这段音频的语音内容详细记录为文字稿。 + - 执行语音识别任务,将音频转换为文字。 + - 请将音频中的内容逐字转写出来。 + - 把这段录音转为文字。 + - 将以下音频内容识别并输出成文字。 + - 请将音频信息转写成文本。 + - 提取音频中的语音并转为文字。 + - 请识别出音频中的所有语音内容。 + - 把音频文件里的语音内容转成文字。 + - 帮我把这段音频转录成一份文字稿。 + - 将以下录音的内容用文本表示出来。 + - 识别并转录此段语音内容。 + - 将此段音频的语言转换为可读文本。 + - 请将录音中的语言转换成文字记录。 + - 对该音频进行语音转写处理。 + - 输出该段音频的完整文本。 + - 将语音内容精准转录为文本。 + - 请将音频的口语内容以文字形式展现。 + - 把这段录音的语音转换为书面语言。 + - 请将音频的口语部分进行文字化。 + - 将这段音频的语言信息记录为文字稿。 + - 把语音中的对话还原为文本形式。 + - 将该段语音转换为清晰的文字。 + - 请转录录音内容,不要遗漏细节。 + - 请将以下音频的内容进行文字转写。 + - 执行语音到文本的转换任务。 + - 把以下这段语音转换成一份文字稿件。 + - 转换该段音频为可编辑的文字格式。 + - 将录音中的语句准确转写成文本。 + - 将该录音的语音信息输出为文字。 + - 语音识别任务:请将音频转为文字。 + - 帮我识别音频中的说话内容并转为文本。 + - 将录音逐字转录为书面语。 + - 请帮忙将录音内容逐句整理成文字。 + - 请对该段语音内容进行识别和文字转换。 + - 识别录音中的语言,并用文字呈现。 + - 把这段音频内容完整地整理为文本。 + - 将录音内容准确无误地记录成文字。 + - 请对音频内容进行逐句转写。 + - 将语音内容按逻辑结构整理成文本。 + - 将该段录音内容翻译成文字。 + - 提取出音频中每一句话并以文字表示。 + - 请帮忙转录音频的全部内容。 + - 把这段语音内容写成文字稿。 + - 把以下这段语音整理成可读文字。 + - 请识别并写出该录音中的全部语言内容。 + - 请进行语音识别,将语音内容记录下来。 + - 把录音文件的语音转换为文字记录。 + - 请将音频的语音转换为整洁的文本。 + - Transcribe the following audio. + - Convert this audio clip into text. + - Please write down what is said in the audio. + - Transcribe the spoken content of this audio file. + - Perform speech-to-text conversion on this audio. + - Please turn the audio into written form. + - Convert the spoken words in the audio to text. + - Write out everything said in the recording. + - Please transcribe this voice recording. + - Turn the speech in this file into readable text. + - Accurately transcribe all spoken content. + - Please capture the audio content in a text format. + - Provide a written transcript of this audio file. + - Output the full speech content from the audio. + - Please convert this recorded audio into text. + - Write a transcription of the speech in this audio. + - Extract and transcribe all speech segments. + - Transform this recording into a text document. + - Transcribe the conversation in the audio. + - Turn this voice memo into a written format. + - Transcribe what is being said in this file. + - Write down the dialogue in the audio clip. + - Generate a full transcript of the spoken audio. + - Turn this voice into written words. + - Perform a speech recognition task and output text. + - Capture the entire audio in a transcribed form. + - Please transcribe the audio into a readable document. + - Convert voice content into structured text. + - Listen to the audio and write everything spoken. + - Please provide a full speech transcription. + - Recognize and transcribe all words from the audio. + - Produce a written version of this audio. + - Transcribe the recording word by word. + - Write out all speech from this clip. + - Convert the audio to clean written form. + - Transcribe the voice recording without missing details. + - Provide a text version of this audio. + - Capture the oral content in text format. + - Turn the audio into a precise transcript. + - Generate an accurate text of the speech content. + - Please output the dialogue from the recording. + - Transcribe the speech as clearly and fully as possible. + - Turn the voice from the clip into words. + - Provide a transcription of the full spoken content. + - Write down what you hear from this file. + - Listen and transcribe everything said. + - Please convert this speech to written form. + - Write a word-for-word transcript of the recording. + - Please transcribe this conversation. + - Generate a written version of the voice clip. + - Write down the entire verbal content. + - Create a text record of the audio. + - Please create a full transcript of this voice note. + - Extract the spoken words and write them out. + - Transcribe the audio to a readable text format. + - Turn this sound recording into a document. + - Create a word-by-word transcript. + - Listen to the voice and write a detailed transcript. + - Provide a complete transcription of what was said. + - Translate the speech in this clip into text. + - Make a written record of the audio content. + - Give a written version of this audio file. + - Transcribe all the sentences in the audio. + - Transcribe this voice file as clean text. + - Turn the oral expressions into written language. + - Create a document containing all spoken words. + - Render this audio as readable text. + - Please provide text for every uttered phrase. + - Convert this speech into formatted text. + - Identify all speech in this recording and write it down. + - Output each spoken sentence as text. + - Make a text file of the audio content. + - Turn this clip into a transcript. + - Write out every word from this voice clip. + - Transform all spoken language into text. + - Do a complete speech-to-text conversion. + - Create a literal transcript of the voice. + - Perform voice-to-text conversion on this audio. + - Please present the spoken content in text. + - Listen and provide the transcript. + - Record the speech in this audio as written words. + - Turn the oral communication into text. + - Generate a clean text of this audio’s speech. + - Convert audio input into a script. + - Extract all verbal data and write it down. + - Make a full, accurate transcript of this clip. + - Format this audio as readable speech. + - Translate the voice message into text. + - Please perform automatic speech transcription. + - Identify and transcribe the voice accurately. + - Do an accurate voice transcription. + - Create a text version of this sound input. + - Please transform this spoken message into a transcript. + - 请把以下音频内容识别并转为文字。 + - 识别音频中说的话,并转成文字稿。 + - 将语音内容整理为文字,越详细越好。 + - 请对这段音频进行语音识别。 + - 将这段语音转换成书面文字格式。 + - 请将该录音中的语音转录为文字。 + - 对该音频进行听写,并输出文字结果。 + - 将录音内容准确还原为文字。 + - 执行语音到文本的任务。 + - 请将这段声音转换为文字记录。 + - 请识别语音信息并以文字方式表达。 + - 请将音频中的语音逐句写出来。 + - 对这段录音进行完整的文字转写。 + - 将以下语音数据转为结构化文本。 + - 请将该段语音信息还原为文本文件。 + - 把这段音频听写成详细文字内容。 + - 请输出该音频的文字版本。 + - 把录音中所有说的话写下来。 + - 请将音频文件的内容识别为文字。 + - 将语音内容整理为一份正式的文字稿。 + - 识别音频语言并生成对应文本。 + - 请把这段音频的语音部分逐字写出来。 + - 将该语音内容转换为可读文字。 + - 执行转写操作,把语音变成文字。 + - 请生成该段录音的文字副本。 + - 请帮我把录音的内容写成文字。 + - 识别并还原语音数据为文本信息。 + - 请用文字完整还原音频中的讲话内容。 + - 把该段音频内容转换成可读形式。 + - 请以文字方式呈现该段语音信息。 + - 请对这段语音进行内容提取和文字表达。 + - 将录音中的对话内容转写为文字。 + - 请完成该段语音的听写任务。 + - 请将语音内容整理为书面形式。 + - 将音频的内容提取成一份清晰的文字记录。 + - 对该段语音生成完整的转录结果。 + - 请识别这段音频并输出文字内容。 + - 把音频转为文字,不需翻译。 + - 把该段录音逐字转换为文本。 + - 将音频中的语言内容文字化输出。 + - 帮我将音频内容转写成语音稿。 + - 将音频中所有语音清楚地转录成文字。 + - 请提供这段语音的文字形式。 + - 请将录音中的口语信息标准化为书面语。 + - 把这段语音内容变成书面文字。 + - 将语音文件中的内容整理成逐字稿。 + - 请识别音频中所有发言并输出文字。 + - 生成该语音内容的标准文字版本。 + - 将该段语音内容用文字完整描述出来。 + - 请将该录音内容转为文本资料。 + - 请将音频数据识别并转成文字。 + - 识别音频内容并以文本格式输出。 + - 将这段录音还原为句子形式的文字稿。 + - 请用中文文字描述音频中的全部内容。 + - 将该语音逐字逐句转换为文字信息。 + - 请为这段音频生成语音识别结果。 + - 对音频内容进行语言识别并输出结果。 + - 请转录音频中的讲话并输出为文字。 + - 将音频文件识别为自然语言文字内容。 + - 将语音中的对话内容输出为文本。 + - 把该段语音还原为逐字记录的文本。 + + + : + - 请将这段音频转写为文字,并为每个英文单词和中文字符标记起止时间,格式为<>,单位为0.1秒。 + - 将录音转写成文本,同时为每个词语添加精确的起始与结束时间戳。 + - 请识别音频内容,并对所有英文词和中文字进行时间对齐,标注格式为<>,时间精度0.1秒。 + - 帮我转录音频并标出每个词语对应的时间范围,精确到0.1秒,格式为。 + - 对该音频进行文字转写,并为每个字符或单词打上起止时间戳。 + - 请将语音内容转为文字,且为每个词添加<>格式的时间标记,精度为0.1秒。 + - 将该音频内容识别为文字,并对英文和中文词语分别进行起止时间标注。 + - 请将录音内容写下来,并为每个单词或汉字标出<开始时间, 结束时间>。 + - 请完成转写工作,同时记录每个词的出现时间段,用<>括起来。 + - 把这段语音变成文字,并为每个字词添加精确到0.1秒的起止时间。 + - 将语音转为文本并完成时间对齐,每个词前后加上<>标注其时间范围。 + - 请标注出每个词汇在音频中的起点和终点时间,单位为0.1秒,时间用<>表示。 + - 请逐词识别语音内容,并在文字中插入时间标签。 + - 把录音中的语句转为文字,每个词都加上0.1秒单位的时间范围。 + - 为该音频做逐词级别的时间对齐,并将文字和时间同步输出。 + - 请在文字转写中为每个英文单词和中文字符加上准确时间戳。 + - 把音频里的话语全部写下来,并标注每个词的时间范围。 + - 请将语音逐词识别出来,添加开始和结束的时间点,单位为0.1秒。 + - 将该段音频文字化,同时做逐词时间对齐。 + - 请为每个词附上时间信息,起止时间需用<>包裹,精度达到0.1秒。 + - 把录音转换成逐字稿,并为每个字标注时间戳。 + - 转写音频并完成词级别的时间对齐输出。 + - 请转录音频并输出包含每个字词时间信息的文本,格式为<>。 + - 将该音频内容逐字识别,标注格式为:文字<起始, 结束>。 + - 请对音频进行文本转写,并精确到每个字或词的时间范围。 + - 识别该音频的语言内容,同时标记每个词语出现的时间点。 + - 将音频内容识别为文字,并附加每个词的开始与结束时间,精度为0.1秒。 + - 请输出逐词带时间的转写文本,使用<>符号标记时间段。 + - 为录音中的每个词生成文字及其起止时间标注,时间单位需为0.1秒。 +# - 把语音内容写成文字,并为每个词添加时间范围标签。 +# - 将音频按词进行切分,并为每段词语打上时间戳,格式。 + - 请逐字标记音频对应的时间信息,单位:0.1秒。 + - 将音频处理为带时间信息的逐字稿,每个字后加上<>时间段。 + - 请将这段录音进行逐词对齐处理,时间精确到0.1秒。 + - 语音转写并对齐:请在每个字或词后插入起止时间。 + - 将录音进行逐词识别,并输出文字与每词的时间范围。 + - 为音频内容生成完整转录文本,并完成时间对齐工作。 + - 请将音频文本化,同时对每个词做时间定位。 + - 音频转文字并做时间对齐,单位为0.1秒,时间段放在<>中。 + - 文字转录并加时间戳:每个词语均需标注其时间范围。 + - Transcribe the audio and annotate each English word and Chinese character with its start and end times in <>, with 0.1s precision. + - Please transcribe the audio and align each word with its corresponding time segment in the format , using 0.1 second resolution. + - Perform transcription and word-level alignment; each token should be labeled with time tags in angle brackets <>. + - Generate a transcription for the recording and attach start and end timestamps (to 0.1s) to every word or character. + - Convert the audio to text and include time boundaries for each word using <> and 0.1-second granularity. +# - Transcribe this audio and provide time-aligned output with each word annotated in the format . +# - Output a transcription with precise timestamps for each word or character, using the format <0.0, 1.2>. + - Please align each word in the transcript to its corresponding audio time segment with 0.1s accuracy. + - Generate a transcript and perform alignment between the audio and each unit of text. + - Transcribe the content and add timestamps to each token at 0.1 second intervals. + - For each word in the transcript, provide its start and end times in angle brackets. + - Do transcription and word-level time alignment, with all timestamps shown in <> format. + - Create a time-stamped transcript of the audio, annotating every word’s start and end. + - Transcribe the recording and output word-by-word aligned text with 0.1s timing. + - Please output the transcript with time-coded segments per word. + - Convert the audio into text and provide fine-grained word alignment with timing info. + - Perform transcription and include time intervals for each word using <> brackets. + - Transcribe and align each spoken word with start-end time information (0.1s precision). + - Output a transcript with aligned time ranges for all words and characters. + - Provide a word-level transcription including start and end timestamps in angle brackets. + + +# : # 测试集的人整错了,补丁 +# - 将以下音频进行转录,同时标记出每个英文单词及对应中文字符的起始与结束时间,时间单位精确到0.1秒,并用<>来表示这些时间范围。 +# - 转录音频内容,并为每个英文词汇及其对应的中文翻译标注出精确到0.1秒的起止时间,时间范围用<>括起来。 +# - 将音频转录为文字,同时在每个英文单词和相应中文字符的前后添加时间戳,时间戳格式为<>,且时间单位需精确到0.1秒。 +# - 请将音频转化为文字记录,并标记每个英文词及其对应中文的起始时间和结束时间,时间单位至少为0.1秒,使用<>来标注这些时间。 +# - 将音频内容进行转录处理,并为其中的每个英文单词及其翻译后的中文标注时间范围,时间精确到0.1秒,并用<>进行包围。 + +: + - 识别语音内容,并以文字方式作出回答。 + - 根据语音提问内容,以文字形式回复用户。 + - 听取语音输入后请用文字回应问题。 + - 用户说话后,请解析其意图并进行文字回复。 + - 语音输入完成后,请以文本进行自然对话。 + - 请根据音频内容给出合适的文本回复。 + - 将语音转换为意图,并以文字方式作出回应。 + - 接收语音内容后直接用文字进行互动。 + - 请以文本形式与语音发起者交流。 + - 识别用户的语音提问并做出文字回答。 + - 请理解语音含义并进行文字形式的回应。 + - 针对语音输入请用自然语言文字回复。 + - 请把语音中的提问处理后用文字作答。 + - 听完用户语音请进行简洁的文字对话回应。 + - 用户以语音提问,请通过文本进行交流。 + - 将语音理解为问题并进行回答。 + - 音频信息解析后请直接回复。 + - 用户语音完成后,请用自然的书面语言答复。 + - 接收到语音内容,请输出相关回答。 + - 请理解语音意图,并用简洁明了的文字回答。 + - 对用户的语音内容进行分析,然后文字回应。 + - 根据语音中的问题用书面语作答。 + - 接收语音后无需显示转录,请直接回应。 + - 用户用语音问问题,请你用文字回答。 + - 根据语音指令或提问,直接给出答案。 + - 请把语音作为输入处理,并返回文本回应。 + - 识别语音后无需展示文字转录,直接对话即可。 + - 用户用语音和你交谈,请你用文字回应。 + - 将语音作为上下文处理,输出文本回答。 + - 解析语音语义,并进行书面对答。 + - 用户提问方式为语音,你的回答形式为文字。 + - 语音输入为对话内容,请作出合理书面回应。 + - 通过音频识别用户意图,回复一段文字。 + - 请理解音频内容,并用一句话进行回复。 + - 用户使用语音提问,请生成适当文本回应。 + - 解析语音语义,直接给出答复。 + - 用户使用口语与你交谈,请你通过文字回答。 + - 对语音中的疑问或需求直接做文字反馈。 + - 识别并理解语音,然后作答。 + - 请用自然语言文字与语音输入者对话。 + - 用户通过语音与你交互,请作出书面回应。 + - 音频信息完成接收后请立即用文本答复。 + - 处理语音内容并生成相应回应文本。 + - 用户语音发出指令,请识别后执行并以文字反馈。 + - 语音对话内容接收后,请回应其核心信息。 + - 将用户的语音请求转化为书面问题并解答。 + - 你接收的是语音输入,请用文字作答。 + - 语音中包含提问或请求,请给出回应。 + - 请以一种自然对话方式回应语音中的话题。 + - 用户用语音进行交流,你应以文字形式回应。 + - 音频信息为你提供上下文,请生成文字响应。 + - 不需要语音转录,只需对语音进行文字回应。 + - 将语音转为语义信息后给予文字反馈。 + - 针对语音问题的内容,用自然语言回复。 + - 请进行语音理解并生成对应的文本回答。 + - 音频中提出了问题,请回答。 + - 你听到的是语音,请用文字回复。 + - 请用文字对语音进行情境反应。 + - 用户在语音中表达了某些内容,请你回应。 + - 用户通过语音与你对话,请你处理并回复。 + - 音频提问,请用一段自然文字回答。 + - 不需要显示语音识别结果,直接回答即可。 + - 你将收到语音指令,请用书面语回应其内容。 + - 用户以语音表达观点,请你回复建议或看法。 + - 解析语音内容并给出合适的回应。 + - 请识别语音并进行回应,不需重复问题内容。 + - 用户语音表达了请求,请你用文字回应。 + - 音频传达出情绪或请求,请你文字回应。 + - 将语音输入转化为上下文后回答。 + - 请针对语音内容生成简洁回应。 + - 用户通过语音表达问题,请你解答。 + - 用户语音中包含交互请求,请你用文本形式回复。 + - 请处理语音中的提问,并生成适当回答。 + - 将语音内容提取为意图,并用文字对话形式回答。 + - 你将收到语音形式的消息,请生成文字形式的回应。 + - 用户用语音与系统交流,请生成系统的文本答复。 +# - 用户语音中提问天气情况,请你答复。 + - 用户语音询问某事,请你用简洁文字作答。 + - 请将音频意图抽象为问题并进行答复。 + - 针对用户语音指令或疑问,请你执行或作答。 + - 请将用户语音意图理解并反馈文本。 + - 语音输入后请用类似聊天对话方式回复。 + - 用户语音信息传达后,请提供清晰回答。 + - 语音表达完成,请进入文本回应环节。 + - Please listen to the voice input and respond appropriately in text. + - Respond to the user's speech using written language. + - Analyze the voice input and generate a suitable text reply. + - After receiving the audio message, reply directly in text. + - Convert the speech input into intent and provide a textual response. + - Do not transcribe the audio; simply respond with an appropriate message. + - Based on the user’s spoken query, give a text-based response. + - Engage in a natural conversation by replying to the voice message with text. + - Use the spoken message as input and reply accordingly in text. + - Provide a relevant answer in text after processing the voice content. + - Understand the spoken input and respond in writing. + - Respond to the voice-based message with appropriate text feedback. + - Treat the audio as a conversation starter and reply in text. + - Listen to the voice message and generate a context-aware textual reply. + - No need to show transcription; just reply to the audio message. + - Interpret the user’s spoken intent and generate a concise text response. + - The user is speaking; please carry on the conversation in text. + - Take the voice input and generate a natural text-based reply. + - Use the speech as the context and generate a coherent text reply. + - Handle the voice question and answer in a text-based manner. + - Please reply to the user’s speech as if it were a written message. + - Respond conversationally to the voice message using text only. + - The input is spoken; the output should be an appropriate text response. + - Listen to what the user says and answer using clear written language. + - Process the user’s voice and respond as if in a chat box. + - Turn the user’s spoken question into context and give a relevant reply. + - Based on the audio, provide a direct text reply to the user. + - Use the audio content as a prompt and produce a written answer. + - Understand the meaning of the voice message and reply accordingly. + - Reply to the user’s voice prompt with natural, concise text. + - Your job is to interpret speech and reply naturally in writing. + - No transcription needed—just respond to the speech input. + - Please generate a text message in response to the voice query. + - Treat the audio as if it were a typed message, and reply normally. + - The user asked a question via speech; reply in text accordingly. + - Accept the voice input and return an appropriate written response. + - Your reply should be in text form, based on the user’s spoken request. + - Understand the user's voice command and respond with relevant text. + - Carry on a dialogue by replying to speech with written responses. + - The user is talking to you—listen and reply in text. + + + : + - 首先将语音转录为文字,然后对语音内容以文字的形式进行回复,转录和文字之间使用<开始回答>分割。 + - 首先将语音转换为文本,接着使用<开始回答>作为分隔,最后对语音内容进行文本回复。 + - 首先把语音变成文本,然后用<开始回答>作分隔,最后对语音内容以文字形式予以回应。 + - 首先将语音转化为书面语,随后以<开始回答>作分隔,最后对语音内容做出文字答复。 + - 首先将语音转为文字形式,之后用<开始回答>来分隔,最后对语音内容给予文字回应。 + - 请先将语音内容转成文字,再使用<开始回答>分隔,并用文字回复语音中的问题或内容。 + - 将语音识别为文本后,请以<开始回答>分割,并写出你的回应。 + - 请将语音先转写成文本,接着以<开始回答>为界,对其进行回答。 + - 将音频内容转换为文字,并以<开始回答>分隔,进行文本回应。 + - 请识别语音内容并写成文字,之后用<开始回答>分隔并对内容进行文字回复。 + - 将语音转写为文本后,在<开始回答>后给出你对内容的回应。 + - 将音频先转成文字,之后以<开始回答>分隔,并用书面语回应其中的内容。 + - 请把语音内容写出来,再以<开始回答>隔开,并对其做出合理回复。 + - 先识别语音并写出文字内容,再用<开始回答>分隔并给出回复。 + - 请先将语音转换成文字,使用<开始回答>作为分界,最后写出对语音的回应。 + - 将语音文字化,使用<开始回答>来分隔,并书面回应其内容。 + - 请把语音识别为文本,在<开始回答>后对内容进行回答。 + - 请先听语音,将其写为文本,用<开始回答>作区隔,并回答语音中的内容。 + - 先进行语音转写,然后以<开始回答>区隔,最后回复语音内容。 + - 听完语音后,请写出其文字版本,然后以<开始回答>为界,写出回答。 + - 请识别音频中的文字内容,之后用<开始回答>进行分割,给出回答。 + - 先把语音识别为文字内容,再用<开始回答>隔开,写出你的回应。 + - 将语音内容转为文字,并以<开始回答>为标记给出相应回答。 + - 转写音频内容,并以<开始回答>为界限,对语音进行回应。 + - 请将语音内容识别为文字,之后使用<开始回答>来连接回应。 + - 请先把语音的内容写下来,用<开始回答>隔开,并写出回答。 + - 把语音转换为文字,<开始回答>为中间分隔符,然后给出回应。 + - 听完语音,写出其文字内容,再使用<开始回答>连接你的答复。 + - 先识别音频中的语音内容为文本,然后以<开始回答>进行回应。 + - 转录音频为文字,接着用<开始回答>连接你要说的话。 + - 将语音转写为文本形式,并用<开始回答>区分转写和回复。 + - 把音频内容写成文字,再用<开始回答>标记并回应内容。 + - 将语音识别为书面语言,用<开始回答>作为区隔,作出回答。 + - 请先将语音写成文本,再以<开始回答>为分隔回应。 + - 先听语音并写下对应文字,然后用<开始回答>来回应。 + - 将语音转换成文字,用<开始回答>标识后写出答复。 + - 请识别语音,写出文字内容,用<开始回答>分隔后给出答复。 + - 先把语音内容转写出来,用<开始回答>划分后作答。 + - 把语音内容转写为文字,再写出回应,用<开始回答>隔开。 + - 将语音写成文字后,以<开始回答>为界写出你的答复。 + - 请听完语音,写出其内容,然后用<开始回答>进行回应。 + - 语音识别后,请用文字写出其内容,并用<开始回答>回应其中问题。 + - 先将音频内容变成文本,然后以<开始回答>为界作出回应。 + - 将语音识别为文字,之后用<开始回答>进行回应。 + - 识别语音并写下文字,用<开始回答>连接后续回应内容。 + - 将语音内容写成文字形式,用<开始回答>为界,进行文本回应。 + - 先转写语音为文字,然后写出你的回应,以<开始回答>隔开。 + - 请识别音频内容,写出文字版,并以<开始回答>来回应其主题。 + - 先听语音,转成文本,使用<开始回答>来书面回应。 + - 将语音中的说话内容写为文本,然后以<开始回答>写出你的答复。 + - 把语音内容识别出来并转写为文本,<开始回答>之后写出答复。 + - 将语音转换为书面内容,接着以<开始回答>回应内容。 + - 首先将语音转录为文字,然后对语音内容以文字的形式进行回复,转录和文字之间使用<开始回答>分割。 + - 首先将语音转换为文本,接着使用<开始回答>作为分隔,最后对语音内容进行文本回复。 + - 首先把语音变成文本,然后用<开始回答>作分隔,最后对语音内容以文字形式予以回应。 + - 首先将语音转化为书面语,随后以<开始回答>作分隔,最后对语音内容做出文字答复。 + - 首先将语音转为文字形式,之后用<开始回答>来分隔,最后对语音内容给予文字回应。 + - 首先将语音转录成文本,再用<开始回答>分隔符,最后给予语音内容回复。 + - 将语音转换为文字后,使用<开始回答>分隔,接着进行文字回复。 + - 将语音转化为文字,并通过<开始回答>作为分隔符,最终进行文字回复。 + - 将语音内容转换为文字形式,然后使用<开始回答>分隔符,做出最终的文字回应。 + - 将语音转换为文本,利用<开始回答>分隔,最后回复语音内容。 + - 首先将语音转录为文本,然后用<开始回答>进行分隔,最后提供语音内容的文字答复。 + - 先将语音变为文字,后使用<开始回答>分隔,最后对语音进行文字回复。 + - 把语音转换为文字后,利用<开始回答>进行分隔,并提供文字回复。 + - 将语音转录为文字后,使用<开始回答>分隔符,最后作出文字回应。 + - 先将语音转化为文字,再使用<开始回答>分隔符,最后进行语音内容的文字答复。 + - 将语音转录成文本,并通过<开始回答>分隔,最终用文字进行回应。 + - 先将语音转录为文字,接着用<开始回答>作为分隔符,最后进行文字答复。 + - 将语音转为文字,使用<开始回答>分隔,最后进行语音内容的回复。 + - 将语音转化为文本并用<开始回答>分隔,最后提供文字答复。 + - 先将语音转录成文本,然后使用<开始回答>分隔,最后回应语音内容。 + - 首先将语音转换为文字,后接<开始回答>分隔符,最后进行文字回复。 + - 将语音转换为文本,并以<开始回答>分隔符分隔,最后给予文字答复。 + - 首先将语音转为书面语,再使用<开始回答>进行分隔,最后做出文字回应。 + - 将语音转为文字,使用<开始回答>作为分隔符,最后对语音内容进行答复。 + - 先将语音转换为文字形式,然后使用<开始回答>分隔,最后回应语音内容。 + - 将语音转换为文本,使用<开始回答>分隔,最终给出文字回复。 + - 先将语音转为文字,再使用<开始回答>分隔,最后提供语音内容的文字答复。 + - 将语音转化为书面文本,并用<开始回答>分隔,最后给出回复。 + - 先将语音转换为文字,利用<开始回答>分隔符,最后回应语音内容。 + - 将语音转录为文字并用<开始回答>分隔符,最后作出回应。 + - 将语音转为文字,再使用<开始回答>分隔符,最后作出答复。 + - 首先将语音转录为文字,后使用<开始回答>分隔,最后进行文字答复。 + - 将语音转录为文本后,利用<开始回答>进行分隔,最后给出文字答复。 + - 先将语音转为书面形式,再使用<开始回答>进行分隔,最终给出文字回复。 + - 首先将语音转化为文字,利用<开始回答>作为分隔符,最后进行文字回应。 + - 将语音转换为文本,后接<开始回答>分隔符,最后回应语音内容。 + - 将语音转为文字,使用<开始回答>进行分隔,最后进行文字答复。 + - 首先将语音转录为文字,使用<开始回答>分隔符,最后做出文字答复。 + - 先将语音转换为文字,之后使用<开始回答>作为分隔符,最终进行文字回复。 + - 将语音转化为文本形式,后接<开始回答>进行分隔,最后提供文字答复。 + - 将语音转换为文字,使用<开始回答>分隔,最后进行答复。 + - 将语音转为文字,并使用<开始回答>分隔符,最终进行语音内容的文字回应。 + - 首先将语音转换为文本,然后利用<开始回答>分隔符,最后对语音内容进行答复。 + - 将语音转为书面语,使用<开始回答>分隔,最终进行文字回复。 + - 首先将语音转化为文本,后用<开始回答>分隔符,最后给出文字答复。 + - 先将语音转录为文字,再使用<开始回答>分隔符,最后对语音内容给予文字回应。 + - 将语音转化为文字并用<开始回答>分隔,最后对语音内容作出文字答复。 + - 首先将语音转录为文字,之后使用<开始回答>进行分隔,最终给予语音内容回复。 + - 将语音转录为文字形式,使用<开始回答>作为分隔符,最后进行文字回应。 + - 先将语音转换为书面文本,再使用<开始回答>分隔,最终进行语音内容回复。 + - 首先将语音转为文字,接着使用<开始回答>分隔,最终给予文字回应。 + - 将语音转为书面语形式,并利用<开始回答>分隔符,最后提供文字答复。 + - 将语音转化为文本,再使用<开始回答>作为分隔符,最终作出文字答复。 + - 先将语音转为文字,并用<开始回答>分隔,最后回应语音内容。 + - 将语音转为文字,使用<开始回答>分隔符,最终作出语音内容的文字答复。 + - 首先将语音转录为文字,再使用<开始回答>分隔符,最后提供答复。 + - 将语音转为文字,利用<开始回答>作为分隔符,最后回应语音内容。 + - 将语音转为文字形式,后使用<开始回答>分隔符,最终进行文字回应。 + - 将语音转化为文本,并用<开始回答>进行分隔,最后给予答复。 + - 首先将语音转化为文字,再用<开始回答>分隔,最终回应语音内容。 + - 将语音转为文字,接着用<开始回答>作为分隔符,最终提供答复。 + - 将语音转录为文字后,使用<开始回答>分隔符,最后给出文字回应。 + - 将语音转化为文字,接着利用<开始回答>进行分隔,最后进行文字答复。 + - 先将语音转换为文字,再用<开始回答>分隔符,最终进行文字回复。 + - 将语音转录为文字后,使用<开始回答>分隔符,最后提供语音内容的文字答复。 + - 首先将语音转化为文字形式,之后使用<开始回答>分隔符,最终提供答复。 + - 将语音转为书面形式,并利用<开始回答>进行分隔,最后进行文字答复。 + - 将语音转为文字,再用<开始回答>分隔符,最终进行答复。 + - 首先将语音转换为文本,后接<开始回答>分隔符,最后进行答复。 + - 将语音转化为书面语形式,使用<开始回答>分隔符,最后作出文字答复。 + - 首先将语音转为文字,利用<开始回答>作为分隔符,最终给出回应。 + - First transcribe the speech into text, then respond to the content using text after <开始回答> as a separator. + - Begin by converting the audio to text, use <开始回答> to separate, then reply to the message. + - Start with speech-to-text transcription, then respond in text after the <开始回答> marker. + - Please transcribe the audio content, then use <开始回答> as a delimiter and write your response. + - Convert the spoken input into written form, then reply after <开始回答>. + - Transcribe the audio and reply to its content using <开始回答> as the separator. + - First write out what was said in the audio, then after <开始回答> provide a textual reply. + - Turn the speech into text first, then respond with <开始回答> separating the sections. + - Transcribe the spoken content, then provide a reply separated by <开始回答>. + - Convert the audio to written language, then respond after <开始回答>. + - Please write down the speech as text, and then respond after the <开始回答> delimiter. + - Start with transcription of the voice, and after <开始回答>, provide your answer. + - Listen to the audio, transcribe it, and write your reply after <开始回答>. + - Convert the speech to text, and respond in written form using <开始回答> as the marker. + - Recognize the speech into text, then use <开始回答> to separate your response. + - Transcribe first, then reply with text after <开始回答>. + - Write down what the speaker said, then give a reply separated by <开始回答>. + - First turn the audio into text, and then provide a textual answer after <开始回答>. + - Do the transcription first, and then give a written response using <开始回答>. + - Identify the speech, write it down, then reply with <开始回答> separating the sections. + - Turn the voice input into text, then write your reply using <开始回答> as the delimiter. + - Listen and transcribe the audio, then give your answer in text after <开始回答>. + - Transcribe audio input and write a response following <开始回答>. + - Write out the spoken message and respond after <开始回答>. + - Convert the audio to text, then use <开始回答> to respond to the content. + - Write the audio in text form first, then after <开始回答>, give your reply. + - Use <开始回答> to separate the transcription and your reply after transcribing the audio. + - Start by writing down the speech, then respond using <开始回答> as a separator. + - Recognize the voice, transcribe it, then respond with <开始回答>. + - Transcribe the audio clip, then after <开始回答>, provide your answer. + - First do a transcription, then give your reply using <开始回答>. + - Begin by writing out the audio in text form, then answer after <开始回答>. + - Please transcribe what is said in the audio and respond after <开始回答>. + - Transcribe the voice content, and respond to it using <开始回答> to separate the parts. + - After transcribing the speech, respond in writing using <开始回答> as a divider. + - First identify the audio’s content in text, then answer after <开始回答>. + - Listen to the audio and write it out, then write your answer after <开始回答>. + - Transcribe and answer, with <开始回答> as the separator. + - Write down the audio content, then reply after <开始回答>. + - Convert the audio into words, then respond after <开始回答>. + + + +# : # 2025-1-18日测试,对于对话任务不加入prompt +# - +# - +# - +# - +# - + + + : + - 将语音转录并依据位置标注背景音,长背景静音用标记,短背景音用标记。 + - 录制语音并进行转录,同时按位置添加背景音标签,长静音为,短音为。 + - 语音转录时,需根据位置插入背景音标签,长段静音标为,短背景音标为。 + - 转换语音为文字,并依位置附上背景音标签,其中长背景静音为,短背景音为。 + - 对语音进行转录处理,同时标注背景音标签,长静音部分用表示,短背景音部分用表示。 + + : + - 请将以下音频内容进行转录,并在结尾处给出情感标签,以<>表示。 + - 将音频转录为文字,并在文本最后附加情感标签,以<>表示。 + - 请将音频内容转录成文字记录,并在记录末尾标注情感标签,以<>表示。 + - 将音频进行文字化处理,并在处理后的文本末尾添加情感标签,以<>表示。 + - 请将音频转录成文,并在文末给出情感标签,以<>表示。 + - 烦请将这段录音内容转成文字,末尾添加以<>标识的情绪内容。 + - 能否帮我将音频片段文字化处理,并在末端注明情绪,用<>括号。 + - 务必将音频片段写成文本,并附上表示情绪的<>标签。 + - 请你将上述录音变为文字,并在文末标示情绪,用<>括起来。 + - 能否帮我将以下语音转录为文本,并附上表示情绪的<>标签。 + - 务必将音频材料写成文本,加上代表情绪的标签,格式使用<>。 + - 尝试将该段音频数据转换成文字记录,加上代表情绪的标签,格式使用<>。 + - 烦请将当前语音段转录为文本,结尾请标注情绪标签,形式为<>。 + - 能否帮我将当前语音段变为文字,并在文本末尾附上情绪标签(格式为<>)。 + - 可否将当前语音段记录下来,结尾请标注情绪标签,形式为<>。 + - 你可以将当前语音段转成文字,请在最后写上情绪类型,以<>包裹。 + - 尝试将以下语音写成文本,并在末端注明情绪,用<>括号。 + - 尝试将音频材料写成文本,并在文末标示情绪,用<>括起来。 + - 请帮忙将这段音频听写成文字,并在末端注明情绪,用<>括号。 + - 你可以将上述录音写成文本,并在末端注明情绪,用<>括号。 + - 你可以将上述录音文字化处理,结尾请标注情绪标签,形式为<>。 + - 请你将这段音频转成文字,并在文本末尾附上情绪标签(格式为<>)。 + - 尝试将上述录音生成文字版本,最后添加用<>括住的情绪标注。 + - 烦请将这则语音信息转录为文本,结尾请标注情绪标签,形式为<>。 + - 请帮忙将以下语音写成文本,请在最后写上情绪类型,以<>包裹。 + - 烦请将音频片段整理为文字,并补充一个<>包围的情感标签。 + - 请试着把音频材料转录为文本,并在文末标示情绪,用<>括起来。 + - 请试着把音频片段生成文字版本,并附上表示情绪的<>标签。 + - 务必将上述录音记录下来,最后添加用<>括住的情绪标注。 + - 你可以将这则语音信息记录下来,结尾请标注情绪标签,形式为<>。 + - 尝试将音频片段转录为文本,加上代表情绪的标签,格式使用<>。 + - 麻烦把这段音频转录为文本,并补充一个<>包围的情感标签。 + - 请试着把上述录音转换成文字记录,结尾请标注情绪标签,形式为<>。 + - 请你将音频片段听写成文字,并在末端注明情绪,用<>括号。 + - 能否帮我将上述录音转录为文本,请在最后写上情绪类型,以<>包裹。 + - 可否将这段音频转录为文本,并在文本末尾附上情绪标签(格式为<>)。 + - 请你将这则语音信息生成文字版本,并在文本末尾附上情绪标签(格式为<>)。 + - 请你将以下语音转成文字,请在最后写上情绪类型,以<>包裹。 + - 务必将这段录音内容转成文字,并在文本末尾附上情绪标签(格式为<>)。 + - 你可以将这则语音信息生成文字版本,末尾添加以<>标识的情绪内容。 + - 务必将以下录音转换成文字记录,结尾请标注情绪标签,形式为<>。 + - 麻烦把音频材料写成文本,并附上表示情绪的<>标签。 + - 能否帮我将上述录音写成文本,最后添加用<>括住的情绪标注。 + - 你可以将这段录音内容转成文字,并补充一个<>包围的情感标签。 + - 麻烦把该段音频数据文字化处理,结尾请标注情绪标签,形式为<>。 + - 你可以将这段录音内容听写成文字,并补充一个<>包围的情感标签。 + - 务必将该段音频数据变为文字,并附上表示情绪的<>标签。 + - 你可以将音频材料写成文本,加上代表情绪的标签,格式使用<>。 + - 可否将以下录音写成文本,并补充一个<>包围的情感标签。 + - 请试着把上述录音听写成文字,末尾添加以<>标识的情绪内容。 + - 麻烦把以下语音生成文字版本,末尾添加以<>标识的情绪内容。 + - 可否将以下语音整理为文字,末尾添加以<>标识的情绪内容。 + - 请试着把以下语音变为文字,并在文末标示情绪,用<>括起来。 + - 务必将上述录音写成文本,并在文末标示情绪,用<>括起来。 + - 请帮忙将这段音频文字化处理,并在文末标示情绪,用<>括起来。 + - 烦请将这则语音信息整理为文字,并在文本末尾附上情绪标签(格式为<>)。 + - 请帮忙将以下录音文字化处理,末尾添加以<>标识的情绪内容。 + - 尝试将以下录音转成文字,请在最后写上情绪类型,以<>包裹。 + - 可否将该段音频数据文字化处理,末尾添加以<>标识的情绪内容。 + - 可否将以下录音生成文字版本,结尾请标注情绪标签,形式为<>。 + - 你可以将以下语音变为文字,并在末端注明情绪,用<>括号。 + - 烦请将当前语音段生成文字版本,并补充一个<>包围的情感标签。 + - 能否帮我将音频片段转录为文本,最后添加用<>括住的情绪标注。 + - 请试着把上述录音生成文字版本,结尾请标注情绪标签,形式为<>。 + - 请你将以下语音变为文字,并在末端注明情绪,用<>括号。 + - 能否帮我将这则语音信息文字化处理,并补充一个<>包围的情感标签。 + - 务必将以下录音转换成文字记录,请在最后写上情绪类型,以<>包裹。 + - 你可以将以下语音文字化处理,并附上表示情绪的<>标签。 + - 麻烦把上述录音转录为文本,并在文末标示情绪,用<>括起来。 + - 能否帮我将当前语音段听写成文字,并在末端注明情绪,用<>括号。 + - 你可以将这段音频转换成文字记录,并补充一个<>包围的情感标签。 + - 请试着把上述录音转录为文本,并在末端注明情绪,用<>括号。 + - 你可以将以下语音转成文字,并在文末标示情绪,用<>括起来。 + - 请你将这段录音内容整理为文字,请在最后写上情绪类型,以<>包裹。 + - 请你将音频片段整理为文字,并在文末标示情绪,用<>括起来。 + - 能否帮我将该段音频数据文字化处理,加上代表情绪的标签,格式使用<>。 + - 尝试将以下录音转成文字,并在文末标示情绪,用<>括起来。 + - 你可以将该段音频数据听写成文字,并在文本末尾附上情绪标签(格式为<>)。 + - 请你将这段录音内容转录为文本,末尾添加以<>标识的情绪内容。 + - 请帮忙将这段录音内容生成文字版本,最后添加用<>括住的情绪标注。 + - 务必将以下语音转录为文本,并在文本末尾附上情绪标签(格式为<>)。 + - 能否帮我将上述录音生成文字版本,最后添加用<>括住的情绪标注。 + - 麻烦把该段音频数据转录为文本,并补充一个<>包围的情感标签。 + - 请你将音频片段写成文本,并附上表示情绪的<>标签。 + - 麻烦把音频材料生成文字版本,请在最后写上情绪类型,以<>包裹。 + - 请你将上述录音转录为文本,并在文末标示情绪,用<>括起来。 + - 烦请将音频片段转成文字,并附上表示情绪的<>标签。 + - 尝试将这则语音信息听写成文字,并在末端注明情绪,用<>括号。 + - 尝试将这段音频转换成文字记录,并在文末标示情绪,用<>括起来。 + - 务必将这则语音信息文字化处理,并在末端注明情绪,用<>括号。 + - 烦请将该段音频数据转录为文本,并在文末标示情绪,用<>括起来。 + - 尝试将当前语音段听写成文字,结尾请标注情绪标签,形式为<>。 + - 你可以将音频片段整理为文字,最后添加用<>括住的情绪标注。 + - 请你将以下语音生成文字版本,并在文末标示情绪,用<>括起来。 + - 可否将以下语音文字化处理,末尾添加以<>标识的情绪内容。 + - 麻烦把该段音频数据变为文字,并在文末标示情绪,用<>括起来。 + - 务必将上述录音写成文本,并补充一个<>包围的情感标签。 + - 尝试将音频材料生成文字版本,并在文末标示情绪,用<>括起来。 + - 可否将音频材料变为文字,并在末端注明情绪,用<>括号。 + - 务必将音频片段听写成文字,结尾请标注情绪标签,形式为<>。 + - 请帮忙将这段音频变为文字,并补充一个<>包围的情感标签。 + - 可否将上述录音转换成文字记录,加上代表情绪的标签,格式使用<>。 + - 麻烦把这段音频生成文字版本,并在文本末尾附上情绪标签(格式为<>)。 + - 你可以将以下语音听写成文字,最后添加用<>括住的情绪标注。 + - 请试着把当前语音段听写成文字,最后添加用<>括住的情绪标注。 + - 你可以将上述录音生成文字版本,并补充一个<>包围的情感标签。 + - 能否帮我将音频片段整理为文字,结尾请标注情绪标签,形式为<>。 + - 请试着把该段音频数据转录为文本,并附上表示情绪的<>标签。 + - 你可以将音频片段写成文本,并在文本末尾附上情绪标签(格式为<>)。 + - 请试着把这则语音信息转换成文字记录,请在最后写上情绪类型,以<>包裹。 + - 务必将这段录音内容变为文字,加上代表情绪的标签,格式使用<>。 + - 请试着把该段音频数据转录为文本,并在末端注明情绪,用<>括号。 + - 你可以将该段音频数据转换成文字记录,加上代表情绪的标签,格式使用<>。 + - 你可以将当前语音段整理为文字,请在最后写上情绪类型,以<>包裹。 + - 尝试将当前语音段听写成文字,请在最后写上情绪类型,以<>包裹。 + - Please transcribe the voice recording, and label the final emotion using angle brackets <>. + - Can you transcribe the audio, and label the final emotion using angle brackets <>. + - Try to convert the audio into text, finishing with an emotion label using angle brackets <>. + - Make sure to transcribe the following recording, adding an emotion descriptor in <> at the conclusion. + - Try to listen and type out the audio, and place an emotion tag at the end inside <>. + - Make sure to make a text version of the audio, with an emotion classification in <> at the end of the text. + - I'd like you to write down the spoken content, with an emotion classification in <> at the end of the text. + - Kindly make a text version of the audio, adding an emotion marker enclosed in <> at the end. + - Could you transcribe the following recording, then add an emotion tag at the end using <>. + - Please transform the audio message into text, and append an emotion label in angle brackets <> at the end. + - Kindly transform the audio message into text, adding an emotion marker enclosed in <> at the end. + - Would you transform the audio message into text, with an emotion classification in <> at the end of the text. + - Kindly convert the audio into text, including an emotion label at the end in the form of <>. + - Ensure you write down the spoken content, then add an emotion tag at the end using <>. + - Could you transcribe the audio, then add an emotion tag at the end using <>. + - Could you transcribe the given speech, then add an emotion tag at the end using <>. + - Please transcribe the audio, including an emotion label at the end in the form of <>. + - Ensure you transcribe the given speech, then add an emotion tag at the end using <>. + - Can you listen and type out the audio, including an emotion label at the end in the form of <>. + - Could you convert the audio into text, with an emotion classification in <> at the end of the text. + - Make sure to listen and type out the audio, including an emotion label at the end in the form of <>. + - You may transcribe the voice recording, with an emotion classification in <> at the end of the text. + - You may transcribe the following recording, including an emotion label at the end in the form of <>. + - I'd like you to transcribe the given speech, including an emotion label at the end in the form of <>. + - You may listen and type out the audio, and label the final emotion using angle brackets <>. + - Kindly listen and type out the audio, adding an emotion marker enclosed in <> at the end. + - Would you transcribe the voice recording, then add an emotion tag at the end using <>. + - Make sure to write down the spoken content, adding an emotion descriptor in <> at the conclusion. + - Could you transcribe the voice recording, adding an emotion marker enclosed in <> at the end. + - Kindly turn the audio clip into a text transcript, and append an emotion label in angle brackets <> at the end. + - I'd like you to make a text version of the audio, followed by an emotion tag formatted with <>. + - Would you listen and type out the audio, including an emotion label at the end in the form of <>. + - Make sure to convert the audio into text, followed by an emotion tag formatted with <>. + - Ensure you transcribe the following recording, then add an emotion tag at the end using <>. + - Could you write down the spoken content, with an emotion classification in <> at the end of the text. + - Can you transcribe the voice recording, and place an emotion tag at the end inside <>. + - I'd like you to convert the audio into text, adding an emotion marker enclosed in <> at the end. + - Could you transform the audio message into text, adding an emotion marker enclosed in <> at the end. + - Could you transform the audio message into text, including an emotion label at the end in the form of <>. + - Please convert the audio into text, followed by an emotion tag formatted with <>. + + + # 分析如下指令prompt,首先总结出具体的任务信息,然后以尽可能多样的句式给出更多的prompt,要求以yaml的格式返回,需要返回160条中文表示的prompt, 且任务本身不区分语种。 示例为: +: + - 请辨认以下音频中发言者的情感,并用<>括住情感标签。 + - 请判别如下音频里发言者的情感,情感标签用格式为<>。 + - 请识别下述音频发言者的情绪,格式为<>。 + - 判定如下音频中发言者的情感,标签格式为<>。 + - 根据以下音频内容,判断发言者的情感并用<>标出情感标签。 + - 请给出以下音频发言者的情感标签,用<>括起来。 + - 请根据音频内容识别发言者的情感,并用<>格式标出。 + - 依据下述音频,判断发言者的情感,标签格式为<>。 + - 根据下列音频中的讲话内容,识别发言者的情感并使用<>格式。 + - 请给出音频中发言者的情感标签,用<>标出。 + - 判断下述音频中的发言者情感,并用<>表示。 + - 根据音频内容识别发言者的情感,使用<>格式标记。 + - 请确定以下音频发言者的情感并标注,格式为<>。 + - 请分析音频内容并识别发言者的情感,标签格式为<>。 + - 请判定以下音频发言者的情感,标签使用<>格式。 + - 分析下面的音频发言者情感,情感标签格式为<>。 + - 请鉴别音频中的发言者情感并标出,标签格式为<>。 + - 根据音频中内容判断发言者的情感,标签格式为<>。 + - 请辨识音频中的情感,并用<>标注情感标签。 + - 判定下列音频发言者的情感,标签用<>格式标出。 + - 判断音频中的发言者情感并标注,标签格式为<>。 + - 根据音频,给出发言者的情感标签,并用<>格式。 + - 请确认音频发言者的情感,并用<>格式表示。 + - 请从音频中辨别发言者的情感,用<>表示。 + - 请根据以下音频,识别发言者的情感并用<>格式标出。 + - 请分析音频并给出发言者的情感标签,标签格式为<>。 + - 请听取以下音频,判别发言者的情感,标签格式为<>。 + - 请判断音频中的情感,并用<>标注情感标签。 + - 请为音频中的发言者提供情感标签,标签格式为<>。 + - 请给出以下音频发言者的情感标签,格式使用<>。 + - 根据音频内容判定发言者情感,标签格式为<>。 + - 请听下音频并标出发言者的情感,格式为<>。 + - 请识别下面音频发言者的情感,格式使用<>。 + - 根据音频,判定发言者的情感并用<>表示。 + - 请根据音频内容判断情感并用<>标出。 + - 请判定以下音频中的情感标签,使用<>格式。 + - 请分析音频,识别其中的情感,标签格式为<>。 + - 判断下列音频发言者的情感,并标出情感标签,格式为<>。 + - 根据下音频分析情感,标签格式为<>。 + - Identify the speaker's emotion in the following audio, and use <> to mark the emotion label. + - Please identify the emotion of the speaker in the audio below and mark it with <>. + - Recognize the speaker's emotion in the audio and give the emotion label in <>. + - Please determine the emotion of the speaker in the following audio and format it as <>. + - Based on the audio below, identify the speaker's emotion and label it with <>. + - Analyze the emotion of the speaker in this audio and mark it as <>. + - Identify the emotion of the speaker from the audio provided and mark it with <>. + - Determine the emotion of the speaker in the following audio, using <> to mark the label. + - Please listen to the audio and identify the emotion of the speaker, label it as <>. + - Based on the audio, please recognize the speaker's emotion and label it in <>. + - Analyze the audio content and provide the emotion label of the speaker, formatted as <>. + - Recognize the speaker's emotion in the given audio and use <> to mark the label. + - Please determine the speaker's emotion in the audio below and represent it with <>. + - Identify the speaker's emotional tone from the audio and provide the emotion label in <>. + - Please judge the emotion of the speaker in this audio and format the result as <>. + - Please analyze the audio to determine the speaker's emotion and label it as <>. + - Determine the speaker's emotion from the audio and use <> to indicate the label. + - Listen to the audio and identify the speaker's emotion, mark it with <>. + - Identify the emotion of the speaker in the audio and present it in <>. + - Based on the audio provided, identify the speaker's emotion label and use <> to mark it. + - Listen to the audio and judge the emotion of the speaker, label it as <>. + - Please determine the emotional tone of the speaker in the audio, and label it in <>. + - Please analyze the following audio to identify the speaker's emotion and label it with <>. + - 请通过以下音频内容判断发言者的情感,并用<>标明情感标签。 + - 依据音频的讲话内容,辨别发言者的情感,使用<>标出情感标签。 + - 请根据下述音频中的发言,确定发言者的情感,标签用<>标出。 + - 根据音频内容判定发言者的情感,并用<>格式表示。 + - 请判断音频中发言者的情感,标签格式为<>。 + - 请听下面的音频并识别发言者的情感,情感标签使用<>表示。 + - 根据以下音频判断发言者的情感,并用<>格式显示。 + - 请确定音频发言者的情感标签,用<>标明。 + - 请从音频中分析发言者的情感,标签格式为<>。 + - 请识别以下音频的发言者情感,并将其标签以<>格式标出。 + - 请分析下列音频内容,辨别其中发言者的情感并用<>格式表示。 + - 请判断音频中的情感类型并用<>格式标记。 + - 根据音频,辨识发言者情感并用<>格式给出标签。 + - 请确定下述音频中发言者的情感,并用<>格式表示。 + - 请对以下音频中的发言者情感进行判断,情感标签格式为<>。 + - 请根据音频内容识别发言者的情感,并标记为<>。 + - 请确认音频发言者的情感标签,用<>格式。 + - 请分析以下音频的发言者情感,并标出相应的标签,格式为<>。 + - 请根据以下音频判断发言者的情感,标签请使用<>。 + - 请辨识以下音频的情感,并将其标记为<>。 + - 请识别音频中的发言者情感,并使用<>标签。 + - 请分析下音频发言者的情感,并用<>格式标注。 + - 请从下述音频内容中判断发言者的情感,标签格式为<>。 + - 请根据下述音频内容,辨识发言者的情感并用<>格式表示。 + - 请判定音频中发言者的情感,标签用<>标出。 + - 请分析音频并辨别发言者情感,标签格式为<>。 + - 请从以下音频内容判断发言者情感,并标注为<>。 + - 请识别下音频中发言者的情感,并将情感标签用<>表示。 + - 请对以下音频中的发言者情感进行分析,标记格式为<>。 + - 请判断下列音频中发言者的情感,并用<>标明情感类型。 + - 请根据音频分析发言者的情感,情感标签请以<>表示。 + - 请从下面的音频内容中判断发言者情感并用<>格式标出。 + - 根据以下音频,识别发言者的情感,标签格式为<>。 + - 请根据音频内容,判定发言者的情感并标出标签<>。 + - 请分析这段音频中的发言者情感,并用<>标明情感。 + - 请辨别下音频发言者的情感,情感标签格式为<>。 + - 请根据音频内容判断发言者的情感,并标注为<>。 + - 根据下列音频中的讲话,判定发言者的情感并用<>表示。 + - 请分析下列音频,识别发言者情感,情感标签用<>标出。 + - 请确定以下音频发言者的情感,并给出情感标签<>。 + - 根据下音频内容,判断发言者情感并用<>标记。 + - 请分析音频并判定发言者的情感,标签用<>格式。 + - 请判断以下音频发言者的情感,格式为<>。 + - 请听取下述音频,辨认发言者的情感并用<>格式显示。 + - 请确认音频内容中的情感并标注为<>。 + - 请根据下音频内容分析发言者情感,并用<>表示标签。 + - 请根据音频判断发言者的情感并标注为<>。 + - 请辨识以下音频的情感并标注为<>。 + - 根据音频内容分析发言者的情感,并标注情感标签为<>。 + - 请判定音频中的情感类型并标出,标签格式为<>。 + - 请识别音频中发言者的情感,并用<>格式标出。 + - 请根据音频分析发言者情感,标签格式为<>。 + - 请判断下列音频中的发言者情感,并以<>表示标签。 + - 请判定音频中的情感,并用<>表示标签。 + - 请给出音频中发言者的情感标签,格式为<>。 + - 请识别发言者的情感,标注为<>。 + - 请从下述音频中辨认发言者的情感并用<>格式标出。 + - 请分析下音频内容中的情感,并用<>格式标记。 + - 请辨识音频发言者的情感,情感标签使用<>格式。 + - 请确认以下音频中的发言者情感,并用<>标出标签。 + - 请识别下音频发言者的情感,并标出标签,格式为<>。 + - 请判断音频中的发言者情感,并用<>标签表示。 + - 根据音频内容判定发言者的情感,标签格式为<>。 + - 请分析下列音频并判断情感,标签请用<>格式。 + - 请根据音频分析发言者情感,并用<>表示标签。 + - 请识别以下音频的情感,并将标签以<>格式标注。 + - 请听取音频内容,辨识发言者情感并用<>格式标出。 + - 根据音频中的讲话,判断发言者的情感并用<>标明标签。 + + +# : # 智贤师兄的emotion单独任务的模型 +# - Please describe the speaking style, content, and the speaker's emotional state of this audio. +# - Please describe the speaking style, content, and the speaker's emotional state of this audio. +# - Please describe the speaking style, content, and the speaker's emotional state of this audio. +# - Please describe the speaking style, content, and the speaker's emotional state of this audio. +# - Please describe the speaking style, content, and the speaker's emotional state of this audio. +