Files
momentry_core/test_model_load.py
Warren b54c2def30 feat: add migrations, test scripts, and utility tools
- Add database migrations (006-028) for face recognition, identity, file_uuid
- Add test scripts for ASR, face, search, processing
- Add portal frontend (Tauri)
- Add config, benchmark, and monitoring utilities
- Add model checkpoints and pretrained model references
2026-04-30 15:11:53 +08:00

71 lines
1.9 KiB
Python

#!/opt/homebrew/bin/python3.11
"""Test Whisper model loading and minimal transcription."""
import sys
import os
import time
import whisper
def test_model_load():
print("Testing Whisper model loading...")
# Test loading tiny model
start = time.time()
try:
model = whisper.load_model("tiny", device="cpu")
elapsed = time.time() - start
print(f"✓ Model loaded successfully in {elapsed:.2f}s")
# Test transcription on a tiny audio file
# Create a 1-second silent audio file or use a test file
import tempfile
import subprocess
# Create a 1-second silent WAV file using sox or ffmpeg
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as f:
temp_wav = f.name
# Create silent audio using ffmpeg
cmd = [
"ffmpeg",
"-f",
"lavfi",
"-i",
"anullsrc=r=16000:cl=mono",
"-t",
"1",
"-acodec",
"pcm_s16le",
temp_wav,
"-y",
]
try:
subprocess.run(cmd, capture_output=True, check=True)
print(f"✓ Created test audio file: {temp_wav}")
# Try transcription
print("Testing transcription...")
start_trans = time.time()
result = model.transcribe(temp_wav, beam_size=5)
elapsed_trans = time.time() - start_trans
print(f"✓ Transcription successful in {elapsed_trans:.2f}s")
print(f" Segments: {len(result['segments'])}")
os.unlink(temp_wav)
except Exception as e:
print(f"✗ Failed to create test audio: {e}")
if os.path.exists(temp_wav):
os.unlink(temp_wav)
except Exception as e:
print(f"✗ Model loading failed: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
test_model_load()