最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn)

 更新時(shí)間:2020年09月25日 11:33:05   作者:養(yǎng)只小刺猬吧  
這篇文章主要介紹了python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割

對(duì)WAV格式的音頻以相同長(zhǎng)度進(jìn)行分割。

import os
import wave
import numpy as np
import pylab as plt
import librosa

path = r"D:\cutaudio\test"
files = os.listdir(path)
files = [path + "\\" + f for f in files if f.endswith('.wav')]
CutTime = 4 #單位長(zhǎng)度4s

def CutAudios():
  for i in range(len(files)):
    FileName = files[i]
    f = wave.open(r"" + FileName, 'rb')
    params = f.getparams() #讀取音頻文件信息
    nchannels, sampwidth, framerate, nframes = params[:4] #聲道數(shù), 量化位數(shù), 采樣頻率, 采樣點(diǎn)數(shù)  
    str_data = f.readframes(nframes)
    f.close()
   
    wave_data = np.frombuffer(str_data, dtype=np.short)
    #根據(jù)聲道數(shù)對(duì)音頻進(jìn)行轉(zhuǎn)換
    if nchannels > 1:
        wave_data.shape = -1, 2
        wave_data = wave_data.T
        temp_data = wave_data.T
    else:
        wave_data = wave_data.T
        temp_data = wave_data.T

    CutFrameNum = framerate * CutTime 
    Cutnum =nframes/CutFrameNum #音頻片段數(shù)
    StepNum = int(CutFrameNum)
    StepTotalNum = 0
  
    for j in range(int(Cutnum)):
      FileName = r"D:\cutaudio\11\\" + files[i][-17:-4] +"-"+ str(j) + ".wav"
      temp_dataTemp = temp_data[StepNum * (j):StepNum * (j + 1)]
      StepTotalNum = (j + 1) * StepNum
      temp_dataTemp.shape = 1, -1
      temp_dataTemp = temp_dataTemp.astype(np.short)# 打開(kāi)WAV文檔
      f = wave.open(FileName, 'wb')
      # 配置聲道數(shù)、量化位數(shù)和取樣頻率
      f.setnchannels(nchannels)
      f.setsampwidth(sampwidth)
      f.setframerate(framerate)
      f.writeframes(temp_dataTemp.tostring()) # 將wav_data轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)寫(xiě)入文件
      f.close()
      
if __name__ == '__main__' :
  CutAudios()

到此這篇關(guān)于python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python WAV等長(zhǎng)分割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

昌吉市| 石柱| 吴桥县| 连江县| 黄浦区| 温宿县| 广州市| 滨海县| 长宁县| 曲周县| 周口市| 渭源县| 湖州市| 天峨县| 大姚县| 右玉县| 全椒县| 城口县| 大同市| 南安市| 广州市| 江山市| 拜泉县| 会昌县| 台山市| 华宁县| 旬邑县| 通化市| 乌兰察布市| 浙江省| 临海市| 景泰县| 盈江县| 中江县| 桂林市| 贞丰县| 巴南区| 寿光市| 同江市| 普定县| 宁津县|