Cuprins:

Raspberry Pi Audio Dac-Amp-Streamer: 14 pași
Raspberry Pi Audio Dac-Amp-Streamer: 14 pași

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 pași

Video: Raspberry Pi Audio Dac-Amp-Streamer: 14 pași
Video: Live Stream evaluating the new Cashmagnet beta. Open Q&A 8/27 2024, Decembrie
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

Refaceți o pălărie vocală Google AIY datată ca dispozitiv dedicat de streaming audio fără cap dedicat.

Acum că seturile vocale Google AIY se apropie de doi ani, este posibil să fi constatat că noutatea s-a epuizat puțin. Sau, s-ar putea să vă întrebați dacă reclamele browserului dvs. pentru cel mai apropiat festival renascentist au legătură cu întrebarea pe care ați pus-o despre locul în care puteți găsi o ofertă bună pentru pantofii de alergat sub armură.

Dacă dețineți deja unul, acest proiect vă va arăta cum să luați kitul vocal Google AIY existent și să îl re-faceți ca un streamer audio fără cap dedicat. Dacă nu aveți deja un kit și locuiți lângă un micro centru; ești norocos - există încă multe în jur și mă îndoiesc că vor deveni mai ieftine decât prețul actual de 5 USD. (de fapt, acestea sunt de 3 USD începând cu iulie 2019).

Acest proiect este despre audio și nu are nimic de-a face cu AI. Vom lucra la un sistem de operare complet separat stocat pe un card micro SD separat, care vă va permite să păstrați neatinse toate funcționalitățile AI. În plus, vom îmbunătăți experiența utilizatorului prin introducerea sunetului stereo (cu câțiva dolari în plus) pe măsură ce construim un dispozitiv de streaming audio scalabil. În cele din urmă, la finalizarea acestui proiect, vom lăsa pălăria vocală rămânând într-o stare pregătită pentru extinderea viitoare. Limitările expansiunii vor fi doar cele ale creativității noastre.

Pasul 1: Achiziții

Achiziții
Achiziții

Voi scrie acest lucru instructiv din perspectiva că nu aveți deja un kit Google Voice în posesia dvs. Dacă aveți deja setul de setare vocală - elementele suplimentare necesare sunt marcate cu un * mai jos. De asemenea, cea mai recentă ofertă Raspberry Pi (Pi 3 A +) este perfect potrivită pentru acest proiect, pe baza factorului său de formă, și vă recomand să cumpărați oricum unul. Cu toate acestea, orice Pi ar trebui să facă atât timp cât va găzdui pălăria kitului vocal și GPIO-urile.

Ingrediente:

  • Raspberry Pi (recomandă Pi 3 A +)
  • Sursă de alimentare micro usb de 5,25 V 2,4 amp
  • Card Micro SD (în funcție de dimensiunea colecției dvs. de muzică, 16 GB ar trebui să fie adecvate)
  • Max98357A dac și amplificator (de la Adafruit) *
  • Difuzoare). Kitul vine cu unul, însă pentru a obține stereo vom avea nevoie de un difuzor suplimentar. (și Adafruit)
  • Kit Google AIY Voice
  • Antet - singură bandă *
  • Sârmă difuzor *

Unelte necesare: lipit, lipit, șurubelniță Philips dimensiunea 00 sau 000. decapanti de sârmă, bandă de mascare sau vopsea pentru a asigura antetul temporar în timpul lipirii, adaptor USB la micro SD.

Pasul 2: Asamblați hardware-ul

Asamblați hardware-ul
Asamblați hardware-ul

Din cutie, pălăria vocală ajunge în modul mono. Din fericire, inginerii de la Google au proiectat placa pentru a permite un upgrade la stereo pur și simplu adăugând o altă placă Max98357a pentru a sta ca o altă pălărie. Au descris chiar și caseta pentru noi.

