@@ -482,7 +482,7 @@ def predict(tensor):
482
482
#
483
483
484
484
485
- def record (seconds = 1 ):
485
+ def record_colab (seconds = 1 ):
486
486
487
487
from google .colab import output as colab_output
488
488
from base64 import b64decode
@@ -525,11 +525,35 @@ def record(seconds=1):
525
525
return torchaudio .load (filename )
526
526
527
527
528
+ def record_noncolab (seconds = 1 ):
529
+
530
+ import sounddevice
531
+ import scipy .io .wavfile
532
+
533
+ sample_rate = 44100
534
+
535
+ print (f"Recording started for { seconds } seconds." )
536
+ myrecording = sounddevice .rec (
537
+ int (seconds * sample_rate ), samplerate = sample_rate , channels = 1
538
+ )
539
+ sounddevice .wait ()
540
+ print ("Recording ended." )
541
+
542
+ filename = "_audio.wav"
543
+ scipy .io .wavfile .write (filename , sample_rate , myrecording )
544
+ return torchaudio .load (filename )
545
+
546
+
528
547
# Detect whether notebook runs in google colab
529
548
if "google.colab" in sys .modules :
530
- waveform , sample_rate = record ()
531
- print (f"Predicted: { predict (waveform )} ." )
532
- ipd .Audio (waveform .numpy (), rate = sample_rate )
549
+ record = record_colab
550
+ else :
551
+ record = record_noncolab
552
+
553
+
554
+ waveform , sample_rate = record ()
555
+ print (f"Predicted: { predict (waveform )} ." )
556
+ ipd .Audio (waveform .numpy (), rate = sample_rate )
533
557
534
558
535
559
######################################################################
0 commit comments