simple_test.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. """
  2. 简单的导入测试
  3. 验证模块结构是否正确
  4. """
  5. import sys
  6. from pathlib import Path
  7. # 添加模块路径
  8. module_path = Path(__file__).parent
  9. sys.path.insert(0, str(module_path))
  10. print("=" * 60)
  11. print("语音唤醒模块 - 导入测试")
  12. print("=" * 60)
  13. try:
  14. print("\n1. 测试导入配置类...")
  15. from config import WakeWordConfig
  16. print(" ✅ WakeWordConfig 导入成功")
  17. print("\n2. 测试导入音频采集类...")
  18. from audio_capture import AudioCapture, AudioListener
  19. print(" ✅ AudioCapture 导入成功")
  20. print("\n3. 测试导入检测器类...")
  21. from detector import WakeWordDetector
  22. print(" ✅ WakeWordDetector 导入成功")
  23. print("\n4. 测试导入AEC处理器类...")
  24. from aec_processor import AECProcessor
  25. print(" ✅ AECProcessor 导入成功")
  26. print("\n5. 测试从 __init__ 导入...")
  27. from wake_word_module import WakeWordDetector, AudioCapture, WakeWordConfig, AECProcessor
  28. print(" ✅ 从 __init__ 导入成功")
  29. print("\n6. 测试配置创建...")
  30. config = WakeWordConfig(
  31. model_path="models",
  32. sample_rate=16000,
  33. )
  34. print(f" ✅ 配置创建成功")
  35. print(f" - 采样率: {config.sample_rate}Hz")
  36. print(f" - 阈值: {config.keywords_threshold}")
  37. print("\n7. 测试音频采集器创建...")
  38. audio_capture = AudioCapture(sample_rate=16000, channels=1)
  39. print(f" ✅ 音频采集器创建成功")
  40. print(f" - 采样率: {audio_capture.sample_rate}Hz")
  41. print(f" - 声道数: {audio_capture.channels}")
  42. print(f" - AEC启用: {audio_capture.enable_aec}")
  43. print("\n8. 测试AEC处理器创建...")
  44. aec_processor = AECProcessor(sample_rate=16000, channels=1)
  45. print(f" ✅ AEC处理器创建成功")
  46. print(f" - 平台: {aec_processor._platform}")
  47. print("\n" + "=" * 60)
  48. print("✅ 所有导入测试通过!")
  49. print("=" * 60)
  50. print("\n注意: 完整功能测试需要:")
  51. print(" 1. 安装依赖: pip install -r requirements.txt")
  52. print(" 2. 准备模型文件到 models/ 目录")
  53. print(" 3. 运行: python test.py")
  54. print(" 4. 测试AEC: python test_aec.py")
  55. print("\nAEC说明:")
  56. print(" - Windows/Linux: 自动使用系统级AEC")
  57. print(" - macOS: 需要WebRTC APM库和BlackHole设备")
  58. print(" - 详见: AEC_GUIDE.md")
  59. except Exception as e:
  60. print(f"\n❌ 导入测试失败: {e}")
  61. import traceback
  62. traceback.print_exc()
  63. sys.exit(1)