Ați ghicit: vom construi o pălărie pe o pălărie. Hardware în partea de sus a Hardware-ului deja în partea de sus.

Folosind antetul furnizat de setul de cipuri Adafruit Max98357a, începem prin lipirea antetului cu 7 pini la pălăria vocală direct sub cuvintele „AIY project Voice Hat”. O bucată de bandă de mascare fixată pe știfturile masculine mai lungi de pe fața plăcii poate fi utilă pentru a împiedica alunecarea anteturilor din loc, deoarece vom lucra cu placa cu susul în jos în această etapă de lipire.

De asemenea, lipiți doi pini în interiorul cutiei albe conturate la pălăria vocală unde va sta placa albastră max98357a.

NU SOLDAȚI CONECTORUL DE VORBITOR LA PLACA MAX98357a!

Conectați bornele difuzoarelor la casca vocală, aliniate direct sub locul în care cei doi poli tocmai au fost lipiți. Conexiunea difuzorului stâng și conexiunea difuzorului drept trebuie aliniate una lângă alta, într-un rând de patru terminale.

Întoarceți placa cu partea dreaptă în sus.

Lipiți jumperul etichetat „JP4” închis lăsând o picătură de lipit pe jumper. Nu uitați această parte sau nu vom avea stereo!

Atașați cu grijă placa max98357a albastră la știfturile lungi masculi care ies din pălăria vocală. A fost puțin dificil, așa că încercați să lipiți știfturile cât mai perpendicular pe tablă. Cu o mică luptă a antetului cu doi pini, am reușit să realizez acest lucru doar cu un efort minor.

Completați lipirea știfturilor masculine la cipul albastru max98357a - atât antetul cu șapte pini, cât și antetul cu doi pini trebuie să țină ferm max98357a în poziție.

Gata cu lipirea!

Pasul 3: Atașați la Pi și conectați difuzoarele

Atașați la Pi și conectați difuzoarele
Atașați la Pi și conectați difuzoarele

Folosind cele două distanțiere din nailon furnizate împreună cu kitul, îmbinați cu grijă kitul de voce feminin deasupra antetelor masculine de pe pi zmeură. Distanțierele din nailon ar trebui să se fixeze în poziție, oferindu-vă o potrivire sigură pe colțurile opuse ale antetului.

Folosind o șurubelniță mică Philips (000 sau 00), desfaceți șuruburile de pe terminalul difuzorului suficient pentru a permite cablului difuzorului să se încadreze în orificiile de compresie. Nu ar trebui să scoateți șuruburile, ci să le deschideți suficient acolo unde se simt slăbite.

Introduceți firul difuzorului de dimensiuni mici în deschidere și strângeți șuruburile pentru a menține firul difuzorului în poziție fermă.

Am găsit acest pas ca fiind cea mai descurajantă provocare a întregului proiect - nu am putut găsi o șurubelniță suficient de mică sau firul meu slab al difuzorului era prea fin pentru a absorbi compresia șurubului și ar prefera să se rupă decât să se mențină ferm. Am făcut o modificare prin construirea „pințelor” sau a firelor mai mici, care erau suficient de ferme pentru a rezista la compresiune și suficient de lungi pentru a fi lipite la capetele goale ale firului difuzorului. Urât, da, dar eficient.

Gata cu Hardware!

Pasul 4: Descărcați Raspbian Lite

Descărcați Raspbian Lite
Descărcați Raspbian Lite
Descărcați Raspbian Lite
Descărcați Raspbian Lite

Mulți dintre voi sunteți deja foarte familiarizați cu procesul de descărcare și ardere a imaginilor pe un card SD, iar pașii ulteriori sunt puțin peste scopul acestui proiect. Voi elibera pașii de mai jos pentru orice eventualitate, dar dacă te vei simți încă blocat, există o mulțime de resurse pentru a te ajuta.

Ultima modificare: iunie 2020 pentru descărcarea Buster Lite.

