我有一个用tabread~读取的音频文件。音频以一些沉默开始,我正在尝试找到第一个非无声的示例索引。
我试过使用bonk~,fiddle~或sigmund~,但结果是近似的,而不是常数。
有人有办法解决这个问题吗?谢谢。
Pascal
发布于 2016-07-22 20:55:59
我已经在纯数据论坛中回答了这个问题,但我正在这里复制它(稍微修改一下),以防其他人发现它有用:
如果声音完全静默到您标记的点(也就是说,是填充了零到那个点的表),那么您可以使用选项卡简单地遍历数组的元素,从第一个示例开始,检查后续的元素的绝对值是否大于零。如果信号不是完全静默的,而是接近静默的,那么您可以使用某种攻击检测(例如bonk~),也可以简单地使用如下所示:
...
|
[tabread array1]
|
{abs]
|
[> 0.001]
|
[sel 1]
|
...
注意我是如何使用> 0.001而不是> 0的。调整这个数字(直接作为参数或通过>的最右边入口)来控制检测的灵敏度。然后,一旦sel 1接收到值1
的浮点,您就可以使用它的bang来停止进程,因为您找到了第一个非静默元素。
https://stackoverflow.com/questions/38528113
复制相似问题