Sommario:

Raspberry Pi Audio Dac-Amp-Streamer: 14 passaggi
Raspberry Pi Audio Dac-Amp-Streamer: 14 passaggi

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 passaggi

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 passaggi
Video: 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

Riutilizza un cappello vocale AIY di Google datato come dispositivo di streaming audio stereo senza testa dedicato.

Ora che i kit vocali di Google AIY si avvicinano ai due anni, potresti aver scoperto che la novità è un po' svanita. Oppure, potresti chiederti se le pubblicità del tuo browser per il festival rinascimentale più vicino hanno qualcosa a che fare con la domanda che hai posto su dove potresti trovare un buon affare sulle scarpe da corsa sotto l'armatura.

Se ne possiedi già uno, questo progetto ti mostrerà come prendere il tuo kit vocale AIY di Google esistente e riutilizzarlo come streamer audio headless dedicato. Se non possiedi già un kit e abiti vicino a un Micro Center; sei fortunato: ce ne sono ancora molti in giro e dubito che diventeranno più economici del prezzo attuale di $ 5. (in realtà, sono $ 3 a luglio 2019).

Questo progetto riguarda l'audio e non ha nulla a che fare con l'intelligenza artificiale. Lavoreremo su un sistema operativo completamente separato archiviato su una scheda micro SD separata, che ti consentirà di mantenere intatte tutte le funzionalità AI. Inoltre, miglioreremo l'esperienza dell'utente introducendo l'audio stereo (per qualche dollaro in più) mentre costruiamo un dispositivo di streaming audio scalabile. Infine, al completamento di questo progetto, lasceremo il cappello vocale in uno stato pronto per l'espansione futura. I limiti dell'espansione saranno solo quelli della nostra creatività.

Fase 1: Approvvigionamento

Approvvigionamento
Approvvigionamento

Scriverò questo istruibile dal punto di vista che non hai già un kit di Google Voice in tuo possesso. Se hai già la configurazione del kit vocale, gli elementi aggiuntivi necessari sono contrassegnati con un * sotto. Inoltre, l'ultima offerta Raspberry Pi (Pi 3 A+) è perfettamente adatta per questo progetto in base al suo fattore di forma e consiglio vivamente di acquistarne uno comunque. Tuttavia, qualsiasi Pi dovrebbe funzionare purché possa ospitare il cappello del kit vocale e i GPIO.

Ingredienti:

  • Raspberry Pi (consigliamo Pi 3 A +)
  • Alimentatore micro usb da 5,25 V 2,4 A
  • Scheda Micro SD (a seconda delle dimensioni della raccolta musicale, 16 GB dovrebbero essere adeguati)
  • Max98357A dac e amplificatore (da Adafruit)*
  • Altoparlanti). Il kit viene fornito con uno, tuttavia per ottenere lo stereo avremo bisogno di un altoparlante aggiuntivo. (anche Adafruit)
  • Kit vocale AIY di Google
  • Intestazione – banda singola*
  • Cavo dell'altoparlante*

Strumenti necessari: saldatore, saldatore, cacciavite a croce taglia 00 o 000. spellafili, nastro per mascheratura o pittori per fissare temporaneamente l'intestazione durante la saldatura, adattatore da USB a micro SD.

Passaggio 2: assemblare l'hardware

Assemblare l'hardware
Assemblare l'hardware

Fuori dagli schemi, il voice hat arriva in modalità mono. Per fortuna, gli ingegneri di Google hanno progettato la scheda per consentire un aggiornamento allo stereo semplicemente aggiungendo un'altra scheda Max98357a per sedersi come un altro cappello. Hanno persino delineato la scatola per noi.

Hai indovinato: costruiremo un cappello su un cappello. Hardware sopra Hardware già sopra.

Utilizzando l'intestazione fornita dal set di chip Adafruit Max98357a, iniziamo saldando l'intestazione a 7 pin al cappello vocale direttamente sotto le parole "Progetti AIY Voice Hat". Un pezzo di nastro adesivo fissato ai perni maschi più lunghi sulla faccia della scheda può essere utile per evitare che le intestazioni scivolino fuori posto poiché lavoreremo con la scheda capovolta durante questa fase di saldatura.

Saldare anche due pin all'interno della casella bianca contornata al cappello vocale dove siederà la scheda blu max98357a.

NON SALDARE IL CONNETTORE DELL'ALTOPARLANTE ALLA SCHEDA MAX98357a!

Collega invece i terminali dell'altoparlante al voice hat, allineato direttamente al di sotto del punto in cui i due poli sono stati appena saldati. Il collegamento dell'altoparlante sinistro e il collegamento dell'altoparlante destro devono essere allineati fianco a fianco, in una fila di quattro terminali.

Capovolgi il tabellone con il lato destro rivolto verso l'alto.

