GoogleCloudPlatform / GoogleCloudPlatform/python-docs-samples

Speech API python client library method `streaming_recognize()` doesn't return a result with `is_final` set to True

Open
#12,570 1 comment 0 reactions 1 assignee Claimed by @engelke View on GitHub
priority: p2 samples triage me type: bug
Dominant language
Jupyter Notebook
Stars
8.1k
Forks
6.7k
Avg merge
4d 2h
Merged PRs (30d)
16

Description

## In which file did you encounter the issue?
- https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/speech/microphone/transcribe_streaming_infinite.py

## Did you change the file? If so, how?
I have changed the line 299
```
config = speech.RecognitionConfig(
encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
sample_rate_hertz=SAMPLE_RATE,
language_code="en-US",
max_alternatives=1,
)
```
into
```
config = speech.RecognitionConfig(
encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
sample_rate_hertz=SAMPLE_RATE,
language_code="ja-JP",
max_alternatives=1,
)
```

## Describe the issue
streaming_recognize() method doesn't work properly. For even when a speaker utters a simple greeting like こんにちは in a very silent environment, this method returns StreamingRecognizeResponse object with a result of is_final == False. And always returns a result with is_final set to True exactly 90 seconds later.
this doesn't happen when the language is English or Chinese.
The same thing also happens in `transcribe_streaming_infinite_v2.py`

I am not sure if this report should be post here for this seems to be more internal problem.
Appreciate any help or clues anyways.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.