SaikoSoundboard is a modern, low-latency Windows soundboard, audio recorder, and instant replay capture application built with C++17, Qt 6 Quick, and native WASAPI audio sub-systems.
Designed for content creators, streamers, and gamers, SaikoSoundboard provides real-time system and application audio capture, customizable hotkey triggering, audio trimming, per-slot device routing, and seamless audio replay buffers.
- 🎙️ Flexible Audio Capture & Instant Replay:
- System Output (Global): Capture clean Windows desktop audio via native WASAPI loopback.
- Multi-Track Application Capture: Target individual running processes (Discord, Spotify, games, etc.) with custom mix controls, solo monitoring, and volume adjustments.
- Isolated Virtual Device Loopback: Captures virtual audio cables (e.g. VB-Cable) as isolated tracks.
- Headphones Monitoring (Passthrough): Explicit monitoring controls ("Listen" button) to route isolated virtual device audio to headphones with dynamic volume scaling.
- Instant Replay Buffer: Continuous background audio buffer with configurable duration, one-click save to WAV, and a hover-revealed circular power toggle featuring Canvas ripple animations.
- Replay Duration Editor: Standalone editor with cross-fade displays, press-and-hold repeat stepping, and soft-cap limit validation.
- 🎛️ Soundboard & Playback Modes:
- Configurable Playback Modes: Choose between 6 slot-level modes (Default, Restart/Retrigger, Toggle/Stop, Queued Sequential, Layered/Cut All, and Layered/Ring Out).
- Slot Assignment ("Assign to Slot"): Easily assign active recording or replay playback files to any soundboard grid slot via a dedicated selection dialog.
- Interactive Waveform Display: Live waveform rendering during recording and playback, featuring type-safe visual distinction (green for replays, purple for manual recordings), and multi-track playhead overlays.
- Detailed Status Indicators: Real-time loop count indicators, playback countdown timers, active queue badges, and marquee text scrolling.
- ⚡ Advanced Hotkey Dispatcher:
- Numpad Key Support: Register top-row digits and numpad digits (
VK_NUMPAD0–VK_NUMPAD9) as distinct global Windows hotkeys. - Hotkey Capture Lifecycle: Duplicate keybinding detection, timeout recovery, and real-time unsaved changes warning states.
- Numpad Key Support: Register top-row digits and numpad digits (
- 🎨 Custom Frameless Window & Theme UI:
- DPI-Aware Frameless Windowing: Win32 custom hit-testing (
WM_NCHITTEST/WM_NCCALCSIZE), drag-to-move, and double-click to maximize with transparent resize borders. - Native Title Bar Controls: Clamped work-area maximization on multi-monitor setups, native Segoe MDL2 iconography, and utility shortcuts (Settings, About, Log Viewer).
- Performance-Optimized Rendering: Automatically pauses idle visual effects and card pulse animations during window resize/move operations to prevent interface lag.
- SaikoFramelessPopup & SaikoDialog overlays: Consolidated dialog layouts with backdrop dimming, entry/exit scale transitions, tabbed Settings views, and contextual warning alerts (hotkey conflicts, unsaved files).
- DPI-Aware Frameless Windowing: Win32 custom hit-testing (
- 📊 Real-time Logging & Storage System:
- Structured Logging Engine: Thread-safe
SaikoLoggingstatic library with formattedConsoleSinkredirects and disk sessionFileSinkpersistence. - In-App Log Viewer: Sortable and filterable real-time Log Viewer console overlay unlocked via developer mode easter egg.
- Centralized Storage paths: Stateless
SaikoStoragelibrary containing centralized path resolution, and automatic file cleanup of rejected audio recordings.
- Structured Logging Engine: Thread-safe
- Operating System: Windows 10 / Windows 11 (64-bit)
- Audio Subsystem: WASAPI compatible sound device
- Build Requirements (for building from source):
- Qt 6.11.1 (
mingw_64) - MinGW 13.1 (64-bit) / GCC C++17 compiler
- CMake 3.16 or newer
- Ninja build generator (recommended)
- Qt 6.11.1 (
To compile SaikoSoundboard locally:
# Clone repository
git clone https://github.com/your-username/SaikoSoundboard.git
cd SaikoSoundboard
# Configure CMake build directory
cmake -B build -G "Ninja" `
-DCMAKE_PREFIX_PATH="C:/Qt/6.11.1/mingw_64" `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_AUTOMOC_COMPILER_PREDEFINES=OFF
# Build executable
cmake --build build --config ReleaseThe compiled executable will be located at build/SaikoSoundboard.exe.
SaikoSoundboard includes automated tests and manual hardware verification utilities:
# Run automated CTest suite
ctest --test-dir build --output-on-failure
# Run automated architecture and guidelines compliance check
cmake --build build --target verify-project
# Launch hardware verification tools (when BUILD_VERIFICATION_TOOLS=ON)
.\build\tools\SoundPlayerVerify.exe
.\build\tools\HotkeyManagerVerify.exe
.\build\tools\ActionManagerVerify.exeTo build a standalone distribution folder and Windows installer executable:
Run the provided PowerShell deployment script:
.\tools\deploy_release.ps1This script will:
- Compile SaikoSoundboard in
Releasemode. - Run
windeployqtto bundle required Qt libraries and QML modules. - Package the standalone bundle in
dist/SaikoSoundboard-v0.4.1-beta/. - Build
SaikoSoundboard-0.4.1-Beta-Setup.exeif Inno Setup Compiler (iscc.exe) is installed.
You can also compile the installer script manually using Inno Setup 6:
iscc installer/SaikoSoundboard.issThe codebase strictly adheres to clean architecture principles, modularized into static library targets linked under SaikoSoundboardCore:
SaikoSoundboard/
├── src/core/domain/ # SaikoDomain: Pure C++ business logic (no Qt or platform dependencies)
├── src/core/adapters/ # SaikoAdapters: Native Windows platform integrations (API, hotkeys, process muting)
├── src/audio/ # SaikoAudio: WASAPI audio engine (recorder, mixer, replay buffer, WAV writer)
├── src/logging/ # SaikoLogging: Structured thread-safe logging with file and console sinks
├── src/storage/ # SaikoStorage: Centralized stateless application directory and path resolver
├── src/managers/ # SaikoManagers: Orchestration layer managing slots, hotkeys, settings, and recordings
├── src/models/ # SaikoModels: Qt QAbstractListModel implementations (slots, active devices)
├── src/ui/ # SaikoUI: C++ QmlBackend singleton and Waveform quick items
├── src/qml/ # UI representation: Qt Quick files, themes, popups, and components
├── installer/ # Standalone Windows installer configuration (Inno Setup)
└── tools/ # Release packaging script and compliance check scripts (verify_project.ps1)
To support rapid iterations and fast build times under MinGW 13.1 and CMake:
- Precompiled Headers (PCH): Heavy common headers (Qt, standard libraries, Win32 APIs) are precompiled via
COMMON_PCH_HEADERSto eliminate compile cascades. - Unity Builds: Source files in compilation-heavy libraries (
SaikoAudioandSaikoManagers) are grouped into single compilation units to optimize link times and compile passes.
Built with C++17, Qt 6 Quick, and native Windows Audio Session APIs (WASAPI). © 2026 Saiko Interactive. Released under Beta license.