GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
bsvplay(1) hxtools bsvplay(1)

bsvplay — convert BASICA music data to PCM

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

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. Be sure to lower the volume beforehand to avoid nasty surprises that come with square waves. By default, bsvplay will mix 1:1 square:sine waves to give a medium tone hardness.

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.

-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.

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;

aplay(1), qplay(1), hxtools(7)
2008-02-06 hxtools

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.