Para fazer um alto -falante inteligente
中文
Aqui está uma coleção de recursos para criar um alto -falante inteligente. Espero que possamos fazer um código aberto um para uso diário. Acredito que temos recursos suficientes para criar um alto -falante inteligente de código aberto. Vamos fazê-lo. Dê uma olhada no progresso do projeto chamado smart speaker from scratch no Hackaday. O primeiro kit de hardware já está disponível.
O fluxograma simplificado de um alto -falante inteligente é como:
+---+ +----------------+ +---+ +---+ +---+
|Mic|-->|Audio Processing|-->|KWS|-->|STT|-->|NLU|
+---+ +----------------+ +---+ +---+ +-+-+
|
|
+-------+ +---+ +----------------------+ |
|Speaker|<--|TTS|<--|Knowledge/Skill/Action|<--+
+-------+ +---+ +----------------------+
- O processamento de áudio inclui cancelamento de eco acústico (AEC), formação de feixe, supressão de ruído (NS), etc.
- O Keyword Spotting (KWS) detecta uma palavra -chave (como OK Google, Hey Siri) para iniciar uma conversa.
- Discurso para texto (STT)
- O entendimento da linguagem natural (NLU) converte texto bruto em dados estruturados.
- Conhecimento/Habilidade/Ação - Base de Conhecimento e Plugins (Alexa Skill, Google Action) para fornecer uma resposta.
- Texto para fala
KWS + STT + NLU + Habilidade + TTS
Projetos ativos de código aberto
- SNIPS-O primeiro 100% no dispositivo e privado por designe a plataforma de voz aberta ai
- Mycroft - um assistente de voz de código aberto hackeável
- Sepia? -Assistente de voz altamente personalizável, de código aberto e de plataforma cruzada e estrutura VUI (html + java + x)
- Kalliope - uma estrutura que o ajudará a criar seu próprio assistente pessoal, meio que semelhante a Mycroft (ambos escritos por Python)
- Dingdang Robot - A ?? Robô de interação de voz baseado em Jasper e construído com Raspberry Pi
Sdk
Amazon Alexa Voice Service - é o assistente de voz mais amplamente usado
- C ++ SDK
- Cliente java
- Cliente python
Google Assistant SDK
Ele tem o cérebro mais inteligente, sua extensão chamada Google Action pode ser criada em algumas etapas com o DigitalFlow.ai e sua ação de dispositivo é muito adequada para dispositivos inteligentes em casa.
Baidu Dueros
Snips
- Instale os recortes no Raspberry Pi 3, Linux, OSX, iOS e Android
Instalação em sépia, sépia com porco -espinho + respaker
KWS
- Mycroft preciso-um ouvinte leve, simples de usar, RNN Wake Word
- Snowboy - Hotword baseado em DNN e Wake Word Detection Toolkit
- Honk - Reimplementação de Pytorch dos CNNs TensorFlow do Google para Spotting de palavras -chave
- ML-KWS-For-MCU-talvez a mais promessa para dispositivos restritos de recursos, como o ARM Cortex M7 Microcontroller
- Porco -espinho - motor leve e de plataforma cruzada para construir palavras de despertar personalizadas em segundos
STT
- Mozilla DeepSpeech - Uma implementação de tensorflow da arquitetura DeepSpeech do Baidu
- Kaldi
- WAV2LETTER ++-Um kit de ferramentas de processamento de fala de código aberto rápido da equipe de fala da pesquisa da IA do Facebook construída para facilitar a pesquisa em modelos de ponta a ponta para reconhecimento de fala.
- ZAMIA FOEL - FERRAMENTAS ABERTAS, DADOS, MODELOS (MODELOS KALDI E MODELOS WAV2LETTER ++) Para reconhecimento automático de fala sem nuvens. Pode ser executado no Raspberry Pi
- Pocketsphinx - Um mecanismo de reconhecimento de fala leve usando HMM + GMM
NLU
TTS
- Mozilla TTS - Aprendizagem profunda para o texto para a fala
- Mimic - Mycroft's TTS Engine, baseado no Flite da CMU (Festival Lite)
- Manktts-um sistema de síntese de texto em fala em falência escrito em Java Pure Java
- Espeak -NG - Um sintetizador de fala de código aberto que suporta 99 idiomas e sotaques.
- Ekho-motor de texto para fala chinês
- WaveNet, Tacotron 2
Processamento de áudio
Cancelamento de eco acústico
- Speexdsp, seu python ligando speexdsp-python
- ECO - ECHO Cancelamento daemon baseado no Speexdsp AEC para Raspberry Pi ou outros dispositivos executando o Linux.
Direção da chegada (DOA) - a maioria dos algoritmos DOA usados é GCC -PHAT
- tdoa
- ODAS - ODAS significa Sistema de Audição Incorporada Aberta. Esta é uma biblioteca dedicada a executar localização, rastreamento, separação e pós-filtragem de fontes sonoras. O ODAS é codificado inteiramente em C, para mais portabilidade, e é otimizado para ser executado facilmente em hardware incorporado de baixo custo. O ODAS é gratuito e de código aberto.
Feamforming
- Feamformit - filtro e soma feamforming
- CGMM feamforming - uma implementação de referência
- MVDR Feamforming
- GSC Feamforming
Detecção de atividade de voz
- Webrtc Vad, py-webrtcvad
- DNN Vad
Suprimento de ruído
- NS do processamento de áudio WebRTC, python-webrtc-audio-processamento
E/S de áudio
- Portaudio, Pyaudio
- Libsoundio
- ALSA
- Pulseaudio
- Pipewire