3 releases
new 0.1.2 | Nov 29, 2024 |
---|---|
0.1.1 | Nov 23, 2024 |
0.1.0 | Nov 23, 2024 |
#76 in Audio
358 downloads per month
41KB
867 lines
Moann
A lightweight, multithreaded alternative to Mechvibes for mechanical keyboard sound simulation, written in Rust. This CLI tool provides blazing-fast performance with minimal resource usage.
Features
- ⚡ Lightning-fast response time through multithreading
- 🦀 Written in Rust for optimal performance and safety
- 🪶 Minimal resource footprint
- 🎮 Simple CLI interface
- 🎹 Real-time keyboard sound feedback
- 💻 Cross-platform support
- 🔧 Zero configuration needed
Installation
From Source
Requires Rust toolchain (1.70.0 or newer):
cargo install moann
Quick Start
Simply run the following command to start the keyboard sound simulation:
moann start
System Requirements
- Any modern operating system (Windows, macOS, Linux)
- Audio output device
- Minimal storage space (~10MB)
How It Works
Moann leverages Rust's powerful concurrency model to process keyboard events and play sounds with minimal latency:
- Main thread: Handles user input and CLI interface
- Event listener thread: Captures keyboard events using native OS APIs
- Audio thread: Manages sound playback with minimal latency
- Resource thread: Handles file system operations efficiently
This architecture ensures that sound playback never blocks keyboard input processing, resulting in a seamless experience.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. Make sure to run:
cargo fmt
cargo clippy
cargo test
Troubleshooting
Common Issues
- Sound not playing
- Ensure your system's audio is not muted
- Check if the correct audio output device is selected
- Verify that you have the required permissions
Debug Mode
Run with debug logging enabled:
moann start --debug
Building from Source
If you encounter any issues building from source, ensure you have:
- Latest stable Rust toolchain
- Required system dependencies:
- Linux:
libasound2-dev
,libxi-dev
andlibxtst-dev
sudo apt install libxi-dev libxtst-dev libasound2-dev
- macOS: XCode command line tools
- Windows: No additional dependencies
- Linux:
License
MIT License - feel free to use this software for any purpose.
Credits
Inspired by the original Mechvibes project, but rewritten from scratch in Rust with performance in mind.
Dependencies
~14–44MB
~692K SLoC