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

FreeBSD Manual Pages

  
 
  

home | help
aylet(1)			Music Software			      aylet(1)

NAME
       aylet, xaylet - play Spectrum `.ay' music files

SYNOPSIS
       aylet/xaylet  [-BehlmnNsS]  [-A	stopafter] [-F fadetime] [-t tracknum]
       [file1 [file2 ... ]]
DESCRIPTION
       aylet plays music files in the `.ay' format.  These  files  are	essen-
       tially  wrappers	 around	 bits of Z80 code which	play music on the Sin-
       clair ZX	Spectrum 128's sound hardware -	the beeper, or	the  AY-3-8912
       sound  chip,  or	 both. Files using the Amstrad CPC ports are also sup-
       ported.

       `aylet' has a curses-based interface, and `xaylet' has an X-based one.

OPTIONS
       -A     set stop-after time in seconds (this is the time at which	tracks
	      start fading out), or 0 to disable fading. The  default  is  180
	      seconds (3 minutes).

       -B     use  `ABC'  stereo positions, rather than	the default `ACB'. ACB
	      effectively pushes channels A and	B to the left and right	(using
	      a	stereo delay), with C remaining	central; ABC puts A and	 C  to
	      the left/right instead, leaving B	central.

       -e     force 8-bit playback, even if 16-bit is available.

       -F     set fade-out time	in seconds (the	time tracks take to fade out).
	      The default is 10	seconds.

       -h     give terse usage help.

       -l     list  the	contents of files (track names etc.) rather than play-
	      ing them.

       -m     use mono rather than the default stereo playback.

       -n     rather than the usual interface, use a simple batch-playing  tty
	      style, a bit like	mpg123.	(Only works in the curses version.)

       -N     use `narrow' stereo separation (so the channels sound closer to-
	      gether) rather than the default `wide' separation.

       -s     output  sample  data  to	stdout rather than playing it; implies
	      `-n'. The	sample is 44.1kHz 16-bit  stereo  (or  mono  if	 using
	      `-m').  Don't be surprised if the	sample takes a little while to
	      generate,	as it still has	to emulate the Z80.

       -S     apply a pseudo-stereo effect to the beeper output. Works well in
	      some cases, but can make things sound a bit  shaky  (or  rather,
	      more so than usual :-)).

       -t     play only	the specified track, then exit.	(Strictly speaking, it
	      starts  playing  the given track,	and exits when any track fades
	      out.)  Mainly useful when	playing	 a  single  file  non-interac-
	      tively.

       file1 etc.
	      the  file(s)  to	play. Currently	these can only be specified on
	      the command-line.

BEHIND THE SCENES
       The way aylet works may seem a little strange if	 you're	 not  familiar
       with  how the `.ay' format goes about things, so	here's some background
       on how it all works.

       As mentioned above, the files basically contain chunks of machine  code
       to  run	on  an	emulated Z80 with certain sound	hardware. Since	you're
       just running a program, you can't  really  fast-forward	or  rewind  as
       such,  but  you	can  move  between tracks specified in the file. (Some
       files only have one, but	others have several.)

       The whole just-running-a-program	thing leads  to	 two  other  problems,
       too.  You  can't	 tell  where  a	track ends, other than to see when the
       sound stops; what aylet does is to exit a track after 4 seconds of  to-
       tal silence. And	a track	may never end at all; aylet fades it out after
       3  minutes  by  default.	 (Yes, 3 minutes be may	too soon to allow some
       tracks to `finish', but you have	to strike the balance  somewhere,  and
       it's only a default. Use	`-A' or	press `s' to change it.)

KEYS
       Both  the  curses-based	and X-based interfaces use these keys (some of
       which are based on those	used by	XMMS):

       q or Esc
	      exit the program.

       z      previous track.

       x      play.

       c      pause.

       v      stop.

       b      next track.

       r      restart track.

       Backspace or Delete
	      previous file.

       Space  next file.

       s      increase stop-after time.

       S      decrease stop-after time.	Setting	it  to	zero  disables	fading
	      completely.

       f      increase fade-out	time.

       F      decrease fade-out	time.

       h      enable/disable  high-speed mode, playing four times as fast when
	      enabled (in a way), as a sort of substitute for a	real fast-for-
	      ward control.

       In xaylet, you can also use the matching	buttons	for most of the	above.

       When using `aylet -n', the interactivity	is scaled  down	 dramatically,
       leaving just the	one control:

       Ctrl-C if  the current track has	been playing for less than half	a sec-
	      ond, exit	the program; otherwise,	skip to	the next track.

       Note that the key used to do this is really whatever you	have set up to
       generate	a SIGINT signal, but it's generally Ctrl-C.

EXAMPLES
       To play all .ay files in	the current directory:

       aylet *.ay
       or
       xaylet *.ay

       To convert ysfollin.ay to  a  mono  sample  in  .wav  format  (requires
       `sox'):

       aylet -sm ysfollin.ay |sox -r 44100 -t sw - tune.wav

BUGS
       The  AY	is probably too	loud relative to the beeper. This may be fixed
       in the next version, though it's	more likely to be an option to	choose
       between the current more	reasonable balance and the real	thing. :-)

       Several	options	 which it could	reasonably allow to be changed at run-
       time (e.g. AY stereo, beeper stereo, ACB	vs. ABC) can't be at  the  mo-
       ment.

       The  X  version is currently a bit too much like	the curses one,	at the
       expense of GUIness in some respects.

SEE ALSO
       fuse(1)

AUTHOR
       Russell Marks (rus@svgalib.org).

       The Z80 emulation was written by	Ian Collier, for xz80.

       Chris Cox wrote the OpenBSD sound code.

       Matan Ziv-Av was	partly responsible for the OSS sound code.

Version	0.4		       1st October, 2004		      aylet(1)

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

home | help