Players/LMS-Squeezelite: Difference between revisions

From Snakeoil OS Reference
Jump to navigation Jump to search
No edit summary
(Expanded streaming services)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{abox|Still A Work in Progress}}
{{abox|Still A Work in Progress}}
[[File:Music Player - squeezelite logo.png|left|frame|Music Player - squeezelite logo]]
[[File:Music Player - squeezelite logo.png|left|frame|Music Player - squeezelite logo]]
{{DISPLAYTITLE: Logitech Media Server + Squeezelite}}{{TopicPlayers|float:right;}}While MPD reveals a lot of microdetails with the recordings, Logitech Media Server (LMS) with Squeezelite reveal a lot about the music itself.   
{{DISPLAYTITLE: Logitech Media Server + Squeezelite}}{{TopicPlayers|float:right;}}While MPD reveals a lot of micro details with the recordings, Logitech Media Server (LMS) with Squeezelite reveal a lot about the music itself.   


Squeezelite is a piece of computer software that converts your computer into a Squeezebox clone. The PC then act as a client and it communicates with Logitech Media Server (LMS) to source and play music. LMS is responsible for managing your music library while squeezelite is responsible for playback.  
Squeezelite is a piece of computer software that converts your computer into a Squeezebox clone. The PC then act as a client and it communicates with Logitech Media Server (LMS) to source and play music. LMS is responsible for managing your music library while squeezelite is responsible for playback.  


You can setup multiple Squeezelite clients, all connected to this single LMS. You can control whether to let all clients play in sync to the same playlist, or different tracks for different players. This creates a highly flexible multi-zone setup for various applications and use cases.  
You can setup multiple Squeezelite clients, all connected to this single LMS. You can control whether to let all clients play in sync to the same playlist, or different tracks for different players. This creates a highly flexible multi-zone setup for various applications and use cases.  


