1SQUEEZELITE(1)              General Commands Manual             SQUEEZELITE(1)
2
3
4

NAME

6       squeezelite - Lightweight headless Squeezebox emulator
7

SYNOPSIS

9       squeezelite [options]
10

DESCRIPTION

12       Squeezelite  is  a  small  headless Logitech Squeezebox emulator. It is
13       aimed at supporting high quality audio including USB DAC  based  output
14       at multiple sample rates.
15
16       The  player is controlled using, and media is streamed from, a Logitech
17       Media Server instance running somewhere on the local network.
18

OPTIONS

20       This program supports the following options:
21
22       -?     Show a summary of the available command-line options.
23
24       -s <server>[:<port>]
25              Connect to the specified Logitech Media Server,  otherwise  uses
26              automatic  discovery  to  find server on the local network. This
27              option should only be needed if  automatic  discovery  does  not
28              work,  or  the  server is not on the local network segment (e.g.
29              behind a router).
30
31       -o <output device>
32              Specify the audio output device; the default value  is  default.
33              Use  the  -l  option to list available output devices.  - can be
34              used to output raw samples to standard output.
35
36       -l     List available audio output devices to stdout  and  exit.  These
37              device names can be passed to the -o option in order to select a
38              particular device or configuration to use for audio playback.
39
40       -a <params>
41              Specify parameters used when opening  an  audio  output  device.
42              For  ALSA,  the  format <b>:<p>:<f>:<m> is used where <b> is the
43              buffer time in milliseconds (values less than 500)  or  size  in
44              bytes  (default 40ms); <p> is the period count (values less than
45              50) or size in bytes (default 4 periods); <f> is the sample for‐
46              mat (possible values: 16, 24, 24_3 or 32); <m> is whether to use
47              mmap (possible values: 0 or 1).  For  PortAudio,  the  value  is
48              simply  the  target  latency in milliseconds. When the output is
49              sent to standard output, the value can be 16, 24  or  32,  which
50              denotes the sample size in bits.
51
52       -b <stream>:<output>
53              Specify  internal  stream  and output buffer sizes in kilobytes.
54              Default is 2048:3446.
55
56       -c <codec1>,...
57              Restrict codecs to those specified, otherwise load all available
58              codecs.  Use  squeezelite  -h to obtain the list of codecs built
59              into squeezelite.
60
61       -C <timeout>
62              Close the output device after <timeout> seconds  of  the  player
63              being  idle;  the  default  is to always keep the device open as
64              long as the payer is "on".
65
66       -d <category>=<level>
67              Set logging  level.  Categories  are:  all,  slimproto,  stream,
68              decode,  output  or  ir.   Levels can be: info, debug or sdebug.
69              The option can be repeated to set different log levels for  dif‐
70              ferent categories.
71
72       -e <codec1>,...
73              Explicitly  exclude  native  support  of one or more codecs. See
74              also -c, above.
75
76       -f <logfile>
77              Send logging output to a log file instead of standard output  or
78              standard error.
79
80       -G <Rpi GPIO#>:<H/L>
81              Specify the BCM GPIO# to use for Amp Power Relay and if the out‐
82              put should be Active High or Low. This cannot be used  with  the
83              -S option.
84
85       -i [<filename>]
86              Enable  LIRC  remote control support. If the optional <filename>
87              is not provided, ~/.lircrc is used instead.
88
89       -m <mac addr>
90              Override the player's MAC address. The  format  must  be  colon-
91              delimited  hexadecimal,  for example: ab:cd:ef:12:34:56. This is
92              usually automatically detected, and should not need to  be  pro‐
93              vided in most circumstances.
94
95       -M <modelname>
96              Override  the player's hardware model name. The default value is
97              SqueezeLite.
98
99       -n <name>
100              Set the player name. This name is used  by  the  Logitech  Media
101              Server  to refer to the player by name. This option is mututally
102              exclusive with -N.
103
104       -N <filename>
105              Allow the server to set the player's name. The  player  name  is
106              stored  in the file pointed to by <filename> so that it can per‐
107              sist between restarts. This option is mututally  exclusive  with
108              -n.
109
110       -O <mixer device>
111              Specify mixer device, defaults to <output device>.
112
113       -p <priority>
114              Set real time priority of output thread (1-99; default 45).  Not
115              applicable when using PortAudio.
116
117       -P <filename>
118              Write the process ID (PID) number to the given <filename>.  This
119              may be useful when running squeezelite as a daemon.
120
121       -r <rates>[:<delay>]
122              Specify  sample  rates  supported  by the output device; this is
123              required if the output device is switched off  when  squeezelite
124              is started. The format is either a single maximum sample rate, a
125              range of sample rates in the format <min>-<max>, or a comma-sep‐
126              arated  list  of  available  rates. Delay is an optional time to
127              wait when switching sample rates between  tracks,  in  millisec‐
128              onds.
129
130       -S <power script>
131              Absolute  path  to  script to launch on power commands from LMS.
132              This cannot be used with the -G option.
133
134       -u|-R [params]
135              Enable upsampling of played audio. The argument is optional; see
136              RESAMPLING  (below)  for more information. The options -u and -R
137              are synonymous.
138
139       -D [delay]
140              Output device supports DSD over PCM (DoP). DSD streams  will  be
141              converted  to DoP before output. If this option is not supplied,
142              DSD streams will be converted to PCM and resampled, so they  can
143              be  played  on a PCM DAC. Delay is an optional time to wait when
144              switching between PCM and DoP between tracks, in milliseconds.
145
146       -v     Enable visualiser support. This creates a shared memory  segment
147              that  contains some of the audio being played, so that an exter‐
148              nal visualiser can read and process this  to  create  visualisa‐
149              tions.
150
151       -W     Read  wave  and aiff format from header, ignoring server parame‐
152              ters.
153
154       -L     List available volume  controls  for  the  output  device.  Only
155              applicable when using ALSA output.
156
157       -U <control>
158              Unmute  the given ALSA <control> at daemon startup and set it to
159              full volume. Use software volume adjustment for  playback.  This
160              option is mutually exclusive with the -V option. Only applicable
161              when using ALSA output.
162
163       -V <control>
164              Use the given ALSA <control> for volume adjustment during  play‐
165              back.  This  prevents  the use of software volume control within
166              squeezelite. This option  is  mutually  exclusive  with  the  -U
167              option.  If neither -U nor -V options are provided, no ALSA con‐
168              trols are adjusted while running squeezelite and software volume
169              control is used instead. Only applicable when using ALSA output.
170
171       -X     Use  linear  volume  adjustments instead of in terms of dB (only
172              for hardware volume control).
173
174       -z     Cause squeezelite to run as  a  daemon.  That  is,  it  detaches
175              itself from the terminal and runs in the background.
176
177       -Z <rate>
178              Report  rate to server in helo as the maximum sample rate we can
179              support.
180
181       -t     Display version and license information.
182

