让按键唤醒令人舒适的声音。

GitHub GitHub tag (latest SemVer pre-release)

[简体中文](README.zh-CN.md) · [English](README.md)
# KeyTone ## 介绍 KeyTone是一款实用的软件,能够在需要保持安静的环境下实时模拟按键的声音,从而提升您使用电脑的舒适度。 尽管市面上已经有很多类似的软件,但KeyTone依然致力于为用户提供最佳的体验。 KeyTone 的**核心是高性能的 Go 实现的**,这为应用奠定了坚实的性能基础, 可使其拥有更高的性能优化上限。 此外,KeyTone是一款遵循GPL协议的开源软件。 ## 特性 * 支持鼠标、键盘按键的声效触发。 > 基于真实按键的触发情况做设计, 仅按下与抬起的瞬间发出声效, 保持按压状态不会重复播放声效。 * 高度可定制, 用户可以根据自身需求来快速定制按键的声效绑定。 > 本软件围绕键音专辑, 设计开发了丰富且便捷的一系列功能。 此外, 本项目提供丰富的[文档支持](https://keytone.xuanhall.com/zh/guide/getting-started/quick-start/), 以帮助用户更好的了解和使用。 ## 特点 释放你的按键声音创意,助你打造独一无二的专属键音体验。 KeyTone 不提供任何音频文件——这是设计的初衷! > 我们希望你发挥无限创作力,上传自制或收集的音频,打造属于自己的个性化键音专辑。 通过 KeyTone,你可以: * 将多个声音组合成一个***高级声音*** 然后绑定到单个按键上, 并设置这些声音在按键触发时 随机播放 或 顺序循环 播放(当然每次播放一个)。 * 允许这些***高级声音*** 进行 相互的组合、继承 与 嵌套, 助力用户创造出层次丰富、变化无穷的音效组合,解锁按键声音的无限可能性。 * **参与键音专辑的制作与分享, 键音专辑的[主要分享社区](https://lusrackhall.itch.io/keytone/community)位于 itch 平台, 欢迎贡献话题或加入已有话题的讨论!** * 当然, 作为一切前提的音频源文件, 本项目中并不提供, 未来也不会提供。
您可通过自行录制、开源社区寻找、免费音频资源的分享网站、Ai生成...等方式得到音频源文件。 > > `通常情况下, 大家可自由在本地使用这些音频资源; 但若需进一步分享,请务必查阅其具体许可协议。` > > * [Nigh/OpenKeySound](https://github.com/Nigh/OpenKeySound) — 此仓库由[Nigh](https://github.com/Nigh)提供, 仓库内有其**自行录制**并裁剪的机械键盘轴体键音, 及相关的使用介绍。 > * [Pixabay](https://pixabay.com/zh/sound-effects/search/键盘/)、 [Freesound](https://freesound.org/search/?q=keyboard), 以及其它声称分享免费音频资源的网站。(*注:第三方网站资源未经内容核实,请自行验证*) > * **随着人工智能的爆发与不断升级, 或许未来可利用AI音频生成技术, 通过提示词生成定制化键盘音效; 甚至是向其告知KeyTone键音专辑的格式, 来使其生成直接可导入使用的键音专辑。**
KeyTone 赋予你自由创作的舞台,让每一次按键敲击都成为独一无二的声音艺术。 ## 安装 您可以通过以下方式获取 **KeyTone** 1. **GitHub Releases** 作为开源项目,您可以从我们的 [GitHub Releases](https://github.com/LuSrackhall/KeyTone/releases) 页面免费下载最新版本。 2. **官方网站** 你也可以通过访问我们的[官方网站](https://keytone.xuanhall.com)免费获取最新版本和安装说明。 3. **itch.io** 通过itch网站进行下载, [点此进入发布页面](https://lusrackhall.itch.io/keytone)。 4. **应用商店** 通过各平台的官方渠道商店获取 KeyTone 的最新版本。 * Windows  ——     从[Microsoft Store(微软商店)](https://apps.microsoft.com/store/detail/9NGKDXHPGJXD?cid=DevShareMCLPCS)获取    * MacOS     ——     暂无上架计划 通过应用商店下载的优势是, 可获得应用商店对所上架软件的自动更新支持。 此外, 应用商店的内置沙盒机制、以及严格的应用审核管理机制,都可为用户提供更进一步的安全保障。 **KeyTone软件是开源且免费的,** 但也欢迎大家通过应用商店进行购买。

与大多数开源产品一样,KeyTone 无法独自发展。因此, 购买行为或是其它形式的赞助, 能够为开发者提供资金支持, 这有利于项目的持续维护和迭代。

## 系统要求 * Windows 10 或更高版本。 macOS 11 或更高版本。 * 音频输出设备。 ## 星路历程 [![Stargazers over time](https://starchart.cc/LuSrackhall/KeyTone.svg?variant=adaptive)](https://starchart.cc/LuSrackhall/KeyTone) ## 开发环境与本地调试 本项目开发环境依赖如下: * Go 1.24.5 * Node.js 20.x * Quasar CLI ### Windows 下环境搭建步骤 1. 安装 [Go 1.24.5](https://go.dev/dl/) 并配置环境变量。 2. 安装 [Node.js 18.x](https://nodejs.org/en/download/)。 3. 全局安装 Quasar CLI ```shell npm install -g @quasar/cli ``` 4. 安装前端依赖: ```shell cd frontend npm install ``` 5. 启动开发环境(Electron 桌面端): ```shell quasar dev -m electron ``` 有关不同构建版本之间差异以及加密产物兼容性的详细说明,请参阅[BUILD_COMPATIBILITY.zh-CN.md](./BUILD_COMPATIBILITY.zh-CN.md)。 ## 路线图 现阶段,我们的混合架构选择 Electron 作为界面层,因其能**快速、稳定地实现复杂的跨平台功能**。虽然 Electron 应用体积较大,但这 **并非KeyTone项目架构的长期瓶颈**。从项目启动之初,我们的技术路线图中就包括了对更轻量级Go桌面框架(如Wails)的评估与整合。Wails 通过使用系统的原生 WebView 来实现更小的体积,而不是像 Electron 那样捆绑整个浏览器引擎。[我们会在 Wails 3 正式发布后将其引入本项目](https://github.com/LuSrackhall/KeyTone/issues/69),以全面解决体积问题。 项目的路线图可以在[这里](https://github.com/LuSrackhall/KeyTone/milestones)找到。在创建增强请求之前,请先查阅它。😊 ## 问题 欢迎任何想法! ## 贡献 欢迎任何形式的贡献! ## 许可证 本项目遵循[GPL许可证](https://github.com/LuSrackhall/KeyTone/blob/main/LICENSE)。 ## 著作权 版权所有 (C) 2024-现在 LuSrackhall