bitString is a standalone app designed to illustrate the physics of a vibrating string, the type one might find in a piano, harpsichord, or other keyboard or string instrument. The simplicity of bitString (with a basic keyboard, mixer, spectrogram, and string animator) allows students to explore the fundamentals of pitch, string harmonics, and overtones.
The bitString interface is divided into five panels. Moving clockwise from lower left, the Audio Setup panel allows the user to engage the DAC (Digital Audio Converter), configure playback settings, and adjust the volume of the app.
The Pitch section allows the user to select a single note on the piano keyboard. Along the right side of this section, the fundamental and upper partials can be toggled on and off. The levels of each partial can independently be adjusted using the red lines along the left side of the panel. One can draw an overtone profile and create a custom acoustic image by clicking and dragging their cursor through this window. (This style of interface is familiar to that of a drawbar organ.) Along the bottom of this section, a series of boxes can be used to save presets; simply hold shift and click. Note, the presets do not save when the user closes the app.
The Sonogram and Spectrogram panels provides a visual representation of energy at each partial. The String Animation section simulates a moving string. These animated panels simply represent frequencies over time: There are no clickable or changeable parameters in these windows. The String Animation represents a pitched string over the time domain, where the Sonogram and Spectrogram represent amplitude across the frequency domain.
Note: The string animation runs at a fixed rate, far slower than the actual sound waves from an acoustic string vibrating at a given frequency. This allows the user to study the moving string at a rate independent from the actual frequency of the simulated pitch.
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.