BeeViz Manual
BeeViz is a pass-through audio visualizer. It receives host audio, leaves the audio signal dry, and publishes input samples to the shared analyzer and spectrogram display while the editor is visible or the spectrogram drawer is active.
The product has no compressor, EQ, reverb, sidechain EQ, bottom drawer, preset browser, detector routing, Delta monitor, or dynamics controls. Its job is inspection. If the sound changes, the cause is outside BeeViz.
Source basis: BeeViz project README.md, PluginProcessor.cpp, PluginProcessor.h, PluginEditor.cpp, PluginEditor.h, and CMakeLists.txt. External references support general analyzer, FFT, visualization, accessibility, and documentation vocabulary; they do not override the local BeeViz product contract.
Feature Inventory
BeeViz contains these public capabilities:
- Dry pass-through audio processing.
- Mono, stereo, LCR, quadraphonic, LCRS, 5.0, 5.1, 7.0, and 7.1 layouts when input and output layouts match.
- Single program named
Init. - Double-precision processing support.
- No MIDI input, no MIDI output, and no MIDI-effect behavior.
- Zero reported audio tail length.
- Full-frame graph editor with logarithmic frequency guides from 20 Hz to 20 kHz.
- Shared BeeAudioModules analyzer and visualizer drawing layer.
- Input spectrogram publishing while the editor is visible or the spectrogram drawer is open.
- Adaptive analyzer publish rate: lower rate for visible display and higher rate during interactive drawer movement.
- GPU visualizer path when a preferred renderer is available, with CPU fallback drawing.
- FFT, Hi-Res, spectrogram, telemetry, brightness, smoothing, reduced-motion, and theme-facing visual state through the shared visualizer controls.
- Theme menu from the title area.
- Reduced Motion toggle in the title menu.
- Fullscreen shortcut using Command-F or Control-F where the host window permits it.
- Persistent editor theme state.
- Deliberate omissions: no compressor model, no sidechain EQ, no envelope editor, no custom transfer editor, no advanced detector, no advanced compressor panel, no post-dynamics stage, no meter history, no preset browser, and no Delta monitor.
BeeViz is useful when the operator needs an analyzer that shares the same visual language as the LangstrothDSP graph products but does not process the signal. It can be placed before or after another processor to check spectral motion without adding gain, dynamics, reverb, or tone shaping.
Scope and Terminology
Pass-through means that each process block leaves the input samples in place for matching output channels. Extra output channels beyond the input channel count are cleared. BeeViz does not apply gain, filtering, dynamics, saturation, delay, reverb, or phase manipulation.
Input spectrogram means that the visualizer reads incoming program samples before any hypothetical processing stage. In BeeViz there is no later audio stage, so the analyzer represents the signal entering and leaving the plugin except for host routing differences.
Graph means the full editor surface. BeeViz does not reserve a lower drawer for parameter editing. The visualizer controls appear as an overlay/drawer inside the same full-frame editor.
Theme state means non-audio editor state stored with the plugin state so the editor can reopen with the chosen visual theme. It is not an audio parameter and should not be treated as mix automation.
System Description
The audio processor is intentionally small. The host calls the process block. BeeViz optionally copies a downmixed input view into the spectrogram queue. It then leaves existing input channels untouched and clears any output channels that do not have matching input channels.
The analyzer path and the audio path have different responsibilities. Analyzer publishing can be active or inactive depending on editor visibility and drawer animation. Audio pass-through remains available in either case. Closing the editor stops visual work and resets the spectrogram queue, but it does not change the pass-through audio contract.
The editor size defaults to 1040 by 520 pixels. It can resize down to 720 by 340 and up to 2592 by 1400. The graph bounds are the full editor bounds. Frequency guide labels use a logarithmic 20 Hz to 20 kHz mapping, with reference marks at 20, 40, 80, 160, 320, 640, 1.25 k, 2.5 k, 5 k, and 10 k.
Control Surface
The title area opens the BeeViz menu. The menu contains theme choices and a Reduced Motion toggle. Reduced Motion affects visual animation behavior; it does not reduce audio quality, change analysis content, or alter the pass-through signal.
The spectrogram controls adjust display behavior. They govern how analyzer data is drawn, how often visible work is updated, and how the graph presents spectral detail. They do not turn BeeViz into an EQ, meter processor, compressor, or reverb.
| Surface | Controls | Affects | Does not affect |
|---|---|---|---|
| Title menu | Theme, Reduced Motion | Editor appearance and visual animation. | Audio samples, host routing, and analyzer input. |
| Spectrogram drawer | Mode, bin/overlap, smoothing, brightness, Hi-Res-style display options. | Analyzer display and visual telemetry. | Audio gain, tone, dynamics, delay, and routing. |
| Graph | Frequency guides and analyzer display. | Readable inspection from 20 Hz to 20 kHz. | Processing parameters; BeeViz has none. |
| Host bypass | Host-provided bypass behavior. | Host routing state. | BeeViz internal processing law; bypassed blocks still use the pass-through path. |
Interaction Rules
Click the title area to open the title menu. Choose a theme when the visual contrast or color balance needs to match the room, display, or surrounding plugin layout. Use Reduced Motion when analyzer animation is distracting or when the host is already under heavy visual load.
Use Command-F or Control-F for fullscreen when the host wrapper allows the editor window to enter fullscreen. Some DAWs intercept this shortcut. In that case, use the host's window controls.
The analyzer has two work rates. During ordinary visible display, BeeViz publishes at a lower visual rate. During spectrogram drawer interaction or drawer animation, it uses a higher interactive rate so control changes remain responsive. This is display scheduling, not audio scheduling.
Processing Reference
BeeViz supports mono through common surround layouts as long as the input and output channel sets match. It is not a channel converter. If the host creates more output channels than input channels, the unmatched output channels are cleared so stale audio does not remain in the buffer.
| Subject | BeeViz behavior | Operating consequence |
|---|---|---|
| Processing | Dry pass-through for matching channels. | Use BeeViz for inspection without changing tone or level. |
| Supported layouts | Mono, stereo, LCR, quad, LCRS, 5.0, 5.1, 7.0, and 7.1 when input equals output. | Use matching host input/output layouts. |
| MIDI | No MIDI input, output, or MIDI-effect role. | Insert it as an audio effect, not as a MIDI utility. |
| Tail | Reports zero tail length. | There is no reverb or delay tail to print. |
| Precision | Supports single and double precision process callbacks. | Host precision choice does not add an audio effect stage. |
| Feature | Meaning | Limit |
|---|---|---|
| FFT-style display | Shows spectral energy by frequency bin. | Bin and overlap choices change display behavior, not audio. |
| Hi-Res view | Provides a denser musical contour view through the shared visualizer language. | It is not higher-quality processing because there is no processing stage. |
| Spectrogram | Shows time/frequency activity from the input stream. | Closing the editor can stop publishing and clear the visual queue. |
| GPU renderer | Draws the dynamic layer when a preferred renderer is available. | CPU fallback remains responsible when GPU drawing is unavailable. |
| Reduced Motion | Reduces animated visual behavior. | It does not reduce audio quality or analysis truth. |
Operating Procedures
Procedure: inspect a signal without changing it
- Insert BeeViz before or after the processor you want to inspect.
- Confirm the host channel layout is supported and input/output layouts match.
- Play representative material.
- Open the spectrogram drawer if time/frequency motion is more useful than the static graph.
- Adjust display brightness, smoothing, bin, overlap, or Hi-Res-style view for readability.
- Leave gain and tone decisions to the processors before or after BeeViz.
Procedure: compare before and after another processor
- Place one BeeViz before the processor and one after it, or move one BeeViz between positions while listening.
- Use the same theme and visualizer settings on both instances.
- Compare spectral activity, peak behavior, and time/frequency spread.
- Do not interpret display differences as loudness-matched proof. Use meters and listening checks for final level decisions.
Example: pre-processor and post-processor inspection
Place BeeViz before a compressor to read the source spectrum, then place another BeeViz after the compressor to read the processed spectrum. If the post-processor graph shows less high-frequency activity, that observation does not identify the cause by itself. The cause may be gain reduction, tone shaping in the compressor, a later processor, or host routing. BeeViz provides the visual evidence; the surrounding processor controls explain the audio change.
Procedure: reduce visual load
- Open the title menu.
- Enable Reduced Motion.
- Close the spectrogram drawer when continuous time/frequency display is not needed.
- Close the plugin editor when visual inspection is finished.
Presets, State, and Host Behavior
BeeViz stores editor theme state. It does not expose an audio parameter layout in the current product contract. Host sessions should therefore restore the plugin and its visual state, but there are no compressor, EQ, reverb, detector, gain, or sidechain parameters to automate.
There is one program named Init. Preset use should be limited to visual/editor preference if the host supports saving state for the plugin. Because BeeViz has no DSP controls, a preset cannot change audio behavior.
Installable formats are AU and VST3 on macOS, with Standalone available when the project is built with the standalone wrapper option. The current CMake target lists VST3 generally and prepends AU on Apple platforms.
Troubleshooting
| Symptom | Likely cause | Check |
|---|---|---|
| No visual activity | No input signal, editor not publishing, or drawer/display settings hide detail. | Play audio, open the editor, open the spectrogram drawer, and raise brightness. |
| Sound changes when BeeViz is inserted | Host routing, gain staging, or another processor changed. | Bypass neighboring processors and compare with an empty track. BeeViz itself is pass-through. |
| Surround track does not load | Input and output channel sets do not match or the layout is unsupported. | Use mono, stereo, LCR, quad, LCRS, 5.0, 5.1, 7.0, or 7.1 with matching input and output. |
| Animation is distracting | Visualizer motion is too active for the current task. | Enable Reduced Motion or close the spectrogram drawer. |
| Fullscreen shortcut does not work | The DAW or host window intercepts Command-F or Control-F. | Use the host window command instead. |
Research and References
BeeViz uses general analyzer vocabulary: frequency guides, FFT-style bins, spectrogram, smoothing, telemetry, and visual motion. These terms describe display methods, not product-specific DSP claims.
Research synthesis. Fourier analysis and spectrogram references support the language of frequency bins, time/frequency tradeoffs, and visual energy display. Metering references support the difference between analyzer display and loudness or peak compliance. Interface references support direct readability, reduced motion, and accessible contrast.
| Topic | Use in this manual | Sources |
|---|---|---|
| FFT and spectral analysis | Frequency-bin and spectrogram terminology. | Smith, Spectral Audio Signal Processing; Spectral Audio Signal Processing mirror. |
| Digital audio effects context | Analyzer and plugin vocabulary. | DAFX; JUCE DSP namespace. |
| Metering and loudness distinction | Analyzer display is not loudness compliance. | ITU-R BS.1770; EBU R 128. |
| Graph and visual perception | Frequency guide readability and graphical judgment. | Cleveland and McGill; Shneiderman direct manipulation work. |
| Reduced motion and accessibility | Reduced Motion is an editor-display choice. | WCAG 2.2; Apple Human Interface Guidelines: Motion. |
| Documentation structure | Separation of explanation, procedure, reference, and troubleshooting. | Diataxis; Google developer documentation style guide; Microsoft Learn style quick start. |
Reference Tables
| Surface | BeeViz status | Reason |
|---|---|---|
| Analyzer graph | Present | Main product purpose. |
| Spectrogram drawer | Present | Input activity inspection. |
| Theme menu | Present | Editor visual state. |
| Compressor controls | Absent | No dynamics processing. |
| Sidechain EQ | Absent | No detector path. |
| Bottom drawer | Absent | No focused band, node, path, or envelope editor. |
| Preset browser | Absent | No audio parameter set to browse. |
| Delta monitor | Absent | No input-minus-output processing contribution exists. |
Glossary
Analyzer publish gate
: The editor-controlled state that decides whether input samples are copied into the spectrogram queue.
Dry pass-through
: The audio contract that leaves matching input/output channels unchanged.
Frequency guide
: A visual reference line on the logarithmic 20 Hz to 20 kHz graph.
Reduced Motion
: A visual preference that reduces animation without changing audio.
Spectrogram queue
: The thread-safe input-sample queue consumed by the visualizer drawing path.
Endnotes
- BeeViz source truth comes from
/Users/robertrandolph/Documents/BeeViz/README.mdand the public processor/editor contracts inSource/. - The product descriptor marks ratio, envelope, custom transfer, advanced compressor panel, advanced detector, sidechain EQ, advanced transfer, post-dynamics, and meter history as unsupported.
- The analyzer publish rate distinction is editor scheduling. It is not an audio oversampling or quality setting.
- The supported channel-layout list comes from the processor layout contract and requires matching input/output layouts.
Bibliography
- Julius O. Smith, Spectral Audio Signal Processing, CCRMA.
- Udo Zolzer, editor, DAFX: Digital Audio Effects.
- ITU-R BS.1770 loudness recommendation.
- EBU R 128 loudness recommendation.
- William S. Cleveland and Robert McGill, graphical perception research.
- Ben Shneiderman, direct manipulation interface work.
- W3C, WCAG 2.2.
- Apple Human Interface Guidelines, Motion.
- Diataxis documentation framework.
- Google and Microsoft technical writing style guides.
Index
Analyzer publish gate: Scope and Terminology; System Description; Glossary.
Channel layouts: Processing Reference; Troubleshooting; Endnotes.
Dry pass-through: Scope and Terminology; Processing Reference; Reference Tables.
FFT and Hi-Res: Control Surface; Processing Reference; Research and References.
Reduced Motion: Control Surface; Interaction Rules; Troubleshooting.
Spectrogram queue: System Description; Research and References; Glossary.
Theme state: Scope and Terminology; Presets, State, and Host Behavior.