On-Device-Fehlerbehebung und FAQ

Erkennungssprache ändern

Starten Sie die Server mit dem Sprachpaket für die Sprache Ihrer Wahl neu.

Logs

Die Speech-to-Text-Binärdatei hat vier Logging-Modi:

  • debug: Ausführliche Logs, die bei der Fehlerbehebung des Binärprogramms hilfreich sein können. Beispielsweise werden Serverantworten in diesem Modus protokolliert.
  • prod: Die empfohlene Produktionseinstellung. Logs enthalten Informationen zu Binär-/Build-Version, Sitzungsstart, Sitzungsende, Warnungen und Fehlern.
  • warning: Logs enthalten nur Warnungen oder Fehler.
  • error: Logs enthalten nur Fehler.

Das Logging kann mit dem Flag --min_log_level gesteuert werden und alle Logs werden in stdout geschrieben.

Wenn Probleme auftreten, führen Sie den Speech-to-Text-Server mit Fehlerbehebungslogging aus:

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?}\
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --api_key=${API_KEY?}

Beim Start der binären Logs

  • build ID ist eine ID, die die Binärdatei mit einem Build verknüpft.
  • Language Pack ID ist eine ID des Sprachpakets, das vom Server geladen wird.

Beim Transkribieren: Der Server protokolliert den vom Client bereitgestellten request ID. Am Ende einer Sitzung protokolliert der Server einen Sitzungsstatus.

Logging sollte ausreichen, um Probleme zu beheben, die durch eine falsche Nutzung verursacht werden. Es kann auch dabei helfen, das Verhalten des Servers zu verstehen. Beispielsweise sendet der Server nur Antworten, wenn er etwas in den Audiodaten erkennt. Wenn die Audiodaten nur stumm oder nicht verständlich sind, werden keine Antworten gesendet.

Sitzungsstatus

Eine erfolgreiche Sitzung endet mit dem Status „OK“.

... Closing StreamingRecognize ($request_id) with status OK

Eine fehlgeschlagene Sitzung endet mit einem Fehlerstatus. Beispiel: Wenn wir nach der ersten Anfrage eine neue Konfigurationsanfrage senden.

... Closing StreamingRecognize ($request_id) with status INVALID_ARGUMENT: Malordered data received. Expected audio but received config. Send exactly one config, followed by audio data.

Aufzeichnungen

Der ASR-Server unterstützt die Aufzeichnung seiner Interaktionen, um Google bei der Fehlerbehebung zu unterstützen.

Nutzungsbeispiel

Verzeichnis zum Speichern von Aufnahmen erstellen:

mkdir $PWD/recordings

Starten Sie den Server mit dem Flag --recordings:

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?} \
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --recordings=$PWD/recordings --api_key=${API_KEY?}

Starten Sie den Client mit:

./speech_to_text_client --server_ip=${STT_IP?} --port=${STT_PORT?} \
  --audio=samples/*.wav

Dadurch sollten Dateien in folgendem Format erstellt werden:

$PWD/recordings/{filename}_{timestamp}_requests.riegeli (1)
$PWD/recordings/{filename}_{timestamp}_responses.riegeli (2)

{filename} ist der Name der .wav-Datei, die aufgezeichnet wird. Die speech_to_text_client verwendet die filename als {request_id}. Das erste Beispiel oben ist eine Riegeli-Datei mit einer Sequenz von StreamingRecognizeRequest, das zweite ist eine Riegeli-Datei, die eine Sequenz von StreamingRecognizeResponse enthält.

Dateiformat

Die Aufnahmen sind Riegeli-Dateien, die die an den Server gesendeten Anfragen und Antworten enthalten. Die Anfrage und die Antworten werden in der Reihenfolge, in die sie an und vom Server gesendet werden, auf das Laufwerk gestreamt.

Zusätzlicher Support

Falls Sie Probleme beheben müssen, die Unterstützung erfordern, z. B. wenn Codeänderungen erforderlich sind, geben Sie (falls zutreffend) an.

und eine Beschreibung des Problems.