audio - 如何从声音文件中提取包络?
问题描述
我需要在无头 Linux 主机上的批处理作业中从一组音频文件中提取声波包络。
我认为这可以使用Nyquist 编程语言来实现,它是 Lisp 的一种变体,尤其是嵌入了 Audacity 中,并且专门用于声音处理。但是,如果我对 Lisp 有一些了解,那么我之前没有任何使用 Nyquist 的经验。
Nyquist 中是否有一些原语可以直接实现这一点?或者我如何编写一个简短的 Nyquist 程序来提取声音的包络?
我尝试使用snd-avg函数。但它似乎没有产生一个平滑的包络(截图中的上半部分):
(snd-avg
(aref *track* 0) ; first sound
(truncate (/ *sound-srate* 50)) ; 50 Hz to samples
1 op-peak) ; follow peak values
解决方案
推荐阅读
- mysql - 使用mysql存储过程在nodejs中获取输出参数值的最佳方法是什么?
- visual-studio - 何时在 Visual Studio 中构建或重建 SSIS 项目?
- java - 在 Java 中的 GUI 中创建延迟
- java - 如何在 HttpRequest 中设置路径和查询参数?
- asana - Asana 没有使用 API 返回项目的所有任务
- postgresql - last_analyzed 用于外部表
- python - 使用字典字段实例化对象打印为空
- ios - 如何在 Swift 中打开 .ics 文件?
- python - 使用 python flask restx,如何在不上传整个文件的情况下知道文件名
- python - 为什么 VSCode 需要永远查找引用并且无法重命名符号?