从音频文件(数组)中切出(分离)片段并删除它们
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)]])
希望对您有所帮助
我想从长音频文件(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)]])
希望对您有所帮助