4141SAMPLE_RATE = 16000
4242CHUNK_SIZE = int (SAMPLE_RATE / 10 ) # 100ms
4343
44- RED = ' \033 [0;31m'
45- GREEN = ' \033 [0;32m'
46- YELLOW = ' \033 [0;33m'
44+ RED = " \033 [0;31m"
45+ GREEN = " \033 [0;32m"
46+ YELLOW = " \033 [0;33m"
4747
4848
4949def get_current_time ():
@@ -123,12 +123,14 @@ def generator(self):
123123 if self .bridging_offset > self .final_request_end_time :
124124 self .bridging_offset = self .final_request_end_time
125125
126- chunks_from_ms = round ((self .final_request_end_time -
127- self .bridging_offset ) / chunk_time )
126+ chunks_from_ms = round (
127+ (self .final_request_end_time - self .bridging_offset )
128+ / chunk_time
129+ )
128130
129- self .bridging_offset = ( round ( (
130- len (self .last_audio_input ) - chunks_from_ms )
131- * chunk_time ) )
131+ self .bridging_offset = round (
132+ ( len (self .last_audio_input ) - chunks_from_ms ) * chunk_time
133+ )
132134
133135 for i in range (chunks_from_ms , len (self .last_audio_input )):
134136 data .append (self .last_audio_input [i ])
@@ -157,7 +159,7 @@ def generator(self):
157159 except queue .Empty :
158160 break
159161
160- yield b'' .join (data )
162+ yield b"" .join (data )
161163
162164
163165def listen_print_loop (responses , stream ):
@@ -203,32 +205,35 @@ def listen_print_loop(responses, stream):
203205
204206 stream .result_end_time = int ((result_seconds * 1000 ) + (result_micros / 1000 ))
205207
206- corrected_time = (stream .result_end_time - stream .bridging_offset
207- + (STREAMING_LIMIT * stream .restart_counter ))
208+ corrected_time = (
209+ stream .result_end_time
210+ - stream .bridging_offset
211+ + (STREAMING_LIMIT * stream .restart_counter )
212+ )
208213 # Display interim results, but with a carriage return at the end of the
209214 # line, so subsequent lines will overwrite them.
210215
211216 if result .is_final :
212217
213218 sys .stdout .write (GREEN )
214- sys .stdout .write (' \033 [K' )
215- sys .stdout .write (str (corrected_time ) + ': ' + transcript + ' \n ' )
219+ sys .stdout .write (" \033 [K" )
220+ sys .stdout .write (str (corrected_time ) + ": " + transcript + " \n " )
216221
217222 stream .is_final_end_time = stream .result_end_time
218223 stream .last_transcript_was_final = True
219224
220225 # Exit recognition if any of the transcribed phrases could be
221226 # one of our keywords.
222- if re .search (r' \b(exit|quit)\b' , transcript , re .I ):
227+ if re .search (r" \b(exit|quit)\b" , transcript , re .I ):
223228 sys .stdout .write (YELLOW )
224- sys .stdout .write (' Exiting...\n ' )
229+ sys .stdout .write (" Exiting...\n " )
225230 stream .closed = True
226231 break
227232
228233 else :
229234 sys .stdout .write (RED )
230- sys .stdout .write (' \033 [K' )
231- sys .stdout .write (str (corrected_time ) + ': ' + transcript + ' \r ' )
235+ sys .stdout .write (" \033 [K" )
236+ sys .stdout .write (str (corrected_time ) + ": " + transcript + " \r " )
232237
233238 stream .last_transcript_was_final = False
234239
@@ -240,34 +245,38 @@ def main():
240245 config = speech .RecognitionConfig (
241246 encoding = speech .RecognitionConfig .AudioEncoding .LINEAR16 ,
242247 sample_rate_hertz = SAMPLE_RATE ,
243- language_code = 'en-US' ,
244- max_alternatives = 1 )
248+ language_code = "en-US" ,
249+ max_alternatives = 1 ,
250+ )
251+
245252 streaming_config = speech .StreamingRecognitionConfig (
246- config = config ,
247- interim_results = True )
253+ config = config , interim_results = True
254+ )
248255
249256 mic_manager = ResumableMicrophoneStream (SAMPLE_RATE , CHUNK_SIZE )
250257 print (mic_manager .chunk_size )
251258 sys .stdout .write (YELLOW )
252259 sys .stdout .write ('\n Listening, say "Quit" or "Exit" to stop.\n \n ' )
253- sys .stdout .write (' End (ms) Transcript Results/Status\n ' )
254- sys .stdout .write (' =====================================================\n ' )
260+ sys .stdout .write (" End (ms) Transcript Results/Status\n " )
261+ sys .stdout .write (" =====================================================\n " )
255262
256263 with mic_manager as stream :
257264
258265 while not stream .closed :
259266 sys .stdout .write (YELLOW )
260- sys .stdout .write ('\n ' + str (
261- STREAMING_LIMIT * stream .restart_counter ) + ': NEW REQUEST\n ' )
267+ sys .stdout .write (
268+ "\n " + str (STREAMING_LIMIT * stream .restart_counter ) + ": NEW REQUEST\n "
269+ )
262270
263271 stream .audio_input = []
264272 audio_generator = stream .generator ()
265273
266- requests = (speech .StreamingRecognizeRequest (
267- audio_content = content )for content in audio_generator )
274+ requests = (
275+ speech .StreamingRecognizeRequest (audio_content = content )
276+ for content in audio_generator
277+ )
268278
269- responses = client .streaming_recognize (streaming_config ,
270- requests )
279+ responses = client .streaming_recognize (streaming_config , requests )
271280
272281 # Now, put the transcription responses to use.
273282 listen_print_loop (responses , stream )
@@ -281,11 +290,11 @@ def main():
281290 stream .restart_counter = stream .restart_counter + 1
282291
283292 if not stream .last_transcript_was_final :
284- sys .stdout .write (' \n ' )
293+ sys .stdout .write (" \n " )
285294 stream .new_stream = True
286295
287296
288- if __name__ == ' __main__' :
297+ if __name__ == " __main__" :
289298
290299 main ()
291300
0 commit comments