[Feature] 测试了后续的ASR、punc、spk效果; BUG:在调用funasr后,logger信息会被改变,导致格式变化,重复输出。

This commit is contained in:
Ziyang.Zhang 2025-04-16 14:30:11 +08:00
parent 66c9477e4b
commit eff22cb33e
3 changed files with 31 additions and 5 deletions

View File

@ -157,6 +157,7 @@ class LogicTrager(metaclass=AutoAfterMeta):
"""
压入结果队列后处理
"""
logger.info("FINISH Result=")
pass
def __call__(self):

View File

@ -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}")
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(' ', '')}")

View File

@ -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")