LMS (Logitech Media Server) - Teknisk diskusjon

Diskusjonstråd Se tråd i gallerivisning

  • berxter

    Hi-Fi freak
    Ble medlem
    17.01.2007
    Innlegg
    5.908
    Antall liker
    4.346
    Sted
    Trondheim
    Torget vurderinger
    1
    Har ikke blitt fortrolig med Material Skin, mest fordi jeg ikke har funnet en måte å velge skin per kontrollenhet trur eg.
    Jeg prøvde det, men gikk umiddelbart tilbake til Classic visning. Jeg fant ikke noen måte å bruke "Music Folder" som utgangspunkt; og jeg er for satt i høvve til å begynne med disse nymotens tingene som Album, Artist osv når det for det meste er klassisk på serveren.
    (Dere trenger slett ikke fortelle meg hvordan jeg skal kunne gjøre det; Classic visning er jeg såre fornøyd med.)
     

    H.R

    Hi-Fi freak
    Ble medlem
    14.12.2008
    Innlegg
    8.155
    Antall liker
    6.804
    Sted
    Jessheim | Ullensaker
    Torget vurderinger
    5
    Er det noen som vet noen moderne streamere som kan fores med data fra lms og samtidig har Spotify Connect ?

    det er lett å finne ting til Roon , men hva støtter også lms?
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Jeg prøvde det, men gikk umiddelbart tilbake til Classic visning. Jeg fant ikke noen måte å bruke "Music Folder" som utgangspunkt
    ...
    Siden jeg også opplever at rask tilgang til Music Folder er vesentlig gledet jeg meg over at med Material Skin kan man legge til objekter fra "My Music" på startskjermen ved klikke de tre prikkene og velge "Pin to home screen".

    1681298370273.png
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Noen som har testet squeeze DSP? Visstnok noe basert på camilladsp men serverinnstallert.

    Innstallerte akkurat men får ikke testet før til onsdagen tenker jeg.
    Bruker camilladsp både på spilleren i kjelleren og i stua.
    Jeg hadde glemt denne. Leste meg opp nå og ser at han enda ikke har klart å koble den til CamillaDSP på Linux men måtte gå tilbake til SoX. Mens han har prioritert å fortsette utvikle av front-end.

    Digg at den tar tekstfiler fra REW da.

    Og at den tar uike mediaoppløsninger på strak arm. Kan det være grunnen til at han begrenser den til 32 bit? Det er vel egentlig ingen begrensinger på hva som kjører i pipen til LMS hvor CamillaDSP trolig kan gjøre FP64 på RPi?

    GitHub: https://github.com/Foxenfurter/SqueezeDSP
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Er det noen som vet noen moderne streamere som kan fores med data fra lms og samtidig har Spotify Connect ?

    det er lett å finne ting til Roon , men hva støtter også lms?
    Siden LMS har egen Spottify plugg kalt Spotty som foruten ha sin egent brukerflate til Spottify også har funksjon som connector hvor man fra Spottify app'n kan velge å "Kobler til enhet" kan man derfor spørre om hvilke enheter kan benyttes til å spille LMS.

    I praksis nær sakt alle enheter siden LMS har såkalte broer til ulike spillere som Apple TV, Google Cast enheter og enheter som støtter UPnP/DLNA som de aller fleste strømmere i dag støtter.

    1681306841467.png
     

    H.R

    Hi-Fi freak
    Ble medlem
    14.12.2008
    Innlegg
    8.155
    Antall liker
    6.804
    Sted
    Jessheim | Ullensaker
    Torget vurderinger
    5
    Takker for svar, men hele poenget er å holde de totalt uinteresserte til telefonene sine vedrørende Spotify..
    Jeg antar likevel at det finnes streamere som kan ta lms og Spotify connect i disse Roon tider.
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Takker for svar, men hele poenget er å holde de totalt uinteresserte til telefonene sine vedrørende Spotify..
    Jeg antar likevel at det finnes streamere som kan ta lms og Spotify connect i disse Roon tider.
    Nå er Roon et kommersielt produkt med en verdikjede skap av betalingsvillige brukere. LMS er kun styrt av intresserte brukere hvor et lite fåtall av dem aktivt utvikler produktet. For å løse det du spør etter har LMS allerede en omvei ved før foreslåtte forslag. Hvor en streamer med støtte for UPnP/DLNA kan fungere som player (end-point) for LMS. Jeg har ikke personlig erfaing med denne, men Audio Cromecast bridge har fungert bra her.

    For å forenkle søket ditt foreslo jeg Spotty som jeg nå forstår ikke ble godt nok forklart.
    For den helt uintresserte Spottify bruker fremstår hver enkel LMS enhet på nettet som en enhet de kan koble til fra Spottfy app'n. Spottify appen vet ikke bedre om det er LMS server som publiserer spilleren eller om det er en smarthøytaler. Derfor kan jeg her hjemme ha familen til å strømme Spottify til gamle Touch enheter, Audio Cromecast og Squeezelite på en RPi sentralt styrt via LMS. Se skjermdump fra Android telefon
    1681313287955.png


    Meg bekjent finnes det ingen kommeriselle produkter som direkte støtter LMS sin strøm. Eller mer korrekt, det finnes folk som i liten skala bygger streamere med RPi som base. Men gitt leveringsproblemer Rasperian Pi Fundation sliter med er denne type spillere fortsatt et stykke unna.

    Klienten alle disse streamerne benytter er SqueezeLite som igjen er avhenging av andre biblioteker. En mulig årsak kommersielle aktører sliter med å sy sammen en pakke kan være ulike lisenser som ikke tillater kommersielt salg. For LMS støtte er rett så uproblematik å implementere på en Linux plattform rent teknisk.
     

    H.R

    Hi-Fi freak
    Ble medlem
    14.12.2008
    Innlegg
    8.155
    Antall liker
    6.804
    Sted
    Jessheim | Ullensaker
    Torget vurderinger
    5
    Takker for et supert svar og at du tok deg tid.
    Da kan transporteren fremdeles benyttes fremover. Aldeles nydelig.
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    NRK 192 kbps

    Da radio appene jeg har forsøkt dessverre ofte peker til lavoppløsing strømmer fra NRK har jeg laget meg en favorittmappe med 15 av NRK sine sendinger. Om noen er intressert kan denne nå enkelt importeres med Favorites -> Import ved legge til URL:
    Kode:
    https://raw.githubusercontent.com/StillNotWorking/LMS-helper-script/main/nrk/favorites.opml
    1683709277468.png

    Merk at dette må gjøres fra Classic web GUI. Detaljert veileding finnes her:

    1683709433819.png
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    HiFiBerry OS for Raspberry Pi

    Denne Linuxdistribusjonen ser ut til å ha playere (endpoint) for de mest vanlige lokale strømmeplattformene inkl LMS.
    Wether you choose to use Bluetooth, Airplay, Spotify, Roon, Logitech Media Player, the system should now be visible on your mobile phone or server application and is ready to play. Just connect and start music playback.
    Nå våger jeg ikke anbefale noen å gå denne ruten ved å hande nye HiFiBerry produkter*. Men om man allerede har en slik HAT liggende virker dette være raskeste måten å få den til å spille musikk.


    (*) Basert på erfaring med HiFi Berry DAC+DSP har det vist seg at ADAU1451 DSP profilen som kommer standard med denne HAT'n forringer lyden med bl.a. redusert gain og det jeg opplever som uengaskjerende lyd. Jeg har ikke enda fått sett på hvordan redigere en slik DSP profil da det er rett så kronglete å komme i gang med https://github.com/hifiberry/hifiberry-dsp
     

    coolbiz

    Hi-Fi freak
    Ble medlem
    31.03.2006
    Innlegg
    9.429
    Antall liker
    5.083
    Sted
    Sydvestlandet
    Torget vurderinger
    2
    For en drøy uke siden sluttet Youtube plugin å fungere. Sannsynligvis fordi Youtube har endret på protokollene sine for å bekjempe reklameblokkere.

    Forsøk på avspilling gir denne feilmeldingen i logger:
    Kode:
    Plugins::YouTube::ProtocolHandler::__ANON__ (462) no stream/DASH found
    Utvikleren holder til i Kanada, og klarer ikke å replikere problemet. Det ser ut til at det er kun brukere i Europa som opplever det, så antagelsen er at Youtube har rullet ut noen endringer som er lokasjonsspesifikke, i hvert fall inntil videre. Dette er en plugin som jeg bruker ganske ofte, så jeg håper at utvikleren om ikke altfor lenge klarer å replikere feilen, og finne en løsning for den.
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Har aldri forsøkt YT plugg på LMS. Er denne som heter YouTube av Philippe?


    Forresten så tar Mouser nå imot ordrer på RPi4 2 GB med forventet levering av et par hundre kort denne mnd.
    4 og 8GB er fortsatt ut i oktober.
     

    coolbiz

    Hi-Fi freak
    Ble medlem
    31.03.2006
    Innlegg
    9.429
    Antall liker
    5.083
    Sted
    Sydvestlandet
    Torget vurderinger
    2
    Har aldri forsøkt YT plugg på LMS. Er denne som heter YouTube av Philippe?
    Ja, den er det.

    Forresten så tar Mouser nå imot ordrer på RPi4 2 GB med forventet levering av et par hundre kort denne mnd.
    4 og 8GB er fortsatt ut i oktober.
    RaspberryPi.dk ser ut til å ha dem på lager.
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Ok sliter litt med å generere YT API. Veiledning og menyer hos Google stemmer ikke overens. Siden konfigurasjon i LMS pluggen ikke har brukernavn passord antar jeg det er en public API key vi behøver?


    Jaggu sier handlevognen i Danmark at dem er til lager (y) Vedrørende handle hos Mouser så virker dem ha laveren priser, sender fraktifritt over 50$ og krever inn norsk moms. Ingen gebyrer og fjas. I tillegg setter jeg pris på at UPS leverer direkte på døren.
     
    Sist redigert:

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    @coolbiz har du noen videoer du spesefikt vet feiler hos deg? YouTube spiller nemlig her. Jeg bruker US som søkeland noe jeg gjetter vil gi meg problemer på mange tittler som har regionsperre.

    1690984348067.png


    Edit: Ser ut som alle videoene jeg har testet med så langt gir maksimalt 160 kbps. Men pluggen har et veld av søkemuligheter så jeg ser ikke bort fra at den finner bruk her hos oss - takker @coolbiz :). F.eks. er YT en stor killde til podcaster hvor man nødvendigvis ikke behøver se utøverne:
    1690985271648.png
     
    Sist redigert:

    coolbiz

    Hi-Fi freak
    Ble medlem
    31.03.2006
    Innlegg
    9.429
    Antall liker
    5.083
    Sted
    Sydvestlandet
    Torget vurderinger
    2
    Finfin innsats, @PeriodeLytter!

    Tror ikke det er noen YT-videoer som ikke feiler hos meg.
    Dette er i hvert fall en av dem som feiler:



    Det skal innrømmes at jeg ikke har prøvd meg på særlig mye feilsøking/reinstallasjon/LMS-oppgradering hos meg, ettersom jeg så på Slim Devices-forumet at flere andre hadde de samme symptomene som jeg, samt at reklameblokkeren i nettleseren Brave begynte å skrante samtidig. Jeg er på LMS 8.2.0, forøvrig.

    Hvordan setter du US som søkeland?
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    @coolbiz - GP Race tutler fint her. Skal være forsiktig med å gi råd siden det er mine første minutter med denne pluggen.
    Men etter ha knotet med å få laget den YouTube API nøkkelen er det muligens der jeg ville startet. Jeg lærte man kan ha flere nøkler og jeg endte opp med en public uten credetials. Som muligens gir begrenser? Muligens bruk av spillelister etc ikke virker?

    1690986615630.png


    EDIT:
    Beklager så ikke spørsmålet @coolbiz .
    Server > Plugins - YouTube > Country for categories
    Jeg er på LMS 8.3.1 med Debian i bunn.

    Erfaring fra da jeg kjørte Pi-hole på lokalnettet var at YouTube er svært kreative når det kommer til å omgå ulike metoder for å rense bort reklame. Samme med webOS i LG TV'n. Jeg måtte gi opp til slutt da det ble for mye klager i huset på ting som ikke fungerer helt som forventet.
     
    Sist redigert:

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    For nerds only - In 2023 PipeWire was adopted as the default audio server for Debian 12 Bookworm

    Kontekst for dem som ikke orker søke selv :)

    PipeWire is a server and API for handling multimedia on Linux. Its most common use is for Wayland and Flatpak applications to implement screensharing, remote desktop, and other forms of audio and video routing between different pieces of software. Per the official FAQ, "you can think of it as a multimedia routing layer on top of the drivers that applications and libraries can use."

    As opposed to PulseAudio's focus on consumer audio and JACK's focus on professional audio, PipeWire aims to work for all users at all levels. Among other techniques, PipeWire achieves this with its ability to dynamically switch between different buffer sizes, for adapting to the different latency requirements of different audio applications.
    -- https://wiki.debian.org/PipeWire

    Så seint som 2020 fikk Raspian OS implementert PulseAudio for full versjon. CLI versjonen kommer standard med kun ALSA som sammen med ALSA util pakke er nok til sende lyd fra en enkel applikasjon om gangen.
    With the Raspberry Pi OS December 2020, they have finally switched to the PulseAudio sound server. This is at a time where most Linux distributions have been using PulseAudio for years and some even eyeing preparing to replace it with PipeWire. Raspberry Pi OS has relied on ALSA but that is not without its limitations for playing audio from multiple sources concurrently as well as the lack of native Bluetooth audio support. So PulseAudio is now deployed for proper audio mixing, better Bluetooth audio support, and more. -- https://www.phoronix.com/news/Raspberry-Pi-OS-December-2020
    Sound servers and APIs
    • ALSA - The "Advanced Linux Sound Architecture" (ALSA) is a part of the Linux kernel that provides an interface to the kernel audio drivers. It is also a userspace library ("alsa-lib") that provides more advanced features. All sound servers ultimately rely on the ALSA kernel API, and as such, it cannot be substituted. The userspace library, however, can be replaced.
    • PipeWire - A modern multimedia server looking to eventually unify and replace PulseAudio and JACK. Also a drop-in replacement for alsa-lib.
    • PulseAudio - A sound server that sits between ALSA and user applications, aiming to provide easy automatic sound configuration for users. It also provides a more advanced application interface than ALSA and can glue ALSA and JACK together. This is the most common sound server, and is often installed by default.
    • JACK - A sound server API and sound server daemon ("jackd") aimed at professional usage that provides real-time, low-latency connections for audio and MIDI between applications.
    • OSS (Legacy) - used to be the default sound subsystem before Linux 2.4
    -- https://wiki.debian.org/Sound
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Juhu, endelig er RPi4 8GB på vei. 🥳 Mouser har nå et par tusen av dem klar til levering til 780,- + mva og fri frakt.

    Har ventet så lenge på denne nå at jeg har nesten glemt hva jeg skal teste. Først ut er nok Squeezelite med USB DAC.
    Men jeg holdt vel også på med et prosjekt hvor jeg ønsket å teste om man fikk enda bedre ytelse ved å kjøre alle databasene til LMS fra minnet. Selve webserveren og Material Skin virker være raskt nok allerede på RPi3 om man benytter en moderne telefon. Det som holder igjen kan muligens være cashede CD cover som lever i en databasefil på SD kortet hvor treg lesing mulig er en flaskehals.

    ...problemet nå er at jeg ikke har forsterker som virker 🔇 Her går det i musikkvidoer fra YT på lydplanke.
     
    Sist redigert:

    bambadoo

    Æresmedlem
    Moderator
    Ble medlem
    11.10.2002
    Innlegg
    22.652
    Antall liker
    11.767
    Sted
    Lørenskog
    Torget vurderinger
    16
    Her går det i musikkvidoer fra YT på lydplanke.
    Blir ikke bedre enn det.
    Godt å se at det løsner med leveranser. Vært mange gribber de siste årene. Bruker selv en rpi3b+ og en rpi4 8gb. Dønn stabilt så lenge jeg kan huske. Selve LMS innstallasjonen ligger på en annen linux instans på LANet.
     

    coolbiz

    Hi-Fi freak
    Ble medlem
    31.03.2006
    Innlegg
    9.429
    Antall liker
    5.083
    Sted
    Sydvestlandet
    Torget vurderinger
    2
    For en drøy uke siden sluttet Youtube plugin å fungere. Sannsynligvis fordi Youtube har endret på protokollene sine for å bekjempe reklameblokkere.

    Forsøk på avspilling gir denne feilmeldingen i logger:
    Kode:
    Plugins::YouTube::ProtocolHandler::__ANON__ (462) no stream/DASH found
    Utvikleren holder til i Kanada, og klarer ikke å replikere problemet. Det ser ut til at det er kun brukere i Europa som opplever det, så antagelsen er at Youtube har rullet ut noen endringer som er lokasjonsspesifikke, i hvert fall inntil videre. Dette er en plugin som jeg bruker ganske ofte, så jeg håper at utvikleren om ikke altfor lenge klarer å replikere feilen, og finne en løsning for den.
    Oppdatering av plugin ble sluppet i dag: v0.162
    Nå virker den for meg, igjen.
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Ja det var bra dem ble raskt utsolgt for RPi4 på Mouser, ellers hadde jeg sitti på et antall RPi4 og irritert meg nå :)

    For å bygge en player er det vel kun en grunn jeg kommer på i farten til å oppgradere fra RPi3 til 4/5. Og det er for å sikre støtte for USB DAC. RPi3 skal riktignok kunne låses til USB1.1 og da evne håndtere USB buffer uten å gå tom. Men dette hindrer samtidig nettverkskortet som bruker den samme chip'n.

    RPi5 får raskere kortleser. Det blir litt spennende selv om de fortsatt begrenser hastighet til 104MB/s*. Har noen av disse µSD kortene, hvor selv ikke kortleseren i laptoppen min evner nytte hastigheten i test med CrystalDisc. Har ikke kjørt tester på RPi4 enda, men forstår det slik at jeg trolig ikke merker forskjell fra RPi3.
    1695980345705.jpeg


    Konklusjon blir derfor at disse korrtene har liten nytte på RPi. For å oppnå 200MB/s lesehastighet kreves properitær SanDisk kortleser.

    (*) UHS-I cards declared as UHS104 (SDR104) also support a clock frequency of 208 MHz, which could transfer 104 MB/s.
    kilde: https://en.wikipedia.org/wiki/SD_card
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Gjør et forsøk på å minimalisere hvor mange ganger strømmedata blir rendret før de når DAC. Hvor Replay Gain (RG) derfor er deaktivert på LMS og volum blir nå justert i CamillaDSP. Rart hvor fort man bli vant til enkle bekvemligheter som RG. Avspilling av CD rip uten RG har gjort at man igjen strekker seg etter volumkontrollen. Nesten like slitsomt som å spille vinyl. ☺

    Ble en utilsiktet stopp i utvikling av plugg til å styre CamillaDSP volumkontrol. Og jeg ser vel egentlig nå at den ideen bør utvides til også sende RG informasjon til CamillaDSP sin volumkontroll. Som betyr et dypdykk i LMS kildekode.
    Først for å finne om RG rendres på server eller player. Noen som vet? Jeg kan ikke minnes å ha sett noe om RG i koden til Squeezelite (SL). Hvor jeg mener huske at SL faktisk vil benytte Alsa sin kontroll om den er tilgjengelig.

    Siste kan være vært å skjekke opp fordi det betyr at om man nytter en USB DAC som kan ta imot 32-bit kan Alsa sende PCM data med volumendringer til CamillaDSP/DAC med færre feil siden det ikke er behov for avkorte data til 16 eller 24-bit.
     
    Sist redigert:

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Lage egne knapper i Material Skin

    Man kan lage egne verktøylinjer og menyer i MS som kan programeres til alt fra enkle ting som å åpne nettsider til å kjøre script både lokalt i nettleser og på server. https://github.com/CDrummond/lms-material/wiki/07-Customisation

    Jeg har kranglet litt med dette i helgen for å få den til å kjøre bash kommandoer både på LMS og andre enheter på nettet. Meningen er å renskrive en veiledning og poste på github, men tenkte jeg først kunne bruke HFS til kladden ;)

    Her er skjermdump av de nye menyene som lar meg restarte servicer og reboote RPI maskiner som kjører Squeezelite og CamillaDSP med en USB DAC. Menyene vist her for omstart av servicer og maskin er knyttet opp mot MAC adresse til den spilleren som er valgt. Altså vil menyene ikke vises om annen spiller velges hvor de da heller ikke vil virke.
    1699879706504.png
    1699879766553.png


    For å lage menyene rediger denne filen
    sudo nano /var/lib/squeezeboxserver/prefs/material-skin/actions.json
    JSON:
    {
      "settings":[
        {
          "title":"Restart LMS computer",
          "command":"sudo reboot &",
          "icon":"computer",
          "prompt":"Restart LMS computer?"
        }
      ],
      "players":[
        {
          "title":"Restart Squeezelite",
          "command":"sudo ssh pi@192.168.10.128 \"sudo systemctl restart squeezelite\" &",
          "players":["d8:3a:dd:46:ef:04"],
          "icon":"stars",
          "prompt":"Restart Squeezelite?"
        },
        {
          "title":"Restart CamillaDSP",
          "command":"sudo ssh pi@192.168.10.128 \"sudo systemctl restart camilladsp\" &",
          "players":["d8:3a:dd:46:ef:04"],
          "icon":"graphic_eq",
          "prompt":"Restart CamillaDSP?"
        },
        {
          "title":"Restart Squeezelite computer",
          "command":"sudo ssh pi@192.168.10.128 \"sudo reboot\" &",
          "players":["d8:3a:dd:46:ef:04"],
          "icon":"computer",
          "prompt":"Restart Squeezelite computer?"
        }
      ]
    }
    Det som ble litt klønete var å få til å kjøre bash kommandoer på LMS server. Dette fordi brukeren squeezeboxserver som kjører LMS daemon ikke har verken konsoll eller skriverettigheter til sin hjemmekatalog

    Følgende endringer vil endre sikkerheten på LMS server. Om man har tilgang til sin LMS fra utsiden av brannmur bør man minimum lage passord på Material Skin. Dette fordi bruker som kjører LMS servicen nå blir medlem av sudo gruppen.

    Det er mulig å kopire og lime inn alle denne koden i et konsollvindu for å kjøre alle stegene automatisk.
    Bash:
    # Change system privileges for user 'squeezeboxserver'
    # Before we start make a copy of settings in passwd
    sudo cp /etc/passwd /etc/passwd_org_squeezeboxserver
    #sudo cat /etc/passwd
    # We should read something like this
    # squeezeboxserver:x:109:65534:Logitech Media Server,,,:/usr/share/squeezeboxserver:/usr/sbin/nologin
    
    # Add shell for user 'squeezeboxserver':
    sudo usermod -s /bin/bash squeezeboxserver
    # Verify changes in passwd with sudo cat /etc/passwd
    # squeezeboxserver:x:109:65534:Logitech Media Server,,,:/usr/share/squeezeboxserver:/bin/bash
    
    # Add user squeezeboxserver to group 'sudo'
    sudo usermod -a -G sudo squeezeboxserver
    
    # We need user 'squeezeboxserver' to be able to 'sudo' without password
    # Later on you might want to put more selective priveliges for the user in this file
    sudo -i
    echo "squeezeboxserver ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/010_squeezeboxserver-nopasswd
    chmod 440 /etc/sudoers.d/010_squeezeboxserver-nopasswd
    logout
    
    # Change owner from 'root' of home directory for user 'squeezeboxserver'
    sudo chown -R squeezeboxserver /usr/share/squeezeboxserver
    
    # How to list sudo users in group 'sudo' from /etc/group
    #sudo getent group sudo | cut -d: -f4

    Det siste som behøves nå for å kjøre kommandoer på annen maskin som kjører Squeezelite/CDSP er å sette opp ssh med nøkkel-authetisering slik at man ikke må skrive passord.
    Bash:
    # From computer running LMS/Material Skin run
    ssh-keygen
    
    # Then copy key to the remote computer. User should be member of the sudo group with credential to register the key.
    ssh-copy-id pi@192.168.10.128

    - The power of open sourche software.

    Edit: Følgende tips til økt sikkerhet vil bli å finne på Github når den tid kommer. Bare skynder meg å oppdatere denne posten før fristen for edits løper ut.


    It is possible to restrict sudo user to only execute a limited number of applications. Instead of using `ALL` in the file we created under `/etc/passwd.d` we specifically define full path to applications the user are allowed to run with sudo.

    Bash:
    # First decline all sudo credentials, then add those we want to allow.
    squeezeboxserver ALL=(ALL) !ALL
    squeezeboxserver ALL=NOPASSWD: /bin/ssh /sbin/reboot
     
    Sist redigert:

    bambadoo

    Æresmedlem
    Moderator
    Ble medlem
    11.10.2002
    Innlegg
    22.652
    Antall liker
    11.767
    Sted
    Lørenskog
    Torget vurderinger
    16
    Wow. Kjempebra.
    Ingenting av dette som bli overskrevet ved nye release?
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Vi venter i spenning på det :) Jeg er fortsatt på offesiel release av LMS så jeg får vel testet det når 8.4 slippes.
    Planen er likevel å lage et skript som gjør alle endringer for squeezeboxserver brukeren for enkel rekonfigurasjon.

    Menyene i Material Skin er offesiell implementasjon så de er jeg trygg på.
     
    Sist redigert:

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Hvor viktig er ren strøm for RPi kredittkort datamaskiner? - Kort versjon: ganske ukritisk med forbehold om USB DAC

    Etter å ha sett på noen av produktene til Ian Canada føltes det som behov for et lettere snorkeldykk under overflaten for å se om det er noe poeng å gå den veien. Følgende ser ut til å gjelde for RPi4B og RPi3B+

    Analog/DAC og klokker i resten av stack'n man evt henger på GPIO til RPi behøver selvsagt mates med det beste man mener å finne tilgjengelig av strømforsyninger. Men RPi har i seg selv begrensinger som krever kompliserte mods for å komme forbi. Og som er helt unødvendig enn så lenge man unngår å få inn støy via jordplan fra PSU som kan forplante seg videre til audiokretser.

    1700495800107.png

    RPi henter strøm til alle lokale krestser fra en lokal power management IC (PMIC) MXL7704. Som i praksis er flere buck konvertere som switcher* den rene DC strømmen RPi mates med. Og dermed lager sin egen støysignatur mye uavhenging av hvor ren strøm den mates.

    Jeg kan derfor ikke forstå at det skal være noe poeng å jage µV støygulv på DC innstrøm til RPi4 når PMIC benyttet oppgir 0.47mV RMS 10 Hz ≤ f ≤ 100 kHz, VIN = 4.3V, VOUT = 3.3V for LDO** delen. Med PSRR 56dB/1kHZ 40dB/10kHz.
    Det finnes ikke støydata for buck utgangene, men vi kan nok med sikkerhet si de er langt værre enn dette. Og blir nok ikke bedre om RPi driftes på batteri eller superkondensator Dette er jo verdier man enkelt oppnår med hyllevare LDO regulatorer og en trafo om man vil bygge/kjøpe ferdig linjær strømadapter.

    USB DAC: Dette dykket fant på nytt en kilde som bekrefter at 5V til USB kontaktene henter strøm direkte fra kilde, — altså utenom PMIC. Som i praksis betyr at om tilknyttet DAC benytter USB strøm fra RPi helt klart vil ha nytte av en bra strømforsyning til å drive RPi og dens USB utganger. Jeg kan se for meg at siden vi nå også kjenner buck konverterens frekvenspekter også kan forsøke om en ferrit kjerne for 1,5 MHz området rundt USB kabelen til DAC gjør noe forskjell. https://no.mouser.com/c/?q=ferrit cable cores

    1700495816590.png


    Dataark: https://assets.maxlinear.com/web/documents/mxl7704.pdf
    RPi4 skjema: https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-reduced-schematics.pdf

    (*) dataark oppgir frekvens for oscilatorne fra 1 til 2MHz
    (**) 3V3_AUD til U5 op-amp for hodetelefonutgang på RPi4
     
    Sist redigert:

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Siden jeg var å rotet i skjema til RPi4. Dette er støydemping allerede implementert i Ethernetkontakten til RPi4

    1700504326272.png
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Som noen sikkert har sett liker jeg hurtigvalg. Denne helgen fikk jeg sydd sammen skript som lar meg bytte lydkort på Squeezelite fra Material Skin. Bytte mellom loopbak for CamillDSP direkte til USB lydkortet tar ca 2 sekunder.
    Musikken fortsetter noe overraskende uten skjenerende pops. Dette selv om CDSP kjører oppsamling 88.2/32 og bytte til lydkortet da kjører uten oppsamling med 44.1/16.

    1701033083650.png


    Selve menyen er gjort på samme måte som post #105. Utelater derfor koden denne gangen. Bash scriptet som foretar ombytte endrer bare en linje i konfigurasjonsfilen for Squeezelite og starter daemon på nytt. Koden har kommentarer så burde være grei å endre til eget behov. I utgangspunket kreves det kun å bytte navn på lydkort for samme funksjon som jeg laget skriptet for.

    Filen lagres på Player og jeg har kalt den 'squeezetoggle' og lagret den under '/bin' sammen med squeezelite.
    Se her hvordan gjøre skriptet til en kommando uten behov for å spesifiere sti eller bash.
    Bash:
    #!/bin/bash
    # Toggle Squeezelite output - v.0.0.1 - 2023-11
    # Inteded use is to toggle between loopback interface with CamillaDSP and
    # direct to sound card. Made to easily be changed for other purposes.
    #
    # With standard installation only the line SC2=[your actual sound card] should need to be altered
    #
    CONFIGFILE='/etc/default/squeezelite'
    KEY='SL_SOUNDCARD='
    # CamillaDSP ALSA loopback
    SC1='hw:CARD=Loopback,DEV=1'
    # My hardware DAC
    SC2='hw:CARD=Amanero,DEV=0'
    
    # Stop Squeezelite to free up soundcard in case we already are in direct mode
    sudo systemctl stop squeezelite
    
    # Now update configuration file to toggle between SC1 and SC2
    if [ $(grep -E ^$KEY$SC1 $CONFIGFILE) ]; then
      #  /^$KEY/       - beginning of line should begin with
      #  s/.*/string/  - substitute whatever with string
      sudo sed -i -e "/^$KEY/ s/.*/$KEY$SC2/" $CONFIGFILE
      # Stop CamillaDSP to free up the sound card
      sudo systemctl stop camilladsp
    else
      sudo sed -i -e "/^$KEY/ s/.*/$KEY$SC1/" $CONFIGFILE
      # Start CamillaDSP now that we use SC1 (Loopback device)
      sudo systemctl start camilladsp
    fi
    # Start Squeezelite with new configuration
    sudo systemctl start squeezelite
    
    # If needed volume can be adjustet like this where IP=LMS-server and MAC=player
    # By default RPi-OS do not have telnet client installed 'sudo apt-get install telnet'
    #telnet 192.168.10.253 9090 <<< 'd8:3a:dd:46:ef:04 mixer volume 50'
    # CamillDSP use websocket which complicates direct interaction from bash
    # There is a little Python script that can be run with:
    #python ~/camilladsp/cdspvol.py -6.02
    
    #cat $CONFIGFILE
    # Troubleshooting tip:
    # edit '/etc/default/squeezelite' to enable intensive logging
    # SB_EXTRA_ARGS="-C 5 -W -f /var/log/squeezelite -d all=debug"
    # Then use 'tail /var/log/squeezelite'
    # 'squeezelite -l' will list sound cards present on the system
    # If USB sound card is not connected or powered off Squeezelite might fail to start.
    Det er mulig å matche gain om det er nødvendig. Men siden CDSP benytter websocket kommer bash til kort uten ekstra program. Har derfor laget en python wrapper:
    Lagre filen som cdspvol.py
    Python:
    # syntax: cdspvol.py -3.02 [v]
    # positiv values has to be typed explicit
    import sys
    from camilladsp import CamillaConnection
    cdsp = CamillaConnection("127.0.0.1", 1234)
    cdsp.connect()
    #print("Version: {}".format(cdsp.get_version()))
    # no argument return current volume setting
    if len(sys.argv) == 1:
        print("Volume: {}".format(cdsp.get_volume()))
    else:
        pf = sys.argv[1]
        if pf[0] == "-" or pf[0] == "+":
            cdsp.set_volume(sys.argv[1])
        # v for verbose, else changes take place in silence
        if len(sys.argv) == 3:
            if sys.argv[2]=='v' or sys.argv[2]=='V' or sys.argv[2]=='-v' or sys.argv[2]=='-V':
                print("Volume: {}".format(cdsp.get_volume()))
     
    Sist redigert:

    bambadoo

    Æresmedlem
    Moderator
    Ble medlem
    11.10.2002
    Innlegg
    22.652
    Antall liker
    11.767
    Sted
    Lørenskog
    Torget vurderinger
    16
    Endelig. Har holdt tilbake alle disse alpha versjonene. Blir en innstallsjon i morgen tenker jeg.
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Samme her. Selv om jeg har savnet hvordan v2. nå sjekker volum før den aktiverer.

    Skummet gjennom skriptet til Henrik. Det gir dessverre ikke en ferdig installsjon med serviceregistrering m.m.
    Jeg er derfor på saken med å oppgradere skriptet mitt. Forsøker lage det slik at det kan kjøre sømløst over en v1 installsjon gjort med mitt gamle skript.
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Da ser det ut som jeg har fått installasjonsskriptet og v2 konfigurasjonsfiler til å fungerer for CamillaDSP versjon 2.
    Squeezelite & CamillaDSP version 2 install script for RPi-OS Lite 64-bit

    Dessverre er ikke våre gamle v1 filter/konfigurasjon kompatibel med den nye versjonen. Samt deamon oppstart er nå gjort anderledes hvor CamillaDSP nå kan lagre hvilket konfigurasjon/filter som skal være med ved oppstart. Jeg har valgt å konfigurert logging til ERROR som man kan lese fra CamillaDSP sin web GUI.

    Skriptet burde fungere på de fleste Debian variasjoner med samme katalogstruktur. Merk at forutsetning for at man skal slippe gjøre manuelle endringer krever det at pålogget bruker er 'pi' og at denne brukeren har sudo rettigheter.

    Finner man feil eller har tips om forbedringer er de velkommen ;)
     

    tjua

    Hi-Fi freak
    Ble medlem
    19.08.2012
    Innlegg
    3.440
    Antall liker
    2.424
    Sted
    Bergen
    Som noen sikkert har sett liker jeg hurtigvalg. Denne helgen fikk jeg sydd sammen skript som lar meg bytte lydkort på Squeezelite fra Material Skin. Bytte mellom loopbak for CamillDSP direkte til USB lydkortet tar ca 2 sekunder.
    Musikken fortsetter noe overraskende uten skjenerende pops. Dette selv om CDSP kjører oppsamling 88.2/32 og bytte til lydkortet da kjører uten oppsamling med 44.1/16.

    Vis vedlegget 973328

    Selve menyen er gjort på samme måte som post #105. Utelater derfor koden denne gangen. Bash scriptet som foretar ombytte endrer bare en linje i konfigurasjonsfilen for Squeezelite og starter daemon på nytt. Koden har kommentarer så burde være grei å endre til eget behov. I utgangspunket kreves det kun å bytte navn på lydkort for samme funksjon som jeg laget skriptet for.

    Filen lagres på Player og jeg har kalt den 'squeezetoggle' og lagret den under '/bin' sammen med squeezelite.
    Se her hvordan gjøre skriptet til en kommando uten behov for å spesifiere sti eller bash.
    Bash:
    #!/bin/bash
    # Toggle Squeezelite output - v.0.0.1 - 2023-11
    # Inteded use is to toggle between loopback interface with CamillaDSP and
    # direct to sound card. Made to easily be changed for other purposes.
    #
    # With standard installation only the line SC2=[your actual sound card] should need to be altered
    #
    CONFIGFILE='/etc/default/squeezelite'
    KEY='SL_SOUNDCARD='
    # CamillaDSP ALSA loopback
    SC1='hw:CARD=Loopback,DEV=1'
    # My hardware DAC
    SC2='hw:CARD=Amanero,DEV=0'
    
    # Stop Squeezelite to free up soundcard in case we already are in direct mode
    sudo systemctl stop squeezelite
    
    # Now update configuration file to toggle between SC1 and SC2
    if [ $(grep -E ^$KEY$SC1 $CONFIGFILE) ]; then
      #  /^$KEY/       - beginning of line should begin with
      #  s/.*/string/  - substitute whatever with string
      sudo sed -i -e "/^$KEY/ s/.*/$KEY$SC2/" $CONFIGFILE
      # Stop CamillaDSP to free up the sound card
      sudo systemctl stop camilladsp
    else
      sudo sed -i -e "/^$KEY/ s/.*/$KEY$SC1/" $CONFIGFILE
      # Start CamillaDSP now that we use SC1 (Loopback device)
      sudo systemctl start camilladsp
    fi
    # Start Squeezelite with new configuration
    sudo systemctl start squeezelite
    
    # If needed volume can be adjustet like this where IP=LMS-server and MAC=player
    # By default RPi-OS do not have telnet client installed 'sudo apt-get install telnet'
    #telnet 192.168.10.253 9090 <<< 'd8:3a:dd:46:ef:04 mixer volume 50'
    # CamillDSP use websocket which complicates direct interaction from bash
    # There is a little Python script that can be run with:
    #python ~/camilladsp/cdspvol.py -6.02
    
    #cat $CONFIGFILE
    # Troubleshooting tip:
    # edit '/etc/default/squeezelite' to enable intensive logging
    # SB_EXTRA_ARGS="-C 5 -W -f /var/log/squeezelite -d all=debug"
    # Then use 'tail /var/log/squeezelite'
    # 'squeezelite -l' will list sound cards present on the system
    # If USB sound card is not connected or powered off Squeezelite might fail to start.
    Glimrende sak.
    Har en ren installasjon på MacOS, og ønsker å bruke samme metode for å velge USB utganger til 2 forskjellige DAC.
    Er litt utenfor komfort sonen så må bare spørre om det er noen som har gjort tilsvarende for MacOS, og er det helt lik fremgangsmåte for USB (altså 2 stk USB (av 4) som er koblet mot 2 ulike DAC)?
    (kan selvsagt ta en remote login og manuelt velge lydutgang, men helt enig med TS at hurtigtaster er mer effektivt)
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Glimrende sak.
    Har en ren installasjon på MacOS, og ønsker å bruke samme metode for å velge USB utganger til 2 forskjellige DAC.
    Er litt utenfor komfort sonen så må bare spørre om det er noen som har gjort tilsvarende for MacOS, og er det helt lik fremgangsmåte for USB (altså 2 stk USB (av 4) som er koblet mot 2 ulike DAC)?
    (kan selvsagt ta en remote login og manuelt velge lydutgang, men helt enig med TS at hurtigtaster er mer effektivt)
    Selve toggle metoden er kun ren oppdatering av en tekstlinje i Squeezelite sin konfigurasjon. Så det er egentlig ikke relatert til USB.
    Hvor man etter å ha endred teksten og lagret filen restarter Squeezelite med nye innstillinger.

    Jeg har oppdatert disse skriptene litt siden de først ble postet
    - https://github.com/StillNotWorking/LMS-helper-script/tree/main/materialskin#readme
    - https://github.com/StillNotWorking/LMS-helper-script/blob/main/squeezetoggle.sh

    Kjører du LMS og Squeezelite på samme maskin? Spør fordi at menyene kjører under LMS, mens endrigene foregår på den maskinen som kjører Squeezelite. Derfor får man et ekstra steg om det kjører på ulike maskiner.


    Edit:
    Mac-OS har ikke 'systemctl' så vidt jeg vet. Så de linjene må endres til gjeldene versjon fra Apple. Den var en gang kalt 'launchctl'
    Resten mener jeg er ren bach syntax ;)

    Ellers er det variablene SC1 og SC2 hvor du legger inn lydkortene
     
    Sist redigert:

    tjua

    Hi-Fi freak
    Ble medlem
    19.08.2012
    Innlegg
    3.440
    Antall liker
    2.424
    Sted
    Bergen
    Takk for kjapt respons, pr nå kjører SqueezeL og LMS på samme maskin. Har et håp om kun å bruke iPad og mobil til dette

    Launchctl it is.. har og trua på batch, det gjelder bare å finne de rette variablene
     

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    Takk for kjapt respons, pr nå kjører SqueezeL og LMS på samme maskin. Har et håp om kun å bruke iPad og mobil til dette

    Launchctl it is.. har og trua på batch, det gjelder bare å finne de rette variablene
    'squeezelite -l' lister lydkortene slik konfigurasjonsfilen vil se dem.
    Let etter dem som begynner med hw slik som eksempel her 'hw:CARD=Amanero,DEV=0'
     

    tjua

    Hi-Fi freak
    Ble medlem
    19.08.2012
    Innlegg
    3.440
    Antall liker
    2.424
    Sted
    Bergen
    Litt vedrørende avspilling av HighRes; MiniMac 2014, siste MacOS, to stk DAC koblet opp med USB A-B kabel, velger DAC fra lydvalg på MacM
    Har lastet ned denne dra Presto, Hi-Res+ FLAC(lossless, 192 kHz, 24 bit). Spiller den av og det høres ut som at den går på steroider, og buffres hele tiden, DAC identifiserer helt korrekt format i display
    Det gjelder begge mine DAC
    Går helt fint å spille med QuickTime Player til begge DAC. (noen som vet hvilke format QT støtter)
    Har testet ut hhv med og uten Enable DSD-over-PCM uten at det hjalp, noen forslag til hva dette kan skyldes?
    (Spiller annen musikk før og etter helt greit)

    Edit: Har andre filer DSD 352kHz - 5644 kbs DSF som kun avgir "suser i sivet" lyd, men som lar seg spille av på andre mæter
     
    Sist redigert:

    PeriodeLytter

    Hi-Fi freak
    Ble medlem
    26.02.2013
    Innlegg
    3.657
    Antall liker
    3.377
    @tjua - Forstår vi det slik at problemet er når du streamer med Squeezelite som player fra LMS?

    Jeg er ikke den rette til å gi tips da jeg personlig aldri har brukt tid på DSD. Siden 99% av all musikk jeg lytter til har sitt opphav fra multispors PCM innspillinger blir det liksom litt meningsløst. Soundcheck har en guide på DSD som muligens gir deg litt mer å gå på: https://soundcheck-audio.blogspot.com/p/the-rpi-audio-streaming-series-dsd.html

    Når det gjelder hi-rez PCM fra Squeelite lærte jeg nylig at Squeezelite har en funksjon hvor den ber ALSA resample om den feiler å åpne porten på opprinnelig SR til musikkfilen. Kan hende samme er tilfelle på MacOS om SR og bitdybde ikke er satt riktig under Audio Devices?
     
  • Laster inn…

Diskusjonstråd Se tråd i gallerivisning

  • Laster inn…
Topp Bunn