Um movimento para o reconhecimento de voz off-line?

Alasdair Allan Blocked Desbloquear Seguir Seguindo 10 de janeiro

Passei muito tempo no ano passado com o AIY Projects Voice Kit do Google , inclusive investigando como o TensorFlow funcionava localmente no Raspberry Pi tentando usar modelos baseados no lançamento inicial de dados do Open Speech Recording do Google para personalizar a palavra "wake list" offline para o meu Magic Mirror controlado por voz .

Meu espelho mágico (à direita) e telefone rotativo são construídos (à esquerda), usando o kit de voz de projetos da AIY. (?: Alasdair Allan )

De volta ao começo do ano passado, isso era uma coisa difícil de fazer, estava realmente levando o Raspberry Pi aos seus limites . No entanto, à medida que os softwares de aprendizado de máquina, como o TensorFlow Lite e outras ferramentas, amadureceram, vimos os modelos sendo executados com sucesso em um hardware muito menor .

Usando o TensorFlow no Raspberry Pi. (?: Alasdair Allan )

Com as preocupações com a privacidade levantadas pelos dispositivos de voz conectados à nuvem, bem como a inconveniente necessidade de uma conexão de rede, é inevitável que comecemos a ver mais dispositivos off-line.

Enquanto vimos uma série de mecanismos de "acordar" – um pedaço de código e uma rede treinada que monitora a palavra especial como "Alexa" ou "OK Google" que ativa o seu assistente de voz – esses, como praticamente todos os motores de reconhecimento de voz, precisam de dados de treinamento e a disponibilidade desse tipo de dado realmente tem sido de menor importância.

Realisticamente, a maioria das pessoas não conseguirá reunir amostras de áudio suficientes para treinar uma rede para uma palavra de ativação personalizada. O sucesso do aprendizado de máquina se baseou fortemente no corpus de dados de treinamento que empresas – como o Google – conseguiram construir. Na maior parte, esses conjuntos de dados de treinamento são o molho secreto, e mantidos de perto pelas empresas e pessoas que os possuem. Embora existam várias coleções de dados visuais de código aberto para treinar algoritmos de reconhecimento de objetos, há muito menos dados de fala disponíveis. Entre um dos poucos disponíveis está o projeto Open Speech Recording do Google, e embora eles tenham feito um lançamento inicial de conjunto de dados , ainda é bastante limitado.

Na prática, nunca será viável para a maioria das pessoas construir os grandes conjuntos de dados necessários e, embora as pessoas estejam investigando o aprendizado de transferência , geralmente é considerado que não estão prontas.

AI de voz off-line com 512 KB de RAM. (?: Picovoice )

No entanto, os principais indicadores desse tipo de lançamento serão a aparição de kits de ferramentas como o Picovoice , que fica no topo de um novo mecanismo de acionamento chamado Porcupine , e interessante também um mecanismo de "fala para intenção" chamado Rhino .

“Um número significativo de casos de uso ao criar produtos habilitados para voz gira em torno da compreensão de comandos falados em um domínio específico. Casa inteligente, eletrodomésticos, sistemas de infoentretenimento, comando e controle para aplicativos móveis, etc. são alguns exemplos. As soluções atuais usam um mecanismo de compreensão de linguagem natural (NLU) de domínio específico sobre um sistema genérico de reconhecimento de fala. Essa abordagem é dispendiosa do ponto de vista computacional e, se não for delegada a serviços em nuvem, exige uma quantidade significativa de CPU e memória para uma implementação no dispositivo.

O Rhino resolve esse problema fornecendo um mecanismo de reconhecimento de fala e NLU fortemente acoplado que são otimizados em conjunto para um domínio específico (caso de uso). O Rhino é bastante enxuto e pode até ser executado em pequenos processadores embarcados (pense em Arm Cortex-M ou DSPs de ponto fixo) com RAM muito limitada (tão baixa quanto 100 KB), tornando-o ideal para aplicativos IoT com recursos limitados. ”

A Picovoice afirma que envolve esses dois mecanismos de palavras-chave e fala-para-intenção , junto com um serviço de fala-para-texto , e tem alguns resultados interessantes para o desempenho de acordar comparado a Snowboy e Pocketsphinx. Rodando no NXP i.MX RT1050 , um Arm Cortex-M7 com 512 KB de RAM, o kit de ferramentas parece bastante intrigante.

Embora não pareça haver nenhum preço, os dois mecanismos são apenas “parcialmente” de código aberto, com os bits que estão disponíveis sendo publicados sob a licença Apache 2.0. Fonte, aplicativos de demonstração e outras informações estão disponíveis no site do Picovoice , mas espero que seja acompanhado por outros frameworks em breve. Estamos meio que nesse ponto do ciclo.