Contents of the VPENG.DOC file
Version 1.1, Barcelona, October '92
Player & FFT by Hctor Martnez
Graphics & program by Luis Crespo
Sound Blaster Pro by David Lpez & Angel Trigo.
Visual Player is a graphic MOD player.
While the music is playing, Visual Player can display the waveform of the
four voices of the MOD, the final waveform, four real volume bars, and a
realtime spectrum analyzer. This program has been made to "look" at the
music while you listen to it. Everything in Visual Player is real,
everything that is displayed is calculated from the digital data and not
from the score.
How to use VP:
To run Visual Player, you must enter:
At the DOS command prompt, where "modname" is the name of the MOD file you
want to listen to. You can use wildcards when specifying the file name, for
Will play all the MOD files that start with "a".
VP can play music through the internal PC speaker, the Sound Blaster card,
the Sound Blaster Pro card, or one or two digital to analog converters (DAC)
connected to the printer ports, LPT1 and LPT2. It is very cheap and easy to
build a DAC and plug it on the printer port. A simple circuit design is
VP needs a VGA card, and because of the graphic features of the program,
the faster the computer is, the better VP will run. If you have already
tried the program and the display is too slow, you will have to modify the
VP.CFG file and turn off some graphic features or decrease the sampling
frequency. It is recommendable to read VP.CFG anyway, because it has some
important additional information.
VP does not need a lot of memory to run, but some MOD files are very big
and then a lot of memory will be needed. If there is not enough memory once
a MOD file is loaded, the help screen and the OS Shell will not work.
It is better not to use programs and drivers that leave the 386 in virtual
mode, like EMM386, QEMM, 386MAX, etc, because they slow down the computer
and they decrease the sound quality. This is more important if you have a
slow 386 or a SB or a SB Pro.
Here is a quick keyboard reference for the impatient people:
PgUp : Decrement Pattern
PgDown : Increment Pattern
+ : Increment Sampling Frequency
- : Decrement Sampling Frequency
P : Change Playing Device
F : Toggle Sound Blaster Pro Filter
1..4 : Toggle Voice
F1..F5 : Toggle Oscilloscope
SF1..SF5 : Toggle Oscilloscope Wave Sync
F6 : Toggle Spectrum Analyzer
L : Toggle Spectrum Logarithmic Scale
M : Toggle Spectrum FFT Method
F7 : Toggle Volume Bars
S : OS Shell
Enter : Next MOD / Quit Visual Player
ESC : Quit Visual Player
F9 : Help screen
The mixing frequency:
The mixing frequency, also called sampling frequency or sampling rate, is
the speed at which the sound is processed. That means that the higher the
sampling frequency, the better the quality of the sound, especially with
the high pitched sounds like charles, bells, etc. A fast machine will allow
a faster sampling frequency. If you have a slow machine and run the program
with a high sampling frequency, the graphic display will slow down. Also if
you decrease the sampling frequency under 13 Khz, the oscilloscopes will
The 4 upper oscilloscopes display the waveform of the voices that are being
played, and the central oscilloscope displays the sum of the 4 voices. The
graphs can be synchronized with the beginning of the waveform, so that in
most of the cases the waveform will be displayed at the same place. If you
have a stereo output, like an SB Pro, you will see that the voices 1 and 4
sound through the left channel, and the voices 2 and 3 sound through the
right channel. If you have built your own stereo DAC, we recommend you that
you put the output cables following this criterion, so that the volume bars
display will be coherent.
The volume bars:
The volume bars are located at each side of the central oscilloscope, and
are placed so that the voices that sound through the left channel, voices
1 and 4, are at the left side of the oscilloscope, and the voices that
sound through the right channel, voices 2 and 3, are at the right side of
The spectrum analyzer:
The spectrum analyzer is the most time-consuming feature of the program. It
displays the power of each frequency in the sound. The spectrum analyzer is
implemented with an FFT algorithm with integer arithmetic. The FFT is
calculated from 128 samples taken from a buffer that sounds during a 1/50th
of second, so that the first spectrum bar shows the power of F=0 Hz, the
second shows F=50 Hz, the third F=100 Hz, the fourth F=150 Hz, and so on,
independently of the mixing frequency. That stands for method number 1.
Method number 2 takes 64 samples from the buffer and shows half the bars of
method number 1, so it is faster but less accurate than method number 1.
Method number 3 is an hybrid of 1 and 2: it takes 64 samples and fills the
other 64 with zeroes, so every bar takes 25 Hz.
The programmer of a famous Mod Player, says in his docs that his program is
the only one that implements a realtime spectrum analyzer. That was not
true when he programmed his spectrum analyzer, because it already existed
TrakBlaster 2.0, but now it will be less true. And the spectrum analyzer
routines are ours, we have not taken them from anywhere.
New in Version 1.1:
We have released version 1.1 to correct some bugs version 1.0 had. The
corrections of previous version are:
- Added code to control if the SB buffer goes in two DMA pages.
- When toggling the SB Pro filter, the left and right channels do not
- When pressing Ctrl-Break, it does not exit to DOS without closing the
- It doesn't hang when pressing Pg Down at the last sequence of the MOD.
- It doesn't make a popping sound any more between MOD files, with SB
and SB Pro.
- When making an OS Shell, changing the directory, and going back to VP,
MOD files still can be loaded.
- Minor corrections in the player.
- The program does not need the file VP.PIC any more, because the screen
is drawn at run time.
- Nicer help screen.
In the next versions, our program will have:
- Mouse support.
- SB Pro Mixer control.
- MOD title display, instruments display, total MOD time display, etc.
- Stereo-in-One support.
- Sound Blaster 3.0 support, if we get one of those cards.
- Other sound cards support, as soon as somebody "donates" us some of those
cards for testing and programming.
- File selection menu.
- "Juke Box" mode: you will be able to listen sequentially to the MOD files
listed in a file.
Greetings go to:
Juan Carlos Arvalo, Victor Neira, Manolo Ruiz Moscoso, Juan Pedro Teruel,
Hakan Gustavsson (The CodeBlasters, Sweden), James Chow (SBNet, Canada),
Xavier Mund Balcells (For the ARJ comment screen).
...And all the beta testers that have been evaluating the program.
Visual Player is distributed as shareware. If you have obtained VP from a
friend, a BBS or similar source, you have an unregistered version. In the
unregistered version a reminding text appears from time to time at the most
interesting parts of the screen.
When you register, you get:
- A 3'5", 720 KB diskette with a copy of the latest version of VP registered
to you, without the annoying texts of the unregistered version.
- Free next version registration.
- Due notice of every new version.
- The MOD files that you choose from the list that come with the program:
MODS.LST. (All only in one diskette)
To register, send a letter to:
P.O. Box 93142
08080 Barcelona, SPAIN
With your full name and address and 3.000 Ptas if you live in Spain, or $35
if you live outside Spain.
You can also register of only one version, by sending 1.500 Ptas if you
live in Spain, or $20 if you live outside Spain. In such a case you will
not get the next registered version.
Visual Player must be distributed unmodified and with its full
documentation and files. The registered version must not be distributed.
Visual Player is copyright of the authors. The authors allow to: use
software, make copies of it, give copies to anybody and distribute it
through electronic media.
It is not allowed to ask for money or donations for any copy or copies of
the program, neither distribute the software and/or documentation with
commercial products, without previous written acknowledgement of the
There is not warranty of any kind, and the authors are not responsible for
any kind of damage that the use of the software may cause. When using this
software, you agree with everything written above.
How to contact the authors:
We are waiting for your comments and opinions about our program. Our
electronic addresses are:
Luis Crespo: FidoNet 2:343/108.21
Angel Trigo: Fidonet 2:343/121.242
And here it is the circuit: a Digital to Analog Converter that plugs into
the printer port and to the amplifier. To build it, you will just need 18 1%
resistors, 2 capacitors, a male D-25 connector, and a jack. It is very
important that the resistors have 1% tolerance, because if they have 5% or
more, the thing will sound like hell.
D0 2 >0v (GND, pin 20)
D1 3 >
D2 4 >
D3 5 >
D4 6 >
D5 7 >
D6 8 >
D7 9 >
20k 10k 100nF
> To Amplifier
GND 20 >>
This circuit is an enhancement of the one that came with Mark J.Cox ModPlay,
so we thank Mark J.Cox for his original design.