RESAMPLING

184       Audio can be resampled or upsampled before being  sent  to  the  output
185       device.  This  can  be  enabled  simply  by  passing  the  -u option to
186       squeezelite, but further configuration can be given as an  argument  to
187       the option.
188
189       Resampling is performed using the SoX Resampler library; the documenta‐
190       tion for that library and the SoX rate effect many be helpful when con‐
191       figuring upsampling for squeezelite.
192
193       The  format  of  the argument is <recipe>:<flags>:<attenuation>:<preci‐
194       sion>:<passband_end>:<stopband_start>:<phase_response>
195
196   recipe
197       This part of the argument string is made up of a number of single-char‐
198       acter flags: [v|h|m|l|q][L|I|M][s][E|X]. The default value is hL.
199
200       v, h, m, l or q
201              are  mutually  exclusive  and  correspond  to  very  high, high,
202              medium, low or quick quality.
203
204       L, I or M
205              correspond to linear, intermediate or minimum phase.
206
207       s      changes resampling bandwidth from the default 95% (based on  the
208              3dB point) to 99%.
209
210       E      exception  - avoids resampling if the output device supports the
211              playback sample rate natively.
212
213       X      resamples to the maximum  sample  rate  for  the  output  device
214              ("asynchronous" resampling).
215
216       Examples
217              -u  vLs would use very high quality setting, linear phase filter
218              and steep cut-off.
219              -u hM would specify high quality, with the minimum phase filter.
220              -u hMX would specify high quality, with the minimum phase filter
221              and async upsampling to max device rate.
222
223   flags
224       The  second optional argument to -u allows the user to specify the fol‐
225       lowing arguments (taken from the soxr.h header file), in hex:
226
227       #define SOXR_ROLLOFF_SMALL     0u  /* <= 0.01 dB */
228       #define SOXR_ROLLOFF_MEDIUM    1u  /* <= 0.35 dB */
229       #define SOXR_ROLLOFF_NONE      2u  /* For Chebyshev bandwidth. */
230
231       #define SOXR_MAINTAIN_3DB_PT   4u  /* Reserved for internal use. */
232       #define SOXR_HI_PREC_CLOCK     8u  /* Increase 'irrational' ratio accu‐
233       racy. */
234       #define  SOXR_DOUBLE_PRECISION 16u  /* Use D.P. calcs even if precision
235       <= 20. */
236       #define  SOXR_VR                32u   /*  Experimental,   variable-rate
237       resampling. */
238
239       Examples
240              -u :2 would specify SOXR_ROLLOFF_NONE.
241
242              NB:  In  the  example above the first option, <quality>, has not
243              been specified so would default to hL. Therefore, specifying  -u
244              :2 is equivalent to having specified -u hL:2.
245
246   attenuation
247       Internally,  data is passed to the SoX resample process as 32 bit inte‐
248       gers and output from the SoX resample process as 32 bit  integers.  Why
249       does  this matter?  There is the possibility that integer samples, once
250       resampled may be clipped (i.e. exceed the maximum value).  By  default,
251       if  you do not specify an attenuation value, it will default to -1db. A
252       value of 0 on the command line, i.e. -u ::0 will  disable  the  default
253       -1db attenuation being applied.
254
255       NB: Clipped samples will be logged. Keep an eye on the log file.
256
257       Examples
258              -u  ::6  specifies to apply -6db (ie. halve the volume) prior to
259              the resampling process.
260
261   precision
262       The internal 'bit' precision used in the re-sampling calculations  (ie.
263       quality).
264
265       NB: HQ = 20, VHQ = 28.
266
267       Examples
268              -u :::28 specifies 28-bit precision.
269
270   passband_end
271       A  percentage  value  between  0 and 100, where 100 is the Nyquist fre‐
272       quency. The default if not explicitly set is 91.3.
273
274       Examples
275              -u ::::98 specifies passband ends at 98 percent of  the  Nyquist
276              frequency.
277
278   stopband_start
279       A  percentage  value  between  0 and 100, where 100 is the Nyquist fre‐
280       quency. The default if not explicitly set is 100.
281
282       Examples
283              -u :::::100 specifies that the stopband starts  at  the  Nyquist
284              frequency.
285
286   phase_response
287       A  value  between 0-100, where 0 is equivalent to the recipe M flag for
288       minimum phase, 25 is equivalent to the recipe I flag  for  intermediate
289       phase and 50 is equivalent to the recipe L flag for linear phase.
290
291       Examples
292              -u ::::::50 specifies linear phase.
293

SEE ALSO

295       http://wiki.slimdevices.com/index.php/Squeezelite
296
297       http://wiki.slimdevices.com/index.php/Logitech_Media_Server
298
299       sox(1) for further information about resampling.
300
301
302
303Debian Project                    2018-05-23                    SQUEEZELITE(1)
Impressum