Waveform Chart Widget for Ratatui
A high-performance, high-resolution waveform chart widget for Ratatui. Designed for audio visualization, system monitoring, and other real-time data feeds.
Features
- High Resolution: Uses Braille characters (
⠀to⣿) to achieve 4x vertical resolution per terminal cell. - Dual Channel: Renders two data series simultaneously (Top and Bottom) mirroring each other, perfect for stereo audio or input/output monitoring.
- Advanced Visual Effects:
- Horizontal Fade: Smoothly dims older data points to visualize time progression (Linear fade with delayed start).
- Vertical Gradient: Modulates brightness based on signal height (Center is bright, peaks fade out).
- Flexible Scaling: Supports both Fixed (0-100%) and Autoscaling modes.
- Customizable: Full control over colors, styles, and rendering modes (Braille vs. Block).
https://github.com/user-attachments/assets/f39e003e-e3a9-46cc-a2db-5829f1bda3be
Installation
Add this to your Cargo.toml:
[]
= { = "https://github.com/bcherb2/waveformchart" }
= "0.29"
Usage
use ;
use ;
Running the Demo
Clone the repository and run the example:
Controls
| Key | Action |
|---|---|
q |
Quit |
m |
Toggle Mode (Braille / Block) |
f |
Toggle Horizontal Fade |
g |
Toggle Vertical Gradient |
s |
Toggle Autoscale (Fixed 100% vs Auto) |
c |
Cycle Colors |
1 |
Toggle Top Source (CPU / Memory) |
2 |
Toggle Bottom Source (CPU / Memory) |
+/- |
Adjust Speed |
License
MIT