Raspberry Pi Music Server med inbyggda Crossover och DSP (11 / 12 steg)
Steg 11: Steg 10: sparka ut sylt
Så, allt är inställt att passa dig och nu kan du lyssna till rosa brus med plattaste frekvenssvaret av någon stereo system någonsin. Det är spännande, men det kommer inte att få tossor på dansgolvet, nu är det?! Behöver du, min vän, musik
För att få musik ur din super söt raspberry pi behöver du en musikspelare. Jag använde Squeezelite och Logitech musikserver, samt några airplay godhet från shairplay-sync. Det finns andra spelare som MPD, men Squeezelite fungerar för mig, så jag kommer med det.
Om du inte har en logitech musikserver sitter på vissa NAS eller något, ska du sätta det på din Pi.
Titta på Gerrelt's super awesome handledning för hur man installerar LMS
Om du bara behöver Squeezelite här är Gerrelts handledning för att
Shairport-sync kan hittas på Mike's Github
Installera alla 3:
< p > # installera vissa libs < br > sudo apt-get install -y libsox-fmt-all libflac-dev libfaad2 libmad0
# få den senaste nightly build (från downloads.slimdevices.com):
wget - O logitechmediaserver_all.deb $(wget - q - O - "http://www.mysqueezebox.com/update/?version=7.9.0 & revision = 1 & geturl = 1 & os = deb")
sudo dpkg -i logitechmediaserver_all.deb
# fix behörigheter: < br > sudo chown -R squeezeboxserver:nogroup /usr/share/squeezeboxserver/# få senast nattlig bygga (från downloads.slimdevices.com): < /p >< p > ### < /p >< p > sudo mkdir squeezelite < br > chown pi squeezelite /
sudo chown pi squeezelite /
CD-squeezelite /
wget - O squeezelite-armv6hf < en href = "http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg" rel = "nofollow" > http://ralph_irving.users.sourceforge.net/pico/sq...>
sudo mv squeezelite-armv6hf/usr/bin
sudo chmod a + x /usr/bin/squeezelite-armv6hf
sudo /usr/bin/squeezelite-armv6hf -l < /p >< p >
### < /p >< p > cd ~/downloads < br > git clone < en href = "https://github.com/mikebrady/shairport-sync.git" rel = "nofollow" > http://ralph_irving.users.sourceforge.net/pico/sq...>
CD-shairport-sync /
autoreconf -i -f
sudo lämplig-få installera autoconf libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev
lämplig-få installera avahi-daemon libavahi-client-dev
sudo lämplig-få installera avahi-daemon libavahi-client-dev
sudo lämplig-få installera libssl-dev
autoreconf -i -f
. / Konfigurera--med-alsa--med-avahi--med-ssl = openssl--med-metadata--med-systemd
göra
getent grupp shairport-sync & >/dev/null || sudo groupadd - r shairport-sync >/dev/null
getent passwd shairport-sync & >/dev/null || sudo useradd - r - M -g shairport-sync - s /usr/bin/nologin -G audio shairport-sync >/dev/null
sudo göra installera
sudo systemctl aktiverar shairport-sync
sudo omstart < /p >
Konfigurera Squeezelite
sudo nano /usr/local/bin/squeezelite_settings.sh
sudo /etc/init.d/squeezelite force-reload
sudo /etc/init.d/squeezelite stopp
sudo /etc/init.d/squeezelite play
sudo /etc/init.d/squeezelite stopp
# ===========================v1.5==============================
# ÄNDRA DESSA VÄRDEN OM DET BEHÖVS
# Squeezelite spelare (standard värdnamn namnet
# ska användas):
#SL_NAME = "Framboos"
# Observera: "Framboos" är holländska för hallon... :-)
#---LJUDKORT---
# Ställ in ljudkortet
#SL_SOUNDCARD = "default: kort = ALSA"
#SL_SOUNDCARD = "sysdefault:CARD = ALSA"
#
# För Logilink USB ljudkort UA0053, Använd:
#SL_SOUNDCARD = "front: kort = inställt, DEV = 0"
#
# För Behringer UCA 202 USB ljudkort, Använd:
#SL_SOUNDCARD = "front: kort = CODEC, DEV = 0"
#
# För alsaequal, Använd:
#SL_SOUNDCARD = "lika med"
#---MAC ADRESS---
# Avkommentera nästa rad (ta bort hash) om du vill ändra mac-adressen (-m alternativet):
#SL_MAC_ADDRESS = "00:00:00:00:00:01"
# Observera: när vänster kommenterade squeezelite kommer att använda mac-adressen för ditt ethernet-kort eller
# wifi adapter, vilket är vad du vill.
# Om du ändra den till något annat, kommer att det ge problem om du använder mysqueezebox.com.
#---SERVERN IP-ADRESS---
# Avkommentera nästa rad (ta bort hash) om du vill att punkten squeezelite
# på din squeezebox server IP-adress (-s alternativ). Och ändra IP-adressen naturligtvis...
#SB_SERVER_IP = "192.168.0.100"
# Observera: om detta inte anges, Squeezelite kommer att använda automatisk upptäckt att hitta
# en LMS server, som fungerar bra också.
#
# För den fristående LMS server handledningen, Använd:
SB_SERVER_IP = "127.0.0.1"
#---AUTO PLAY---
# Avkommentera nästa rad om du vill squeezelite att börja spela vid start. BE AWARE: Om du använder detta, du
# bör även avkommentera och fyll SB_SERVER_IP (se ovan). Annars fungerar det inte.
#SL_AUTO_PLAY = "Ja"
#---MISC INSTÄLLNINGAR---
# Avkommentera nästa rad (ta bort hash) om du vill ange parametrar för ALSA (-ett alternativ, buffert storlek 80):
# - en
# Ange parametrar som används när du öppnar en enhet för ljuduppspelning.
# För ALSA, format ::: är används där är den
# buffert tid i millisekunder (värden mindre än 500) eller storlek i
# byte (standard 40ms); är den period räkningen (värden mindre än
# 50) eller storlek i byte (standard 4 perioder); är provet
# format (möjliga värden: 16, 24, 24_3 eller 32); är om du vill
# Använd mmap (möjliga värden: 0 eller 1). För PortAudio värdet
# enkelt mål fördröjningen i millisekunder. När produktionen är
# skickas till standardutdata, värdet kan vara 16, 24 och 32, som
# betecknar urvalsstorleken i bitar.
#
# -b :
# Ange intern ström och output buffert storlek i kilobyte.
SL_ALSA_PARAMS = "80:4::0"
# Avkommentera nästa två linjer för att aktivera loggning (-f och -d alternativ):
#SL_LOGFILE="/var/log/squeezelite.log"
#SL_LOGLEVEL = "alla = debug"
# Avkommentera nästa rad om du vill starta daemon för squeezelite med en viss användare.
SL_USER = "pi"
# Avkommentera nästa rad om du vill starta daemon för squeezelite med en specifik arbetskatalog
#SL_WORKING_DIR = "/ home/pi"
# Avkommentera och ändra nästa rad om du vill använda en annan squeezelite version.
#SL_DOWNLOAD_URL = "url till squeezelite körbar"
#
# Standard:
#SL_DOWNLOAD_URL = "http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg"
# Det här är en liten version ca 1 MB som trots sin ringa storlek kan spela pcm (wav/aiff),
# flac, mp3, ogg och aac utan någon extra ljud codec. Så behöver du inte flac.tcz libvorbis.tcz etc.
#
# Alternativ:
#SL_DOWNLOAD_URL = "http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-ffmpeg"
# En större version med bygga i ffmpeg. Det är ca 12 MB i storlek och kan spela alla typer av format.
# Igen behöver du inte någon ljud codec.tcz paket alls.
#
# Äldre version:
#SL_DOWNLOAD_URL = "http://squeezelite-downloads.googlecode.com/git/squeezelite-armv6hf"
# Om du vill använda olika använda squeezelite alternativ, som inte anges med det här skriptet, nästa rad:
#SL_ADDITIONAL_OPTIONS = ""
# =========================================================
Konfigurera Shairpoirt-Sync
sudo nano /etc/shairport-sync.conf
Exempelkonfigurationsfil för Shairport Sync
Kommenteras ut inställningar är generellt standardinställningarna, där inget annat anges.
Allmänna inställningar
de allmänna =
{
namn = "Shairport Sync spelare"; Detta är tjänsten kommer att annonsera till iTunes. Standard är "Shairport Sync på"
lösenord = "hemliga"; lämna detta kommenteras ut om du inte vill lösenordsskydda
interpolation = "soxr"; aka fyllning"". Standard är "grundläggande", alternativt "soxr". Använd "soxr" endast om du har en hyfsat snabb processor.
output_backend = "alsa"; Kör "shairport-sync - h" för att få en lista över alla output_backends, e.g. "alsa", "pipa", "stdout". Standard är den första.
mdns_backend = "avahi"; Kör "shairport-sync - h" för att få en lista över alla mdns_backends. Standard är den första.
port = 5000; Lyssna efter tjänstbegäranden på denna port
udp_port_base = 6001; börja fördela UDP portar Detta portnummer när det behövs
udp_port_range = 100; titta gratis hamnar i detta nummer av platser, börjar på UDP-port bas (bara tre behövs).
statistik = "no"; satt till "ja" för att skriva ut statistik i loggen
drift = 88. att detta antal bildrutor i drift från exakt synkronisering innan du försöker att rätta till det
resync_threshold = 0; en synkronisering minusavvikelser större än detta kommer att orsaka resynchronisation; 0 inaktiverar det
log_verbosity = 0; "0" innebär ingen debug utförlighet, "3" är mest mångordig.
ignore_volume_control = "no"; ange detta "ja" om du vill vara 100% oavsett vad källans volymkontroll är inställd.
volume_range_db = 60. används för att ange intervallet, i dB, du vill ha mellan den maximala ljudvolymen och minsta. Är 30-150 dB. Lämna det kommenteras ut för att använda mixerns ursprungliga utbredningsområde.
};
Hur man handskas med metadata, inklusive konstverk
metadata =
{
aktiverat = "no"; et till Ja för att få Shairport Sync värva metadata från källan och föra det vidare via en pipe
include_cover_art = "no"; inställd på "ja" för att få Shairport Sync att värva omslagsbilder från källan och skicka den via röret. Du måste också ange "aktiverad" till "ja".
pipe_name = "/ tmp/shairport-sync-metadata";
};
Avancerade parametrar för att styra hur en Shairport Sync körs
sessioncontrol =
{
run_this_before_play_begins = "/ full/sökväg/till/ansökan och args"; se till att ansökan har körbar tillstånd. Det är ett skript, omfattar #!... grejer på första raden
run_this_after_play_ends = "/ full/sökväg/till/ansökan och args"; se till att ansökan har körbar tillstånd. Det är ett skript, omfattar #!... grejer på första raden
wait_for_completion = "no"; satt till "ja" för att få Shairport Sync att vänta tills de "... run_this" program avslutats innan du fortsätter
allow_session_interruption = "no"; satt till "ja" om du vill tillåta en annan enhet att avbryta Shairport Sync medan den spelas från en befintlig ljudkälla
session_timeout = 120; vänta på detta antal sekunder efter en källa försvinner innan avslutande sessionen och blir tillgängliga igen.
};
Bakändan inställningar
Dessa parametrar för "alsa" audio bakändan, den enda avsluta tillbaka som stöder synkroniserat ljud.
alsa =
{
output_device = "default"; namnet på alsa utdataenheten. Använd "alsamixer" eller "aplay" för att ta reda på namnen på enheter, blandare, etc.
mixer_control_name = "PCM"; namnet på mixern till använda för att justera utvolymen. Om du inte anger in volymen i i programvaran.
mixer_device = "default"; mixer_device standard är vad output_device är. Normalt inte skulle du behöva använda detta.
audio_backend_latency_offset = 0; Ange denna förskjutning att kompensera för en fast fördröjning i audio bakändan. T.ex. om utdataenheten förseningar av 100 ms, ange detta till-4410.
audio_backend_buffer_desired_length = 200. Om uppsättningen för liten buffert underflöde uppstår på låg-drivna maskiner. För lång och svarstider med mjukvarumixern bli irriterande.
};
Detta är parametrar för "pipe" audio bakändan, en bakdelen som styr raw CD-stil audioutgång till ett rör. Ingen interpolation görs.
pipe =
{
namn = "/ sökväg/till/rör"; Det finns ingen standard röret namn för utdata
audio_backend_latency_offset = 0; Ange denna förskjutning att kompensera för en fast fördröjning i audio bakändan. T.ex. om utdataenheten förseningar av 100 ms, ange detta till-4410.
audio_backend_buffer_desired_length = 44100; Efter att ha börjat skicka ljud vid rätt tidpunkt, skicka alla efterföljande ljud här många bildrutor före tid, att skapa en buffert denna storlek.
};
Detta är parametrar för "stdout" audio bakändan, en bakdelen som styr raw CD-stil ljudutgång till stdout. Ingen interpolation görs.
STDOUT =
{
audio_backend_latency_offset = 0; Ange denna förskjutning att kompensera för en fast fördröjning i audio bakändan. T.ex. om utdataenheten förseningar av 100 ms, ange detta till-4410.
audio_backend_buffer_desired_length = 44100; Efter att ha börjat skicka ljud vid rätt tidpunkt, skicka alla efterföljande ljud här många bildrutor före tid, att skapa en buffert denna storlek.
};
Detta är parametrar för "ao" audio bakändan. Ingen interpolation görs.
Ao =
{
audio_backend_latency_offset = 0; Ange denna förskjutning att kompensera för en fast fördröjning i audio bakändan. T.ex. om utdataenheten förseningar av 100 ms, ange detta till-4410.
audio_backend_buffer_desired_length = 44100; Efter att ha börjat skicka ljud vid rätt tidpunkt, skicka alla efterföljande ljud här många bildrutor före tid, att skapa en buffert denna storlek.
};
Statiska latency inställningarna är föråldrat och inställningar har tagits bort.
Om allt fungerar, kan du flytta filen ~/.asoundrc till /etc/asound.conf
sudo mv ~/.asoundrc ~/.asoundrc-1 #make en snabb säkerhetskopiering
sudo mv ~/.asoundrc /etc/asound.conf #move att asound.conf att göra det möjligt för alla användare