96
98
commands are not saved as part of chainsetup or session
99
<p><dt><strong>--daemon</strong><dd>
100
Enable ecasound's daemon mode. If this option is given,
101
ecasound will allow clients to connect to the running
102
ecasound session using a TCP/IP network connection.
103
The clients can both observe and control the session.
105
<em>Warning!</em> As there is no access control implemented,
106
be sure to block ecasound's port in your firewall
107
if the machine running ecasound is connected to
108
a public network! Otherwise anyone can connect to
109
your ecasound sessions.
111
<p><dt><strong>--daemon-port</strong><dd>
101
<p><dt><strong>--server</strong><dd>
102
Enables the so called NetECI mode, in which ecasound can
103
be controlled remotely over a socket connection. When
104
activated, clients can connect to the running ecasound
105
session, and use interactive mode commands to control and
106
observe ecasound processing.
108
One example client using this feature is ecamonitor(1). This
109
utility is included in the Ecasound distribution package (requires
110
a working Python environment).
112
<em>Warning!</em> If the machine running ecasound, is connected to
113
a public network, be sure to block ecasound's port in your
114
firewall! As there is no access control implemented for incoming
115
connections, anyone can otherwise connect, control and observe your
117
This option replaces '--daemon' (deprecated in 2.6.0).
119
<p><dt><strong>--server-tcp-port=NNN</strong><dd>
112
120
Set the TCP port used by the daemon mode. By default
113
121
ecasound will use port number <em>2868</em>.
122
This option replaces '--daemon-port' (deprecated in 2.6.0).
115
<p><dt><strong>--nodaemon</strong><dd>
124
<p><dt><strong>--no-server</strong><dd>
116
125
Disable ecasound's daemon mode. This is the default.
126
This option replaces '--nodaemon' (deprecated in 2.6.0).
118
128
<p><dt><strong>--keep-running,-K</strong><dd>
119
129
Do not exit when processing is finished/stopped. Only affects
266
278
For available options, see "OBJECT TYPE SPECIFIC NOTES" below.
268
280
<p><dt><strong>-f:sample_format,channel,sample-rate,interleaving</strong><dd>
269
Sets default sampling parameters. These are used for all following
270
input and output files or until another -f is specified. If no -f
271
option is present, ecasound will use the default audio parameters (see
272
ecasoundrc man page). Notice that when opening existing audio objects,
273
either for input or output, the default audio parameters set with -f are
274
ignored if objects provide sufficient header information (as
275
is the case for wav, aiff, etc formats). For output objects, the
276
-x option can be used to completely overwrite existing files
277
(in other words, with -x, default audio parameters set with -f are used).
279
Sample format is given as a a formatted string. The first letter is
281
Sets the audio stream parameters for subsequent audio objects.
282
To set different parameters for different audio objects, multiple
283
'-f' options have to be specified (note the ordering, the '-f'
284
options should precede the audio objects for them to have any
285
effect). See documentation for '-i' and '-o' options.
287
When an audio object is opened (e.g. a file or sound device
288
is opened, or connection is made to a sound server), the audio
289
stream parameters are passed to the object. It should be noted that
290
not all audio objects allow to set any or all of the parameters.
291
For instance when opening existing audio files, many file formats
292
have a header describing the file audio parameters. In
293
these cases the audio file header overrides the parameters
294
passed with '-f' option. Similarly when creating JACK inputs and
295
outputs, the JACK server mandates the sampling rate and sample
298
If no '-f' option is specified, or some of the argument fields
299
are left empty (e.g. '-f:,2,44100'), ecasound will use default values. These
300
default values are defined in ecasoundrc configuration file. See
301
ecasoundrc(5) manual page.
303
Note that ecasound opens out files by default in update mode.
304
Unless option '-x' (overwrite outputs) option is given,
305
audio parameters of an existing audio file take preference over
306
the params set with '-f'.
308
Sample format is given as a formatted string. The first letter is
280
309
either "u", "s" and "f" (unsigned, signed, floating point). The
281
310
following number specifies sample size in bits. If sample is
282
311
little endian, "_le" is added to the end. Similarly if big endian,
283
312
"_be" is added. If endianess is not specified, host byte-order is used.
284
313
Currently supported formats are "u8" (same as "8"), "s16_le" (same
285
314
as "16"), "s16_be", "s24_le", "s24_be", "s32_le", "s32_be", "f32_le"
315
and "f32_be". An empty string "" picks the system default sample
288
The 4th parameter 'interleaving' should either be 'i' (default) for
289
interleaved stream format, or 'n' for noninterleaved.
318
The 4th parameter defines the channel layout. The available
319
options are 'i' (interleaved' and 'n' (noninterleaved). With
320
the noninterleaved setting, ecasound will process samples
321
one channel at a time, and the blocksize is set with '-b'.
322
The default setting is 'i'.
291
324
<p><dt><strong>-y:seconds</strong><dd>
292
325
Sets starting position for last specified input/output. If
294
327
use the <em>.ewf</em> format.
296
329
<p><dt><strong>-i[:]input-file-or-device[,params]</strong><dd>
297
Specifies a new input source that is connected to all selected chains.
298
Connecting multiple inputs to the same chain isn't possible. Input
299
can be a a file, device or some other audio object (see below).
300
If the input is a file, its type is determined using the file name
301
extension. If the object name contains any commas, the name must be
302
enclosed in backquotes to avoid confusing the parser. Currently supported
303
formats are RIFF WAVE files (.wav), audio-cd tracks (.cdr), ecasound
304
EWF files (.ewf), RAW audio data (.raw) and MPEG files (.mp2,.mp3). Also,
305
formats supported by the SGI audiofile library: AIFF (.aiff, .aifc, .aif) and
306
Sun/NeXT audio files (.au, .snd). MikMod is also supported (.xm, .mod, .s3m,
307
.it, etc). MIDI files (.mid) are supported using Timidity++. Similarly
308
Ogg Vorbis (.ogg) can be read and written if ogg123 and vorbize tools
309
are installed, FLAC files (.flac) with flac command-line tools or using
310
libsndfile, and AAC files (.aac/.m4a/.mp4) with faad2/faac tools. Supported
330
Specifies a new input source that is connected to all selected chains (chains
331
are selected with '-a:...'). Connecting multiple inputs to the same chain is
332
not possible, but one input can be connected to multiple chains. Input can be
333
a a file, device or some other audio object (see below). If the input is
334
a file, its type is determined using the file name extension. If the object
335
name contains any commas, the name must be enclosed in backquotes to avoid
336
confusing the parser. Currently supported formats are RIFF WAVE files (.wav),
337
audio-cd tracks (.cdr), ecasound EWF files (.ewf), RAW audio data (.raw) and
338
MPEG audio files (.mp2,.mp3). More audio formats are supported via libaudiofile
339
and libsndfile libraries (see documentation below). MikMod is also supported (.xm,
340
.mod, .s3m, .it, etc). MIDI files (.mid) are supported using Timidity++.
341
Similarly Ogg Vorbis (.ogg) can be read, and written if ogg123 and vorbize tools
342
are installed; FLAC files (.flac) with flac command-line tools or using
343
libsndfile; and AAC files (.aac/.m4a/.mp4) with faad2/faac tools. Supported
311
344
realtime devices are OSS audio devices (/dev/dsp*), ALSA audio and loopback
312
345
devices and JACK audio subsystem. If no inputs are specified, the first
313
346
non-option (doesn't start with '-') command line argument is considered
317
350
Works in the same way as the -i option. If no outputs are specified,
318
351
the default output device is used (see ~/.ecasoundrc). If the object
319
352
name contains any commas, the name must be enclosed in backquotes to
320
avoid confusing the parser. Note, you can't output to module formats
321
supported by MikMod (this should be obvious).
353
avoid confusing the parser. Note, many object types do not support
354
output (e.g. MikMod, MIDI and many others).
323
356
<em>OBJECT TYPE SPECIFIC NOTES</em>
324
<p><dt><strong>ALSA devices</strong><dd>
357
<p><dt><strong>ALSA devices - 'alsa'</strong><dd>
325
358
When using ALSA drivers, instead of a device filename, you need to
326
359
use the following option syntax: <strong>-i[:]alsa,pcm_device_name</strong>.
328
<p><dt><strong>ALSA direct-hw and plugin access</strong><dd>
361
<p><dt><strong>ALSA direct-hw and plugin access - 'alsahw', 'alsaplugin'</strong><dd>
329
362
It's also possible to use a specific card and device combination
330
363
using the following notation: <strong>-i[:]alsahw,card_number,device_number,subdevice_number</strong>.
331
364
Another option is the ALSA PCM plugin layer. It works just like
376
409
See also audio object types 'audioloop', 'select' and 'playat'.
378
<p><dt><strong>JACK input/outputs</strong><dd>
411
<p><dt><strong>JACK input/outputs - Overview</strong><dd>
379
412
JACK is a low-latency audio server that can be used to connect
380
413
multiple independent audio application to each other.
381
414
It is different from other audio server efforts in that
382
415
it has been designed from the ground up to be suitable for low-latency
383
416
professional audio work.
385
Ecasound provides multiple ways to communicate with JACK servers. To
386
directly input or output to soundcard, use <strong>-i jack_alsa</strong> and <strong>-o
387
jack_alsa</strong>. To communicate with other apps, use
388
<strong>jack_auto,remote_clientname</strong>. To just create ports without making
389
any automatic connections, there are <strong>jack</strong> and
390
<strong>jack_generic,local_portprefix</strong>.
418
<p><dt><strong>JACK input/outputs - 'jack'</strong><dd>
419
Ecasound provides multiple ways to communicate with JACK
420
servers. To create a JACK input or output object, one should use <strong>-i jack</strong> and
421
<strong>-o jack</strong>. These create JACK client ports "ecasound:in_N" and
422
"ecasound:out_n" respectively ('N' is replaced by the channel number).
423
Ecasound automatically creates one JACK port for each channel (number
424
of channels is set with <strong>-f:bits,channels,rate</strong> option).
426
It is important to note that by default JACK ports are not connected
427
anywhere (e.g. to soundcard input/outputs, or to other apps). One thus
428
has to connect the ports with an external program (e.g. "QJackCtl"
431
<p><dt><strong>JACK input/outputs - 'jack,clientname,portprefix'</strong><dd>
432
<strong>"jack,clientname"</strong> For simple use scanerios, ecasound provides a way to autoconnect
433
the ecasound ports. This can be done with by giving the peer client
434
name as the second parameter to the "jack" object, e.g. <strong>-o jack,clientname</strong>.
435
As an example, <strong>-o jack,system</strong> will create an output that is
436
automatically connected to outputs of the default system soundcard.
437
The client parameter can be omitted, in which case no automatic
438
connections are made.
440
If one needs to change the port prefix (e.g. "in" in client name
441
"ecasound:in_N"), the prefix can be specified as the third parameter to
442
"jack" object, e.g. <strong>-o jack,,fxout</strong>. Also the third parameter can be
443
omitted, in which case the default prefixes "in" and "out" are used.
445
<p><dt><strong>JACK input/outputs - 'jack_multi'</strong><dd>
446
A variant of 'jack' object type is 'jack_multi'. The full object syntax
447
is <strong>jack_multi,destport1,...,destportN</strong>. When a 'jack_multi' object
448
is connected to a JACK server, first channel of the object is connected
449
to JACK port 'destport1', second to 'destport2' and so forth. For
450
instance "-f:32,2,44100 -o jack_multi,foo:in,bar:in"
451
creates a stereo ecasound output object, with its left and right
452
channels routed to two difference JACK clients. The destination ports
453
must be active when the ecasound engine is launched, or otherwise
454
the connections cannot be established. If destination ports are not
455
specified for all channels, or zero length strings are given, those
456
ports are not connected at launch by ecasound.
458
<p><dt><strong>JACK input/outputs - 'jack_alsa', 'jack_auto', 'jack_generic' (**deprecated since 2.6.0**)</strong><dd>
459
Ecasound 2.5 and older supported "jack_alsa", "jack_auto" and "jack_generic" object
460
types, but these are now replaced by a more generic "jack" interface, and thus are
461
now deprecated (they work but are no longer documented).
463
<p><dt><strong>JACK input/outputs - client options</strong><dd>
392
464
Additionally global JACK options can be set using
393
<strong>-G:jack,client_name,operation_mode</strong>. 'client_name'
465
<strong>-G:jack,client_name,operation_mode</strong> option. 'client_name'
394
466
is the name used when registering ecasound to the JACK system.
395
467
If 'operation_mode' is "notransport", ecasound will ignore
396
468
any transport state changes in the JACK-system; in mode
397
"send" it will send all start, stop and
398
position-change events to other JACK clients; in
399
mode "recv" ecasound will follow JACK start, stop and
400
position-change events; and mode "sendrecv" (the default) which
401
is a combination of the two previous modes.
469
"send" it will send all start, stop and position-change events to
470
other JACK clients; in mode "recv" ecasound will follow JACK start,
471
stop and position-change events; and mode "sendrecv" (the default)
472
which is a combination of the two previous modes.
403
474
More details about ecasound's JACK support can be found
404
from ecasound user's guide.
475
from Ecasound User's Guide.
406
<p><dt><strong>Libaudiofile</strong><dd>
477
<p><dt><strong>Libaudiofile - 'audiofile'</strong><dd>
407
478
If libaudiofile support was enabled at compile-time, this
408
479
option allows you to force Ecasound to use libaudiofile
409
480
for reading/writing a certain audio file. Option syntax
410
481
is <strong>-i:audiofile,foobar.ext</strong> (same for <strong>-o</strong>).
412
<p><dt><strong>Libsndfile</strong><dd>
483
<p><dt><strong>Libsndfile - 'sndfile'</strong><dd>
413
484
If libsndfile support was enabled at compile-time, this
414
485
option allows you to force Ecasound to use libsndfile
415
486
for reading/writing a certain audio file. Option syntax
430
501
Note: this 'loop' device is different from 'audioloop' (latter
431
502
added to ecasound v2.5.0).
433
<p><dt><strong>Mikmod</strong><dd>
504
<p><dt><strong>Mikmod - 'mikmod'</strong><dd>
434
505
If mikmod support was enabled at compile-time, this
435
506
option allows you to force Ecasound to use Mikmod
436
507
for reading/writing a certain module file. Option syntax
437
508
is <strong>-i:mikmod,foobar.ext</strong>.
439
<p><dt><strong>Null inputs/outputs</strong><dd>
510
<p><dt><strong>Null inputs/outputs - 'null'</strong><dd>
440
511
If you specify "null" or "/dev/null" as the input or output,
441
512
a null audio device is created. This is useful if you just want
442
513
to analyze sample data without writing it to a file. There's
443
514
also a realtime variant, "rtnull", which behaves just like "null"
444
515
objects, except all i/o is done at realtime speed.
446
<p><dt><strong>Resample - access object of different sample rates</strong><dd>
517
<p><dt><strong>Resample - 'resample'</strong><dd>
447
518
Object type 'resample' can be used to resample audio
448
519
object's audio data to match the sampling rate used
449
520
in the active chainsetup. For example,