aylet 0.4, a .AY music file player.
Copyright (C) 2001-2004 Russell Marks and Ian Collier.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
aylet.1 - man page
------------------------------------------------------------------
------------------------------------------------------------------
0 aylet / xaylet [ -BehlmnNsS ] [ -A stopafter ] [ -F fadetime ] [ -t tracknum ] [ file1 [ file2 .cc @ ... ]] @cc .
1
------------------------------------------------------------------
------------------------------------------------------------------
-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 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.
------------------------------------------------------------------
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.)
------------------------------------------------------------------
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 control:
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.
------------------------------------------------------------------
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
------------------------------------------------------------------
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.
------------------------------------------------------------------
------------------------------------------------------------------
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.