-------------------------------------------------------------------------------- RELEASED WITH IMPHOBIA 5 DISK MAGAZINE! -------------------------------------------------------------------------------- Visual Player Version 2.0, Barcelona, March '93 Programmed by: H‚ctor Mart¡nez, Luis Crespo, Luis Ubeda, David L¢pez y 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, a realtime spectrum analyzer and psychedelic lights. 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: VP At the DOS command prompt. Optionally, you can use wildcards when specifying the file name, for example: VP a* Will play all the MOD files that start with "a". Hardware requirements: ---------------------- VP can play music through the following devices: - The internal PC speaker - Sound Blaster - Sound Blaster Pro (stereo) - Sound Blaster 16 ASP (stereo, 16 bits, 44.1 KHz) - Adlib - Stereo In One - One or two Digital to Analog Converters (DAC) connected to 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 given below. VP needs a VGA card, and because of the graphic features of the program, the faster the computer is, the better VP will run. The sound processing speed depends also very much on the sound device. If you use a sound device without DMA, such as the internal PC speaker or the DAC in the LPT, 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. If the display is refreshed very slowly, you can disable some graphic options or decrease the sampling frequency. If your screen shows some kind of snow, it can be because of the psychedelic lights option, so to avoid the snow you should disable that option. The mouse is completely necessary, because the program works by pushing buttons, selecting options, moving controls, etc, very much like Windows. VP takes up quite a bit of memory, so if more memory is available to the program, it will be possible to load greater MOD files. The Keys: --------- Here is a quick keyboard reference for the impatient people: PgUp : Decrement Pattern PgDown : Increment Pattern + : Increment Sampling Frequency - : Decrement Sampling Frequency 1..4 : Toggle Voice S : OS Shell Enter : Next MOD ESC : Quit Visual Player F1 : Help F3 : File load window 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, and a sound device with DMA will allow higher sampling frequencies. If you have a slow machine and run the program with a high sampling rate, the graphic display will slow down, because the program will dedicate more time to process the sound. The graphic options: -------------------- Each of the graphic element shown on screen can be enabled or disabled independently. To do it, you just have to click the mouse button with the mouse pointer inside the desired element. For example, if you want to disable the central oscilloscope, you must click the mouse button with the mouse pointer inside the central oscilloscope frame. If you click the mouse button again inside the frame, the oscilloscope gets enabled again. The oscilloscopes: ------------------ 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 are synchronized with the beginning of the waveform, so that in most of the cases the waveform will be displayed at the same place. The disposition of the 4 oscilloscopes has changed from previous versions of the program. In this version, the oscilloscopes labelled as "voice 1" and "voice 2" at the left side of the screen will sound through the left channel and the ones labelled as "voice 3" and "voice 4" will sound through the right channel. 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 2, are at the left side of the oscilloscope, and the voices that sound through the right channel, voices 3 and 4, are at the right side of the oscilloscope. Remark that from the point of view of a MOD composer or any other MOD player, voices 1 and 2 match with 1 and 4, and 3 and 4 with 2 and 3 respectively. 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 N 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. There are 5 different spectrum analyzers. The first one analyzes 128 samples and displays 64 bars (the other 64 are symmetrical). The second method analyzes 64 samples and displays 32 bars, so it is faster but less precise than the first method. The third method analyzes 128 samples and displays 32. The fourth and the fifth display a stereo spectrum analyzer. The fourth method analyzes 64 samples for each channel and displays 32 bars for each channel, and the fifth analyzes 128 samples and displays 32 bars for each channel. The later method is the one that consumes more CPU time. The psychedelic lights: ----------------------- The 3 circles at the right side of the central oscilloscope are 3 psychedelic lights. The red light will shine with the bass frequencies, the green one with the middle frequencies and the yellow one with the high frequencies. To know the intensity of each light the FFT has to be calculated, the same way as the spectrum analyzer. So if you disable only one of both options, the FFT will still be calculated to display the other one. The lower button panel: ----------------------- When VP is loaded, you can only see 6 buttons on screen: 4 buttons to toggle the voices, one to get help and another one to quit the program. But the screen does not end at the lower part of the spectrum analyzer. If you move the mouse down, the whole screen will scroll up, letting you see the lower part of the program panel. Three different parts can be distinguished there: - at the left side, the name of each instrument of the current MOD file is shown. This zone will change depending of the selected function on the right button panel. - at the center-right part, there is a button panel with the look of a CD or cassette player panel, with very similar functions to those devices. The lower buttons on this panel allow you to increment or decrement the current pattern, and to load the next or previous MOD file. - at the lower-right part there is a group of buttons which cover all kind of functions, that are described further: Load MOD: --------- Opens a window with a listing of MOD files, and lets you select one to load it and play it. Load FLI: --------- Opens a window with a listing of FLI files, and lets you load one to XMS and animate it while the music sounds. This option is only available on the registered version. With the registered version, you can also load a FLI file from the command line, by writing something like: VP modfile /FLI=flifile In such a case the FLI will be animated while the MOD sounds, until a key is pressed, going back to the command line. SB Mixer: --------- Opens a window with the SB Pro mixer controls. The changes that you make to the mixer never get saved to the configuration file because it is supposed that every user has the mixer already configured externally. ADC Mode: --------- This feature is independent with all relating to MOD files. When you push the ADC mode button, the signal that is analyzed and displayed on the oscilloscopes, spectrum analyzer, etc, is the input read from the SB, SB Pro or SB 16 ASP. So you can use Visual Player to listen to any kind of music and "see" it on your screen. If the sound card is an SB, or an SB Pro, the 4 voices will contain the same signal, and if the sound card is an SB 16 ASP, voices 1 and 2 will show the left channel and voices 3 and 4 will show the right channel (in the next version, the SB Pro will also analyze in stereo mode). Play Device: ------------ This window lets you select your sound hardware and the mixing frequency. Config: ------- Opens a window from which you can configure a lot of options of the program. Four different sections can be configured: - Palette: The program's color palette - Spectrum: Lets you select the type of spectrum analyzer, the speed of its bars, etc. - Psycho: Lets you calibrate the sensibility of each psychedelic light to the power of its frequency range. - Misc: miscellaneous options. - Loop MOD: if this option is activated, the MOD will be played again when it finishes. - Allow backward jumps: if activated, the program will allow backward jumps on the music score. This means that maybe the MOD will never end. - Stereo mixing: If you are listening to the music with a stereo device, the left and right channels can be mixed to achieve a less artificial sensation. If this option is enabled, the program will mix a 75% of the left channel and a 25% of the right channel to the left channel, and vice-versa. This option is especially recommended if you use headphones. - Defective MOD loading: specifies the behavior in front of a defective MOD. The file can be loaded always (ignoring the errors), skipped if an error is found, or the program can show an error message and ask the user if the file should be loaded or not. At the bottom right part of the configuration window, there is a button that lets you save the configuration, if you have the registered version of the program. Remark that the "save" button will save the options of the configuration windows and also the whole state of the program, including the sound device, the mixing frequency, the graphic options, etc. Big Psycho: ----------- Shows a full-screen 256 color psychedelic. This feature is very useful for parties, if combined with de ADC mode option ;-). All the usual keys work the same way as in the normal mode, including ESC, that exits the program. To go back to the normal mode you must just push the a mouse button. OS Shell: --------- Loads the command interpreter while the MOD file still sounds. To go back to VP, type EXIT on the command line. New in Version 2.0: ------------------- - New graphic shell, with mouse support, 3d-buttons, windows-like controls, vertical scroll, etc. - SB 16 ASP support, at 16 bits, stereo and 44.1 KHz. - The SB and SB Pro do not reverberate any more if an expanded memory controller is loaded. - The spectrum analyzer is more precise in the logarithmic scale. - New graphic options: stereo spectrum analyzer, psychedelic lights. - Load window, allowing to select a MOD from a directory. - SB Pro mixer control. - FLI animation while playing a MOD file. - Input signal analyses, with the SB, SB Pro or SB 16 ASP (ADC Mode). - Help window. - Configuration window. Next versions: -------------- We have tested the program in a great variety of configurations, but due to the size of the program, some bugs may still exist in this version. The same way as with version 1.0, we would release version 2.1 to correct the possible bugs. Also, in the next versions, our program will have: - Juke Box mode, allowing to play various MOD files from a list. - Total SB 16 ASP mixer control. - Resident OS Shell mode, allowing to control the state and options of the program through a hotkey. - Efficient XMS usage, to play several MOD files from an OS Shell. - Packed MOD file format, to save disk space. The latest version of the program can be found in: - Dracker BBS, FidoNet 2:343/116, SBCNet 14:4500/100, CDNet 94:62/0. Tel +34-3-3853393, HST D/S V32bis, 16800 bps. - ST-Telecos, FidoNet 2:343/108 Tel +34-3-4017068, V32bis. Credits: -------- Greetings go to: Juan Carlos Ar‚valo, Rob de Luna, Alex Miquel, Joffre Heredia, Victor Neira, Manolo Ruiz Moscoso, Juan Pedro Teruel, David L¢pez Vinacua, Hakan Gustavsson (The CodeBlasters, Sweeden), James Chow (SBNet, Canada), Steve McKnelly, Jos‚ Mar¡a Alvarez, David S nchez, Xavier Mund¢ Balcells, Carlos L¢pez Marco and all the registered users of VP 1.1. Shareware: ---------- Visual Player is distributed as shareware. Registering VP for personal use is optional, but if you use the program for commercial purposes (for example, to sell sound cards), you must register inconditionally. If you have obtained VP from a friend, a BBS or similar source, you have an unregistered version. The unregistered version sounds through the internal PC speaker from the second MOD file, does not have some features of the program, the ADC mode only lasts a while, and the program waits for a few seconds before exiting. When you register, you get: - A 3'5", diskette with a copy of the latest version of VP registered to you, with all the features fully working. - Free next version registration. - Due notice of every new version. - Some MOD files that fit into the program diskette. To register, send a letter to: Luis Crespo P.O. Box 93142 08080 Barcelona, SPAIN With your full name and address and 3.000 Ptas if you live in Spain, or $30 if you live outside Spain. You can also register of only one version of Visual Player, by sending 2.000 Ptas or $20. Copyright/License/Warranty: --------------------------- 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 authors. 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 David L¢pez: FidoNet 2:343/107.989 The circuit: ------------ 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. Printer Port signal pin 20k 20k D0 2 >ÄÄÄ°°°ÄÂÄ°°°ÄÄ0v (GND, pin 20) 20k ° 10k D1 3 >ÄÄÄ°°°Ä´ 20k ° 10k D2 4 >ÄÄÄ°°°Ä´ 20k ° 10k D3 5 >ÄÄÄ°°°Ä´ 20k ° 10k D4 6 >ÄÄÄ°°°Ä´ 20k ° 10k D5 7 >ÄÄÄ°°°Ä´ 20k ° 10k D6 8 >ÄÄÄ°°°Ä´ 20k ° 10k D7 9 >ÄÄÄ°°°Ä´ 20k ° 10k 100nF ÃÄÄÄÄÄÄ´ÃÄÂÄÄ> To Amplifier ³ ³ ° 10k Á 10nF ³ Â GND 20 >ÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÁÄÄ> 0v This circuit is an enhancement from Luis Ubeda from the one that came with Mark J.Cox's ModPlay, so we thank Harry Stox for his original design.