Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SQUEEZELITE(1)		    General Commands Manual		SQUEEZELITE(1)

NAME
       squeezelite - Lightweight headless Squeezebox emulator

SYNOPSIS
       squeezelite [options]

DESCRIPTION
       Squeezelite  is	a  small  headless Logitech Squeezebox emulator. It is
       aimed at	supporting high	quality	audio including	USB DAC	 based	output
       at multiple sample rates.

       The  player  is	controlled using, and media is streamed	from, a	Lyrion
       Music Server instance running somewhere on the local network.

OPTIONS
       This program supports the following options:

       -?     Show a summary of	the available command-line options.

       -s <server>[:<port>]
	      Connect to the specified Lyrion Music Server, otherwise uses au-
	      tomatic discovery	to find	server on the local network. This  op-
	      tion should only be needed if automatic discovery	does not work,
	      or the server is not on the local	network	segment	(e.g. behind a
	      router).

       -o <output device>
	      Specify  the  audio output device; the default value is default.
	      Use the -l option	to list	available output devices.   -  can  be
	      used to output raw samples to standard output.

       -l     List  available  audio  output devices to	stdout and exit. These
	      device names can be passed to the	-o option in order to select a
	      particular device	or configuration to use	for audio playback.

       -a <params>
	      Specify parameters used when opening an audio output device.

	      For ALSA,	the format <b>:<p>:<f>:<m>:<d> is used	where  <b>  is
	      the  buffer  time	in milliseconds	(values	less than 500) or size
	      in bytes (default	40ms); <p> is the period  count	 (values  less
	      than 50) or size in bytes	(default 4 periods); <f> is the	sample
	      format  (possible	values:	16, 24,	24_3 or	32); <m> is whether to
	      use mmap (possible values: 0 or 1).  <d> open ALSA output	device
	      twice. (possible values: 0 or 1).

	      For Linux	PortAudio, the value <l> is simply the target  latency
	      in milliseconds.

	      For  MacOS,  <l>:<r> <l> is target latency in milliseconds.  <r>
	      open device in Pro Mode or Play Nice (respective	values:	 0  or
	      1).

	      For Windows, <l>:<e> <l> is target latency in milliseconds.  <e>
	      use exclusive mode for WASAPI (possible values: 0	or 1).

	      When the output is sent to standard output, the value can	be 16,
	      24  or  32, which	denotes	the sample size	in bits. Little	Endian
	      only.

       -b <stream>:<output>
	      Specify internal stream and output buffer	 sizes	in  kilobytes.
	      Default is 2048:3445.

       -c <codec1>,...
	      Restrict codecs to those specified, otherwise load all available
	      codecs.  Use  squeezelite	-?  to obtain the list of codecs built
	      into squeezelite.

       -C <timeout>
	      Close the	output device after <timeout> seconds  of  the	player
	      being  idle;  the	 default  is to	always keep the	device open as
	      long as the payer	is "on".

       -d <category>=<level>
	      Set logging level. Categories are: all, slimproto,  stream,  de-
	      code,  output or ir.  Levels can be: info, debug or sdebug.  The
	      option can be repeated to	set different log levels for different
	      categories.

       -e <codec1>,...
	      Explicitly exclude native	support	of one	or  more  codecs.  See
	      also -c, above.

       -f <logfile>
	      Send  logging output to a	log file instead of standard output or
	      standard error.

       -G <GPIO	Chip>:<GPIO#>:<H/L>
	      Specify the kernel gpio chip number.  Specify the	GPIO Line#  to
	      use  for Amp Power Relay and if the output should	be Active High
	      or Low. This cannot be used with the -S option.

       -i [<filename>]
	      Enable LIRC remote control support. If the  optional  <filename>
	      is not provided, ~/.lircrc is used instead.

       -m <mac addr>
	      Override	the player's MAC address. The format must be colon-de-
	      limited hexadecimal, for	example:  ab:cd:ef:12:34:56.  This  is
	      usually  automatically  detected,	and should not need to be pro-
	      vided in most circumstances.

       -M <modelname>
	      Override the player's hardware model name. The default value  is
	      SqueezeLite.

       -n <name>
	      Set  the	player	name.  This  name  is used by the Lyrion Music
	      Server to	refer to the player by name. This option  is  mutually
	      exclusive	with -N.

       -N <filename>
	      Allow  the  server  to set the player's name. The	player name is
	      stored in	the file pointed to by <filename> so that it can  per-
	      sist  between  restarts.	This option is mutually	exclusive with
	      -n.

       -O <mixer device>
	      Specify mixer device, defaults to	<output	device>.

       -p <priority>
	      Set real time priority of	output thread (1-99; default 45).  Not
	      applicable when using PortAudio.

       -P <filename>
	      Write the	process	ID (PID) number	to the given <filename>.  This
	      may be useful when running squeezelite as	a daemon.

       -r <rates>[:<delay>]
	      Specify sample rates supported by	the output device; this	is re-
	      quired if	the output device is switched off when squeezelite  is
	      started.	The  format  is	either a single	maximum	sample rate, a
	      range of sample rates in the format <min>-<max>, or a comma-sep-
	      arated list of available rates. Delay is	an  optional  time  to
	      wait  when  switching  sample rates between tracks, in millisec-
	      onds.

       -S <power script>
	      Absolute path to script to launch	on power  commands  from  LMS.
	      This cannot be used with the -G option.

       -u|-R [params]
	      Enable upsampling	of played audio. The argument is optional; see
	      RESAMPLING  (below)  for more information. The options -u	and -R
	      are synonymous.

       -D [delay]
	      Output device supports DSD over PCM (DoP). DSD streams  will  be
	      converted	 to DoP	before output. If this option is not supplied,
	      DSD streams will be converted to PCM and resampled, so they  can
	      be  played  on a PCM DAC.	Delay is an optional time to wait when
	      switching	between	PCM and	DoP between tracks, in milliseconds.

       -v     Enable visualiser	support. This creates a	shared memory  segment
	      that  contains some of the audio being played, so	that an	exter-
	      nal visualiser can read and process this	to  create  visualisa-
	      tions.

       -W     Read  wave  and aiff format from header, ignoring	server parame-
	      ters.

       -L     List available volume controls for the output device.  Only  ap-
	      plicable when using ALSA output.

       -U <control>
	      Unmute  the given	ALSA <control> at daemon startup and set it to
	      full volume. Use software	volume adjustment for  playback.  This
	      option is	mutually exclusive with	the -V option. Only applicable
	      when using ALSA output.

       -V <control>
	      Use  the given ALSA <control> for	volume adjustment during play-
	      back. This prevents the use of software  volume  control	within
	      squeezelite.  This  option is mutually exclusive with the	-U op-
	      tion. If neither -U nor -V options are provided,	no  ALSA  con-
	      trols are	adjusted while running squeezelite and software	volume
	      control is used instead. Only applicable when using ALSA output.

       -X     Use  linear  volume  adjustments instead of in terms of dB (only
	      for hardware volume control).

       -z     Cause squeezelite	to run as a daemon. That is, it	 detaches  it-
	      self from	the terminal and runs in the background.

       -Z <rate>
	      Report  rate to server in	helo as	the maximum sample rate	we can
	      support.

       -t     Display version and license information.

