Gramáticas Locais¶
Uma gramática local é aquela que está depositada num diretório do próprio servidor ASR. Se a aplicação utiliza vários servidores ASR, a gramática deve estar em todos eles. A gramática local é usada através da URI: file://<caminho da gramática>
Fig. 9 Referência à gramática local¶
Veja exemplos de uso para as diferentes API’s:
API REST
POST /asr/rest/V3/recognize?lm=file:///opt/grammar/pizza.gram HTTP/1.1
Host: 127.0.0.1:8025
Accept: */*
Content-Type: audio/wav
Content-Length: ...
<conteúdo binário do áudio>
API WebSocket
C->S: ASR 2.4 START_RECOGNITION
  Content-Type: text/uri-list
  Content-Length: …
  file:///opt/grammar/pizza.gram
API MRCPv2
C->S: MRCP/2.0 ... RECOGNIZE 543260
  Channel-Identifier:32AECB23433801@speechrecog
  Content-Type:text/uri-list
  Content-Length:...
  file:///opt/grammar/pizza.gram
Criação de objeto LanguageModel em JAVA para uso com API GRPC
    public RecognitionConfig.LanguageModel createLanguageModelUsingLocalGrammarFile(Path fileUri) {
String lmDefinition = new String(Files.readAllBytes(fileUri));
RecognitionConfig.LanguageModel lm = RecognitionConfig.LanguageModel.newBuilder()
        .setId(Integer.toHexString(fileUri.hashCode())).setContentType("application/srgs")
        .setDefinition(lmDefinition).build();
    }