· Descărcați și instalați Etcher by Balena Software

· Descărcați cel mai recent sistem de operare Raspbian Lite de pe raspberrypi.org

· Folosind Etcher, scrieți imaginea Raspbian pe cardul SD

· Odată finalizat, cu excepția cazului în care utilizați un pi zero w - transferați cardul SD nou imaginat la Raspberry Pi. Dacă utilizați un pi zero w, trebuie să facem unele modificări la fișierul WPA_Supplicant.conf din partiția de boot pentru a vă configura wifi-ul.

Pasul 5: Configurați Pi

Configurați Pi
Configurați Pi

Cu imaginea noastră recent creată, Să pornim pi. Dar mai întâi permite să împrumutăm un monitor și o tastatură pentru a ajuta la configurare. Introduceți cardul micro SD și atașați cablul de încărcare micro USB. Cu noroc, ledul verde va clipi de câteva ori în timp ce pornește. Prima pornire poate dura câteva minute, dar în 5 minute ar trebui să fim pregătiți să lucrăm la configurația noastră. „Lite” Raspbian nu are desktop.

Odată ajuns la promptul de comandă: conectați-vă ca pi, parola „zmeură”.

· Accesați panoul de configurare tastând „sudo raspi-config” la promptul de comandă.

· Schimbați parola imediat.

· Configurați-vă wifi folosind opțiunile de rețea de pe panoul de configurare

· Schimbați opțiunile de localizare și setați fusul orar

· Activați SSH utilizând opțiunea panoului de interfețe

· Rulați „sudo apt-get update” pentru a vă actualiza software-ul la cea mai recentă versiune

Vom avea nevoie de adresa IP a dispozitivului Pi. Vă recomand o aplicație numită „FING” care poate fi descărcată pe orice dispozitiv Android și va enumera toate dispozitivele conectate la rețeaua dvs. Am căuta un dispozitiv numit „raspberrypi”. Scrieți adresa IP.

Din acest moment înainte, nu vom mai avea nevoie de monitor sau tastatură. Toate configurațiile suplimentare vor fi efectuate folosind liniile de comandă printr-o sesiune SSH.

Pasul 6: Utilizați SSH pentru a deschide o sesiune pe o mașină la distanță

Utilizarea SSH este destul de simplă. Deschideți o fereastră de terminal de pe orice dispozitiv din rețeaua dvs. și tastați comanda

ssh pi @ myipaddress

Înlocuiți „myipaddress” cu valorile numerice obținute folosind fing.

Pentru prima dată, este posibil să fiți întâmpinat cu un avertisment înfricoșător care să indice că nu sunteți pe lista invitată, totuși există o propoziție care ar trebui să citească „pentru a elimina acest lucru …” copiați șirul lung de caractere și lipiți-l în comandă prompt, apăsați Enter. Apoi, folosind tasta săgeată sus, repetați comanda ssh pi @ myipaddress, alegeți da și introduceți acum parola. Felicitări!, Sunteți acum conectat la dispozitivul dvs. dacă urmăriți un prompt de comandă „pi @ raspberrypi: ~ $”.

Pasul 7: Instalați Mopidy

Instalați Mopidy
Instalați Mopidy

Vom instala Mopidy ca serverul nostru de muzică. Există o mulțime de opțiuni aici, dar vă voi arăta cum să instalați o extensie numită „Music Box” care vă va permite să vă controlați muzica dintr-o interfață web în loc de un prompt de comandă.

Ce este Mopidy? Potrivit site-ului său web, Mopidy este un șir de cuvinte mari care mă fac să mă simt destul de inferior în acest moment, dar să spunem că Mopidy este platforma de pe care va juca muzica noastră. Acesta va fi un server de muzică, un MPD (demon player pentru muzică) și un server web. Suplimentul PiMusic Box va oferi site-ul web pe care putem naviga și de unde putem controla Mopidy. M-am gândit că, deoarece se joacă frumos cu o serie de servicii populare, cum ar fi Spotify sau Google Play Music, ar fi potrivit pentru acest lucru instructiv. În plus, este foarte cool.

