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

RESAMPLING

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

SEE ALSO

308       http://wiki.slimdevices.com/index.php/Squeezelite
309
310       http://wiki.slimdevices.com/index.php/Logitech_Media_Server
311
312       sox(1) for further information about resampling.
313
314
315
316Debian Project                    2020-07-16                    SQUEEZELITE(1)
Impressum