Oszilloskop
Software XY oscilloscope written in pure Rust, intended as an audio visualizer
Install / Use
/learn @timstr/OszilloskopREADME
Oszilloskop
A software XY oscilloscope written in pure Rust, intended as an audio visualizer.
Oszilloskop simulates an electron beam against a phosphor screen which is deflected over time by the two channels of a stereo audio signal in orthogonal directions.
Screenshot

Controls
- Beam Strength : how intensely the beam departs energy onto the screen per unit time
- Gain : how much to amplify the input signal, e.g. how much to scale it about the center of the screen
- Logarithmic : if enabled, apply logarithmic scaling on the signal magnitude
- Logarithmic Range : if Logarithmic is enabled, the size of the dynamic range to include (in powers of two)
- Decay : how rapidly images on the screen fade
- Rotation : how much to turn the image, in multiples of 45 degrees
- Flip : whether to swap x and y
Remarks
- The line drawing algorithm may be especially slow in debug builds, I recommend compiling with
--releaseat all times. - The current defaults are chosen to create a vertical line for a mono signal, with the individual channels staggered diagonally. I find this aesthetically pleasing and spatially intuitive when listening, but it's not what other oscilloscopes do. The orientation can be adjusted with the rotation and flip controls.
- Currently, the input audio device can't be chosen through the UI. I use PulseAudio to swap devices, other audio backends provide similar connectivity options but it would be nice to be able to choose from the UI.
- A large square/diamond outline is most likely due to clipping
- A perfectly straight line means you have a mono or single-channel signal. Only stereo signals with significant differences between the left and right channels will do anything interesting.
- Oscilloscope music such as that by Jerobeam Fenderson is best played uncompressed and purely digitally. Compression (such as via online streaming services) and analog effects from traveling over a speaker cable may induce visible rounding, shifting, and general distortion. You may also need to choose rotation=0 and flip=no for the correct viewing orientation.
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
