Skip to content

A lightweight, Discord-inspired desktop soundboard built with Tauri, Rust, and React. Features global hotkeys, low-latency audio playback, and in-app waveform trimming.

License

Notifications You must be signed in to change notification settings

dranelixx/SonicDeck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

SonicDeck 🎡

High-performance desktop soundboard application built with Tauri v2, Rust, React, and TypeScript.

Designed for gamers, streamers, and content creators who need professional audio routing with minimal latency. SonicDeck features a sleek, Discord-inspired dark theme and powerful audio management tools.

License: MIT Version Platform Coverage

Status: Currently in beta testing - Download Latest Release


πŸ“Έ Screenshots

Main Dashboard

SonicDeck Dashboard Clean, Discord-inspired dark theme with organized sound categories and waveform visualization

Audio Trimming & Waveform Editor

Trim Editor Non-destructive audio trimming with real-time waveform preview and precise controls

Settings & Configuration

Click to view all settings panels

Settings - VB-Cable & Audio Devices VB-Cable integration, audio device configuration, and playback preferences

Settings - System Tray & Devices System tray options, startup behavior, and available devices overview

Settings - About App information and external links

VB-Cable Integration (Discord Audio Routing)

Click to view VB-Cable setup states

VB-Cable Installed VB-Cable installed with microphone routing options

VB-Cable Routing Enabled Microphone routing active - friends hear you AND your sounds

Hotkey Assignment

Click to view hotkey assignment flow

Hotkey Manager - Step 1 Assign global hotkeys to sounds

Hotkey Manager - Step 2 Press any key combination to assign

Hotkey Manager - Step 3 Hotkey successfully assigned and saved

Sound Editing

Edit Sound Edit sound properties: name, icon, category, and volume


Features

VB-Cable Integration (Discord Audio Routing)

Share your soundboard with Discord friends while they can still hear your voice:

  • One-Click Install: Automatic VB-Cable download and setup from within the app
  • Microphone Routing: Your voice gets mixed with sounds - friends hear both
  • Auto-Switch: Windows communications device automatically switches when app is active
  • Device Protection: Original Windows default devices automatically restored after install
  • Low Latency: 100ms audio passthrough for natural voice chat

App Setup: In Discord, Zoom, Teams, etc. set your input device to "Default" (not "CABLE Output"). SonicDeck automatically manages the Windows default device.

Dual-Audio Routing

Play sounds to two separate audio devices simultaneously (e.g., headphones + virtual audio cable for streaming).

Sound Library Management

  • Category Organization: Organize sounds with custom categories
  • Drag & Drop Import: Drop MP3, WAV, OGG, or M4A/AAC files directly into the app
  • Favorites System: Star your most-used sounds for quick access
  • Custom Icons: Assign emojis to sounds with built-in picker
  • Per-Sound Volume: Individual volume control for each sound

πŸ“Š Audio Caching & Waveform Visualization

  • LRU Memory Cache: 500MB cache for instant repeated playback
  • Real-time Waveform Display: High-DPI canvas rendering with playback progress
  • Interactive Trim Editor: Non-destructive audio trimming with visual feedback
  • Trim-aware Playback: Audio automatically starts/ends at trimmed boundaries

🎨 Modern UI/UX

  • Discord-inspired dark theme
  • Smooth animations and transitions
  • Toast notifications for user feedback
  • Responsive layout with drag & drop support

⚑ Performance

  • Low-Latency Audio Engine: Fixed 256-sample buffer size for minimal audio delay
  • Seamless Sound Restart: Instant retriggering without audio gaps or clicks
  • Rust Backend: Built with cpal + symphonia for high-performance audio processing
  • Thread-per-playback: Parallel sound playback without blocking
  • Background Decoding: No UI freezes, even with large files
  • Optimized React Components: Memoization prevents unnecessary re-renders

⌨️ Global Hotkeys & System Integration

  • Global Hotkeys: Trigger sounds from anywhere with customizable keyboard shortcuts
  • System Tray: Minimize to tray with quick access menu
  • Autostart: Optional launch on system boot
  • Start Minimized: Begin in system tray for unobtrusive startup

πŸ—ΊοΈ Development Status

  • βœ… Phase 1: Audio Foundation (Dual-output engine, device enumeration)
  • βœ… Phase 2: Settings & UI (Device configuration, navigation)
  • βœ… Phase 3: Sound Library Management (Categories, favorites, drag & drop)
  • βœ… Phase 4: Audio Caching, Waveform Visualization & Trim Editor
  • βœ… Phase 5: System Integration (Global hotkeys, system tray, autostart)
  • πŸš€ Current: Beta testing, bug fixes, polish, and community feedback

