docs.rs failed to build termwaves-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
termwaves
Real-time audio visualization in the terminal, driven by PipeWire.
termwaves captures system audio via PipeWire and turns it into live oscilloscope
and spectrum data. It ships as two crates:
termwaves: a library providing PipeWire capture, an FFT, a waveform scope, and a spectrum analyzer with no rendering dependencies of its own.termwaves-client: a ratatui TUI that renders the visualizers, installed as thetermwavescommand.
Platform: Linux with PipeWire. The library links against the system PipeWire libraries (
libpipewire-0.3), so those development headers must be installed.
Install the client
Keybindings
| Key | Action |
|---|---|
q / Esc |
Quit |
+ / - |
Zoom the time window in / out |
Tab / c |
Cycle channel |
F9 |
Toggle help overlay |
F10 |
Toggle settings overlay |
F1–F8 |
Select view |
Use the library
[]
= "0.1"
use ;
// Begin capturing system audio from PipeWire.
let capture = start?;
// Build a spectrum analyzer over 32 logarithmic bands from 24 Hz to 20 kHz.
let mut spectrum = new;
let mut scope = new;
Public types: start / CaptureHandle (capture), Fft, WaveScope / Envelope
(waveform), and Spectrum / Band (frequency analysis).
Building from source
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.