Saldare il ponticello etichettato “JP4” chiuso lasciando una goccia di saldatura sul ponticello. Non dimenticare questa parte o non avremo lo stereo!

Attaccare con cura la scheda blu max98357a ai lunghi piedini maschi che sporgono dal voice hat. Questo è stato un po' difficile, quindi prova a saldare i pin il più perpendicolare possibile alla scheda. Con qualche piccola discussione sull'intestazione a due pin, sono stato in grado di farlo con uno sforzo minimo.

Completa la saldatura dei pin maschio sul chip blu max98357a: sia l'intestazione a sette pin che l'intestazione a due pin dovrebbero tenere saldamente in posizione il max98357a.

Fatto con la saldatura!

Passaggio 3: collega al Pi e collega i tuoi altoparlanti

Collega al Pi e collega i tuoi altoparlanti
Collega al Pi e collega i tuoi altoparlanti

Usando i due distanziatori in nylon forniti con il kit, unisci con cura il kit vocale femminile sopra le intestazioni maschili sul lampone pi. I distanziatori in nylon dovrebbero scattare in posizione dandoti una presa sicura sugli angoli opposti dell'intestazione.

Usando un minuscolo cacciavite a testa Philips (000 o 00), svita le viti sul terminale dell'altoparlante quanto basta per consentire al cavo dell'altoparlante di inserirsi nelle aperture di compressione. Non dovresti dover rimuovere le viti, ma aprile abbastanza dove si sentono allentate.

Inserisci il cavo dell'altoparlante di piccolo calibro nell'apertura e stringi le viti per tenere saldamente in posizione il cavo dell'altoparlante.

Ho trovato che questo passaggio fosse la sfida più ardua dell'intero progetto: non riuscivo a trovare un cacciavite abbastanza piccolo, o il mio fragile cavo dell'altoparlante era troppo sottile per assorbire la compressione della vite e preferivo rompersi piuttosto che tenerlo fermo. Ho apportato una modifica costruendo "pennini" o fili più piccoli che fossero abbastanza solidi da resistere alla compressione e abbastanza lunghi da essere saldati alle estremità nude del cavo dell'altoparlante. Brutto, sì, ma efficace.

Fatto con l'hardware!

Passaggio 4: scarica Raspbian Lite

Scarica Raspbian Lite
Scarica Raspbian Lite
Scarica Raspbian Lite
Scarica Raspbian Lite

Molti di voi hanno già molta familiarità con il processo di download e masterizzazione di immagini su una scheda SD e i passaggi successivi sono un po' oltre lo scopo di questo progetto. Elencherò i passaggi di seguito per ogni evenienza, ma se ti trovi ancora bloccato, ci sono tonnellate di risorse per aiutarti.

Ultima modifica: giugno 2020 per il download di Buster Lite.

· Scarica e installa Etcher di Balena Software

· Scarica l'ultimo sistema operativo Raspbian Lite da raspberrypi.org

· Usando Etcher, scrivi l'immagine Raspbian sulla scheda SD

· Una volta completato, a meno che non si utilizzi un pi zero w, trasferire la scheda SD appena acquisita al nostro Raspberry Pi. Se stai usando un pi zero w, dobbiamo apportare alcune modifiche al file WPA_Supplicant.conf nella partizione di avvio per configurare il tuo wifi.

Passaggio 5: configurare il Pi

Configura il Pi
Configura il Pi

Con la nostra immagine appena creata, accendiamo il pi. Ma prima prendiamo in prestito un monitor e una tastiera per assistere con la configurazione. Inserisci la scheda micro sd e collega il cavo di ricarica micro usb. Con un po' di fortuna, il led verde lampeggerà alcune volte durante l'avvio. Il primo avvio potrebbe richiedere alcuni minuti, ma entro 5 minuti dovremmo essere pronti per lavorare sulla nostra configurazione. Raspbian "Lite" non ha un desktop.

Una volta al prompt dei comandi: accedi come pi, password "raspberry".

· Accedere al pannello di configurazione digitando “sudo raspi-config” al prompt dei comandi.

· Cambia subito la tua password.

· Imposta il tuo wifi utilizzando le opzioni di rete sul pannello di configurazione

· Modifica le opzioni di localizzazione e imposta il fuso orario

· Abilita SSH utilizzando l'opzione del pannello delle interfacce

· Esegui "sudo apt-get update" per aggiornare il software all'ultima versione

Avremo bisogno dell'indirizzo IP del Pi. Consiglio un'app chiamata "FING" che può essere scaricata su qualsiasi dispositivo Android ed elencherà tutti i dispositivi collegati alla rete. Staremmo cercando un dispositivo chiamato "raspberrypi". Annota l'indirizzo IP.

