~>

waveform-cli

基于 Go 语言的高性能跨平台命令行工具,一条命令将 mp3 / wav / flac / m4a 等音频 转换为 *.waveform2.gz 压缩彩色波形文件,与彩狐播放器波形层无缝对接。

单文件 · 免安装 体积约 2.3 MB 无需运行时环境 支持 6 种平台架构
选择平台下载

FEATURES

功能特点

rekordbox 同源色彩

算法还原自 rekordbox 波形引擎:三频段 IIR 分频、峰值保持 + 指数衰减包络、HSV 色彩映射,低 / 中 / 高频分别映射 红 / 绿 / 蓝,视觉与原生一致。

双规格波形输出

一次生成两种数据:PWV4 列表小波形(固定 1200 列彩色预览,兼容 Beat Link)与 PWV5 细节大波形(高频谱 RGB + 高度,用于网页大波形)。

极致压缩体积

PMAI 头 + 双 tag 打包后 gzip 最高压缩比输出。一首 3 分钟曲目原始音频 3.2 MB,生成的 *.waveform2.gz 仅约 89 KB。

全格式音频解码

flac / mp3 / wav 纯 Go 原生解码,m4a / aac / ogg / opus 等自动调度 ffmpeg 兜底,统一输出单声道 float32,全链路零格式门槛。

USAGE

快速上手

terminal — waveform
# Windows:waveform.exe(macOS / Linux:waveform)
$ waveform -i song.flac -o song.waveform2.gz -r 500 -g 0.75
解码音频: song.flac
采样率 44100 Hz · 时长 180.00 秒
生成波形(密度 500/s, gamma 0.750)...
已写出: song.waveform2.gz
条目数: 90000 · 原始大小: 682.9 KB · 压缩大小: 89.2 KB

PARAMETERS

参数说明

-i
输入音频路径

支持相对与绝对路径,flac / mp3 / wav 及 ffmpeg 兜底格式。

-o
输出波形路径

生成的 *.waveform2.gz 文件路径,目录不存在会自动创建。

-r
波形密度

每秒条目数(1-2000,默认 500),密度越高细节越多、体积越大。

-g
细节深度

高度曲线指数(0-10,默认 2.05),值越高细节越丰富、体积越大。

TECH HIGHLIGHTS

技术特色

多核并行解码

FLAC 解码按帧并行,默认吃满多核;可通过 GOMAXPROCS 环境变量限核,适配上层并发调度。

低响度断层还原

高度走峰值 + gamma 曲线,低响度区域按 gate 阈值直接置零,还原 rekordbox 波形特有的"断层"细节。

字节级一致性

浮点存储对齐前端 Float32Array、运算对齐 JS double 语义,Go 与浏览器端输出逐字节一致,无环境差异。

ECOSYSTEM

生态接入