From eff22cb33ec907f967322b704fc31b3d867c4154 Mon Sep 17 00:00:00 2001 From: "Ziyang.Zhang" Date: Wed, 16 Apr 2025 14:30:11 +0800 Subject: [PATCH] =?UTF-8?q?[Feature]=20=E6=B5=8B=E8=AF=95=E4=BA=86?= =?UTF-8?q?=E5=90=8E=E7=BB=AD=E7=9A=84ASR=E3=80=81punc=E3=80=81spk?= =?UTF-8?q?=E6=95=88=E6=9E=9C=EF=BC=9B=20BUG=EF=BC=9A=E5=9C=A8=E8=B0=83?= =?UTF-8?q?=E7=94=A8funasr=E5=90=8E=EF=BC=8Clogger=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BC=9A=E8=A2=AB=E6=94=B9=E5=8F=98=EF=BC=8C=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8F=98=E5=8C=96=EF=BC=8C=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/logic_trager.py | 1 + test_main.py | 14 +++++++++++--- tests/modelsuse.py | 21 +++++++++++++++++++-- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/logic_trager.py b/src/logic_trager.py index 5c3ac43..18a3210 100644 --- a/src/logic_trager.py +++ b/src/logic_trager.py @@ -157,6 +157,7 @@ class LogicTrager(metaclass=AutoAfterMeta): """ 压入结果队列后处理 """ + logger.info("FINISH Result=") pass def __call__(self): diff --git a/test_main.py b/test_main.py index c5682ab..596385f 100644 --- a/test_main.py +++ b/test_main.py @@ -1,6 +1,6 @@ from src.utils.logger import get_module_logger, setup_root_logger -from tests.modelsuse import vad_model_use_online_logic - +from tests.modelsuse import vad_model_use_online_logic, asr_model_use_offline +import json setup_root_logger(level="INFO",log_file="logs/test_main.log") logger = get_module_logger(__name__) @@ -11,4 +11,12 @@ logger.info("测试结束") if vad_result is None: logger.warning("VAD结果为空") else: - logger.info(f"VAD结果: {vad_result}") \ No newline at end of file + logger.info(f"VAD结果: {vad_result}") + +asr_result = asr_model_use_offline("tests/vad_example.wav") +# asr_result str->dict +setup_root_logger(level="INFO",log_file="logs/test_main.log") +result = asr_result[0]['sentence_info'] +for item in result: + #[{'start': 70, 'end': 2340, 'sentence': '试 错 的 过 程 很 简 单', 'timestamp': [[380, 620], [640, 740], [740, 940], [940, 1020], [1020, 1260], [1500, 1740], [1740, 1840], [1840, 2135]], 'spk': 0} + logger.info(f"spk[{item['spk']}] [{item['start']}ms:{item['end']}ms] {item['sentence'].replace(' ', '')}") \ No newline at end of file diff --git a/tests/modelsuse.py b/tests/modelsuse.py index 6aee9fa..0554e0c 100644 --- a/tests/modelsuse.py +++ b/tests/modelsuse.py @@ -58,8 +58,25 @@ def vad_model_use_online_logic(file_path: str) -> List[Dict[str, Any]]: # for item in items: # print(item) return None - - + +def asr_model_use_offline(file_path: str) -> List[Dict[str, Any]]: + from funasr import AutoModel + model = AutoModel(model="paraformer-zh", model_revision="v2.0.4", + vad_model="fsmn-vad", vad_model_revision="v2.0.4", + # punc_model="ct-punc-c", punc_model_revision="v2.0.4", + spk_model="cam++", spk_model_revision="v2.0.2", + spk_mode="vad_segment", + auto_update=False, + ) + + import soundfile + + from src.models import AudioBinary_Config + import soundfile + + speech, sample_rate = soundfile.read(file_path) + result = model.generate(speech) + return result if __name__ == "__main__": # vad_result = vad_model_use_online("tests/vad_example.wav")