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 sys-
     tem  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 re-
     duce 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 pattern 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  specified
	    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