And LMS has a [http://wiki.slimdevices.com/index.php/Logitech_Media_Server_Plugins big list of plugins] available to expand the base features, including DSP, and streaming services like Spotify, Tidal, etc. 
Words I'll associate with LMS+Squeezelite combo:
 
Words I'll associate with LMS+Squeezelite combo:


*euphoric,
*euphoric,
Line 19: Line 17:


The Squeezelite player turns your computer into a Squeezebox clone. Allowing you to play music managed by a Logitech Media Server (LMS) on your network. Snakeoil comes with LMS pre-installed but registered users has the option of disabling the bundled LMS if they already have one running in the network (e.g. from a NAS).
The Squeezelite player turns your computer into a Squeezebox clone. Allowing you to play music managed by a Logitech Media Server (LMS) on your network. Snakeoil comes with LMS pre-installed but registered users has the option of disabling the bundled LMS if they already have one running in the network (e.g. from a NAS).
LMS has many plugins available to expand the base features, including improving the user experience and adding streaming services like Spotify, Tidal, Qobuz, Deezer.  Please note that LMS Wiki is somewhat out of date and it is better to access the Plugins page to see what is available.   
[[File:LMS plugins.jpg|center|thumb|900x900px|LMS plugins example]]         


==Disable Software Volume Control==
==Disable Software Volume Control==
Line 24: Line 26:


Click LMS Web link as shown to start the client:
Click LMS Web link as shown to start the client:
[[File:Music Players - LMS WebApp.png|center|thumb|985x985px|Click on this to start the LMS Web Client.]]
[[File:LMS access web page.jpg|center|thumb|985x985px|Click on this to start the LMS Web Client.]]
And you should see this screen. The audio device added should appear in the top right corner (e.g. QLS).  
And you should see this screen. The audio device added should appear in the top right corner (e.g. QLS).  
[[File:LMS Web Client.png|center|thumb|1259x1259px|LMS Web Client]]
[[File:LMS Web Client.png|center|thumb|1259x1259px|LMS Web Client]]
Line 39: Line 41:
===Playing Back DSD===
===Playing Back DSD===
With DSD materials you can choose to either play it as DoP (if your DAC supports it), or have LMS convert DSD to PCM and send the PCM bitstream to your DAC. This is an example of a audio device that don't do DSD:
With DSD materials you can choose to either play it as DoP (if your DAC supports it), or have LMS convert DSD to PCM and send the PCM bitstream to your DAC. This is an example of a audio device that don't do DSD:
[[File:Music Player - ALSA Device Configuration.png|center|thumb|557x557px|Music Player - ALSA Config for DSD]]
[[File:Dop.jpg|center|thumb|557x557px|Music Player - Config for DSD]]
If you set your audio device like the above you will need to make one more change to LMS. Go to the "''advanced''" tab, and click on the drop down box, and go to the "''File Types''" options, like so:
If you set your audio device like the above you will need to make one more change to LMS. Go to the "''advanced''" tab, and click on the drop down box, and go to the "''File Types''" options, like so:
[[File:LMS Goto Filetypes.png|center|thumb|717x717px|LMS Goto Filetypes To Configure what to do with DSD/DSF files]]
[[File:LMS Goto Filetypes.png|center|thumb|717x717px|LMS Goto Filetypes To Configure what to do with DSD/DSF files]]
Line 57: Line 59:
==Playing music via a smartphone App==
==Playing music via a smartphone App==
[[File:Squeezer Remote Client.png|center|thumb|384x384px|Squeezer Remote Client]]
[[File:Squeezer Remote Client.png|center|thumb|384x384px|Squeezer Remote Client]]
There are many smartphone apps that work with LMS. I'm in the Android ecosystem, and have been using Squeezer for a while now. It gives the same functionalities as the LMS web pages, but in a smaller footprint so it's more like a remote control. Similiar apps are available on Apple too, Squeezepad seems to be a popular choice.
There are many smartphone apps that work with LMS. I'm in the Android ecosystem, and have been using Squeezer for a while now. It gives the same functionalities as the LMS web pages, but in a smaller footprint so it's more like a remote control. Similiar apps are available on Apple too, iPeng and Squeezepad seem to be a popular choice.
 
== Music streaming services ==
LMS has plugins for music streaming services like Spotify, Tidal, Qobuz and many others.   


=== Set up service ===
Firstly, enable the streaming service plugin. 
[[File:LMS streaming plugins.jpg|center|thumb|1200x1200px|LMS - a sample of streaming plugins]] 
Then go to the settings page for the streaming plugin and enter the details. 
[[File:LMS Qobuz.jpg|center|thumb|800x800px|LMS Qobuz plugin]]
=== Searching streaming service content ===
The easiest way to access a streaming service is to do a search and look at the results on the streaming service. 
[[File:LMS web Qobuz search.jpg|center|thumb|900x900px|LMS web - searching streaming service content]]
Search for an artist (or album, song) e.g. Adele, click on Browse Qobuz, click on albums to display Qobuz albums.
Select and play music, like you would with your own content.  You can create playlists of music from the streaming service and re-use like normal playlists of local music. Note that the LMS playlist is different, and not compatible, to the streaming service playlist. 
 
The same search can be done on a LMS phone App such as Squeezer. 
[[File:Qobuz.jpg|center|thumb|700x700px|Squeezer - searching streaming service content]]
=== Browsing streaming service content ===
You can browse the streaming service content by accessing My Apps.
[[File:LMS web Qobuz browse.jpg|center|thumb|1200x1200px|LMS web - browsing streaming service content]]
You can browse through streaming service content such as playlists, selections etc. and expand your repertoire. Similarly, you can also use a LMS phone App to browse.
=== Tips for streaming service ===
If the music skips unexpectedly to the next track in the playlist,  there may be a problem with your network or the streaming service is slow due to heavy demand.  It may be possible to reduce this problem by changing the streaming mode to persistent or cache.
[[File:Persistent.jpg|center|thumb|600x600px|Streaming mode]]
If you are using the UPnP/DLNA Bridge, note that the default max sample rate is 48 kHz.  If your streaming service provides higher resolution (e.g. Qobuz), please change the max sample rate to suit.
[[File:Upmpdcli streaming.jpg|center|thumb|800x800px|UPnP Bridge setting for streaming resolution]]
<br />
==Extra Options==
==Extra Options==
Some players have a text box beside it, e.g. ''Enter extra mpd-dsd-rt options here''. This means the player support extra configuration options you can fine tune.  
Some players have a text box beside it, e.g. ''Enter extra mpd-dsd-rt options here''. This means the player support extra configuration options you can fine tune.  
Line 88: Line 121:
   -U <control> Unmute ALSA control and set to full volume (not supported with -V)
   -U <control> Unmute ALSA control and set to full volume (not supported with -V)
   -V <control> Use ALSA control for volume adjustment, otherwise use software volume adjustment
   -V <control> Use ALSA control for volume adjustment, otherwise use software volume adjustment
As an example, to generate Squeezelite logs, you can enter something like this in the Extra Options field:<syntaxhighlight lang="abl" line="1">
-f /tmp/squeezelite.log -d all=info
</syntaxhighlight>
[[File:Squeezelite extra options add logging.png|center|thumb|300x300px]]


{{ManualNavigation|[[Players|Music Players]]
{{ManualNavigation|[[Players|Music Players]]

Latest revision as of 12:08, 23 December 2022

!icon.png Still A Work in Progress

Music Player - squeezelite logo

While MPD reveals a lot of micro details with the recordings, Logitech Media Server (LMS) with Squeezelite reveal a lot about the music itself.

Squeezelite is a piece of computer software that converts your computer into a Squeezebox clone. The PC then act as a client and it communicates with Logitech Media Server (LMS) to source and play music. LMS is responsible for managing your music library while squeezelite is responsible for playback.

You can setup multiple Squeezelite clients, all connected to this single LMS. You can control whether to let all clients play in sync to the same playlist, or different tracks for different players. This creates a highly flexible multi-zone setup for various applications and use cases.

Words I'll associate with LMS+Squeezelite combo:

  • euphoric,
  • natural,
  • relaxing, and
  • easy-listening.

This is a good combination to go with when you simply want to unwind at the end of the day, chill out and relax.

The Squeezelite player turns your computer into a Squeezebox clone. Allowing you to play music managed by a Logitech Media Server (LMS) on your network. Snakeoil comes with LMS pre-installed but registered users has the option of disabling the bundled LMS if they already have one running in the network (e.g. from a NAS).


LMS has many plugins available to expand the base features, including improving the user experience and adding streaming services like Spotify, Tidal, Qobuz, Deezer. Please note that LMS Wiki is somewhat out of date and it is better to access the Plugins page to see what is available.

LMS plugins example

Disable Software Volume Control

LMS by default applies software volume control. The first thing you need to do (which Snakeoil can't automate) is to change the settings for all your installed players. People who rely on software volume control should ignore this step.

Click LMS Web link as shown to start the client:

Click on this to start the LMS Web Client.

And you should see this screen. The audio device added should appear in the top right corner (e.g. QLS).

LMS Web Client

Click on the "Settings" button at the lower right to begin adjusting the software volume control settings.

Click this Settings button to configure LMS

A new browser window will pop up. Do not change the media and playlist folders as that's where all the music will be located. The other fields can be adjusted according to your needs and preferences.

LMS Settings

Click the word "player", then click the drop down box where it says "Basic" and select the item "Audio".

LMS Goto Audio Configuration

Make sure the selection highlighted by the ugly arrows are set as per the picture. Setting this feature is very important as it gives you a fair ground to compare this against all other players in Snakeoil. i.e. have all players output in bitperfect, then and only then can you even begin to make an assessment on which player you want to use as your primary player.

LMS Adjust Audio Parameters

Click on the "apply" in the far bottom right to save your changes.

Playing Back DSD

With DSD materials you can choose to either play it as DoP (if your DAC supports it), or have LMS convert DSD to PCM and send the PCM bitstream to your DAC. This is an example of a audio device that don't do DSD:

Music Player - Config for DSD

If you set your audio device like the above you will need to make one more change to LMS. Go to the "advanced" tab, and click on the drop down box, and go to the "File Types" options, like so:

LMS Goto Filetypes To Configure what to do with DSD/DSF files

Scroll down the list until you see the entries DFF and DSF. Adjust the settings like so to have LMS convert DSD material into PCM.

LMS Enable/Disable Native DSD Play

When you changed to another DAC  that supports DSD, you'd have to modify the hardware settings to enable DoP support, and then revisit this filetypes page and set DFF/DSF back like so:

LMS toggle DSD playback

To undo, set it back to "Disabled". Hopefully a future version of Snakeoil will automate this.

Playing music using LMS web interface

If you've just installed Snakeoil, and added your music library, give it a few minutes for LMS to scan the directories and add it to the database. Once the files are read and tagged, you can use the surprisingly useful web interface as your remote control:

LMS List Of Your Music Library

LMS gives you many ways to look up your music, be it by Folder names, artists, composers and so on. Once added to the queue, the tracks will be shown to your right, refer to the first picture.

Hover your mouse over any icon to discover it's role.

Playing music via a smartphone App

Squeezer Remote Client

There are many smartphone apps that work with LMS. I'm in the Android ecosystem, and have been using Squeezer for a while now. It gives the same functionalities as the LMS web pages, but in a smaller footprint so it's more like a remote control. Similiar apps are available on Apple too, iPeng and Squeezepad seem to be a popular choice.

Music streaming services

LMS has plugins for music streaming services like Spotify, Tidal, Qobuz and many others.

Set up service

Firstly, enable the streaming service plugin.

LMS - a sample of streaming plugins

Then go to the settings page for the streaming plugin and enter the details.

LMS Qobuz plugin

Searching streaming service content

The easiest way to access a streaming service is to do a search and look at the results on the streaming service.

LMS web - searching streaming service content

Search for an artist (or album, song) e.g. Adele, click on Browse Qobuz, click on albums to display Qobuz albums. Select and play music, like you would with your own content. You can create playlists of music from the streaming service and re-use like normal playlists of local music. Note that the LMS playlist is different, and not compatible, to the streaming service playlist.

The same search can be done on a LMS phone App such as Squeezer.

Squeezer - searching streaming service content

Browsing streaming service content

You can browse the streaming service content by accessing My Apps.

LMS web - browsing streaming service content

You can browse through streaming service content such as playlists, selections etc. and expand your repertoire. Similarly, you can also use a LMS phone App to browse.

Tips for streaming service

If the music skips unexpectedly to the next track in the playlist, there may be a problem with your network or the streaming service is slow due to heavy demand. It may be possible to reduce this problem by changing the streaming mode to persistent or cache.

Streaming mode


If you are using the UPnP/DLNA Bridge, note that the default max sample rate is 48 kHz. If your streaming service provides higher resolution (e.g. Qobuz), please change the max sample rate to suit.

UPnP Bridge setting for streaming resolution


Extra Options

Some players have a text box beside it, e.g. Enter extra mpd-dsd-rt options here. This means the player support extra configuration options you can fine tune.

Extra Options for Squeezelite

You can put almost all the squeezelite command line in here, except -l, -z, -m, -n and -o. You can use this to really customise Squeezelite, tweak the buffers and so on. Here is the command line explanations:

 -s <server>[:<port>] Connect to specified server, otherwise uses autodiscovery to find server
 -a <b>:<p>:<f>:<m> Specify ALSA params to open output device, b = buffer time in ms or size in bytes, p = period count or size in bytes, f sample format (16|24|24_3|32), m = use mmap (0|1)
 -a <f> Specify sample format (16|24|32) of output file when using -o - to output samples to stdout (interleaved little endian only)
 -b <stream>:<output> Specify internal Stream and Output buffer sizes in Kbytes
 -c <codec1>,<codec2> Restrict codecs to those specified, otherwise load all available codecs; known codecs: flac,pcm,mp3,ogg,aac,dsd (mad,mpg for specific mp3 codec)
 -C <timeout> Close output device when idle after timeout seconds, default is to keep it open while player is 'on'
 -d <log>=<level> Set logging level, logs: all|slimproto|stream|decode|output, level: info|debug|sdebug
 -e <codec1>,<codec2> Explicitly exclude native support of one or more codecs; known codecs: flac,pcm,mp3,ogg,aac,dsd (mad,mpg for specific mp3 codec)
 -f <logfile> Write debug to logfile
 -M <modelname> Set the squeezelite player model name sent to the server (default: SqueezeLite)
 -N <filename> Store player name in filename to allow server defined name changes to be shared between servers (not supported with -n)
 -p <priority> Set real time priority of output thread (1-99)
 -P <filename> Store the process id (PID) in filename
 -r <rates>[:<delay>] Sample rates supported, allows output to be off when squeezelite is started; rates = <maxrate>|<minrate>-<maxrate>|<rate1>,<rate2>,<rate3>; delay = optional delay switching rates in ms
 -R -u [params] Resample, params = <recipe>:<flags>:<attenuation>:<precision>:<passband_end>:<stopband_start>:<phase_response>,
 recipe = (v|h|m|l|q)(L|I|M)(s) [E|X], E = exception - resample only if native rate not supported, X = async - resample to max rate for device, otherwise to max sync rate
 flags = num in hex,
 attenuation = attenuation in dB to apply (default is -1db if not explicitly set),
 precision = number of bits precision (NB. HQ = 20. VHQ = 28),
 passband_end = number in percent (0dB pt. bandwidth to preserve. nyquist = 100%),
 stopband_start = number in percent (Aliasing/imaging control. > passband_end),
 phase_response = 0-100 (0 = minimum / 50 = linear / 100 = maximum)
 -U <control> Unmute ALSA control and set to full volume (not supported with -V)
 -V <control> Use ALSA control for volume adjustment, otherwise use software volume adjustment

As an example, to generate Squeezelite logs, you can enter something like this in the Extra Options field:

-f /tmp/squeezelite.log -d all=info
Squeezelite extra options add logging.png


 Main   Music Players    Music Player Daemon (MPD)   XMMS