Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from askbob.speech.listener.listener import UtteranceService 

2import wave 

3 

4 

5class FileUtteranceService(UtteranceService): 

6 

7 chunk: int = 320 

8 

9 def __init__(self, filename: str, aggressiveness: int = 1, 

10 lowpass_frequency: int = 65, highpass_frequency: int = 4000): 

11 super().__init__(aggressiveness, lowpass_frequency, highpass_frequency) 

12 

13 wf = wave.open(filename, 'rb') 

14 self.input_rate = wf.getframerate() 

15 

16 if wf.getnchannels() != 1: 

17 raise RuntimeError( 

18 "Uploaded WAV files must only have a single audio channel (mono).") 

19 

20 self.reset_buffer_queue = False 

21 data = wf.readframes(self.chunk) 

22 while data: 

23 self.buffer_queue.put(data) 

24 data = wf.readframes(self.chunk) 

25 

26 wf.close()