WhiteCap
Extras
https://55ware.audiogalaxy.com/
WhiteCap As A Standalone Application
WhiteCap.exe in the Extras folder uses your sound-in wave device as input. This application is useful if you want to visualize sound that's not in an mp3 format such as an audio CD, line input from an A/V source, or a microphone. You do this by opening your recording options for your sound device and switching the recording source to what you want to visualize. Once you select your source (ex, line-in, mic, CD, "What You Hear"), WhiteCap will visualize the input (White 535r1711f Cap is set to visualize the default input source). Note that a typical source is "What You Hear" and is a source that outputs whatever you hear over your speakers.
Open your recording options and select a recording source
Make sure WhiteCap.exe is in a folder that also has the "WhiteCap Configs" folder (for Winamp it should be in your plugins folder and for Sonique it should be in your Vis folder). You'll know if WhiteCap can't find its config folder if it doesn't slideshow to other configs once it's running.
More WhiteCap Configs
The folder "More WhiteCap Configs" contains configs users have sent in. Now that there's over a hundred configs, only the sharpest and most original configs make it to the installed "WhiteCap Configs" folder, but these configs still definitely stand out.
Customizing WhiteCap
The distribution build of WhiteCap (the file in the "into Plugins" folder) is set to run decently on a 300+ MHz PII. However, you can customize WhiteCap in many ways by editing variables stored its preferences file. WhiteCap reads its preferences file when it starts up and writes to this file when it closes. Find and open WhiteCap Prefs.txt in your plugin folder, and you'll be able to edit various flags and values that affect how WhiteCap runs. The following list describes what each parameter does. It's recommended you become comfortable with how WhiteCap runs before editing your WhiteCap preferences file. Finally, if you find WhiteCap acting strange after you edited its preferences file, just throw it out and it will generate a new, "factory", one.
FS_X, FS_Y - (Fullscreen Dimensions) This tells WhiteCap what fullscreen resolution you prefer. When you tell WhiteCap to go fullscreen, it will use the dimensions specified here. Be sure you only put sizes you know your screen can support, and if bad things start to happen, just stick with 640x480. Remember, these dimensions specify a device resolution, so you can't just put any values you like here (use MaxX and MaxY to tell WC to live in a smaller rect).
FS_D - (Fullscreen Depth) This is the depth WC will choose when it goes fullscreen (choose only 8, 16, or 32). Either 16 or 32 is strongly recommended. Compare the framerate between 16 vs. 32 to see if the framerate loss is worth the small increase in color resolution.
KIgn - (Keys Ignored) You many have other plugins or settings such that you need certain keystrokes to get directed right to your mp3 player (skipping over WhiteCap). Put any characters you don't want WC to intercept in this parameter. (ex, "123456789", "", " jkJK" )
Slde - (Slideshow Interval) Number of seconds WC waits in a config before switching to a new config (when WC is in slide show mode). So if you want to see a new config every 15 seconds, set this to 15 and select slide show mode from within WC. In another example, you can force WC to always be morphing between configs by setting this to 0.
SSvr - (Screen Saver) Number of minutes WC waits before switching to full screen once your PC has been left idle. If you set this to -1, WC will never go full screen from being idle. This parameter is basically used to make WhiteCap a screen saver.
TrHi, TrLo - (Transition Hi/Lo) When WC switches configs, it has to know how long to make the transition from one config to the next config. It decides this length of time by picking a random number of seconds between TrLo and TrHi. For example, setting TrLo to 5 and TrHi to 11 means every transition will never be shorter than 5 seconds or longer than 11 seconds.
ShwT - (Show Titles) If you don't want config titles to be displayed, set ShwT to 0. If you want titles only in full screen mode, set this to 1. If you only want titles in window mode only, set this to 2, and if you always want titles, set this to 3.
NoBo - (No Border) If 1, WC will try to make its window borderless.
Kybd - (Ignore All Keys) If 0, WC will ignore all keystrokes.
Dflt - (Default Config) If 0, the green default/factory config won't be included in the config list.
MScl - (Magnitude Scale) Scales the amplitude of all music samples (x1000), so if most of the music you play is soft, try increasing this to 1500 or higher (1.5+). See below to see how to change this in realtime using keystrokes. You can increase/decrease this using the "[" and "]" keys.
GSmo - (Gauss Smooth Factor) The higher number this is, the more each frequency sample will be smoothed out (ie, peaks and valleys will be less jagged). To give you a reference, approximatly doubling/halving this number will double/half the amount of smoothing.
Stps - (S Steps) Default number of bins for frequency samples. This is how many steps each freq spectrum is chopped up into (ie, the number of green lines wide the default green config is). You can increase/decrease this using the "" keys. Read "background" for more information.
SBin - (Steps Per Bin) Number of mp3 player bins per WhiteCap bin. See the information within the Extras folder to learn more. Read "background" for more information. You can increase/decrease this using the "(" and ")" keys.
Keyboard Commands
\ Toggles slide show mode
` Toggles full screen mode
Switches to the previous/next config (and exits slide show mode if on)
Increases/decreases the scale of mag() by a factor of 1.1
Increases/decreases num of bins (Stps) by 4
Increases/decreases the frequency range of of WhiteCap bins (SBin
<text> Morph to the config that best matches the name <text>
Background
We use a prism to split a light beam up into its component colors. A "light beam" is nothing more than other "pure" color beams riding over each other, and a prism allows us to break down any given light beam into the pure colors (ie, frequencies) it contains. In the world of sound, a Fourier transform is like a prism because can split a sound signal up into the frequencies that make it up. Like a light spectrum, we can represent a frequency spectrum by having the x-axis be frequency and the y-axis be "the strength of frequency x contained in the beam/signal."
To "sample" a freshly baked cake is to try *part* of the whole with the assumption that parts we didn't try actually taste similar to what we tried. A computer samples sound by seeing how hard the air is pressing against the microphone for moment in time, called deflection sampling (because the microphone membrane deflects a certain distance based on the change in air pressure due vibrations sound causes). Like the pie example, a computer samples the sound level in intervals and assumes the sound during this interval didn't doing anything strange. Because a computer can store samples thousands of times a second, it can record enough samples to recreate the sound on a speaker. For example, when you see that CDs are sampled at 44kHz, it means each speaker on your CD player gets 44,000 numbers per second.
A frequency sample is like a photograph of a light spectrum coming out of a prism. For the given moment in time, the photograph shows how strong each of the frequencies that made up the signal is. But because it's a photograph, we can't say anything about what the light signal was like before or after the moment in time when the photograph was taken.
WhiteCap is a black box that 1) runs programs called configs, 2) allows these configs to draw, and 3) provides a frequency spectrum when the current config asks for it. However, when WhiteCap provides a frequency spectrum to the config, WhiteCap must pick a resolution of the spectrum before it records. Let's say you had to describe to a friend over the phone a photograph of a light spectrum (split by a prism). You could say, "from red to violet, it goes strong, weak, none, strong, strong," meaning that when looking at it, you chopped the x-axis into 5 portions (or "bins") and described the intensity of each portion. From that, your friend could recreate the photograph, but it would only have 5 bins of resolution ("bins" is used because real buckets or bins collect over the size of their entire mouth--water falling in near a side is treated the same as if it fell in the center). Now let's say your friend wanted a higher resolution spectrum. To do this, you could chop up the spectrum into more bins, say 20, and proceed to tell your friend the intensity for each bin (making you say 20 intensities total). In doing this, you're trading off the speed to communicate the spectrum in return for your friend getting a nicer spectrum.
To make a single frame, WhiteCap must execute the current config for every bin of a frequency sample. As a result, increasing spectrum resolution (ie, having a high number of bins) causes WhiteCap to run slower. If we tell WhiteCap to process only a few bins per frequency sample, it runs faster. The "Stps" parameter in the WhiteCap preferences file sets how many bins WhiteCap chops recorded frequency spectrums into (the factory setting is 40 bins). This means on the default green config, you'll count it 40 lines wide.
The "SBin" parameter affects how "wide" each of WhiteCap's bins are. The larger this number, the more frequencies that will fall into a given bin. Increasing the bin frequency width has the effect of compressing the spectrum (ex, 10 buckets side by side stretch longer distance than 10 cups).
WhiteCap Frame Rate
Looking to increase the frame rate you get for WhiteCap? You can see how many frames WhiteCap is drawing to screen by holding down the option key. To make each frame, recall that WhiteCap must execute the current config for each bin in a frequency spectrum. Once that's done, it's ready to transfer the final image to the screen. WhiteCap's frame rate becomes:
const1 * <time it takes to copy RAM image to screen> + const2 * Stps * <# of freq samples the config has recorded>
where const1 is proportional to your graphical hardware speed and const2 is proportional to your CPU speed. So there's three ways to increase frame rate:
(a) buy a faster computer,
(b) decrease Stps so that your CPU will have to process less total bins per frame, or
(c) choose a config that draws a fewer number of spectrums per frame (ie, choose a config with a low Durn
Although you can change Stps and SBin via the keyboard, below are some typical settings. Changing Stps, SBin and MScl from the keyboard is a good way to fiddle with WhiteCap until you're happy. Remember that you can always delete your WhiteCap prefs file to start over.
Sub 300MHz
Stps 28
SBin 7
MScl 1200
Default Settings
Stps 47
SBin 4-7
MScl 1000
400Mhz+
Stps 54
SBin 3-5
MScl 1100
500MHz+
Stps 80
SBin 2-3
MScl 1100
600Mhz+
Stps 120
SBin 2-3
MScl 900
|