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

FreeBSD Manual Pages


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

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

       aylet/xaylet  [-BehlmnNsS]  [-A	stopafter] [-F fadetime] [-t tracknum]
       [file1 [file2 ... ]]
       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-

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

       -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-

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

       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.)

       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

       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.

       To play all .ay files in	the current directory:

       aylet *.ay
       xaylet *.ay

       To  convert  ysfollin.ay	 to  a	mono  sample  in .wav format (requires

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

       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-

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


       Russell Marks (

       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:

home | help