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

FreeBSD Manual Pages

  
 
  

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

NAME
     siren -- text-based audio player

SYNOPSIS
     siren [-lv] [-c directory]

DESCRIPTION
     siren is a text-based audio player.

     The options are as follows.

     -c directory
	     Use  directory  as  the  configuration  directory.   The default is
	     ~/.siren.

     -l      Log error and informational messages to a file.  The file	is  cre-
	     ated  in  the  current directory and named siren-%d.log where %d is
	     replaced with siren's process ID.

     -v      Print version information and exit.

USER INTERFACE
     siren's user interface consists of three areas.

     The bottom line is the status line.  It is used to display error and infor-
     mational messages and to enter commands and search queries.

     The two lines above the status line show playback-related information, such
     as the currently playing track and the volume level.

     The remainder of the screen is used to display a view.  Only one  view  can
     be  displayed at a time, but each view can be selected with the select-view
     command (see "COMMANDS" below) or the default key bindings.

     The available views are as follows.

     Library view
	     The library view shows all tracks in  the	library.   The	add-path
	     command  may  be  used to add tracks.  The library view can be dis-
	     played by pressing the 1 key.

     Playlist view
	     The playlist view shows the playlist loaded with the  load-playlist
	     command.  It can be displayed by pressing the 2 key.

     Browser view
	     The  browser  view  shows	the contents of a directory.  By default
	     only directories and supported audio files are shown.  The  browser
	     view  can	be  used to browse through the file system and play back
	     audio files or add them to the library or queue.  The browser  view
	     can be displayed by pressing the 3 key.

     Queue view
	     The  queue view shows all tracks that have been added to the queue.
	     Tracks in the queue will be  played  back	before	those  in  other
	     views.  A track will be removed from the queue as soon as it is be-
	     ing played back.  The queue view can be displayed by pressing the 4
	     key.

     The playback source is the view that provides the tracks for playback.  The
     library,  playlist  and browser views each can act as a playback source.  A
     view implicitly becomes the playback source whenever a track from that view
     is selected for playback.

KEY BINDINGS
     siren supports configurable key bindings.	Each key binding has a scope: it
     is either specific to one view or common to all views.   Key  bindings  are
     changed  with  the  bind-key  and	unbind-key  commands  or  shown with the
     show-binding command.

     The default key bindings are as follows.

     Common key bindings
	     q		    Quit siren.
	     x		    Play.
	     c		    Pause.
	     v		    Stop.
	     z		    Play the previous track.
	     b		    Play the next track.
	     left	    Skip backward 5 seconds.
	     ,		    Skip backward 1 minute.
	     <		    Skip backward 5 minutes.
	     right	    Skip forward 5 seconds.
	     .		    Skip forward 1 minute.
	     >		    Skip forward 5 minutes.
	     -		    Decrease the sound volume by 5%.
	     _		    Decrease the sound volume by 10%.
	     =		    Increase the sound volume by 5%.
	     +		    Increase the sound volume by 10%.
	     C		    Toggle playback continuation.
	     R		    Toggle the repeated playback of all tracks.
	     r		    Toggle the repeated playback of the current track.
	     1		    Select the library view.
	     2		    Select the playlist view.
	     3		    Select the browser view.
	     4		    Select the queue view.
	     enter	    Activate the selected entry.
	     i		    Select the active entry.
	     k, up	    Select the previous entry.
	     j, down	    Select the next entry.
	     g, home	    Select the first entry.
	     G, end	    Select the last entry.
	     ^B, page-up    Scroll up one page.
	     ^U 	    Scroll up half a page.
	     ^Y 	    Scroll up one line.
	     ^F, page-down  Scroll down one page.
	     ^D 	    Scroll down half a page.
	     ^E 	    Scroll down one line.
	     ^L 	    Refresh the screen.
	     :		    Enter the command prompt.
	     /		    Enter the search prompt to search forward.
	     ?		    Enter the search prompt to search backward.
	     N, p	    Search for the previous occurrence.
	     n		    Search for the next occurrence.
	     X		    Play the active track in the current view,	even  if
			    that view is not the playback source.
	     s		    Make the current view the playback source.

     Library view key bindings
	     a		    Add the selected entry to the queue.
	     d, delete	    Delete the selected entry.
	     l		    Delete all entries.

     Playlist view key bindings
	     a		    Add the selected entry to the queue.

     Browser view key bindings
	     a		    Add the selected entry to the queue.
	     h		    Toggle the display of hidden files.
	     ^R 	    Refresh the current directory.
	     backspace	    Enter the parent directory.

     Queue view key bindings
	     J		    Move the selected entry downward.
	     K		    Move the selected entry upward.
	     d, delete	    Delete the selected entry.
	     l		    Delete all entries.

     Prompt key bindings
	     The key bindings for the prompt currently cannot be changed.

	     enter	    Process the line and exit the prompt.
	     ^G, escape     Cancel and exit the prompt.
	     ^B, left	    Move the cursor to the previous character.
	     ^F, right	    Move the cursor to the next character.
	     ^A, home	    Move the cursor to the beginning of the line.
	     ^E, end	    Move the cursor to the end of the line.
	     ^H, backspace  Delete the character before the cursor.
	     ^D, delete     Delete the character the cursor is at.
	     ^W 	    Delete the word before the cursor.
	     ^K 	    Delete  all characters from the cursor to the end of
			    the line.
	     ^U 	    Delete the entire line.
	     down	    Replace the line with the previous history entry.
	     up 	    Replace the line with the next history entry.