Planned Features

  • Auto-Updater – Seamless updates without manual reinstallation
  • Import/Export – Library migration via JSON/ZIP
  • OBS Integration – Scene-based sound triggers via WebSocket
  • Audio Effects & Voice Changer – EQ, Reverb, Pitch Shifting
  • Device Profiles & Auto-Switch – Save device setups, auto-reconnect on change
  • Mobile Web-Remote – Control via smartphone browser (no app install needed)
  • Game-Aware Profiles – Auto-switch profiles per game

πŸ› Beta Testing & Logging

Log Files for Bug Reports:

  • Location: %LOCALAPPDATA%\com.sonicdeck.app\logs\
  • Format: sonicdeck.YYYY-MM-DD.log (e.g., sonicdeck.2025-12-28.log)
  • Daily rotation (last 7 days kept automatically)
  • Contains timestamps, thread IDs, errors, and detailed operation logs

Debug Mode for Detailed Logs: To help diagnose issues, run SonicDeck with the --debug flag:

  • Shortcut Method: Right-click SonicDeck shortcut β†’ Properties β†’ Add --debug to Target field after .exe
  • Command Line: SonicDeck.exe --debug
  • Result: Enables detailed debug-level logging (device timings, cache operations, stream creation, etc.)

For Testers: If you encounter bugs, please:

  1. Run SonicDeck with --debug flag to capture detailed logs
  2. Reproduce the issue
  3. Include the log file from %LOCALAPPDATA%\com.sonicdeck.app\logs\ in your bug report

See docs/testing/TESTING_GUIDE_EN.html for detailed instructions.

🎨 Looking for an Artist!

I'm searching for a talented artist to create visual assets for SonicDeck!

Needed:

  • App branding (logo, icons, banners)
  • UI/UX design elements
  • Social media graphics
  • Presentation materials
  • Marketing visuals
  • Anything else to enhance the project's visual identity

This is an open-source community project - contributions are unpaid.
If you're passionate about design and want to contribute to an open-source project, please reach out:


πŸ“₯ Installation (For Users)

Note: SonicDeck is currently in beta testing. Download the latest release and help us improve!

Windows Installation

  1. Download the latest release:

    • Go to Releases
    • Download SonicDeck_X.X.X_x64-setup.exe (NSIS installer) or SonicDeck_X.X.X_x64_en-US.msi (MSI installer)
  2. Install:

    • Run the installer
    • Follow the installation wizard
    • Launch SonicDeck from Start Menu or Desktop shortcut
  3. Enable Debug Mode (for bug reports):

    • Right-click SonicDeck shortcut β†’ Properties
    • In "Target" field, add --debug after .exe
    • Example: "C:\Program Files\SonicDeck\SonicDeck.exe" --debug
    • This enables detailed logging for troubleshooting

First Launch

  • Configure your audio devices in Settings
  • Import sounds via drag & drop
  • Assign hotkeys to your favorite sounds
  • See Testing Guide for detailed setup

πŸ› οΈ Development Setup

For contributors: Follow these steps to set up your development environment.

Prerequisites

Installation & Running

  1. Clone the repository:

    git clone https://github.com/DraneLixX/SonicDeck.git
    cd SonicDeck
  2. Install frontend dependencies:

    yarn install
  3. Run the development server:

    yarn tauri dev

🀝 Contributing

Contributions are welcome! Whether you're fixing bugs, adding features, testing, or creating visual assets - we appreciate your help!

Ways to contribute:

  • πŸ› Report bugs with detailed logs
  • πŸ§ͺ Beta test and provide feedback
  • 🎨 Create visual assets (we're looking for an artist!)
  • πŸ’» Submit code improvements
  • πŸ“ Improve documentation

Please read CONTRIBUTING.md for detailed guidelines on:

  • Development workflow (Git Flow)
  • Code style and conventions
  • Commit message format
  • Testing procedures
  • Community guidelines

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright Notice

Copyright (c) 2025 Adrian Konopczynski (DraneLixX)
SonicDeck - High-Performance Desktop Soundboard

What this means:

  • βœ… You can use, modify, and distribute this software freely
  • βœ… You can use it for commercial purposes
  • βœ… You must include the copyright notice and license in any copies
  • ⚠️ The software is provided "as-is" without warranty
  • πŸ’‘ Future paid features may be offered under a separate commercial license

πŸ“ž Contact & Support

Developer: Adrian Konopczynski (DraneLixX)


Built with ❀️ by Adrian Konopczynski (DraneLixX)

About

A lightweight, Discord-inspired desktop soundboard built with Tauri, Rust, and React. Features global hotkeys, low-latency audio playback, and in-app waveform trimming.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published