Developer Audio UX Toolkit — Hear your code's state without staring at the terminal.
Auralog is a cross-platform, multi-language Audio UX (User Experience) toolkit for developers. It allows you to add standardized, non-intrusive sound notifications to your scripts, machine learning pipelines, and backend services.
Instead of constantly checking your terminal to see if a model finished training, a download failed, or an API hit a rate limit, Auralog lets you hear it.
Visual logs are great, but they require your constant attention. Audio debugging and sonification reduce cognitive load:
- Zero Heavy Dependencies: Uses native OS audio players (
afplayon macOS,paplay/aplayon Linux, and native APIs/PowerShell on Windows). - Standardized Audio UX: Carefully selected frequencies and sound designs based on psychoacoustics (e.g., high-pitch for success, low-pitch for errors).
- Multi-Language Support: One unified sound library usable across Python, Node.js, C#, and Go.
- 11 Unique States: Goes way beyond just "success" or "error".
Auralog provides specifically tailored sounds for the entire software development lifecycle:
| Method | Use Case | Audio Characteristic |
|---|---|---|
success() |
Process completed successfully (e.g., build finished). | Upward, satisfying chime. |
error() |
Critical failure or exception caught. | Low-pitch, sharp alert. |
warning() |
Non-fatal issue (e.g., retrying connection). | Soft caution beep. |
start() |
Script or server initialized. | System boot-up / wake sound. |
progress() |
Loop ticks (e.g., every 100th iteration). | Minimalist, neutral tap/click. |
timeout() |
Process aborted or connection timed out. | Downward fading tone. |
info() |
New event captured (e.g., webhook received). | Gentle notification bubble. |
checkpoint() |
Major milestone reached (e.g., epoch 1/50 complete). | Level-clear chime. |
trigger() |
Threshold met (e.g., loss drops below 0.1). | Radar ping / scanner catch. |
disconnect() |
Hardware unplugged or server disconnected. | Dropped connection thud. |
rate_limit() |
API quota hit or blocked (HTTP 429). | Soft bump / blocked sound. |
Note: All sounds come in different themes (e.g., modern, retro, soft).
Auralog is built as a Monorepo. Choose your language environment below:
pip install auralog
import auralog
auralog.start()
try:
# Your long-running ML training or data pipeline...
for i in range(1000):
if i % 100 == 0:
auralog.progress(theme="soft")
auralog.success()
except RateLimitException:
auralog.rate_limit()
except Exception as e:
print(f"Crash: {e}")
auralog.error()npm install auralog
const auralog = require('auralog');
auralog.checkpoint('retro');go get [github.com/mefamex/auralog/go](https://github.com/mefamex/auralog/go)
import "[github.com/mefamex/auralog/go](https://github.com/mefamex/auralog/go)"
auralog.Trigger()Auralog uses a central sound repository to ensure the Audio UX is identical across all programming languages.
auralog/
├── sounds/ # Centralized CC0 audio files (.wav/.ogg)
│ ├── success-modern.wav
│ └── ...
├── python/ # Python wrapper & PyPI package
├── nodejs/ # Node.js wrapper & NPM package
├── csharp/ # C# wrapper & NuGet package
└── go/ # Go module
You can customize the audio style by passing a theme argument:
modern(Default): Clean, macOS/Material Design style UI sounds.retro: 8-bit, terminal-style nostalgic beeps.soft: Extremely subtle, non-intrusive sounds for late-night coding.
Contributions are welcome! If you want to add a new language wrapper (e.g., Rust, Ruby) or suggest a new CC0 sound effect:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
- Code: MIT License
- Audio Files: Creative Commons Zero (CC0) - Public Domain. Sourced and curated from Freesound and UI standard libraries.
Crafted by Mefamex.