1SQUEEZELITE(1) General Commands Manual SQUEEZELITE(1)
2
3
4
6 squeezelite - Lightweight headless Squeezebox emulator
7
9 squeezelite [options]
10
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
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 -V
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
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
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)