Created
December 7, 2023 16:48
-
-
Save johnlindquist/98c461a845ea373d92113cdf0090e67d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Name: Dictate to Editor | |
import "@johnlindquist/kit" | |
import Deepgram from "@deepgram/sdk" | |
let DEEPGRAM_API_KEY = await env("DEEPGRAM_API_KEY") | |
let client = new Deepgram.Deepgram(DEEPGRAM_API_KEY) | |
let deepgram = client.transcription.live({ | |
punctuate: true, | |
}) | |
await new Promise(resolve => deepgram.addListener("open", resolve)) | |
let fullTranscript = "" | |
let onInit = async () => { | |
deepgram.addListener("transcriptReceived", async packet => { | |
// console.log("deepgram: packet received") | |
let data = JSON.parse(packet) | |
switch (data.type) { | |
case "Results": | |
// console.log("deepgram: transcript received") | |
let transcript = (data.channel.alternatives[0].transcript as string) ?? "" | |
let firstSpace = fullTranscript.length === 0 ? "" : " " | |
let appendText = firstSpace + transcript | |
await editor.append(appendText) | |
fullTranscript += appendText | |
break | |
case "Metadata": | |
// console.log("deepgram: metadata received") | |
break | |
default: | |
// console.log("deepgram: unknown packet received") | |
break | |
} | |
}) | |
await mic.start() | |
mic.stream.on("data", chunk => { | |
deepgram.send(chunk) | |
}) | |
} | |
await editor({ | |
onInit, | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment