dev.to | 📄 原文链接 | 2026-11-07 收录

给普通键盘加机械轴声音:一路掉进 Linux 音频栈

来源:dev.to — 2026-11-06

📋 概述

作者喜欢 Mac 上的 Klicky 打字音效,但自己跑的是 Arch + Omarchy,于是接手这个 Rust 项目,从 Omarchy 扩到整个 Linux,再到 Windows。关键设计是把耗时工作前置:加载音效包时就解码 OGG、切好每个键的片段、做响度归一化(85% 峰值目标、最多 6 倍放大),按键时只从已运行的混音器里取准备好的音频,因此多个键音可以重叠。但代码跑得快,声音依然听着迟:事件分发只有 0.241ms,p95 0.56ms,而音频设备协商出的缓冲是 44.1kHz 下 1102 帧,约 25ms——快的一端喂着一个巨大的缓冲。换成 Rodio 0.22 并请求更小缓冲后,PipeWire 上协商到 256 帧约 5.8ms,延迟感消失。

🔑 核心要点

💡 金句

“The code was fast. The sound still felt late.”
译:代码已经很快了,可声音听起来还是迟。
← 返回 dev.to 首页