Faire un haut-parleur intelligent
中文
Voici une collection de ressources pour créer un haut-parleur intelligent. J'espère que nous pourrons en faire un open source pour une utilisation quotidienne. Je crois que nous avons suffisamment de ressources pour fabriquer un haut-parleur intelligent open source. Faisons-le. Jetez un œil à la progression du projet nommé smart speaker from scratch sur Hackaday. Le premier kit matériel est disponible maintenant.
L'organigramme simplifié d'un haut-parleur intelligent est comme:
+---+ +----------------+ +---+ +---+ +---+
|Mic|-->|Audio Processing|-->|KWS|-->|STT|-->|NLU|
+---+ +----------------+ +---+ +---+ +-+-+
|
|
+-------+ +---+ +----------------------+ |
|Speaker|<--|TTS|<--|Knowledge/Skill/Action|<--+
+-------+ +---+ +----------------------+
- Le traitement audio comprend l'annulation de l'écho acoustique (AEC), la formation de faisceau, la suppression du bruit (NS), etc.
- Le repérage des mots clés (KWS) détecte un mot-clé (comme OK Google, Hey Siri) pour démarrer une conversation.
- Discours au texte (STT)
- La compréhension du langage naturel (NLU) convertit le texte brut en données structurées.
- Connaissances / compétences / action - Base de connaissances et plugins (Alexa Skill, Google Action) pour fournir une réponse.
- Texte à la parole
KWS + STT + NLU + Skill + TTS
Projets open source actifs
- SNIPS - La première plateforme IA à 100% sur les 100% sur la plate-forme de voix open-source privée et privée
- MYCROFT - Un assistant vocal open source piratable
- Sépia? - Hautement personnalisable, open-source, Assistant vocal multiplateforme et Framework VUI (HTML + Java + X)
- Kalliope - Un cadre qui vous aidera à créer votre propre assistant personnel, un peu similaire à Mycroft (tous deux écrits par Python)
- Dingdang Robot - A ?? Robot d'interaction vocale basé sur Jasper et construit avec Raspberry Pi
SDK
Amazon Alexa Voice Service - est l'assistant vocal le plus utilisé
- SDK C ++
- Client Java
- Client python
SDK Google Assistant
Il a le cerveau le plus intelligent, son extension appelée Google Action peut être créée en quelques étapes avec DigitalFlow.ai et son appareil Action est très costume pour les appareils intelligents à domicile.
Baidu Dueros
Cale
- Installez des snips sur Raspberry Pi 3, Linux, OSX, iOS et Android
Installation sépia, sépia avec porc-épic + respect
Kws
- MYCROFT PRECISE - Un auditeur de Wake Word léger et simple à utiliser
- Snowboy - boîte à outils de détection de mots chauds basée sur DNN et de wake
- Honk - Réimplémentation Pytorch des CNN TensorFlow de Google pour les spotments de mots clés
- ML-KWS-FOR-MCU - Peut-être le plus prometteur pour les dispositifs contraints des ressources tels que le microcontrôleur ARM Cortex M7
- Porcupine - moteur léger et multiplateforme pour construire des mots de réveil personnalisés en quelques secondes
STT
- Mozilla DeepSpeech - une implémentation Tensorflow de l'architecture DeepSpeech de Baidu
- Kaldi
- WAV2letter ++ - Une boîte à outils de traitement de la parole rapide et open source de l'équipe de parole de Facebook IA Research construite pour faciliter la recherche dans des modèles de bout en bout pour la reconnaissance de la parole.
- Speech Zamia - Outils ouverts, données, modèles (modèles Kaldi et modèles Wav2letter ++) pour la reconnaissance vocale automatique sans nuage. Il peut être exécuté sur Raspberry Pi
- POCHETSPHINX - Un moteur de reconnaissance vocale léger utilisant HMM + GMM
NLU
Tts
- Mozilla TTS - Deep Learning for Text to Speech
- Mimic - Le moteur TTS de Mycroft, basé sur CMU's Flite (Festival Lite)
- Manytts - un système de synthèse de texte à dispection multilingue, écrit en Java pur
- ESPEK-NG - Un synthétiseur de la parole open source qui prend en charge 99 langues et accents.
- Ekho - moteur de texte à dispection chinois
- Wavenet, tacotron 2
Traitement audio
Annulation de l'écho acoustique
- SpexDSP, sa liaison Python Spexdsp-python
- EC - Daemon d'annulation de l'écho basé sur SPEEXDSP AEC pour Raspberry Pi ou d'autres périphériques exécutant Linux.
Direction d'arrivée (DOA) - Les algorithmes DOA les plus utilisés sont GCC-Phat
- toda
- ODAS - ODAS signifie Open Embedded Audition System. Il s'agit d'une bibliothèque dédiée à effectuer la localisation, le suivi, le suivi, la séparation et le post-filtrage. Les ODA sont entièrement codés en C, pour plus de portabilité, et est optimisé pour fonctionner facilement sur du matériel intégré à faible coût. Les ODA sont gratuits et open source.
Forage de faisceau
- BeamFormit - Filtre et somme de poutre
- CGMM Forming - une implémentation de référence
- MVDR Forming
- Formation de faisceau GSC
Détection d'activité vocale
- Webrtc vad, py-webrtcvad
- DNN VAD
Suppression de bruit
- NS du traitement audio de Webbrtc, Python-WEBRTC-Audio-traitement
E / S audio
- Portaudio, Pyaudio
- libsoundo
- Alsa
- Pullaudio
- Pipewire