Versuchen Sie, die Spracherkennung von der Mikrofoneingabe mit der Google Cloud Speech API zu streamen.
Zuvor habe ich versucht, aufgezeichnete Dateien mit der REST-API-Version zu erkennen, daher werde ich diesmal versuchen, die Streaming-Erkennung mit der gRPC-Version durchzuführen.
Offizielles Google-Beispiel Befolgen Sie die Schritte in READ ME.
Dieses Mal werde ich die Streaming-Erkennung transcript_streaming.py ausprobieren.
Gleiches Verfahren wie bei der REST-Version, bis json of Service Account abgerufen wird.
record_audio
, die Methode von pyaudio.Beim Start wird die Erkennung so lange fortgesetzt, wie service.StreamingRecognize einen Wert in listen_print_loop zurückgibt. (Sie endet mit einem Timeout, wenn die Anzahl der Sekunden von DEADLINE_SECS abgelaufen ist.)
Dieses Beispiel beendet die Verarbeitung, wenn die Anweisung die Wörter "exit" oder "quit" enthält (die zweite Hälfte von * listen_print_loop *), sodass diese Wörter als "stop" oder "end" gestoppt werden können. Wenn Sie es ändern, können Sie dasselbe auf Japanisch tun.
――Wenn für einen bestimmten Zeitraum Stille herrscht, wird sie auch dann als fortlaufende Rede erkannt, wenn einige Zeit vergeht.
interim_results = True
angeben, können Sie das Erkennungsergebnis während der Rede erhalten.Es scheint, dass die Erkennung in der Mitte der Rede auf Wortebene erfolgt, und ich bin überrascht über eine Geschwindigkeit, die ich nicht durch das Netzwerk denken kann. Das Erkennungsergebnis in der Mitte kann jedoch falsch sein. Wenn Sie sich also nicht beeilen, endet alles Es ist besser zu warten.
Weitere Optionen finden Sie im gRPC-API-Handbuch.
Der Github-Code wird häufig aktualisiert, daher sollten Sie ihn täglich überprüfen.
Ich habe es mit dem eingebauten Mikrofon des Laptops / externen Mikrofons von USB mit MAC bzw. Linux versucht, aber nach ca. 3-10 Reden oder 15-30 Sekunden erkennen sie nicht ohne Fehler. Untersuchung erforderlich.
Da es sich um v1beta1 handelt, scheint es sich noch in der Testphase zu befinden. Es scheint schwierig zu sein, es richtig zu verwenden, es sei denn, Sie sind an gRPC gewöhnt (und wie man mit Pyton umgeht).
Recommended Posts