音频裁剪重新组合

##将一段音频分割成几段,将这几段打乱顺序,然后重新组成音频。

import librosa
import random
import numpy as np
import os
import torch
import soundfile as sf

filelist = os.listdir(file_path)
for i in range(len(filelist)):    
    path = file_path +'/'+filelist[i] 
    out = out_path+'/'+ filelist[i].split('.')[0]+'s'+'.wav'
    print(path)
    y, sr = librosa.load(path, sr=16000, mono=True)
    duration = len(y) / sr
    
    window = int(0.1 * sr)
    L = list(range(window, len(y), window))
    
    print(L)
    result = []
    for i, cur in enumerate(L):
        input =y[cur-window:cur]
        if np.random.uniform(0,1) < 0.5:
            input = np.zeros_like(input)
        result.append(input)
    
    random.shuffle(result)
    random.shuffle(result)
    results = np.concatenate(result)
   
    sf.write(out , results, sr)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值