SfxMix 音频处理库的开发指南,用于修改 SfxMix API、FFmpeg 处理步骤、演示音频脚本和分块逻辑时参考。核心原则是保持音质:中间处理应输出无损 WAV PCM,压缩只放在最终 save() 边界,concat、mix、静音生成、过滤、裁剪和分块等操作内不应加入 MP3 编码。公共方法应可链式调用并返回 this,把任务加入 this.actions,实际处理在 _processActions() 中实现。分块采用 chunk 术语,例如 sfx.add('input.wav').split({ chunk: 1 }).save('second_chunk.wav');chunk 从 0 开始,chunk: 0 保留第一个检测到的非静音段。split() 默认参数为 chunk: 0、threshold: -35、silenceDuration: 0.03、paddingStart: 0、paddingEnd: 30、minDuration: 0.01。公共 API 包括 constructor、add、mix、silence、filter、trim、split、normalize(tp = -1.5)、save、isTruncated、reset。转换辅助函数有 convertAudio 和兼容别名 convertToOgg;支持的滤镜包括 normalize、telephone、echo、highpass、lowpass、volume、equalizer、flanger、pitch、tremolo、phaser、tempo,tempo 超出 0.5 至 2.0 范围时会拆分为链式 atempo 滤镜。内部辅助涵盖临时文件、中间输出、清理、动作处理、删除、拼接、混音、尾部分析与静音检测等。变更公共方法或滤镜时,需同步更新该参考、README.md 和 index.js。使用需依赖 FFmpeg 与 ffprobe;具体安装命令、收费、价格和平台信息暂未提供。
sfxmix-audio-processing
编程与开发
更新于 10-15 17:35