[M1] Crate fractal-stt : trait SttEngine + types AudioData / Transcript #73
Labels
No labels
module:M0-setup
module:M1-stt
module:M1-stt
module:M2-ai
module:M2-ai
module:M3-rich
module:M3-rich
module:M4-bridge
module:M4-bridge
module:M5-bonus
module:M5-bonus
module:setup
priority:high
priority:high
priority:low
priority:low
priority:medium
priority:medium
type:chore
type:chore
type:feature
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/my-fractal#73
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Première brique de M1 : définir le contrat commun à tous les moteurs STT et les types de données partagés. Cette abstraction permet de brancher Whisper.cpp, OpenAI Whisper ou Vosk sans modifier le reste du pipeline.
Critères d'acceptation
fractal-sttcréée dans le workspace, implémentant le traitExtension(viafractal-ext)SttEnginedéfini :async fn transcribe(&self, audio: AudioData) -> Result<Transcript>async fn health_check(&self) -> Result<()>fn supported_languages(&self) -> Vec<String>AudioData:{ bytes: Vec<u8>, mime_type: String, duration_ms: u64 }Transcript:{ text: String, language: String, confidence: Confidence, segments: Vec<TranscriptSegment> }TranscriptSegment:{ start_ms: u64, end_ms: u64, text: String }Confidence:High / Medium / Low[stt]dansconfig.toml:engine(whisper_cpp | openai | vosk),auto_transcribe: bool,language: Option<String>,model_size(tiny/base/small/medium/large)transcriptions(event_id TEXT PRIMARY KEY, text TEXT, language TEXT, confidence TEXT)Notes techniques
event_idMatrixWhisperCppEngine: transcription locale via whisper.cpp #74OpenAiWhisperEngine: transcription cloud (OpenAI API / Groq) #75VoskEngine: transcription locale légère (Vosk) #77TranscriptWidget+ bouton Transcrire + mode auto + sélecteur de langue #79Fermé en doublon : ce travail a été réalisé dans la PR #81 (issue #4). Le trait
SttEngineet tous les types (AudioData,Transcript,EngineStatus, etc.) sont déjà mergés surmain.