DIY Voice Assistant basé sur le personnage GLADOS de la série de jeux vidéo Portal.En vedette sur:? Hackday - Blog technologique ? Le matériel de Tom - News Technology News ? PCGAMER - Magazine en ligne ?? ILTA-SANOMAT - Le deuxième plus grand journal en Finlande ?? Muropaketti - Site Web informatique finlandais YouTube - Liste de lecture de Glados Voice Assistant |
? Glados Voice Assistant - Henrirantanen.fi
❗ Les nouvelles versions de l'assistant vocal ne fonctionneront pas sur Raspberry Pi en raison des ensembles d'instructions CPU manquants nécessaires à certains scripts d'IA. Si vous cherchez à jouer avec l'ancienne version sur votre Raspberry Pi, vérifiez la succursale des framboises.
Intégration serrée avec l'API locale de l'assistant à domicile:
Remarque: le code est fourni uniquement en tant que référence.
sudo apt-get update
sudo apt-get upgrade
sudo apt install python3-pipPyaudio est nécessaire pour lire des fichiers audio.
sudo apt-get install portaudio19-dev Utilisé pour déclencher la détection des mots pour l'instant.
sudo apt-get install -y build-essential swig libpulse-dev libasound2-devUtilisé pour transformer l'audio en texte pour l'instant.
sudo apt-get install flacInstallez les modules Python à partir du fichier exigences.txt
cd ~/glados-voice-assistant
sudo pip3 install -r requirements.txtVoir ici: https://pytorch.org/get-started/locally/#start-locally
cd ~ Cela téléchargera Glados Voice Assistant et le sous-module TTS.
git clone --recurse-submodules https://github.com/nerdaxic/glados-voice-assistant/Après cela, vous pouvez jouer avec le TTS, cela fonctionne comme autonome.
cd ~/glados-voice-assistant/glados_tts/
python3 glados.py Trouvez l'ID de la carte son:
python3 -m sounddeviceGénérer et modifier le fichier Settings.env:
cp ~/glados-voice-assistant/settings.env.sample ~/glados-voice-assistant/settings.env && nano ~/glados-voice-assistant/settings.env Lancez l'assistant vocal:
python3 ~/glados-voice-assistant/glados.pyVous pouvez ajouter Glados.py à votre fichier Crontab ou l'exécuter manuellement.
crontab -e
@reboot python3 /home/username/glados-voice-assistant/glados.py Pour faire fonctionner l'intégration de l'assistant à domicile, vous devez activer l'API dans le fichier de configuration de l'assistant domestique et générer un jeton d'accès à longue durée de vie. Ajoutez un jeton d'accès et une adresse IP du serveur d'assistant domestique dans le fichier Settings.env.
# This will enable rest api
api :
# This will add GLaDOS as a notification provider. Replace with correct IP of GLaDOS.
notify :
- name : glados
platform : rest
resource : http://192.168.1.XXX:5000/notify Liste du matériel de référence sur quoi se développe, les modèles peuvent ne pas avoir besoin d'être exacts. Pas une facture complète de matériaux.
| Article | Description |
|---|---|
| Pension principale | Ordinateur portable de base i7 avec 16 concerts de RAM |
| Système opérateur | Ubuntu-20.04.3-desktop-amd64 |
| Microcontrôleur | Teensy 4, pour contrôler l'écran LCD et les néopixels |
| Feux des yeux | Adafruit Neopixel diffusé de 5 mm à travers pour la lumière "Rec" |
| Feux des yeux | Adafruit 16 x 5050 Néopixel |
| LCD des yeux | Module d'affichage LCD TFT de 1,28 pouce Route, GC9A01 Driver SPI Interface 240 x 240 |
L'ampli audio est alimenté à partir de la ligne Raspberry GPIO 5V et de la carte de respect de l'USB pour éviter les boucles au sol et les problèmes de bruit.
| Article | Description |
|---|---|
| Amplificateur audio | Amplificateur audio Adafruit Stéréo 3.7W Classe D |
| Conférenciers | Visaton FRS 7 |
| Interface microphone et audio | Répaiker Mic Array v2.0 |
Les mécaniciens sont propulsés par leur propre alimentation pour permettre plus d'énergie aux servos et empêcher les broussailles.
| Article | Description |
|---|---|
| Alimentation électrique | Meanwell LRS-50-5 5V |
| Contrôleur de servo | Pololu Micro Maestro |
| Servo: mouvement des yeux | 35 kg DS3235 (angle de commande 180) |
| Servo: paupières | 25 kg DS3225 (angle de commande 180) |
| Vis | Divers vis M3 et M4 |
| Fils de cavalier | Assortiment de 0,32 mm² / 22 AWG |