waveform-cli
基于 Go 语言的高性能跨平台命令行工具,一条命令将 mp3 / wav / flac / m4a 等音频 转换为 *.waveform2.gz 压缩彩色波形文件,与彩狐播放器波形层无缝对接。
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
快速上手
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