Da questo punto in poi, non avremo più bisogno del monitor o della tastiera. Tutte le ulteriori configurazioni verranno eseguite utilizzando le righe di comando tramite una sessione SSH.

Passaggio 6: utilizzare SSH per aprire una sessione su una macchina remota

L'uso di SSH è piuttosto semplice. Apri una finestra di terminale da qualsiasi dispositivo sulla tua rete e digita il comando

ssh pi@myipaddress

Sostituisci "myipaddress" con i valori numerici ottenuti utilizzando fing.

Per la prima volta, potresti essere accolto con un avviso spaventoso che indica che non sei nell'elenco degli invitati, tuttavia c'è una frase che dovrebbe leggere " to remove this…" copia la lunga stringa di caratteri e incollala nel comando prompt, premi invio. Quindi, usando il tasto freccia su, ripeti il comando ssh pi@myipaddress, scegli yes e ora inserisci la tua password. Congratulazioni!, ora sei connesso al tuo dispositivo se stai guardando un prompt dei comandi di "pi@raspberrypi: ~ $".

Passaggio 7: installa Mopidy

Installa Mopidy
Installa Mopidy

Installeremo Mopidy come nostro server musicale. Ci sono molte opzioni qui, ma ti mostrerò come installare un'estensione chiamata "Music Box" che ti permetterà di controllare la tua musica da un'interfaccia web invece che da un prompt dei comandi.

Cos'è Mopidy? Secondo il suo sito web, Mopidy è una serie di paroloni che mi fanno sentire piuttosto inferiore al momento, ma diciamo solo che Mopidy è la piattaforma da cui suonerà la nostra musica. Sarà un server musicale, un MPD (demone del lettore musicale) e un server web. L'addon di PiMusic Box offrirà il sito Web in cui possiamo navigare e controllare Mopidy. Ho pensato che, dal momento che funziona bene con un sacco di servizi popolari come Spotify o Google Play Music, sarebbe adatto a questo istruibile. Inoltre è fantastico.

Di seguito le istruzioni copiate spudoratamente da Mopidy per l'installazione da riga di comando:

1. Aggiungi la chiave GPG dell'archivio:

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

2. Aggiungi il repository APT alle fonti del tuo pacchetto:

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

Infine installa mopidy:

sudo apt-get update

sudo apt-get install mopidy

Fine copia spudorata.

Passaggio 8: utilizzare Python Pip per installare altre… installazioni (estensioni)

Abbiamo appena installato Mopidy alla vaniglia, ma siamo solo all'inizio. Le estensioni saranno i nostri elementi costitutivi per aggiungere personalizzazioni al nostro semplice Mopidy vaniglia. Poiché la maggior parte delle estensioni su cui attingeremo a mopidy di base sono scritte in python, utilizzeremo un equivalente di apt che è specifico di python.

Prima di iniziare a utilizzare pip, assicuriamoci di avere tutti i plugin gstreamer che utilizzano apt:

sudo apt install

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-tools

L'installazione potrebbe richiedere alcuni minuti. Senza Gstreamer, potresti non essere in grado di riprodurre musica in streaming.

E ora possiamo installare python pip:

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

Ora possiamo usare pip per aggiungere più pepite mopidy. Pip è uno strumento Python, simile ad apt, ma trovo che funzioni un po' più velocemente di apt. Un po' lento fuori dall'isolato, ma entra in gioco abbastanza velocemente.

Di seguito sono quattro per iniziare:

Un front-end web. Usiamo Iris, ma se vuoi puoi provare invece mopidy-musicbox-webclient:

sudo python3 -m pip install Mopidy-Iris

Un hub di stazioni radio Internet con 30 canali:

sudo python3 -m pip install mopidy-somafm

Un altro hub di servizi radio Internet con ancora più canali:

sudo python3 -m pip install mopidy-TuneIn

E un altro front-end per dispositivi mobili. Le stazioni radio e Iris non suonano bene insieme, ma il cellulare ha tutti i tipi di stazioni di razione Internet da ascoltare:

sudo python3 -m pip install Mopidy-Mobile

Una volta completato, dovresti essere in grado di accedere a Music Box utilizzando:

mioindirizzoip:6680/iris/ -oppure-

Se tenti di riprodurre musica, non uscirà ancora nulla dagli altoparlanti.

Per un elenco di altre funzionalità ed estensioni: Aiutati:

sudo pip search mopidy

Da qui, puoi continuare ad aggiungere estensioni a tua scelta.

Ho allegato un file di configurazione di Mopidy di esempio. Sentiti libero di usare i contenuti in /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Passaggio 9: configurare Mopidy come servizio

Configura Mopidy come servizio
Configura Mopidy come servizio

Poiché vorremmo eseguire mopidy all'avvio, due comandi consentiranno a mopidy di essere eseguito all'avvio:

sudo systemctl abilita mopidy

sudo dpkg-reconfigure mopidy

Riavvia, quindi esegui

sudo systemctl status mopidy – l

per controllare il tuo stato Dovresti vedere un indicatore verde. Mopidy ha un sito di supporto molto utile per assistere con ulteriori opzioni di configurazione. Controlla il sito della documentazione di Mopidy per maggiori dettagli.

Passaggio 10: aggiungi la tua musica

Aggiungi la tua musica
Aggiungi la tua musica

Per impostazione predefinita, mopidy vorrà memorizzare la musica locale in una cartella sotto /var/lib/mopidy/media. Copia lì la tua raccolta musicale. Trovo più semplice rimuovere la scheda SD dal pi (dopo lo spegnimento sicuro) e utilizzare un adattatore da micro SD a USB, collegare l'adattatore all'unità di archiviazione e copiare / incollare lì. (questo potrebbe richiedere del tempo a seconda delle dimensioni della tua collezione). Una volta completato, restituisci la scheda SD al pi, avvialo, riconnettiti e quindi digita:

sudo mopidyctl local scan

Questo aggiungerà la tua musica alla libreria multimediale locale in Music Box. Potresti notare che i file.wma non vengono riconosciuti come audio e che i file.ogg sembrano mancare durante la scansione. Tuttavia, i file Mp3 non dovrebbero essere un problema.

Passaggio 11: file di configurazione della scheda audio - Asound.conf

Non dovresti ancora avere nulla in /etc/asound.conf, ma se lo fai, sostituisci i contenuti con quelli sotto, o creane uno usando:

sudo nano /etc/asound.conf

e incolla:

opzioni snd_rpi_googlehat_soundcard index=0

pcm.softvol { digita softvol slave.pcm dmix control { nome scheda Master 0 } } pcm.!default { digita asym playback.pcm "plug:softvol" } ctl.!default { digita scheda hw 0 }

ctrl-x e Y per salvare quanto sopra come nuovo file asound.conf.

Passaggio 12: assicurati di utilizzare l'overlay corretto per Configure.txt in /boot

genere

sudo nano /boot/config.txt

Le ultime righe dovrebbero assomigliare a qualcosa di simile a sotto. Vogliamo assicurarci che l'audio standard sia commentato, insieme a qualsiasi sovrapposizione precedente come il mio dac hifiberry, mentre implementiamo la sovrapposizione del cappello vocale di Google. Infine, vogliamo istruire il pi greco ad usare la mappatura i2s. L'indicatore # dice al sistema di ignorare la linea.

# Abilita audio (carica snd_bcm2835)

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

riavviare se tutto sembra simile a quanto sopra. Attendi qualche minuto, apri un browser per l'URL del musicbox e riproduci un po' di musica.

Passaggio 13: goditi la musica

Se stai ascoltando la bontà dello stereo, missione compiuta!

Una delle cose belle dell'utilizzo di un raspberry pi come server musicale senza testa connesso al wifi è che funziona senza occupare molte risorse. È vero, stiamo pompando solo 3 watt per canale, ma questo è probabilmente sufficiente per l'ascolto a distanza ravvicinata. La batteria del tuo telefono ti ringrazierà.

C'è anche un fattore ecologico molto significativo: stiamo solo sorseggiando 5,25 volt di energia. E rispetto al Bluetooth, possiamo impostare il flusso radio e non essere ancorati a un raggio bluetooth di 30 piedi. Per quanto riguarda il nostro telefono, possiamo rispondere a una chiamata, giocare e vagare un po' più liberamente senza interrompere il flusso di musica. Abbiamo solo scalfito la superficie. Ci sono tonnellate di estensioni mopidy disponibili da esplorare e mopidy ha una base di sviluppatori in crescita poiché è open source. Ti farò esplorare da solo le funzionalità che ti interessano.

Passaggio 14: Conclusione

Conclusione
Conclusione

Una delle caratteristiche più importanti di questo progetto è che non stiamo limitando il nostro pi bloccando l'accesso al GPIO. Questo ci consente di accedere a molte altre opzioni perché il cappello vocale è stato progettato così bene. Ad esempio, il mio prossimo progetto sarà quello di aggiungere un interruttore a pulsante momentaneo come pulsante di spegnimento. Dovrebbe essere facile e so già dove devono atterrare i birilli: non sono ostruiti. Da li? Ebbene, per questo progetto abbiamo completamente ignorato il microfono – magari un pi karaoke? Forse uno spettacolo di luci a LED o aggiungere un motore per un jukebox rotante? Tutti i pin sono ancora disponibili e accessibili. La domanda diventa perché no? E nel caso in cui desideri tornare all'intelligenza artificiale, inserisci la vecchia scheda SD e fai rispondere Google in stereo.

Consigliato: