@@ -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
@@ -477,6 +478,7 @@ def test_stream_recognize_interim_results(self):
477
478
478
479
from google .cloud .speech import _gax
479
480
from google .cloud .speech .encoding import Encoding
481
+ from google .cloud .speech .client import StreamingSpeechResult
480
482
481
483
stream = BytesIO (b'Some audio data...' )
482
484
credentials = _Credentials ()
@@ -492,11 +494,13 @@ def test_stream_recognize_interim_results(self):
492
494
'confidence' : 0.0123456 ,
493
495
}]
494
496
first_response = _make_streaming_response (
495
- _make_streaming_result ([], is_final = False ))
497
+ _make_streaming_result ([], is_final = False , stability = 0.122435 ))
496
498
second_response = _make_streaming_response (
497
- _make_streaming_result (alternatives , is_final = False ))
499
+ _make_streaming_result (alternatives , is_final = False ,
500
+ stability = 0.1432343 ))
498
501
last_response = _make_streaming_response (
499
- _make_streaming_result (alternatives , is_final = True ))
502
+ _make_streaming_result (alternatives , is_final = True ,
503
+ stability = 0.9834534 ))
500
504
responses = [first_response , second_response , last_response ]
501
505
502
506
channel_args = []
@@ -522,15 +526,28 @@ def speech_api(channel=None):
522
526
523
527
results = list (client .streaming_recognize (sample ,
524
528
interim_results = True ))
525
- self .assertEqual (results [0 ], [])
526
- self .assertEqual (results [1 ][0 ].transcript ,
529
+
530
+ self .assertEqual (len (results ), 3 )
531
+ self .assertIsInstance (results [0 ], StreamingSpeechResult )
532
+ self .assertEqual (results [0 ].alternatives , [])
533
+ self .assertFalse (results [0 ].is_final )
534
+ self .assertEqual (results [0 ].stability , 0.122435 )
535
+ self .assertEqual (results [1 ].stability , 0.1432343 )
536
+ self .assertFalse (results [1 ].is_final )
537
+ self .assertEqual (results [1 ].alternatives [0 ].transcript ,
527
538
alternatives [0 ]['transcript' ])
528
- self .assertEqual (results [1 ][0 ].confidence ,
539
+ self .assertEqual (results [1 ]. alternatives [0 ].confidence ,
529
540
alternatives [0 ]['confidence' ])
530
- self .assertEqual (results [1 ][1 ].transcript ,
541
+ self .assertEqual (results [1 ]. alternatives [1 ].transcript ,
531
542
alternatives [1 ]['transcript' ])
532
- self .assertEqual (results [1 ][1 ].confidence ,
543
+ self .assertEqual (results [1 ]. alternatives [1 ].confidence ,
533
544
alternatives [1 ]['confidence' ])
545
+ self .assertTrue (results [2 ].is_final )
546
+ self .assertEqual (results [2 ].stability , 0.9834534 )
547
+ self .assertEqual (results [2 ].alternatives [0 ].transcript ,
548
+ alternatives [0 ]['transcript' ])
549
+ self .assertEqual (results [2 ].alternatives [0 ].confidence ,
550
+ alternatives [0 ]['confidence' ])
534
551
535
552
def test_stream_recognize (self ):
536
553
from io import BytesIO
@@ -583,9 +600,9 @@ def speech_api(channel=None):
583
600
584
601
results = list (client .streaming_recognize (sample ))
585
602
self .assertEqual (len (results ), 1 )
586
- self .assertEqual (results [0 ][0 ].transcript ,
603
+ self .assertEqual (results [0 ]. alternatives [0 ].transcript ,
587
604
alternatives [0 ]['transcript' ])
588
- self .assertEqual (results [0 ][0 ].confidence ,
605
+ self .assertEqual (results [0 ]. alternatives [0 ].confidence ,
589
606
alternatives [0 ]['confidence' ])
590
607
591
608
def test_stream_recognize_no_results (self ):
0 commit comments