Mai jos sunt instrucțiunile copiate cu nerușinare de la Mopidy pentru a le instala din linia de comandă:

1. Adăugați cheia GPG a arhivei:

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

2. Adăugați repo APT la sursele pachetului:

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

În cele din urmă, instalați mopidy:

sudo apt-get update

sudo apt-get install mopidy

Termină copia nerușinată.

Pasul 8: Utilizați Python Pip pentru a instala alte … Instalări (extensii)

Tocmai am instalat Mopidy de vanilie simplă, dar abia începem. Extensiile vor fi elementele noastre de bază pentru a adăuga personalizări la Mopidy de vanilie simplă. Deoarece majoritatea extensiilor pe care le vom aborda la mopidy de bază sunt scrise în python, vom folosi un echivalent de apt care este specific python.

Înainte de a începe să folosim pip, să ne asigurăm mai întâi că avem toate pluginurile gstreamer folosind 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

Instalarea poate dura câteva minute. Fără Gstreamer, este posibil să nu puteți reda muzică în flux.

Și acum putem instala python pip:

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

Acum putem folosi pip pentru a adăuga mai multe pepite mopidy. Pip este un instrument Python, similar cu apt, dar consider că funcționează puțin mai repede decât apt. Un pic cam încet, dar începe destul de repede.

Mai jos sunt patru pentru a ne începe:

Un front-end web. Să folosim Iris, dar dacă doriți, puteți încerca în schimb mopidy-musicbox-webclient:

sudo python3 -m pip instalează Mopidy-Iris

Un hub de stație de radio pe internet cu 30 de canale:

sudo python3 -m pip instalează mopidy-somafm

Un alt hub de servicii de radio pe Internet cu și mai multe canale:

sudo python3 -m pip instalează mopidy-TuneIn

Și încă un front-end pentru dispozitivul mobil. Stațiile de radio și Iris nu se joacă frumos împreună, dar dispozitivele mobile au tot felul de stații de rationare pe internet de ascultat:

sudo python3 -m pip instalează Mopidy-Mobile

După finalizare, ar trebui să puteți accesa Music Box folosind:

myipaddress: 6680 / iris / -or- https:// localhost: 6680 / musicbox_webclient

Încă nu vom mai scoate nimic din difuzoare dacă încercați să redați muzică.

Pentru o listă cu alte caracteristici și extensii: Ajutați-vă:

sudo pip search mopidy

De aici, puteți continua să adăugați extensii la alegerea dvs.

Am atașat un eșantion de fișier de configurare mopidy. Simțiți-vă liber să folosiți conținutul din /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Pasul 9: Configurați Mopidy ca serviciu

Configurați Mopidy ca serviciu
Configurați Mopidy ca serviciu

Deoarece vom dori să rulăm mopidy la pornire, două comenzi vor permite mopidy să ruleze la pornire:

sudo systemctl activează mopidy

sudo dpkg-reconfigure mopidy

Reporniți, apoi rulați

sudo systemctl status mopidy - l

pentru a vă verifica starea. Ar trebui să vedeți un indicator verde. Mopidy are un site de asistență foarte util pentru a vă ajuta cu opțiuni de configurare suplimentare. Consultați site-ul Mopidy Documentation pentru mai multe detalii.

Pasul 10: Adăugați propria muzică

Adăugați propria muzică
Adăugați propria muzică

În mod implicit, mopidy va dori să stocheze muzică locală într-un folder sub / var / lib / mopidy / media. Copiați colecția dvs. de muzică acolo. Mi se pare cel mai ușor să scoateți cardul SD din pi (după oprirea sigură) și, folosind un adaptor micro SD la USB, conectați adaptorul la unitatea de stocare și copiați / lipiți acolo. (poate dura ceva timp, în funcție de mărimea colecției dvs.). Odată finalizat, returnați cardul SD în pi, porniți-l, reconectați-vă și apoi tastați:

