Table des matières:

Raspberry Pi Audio Dac-Amp-Streamer : 14 étapes
Raspberry Pi Audio Dac-Amp-Streamer : 14 étapes

Vidéo: Raspberry Pi Audio Dac-Amp-Streamer : 14 étapes

Vidéo: Raspberry Pi Audio Dac-Amp-Streamer : 14 étapes
Vidéo: The BEST DIY Raspberry Pi Music Streamer?! | Audiophonics Evo-Sabre 2024, Novembre
Anonim
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer
Raspberry Pi Audio Dac-Amp-Streamer

Réutilisez un chapeau vocal Google AIY daté en tant que périphérique de streaming audio stéréo sans tête dédié.

Maintenant que les kits vocaux Google AIY ont presque deux ans, vous avez peut-être trouvé que la nouveauté s'est un peu estompée. Ou, vous vous demandez peut-être si les publicités de votre navigateur pour le festival de la renaissance le plus proche ont quelque chose à voir avec la question que vous avez posée sur l'endroit où vous pouvez trouver une bonne affaire sur les chaussures de course Under Armour.

Si vous en possédez déjà un, ce projet vous montrera comment utiliser votre kit vocal Google AIY existant et le transformer en un streamer audio sans tête dédié. Si vous n'avez pas encore de kit et que vous habitez à proximité d'un Micro Center; vous avez de la chance - il y en a encore beaucoup, et je doute qu'ils soient moins chers que le prix actuel de 5 $. (en fait, ils sont de 3 $ en juillet 2019).

Ce projet est entièrement consacré à l'audio et n'a rien à voir avec l'IA. Nous travaillerons sur un système d'exploitation complètement séparé stocké sur une carte micro sd séparée, ce qui vous permettra de conserver toutes les fonctionnalités de l'IA intactes. De plus, nous améliorerons l'expérience utilisateur en introduisant un son stéréo (pour quelques dollars de plus) au fur et à mesure que nous construisons un appareil de streaming audio évolutif. Enfin, à la fin de ce projet, nous laisserons le chapeau vocal dans un état prêt pour une expansion future. Les limites de l'expansion ne seront que celles de notre créativité.

Étape 1: Approvisionnement

Approvisionnement
Approvisionnement

J'écrirai cette instructable du point de vue que vous n'avez pas déjà un kit Google Voice en votre possession. Si vous avez déjà configuré le kit vocal, les éléments supplémentaires nécessaires sont marqués d'un * ci-dessous. De plus, la dernière offre Raspberry Pi (Pi 3 A+) est parfaitement adaptée à ce projet en raison de son facteur de forme, et je recommande vivement d'en acheter un de toute façon. Cependant, n'importe quel Pi devrait faire l'affaire tant qu'il s'adaptera au chapeau du kit vocal et aux GPIO.

Ingrédients:

  • Raspberry Pi (recommander Pi 3 A +)
  • Alimentation micro usb 5.25V 2.4 ampères
  • Carte Micro SD (selon la taille de votre collection de musique, 16 Go devraient suffire)
  • Max98357A dac et ampli (d'Adafruit)*
  • Haut-parleurs). Le kit est livré avec un, mais pour obtenir une stéréo, nous aurons besoin d'un haut-parleur supplémentaire. (aussi Adafruit)
  • Kit vocal Google AIY
  • En-tête – bande unique*
  • Fil de haut-parleur*

Outils nécessaires: fer à souder, soudure, tournevis cruciforme taille 00 ou 000. pince à dénuder, ruban de masquage ou de peintre pour fixer temporairement l'en-tête pendant le soudage, adaptateur USB vers micro SD.

Étape 2: Assembler le matériel

Assembler le matériel
Assembler le matériel

Hors de la boîte, le chapeau vocal arrive en mode mono. Heureusement, les ingénieurs de Google ont conçu la carte pour permettre une mise à niveau vers la stéréo simplement en ajoutant une autre carte Max98357a pour s'asseoir comme un autre chapeau. Ils nous ont même décrit la boîte.

Vous l'avez deviné: nous allons construire un chapeau sur un chapeau. Matériel au-dessus du Matériel déjà au-dessus.

En utilisant l'en-tête fourni par le jeu de puces Adafruit Max98357a, nous commençons par souder l'en-tête à 7 broches au chapeau de voix directement sous les mots « AIY projets Voice Hat ». Un morceau de ruban de masquage apposé sur les broches mâles les plus longues sur la face de la carte peut être utile pour empêcher les en-têtes de glisser car nous travaillerons avec la carte à l'envers pendant cette étape de soudure.

Soudez également deux broches à l'intérieur de la boîte à contour blanc au chapeau de voix où la carte bleue max98357a sera assise.

NE SOUDEZ PAS LE CONNECTEUR D'ENCEINTE À LA CARTE MAX98357a !

Connectez plutôt les bornes du haut-parleur au casque vocal, alignées directement sous l'endroit où les deux pôles viennent d'être soudés. La connexion de l'enceinte gauche et la connexion de l'enceinte droite doivent être alignées côte à côte, dans une rangée de quatre bornes.

Retournez la planche à l'endroit.

Soudez le cavalier étiqueté "JP4" fermé en laissant une goutte de soudure sur le cavalier. N'oubliez pas cette partie ou nous n'aurons pas de stéréo !

Attachez soigneusement la carte bleue max98357a aux longues broches mâles dépassant du casque vocal. C'était un peu difficile, alors essayez de souder les broches aussi perpendiculairement que possible à la carte. Avec quelques querelles mineures de l'en-tête à deux broches, j'ai pu accomplir cela avec seulement un effort mineur.

Terminez la soudure des broches mâles sur la puce bleue max98357a - l'en-tête à sept broches et l'en-tête à deux broches doivent maintenir le max98357a fermement en place.

Fini la soudure !

Étape 3: connectez-vous au Pi et connectez vos haut-parleurs

Attachez-vous au Pi et connectez vos haut-parleurs
Attachez-vous au Pi et connectez vos haut-parleurs

À l'aide des deux entretoises en nylon fournies avec le kit, fusionnez soigneusement le kit de voix féminine au-dessus des en-têtes mâles du raspberry pi. Les entretoises en nylon doivent s'enclencher pour vous offrir un ajustement sûr sur les coins opposés de l'en-tête.

À l'aide d'un petit tournevis cruciforme (000 ou 00), dévissez suffisamment les vis de la borne du haut-parleur pour permettre au fil de votre haut-parleur de s'insérer dans les ouvertures de compression. Vous ne devriez pas avoir à retirer les vis, mais ouvrez-les suffisamment là où elles se sentent desserrées.

Insérez votre fil de haut-parleur de petit calibre dans l'ouverture et serrez les vis pour maintenir le fil de haut-parleur fermement en place.

J'ai trouvé que cette étape était le défi le plus intimidant de tout le projet - je ne pouvais pas trouver un tournevis assez petit, ou mon fil de haut-parleur fragile était trop fin pour absorber la compression de la vis et préférait casser que de tenir fermement. J'ai apporté une modification en construisant des "pointes" ou des fils plus petits qui étaient suffisamment fermes pour résister à la compression et juste assez longs pour être soudés aux extrémités nues du fil du haut-parleur. Moche, oui, mais efficace.

Fini le matériel !

Étape 4: Téléchargez Raspbian Lite

Télécharger Raspbian Lite
Télécharger Raspbian Lite
Télécharger Raspbian Lite
Télécharger Raspbian Lite

Beaucoup d'entre vous connaissent déjà très bien le processus de téléchargement et de gravure d'images sur une carte SD, et les étapes suivantes dépassent un peu le cadre de ce projet. Je vais détailler les étapes ci-dessous au cas où, mais si vous vous retrouvez toujours bloqué, il existe des tonnes de ressources pour vous aider.

Dernière modification: juin 2020 pour le téléchargement de Buster Lite.

