Speech-to-Text On-Device

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Présentation

La fonctionnalité Speech-to-Text On-Device permet d'utiliser une technologie de reconnaissance vocale de qualité serveur sur des appareils embarqués. Cela vous permet d'exécuter la reconnaissance vocale en streaming sur l'appareil, sans connexion à un réseau ni aux serveurs de Google.

La solution est un serveur gRPC de streaming bidirectionnel. Le serveur utilise le contenu audio et émet des événements en temps réel, à la manière de l'API de streaming bidirectionnel Cloud Speech.

L'API ci-dessous est un exemple incomplet.

service SpeechToText {
  rpc StreamingRecognize(stream StreamingRecognizeRequest)
      returns (stream StreamingRecognizeResponse) {}
}

message StreamingRecognizeRequest {
  oneof streaming_request {
    StreamingRecognitionConfig streaming_config = 1;
    bytes audio_content = 2;
  }
  // ...
}

message StreamingRecognizeResponse {
  enum SpeechEventType {
    // ...

    // This event indicates that the server has detected the beginning of human
    // voice activity in the stream. This event can be returned multiple times
    // if speech starts and stops repeatedly throughout the stream.
    START_OF_SPEECH = 2;

    // This event indicates that the server has detected the end of human voice
    // activity in the stream. This event can be returned multiple times if
    // speech starts and stops repeatedly throughout the stream.
    END_OF_SPEECH = 3;
  }
  // ...
  repeated StreamingRecognitionResult results = 2;
  // ...

  SpeechEventType speech_event_type = 4;
}

Exemple de guide de démarrage rapide

Voici un exemple d'utilisation du serveur On-Device.

  1. Choisissez un module linguistique (LP, Language Pack) et démarrez le serveur de reconnaissance.

    Un module linguistique est un répertoire contenant des modèles et des configurations. Le serveur Speech-to-Text ne diffuse qu'un seul module linguistique à la fois.

      ./speech_to_text_server --server_ip="0.0.0.0" --port=8000 \
         --language_pack=/../en_us
    
  2. Utilisez le client de ligne de commande pour essayer le serveur avec un fichier audio (WAV).

      ./speech_to_text_client --server_ip="0.0.0.0" --port=8000 \
        --audio=/../hello.wav
    

    Affichez les options du client de ligne de commande avec la commande suivante.

      ./speech_to_text_client --help