UNPKG

voicescribe

Version:

Live speech transcription library with multi-language support.

44 lines (36 loc) 1.18 kB
// VoiceScribe Core Recorder Logic let recognition; let isListening = false; export function setLanguage(lang = 'en-US') { if (recognition) recognition.lang = lang; } export function startTranscription(callback = console.log, lang = 'en-US') { const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; if (!SpeechRecognition) { alert('Your browser does not support Speech Recognition.'); return; } recognition = new SpeechRecognition(); recognition.continuous = true; recognition.interimResults = true; recognition.lang = lang; recognition.onresult = (event) => { let transcript = ''; for (let i = event.resultIndex; i < event.results.length; ++i) { transcript += event.results[i][0].transcript; } callback(transcript.trim()); }; recognition.onerror = (event) => console.error('Speech recognition error:', event.error); recognition.onend = () => { if (isListening) recognition.start(); // restart if still listening }; isListening = true; recognition.start(); } export function stopTranscription() { if (recognition) { isListening = false; recognition.stop(); } }