@@ -28,7 +28,7 @@ def _make_result(alternatives=()):
28
28
)
29
29
30
30
31
- def _make_streaming_result (alternatives = (), is_final = True ):
31
+ def _make_streaming_result (alternatives = (), is_final = True , stability = 1.0 ):
32
32
from google .cloud .grpc .speech .v1beta1 import cloud_speech_pb2
33
33
34
34
return cloud_speech_pb2 .StreamingRecognitionResult (
@@ -39,6 +39,7 @@ def _make_streaming_result(alternatives=(), is_final=True):
39
39
) for alternative in alternatives
40
40
],
41
41
is_final = is_final ,
42
+ stability = stability ,
42
43
)
43
44
44
45
@@ -476,6 +477,7 @@ def test_stream_recognize_interim_results(self):
476
477
477
478
from google .cloud .speech import _gax
478
479
from google .cloud .speech .encoding import Encoding
480
+ from google .cloud .speech .client import StreamingSpeechResult
479
481
480
482
stream = BytesIO (b'Some audio data...' )
481
483
credentials = _Credentials ()
@@ -491,11 +493,13 @@ def test_stream_recognize_interim_results(self):
491
493
'confidence' : 0.0123456 ,
492
494
}]
493
495
first_response = _make_streaming_response (
494
- _make_streaming_result ([], is_final = False ))
496
+ _make_streaming_result ([], is_final = False , stability = 0.122435 ))
495
497
second_response = _make_streaming_response (
496
- _make_streaming_result (alternatives , is_final = False ))
498
+ _make_streaming_result (alternatives , is_final = False ,
499
+ stability = 0.1432343 ))
497
500
last_response = _make_streaming_response (
498
- _make_streaming_result (alternatives , is_final = True ))
501
+ _make_streaming_result (alternatives , is_final = True ,
502
+ stability = 0.9834534 ))
499
503
responses = [first_response , second_response , last_response ]
500
504
501
505
channel_args = []
@@ -521,15 +525,28 @@ def speech_api(channel=None):
521
525
522
526
results = list (client .streaming_recognize (sample ,
523
527
interim_results = True ))
524
- self .assertEqual (results [0 ], [])
525
- self .assertEqual (results [1 ][0 ].transcript ,
528
+
529
+ self .assertEqual (len (results ), 3 )
530
+ self .assertIsInstance (results [0 ], StreamingSpeechResult )
531
+ self .assertEqual (results [0 ].alternatives , [])
532
+ self .assertFalse (results [0 ].is_final )
533
+ self .assertEqual (results [0 ].stability , 0.122435 )
534
+ self .assertEqual (results [1 ].stability , 0.1432343 )
535
+ self .assertFalse (results [1 ].is_final )
536
+ self .assertEqual (results [1 ].alternatives [0 ].transcript ,
526
537
alternatives [0 ]['transcript' ])
527
- self .assertEqual (results [1 ][0 ].confidence ,
538
+ self .assertEqual (results [1 ]. alternatives [0 ].confidence ,
528
539
alternatives [0 ]['confidence' ])
529
- self .assertEqual (results [1 ][1 ].transcript ,
540
+ self .assertEqual (results [1 ]. alternatives [1 ].transcript ,
530
541
alternatives [1 ]['transcript' ])
531
- self .assertEqual (results [1 ][1 ].confidence ,
542
+ self .assertEqual (results [1 ]. alternatives [1 ].confidence ,
532
543
alternatives [1 ]['confidence' ])
544
+ self .assertTrue (results [2 ].is_final )
545
+ self .assertEqual (results [2 ].stability , 0.9834534 )
546
+ self .assertEqual (results [2 ].alternatives [0 ].transcript ,
547
+ alternatives [0 ]['transcript' ])
548
+ self .assertEqual (results [2 ].alternatives [0 ].confidence ,
549
+ alternatives [0 ]['confidence' ])
533
550
534
551
def test_stream_recognize (self ):
535
552
from io import BytesIO
@@ -582,9 +599,9 @@ def speech_api(channel=None):
582
599
583
600
results = list (client .streaming_recognize (sample ))
584
601
self .assertEqual (len (results ), 1 )
585
- self .assertEqual (results [0 ][0 ].transcript ,
602
+ self .assertEqual (results [0 ]. alternatives [0 ].transcript ,
586
603
alternatives [0 ]['transcript' ])
587
- self .assertEqual (results [0 ][0 ].confidence ,
604
+ self .assertEqual (results [0 ]. alternatives [0 ].confidence ,
588
605
alternatives [0 ]['confidence' ])
589
606
590
607
def test_stream_recognize_no_results (self ):
0 commit comments