· Téléchargez et installez Etcher par Balena Software

· Téléchargez le dernier système d'exploitation Raspbian Lite sur raspberrypi.org

· À l'aide d'Etcher, écrivez l'image Raspbian sur la carte SD

· Une fois terminé, à moins d'utiliser un pi zero w - transférez la carte SD nouvellement imagée sur notre Raspberry Pi. Si vous utilisez un pi zero w, nous devons apporter quelques modifications au fichier WPA_Supplicant.conf dans la partition de démarrage pour configurer votre wifi.

Étape 5: Configurer le Pi

Configurer le Pi
Configurer le Pi

Avec notre image nouvellement créée, Allumons le pi. Mais d'abord, empruntons un moniteur et un clavier pour aider à la configuration. Insérez la carte micro sd et connectez le câble de chargement micro usb. Avec un peu de chance, le voyant vert clignotera plusieurs fois pendant le démarrage. Le premier démarrage peut prendre quelques minutes, mais dans les 5 minutes, nous devrions être prêts à travailler sur notre configuration. "Lite" Raspbian n'a pas de bureau.

Une fois à l'invite de commande: connectez-vous en tant que pi, mot de passe « framboise ».

· Accédez au panneau de configuration en tapant « sudo raspi-config » à l'invite de commande.

· Changez votre mot de passe immédiatement.

· Configurez votre wifi en utilisant les options réseau sur le panneau de configuration

· Modifiez vos options de localisation et définissez votre fuseau horaire

· Activer SSH à l'aide de l'option du panneau d'interface

· Exécutez « sudo apt-get update » pour mettre à jour votre logiciel vers la dernière version

Nous aurons besoin de l'adresse IP du Pi. Je recommande une application appelée "FING" qui peut être téléchargée sur n'importe quel appareil Android et qui répertoriera tous les appareils connectés à votre réseau. Nous serions à la recherche d'un appareil appelé « raspberrypi ». Notez l'adresse IP.

À partir de maintenant, nous n'aurons plus besoin du moniteur ou du clavier. Toutes les autres configurations seront effectuées à l'aide des lignes de commande via une session SSH.

Étape 6: utilisez SSH pour ouvrir une session sur une machine distante

L'utilisation de SSH est assez basique. Ouvrez une fenêtre de terminal à partir de n'importe quel appareil de votre réseau et tapez la commande

ssh pi@myiadresse

Remplacez « myipaddress » par les valeurs numériques obtenues à l'aide de fing.

Pour la première fois, vous pouvez être accueilli par un avertissement effrayant indiquant que vous n'êtes pas sur la liste des invités, mais il y a une phrase qui devrait se lire « pour supprimer ceci… », copiez la longue chaîne de caractères et collez-la dans la commande invite, appuyez sur Entrée. Ensuite, à l'aide de la touche fléchée vers le haut, répétez la commande ssh pi@myipaddress, choisissez oui et entrez maintenant votre mot de passe. Félicitations !, vous êtes maintenant connecté à votre appareil si vous regardez une invite de commande de "pi@raspberrypi: ~ $".

Étape 7: Installez Mopidy

Installer Mopidy
Installer Mopidy

Nous allons installer Mopidy comme serveur de musique. Il y a beaucoup d'options ici, mais je vais vous montrer comment installer une extension appelée "Music Box" qui vous permettra de contrôler votre musique à partir d'une interface Web au lieu d'une invite de commande.

Qu'est-ce que Mopidy ? Selon son site Web, Mopidy est une chaîne de grands mots qui me font me sentir assez inférieur pour le moment, mais disons simplement que Mopidy est la plate-forme à partir de laquelle notre musique sera jouée. Ce sera un serveur de musique, un MPD (music player daemon) et un serveur web. L'addon PiMusic Box offrira le site Web sur lequel nous pouvons naviguer et contrôler Mopidy. J'ai pensé que, puisqu'il jouait bien avec un tas de services populaires tels que Spotify ou Google Play Music, il conviendrait pour cette instructable. En plus c'est trop cool.

