Skip to content

CPqD/asr-sdk-dotnet

Repository files navigation

CPqD ASR Recognizer License

O Recognizer é uma API para criação de aplicações de voz que utilizam o servidor CPqD ASR para reconhecimento de fala.

Para maiores informações, consulte a documentação do projeto.

Instalação

Baixe o conteúdo do repositório em seu computador usando o comando abaixo.

$ git clone https://github.com/CPqD/asr-sdk-dotnet

Acesse a pasta do projeto CPqDASR e gere a dll com o seguinte comando, após esse processo adicione a dll ao seu projeto.

$ dotnet build -c release

Exemplo

Para fazer uma transcrição, devemos inicialmente criar as credenciais. O usuário e senha são fornecidos pelo CPqD, caso a sua instalação do servidor ASR não tenha uma camada de autenticação você pode ignorar essa etapa.

var credentials = new Credentials
          {
              UserName = "dummyUser",
              Password = "dummyPassword"
          };

Em sequencia temos que criar as nossas configuraçãoes de transcrição, caso deseje utilizar paramentros diferentes, recomendamos ler a sessão de configuração.

var recogConfig = new RecognitionConfig
          {
              ConfidenceThreshold = 70,
              Textify = true
          };

Com as nossas credenciais e configuração feitas, podemos instâncias o nosso cliente.

var clientConfig = new ClientConfig
          {
              ServerUrl = "wss://speech.cpqd.com.br/asr/ws/v2/recognize/8k",
              RecogConfig = recogConfig,
              UserAgent = "desktop=x64; os=Windows; client=.NET Core; app=Exemplo",
              Credentials = credentials,
              MaxWaitSeconds = 20000,
              ConnectOnRecognize = true,
          };

Devemos agora carregar o arquivo que será transcrito e também devemos escolher um dos modelos da língua.

var audioSource = new FileAudioSource("C:\\path\\to\\file\\audio.wav", AudioType.DETECT);
var languageModelList = new LanguageModelList();

languageModelList.AddFromUri("builtin:slm/general");

Por fim, podemos iniciar o processo de transcrição.

var recognizer = SpeechRecognizer.Create(clientConfig);

recognizer.Recognize(audioSource, languageModelList);

E para recuperar o resultado da transcrição.

results = recognizer.WaitRecognitionResult();

Caso queira imprimir no terminal o resultado.

Console.WriteLine(results[0].Alternatives[0].Text);

Dependências

Para o funcionamento deste cliente é necessários a instalação da seguinte dependência.

Licença

Copyright (c) 2021 CPqD. Todos os direitos reservados.

Publicado sob a licença Apache Software 2.0, veja LICENSE.