首页 > 解决方案 > 如何重复音频wav文件,使其在python中至少长6秒

问题描述

我正在处理一个声音分类问题,我希望我的音频文件至少 6 秒长。如果不是,我想通过在循环中运行来扩展它。然后在python的librosa库中找到它的STFT。

标签: pythonaudiowavlibrosa

解决方案


这可能会有所帮助

import math
import soundfile as sf
import numpy as np
import librosa

data, samplerate = sf.read('test1.wav')
channels = len(data.shape)
length_s = len(data)/float(samplerate)
if(length_s < 6.0):
    n = math.ceil(6*samplerate/len(data))
if(channels == 2):
    data = np.tile(data,(n,1))
else:
    data = np.tile(data,n)
sf.write('new.wav', data, samplerate)
# now calculate stft for each channel if stereo

推荐阅读