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:
2026-02-26 15:53:09 -08:00
parent 503cc6c0cf
commit 48fe41b064
18 changed files with 1775 additions and 32 deletions

View File

@@ -1,8 +1,10 @@
pub mod commands;
pub mod db;
pub mod sidecar;
pub mod state;
use commands::project::{create_project, get_project, list_projects};
use commands::transcribe::transcribe_file;
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
@@ -12,6 +14,7 @@ pub fn run() {
create_project,
get_project,
list_projects,
transcribe_file,
])
.run(tauri::generate_context!())
.expect("error while running tauri application");