91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現對批量WAV音頻進行等長分割

發布時間:2020-10-30 16:01:37 來源:億速云 閱讀:718 作者:Leah 欄目:開發技術

這篇文章運用簡單易懂的例子給大家介紹python實現對批量WAV音頻進行等長分割,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

對批量WAV音頻進行等長分割

對WAV格式的音頻以相同長度進行分割。

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 #單位長度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] #聲道數, 量化位數, 采樣頻率, 采樣點數  
    str_data = f.readframes(nframes)
    f.close()
   
    wave_data = np.frombuffer(str_data, dtype=np.short)
    #根據聲道數對音頻進行轉換
    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 #音頻片段數
    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)# 打開WAV文檔
      f = wave.open(FileName, 'wb')
      # 配置聲道數、量化位數和取樣頻率
      f.setnchannels(nchannels)
      f.setsampwidth(sampwidth)
      f.setframerate(framerate)
      f.writeframes(temp_dataTemp.tostring()) # 將wav_data轉換為二進制數據寫入文件
      f.close()
      
if __name__ == '__main__' :
  CutAudios()

關于python實現對批量WAV音頻進行等長分割就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳高县| 东阿县| 临漳县| 昂仁县| 平利县| 石渠县| 沾化县| 南江县| 宁乡县| 临邑县| 康平县| 西贡区| 长泰县| 峨边| 连城县| 弥渡县| 文成县| 临桂县| 城固县| 湾仔区| 永清县| 济南市| 汝南县| 荣成市| 华容县| 汕尾市| 渭南市| 宾川县| 宝兴县| 德阳市| 湖南省| 永嘉县| 板桥市| 商水县| 江山市| 安庆市| 正镶白旗| 大连市| 晴隆县| 靖江市| 健康|