@@ -481,39 +481,19 @@ def predict(tensor):
481
481
#
482
482
483
483
484
- RECORD = """
485
- const sleep = time => new Promise(resolve => setTimeout(resolve, time))
486
- const b2text = blob => new Promise(resolve => {
487
- const reader = new FileReader()
488
- reader.onloadend = e => resolve(e.srcElement.result)
489
- reader.readAsDataURL(blob)
490
- })
491
- var record = time => new Promise(async resolve => {
492
- stream = await navigator.mediaDevices.getUserMedia({ audio: true })
493
- recorder = new MediaRecorder(stream)
494
- chunks = []
495
- recorder.ondataavailable = e => chunks.push(e.data)
496
- recorder.start()
497
- await sleep(time)
498
- recorder.onstop = async ()=>{
499
- blob = new Blob(chunks)
500
- text = await b2text(blob)
501
- resolve(text)
502
- }
503
- recorder.stop()
504
- })
505
- """
506
-
507
-
508
484
def record (seconds = 1 ):
509
485
510
486
from google .colab import output as colab_output
511
487
from base64 import b64decode
512
488
from io import BytesIO
513
489
from pydub import AudioSegment
514
490
515
- display (ipd .Javascript (RECORD ))
491
+
492
+ RECORD = b"const sleep = time => new Promise(resolve => setTimeout(resolve, time))\n const b2text = blob => new Promise(resolve => {\n const reader = new FileReader()\n reader.onloadend = e => resolve(e.srcElement.result)\n reader.readAsDataURL(blob)\n })\n var record = time => new Promise(async resolve => {\n stream = await navigator.mediaDevices.getUserMedia({ audio: true })\n recorder = new MediaRecorder(stream)\n chunks = []\n recorder.ondataavailable = e => chunks.push(e.data)\n recorder.start()\n await sleep(time)\n recorder.onstop = async ()=>{\n blob = new Blob(chunks)\n text = await b2text(blob)\n resolve(text)\n }\n recorder.stop()\n })"
493
+ RECORD = RECORD .decode ("ascii" )
494
+
516
495
print (f"Recording started for { seconds } seconds." )
496
+ display (ipd .Javascript (RECORD ))
517
497
s = colab_output .eval_js ("record(%d)" % (seconds * 1000 ))
518
498
print ("Recording ended." )
519
499
b = b64decode (s .split ("," )[1 ])
0 commit comments