IntuitionX_agent/test/asr/test_asr.py

84 lines
2.1 KiB
Python
Raw Normal View History

2026-01-01 21:34:51 +08:00
"""
ASR 语音识别测试
使用 TTS 生成的音频文件测试识别
"""
from pathlib import Path
from src.Module.asr.asr import ASR, recognize, recognize_text
def test_recognize_wav():
"""测试识别 WAV 文件"""
print("=" * 60)
print(" ASR 语音识别测试")
print("=" * 60)
# 使用 TTS 测试生成的音频文件
audio_file = Path(__file__).parent.parent / 'tts' / 'output' / 'stream_test.wav'
if not audio_file.exists():
print(f"[跳过] 音频文件不存在: {audio_file}")
print("请先运行 TTS 测试生成音频文件")
return False
print(f"\n音频文件: {audio_file}")
print(f"文件大小: {audio_file.stat().st_size / 1024:.1f} KB")
# 创建 ASR 实例
asr = ASR(
model='qwen3-asr-flash',
language='zh',
)
print("\n开始识别...")
result = asr.recognize(str(audio_file))
print(f"\n识别结果:")
print(f" 成功: {result.success}")
print(f" 文本: {result.text}")
if result.error:
print(f" 错误: {result.error}")
if result.request_id:
print(f" 请求ID: {result.request_id}")
return result.success
def test_convenient_function():
"""测试便捷函数"""
print("\n" + "=" * 60)
print("便捷函数测试")
print("=" * 60)
audio_file = Path(__file__).parent.parent / 'tts' / \
'output' / 'bidirectional_test.wav'
if not audio_file.exists():
print(f"[跳过] 音频文件不存在: {audio_file}")
return False
print(f"\n音频文件: {audio_file.name}")
# 使用便捷函数
text = recognize_text(str(audio_file), language='zh')
print(f"识别文本: {text}")
return len(text) > 0
if __name__ == '__main__':
results = []
success1 = test_recognize_wav()
results.append(("WAV 文件识别", success1))
success2 = test_convenient_function()
results.append(("便捷函数", success2))
print("\n" + "=" * 60)
print("测试结果:")
for name, success in results:
status = "✓ 通过" if success else "✗ 失败/跳过"
print(f" {name}: {status}")