从音频文件(数组)中切出(分离)片段并删除它们

Slicing (seperating) segments out of audiofiles (arrays) and deleting them

我想从长音频文件(10 分钟以上)中切出特定片段并单独保存。到目前为止它工作正常,但我想从数组中删除这些段并缩短数组。

import numpy as np
import itertools

b = np.array([1,2,3,4,5,6,7,8,9])

start = 2
stop = 4
index = list(range(start, stop+1))
print(index)

b = np.array(list(itertools.compress(b, [i not in index for i in range(len(b))])))
print(b)

这是我的方法,但它在数字更大的真实脚本中不起作用。我使用 librosa 来加载和保存音频文件,但我没有找到对我的问题有用的命令。

有没有更优雅的方法?

您可以将数组的 np 切片和串联用作:

np.concatenate([b[0:start],b[stop:len(b)]])

希望对您有所帮助