Phase 2: Core transcription pipeline and audio playback
- Implement faster-whisper TranscribeService with word-level timestamps, progress reporting, and hardware auto-detection - Wire up Rust SidecarManager for Python process lifecycle (spawn, IPC, shutdown) - Add transcribe_file Tauri command bridging frontend to Python sidecar - Integrate wavesurfer.js WaveformPlayer with play/pause, skip, seek controls - Build TranscriptEditor with word-level click-to-seek and active highlighting - Connect file import flow: prompt → asset load → transcribe → display - Add typed tauri-bridge service with TranscriptionResult interface - Add Python tests for hardware detection and transcription result formatting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
20
python/tests/test_hardware.py
Normal file
20
python/tests/test_hardware.py
Normal file
@@ -0,0 +1,20 @@
|
||||
"""Tests for hardware detection."""
|
||||
|
||||
from voice_to_notes.hardware.detect import HardwareInfo, detect_hardware
|
||||
|
||||
|
||||
def test_hardware_info_defaults():
|
||||
"""Test HardwareInfo default values."""
|
||||
info = HardwareInfo()
|
||||
assert info.has_cuda is False
|
||||
assert info.recommended_model == "base"
|
||||
assert info.recommended_device == "cpu"
|
||||
|
||||
|
||||
def test_detect_hardware_returns_info():
|
||||
"""Test that detect_hardware returns a valid HardwareInfo."""
|
||||
info = detect_hardware()
|
||||
assert isinstance(info, HardwareInfo)
|
||||
assert info.cpu_cores > 0
|
||||
# Should default to CPU since we're likely in a test env without GPU
|
||||
assert info.recommended_device in ("cpu", "cuda")
|
||||
Reference in New Issue
Block a user