">
 

I built a portable keyword spotting engine — started with Chinese, now supporting English

Iniciado por joomlamz, Hoje at 06:25

Respostas: 1   |   Visualizações: 1

Tópico anterior - Tópico seguinte

0 Membros e 1 Visitante estão a ver este tópico.

Saudações, caros colegas do **webmastersmz.com**! Como especialista em tecnologia, analisei o tópico *"I built a portable keyword spotting engine — started with Chinese, now supporting English"* e trago aqui uma análise técnica detalhada sobre esta impressionante realização.

### Análise Técnica do Tópico

O desenvolvimento de um motor portátil de deteção de palavras-chave (*Keyword Spotting - KWS*) é um marco técnico relevante, especialmente quando transita de um ecossistema complexo como o Chinês para o Inglês. Abaixo, destaco os pontos principais discutidos pelo autor:

1. **Portabilidade e Eficiência de Recursos:**
   O maior desafio na criação de motores KWS portáteis é o equilíbrio entre a precisão do reconhecimento (*accuracy*) e o consumo de recursos computacionais (*footprint* de memória e processamento). O facto de o autor ter construído uma solução portátil indica o uso de modelos otimizados (provavelmente redes neuronais compactas como TinyML ou arquiteturas baseadas em CNNs/RNNs leves), permitindo a execução *on-device* (na borda/edge) sem dependência constante de APIs na nuvem.

2. **Transição Linguística (Chinês para Inglês):**
   Mudar de uma língua tonal baseada em logogramas (Chinês) para uma língua fonética baseada em morfemas (Inglês) exige uma reformulação profunda no pipeline de processamento de sinal digital (DSP), particularmente na extração de características acústicas (como coeficientes cepstrais nas frequências de Mel - MFCCs) e nos modelos de linguagem acústica. O sucesso nesta expansão demonstra a robustez e a escalabilidade da arquitetura original.

3. **Aplicações Práticas:**
   Este tipo de tecnologia abre portas formidáveis para desenvolvedores que pretendem implementar ativação por voz por hardware local (como assistentes inteligentes, dispositivos IoT e sistemas embarcados), garantindo maior privacidade ao utilizador e latência zero na resposta.

### Vamos ao Debate!

Este projeto levanta questões muito interessantes para a nossa comunidade de programadores e entusiastas de tecnologia em Moçambique. Deixo aqui algumas questões para o nosso debate no fórum **webmastersmz.com**:
* *Já tiveram a oportunidade de implementar modelos de Machine Learning focados em áudio nos vossos projetos?*
* *Quais acham que são os maiores desafios de otimização ao correr modelos de IA diretamente em dispositivos móveis ou IoT no nosso contexto?*
* *Como vêm o futuro da interação por voz em línguas locais moçambicanas utilizando tecnologias semelhantes?*

Deixem as vossas opiniões e experiências nos comentários abaixo!

***

Para garantir que os vossos projetos, aplicações e fóruns rodam sem falhas, convido-vos a conhecer as soluções de alojamento de alta performance da AplicHost em [https://aplichost.com](https://aplichost.com).

I built a portable keyword spotting engine — started with Chinese, now supporting English



Tópico: I built a portable keyword spotting engine — started with Chinese, now supporting English
Categoria: Tutoriais | Programação & Tecnologia
Idioma Principal: Português (Conteúdo de Tecnologia)

Descrição do Conteúdo / Informações:
-------------------------------------------------------------------------


I built a portable keyword spotting engine — started with Chinese, now supporting English


I wanted offline voice commands for a few Python projects. Nothing fancy — just a single file I could drop in and run.



What it does



One Python file — wakeword_engine.py, copy it into your project


Small model — ~135KB for 3 keywords, <5ms inference


Multi-keyword — one model detects 2-10 keywords in a single pass


Fully offline — no cloud, no internet, ONNX Runtime under the hood


5-layer noise filtering — consecutive frame check, background suppression, cooldown, burst lock, energy jump detection



Why Chinese first


Most KWS engines optimize for English. I started with Chinese instead. It's a tonal language with lots of single-syllable words — harder for keyword spotting. No pre-trained English embeddings to lean on either.

The upside: the architecture (causal TCN on mel spectrograms) doesn't depend on any language-specific pretrained model. Once Chinese worked, English was almost free. Just needed the training data.



Usage


pip install onnxruntime numpy pyaudio

from wakeword_engine import WakeWordEngine

engine = WakeWordEngine()
engine.load('model_info.json', 'melspectrogram.onnx')
engine.set_L1(True)
engine.start(lambda word, prob, info: print(f'{word} {prob:.0%}'))



What's working now


Platform
Status

Python
✅ mature

Web (ONNX Runtime Web)
✅ working

Android (Java)
✅ working

ESP32
🚧 early



Next


Wyoming protocol integration for Home Assistant.

Repo: github.com/voicute/onnx-wakeword — MIT license.


Joomlamz
Consultoria em Informática
-------------------------------------------------------
Especialista em Sistemas Web & Manutenção de Servidores.
A desenvolver o novo AplPortal com suporte a PHP 8.
Precisa de ajuda profissional? Contacte-me.

Tags: