ITADN
chaosprint/asak · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

asak

asak 是一个使用 Rust 编写的终端音频工具。它提供了一个键盘驱动的 TUI,用于浏览音频文件、预览波形、录制新的 .wav 文件,以及选择播放和录音设备。

image

功能

  • 浏览和预览 wavmp3ogg 文件
  • 使用实时监听波形录制 .wav 文件
  • 在录音时显示完整的时间线
  • 显示播放波形、时间和通道电平表
  • 从终端选择系统输入和输出设备

安装

你需要安装 cargo 的 Rust 工具链。

从 crates.io 安装:

cargo install asak

从本仓库安装:

cargo install --path .

在 Linux 上,你通常需要 cpal 的音频开发包:

sudo apt install libasound2-dev libjack-dev

如果您明确需要 JACK 支持:

cargo install --path . --features jack

开始

运行应用:

asak

从源码运行:

cargo run

界面

asak 启动时,你将在三种模式之间进行选择:

  • Play
  • Rec
  • Settings

播放

Play 打开一个以当前工作目录为根的文件浏览器。

  • 浏览文件夹和受支持的音频文件
  • 打开文件以立即预览
  • 查看带有从左到右播放头的完整波形
  • 查看播放时间、采样率、声道和电平表

按键:

  • Up / Down: 在浏览器中移动
  • Enter: 打开文件夹或预览文件
  • Backspace: 返回上级目录
  • Space: 暂停或恢复播放
  • Esc: 停止播放并返回模式选择

录音

Rec.wav 文件录制到当前工作目录。

  • 在左侧面板输入文件名
  • Enter 开始录音
  • 再次按 Enter 停止
  • 录音时查看实时监听波形
  • 查看随录音增长而更新的完整录音时间线

保存后,asak 返回模式选择器并刷新 Play 浏览器,以便新文件可以预览。

录音开始前的按键:

  • Left / Right: 在文件名中移动光标
  • Home / End: 跳转光标
  • Backspace / Delete: 编辑文件名
  • Enter: 开始录音

录音过程中的按键:

  • Enter: 停止录音
  • Esc: 退出录音模式

设置

Settings 允许您选择播放和录音设备。

  • 选择 Playback DeviceRecording Device
  • 使用 Enter 打开设备列表
  • 使用 Up / Down 在设备间移动
  • 使用 EnterBackspace 确认并返回
  • 使用 r 刷新设备发现

系统默认设备用作默认选择。

全局按键

  • Up / Down: 在模式选择器中切换模式
  • Enter: 打开所选模式
  • Esc: 返回模式选择器
  • q: 退出

Development

格式化项目:

cargo fmt

使用拒绝警告的方式运行 Clippy:

cargo clippy --all-targets -- -D warnings

构建发布二进制文件:

cargo build --release

构建脚本还会将 shell 补全和 man 页面生成到 target/completionstarget/man

备注

  • asak 使用当前工作目录作为初始浏览器根目录
  • 默认情况下,录制文件会保存到当前工作目录
  • 应用激活时会在备用终端屏幕中运行

贡献

欢迎提交 issue 和 pull request。