tranth3truong's picture
Deploy public Scribe-only CarePath Space
cc678b9
Raw
History Blame Contribute Delete
809 Bytes
import type { TranscriptTurn } from "./types";
export function canSpeakTurn(turn: TranscriptTurn, playbackSuppressed: boolean): boolean {
return !playbackSuppressed
&& !turn.low_confidence
&& !turn.requires_confirmation
&& !["awaiting_confirm", "blocked", "ended"].includes(turn.status)
&& ["delivered", "confirmed", "corrected"].includes(turn.status);
}
export function speakTurn(turn: TranscriptTurn, playbackSuppressed: boolean) {
if (!canSpeakTurn(turn, playbackSuppressed)) {
return;
}
if (!("speechSynthesis" in window)) {
return;
}
const utterance = new SpeechSynthesisUtterance(turn.corrected_text || turn.translation);
utterance.lang = turn.tgt_lang === "vi" ? "vi-VN" : "en-US";
window.speechSynthesis.cancel();
window.speechSynthesis.speak(utterance);
}