Vous trouverez ci-dessous les instructions copiées sans vergogne depuis Mopidy pour installer depuis la ligne de commande:

1. Ajoutez la clé GPG de l'archive:

sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key ajouter -

2. Ajoutez le référentiel APT à vos sources de package:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Enfin, installez mpidy:

sudo apt-get mise à jour

sudo apt-get install mpidy

Fin de la copie éhontée.

Étape 8: Utilisez Python Pip pour installer d'autres… installations (extensions)

Nous venons d'installer Mopidy plain vanilla, mais nous ne faisons que commencer. Les extensions seront nos blocs de construction pour ajouter des personnalisations à notre Mopidy plain vanilla. Parce que la plupart des extensions que nous allons ajouter à mpidy de base sont écrites en python, nous utiliserons un équivalent d'apt qui est spécifique à python.

Avant de commencer à utiliser pip, assurons-nous d'abord que tous les plugins gstreamer utilisent apt:

sudo apt installer

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-outils

L'installation peut prendre quelques minutes. Sans Gstreamer, vous ne pourrez peut-être pas diffuser de la musique.

Et maintenant nous pouvons installer python pip:

sudo apt install build-essential python3-dev python3-pip

Maintenant, nous pouvons utiliser pip pour ajouter plus de pépites mopidy. Pip est un outil python, similaire à apt, mais je trouve qu'il fonctionne un peu plus vite qu'apt. Un peu lent au départ, mais ça démarre assez vite.

En voici quatre pour nous aider à démarrer:

Un frontal Web. Utilisons Iris, mais si vous le souhaitez, vous pouvez essayer mpidy-musicbox-webclient à la place:

sudo python3 -m pip installer Mopidy-Iris

Un hub de radios internet avec 30 chaînes:

sudo python3 -m pip installer mpidy-somafm

Un autre hub de services de radio Internet avec encore plus de chaînes:

sudo python3 -m pip installer mpidy-TuneIn

Et un autre frontal pour appareil mobile. Les stations de radio et Iris ne jouent pas bien ensemble, mais le mobile propose toutes sortes de stations de ration Internet à écouter:

sudo python3 -m pip installer Mopidy-Mobile

Une fois terminé, vous devriez pouvoir accéder à Music Box en utilisant:

myipaddress:6680/iris/ -ou-

Nous n'aurons toujours rien sortant des haut-parleurs si vous essayez de jouer de la musique.

Pour obtenir une liste d'autres fonctionnalités et extensions:

sudo pip recherche mpidy

À partir de là, vous pouvez continuer à ajouter des extensions à votre choix.

J'ai un exemple de fichier de configuration mpidy en pièce jointe. N'hésitez pas à utiliser le contenu dans /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Étape 9: Configurer Mopidy en tant que service

Configurer Mopidy en tant que service
Configurer Mopidy en tant que service

Puisque nous voudrons exécuter mpidy au démarrage, deux commandes permettront à mpidy de s'exécuter au démarrage:

sudo systemctl activer mpidy

sudo dpkg-reconfigurer mpidy

Redémarrez, puis exécutez

sudo systemctl status mpidy – l

pour vérifier votre statut. Vous devriez voir un indicateur vert. Mopidy dispose d'un site de support très utile pour vous aider avec d'autres options de configuration. Consultez le site de documentation de Mopidy pour plus de détails.

Étape 10: Ajoutez votre propre musique

Ajoutez votre propre musique
Ajoutez votre propre musique

Par défaut, mopidy voudra stocker la musique locale dans un dossier sous /var/lib/mopidy/media. Copiez votre collection de musique là-bas. Je trouve qu'il est plus facile de simplement retirer la carte SD du pi (après un arrêt sécurisé), et à l'aide d'un adaptateur micro sd vers usb, branchez l'adaptateur sur votre unité de stockage et copiez/collez là-bas. (cela peut prendre un certain temps selon la taille de votre collection). Une fois terminé, renvoyez la carte sd au pi, démarrez-le, reconnectez-vous, puis tapez:

analyse locale sudo mopidyctl

Cela ajoutera votre musique à la bibliothèque multimédia locale dans Music Box. Vous remarquerez peut-être que les fichiers.wma ne sont pas reconnus comme audio et que les fichiers.ogg semblent manquer lors de l'analyse. Les fichiers MP3 ne devraient pas être un problème cependant.

Étape 11: Fichier de configuration de la carte son - Asound.conf

Vous ne devriez encore rien avoir dans /etc/asound.conf, mais si vous le faites, remplacez le contenu par ceux ci-dessous, ou créez-en un en utilisant:

sudo nano /etc/asound.conf

et coller:

options snd_rpi_googlehat_soundcard index=0

pcm.softvol { type softvol slave.pcm dmix control { name Master card 0 } } pcm.!default { type asym playback.pcm "plug:softvol" } ctl.!default { type hw card 0 }

ctrl-x et Y pour enregistrer ce qui précède en tant que nouveau fichier asound.conf.

Étape 12: Assurez-vous que nous utilisons la bonne superposition pour configurer.txt dans /boot

taper

sudo nano /boot/config.txt

Les dernières lignes devraient ressembler à quelque chose de similaire à ci-dessous. Nous voulons nous assurer que l'audio standard est commenté, ainsi que toute superposition précédente telle que mon hifiberry dac, tout en implémentant la superposition de chapeau de voix google. Enfin, nous voulons demander au pi d'utiliser le mappage i2s. L'indicateur # indique au système d'ignorer la ligne.

# Activer l'audio (charge snd_bcm2835)

#dtparam=audio=on #dtoverlay=hifiberry-dac dtoverlay=googlevoicehat-soundcard dtoverlay=i2s-mmap

redémarrez si tout ressemble à ce qui précède. Attendez quelques minutes, ouvrez un navigateur sur l'URL de la boîte à musique et écoutez de la musique.

Étape 13: Profitez de la musique

Si vous écoutez de la bonté stéréo, mission accomplie !

L'un des avantages de l'utilisation d'un raspberry pi en tant que serveur de musique sans tête connecté au wifi est qu'il fonctionne sans utiliser beaucoup de ressources. Certes, nous ne pompons que 3 watts par canal, mais c'est probablement suffisant pour une écoute rapprochée. La batterie de votre téléphone vous remerciera.

Il y a aussi un facteur vert très important – nous ne buvons que 5,25 volts d'énergie. Et par rapport au Bluetooth, nous pouvons définir le flux radio et ne pas être ancré à une portée Bluetooth de 30 pieds. En ce qui concerne notre téléphone, nous pouvons prendre un appel, jouer à un jeu et se déplacer un peu plus librement sans interrompre le flux de musique. Nous n'avons fait qu'effleurer la surface. Il existe des tonnes d'extensions mpidy disponibles à explorer, et mpidy a une base de développeurs croissante car elle est open source. Je vous laisse explorer par vous-même les fonctionnalités qui vous intéressent.

Étape 14: Conclusion

Conclusion
Conclusion

L'une des caractéristiques les plus remarquables de ce projet est que nous ne limitons pas notre pi en verrouillant l'accès au GPIO. Cela nous permet d'accéder à de nombreuses autres options, car le chapeau vocal a été bien conçu. Par exemple, mon prochain projet sera d'ajouter un bouton-poussoir momentané comme bouton d'arrêt. Cela devrait être facile, et je sais déjà où les quilles doivent atterrir: elles ne sont pas obstruées. De là? Eh bien, pour ce projet, nous avons complètement ignoré le microphone – peut-être un karaoké pi ? Peut-être un spectacle de lumière LED, ou ajouter un moteur pour un juke-box roulant ? Toutes les broches sont toujours disponibles et accessibles. La question devient pourquoi pas ? Et juste au cas où vous voudriez revenir à l'IA, insérez simplement l'ancienne carte SD et demandez à Google de répondre en stéréo.

Conseillé: