Finally
This commit is contained in:
35
examples/fromMic.html
Normal file
35
examples/fromMic.html
Normal file
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script src="Vosklet.js" async defer></script>
|
||||
<script>
|
||||
async function start() {
|
||||
let ctx = new AudioContext({sampleRate : 16000})
|
||||
let micNode = ctx.createMediaStreamSource(await navigator.mediaDevices.getUserMedia({
|
||||
video: false,
|
||||
audio: {
|
||||
echoCancellation: true,
|
||||
noiseSuppression: true,
|
||||
channelCount: 1,
|
||||
sampleRate: 16000
|
||||
},
|
||||
}))
|
||||
let module = await loadVosklet()
|
||||
let model = await module.createModel("../usage/en-model.tgz","model","ID")
|
||||
let recognizer = await module.createRecognizer(model, 16000)
|
||||
recognizer.addEventListener("result", ev => {
|
||||
console.log("Result: ", ev.detail)
|
||||
})
|
||||
recognizer.addEventListener("partialResult", ev => {
|
||||
console.log("Partial result: ", ev.detail)
|
||||
})
|
||||
let transferer = await module.createTransferer(ctx)
|
||||
transferer.port.onmessage = ev => {
|
||||
recognizer.acceptWaveform(ev.data)
|
||||
}
|
||||
micNode.connect(transferer)
|
||||
}
|
||||
</script>
|
||||
<button onclick="start()">Start</button>
|
||||
</head>
|
||||
</html>
|
||||
Reference in New Issue
Block a user