{"id":35218225,"url":"https://github.com/aera128/claket-tauri","last_synced_at":"2026-02-20T00:03:33.207Z","repository":{"id":331020754,"uuid":"1124897848","full_name":"aera128/claket-tauri","owner":"aera128","description":"Native, zero-latency soundboard built with Tauri v2, Rust \u0026 Vue 3. Features precise audio routing (VoiceMeeter/OBS ready), local file mirroring, and a sleek modern UI. Engineered for streamers and power users.","archived":false,"fork":false,"pushed_at":"2026-01-03T00:52:49.000Z","size":6342,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T21:57:41.405Z","etag":null,"topics":["audio-routing","cpal","cross-platform","desktop-app","low-latency","obs-studio","rodio","rust","soundboard","streaming-tools","tailwindcss","tauri","typescript","voicemeeter","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aera128.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-29T20:09:13.000Z","updated_at":"2026-01-02T23:03:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"c0d151a1-cd72-4aed-bf02-b406b6b2e637","html_url":"https://github.com/aera128/claket-tauri","commit_stats":null,"previous_names":["aera128/claket-tauri"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/aera128/claket-tauri","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aera128%2Fclaket-tauri","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aera128%2Fclaket-tauri/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aera128%2Fclaket-tauri/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aera128%2Fclaket-tauri/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aera128","download_url":"https://codeload.github.com/aera128/claket-tauri/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aera128%2Fclaket-tauri/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29637400,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T22:32:43.237Z","status":"ssl_error","status_checked_at":"2026-02-19T22:32:38.330Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-routing","cpal","cross-platform","desktop-app","low-latency","obs-studio","rodio","rust","soundboard","streaming-tools","tailwindcss","tauri","typescript","voicemeeter","vuejs"],"created_at":"2025-12-29T23:03:34.722Z","updated_at":"2026-02-20T00:03:33.202Z","avatar_url":"https://github.com/aera128.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"src-tauri/icons/icon.png\" width=\"128\" height=\"128\" alt=\"Claket Logo - High-Performance Native Soundboard for Streamers and Gamers\"\u003e\n  \u003ch1\u003eClaket Soundboard\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eA high-performance, native low-latency soundboard for streamers, gamers, and power users.\u003c/strong\u003e\u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://v2.tauri.app/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Tauri-v2-FFC131?logo=tauri\u0026logoColor=white\" alt=\"Tauri v2\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://vuejs.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Vue-3.5-4FC08D?logo=vuedotjs\u0026logoColor=white\" alt=\"Vue 3\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.rust-lang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Rust-1.75+-000000?logo=rust\u0026logoColor=white\" alt=\"Rust\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.typescriptlang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/TypeScript-5.6-3178C6?logo=typescript\u0026logoColor=white\" alt=\"TypeScript\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://tailwindcss.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Tailwind-v4-06B6D4?logo=tailwindcss\u0026logoColor=white\" alt=\"Tailwind CSS v4\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://bun.sh/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Bun-1.1-fbf0df?logo=bun\u0026logoColor=000\" alt=\"Bun\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## ⚡ Professional-Grade Audio for Your Stream\n\n**Claket** is a modern, streamer-ready soundboard application engineered for **zero-latency** performance using **Tauri v2** and **Rust**. Whether you are a Twitch streamer, a competitive gamer, or a podcast host, Claket provides the precision and reliability needed for high-stakes audio production.\n\nUnlike standard browser-based soundboards, Claket utilizes a **native Rust audio engine** (powered by `rodio` and `cpal`). This allows it to bypass Web Audio API limitations, offering **bit-perfect audio routing** directly to specific hardware outputs or virtual audio mixers like **VoiceMeeter**, **VB-Audio Cable**, and **OBS Studio**.\n\n## ✨ Key Features\n\n- 🎧 **Native Output Routing**: Send audio directly to any hardware device or virtual cable with precision.\n- 🚀 **Zero-Latency Rust Engine**: Native audio processing ensures instant playback with no lag.\n- 💾 **Local Library Mirroring**: Automatically copies imported sounds to a dedicated AppData folder—your library stays intact even if original files move.\n- 🎨 **Modern Streamer UI**: A sleek, dark-mode-first interface built with Tailwind CSS v4 and shadcn-vue.\n- 🖱️ **Instant Grid Mapping**: Simply drag and drop audio files onto the grid to create custom sound triggers.\n- 🎚️ **Dynamic Volume Control**: Per-button normalization and a global Master Volume with real-time level meters.\n- 🔄 **Persistent Settings**: Your custom grids, device preferences, and volume levels are saved automatically.\n\n## 🎯 Why Claket? (Use Cases)\n\n### 🎙️ Streamer-Ready Soundboard\nRoute Claket through a virtual audio cable (VAC) into **OBS Studio** or **Streamlabs**. Keep your soundboard audio on a separate track from your game audio for perfect mix control.\n\n### 🎮 Gaming \u0026 Discord\nTrigger funny clips or memes during matches. By routing Claket to a virtual input, your sounds will play directly into **Discord**, **Teamspeak**, or in-game voice chats.\n\n### 🎛️ VoiceMeeter Integration\nOptimized for power users. Seamlessly integrate Claket as a hardware input in **VoiceMeeter Banana/Potato** to manage your sound effects alongside your microphone and music.\n\n### 📻 Podcast Production\nUse the multi-page grid to organize sound effects, intro music, and transitions. The low-latency engine ensures your timing is always perfect.\n\n## 🛠️ Tech Stack\n\n| Layer | Technology |\n| :--- | :--- |\n| **App Framework** | [Tauri v2](https://v2.tauri.app/) (Native Performance) |\n| **Frontend** | [Vue 3](https://vuejs.org/) (Composition API) |\n| **Backend** | [Rust](https://www.rust-lang.org/) (Low Latency Engine) |\n| **Styling** | [Tailwind CSS v4](https://tailwindcss.com/), [shadcn-vue](https://www.shadcn-vue.com/) |\n| **Audio Library** | [Rodio](https://github.com/RustAudio/rodio) \u0026 [CPAL](https://github.com/RustAudio/cpal) |\n| **Package Manager** | [Bun](https://bun.sh/) |\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- [Rust](https://www.rust-lang.org/tools/install) (latest stable)\n- [Bun](https://bun.sh/)\n- [Tauri Prerequisites](https://v2.tauri.app/guides/start/prerequisites/)\n\n### Installation\n\n1. Clone the repository:\n   ```bash\n    git clone https://github.com/aera128/claket-tauri.git\n   cd claket-tauri\n   ```\n\n2. Install dependencies:\n   ```bash\n   bun install\n   ```\n\n3. Run in development mode:\n   ```bash\n   bun run dev\n   ```\n\n### Building for Production\n\nTo create a native installer for your platform:\n```bash\nbun run build\n```\n*Artifacts will be available in `src-tauri/target/release/bundle`.*\n\n## 📖 Under the Hood\n\n1. **Mirroring**: Claket copies imported audio to `%APPDATA%/com.sk4ur.claket/sounds` (on Windows) to ensure persistence.\n2. **Decoding**: Audio is pre-decoded using `rodio` and cached in memory for zero-delay triggers.\n3. **Routing**: The backend uses `cpal` to interface directly with the OS audio stack, enabling multi-device selection.\n\n## 🤝 Contributing\n\nContributions are welcome! If you have ideas for streamer integrations or audio improvements, feel free to open an issue or pull request.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  Built with ❤️ for the streaming community by \u003ca href=\"https://github.com/aera128\"\u003esk4ur\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faera128%2Fclaket-tauri","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faera128%2Fclaket-tauri","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faera128%2Fclaket-tauri/lists"}