The piano keys window is a chromatic scale controller for the
play deck and
output sources. It does not make sound by itself, instead it utilizes
the existing baudline sound creation facilities. By using an envelope
trigger and modifying the Hz and play back parameters in real-time monophonic
music can be created.
Control the tone generator to create pure tones or tones with complex
modulation characteristics. Or control the play deck to make baudline
act as a "sampler." The diagram below illustrates the piano keys control
To get a better understanding of how this works open both the play deck and
the tone generator, then while in the pause mode click or drag the first mouse
button on the piano keys. You will notice the piano note being selected
changes several controls in a chromatic nature. To make sound with the
tone generator put baudline into the record mode. To make sound with the
play deck select a section of spectrogram or waveform data and then put
baudline into the play mode. The piano keys are also operational while
phono scratching is being performed. Closing this window disables the
piano key functionality and returns baudline to the "normal" tone generator
and play back modes of operation.
Baudline's piano keys controller is highly configurable. The popup menu
on the right is accessed by holding down the third mouse button while the
mouse cursor is in the piano keys window. Through this menu many piano keys
settings can be controlled such as calibration, pitch bending, note width, and
The piano keys window spans 3 octaves. The current A2 calibration value
is display in the title bar of the piano keys window. The default
calibration is A2 equaling 880 Hz, but this can be changed. The A2
calibration can be shifted up or down by an entire octave or by some other
amount. The up and down arrow keys can be used to perform this shift
which can lead to some interesting transposing effects. The A2
calibration can also be set to a fixed value.
The calibration shift by amount can be set from a range of 1 semitone up to
24 semitones (2 octaves). The default shift by amount is 1 octave.
The A2 calibration can set to one of the several fixed frequency
values. Or it can be calibrated to any arbitrary Hz value with the
grab tone generator option which takes the current main frequency value
in the tone generator window and sets A2 to that.
A note being played can be bent up or down by a preset amount. The left
and right arrow keys can be used to perform this pitch bend in an expressive
manner. The note bend can be a subtle accent up or down, a "tremolo
arm" drop down to DC or up to Nyquist (see "man xset" for auto repeat delay and
rate), or if the left and right arrow keys are alternately pressed in a
repeating rapid manner a vibrato effect can be achieved.
This is the amount to bend the pitch each time the left or right arrow keys are
pressed. The "bend by" can be a subtle accent like with the default 25.00
cents value. Or if set between the 1 to 12 semitones range it can become
an experimental tool to explore interesting progression strides.
The frequency width of a note can be set from 10 cents all the way up to 8
octaves. This variable is only used by the tone generator when the
modulation mode is FM or sweep, and by the play deck when the filter control
is used. For all other piano key modes of operation this variable is
play deck control
Baudline can be used like a multi-bank sampler. A selection of sample
data creates a loop (a bank) that can range from tens of milliseconds to
many seconds in duration. The banks can switched real-time in the
piano keys window by pressing the appropriate function key. The play
deck control menu specifies which time-frequency transform (speed, pitch scale,
speed+scale, pitch shift, or filter) to apply to the chromatic piano key note
changes. See the play deck for
details on these different play back and the F# bank options. The
chromatic operation of the speed and pitch scale positions are relative,
while the pitch shift and filter controls are a function of the A2 calibration
This toggle controls whether the envelope block that creates the distinct
attack, sustain, decay, and silence states is active. When this toggle
is enabled the enveloper is off and the piano keys behave as if a sustain pedal
The standard PC104 keyboard can be used to control the piano keys. The
focus can either be the piano keys window itself or any of baudline's main
displays such as the spectrogram and waveform windows. The 3 octaves
are mapped to the PC keyboard in four rows starting with the numeric keys
"1234567890" where C1 is the 1 key. Higher up the scale is the next row
"QWERTYUIOP" with C2 being the E key. The next row "ASDFGHJKL" has C3
mapped to the G key. And finally the "ZXCVBNM" row ends with G3 being
the M key. Try typing these key sequences to play some familiar melodies
- "CBZIG" use the up and/or down arrow keys and repeat
- "TTET0 0TPOT"
- "JJLXJXLS JJLXJH JJLXCXLJHSFHJJ FHFSFHJ SFSPOS FHFSFHJFSJHLJJ"
This is best played at "A2 = 1760 Hz" with the tone generator
in AM modulation using the Brownian motion function with 70 Hz frequency and
50% depth for that piccolo breathing effect.
Here are two useful piano keys tips. Highlighted piano keys track the xor
crosshairs in the main spectrum analyzer display. This can be used as a
transcription aid. Also, performance can be improved by reducing latency
with the command line option:
baudline -outfrags 4
|There are two versions of this window.
The first one saves the entire audio file while the second
version saves only the audio data that is selected in the Spectrogram
or the Waveform windows. Note that pressing Alt+A in the either
the spectrogram or waveform window will "select all."
- save as ...
- save selection as ...
The audio file is saved as a 16 bit linear .wav file with multiple channels
being interleaved. It saves all of the channels that are enabled in the
input channel mapping window
with whichever operations are selected. This means that baudline can
create .wav format files that have up to 9 channels. It can also create
files that have various basic channel manipulations. Here are some
manipulations on a mono file
- Create a stereo file that is steered to the surround channel by adding a
second "file 1" channel with the -x operation.
- Create a complex domain signal that can be decimated by a factor of 2
without filtering by adding a second channel with the Hilbert operation.
manipulations on a stereo file
- Swap the left and right channels by switching the order of the "file 1" and file 2" channels.
- Extract the left or right channel only by removing either the "file 1"
or the "file 2" channel.
- Turn a stereo file into a mono file by removing either channel and then
choosing the "x + y" operation to sum the two channels together.
- Mix two channels by choosing the "x * y" operation.
- Remove the center channel (vocal track) by removing either channel and
choosing the "x - y" difference operation.