The color picker window has the controls for three user custom color
ramps (top to bottom) that can be used in the spectrogram display. By
modifying a series of RGB (red, green, blue)
sliders a custom spectrogram color ramp can be created. In order to
display the custom color ramp they first need to be enabled in the input
channel mapping window.
The first set of RGB sliders control the color Gain. The second
set of RGB sliders control the color Exponential curve. Both
the gain and the exponential curve parameters are plotted in the black box
entitled Plot. On the far right is the color Ramp which
maps spectral dB energies in to spectrogram color intensities. The
uppermost color represents a 0 dB value in the spectrum window, while the
lowermost color represents -136 dB.
These menus offer control parameters for the further modification of color
space. Various palette functions and shapes can be selected in many
unique combinations that result in vibrant and exciting color palette
ramps. To access the palette menus, point the mouse in the Plot
or Ramp graphics regions then press and hold the 3rd mouse
button. Each of the three user custom color ramps has its own separate
settings. Some of the palette controls can be cycled through with the
Up/Down arrow keys or a scroll wheel mouse.
Many functions are available that allow for the rotation, folding, or scaling
or the color space. The functions are fairly self explanatory. The
Gain and Exponential sliders can be reset to their default
values. The gain can be doubled for more dynamic range or for clipping
effects. A fade to black function performs a graceful decent
towards darkness at the -136 dB bottom of the spectrum zone.
The map RGB to menu allows for color rotation cycling. The RGB
curves can be mapped to permutations of RGB (red green blue), CMY (cyan magenta
yellow), and mono color spaces. These mappings are a form of color
rotation. New and interesting color permutations can be auditioned with
the Up/Down arrow keys or with the mouse scroll wheel.
A color palette shape is an expression of the RGB color triplets vs. the signal
intensity. It defines the fundamentals of the color palette. Shapes
can range from simple linear lines, parallelograms, circle parts, cosine
functions, and zigzag divisions that create a rainbow like palette. The
custom user loadable palettes are also available in this menu. New and
interesting color palette shapes can be auditioned with the Up/Down arrow keys
or with the mouse scroll wheel.
An incredible number of color combinations are possible simply by adjusting the
controls of this window. The quickest and easiest way to explore color
space is by spinning the mouse scroll wheel in the different active regions of
the color picker window. Each setting has a cascading effect and makes
the parameter space very dense. The following palettes were created by
a couple spins of the mouse wheel.
custom user loadable color palettes
This feature allows for an infinite flexibility in the generation of unique
color palettes. Create a text file that consists of at least 2 lines of
RGB numeric values and copy it into the ~/.baudline/palettes/ directory or
manually load it with the -palette command line option. The new color
palette will now be available in the palette shapes menu.
Custom user loadable color palettes can be created by hand editing a text file,
with a spreadsheet, or by a simple bit of code. For maximum resolution
with 24bpp graphics a good file format creation guideline to follow is to have
256 lines that have 3 columns of numeric RGB values that range from 0 - 255
but this is not required. The number of RGB lines can range from 2 to
3000. The RGB values can be any decimal integer or floating point
number. The palette loading algorithm is self scaling in that palette
files can be very free form. Lines can be added or deleted and files can
be concatenated onto each other. Pound # comments lines are also
allowed. Baudline's user palette feature was designed to be flexible and
robust enough that it can read palette files that have even been created for
other visualization programs.
The following picture is an example of some of the palettes included in the
baudline.tar.gz package. The first purple-green blend palette is made by
a file that consists of only these two lines:
3 9 0
7 0 9
The color aperture window controls the light intensity mapping of the
color ramp. Unlike the color picker
window which only controls the parameters of the three user custom color
ramps, the color aperture window controls the intensity mapping of
all spectrogram colors displayed. By adjusting the Upper and
Lower dB sliders, the range of unique color elements that are used in
the spectrogram color ramp can be fine tuned accordingly.
The effect of focusing the available colors to a smaller region is useful
for two reasons. First, it allows zooming the spectrogram color
sensitivity to any specific region, high or low, large or small.
The idea is to see only the section of spectral energy of interest.
Second, since the number of unique colors is finite, focusing the color ramp
intensities to a range smaller than the default 136 dB span greatly increases
the color resolution (more unique colors per dB).
This is very handy for viewing the small details of weak signals or reducing
the gradient granularity of highly averaged signals (see
This window controls all aspects of scrolling from speed to memory usage to
direction. Baudline uses an infinite wrap-around buffer construct that
can record and collect data forever. Both the overlap and the
buffers (MB) control sliders have a direct effect on the
max capture time which can be set to utilize all available RAM.
This can be useful for long term monitoring applications where the ability to
go back and analyze previously collected sample data is important.
The overlap slider at the top controls the spectrogram scrolling speed.
Adjusting the overlap slider also has the effect of controlling resolution in
the time axis. The units are an odd "sqrt(%)" which means that the slider
value is the square root of the percent of the FFT window that slides by every
slice. That is to say, that moving the slider to the left makes the
window overlap smaller, hence allows it to scroll more quickly, while moving
the slider to the right makes baudline scroll more slowly. The range of
the sliding overlap is from just 1 sample up to the number of samples that are
in the FFT transform size. The justification for the odd square root
units is to make the control non-linear, in order to make the slider more
responsive to small changes. The overlap slider offers a course level
The number to the right and just below the slider widget (1019 in the example
image) is the actual slide size in units of samples. In addition to
displaying the slide size value this number also offers a fine level of
control. Point the mouse cursor on the number and then press the Up/Down
arrow keys or spin the mouse wheel to adjust by ±1 sample. Holding
down the Alt key while performing the increment action will change the slide
size by ±16 samples. This precise tuning capability is
extremely advantageous when aligning the line width of the
max capture time
This is the maximum amount of time in hours, minutes, seconds (HH:MM:SS) that
the circular wrap around buffer can hold, without wrapping and rewriting the
data first recorded. Many things affect this value: the overlap
percentage, the amount of buffer space, the number of channels, the color bit
depth of the graphics plane, ...
This slider represents how much system memory, in megabytes, baudline is
allowed to use for its internal buffers. Memory is important because it
determines how deep the circular buffer is while you are recording. It
also determines how much detail baudline can remember for files that are
loaded. This improves scrolling snappiness because the more data that is
precalculated, the less data needs to be calculated real-time.
Note that this value is only a request; if you load a 100 megabyte file and the
memory buffer value is set to only 20 megabytes, then baudline will use all of
the memory needed to load the file into memory (100 MB), plus the minimum
required for its graphical buffers. If you use more memory than
is available then swapping will slow down system performance.
Only the scroll up direction is currently implemented.