APLAY: a musician's .wav player

Aplay is a file for playing a cd format .wav file to a sound card. You can get a copy here . Here are some examples of how it is used.

	aplay -l4  foo.wav 		; loop the song 4 times
	aplay -l0  foo.wav 		; loop the song forever (until killed or ^c)
	aplay -b 10.2 -e 20 foo.wav	; play from 10.2 seconds until 20 seconds
	aplay -t3 foo.wav		; transpose the song up three half steps
	aplay -s.8 foo.wav		; play at 80% speed (normal pitch)
	aplay -v foo.wav		; print out running time to stdout.
Aplay nicely solves the problem where your band wants to play a tricky cover tune in a different key than your reference CD recording. No problem. If the original was in D and your singer wants it in C, just do "aplay -t-2". If you need to work on that really tricky bass lick in measure five, then find the lick with "aplay -v" and then loop it at half time with "aplay -b -e -s0.5 -l0 -t-2 foo.wav". As you get some skill, raise the speed with "-t.6", "-t.7", "t.8"... until you get to full speed.

Aplay is released under GNU copyleft. Please drop me a note if you improve it or find it useful!

Command line options

usage: aplay [] 

	[-A ] "enable fast attack slow decay AGC"

		I added this to get a stable playback from a 
		recording with lots of fading.  Produces a pretty
		level, high volume output no matter how the input
		amplitude varies.

	[-b ]  /* time to start playing */
	[-e ]    /* time to stop playing */
	[-k ] "karaoke mode" 

		The -k option creates a mono signal from 
                left+gain*right.  If gain is -1, then on many
		pop recordings, the vocalist will be cancelled
		out, leaving just the instruments.  YMMV.

	[-l ] "loop the song" (0=infinite)
	[-n ] "8, or 16 bits"
	[-o ]
	[-p ] "shift pitch by factor"

		For example, -p1.059 will shift the pitch by about one
                half step.  For musical shifts, use -t, but for correcting
                a slightly slow or fast cassette tape recording, use -p.

	[-r ] "sample rate"
	[-s ] "play at speed"
	[-t ] "transpose +/- n half steps"
	[-M] "play mono (stereo is default)"
	[-S] "play stereo (stereo is default)"
	[-v] "verbose mode"

		-v prints out a running time so you can later on do accurate loops
		with -b and -e.

	[-w ] "pitch shift window size"

		joggles the internal pitch shift algorithm.  The window is
		automatically computed to my taste, but different material
		may sound better with a different size.  Experiment.

Rick Walker