darker model name text

This commit is contained in:
2026-04-03 10:46:26 -06:00
parent 7c8c74d04d
commit f0568ed267
2 changed files with 17 additions and 3 deletions

View File

@ -43,16 +43,19 @@ pub fn transcribe_audio(
args.push(lang);
}
// Run Python script
// Run Python script with timeout
let output = Command::new(python_exe)
.args(&args)
.env("PYTHONPATH", crate::paths::project_root().join(".venv312").join("lib").join("python3.12").join("site-packages"))
.output()
.map_err(|e| format!("Failed to run Python script: {}", e))?;
// Check for timeout or other errors
if !output.status.success() {
let stderr = String::from_utf8_lossy(&output.stderr);
return Err(format!("Python script failed: {}", stderr));
let stdout = String::from_utf8_lossy(&output.stdout);
return Err(format!("Python script failed: {}\nStdout: {}\nStderr: {}",
output.status, stdout, stderr));
}
// Parse JSON output

View File

@ -21,6 +21,13 @@ def main():
model_name = sys.argv[2]
language = sys.argv[3] if len(sys.argv) > 3 else None
# Check file size - warn for very large files
import os
file_size_mb = os.path.getsize(audio_file) / (1024 * 1024)
if file_size_mb > 100: # Warn for files over 100MB
print(f"Warning: Large file detected ({file_size_mb:.1f}MB). Transcription may take a long time.", file=sys.stderr)
print("Consider splitting long audio files into smaller segments for faster processing.", file=sys.stderr)
# Extract audio to temp WAV if needed
with tempfile.NamedTemporaryFile(suffix='.wav', delete=False) as tmp:
wav_path = tmp.name
@ -40,7 +47,9 @@ def main():
model = WhisperModel(model_name, device=device, compute_type=compute_type)
# Transcribe
# Transcribe with progress reporting
print(f"Starting transcription of {wav_path} with model {model_name}", file=sys.stderr)
segments, info = model.transcribe(
wav_path,
language=language,
@ -50,6 +59,8 @@ def main():
vad_parameters=dict(threshold=0.5, min_speech_duration_ms=250),
without_timestamps=False
)
print(f"Transcription completed. Detected language: {info.language}", file=sys.stderr)
# Convert to our format
words = []