A modern Linux application that brings mechanical keyboard sounds to your typing experience. Built with Avalonia UI and .NET 10.
-
🎹 Real-time Sound Playback - Keyboard sounds as you type
-
🎨 Modern UI - Beautiful gradient interface with system tray support
-
📦 Mechvibes Compatible - Import existing sound packs (OGG/WAV)
-
🔊 Volume Control - Adjustable volume with mute toggle
-
⚡ High Performance - Parallel loading, OpenAL audio engine
-
🐧 Linux Native - Built for Linux with evdev input monitoring
Download the latest AppImage from Releases:
- Download
SweetTypeTone-x.x.x-x86_64.AppImage - Make it executable:
chmod +x SweetTypeTone-*.AppImage - Double-click to run
- First run: A dialog will ask to configure permissions - click "Yes" and enter your password
- Log out and log back in
- Run again - Enjoy!
✨ Includes 20+ pre-installed sound packs! No installation needed. Works on Ubuntu, Fedora, Arch, and all major Linux distributions.
Alternative installation method:
- Download
SweetTypeTone-x.x.x-linux-x64.tar.gz - Extract:
tar -xzf SweetTypeTone-*.tar.gz - Run installer:
./install.sh(optional, installs to ~/.local/bin) - Or run directly:
./SweetTypeTone
✨ Includes 20+ pre-installed sound packs!
git clone https://github.com/amuza2/SweetTypeTone.git
cd SweetTypeTone
# Build AppImage with bundled sound packs
./scripts/build-appimage.sh
# Or build binary archive
./scripts/build-binary.sh
# Or just build for development
dotnet build -c Release
dotnet run --project src/SweetTypeTone/SweetTypeTone.csproj
Requirements: .NET 10 SDK, Linux with evdev support
Both AppImage and binary releases include 20+ pre-installed sound packs:
Add custom packs: Copy sound packs (OGG/WAV) to ~/.config/SweetTypeTone/CustomSoundPacks/ and click refresh.
-
Avalonia UI - Cross-platform UI framework
-
OpenAL - High-performance audio engine
-
NVorbis - OGG Vorbis decoder
-
NLayer - MP3 decoder
-
Linux evdev - Native input monitoring
-
.NET 10 - Modern runtime with trimming support
Contributions welcome! See CONTRIBUTING.md for guidelines.
-
Fork the repository
-
Create your feature branch (
git checkout -b feature/amazing-feature) -
Commit your changes (
git commit -m 'feat: add amazing feature') -
Push to the branch (
git push origin feature/amazing-feature) -
Open a Pull Request
MIT License - see LICENSE for details.
-
Inspired by Mechvibes
-
Sound packs from the mechanical keyboard community