Termixer:在终端打造专业 DJ 混音台
Termixer (TUI DJ Mixer)
Termixer 是一款基于 Rust 构建的终端 DJ 混音工具,专为 Unix 系统设计。它利用 ratatui 框架,在纯文本界面中实现了双通道混音、采样垫和音序器功能。用户可以直接通过终端控制 MPV 播放器或 SuperCollider,进行实时 EQ 调节、滤波和交叉淡入淡出。软件支持 Vim 风格的键盘导航,并自动发现系统中的音频源。无论是进行 TidalCycles 的现场表演,还是简单的音频混音,Termixer 都让开发者无需离开终端即可完成专业级的音频操作。
一个双通道混音台、采样垫和音序器——全部在任意 Unix 终端中运行。
HN 评论区
40- vintagevibe
我是个 DJ 兼 TUI 爱好者,虽然我很想喜欢这个项目,但我认为键盘永远不是 DJ 混音的正确输入方式或模式。也许我的思维模型是个特例,但在 DJ 混音过程中,多点物理控制对许多操作至关重要——总音量控制、效果器、预听、单轨控制,甚至只是对正在播放的音轨进行物理操作。这些根本无法映射到 TUI 上,或者更关键的是,这看起来一点都不好玩。TUI 如何实现这种过渡?TUI 凭什么成为合适的界面?
- tomduncalf
我喜欢这个界面风格——看看 https://boorch.itch.io/,那里有一些类似的精美音乐类 TUI。
- robmorgan
我也在开发类似的东西,不过我走的是 GUI 路线:https://github.com/robmorgan/halo
不管怎样,你可以试试我的 timestretch 库:https://github.com/robmorgan/timestretch-rs —— 它还非常早期,但已经能应对我很多使用场景,而且是纯 Rust 写的。
- walrus01
功能请求:ASCII 羊驼和原版 Winamp 的启动音效文件
https://democyclopedia.wordpress.com/wp-content/uploads/2017...
- kbouck
TUI 的限制迫使你发挥创造力(而且是好的方面),去思考如何向用户呈现或编码信息。
在 DJ 类 TUI 中,如何呈现音轨波形?用 ASCII 块或点来编码波形幅度是一种相当低保真的表现方式。相反,你可以用单行色块来编码波形幅度,利用 256 色/亮度对底层采样峰值进行平均处理。
如果你做了音轨分离(stems separation),每条音轨就有 4 行这样的数据——高效且信息密集!
当音轨播放、用户缩放或搓盘时,这种表现方式能让播放头在音轨中平滑移动的触感更加强烈。