sudo mopidyctl scanare locală

Aceasta vă va adăuga muzica la biblioteca media locală din Music Box. Este posibil să observați că fișierele.wma nu sunt recunoscute ca audio, iar fișierele.ogg par a fi ratate în timpul scanării. Fișierele Mp3 nu ar trebui să fie o problemă.

Pasul 11: Fișier de configurare a plăcii de sunet - Asound.conf

Nu ar trebui să aveți încă nimic în /etc/asound.conf, dar dacă aveți, înlocuiți conținutul cu cele de mai jos sau creați unul folosind:

sudo nano /etc/asound.conf

și lipiți:

opțiuni 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 și Y pentru a salva cele de mai sus ca noul fișier asound.conf.

Pasul 12: asigurați-vă că folosim Overlay-ul corect pentru Configure.txt în / boot

tip

sudo nano /boot/config.txt

Ultimele câteva rânduri ar trebui să semene cu ceva similar cu cel de mai jos. Vrem să ne asigurăm că sunetul standard este comentat, împreună cu orice suprapunere anterioară, cum ar fi dac-ul meu hifiberry, în timp ce implementăm suprapunerea cu pălărie vocală Google. În cele din urmă, vrem să îi instruim pe pi să folosească maparea i2s. Indicatorul # spune sistemului să ignore linia.

# Activați sunetul (încarcă snd_bcm2835)

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

reporniți dacă totul arată similar cu cele de mai sus. Așteptați câteva minute, deschideți un browser la adresa URL a muzicii și redați muzică.

Pasul 13: Bucurați-vă de muzică

Dacă ascultați bunătatea stereo, misiunea îndeplinită!

Unul dintre lucrurile frumoase despre utilizarea unui raspberry pi ca un server de muzică fără cap conectat la wifi este că funcționează fără a lua o mulțime de resurse. Adevărat, pompăm doar 3 wați pe canal, dar probabil este suficient pentru ascultarea la distanță. Bateria telefonului dvs. vă va mulțumi.

Există și un factor verde foarte semnificativ - sorbim doar 5,25 volți de energie. Și în comparație cu Bluetooth, putem seta fluxul radio și să nu fim ancorați la o gamă de Bluetooth de 30 de picioare. În ceea ce privește telefonul nostru, putem să apelăm, să jucăm un joc și să rătăcim puțin mai liber, fără a întrerupe fluxul de muzică. Am zgâriat doar suprafața. Există o mulțime de extensii mopidy disponibile de explorat, iar mopidy are o bază de dezvoltatori în creștere, deoarece este open source. Vă voi permite să explorați singuri caracteristicile care vă interesează.

Pasul 14: Concluzie

Concluzie
Concluzie

Una dintre cele mai remarcabile caracteristici ale acestui proiect este că nu ne restricționăm pi-ul prin blocarea accesului la GPIO. Acest lucru ne permite accesul la multe alte opțiuni, deoarece pălăria vocală a fost concepută atât de bine. De exemplu, următorul meu proiect va fi să adaug un comutator de buton momentan ca buton de oprire. Ar trebui să fie ușor și știu deja unde trebuie să aterizeze știfturile: nu sunt obstrucționate. De acolo? Ei bine, pentru acest proiect am ignorat complet microfonul - poate un karaoke pi? Poate un spectacol de lumini cu LED-uri sau puteți adăuga un motor pentru un tonomat rulant? Toate știfturile sunt încă disponibile și accesibile. Întrebarea devine de ce nu? Și doar în cazul în care doriți să vă întoarceți la AI, pur și simplu introduceți vechiul card SD și cereți Google să răspundă în stereo.

Recomandat: