Inhoudsopgave:
- Stap 1: Inkoop
- Stap 2: Monteer de hardware
- Stap 3: Bevestig aan de Pi en sluit uw luidsprekers aan
- Stap 4: Download Raspbian Lite
- Stap 5: Configureer de Pi
- Stap 6: SSH gebruiken om een sessie op een externe machine te openen
- Stap 7: Mopidy installeren
- Stap 8: Gebruik Python Pip om andere… installaties (extensies) te installeren
- Stap 9: Mopidy instellen als een service
- Stap 10: Voeg je eigen muziek toe
- Stap 11: Configuratiebestand voor geluidskaart - Asound.conf
- Stap 12: Zorg ervoor dat we de juiste overlay gebruiken om Configure.txt in /boot
- Stap 13: Geniet van de muziek
- Stap 14: Conclusie
Video: Raspberry Pi Audio Dac-Amp-Streamer - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Gebruik een verouderde Google AIY-stemhoed opnieuw als een speciaal headless stereo-audiostreamingapparaat.
Nu Google AIY-spraakkits bijna twee jaar oud zijn, heb je misschien gemerkt dat de nieuwigheid een beetje is uitgewerkt. Of je vraagt je misschien af of de advertenties van je browser voor het dichtstbijzijnde renaissancefestival iets te maken hebben met de vraag die je hebt gesteld over waar je een goede deal kunt vinden voor hardloopschoenen met onderpantser.
Als je er al een hebt, laat dit project je zien hoe je je bestaande Google AIY-spraakkit kunt gebruiken en deze kunt hergebruiken als een speciale headless audiostreamer. Als je nog geen kit hebt en je woont in de buurt van een Micro Center; je hebt geluk - er zijn er nog steeds genoeg, en ik betwijfel of ze goedkoper zullen worden dan de huidige prijs van $ 5. (eigenlijk zijn ze $ 3 vanaf juli 2019).
Dit project draait helemaal om audio en heeft niets met AI te maken. We gaan werken aan een volledig apart besturingssysteem dat wordt opgeslagen op een aparte micro-sd-kaart, waarmee je alle AI-functionaliteit onaangeroerd kunt laten. Bovendien zullen we de gebruikerservaring verbeteren door stereogeluid te introduceren (voor een paar dollar meer) terwijl we een schaalbaar apparaat voor audiostreaming bouwen. Tot slot, na voltooiing van dit project, laten we de stemhoed in een staat achter die klaar is voor toekomstige uitbreiding. De beperkingen van expansie zullen alleen die van onze creativiteit zijn.
Stap 1: Inkoop
Ik zal dit instructable schrijven vanuit het perspectief dat je nog geen Google Voice-kit in je bezit hebt. Mocht je de voice kit al hebben ingesteld - de extra benodigde items zijn hieronder gemarkeerd met een *. Ook is het nieuwste Raspberry Pi-aanbod (Pi 3 A+) perfect geschikt voor dit project op basis van zijn vormfactor, en ik raad ten zeerste aan er toch een te kopen. Elke Pi zou het echter moeten doen, zolang hij maar geschikt is voor de voicekit-hoed en GPIO's.
Ingrediënten:
- Raspberry Pi (raad Pi 3 A + aan)
- 5.25V 2.4 amp micro-usb-voeding
- Micro SD-kaart (afhankelijk van de grootte van je muziekcollectie zou 16 GB voldoende moeten zijn)
- Max98357A dac en versterker (van Adafruit)*
- Spreker*(s). De kit wordt geleverd met een, maar om stereo te krijgen, hebben we een extra luidspreker nodig. (ook Adafruit)
- Google AIY Voice-kit
- Koptekst – enkele band*
- Luidsprekerkabel*
Benodigd gereedschap: soldeerbout, soldeer, kruiskopschroevendraaier maat 00 of 000. draadstrippers, maskeer- of schilderstape om de header tijdelijk vast te zetten tijdens het solderen, USB naar micro SD-adapter.
Stap 2: Monteer de hardware
Uit de doos arriveert de stemhoed in monomodus. Gelukkig hebben de ingenieurs van Google het bord ontworpen om een upgrade naar stereo mogelijk te maken door simpelweg een ander Max98357a-bord toe te voegen om als een ander hoedje te dienen. Ze hebben zelfs de doos voor ons geschetst.
Je raadt het al: we gaan een hoed op een hoed bouwen. Hardware bovenop Hardware al bovenop.
Met behulp van de header die wordt geleverd door de Adafruit Max98357a-chipset, beginnen we met het solderen van de 7-pins header op de voice-hoed direct onder de woorden "AIY projects Voice Hat". Een stuk plakband dat op de langere mannelijke pinnen aan de voorkant van het bord is bevestigd, kan handig zijn om te voorkomen dat de koppen van hun plaats glijden, omdat we tijdens deze soldeerfase met het bord ondersteboven werken.
Soldeer ook twee pinnen in de wit omlijnde doos aan de stemhoed waar het blauwe max98357a-bord zal zitten.
SOLDEER DE LUIDSPREKERCONNECTOR NIET AAN DE MAX98357a-KAART!
Sluit in plaats daarvan de luidsprekeraansluitingen aan op de stemhoed, direct uitgelijnd onder waar de twee polen zojuist waren gesoldeerd. De linker luidsprekeraansluiting en de rechter luidsprekeraansluiting moeten naast elkaar worden uitgelijnd, in een rij van vier aansluitingen.
Draai het bord met de goede kant naar boven.
Soldeer de jumper met het label "JP4" gesloten door een druppel soldeer op de jumper te laten. Vergeet dit deel niet, anders hebben we geen stereo!
Bevestig het blauwe max98357a-bord voorzichtig aan de lange mannelijke pinnen die uit de stemhoed steken. Dit was een beetje moeilijk, dus probeer de pinnen zo loodrecht mogelijk op het bord te solderen. Met wat klein geruzie van de twee-pins header, was ik in staat om dit met slechts een kleine inspanning te bereiken.
Voltooi het soldeer van de mannelijke pinnen op de blauwe max98357a-chip - zowel de zeven-pins header als de twee-pins header moeten de max98357a stevig op zijn plaats houden.
Klaar met solderen!
Stap 3: Bevestig aan de Pi en sluit uw luidsprekers aan
Gebruik de twee nylon afstandhouders die bij de kit zijn geleverd en voeg de vrouwelijke stemkit voorzichtig samen bovenop de mannelijke headers op de Raspberry Pi. De nylon afstandhouders moeten op hun plaats klikken, zodat u goed op de tegenoverliggende hoeken van de kop past.
Gebruik een kleine kruiskopschroevendraaier (000 of 00) om de schroeven op de luidsprekeraansluiting voldoende los te draaien om uw luidsprekerkabel in de compressieopeningen te laten passen. U hoeft de schroeven niet te verwijderen, maar open ze voldoende waar ze los aanvoelen.
Steek uw kleine luidsprekerdraad in de opening en draai de schroeven vast om de luidsprekerdraad stevig op zijn plaats te houden.
Ik vond deze stap de meest ontmoedigende uitdaging van het hele project - ik kon geen schroevendraaier vinden die klein genoeg was, of mijn dunne luidsprekerdraad was te fijn om de compressie van de schroef te absorberen en zou liever breken dan vast te houden. Ik heb een wijziging aangebracht door "punten" of kleinere draden te bouwen die stevig genoeg waren om de compressie te weerstaan, en net lang genoeg om aan de blote uiteinden van de luidsprekerdraad te worden gesoldeerd. Lelijk, ja, maar effectief.
Klaar met hardware!
Stap 4: Download Raspbian Lite
Velen van jullie zijn al erg bekend met het proces van het downloaden en branden van afbeeldingen op een SD-kaart, en de daaropvolgende stappen vallen een beetje buiten het bestek van dit project. Ik zal de onderstaande stappen opnoemen voor het geval dat, maar als je merkt dat je nog steeds vastzit, zijn er talloze bronnen om te helpen.
Laatste bewerking: juni 2020 voor Buster Lite-download.
· Download en installeer Etcher van Balena Software
· Download het nieuwste Raspbian Lite-besturingssysteem van raspberrypi.org
· Gebruik Etcher om de Raspbian-afbeelding naar de SD-kaart te schrijven
· Eenmaal voltooid, tenzij u een pi zero w gebruikt, zet u de nieuw afgebeelde SD-kaart over naar onze Raspberry Pi. Als u een pi zero w gebruikt, moeten we enkele wijzigingen aanbrengen in het bestand WPA_Supplicant.conf in de opstartpartitie om uw wifi in te stellen.
Stap 5: Configureer de Pi
Met onze nieuw gemaakte afbeelding, laten we de pi een boost geven. Maar laten we eerst een monitor en toetsenbord lenen om te helpen bij de configuratie. Plaats de micro-sd-kaart en bevestig de micro-usb-oplaadkabel. Met een beetje geluk zal het groene led-lampje een paar keer knipperen tijdens het opstarten. De eerste keer opstarten kan enkele minuten duren, maar binnen 5 minuten zouden we klaar moeten zijn om aan onze configuratie te werken. "Lite" Raspbian heeft geen bureaublad.
Eenmaal bij de opdrachtprompt: login als pi, wachtwoord "raspberry".
· Open het configuratiescherm door " sudo raspi-config" te typen bij de opdrachtprompt.
· Wijzig onmiddellijk uw wachtwoord.
· Stel je wifi in met behulp van de netwerkopties op het configuratiepaneel
· Wijzig uw lokalisatie-opties en stel uw tijdzone in
· Schakel SSH in met behulp van de interface-paneeloptie
· Voer "sudo apt-get update" uit om uw software bij te werken naar de nieuwste versie
We hebben het IP-adres van de Pi nodig. Ik raad een app aan met de naam "FING" die op elk Android-apparaat kan worden gedownload en waarin alle apparaten worden vermeld die op uw netwerk zijn aangesloten. We zouden op zoek zijn naar een apparaat met de naam "raspberrypi". Schrijf het ip-adres op.
Vanaf dit punt hebben we de monitor of het toetsenbord niet meer nodig. Alle verdere configuraties worden uitgevoerd met behulp van de opdrachtregels via een SSH-sessie.
Stap 6: SSH gebruiken om een sessie op een externe machine te openen
Het gebruik van SSH is vrij eenvoudig. Open een terminalvenster vanaf elk apparaat in uw netwerk en typ de opdracht
ssh pi@mijnadres
Vervang "mijnipaddress" door de numerieke waarden die zijn verkregen met fing.
Voor de eerste keer kunt u worden begroet met een enge waarschuwing die aangeeft dat u niet op de uitgenodigde lijst staat, maar er is een zin die moet luiden "om dit te verwijderen …" kopieer de lange reeks tekens en plak deze in de opdracht prompt, druk op enter. Gebruik vervolgens de pijltoets omhoog, herhaal de opdracht ssh pi@myipaddress, kies ja en voer nu uw wachtwoord in. Gefeliciteerd!, je bent nu verbonden met je apparaat als je naar een opdrachtprompt van "pi@raspberrypi: ~ $" kijkt.
Stap 7: Mopidy installeren
We gaan Mopidy installeren als onze muziekserver. Er zijn hier tal van opties, maar ik zal je laten zien hoe je een extensie genaamd "Music Box" installeert waarmee je je muziek kunt bedienen vanaf een webinterface in plaats van een opdrachtprompt.
Wat is Mopidy? Volgens de website is Mopidy een reeks grote woorden waardoor ik me op dit moment behoorlijk inferieur voel, maar laten we zeggen dat Mopidy het platform is van waaruit onze muziek zal worden afgespeeld. Het wordt een muziekserver, een MPD (music player daemon) en een webserver. De PiMusic Box-add-on biedt de website waar we naartoe kunnen navigeren en Mopidy kunnen bedienen. Ik dacht dat het geschikt zou zijn voor dit instructable, aangezien het goed speelt met een aantal populaire services zoals Spotify of Google Play Music. Bovendien is het heel cool.
Hieronder staan de instructies schaamteloos gekopieerd van Mopidy om vanaf de opdrachtregel te installeren:
1. Voeg de GPG-sleutel van het archief toe:
sudo wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
2. Voeg de APT-repo toe aan uw pakketbronnen:
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list
Installeer ten slotte mopidy:
sudo apt-get update
sudo apt-get install mopidy
Einde schaamteloos kopiëren.
Stap 8: Gebruik Python Pip om andere… installaties (extensies) te installeren
We hebben zojuist de gewone vanilla Mopidy geïnstalleerd, maar we zijn nog maar net begonnen. Uitbreidingen zullen onze bouwstenen zijn om aanpassingen toe te voegen aan onze eenvoudige vanille Mopidy. Omdat de meeste extensies die we zullen gebruiken voor de basismopidy zijn geschreven in python, zullen we een equivalent van apt gebruiken dat specifiek is voor python.
Voordat we pip gaan gebruiken, moeten we er eerst voor zorgen dat we alle gstreamer-plug-ins hebben die apt gebruiken:
sudo apt installeren
python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-goed / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-slecht / gstreamer1.0-tools
Dit kan enkele minuten duren om te installeren. Zonder Gstreamer kun je mogelijk geen muziek streamen.
En nu kunnen we python pip installeren:
sudo apt install build-essentiële python3-dev python3-pip
Nu kunnen we pip gebruiken om meer mopidy nuggets toe te voegen. Pip is een python-tool, vergelijkbaar met apt, maar ik vind dat het iets sneller werkt dan apt. Een beetje traag van het blok, maar het begint vrij snel.
Hieronder staan er vier om ons op weg te helpen:
Een web-front-end. Laten we Iris gebruiken, maar als je wilt, kun je in plaats daarvan mopidy-musicbox-webclient proberen:
sudo python3 -m pip install Mopidy-Iris
Een hub voor internetradiostations met 30 kanalen:
sudo python3 -m pip install mopidy-somafm
Nog een internetradioservicehub met nog meer kanalen:
sudo python3 -m pip install mopidy-TuneIn
En nog een front-end voor mobiel apparaat. Radio Stations en Iris spelen niet lekker samen, maar mobiel heeft allerlei internet rantsoen stations om naar te luisteren:
sudo python3 -m pip install Mopidy-Mobile
Eenmaal voltooid, zou je toegang moeten hebben tot Music Box met:
mijnipadres:6680/iris/ -of-
Er komt nog steeds niets uit de speakers als je muziek probeert af te spelen.
Voor een lijst met andere functies en extensies: Help uzelf:
sudo pip zoeken mopidy
Vanaf hier kunt u doorgaan met het toevoegen van extensies naar keuze.
Ik heb een voorbeeldmopidy-configuratiebestand bijgevoegd. Voel je vrij om de inhoud in /etc/mopidy/mopidy.conf. te gebruiken
sudo nano /etc/mopidy/mopidy.conf
Stap 9: Mopidy instellen als een service
Aangezien we mopidy bij het opstarten willen uitvoeren, kunnen twee commando's mopidy uitvoeren bij het opstarten:
sudo systemctl mopidy inschakelen
sudo dpkg-mopidy opnieuw configureren
Start opnieuw op en voer vervolgens uit
sudo systemctl status mopidy – l
om uw status te controleren. U zou een groene indicator moeten zien. Mopidy heeft een zeer nuttige ondersteuningssite om te helpen met verdere configuratie-opties. Bekijk de Mopidy-documentatiesite voor meer informatie.
Stap 10: Voeg je eigen muziek toe
Standaard wil mopidy lokale muziek opslaan in een map onder /var/lib/mopidy/media. Kopieer daar je muziekverzameling. Ik vind het het gemakkelijkst om gewoon de sd-kaart van de pi te verwijderen (na veilig afsluiten), en met behulp van een micro-sd naar usb-adapter, sluit de adapter aan op uw opslageenheid en kopieer/plak daar. (dit kan even duren, afhankelijk van de grootte van je verzameling). Eenmaal voltooid, plaatst u de SD-kaart terug naar de pi, start u deze op, maakt u opnieuw verbinding en typt u:
sudo mopidyctl lokale scan
Hiermee wordt je muziek toegevoegd aan de lokale mediabibliotheek in Music Box. U zult merken dat.wma-bestanden niet als audio worden herkend en dat.ogg-bestanden tijdens de scan worden gemist. Mp3-bestanden zouden echter geen probleem moeten zijn.
Stap 11: Configuratiebestand voor geluidskaart - Asound.conf
Je zou nog niets in /etc/asound.conf moeten hebben, maar als je dat wel doet, vervang dan de inhoud door die hieronder, of maak er een aan met:
sudo nano /etc/asound.conf
en plak:
opties snd_rpi_googlehat_soundcard index=0
pcm.softvol { type softvol slave.pcm dmix control { naam Master card 0 } } pcm.!default { type asym playback.pcm "plug:softvol" } ctl.!default { type hw kaart 0 }
ctrl-x en Y om het bovenstaande op te slaan als uw nieuwe asound.conf-bestand.
Stap 12: Zorg ervoor dat we de juiste overlay gebruiken om Configure.txt in /boot
type
sudo nano /boot/config.txt
De laatste paar regels moeten lijken op iets dat lijkt op het onderstaande. We willen ervoor zorgen dat de standaardaudio wordt becommentarieerd, samen met eerdere overlays zoals mijn hifiberry dac, terwijl we de Google Voice Hat-overlay implementeren. Ten slotte willen we de pi instrueren om de i2s-toewijzing te gebruiken. De # indicator vertelt het systeem om de lijn te negeren.
# Audio inschakelen (laadt snd_bcm2835)
#dtparam=audio=aan #dtoverlay=hifiberry-dac dtoverlay=googlevoicehat-geluidskaart dtoverlay=i2s-mmap
reboot als alles lijkt op het bovenstaande. Wacht een paar minuten, open een browser naar de url van de muziekbox en speel wat muziek af.
Stap 13: Geniet van de muziek
Als je naar stereo goedheid luistert, missie geslaagd!
Een van de mooie dingen van het gebruik van een raspberry pi als een headless muziekserver die is verbonden met wifi, is dat deze draait zonder heel veel bronnen in beslag te nemen. Toegegeven, we pompen slechts 3 watt per kanaal uit, maar dat is waarschijnlijk genoeg voor luisteren op korte afstand. De batterij van je telefoon zal je dankbaar zijn.
Er is ook een zeer belangrijke groene factor - we drinken slechts 5,25 volt energie. En vergeleken met Bluetooth kunnen we de radiostream instellen en niet verankerd zijn aan een Bluetooth-bereik van 30 voet. Met betrekking tot onze telefoon kunnen we een oproep beantwoorden, een game spelen en wat vrijer rondlopen zonder de muziekstroom te onderbreken. We hebben alleen het oppervlak bekrast. Er zijn talloze beschikbare mopidy-extensies om te verkennen, en mopidy heeft een groeiend aantal ontwikkelaars omdat het open source is. Ik laat je zelf de functies verkennen die je interesseren.
Stap 14: Conclusie
Een van de meest opvallende kenmerken van dit project is dat we onze pi niet beperken door de toegang tot de GPIO te vergrendelen. Dit geeft ons toegang tot veel andere opties omdat de stemhoed zo goed is ontworpen. Mijn volgende project zal bijvoorbeeld zijn om een tijdelijke drukknopschakelaar toe te voegen als een afsluitknop. Het zou gemakkelijk moeten zijn, en ik weet al waar de pinnen moeten landen: ze zijn niet belemmerd. Vanaf daar? Welnu, voor dit project hebben we de microfoon volledig genegeerd - misschien een pi-karaoke? Misschien een LED-lichtshow, of een motor voor een rollende jukebox? Alle pinnen zijn nog steeds beschikbaar en toegankelijk. De vraag wordt waarom niet? En voor het geval je terug wilt naar de AI, stop gewoon de oude SD-kaart in en laat Google in stereo reageren.
Aanbevolen:
USB-audio-DAC: 12 stappen
USB Audio DAC: Gebruikt standaard drivers, werkt met Windows, Macs en veel Linux-distributies, maar beperkt de prestaties tot 16 bit, 48 kHz Gebalanceerde (pro) line level outputs aan de achterkant (XLR / 6,35 mm) Single-ended (pro) line level uitgang vooraan (RCA)Geen uitgangen
Huidige bron DAC AD5420 en Arduino: 4 stappen (met afbeeldingen)
Huidige bron DAC AD5420 en Arduino: Hallo. In dit artikel wil ik mijn ervaring delen met de AD5420 huidige digitaal-naar-analoogomzetter, die de volgende kenmerken heeft: 16-bits resolutie en monotonie Huidig uitgangsbereik: 4 mA tot 20 mA, 0 mA tot 20 mA, of 0 mA t
DIY: Audio DAC - DSD, MP3 en Radio Volumio Player: 3 stappen
DIY: Audio DAC - DSD, MP3 en Radio Volumio Speler: DSD getest: DSD64, DSD128 & DSD256
Zelfgemaakte kwaliteit DAC is eenvoudig: 24 stappen
Zelfgemaakte kwaliteit DAC is eenvoudig: het begon allemaal met het feit dat ik besloot om mijn audiosysteem beter te maken
Audio geluidsbestanden (Wav) afspelen met een Arduino en een DAC: 9 stappen
Audio-geluidsbestanden afspelen (Wav) Met een Arduino en een DAC: Speel wav-bestandsaudio af vanaf uw Audino SD-kaart. Deze Instructable laat je zien hoe een wav-bestand op je SD-kaart kan worden afgespeeld via een eenvoudig circuit naar een luidspreker. Het wav-bestand moet 8 bit mono zijn. Ik heb geen probleem gehad met het afspelen van 44 KHz-bestanden