@@ -481,7 +481,7 @@ def predict(tensor):
481481#
482482
483483
484- def record (seconds = 1 ):
484+ def record_colab (seconds = 1 ):
485485
486486 from google .colab import output as colab_output
487487 from base64 import b64decode
@@ -524,11 +524,35 @@ def record(seconds=1):
524524 return torchaudio .load (filename )
525525
526526
527+ def record_noncolab (seconds = 1 ):
528+
529+ import sounddevice
530+ import scipy .io .wavfile
531+
532+ sample_rate = 44100
533+
534+ print (f"Recording started for { seconds } seconds." )
535+ myrecording = sounddevice .rec (
536+ int (seconds * sample_rate ), samplerate = sample_rate , channels = 1
537+ )
538+ sounddevice .wait ()
539+ print ("Recording ended." )
540+
541+ filename = "_audio.wav"
542+ scipy .io .wavfile .write (filename , sample_rate , myrecording )
543+ return torchaudio .load (filename )
544+
545+
527546# Detect whether notebook runs in google colab
528547if "google.colab" in sys .modules :
529- waveform , sample_rate = record ()
530- print (f"Predicted: { predict (waveform )} ." )
531- ipd .Audio (waveform .numpy (), rate = sample_rate )
548+ record = record_colab
549+ else :
550+ record = record_noncolab
551+
552+
553+ waveform , sample_rate = record ()
554+ print (f"Predicted: { predict (waveform )} ." )
555+ ipd .Audio (waveform .numpy (), rate = sample_rate )
532556
533557
534558######################################################################
0 commit comments