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

FreeBSD Manual Pages

  
 
  

home | help
bsvplay(1)			    hxtools			    bsvplay(1)

Name
       bsvplay -- convert BASICA music data to PCM

Syntax
       bsvplay [-i part] [-q part] [-r rate] [file...] | aplay -f dat -c 1

Description
       bsvplay will convert BASICA binary music	data to	linear 16-bit raw PCM.
       Normally,  you  will  be	 wanting to pipe it into a raw PCM player like
       aplay(1)	to actually output it to a sound device. Consider lowring  the
       system  volume  beforehand  to avoid surprise loud output. Square waves
       contain odd harmonics and the total power is ~57% higher	(1.95 dB).  By
       default,	bsvplay	mix a square wave rendition with a sine	wave rendition
       1:1 to reduce the effect	of odd harmonics and reduce the	power.

       Do  note	that the music data is embedded	in BSV/EXE/COM files and needs
       to be manually located. It is usually very evident from a regular  pat-
       tern in hexdumps.

Options
       -q part
	      Part to mix square waves in (default: 1.0)

       -i part
	      Part  to	mix sine waves in (default: 1.0). If -q2 -i1 is	speci-
	      fied  for	 example,  the	final  PCM  output  will  consist   of
	      2/3*squarepcm + 1/3*sinpcm.

       -r rate
	      PCM sample rate (default:	48000 Hz)

       --pianoman
	      Assume the input is Pianoman MUS.

File format
       The  BASICA  format  is	defined	6-byte tuples of divisor, duration and
       pause.

	    struct bsv_insn {
		 uint16_t divisor;
		 uint16_t duration; /* in ticks	*/
		 uint16_t af_pause; /* in ticks	*/
	    };

       where divisor specifies the divisor value that it  directly  handed  to
       the x86 PC speaker. The following formula holds:

	    frequency =	1193181	/ divisor;

See also
       aplay(1), qplay(1), hxtools(7)

hxtools				  2008-02-06			    bsvplay(1)

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

home | help