Provided by: aylet_0.5-4_amd64 bug


       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 essentially wrappers around
       bits of Z80 code which play music on the Sinclair 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

       `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

       -h     give terse usage help.

       -l     list the contents of files (track names etc.) rather than playing 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 together) 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-interactively.

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

       Ctrl-C if  the  current  track  has  been  playing  for  less than half a second, 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 `sox'):

       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 runtime (e.g. AY stereo,
       beeper stereo, ACB vs. ABC) can't be at the moment.

       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.