Hear your system.
git clone https://github.com/h2337/sysm && cd sysm && make install
Features
Keep your eyes on code while your ears stay on infrastructure. sysm runs quietly in the background, turning raw system metrics into ambient audio cues.
Assign WAV sounds to any system event. Different sounds for different thresholds give you instant ambient awareness.
Run any shell command as a data source. If you can script it, sysm can monitor it — from ss to curl to custom scripts.
Read values from system files like /proc and /sys directly. Zero overhead, no subprocess spawning.
Trigger sounds when metrics cross defined thresholds. Get alerted the moment CPU spikes above 90% or disk writes surge.
Monitor the rate of change. Play sounds while disk write speed stays elevated, with start and end transitions.
Use regex to detect state changes. Hear when a network connection establishes, a process starts, or a log line appears.
How It Works
Each monitoring rule combines a data source, a trigger type, and an audio response.
shell commands
system files
threshold cross
delta detection
pattern match
start / loop / end
volume control
Choose where data comes from — a shell command output, or a column from a system file like /proc/stat or /sys/block/sda/stat.
Pick when sound plays: when a value crosses a threshold, while a rate of change stays above a limit, or when a regex pattern first matches.
Attach WAV files for start, content (looping), and end events. Control volume per-rule. sysm handles multi-threaded playback automatically.
Configuration
Each rule is a section in ~/.config/sysm/config.ini. Readable, version-controllable, easy to share.
Alert on usage > 90%
Hear network activity
Monitor write speeds
If you can script it
[high_cpu_usage] enabled = true description = "CPU usage crosses above 90%" sleep = 3000 content_music = "~/.config/sysm/audio/beeps_1.wav" source = shell command = "awk '...' /proc/stat" type = on_threshold_cross threshold = 90 [high_disk_write_speed] enabled = true description = "Disk write speed above threshold" sleep = 1000 start_music = "~/.config/sysm/audio/start.wav" content_music = "~/.config/sysm/audio/loop.wav" end_music = "~/.config/sysm/audio/end.wav" source = file_column file = "/sys/block/sda/stat" column = 6 type = while_delta_above_threshold threshold = 5000 [new_network_connection] enabled = true description = "First connection established" sleep = 1000 content_music = "~/.config/sysm/audio/conn.wav" source = shell command = "ss -atun4 | grep ESTAB" type = on_match_when_past_not_match match = ".*\S.*"
Get Started
Requires g++ with C++20 support and SFML audio library.