RESAMPLING
       Audio can be resampled or upsampled before being	sent to	the output de-
       vice.  This  can	 be  enabled  simply  by  passing  the	-u  option  to
       squeezelite,  but  further configuration	can be given as	an argument to
       the option.

       Resampling is performed using the SoX Resampler library;	the documenta-
       tion for	that library and the SoX rate effect many be helpful when con-
       figuring	upsampling for squeezelite.

       The format of the  argument  is	<recipe>:<flags>:<attenuation>:<preci-
       sion>:<passband_end>:<stopband_start>:<phase_response>

   recipe
       This part of the	argument string	is made	up of a	number of single-char-
       acter flags: [v|h|m|l|q][L|I|M][s][E|X].	The default value is hL.

       v, h, m,	l or q
	      are  mutually  exclusive	and  correspond	 to  very  high, high,
	      medium, low or quick quality.

       L, I or M
	      correspond to linear, intermediate or minimum phase.

       s      changes resampling bandwidth from	the default 95%	(based on  the
	      3dB point) to 99%.

       E      exception	 - avoids resampling if	the output device supports the
	      playback sample rate natively.

       X      resamples	to the maximum	sample	rate  for  the	output	device
	      ("asynchronous" resampling).

       Examples
	      -u  vLs would use	very high quality setting, linear phase	filter
	      and steep	cut-off.
	      -u hM would specify high quality,	with the minimum phase filter.
	      -u hMX would specify high	quality, with the minimum phase	filter
	      and async	upsampling to max device rate.

   flags
       The second optional argument to -u allows the user to specify the  fol-
       lowing arguments	(taken from the	soxr.h header file), in	hex:

       #define SOXR_ROLLOFF_SMALL     0u  /* <=	0.01 dB	*/
       #define SOXR_ROLLOFF_MEDIUM    1u  /* <=	0.35 dB	*/
       #define SOXR_ROLLOFF_NONE      2u  /* For Chebyshev bandwidth. */

       #define SOXR_MAINTAIN_3DB_PT   4u  /* Reserved for internal use.	*/
       #define SOXR_HI_PREC_CLOCK     8u  /* Increase 'irrational' ratio accuracy. */
       #define SOXR_DOUBLE_PRECISION 16u  /* Use D.P. calcs even if precision <= 20. */
       #define SOXR_VR		     32u  /* Experimental, variable-rate resampling. */

       Examples
	      -u :2 would specify SOXR_ROLLOFF_NONE.

	      NB:  In  the  example above the first option, <quality>, has not
	      been specified so	would default to hL. Therefore,	specifying  -u
	      :2 is equivalent to having specified -u hL:2.

   attenuation
       Internally,  data is passed to the SoX resample process as 32 bit inte-
       gers and	output from the	SoX resample process as	32 bit	integers.  Why
       does  this matter?  There is the	possibility that integer samples, once
       resampled may be	clipped	(i.e. exceed the maximum value).  By  default,
       if  you do not specify an attenuation value, it will default to -1db. A
       value of	0 on the command line, i.e. -u ::0 will	 disable  the  default
       -1db attenuation	being applied.

       NB: Clipped samples will	be logged. Keep	an eye on the log file.

       Examples
	      -u  ::6  specifies to apply -6db (ie. halve the volume) prior to
	      the resampling process.

   precision
       The internal 'bit' precision used in the	re-sampling calculations  (ie.
       quality).

       NB: HQ =	20, VHQ	= 28.

       Examples
	      -u :::28 specifies 28-bit	precision.

   passband_end
       A  percentage  value  between  0	and 100, where 100 is the Nyquist fre-
       quency. The default if not explicitly set is 91.3.

       Examples
	      -u ::::98	specifies passband ends	at 98 percent of  the  Nyquist
	      frequency.

   stopband_start
       A  percentage  value  between  0	and 100, where 100 is the Nyquist fre-
       quency. The default if not explicitly set is 100.

       Examples
	      -u :::::100 specifies that the stopband starts  at  the  Nyquist
	      frequency.

   phase_response
       A  value	 between 0-100,	where 0	is equivalent to the recipe M flag for
       minimum phase, 25 is equivalent to the recipe I flag  for  intermediate
       phase and 50 is equivalent to the recipe	L flag for linear phase.

       Examples
	      -u ::::::50 specifies linear phase.

SEE ALSO
       http://wiki.slimdevices.com/index.php/Squeezelite

       https://lyrion.org/

       sox(1) for further information about resampling.

Debian Project			  2024-04-03			SQUEEZELITE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=squeezelite&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help