COMMANDS
     siren is controlled by issuing commands.  Commands can be	entered  at  the
     command prompt, bound to a key or added to the configuration file.

     Commands are parsed in a way similar to most shells.  A command line is de-
     limited  by a newline character or a `#' character.  A `#' character intro-
     duces a comment and extends to the end of the line.

     A command line is broken into separate words.  A  word  is  a  sequence  of
     characters  and  is  delimited  by one or more space or tab characters.  On
     each word, tilde expansion and glob(7) pattern expansion is performed.

     The `#', `~', `*', `?', `[', `\', `'' and `"' characters and the space  and
     tab  characters are special characters.  A special character can be escaped
     by prepending it with a `\' character or by enclosing it by matching `'' or
     `"' characters.

     The following commands are available.

     activate-entry
	     Activate the selected entry in the current view.	In  the  library
	     and  playlist  views,  an	activated  entry is played back.  In the
	     browser view, if the activated entry is a directory, it is entered.
	     Otherwise, if it is a file, it is played back.  In the queue  view,
	     an activated entry is played back and removed from the queue.

     add-entry [-l | -q]
	     Add  the  selected  entry to the library or the queue.  The options
	     are as follows.

	     -l      Add the selected entry to the library.   This  is	the  de-
		     fault.
	     -q      Add the selected entry to the queue.

     add-path [-l | -q] path ...
	     Add  an audio file or a directory to the library or the queue.  The
	     options are as follows.

	     -l      Add path to the library.
	     -q      Add path to the queue.

	     The default is to add path to the current view.  If path is  a  di-
	     rectory, then all audio files in it are added.

     bind-key scope key command
	     Bind a key to a command.

	     The  scope  argument  specifies  the  scope of the key binding.  It
	     should be one of browser, library, playlist, queue or common.

	     A key binding is first looked up in the scope of the current  view.
	     If  no  key binding is found in that scope, then it is looked up in
	     the common scope.

	     The key argument specifies the key to bind.   The	following  three
	     types of keys can be bound.

	     -	 The  printable  ASCII characters: these are the ASCII character
		 codes between 32 and 126  decimal.   They  are  represented  by
		 themselves.

	     -	 The  ASCII  control  characters:  these are the ASCII character
		 codes between 0 and 31 decimal.  They are specified in case-in-
		 sensitive caret notation.  For example, ^A and ^a  both  denote
		 the second control character.

	     -	 The   following   case-insensitive  key-names	are  recognised:
		 backspace, backtab, delete, down,  end,  enter,  escape,  home,
		 insert,  left, page-down, page-up, right, space, tab, up and f1
		 to f20.

	     The command argument can be any command listed in this section.

     cd [directory]
	     Change the current working directory to directory and  open  it  in
	     the  browser  view.  If directory is not specified, the user's home
	     directory is used instead.

     close-output-plugin
	     Close the output plug-in.	This may be useful if siren blocks audio
	     access for other programs.

     command-prompt
	     Enter the command prompt.	The command prompt can be used to  enter
	     and execute commands.

     delete-entry [-a]
	     Delete  the  selected  entry  in the current view.  This command is
	     supported in the library and queue views only.  The options are  as
	     follows.

	     -a      Delete all entries in the current view.

     load-playlist file
	     Load  the	playlist file into the playlist view.  Each line of file
	     should contain the path to a track.  Empty lines and lines starting
	     with the `#' character are ignored.

     move-entry-down
	     Move the selected entry after its succeeding entry.   This  command
	     is supported in the queue view only.

     move-entry-up
	     Move  the	entry  before its preceding entry.  This command is sup-
	     ported in the queue view only.

     pause   Pause or resume playback.

     play    Start, restart or resume playback.

     play-active
	     Play the active track in the current view, even if that view is not
	     the playback source.

     play-next
	     Play the next track in the playback source.

     play-prev
	     Play the previous track in the playback source.

     pwd     Print the current working directory.

     quit    Quit siren.

     refresh-screen
	     Refresh the screen.

     reopen-output-plugin
	     Reopen the output plug-in.

     reread-directory
	     Reread the current directory in the browser view.

     save-library
	     Save the library to disk.	The library is automatically saved  when
	     siren quits.

     save-metadata
	     Save  the	metadata cache to disk.  The metadata cache is automati-
	     cally saved when siren quits.

     scroll-down [-h | -l | -p]
	     Scroll down in the current view.  The options are as follows.

	     -h      Scroll half a page.
	     -l      Scroll one line.  This is the default.
	     -p      Scroll one page.

     scroll-up [-h | -l | -p]
	     Scroll up in the current view.  The options are analogous to  those
	     of the scroll-down command.

     search-next
	     Search  for  the next occurrence of the text earlier specified with
	     the search-prompt command.

     search-prev
	     Search for the previous occurrence of the	text  earlier  specified
	     with the search-prompt command.

     search-prompt [-b]
	     Enter  the  search prompt.  The search prompt can be used to search
	     in the current view.  The options are as follows.

	     -b      Search backward.  The default is to search forward.

     seek [-b | -f] [[hours:]minutes:]seconds
	     Seek to the specified position in the currently playing track.  The
	     options are as follows.

	     -b      Seek backward by subtracting the  specified  position  from
		     the current position.
	     -f      Seek  forward  by adding the specified position to the cur-
		     rent position.

     select-active-entry
	     Select the active entry in the current view.

     select-first-entry
	     Select the first entry in the current view.

     select-last-entry
	     Select the last entry in the current view.

     select-next-entry
	     Select the next entry in the current view.

     select-prev-entry
	     Select the previous entry in the current view.

     select-view name
	     Select a view.  The name argument must be one of browser,	library,
	     playlist or queue.

     set option [value]
	     Set option to value.  If option is a Boolean value and value is not
	     specified, it is toggled.	See "OPTIONS" below for a list of avail-
	     able options.

     set-playback-source [source]
	     Set  the  playback  source.   The	source	argument  must be one of
	     browser, library or playlist.  If source is not specified, the cur-
	     rent view is used, if possible.

     set-volume [-d | -i] level
	     Set the volume level.  The level  argument  should  be  an  integer
	     value between 0 and 100.  The options are as follows.

	     -d      Decrease the volume level by level.
	     -i      Increase the volume level by level.

	     Not all output plug-ins have volume support.

	     When  using the oss output plug-in on FreeBSD, the volume level may
	     be reset every time a track is played back.  To preserve the volume
	     level, set the hw.snd.vpc_autoreset sysctl(8) variable to	0.   See
	     sound(4) for more information.

     show-binding scope key
	     Show  the	command  bound	to key.  The scope and key arguments are
	     analogous to those of the bind-key command.

     show-option option
	     Show the value of option.

     source file
	     Execute the commands in file.

     stop    Stop playback.

     unbind-key scope key
	     Unbind key.  The scope and key arguments are analogous to those  of
	     the bind-key command.

     update-metadata [-d]
	     Update the metadata cache.  The options are as follows.

	     -d      Delete  the  metadata of tracks that cannot be found on the
		     file system.

OPTIONS
     The appearance and behaviour of siren may be modified by changing the value
     of various options.  Options are changed with the set command or shown with
     the show-option command.

     There are six types of options.  They are as follows.

     Attribute options
	     Attribute options control the character attributes of a user-inter-
	     face element.  Valid values are blink, bold, dim, normal,	reverse,
	     standout and underline.  Two or more attributes can be specified by
	     separating them by a comma.

     Colour options
	     Colour  options  control  the foreground and background colour of a
	     user-interface element.  Valid values are black, blue, cyan, green,
	     magenta, red, white, yellow, default and colour0 to colourN where N
	     + 1 is the number of colours supported by the terminal.

	     If supported by the terminal, the colour default corresponds to the
	     terminal's original background or	foreground  colour.   Otherwise,
	     default is equivalent to black when used as a background colour and
	     to white when used as a foreground colour.

     Boolean options
	     Valid  values  of	Boolean options are true and false.  As a conve-
	     nience, the values on, off, yes, no, 1 and 0 are accepted as well.

     Number options
	     Valid values of number options are non-negative integers.	The max-
	     imum value is option-specific.

     String options
	     Valid values of string options are option-specific.

     Format-string options
	     Format-string options control the formatting  of  information  dis-
	     played  on  the  screen.	The syntax is reminiscent of that of the
	     printf(3) family of functions.

	     A format string consists of ordinary  characters,	which  are  dis-
	     played  unchanged,  and format fields, which specify how a variable
	     is to be displayed.  A format field is introduced by the `%'  char-
	     acter.  Then, the following appears in sequence.

	     -	 An optional `-' character to specify that the variable is to be
		 left-aligned within the field.  The default is to right-align.

	     -	 An optional `0' character to specify that the variable is to be
		 padded  with  leading zeroes.	The default is to pad with space
		 characters.  This flag is ignored if  the  variable  is  to  be
		 left-aligned.

	     -	 An optional sequence of numeric characters to specify the field
		 width.   If  the `*' character is specified, the width is vari-
		 able and will be so long as possible.	If there are two or more
		 fields with a variable width, the available space will  be  di-
		 vided equally between them.

	     -	 The  name  of the variable to display, enclosed by braces (i.e.
		 the `{' and `}' characters).  Some variables also have  a  one-
		 character alias.  If this alias is specified, the braces may be
		 omitted.  Which variables are available is dependent on the op-
		 tion.

		 Conditional  fields are also supported.  A conditional field is
		 enclosed in braces and begins with a `?' character, followed by
		 the name of the variable and two  comma-separated  fields.   If
		 the  variable	is  a non-zero number or a non-empty string, the
		 first value is displayed; otherwise, the second value.  For ex-
		 ample, `%{?artist,yes,no}' displays `yes' if artist is  a  non-
		 empty string and `no' otherwise.

	     A literal `%' character is displayed by specifying `%%' in the for-
	     mat string.

     The following options are available.

     active-attr (attribute)
	     Character	attributes for the activated menu entry.  The default is
	     normal.

     active-bg (colour)
	     Background colour for the activated menu  entry.	The  default  is
	     default.

     active-fg (colour)
	     Foreground  colour  for  the  activated menu entry.  The default is
	     yellow.

     continue (Boolean)
	     Whether to play the next track if the current track  has  finished.
	     The default is true.

     continue-after-error (Boolean)
	     Whether to play the next track if playback of the current track was
	     stopped due to an error.  The default is false.

     error-attr (attribute)
	     Character attributes for error messages.  The default is normal.

     error-bg (colour)
	     Background colour for error messages.  The default is default.

     error-fg (colour)
	     Foreground colour for error messages.  The default is red.

     info-attr (attribute)
	     Character	attributes  for  informational messages.  The default is
	     normal.

     info-bg (colour)
	     Background colour	for  informational  messages.	The  default  is
	     default.

     info-fg (colour)
	     Foreground colour for informational messages.  The default is cyan.

     library-format (format string)
	     The  format  used	to display tracks in the library.  The following
	     variables are available.

	     Name	    Alias    Description
	     album	    l	     Album
	     albumartist    A	     Album artist
	     artist	    a	     Artist
	     comment	    c	     Comment
	     date	    y	     Date or year
	     discnumber     s	     Disc number
	     disctotal	    S	     Total number of discs
	     duration	    d	     Duration (as `m:ss' or `h:mm:ss')
	     filename	    F	     Filename
	     genre	    g	     Genre
	     path	    f	     File path
	     title	    t	     Title
	     tracknumber    n	     Track number
	     tracktotal     N	     Total number of tracks

	     The default is `%-*a %-*l %4y %2n. %-*t %5d'.

     library-format-alt (format string)
	     The alternative format used to display tracks in the  library  that
	     have   a	missing   or   empty  title  metadata  field.	See  the
	     library-format option for a list of available variables.	If  this
	     option is empty, the library-format option is used.  The default is
	     `%-*F %5d'.

     output-plugin (string)
	     The name of the output plug-in to use.  If the special name default
	     is  specified, the output plug-in with the highest priority will be
	     used.

	     The following output plug-ins may be available,  depending  on  the
	     compile-time  options used.  They are listed in descending order of
	     priority.

	     sndio	OpenBSD sndio(7) output plug-in
	     pulse	PulseAudio output plug-in
	     sun	Sun output plug-in
	     alsa	ALSA output plug-in
	     oss	OSS output plug-in
	     ao 	libao output plug-in
	     portaudio	PortAudio output plug-in

	     The default is `default'.

     player-attr (attribute)
	     Character attributes for the player area.	The default is reverse.

     player-bg (colour)
	     Background colour for the player area.  The default is default.

     player-fg (colour)
	     Foreground colour of the player area.  The default is default.

     player-status-format (format string)
	     The format used to display the player status.  The following  vari-
	     ables are available.

	     Name	     Alias    Description
	     continue	     c	      Expands to `continue' or the empty string,
				      depending on the value of the continue op-
				      tion
	     duration	     d	      Duration	of  the  currently playing track
				      (as `m:ss' or `h:mm:ss')
	     position	     p	      Position in the  currently  playing  track
				      (as `m:ss' or `h:mm:ss')
	     repeat-all      r	      Expands	to  `repeat-all'  or  the  empty
				      string, depending  on  the  value  of  the
				      repeat-all option
	     repeat-track    t	      Expands  to  `repeat-track'  or  the empty
				      string, depending  on  the  value  of  the
				      repeat-track option
	     source	     u	      Playback source
	     state	     s	      Expands	 to   `Playing',   `Paused'   or
				      `Stopped', depending on the playback state
	     volume	     v	      Sound volume

	     The default is:

		   %-7s  %5p / %5d  %3v%%  %u%{?c,  continue,}%{?r,  repeat-all,}%{?t,	repeat-track,}

     player-track-format (format string)
	     The format used to display the currently playing  track.	See  the
	     library-format  option  for a list of available variables.  The de-
	     fault is `%a - %l (%y) - %n. %t'.

     player-track-format-alt (format string)
	     The alternative format used to display the currently playing  track
	     if  it  has  a  missing  or  empty  title	metadata field.  See the
	     library-format option for a list of available variables.	If  this
	     option  is  empty, the player-track-format option is used.  The de-
	     fault is `%F'.

     playlist-format (format string)
	     The format used to display tracks in the playlist	view.	See  the
	     library-format  option  for a list of available variables.  The de-
	     fault is `%-*a %-*t %5d'.

     playlist-format-alt (format string)
	     The alternative format used to display tracks in the playlist  that
	     have   a	missing   or   empty  title  metadata  field.	See  the
	     library-format option for a list of available variables.	If  this
	     option  is  empty, the playlist-format option is used.  The default
	     is `%-*F %5d'.

     prompt-attr (attribute)
	     Character attributes for the prompt.  The default is normal.

     prompt-bg (colour)
	     Background colour for the prompt.	The default is default.

     prompt-fg (colour)
	     Foreground colour for the prompt.	The default is default.

     queue-format (format string)
	     The  format  used	to  display  tracks  in  the  queue.   See   the
	     library-format  option  for a list of available variables.  The de-
	     fault is `%-*a %-*t %5d'.

     queue-format-alt (format string)
	     The alternative format used to display tracks  in	the  queue  that
	     have   a	missing   or   empty  title  metadata  field.	See  the
	     library-format option for a list of available variables.	If  this
	     option  is  empty, the queue-format option is used.  The default is
	     `%-*F %5d'.

     repeat-all (Boolean)
	     Whether to repeat playback of all tracks in  the  playback  source.
	     The default is true.

     repeat-track (Boolean)
	     Whether to repeat playback of the current track.  This option takes
	     precedence over the repeat-all option.  The default is false.

     selection-attr (attribute)
	     Character	attributes  for the selection indicator.  The default is
	     reverse.

     selection-bg (colour)
	     Background colour for the	selection  indicator.	The  default  is
	     white.

     selection-fg (colour)
	     Foreground  colour  for  the  selection  indicator.  The default is
	     blue.

     show-all-files (Boolean)
	     Whether to show all files in the browser view.  If  set  to  false,
	     only  directories and supported audio files are shown.  The default
	     is false.

     show-cursor (Boolean)
	     Whether always to show the cursor.  The default is false.

     show-hidden-files (Boolean)
	     Whether to show hidden files and directories in the  browser  view.
	     The default is false.

     status-attr (attribute)
	     Character attributes for the status line.	The default is normal.

     status-bg (colour)
	     Background colour for the status line.  The default is default.

     status-fg (colour)
	     Foreground colour for the status line.  The default is default.

     view-attr (attribute)
	     Character attributes for the view.  The default is normal.

     view-bg (colour)
	     Background colour for the view.  The default is default.

     view-fg (colour)
	     Foreground colour for the view.  The default is default.

     view-title-attr (attribute)
	     Character attributes for the view title.  The default is reverse.

     view-title-bg (colour)
	     Background colour for the view title.  The default is default.

     view-title-fg (colour)
	     Foreground colour for the view title.  The default is default.

     The following options are specific to the alsa output plug-in.

     alsa-mixer-device (string)
	     The name of the mixer device to use.  The default is `default'.

     alsa-mixer-element (string)
	     The name of the mixer element to use.  The default is `PCM'.

     alsa-pcm-device (string)
	     The name of the PCM device to use.  The default is `default'.

     The following options are specific to the ao output plug-in.

     ao-buffer-size (number)
	     The  size of the output buffer, specified in bytes.  The default is
	     4096.

     ao-driver (string)
	     The name of the driver to use.  If empty, the default  driver  will
	     be 	 used.		 See	      libao.conf(5)	     and
	     https://www.xiph.org/ao/doc/drivers.html for possible values.   The
	     default is empty.

     The following options are specific to the oss output plug-in.

     oss-device (string)
	     The path of the audio device to use.  The default is `/dev/dsp'.

     The following options are specific to the portaudio output plug-in.

     portaudio-buffer-size (number)
	     The  size of the output buffer, specified in bytes.  The default is
	     4096.

     The following options are specific to the pulse output plug-in.

     pulse-buffer-size (number)
	     The size of the output buffer, specified in bytes.  The default  is
	     4096.

     The following options are specific to the sndio output plug-in.

     sndio-device (string)
	     The  name	of the device to use.  See sndio(7) for possible values.
	     The default is `default'.

     The following options are specific to the sun output plug-in.

     sun-device (string)
	     The path of the audio device to use.  The default is `/dev/audio'.

CONFIGURATION FILE
     Upon start-up siren reads the configuration file ~/.siren/config, if it ex-
     ists.  This file should contain a set of siren  commands  (see  "COMMANDS")
     which are executed in sequence.

FILES
     ~/.siren/config	Configuration file.
     ~/.siren/library	Library file.
     ~/.siren/metadata	Metadata cache file.

SEE ALSO
     pulseaudio(1), sound(4), libao.conf(5), sndio(7)

     https://www.kariliq.nl/siren/

AUTHORS
     Tim van der Molen <tim@kariliq.nl>

FreeBSD ports 15.quarterly	   May 2, 2019				SIREN(1)

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

home | help