@@ -118,6 +118,66 @@ def on_data(self, data):
118
118
assert test_callback .data ['results' ][0 ]['alternatives' ][0 ]
119
119
['transcript' ] == 'thunderstorms could produce large hail isolated tornadoes and heavy rain '
120
120
121
+ def test_on_transcription_interim_results_false (self ):
122
+ class MyRecognizeCallback (RecognizeCallback ):
123
+ def __init__ (self ):
124
+ RecognizeCallback .__init__ (self )
125
+ self .error = None
126
+ self .transcript = None
127
+ def on_error (self , error ):
128
+ self .error = error
129
+ def on_transcription (self , transcript ):
130
+ self .transcript = transcript
131
+ test_callback = MyRecognizeCallback ()
132
+ with open (os .path .join (os .path .dirname (__file__ ), '../../resources/speech_with_pause.wav' ), 'rb' ) as audio_file :
133
+ audio_source = AudioSource (audio_file , False )
134
+ self .speech_to_text .recognize_using_websocket (audio_source , "audio/wav" , test_callback , model = "en-US_Telephony" ,
135
+ interim_results = False , low_latency = False )
136
+ assert test_callback .error is None
137
+ assert test_callback .transcript is not None
138
+ assert test_callback .transcript [0 ][0 ]['transcript' ] in ['isolated tornadoes ' , 'isolated tornados ' ]
139
+ assert test_callback .transcript [1 ][0 ]['transcript' ] == 'and heavy rain '
140
+ def test_on_transcription_interim_results_true (self ):
141
+ class MyRecognizeCallback (RecognizeCallback ):
142
+ def __init__ (self ):
143
+ RecognizeCallback .__init__ (self )
144
+ self .error = None
145
+ self .transcript = None
146
+ def on_error (self , error ):
147
+ self .error = error
148
+ def on_transcription (self , transcript ):
149
+ self .transcript = transcript
150
+ assert transcript [0 ]['confidence' ] is not None
151
+ assert transcript [0 ]['transcript' ] is not None
152
+ test_callback = MyRecognizeCallback ()
153
+ with open (os .path .join (os .path .dirname (__file__ ), '../../resources/speech_with_pause.wav' ), 'rb' ) as audio_file :
154
+ audio_source = AudioSource (audio_file , False )
155
+ self .speech_to_text .recognize_using_websocket (audio_source , "audio/wav" , test_callback , model = "en-US_Telephony" ,
156
+ interim_results = True , low_latency = True )
157
+ assert test_callback .error is None
158
+ assert test_callback .transcript is not None
159
+ assert test_callback .transcript [0 ]['transcript' ] == 'and heavy rain '
160
+ def test_on_transcription_interim_results_true_low_latency_false (self ):
161
+ class MyRecognizeCallback (RecognizeCallback ):
162
+ def __init__ (self ):
163
+ RecognizeCallback .__init__ (self )
164
+ self .error = None
165
+ self .transcript = None
166
+ def on_error (self , error ):
167
+ self .error = error
168
+ def on_transcription (self , transcript ):
169
+ self .transcript = transcript
170
+ assert transcript [0 ]['confidence' ] is not None
171
+ assert transcript [0 ]['transcript' ] is not None
172
+ test_callback = MyRecognizeCallback ()
173
+ with open (os .path .join (os .path .dirname (__file__ ), '../../resources/speech_with_pause.wav' ), 'rb' ) as audio_file :
174
+ audio_source = AudioSource (audio_file , False )
175
+ self .speech_to_text .recognize_using_websocket (audio_source , "audio/wav" , test_callback , model = "en-US_Telephony" ,
176
+ interim_results = True , low_latency = False )
177
+ assert test_callback .error is None
178
+ assert test_callback .transcript is not None
179
+ assert test_callback .transcript [0 ]['transcript' ] == 'and heavy rain '
180
+
121
181
def test_custom_grammars (self ):
122
182
customization_id = None
123
183
for custom_model in self .custom_models .get ('customizations' ):
0 commit comments