python對批量WAV音頻進行等長分割的方法實現(xiàn)
更新時間:2020年09月25日 11:33:05 作者:養(yǎng)只小刺猬吧
這篇文章主要介紹了python對批量WAV音頻進行等長分割的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
對批量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] #聲道數(shù), 量化位數(shù), 采樣頻率, 采樣點數(shù) str_data = f.readframes(nframes) f.close() wave_data = np.frombuffer(str_data, dtype=np.short) #根據聲道數(shù)對音頻進行轉換 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)# 打開WAV文檔 f = wave.open(FileName, 'wb') # 配置聲道數(shù)、量化位數(shù)和取樣頻率 f.setnchannels(nchannels) f.setsampwidth(sampwidth) f.setframerate(framerate) f.writeframes(temp_dataTemp.tostring()) # 將wav_data轉換為二進制數(shù)據寫入文件 f.close() if __name__ == '__main__' : CutAudios()
到此這篇關于python對批量WAV音頻進行等長分割的方法實現(xiàn)的文章就介紹到這了,更多相關python WAV等長分割內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python的Django框架中settings文件的部署建議
這篇文章主要介紹了Python的Django框架中settings文件的部署建議,包括對local_settings的弊病的一些簡單分析,需要的朋友可以參考下2015-05-05Python3中l(wèi)ambda表達式與函數(shù)式編程講解
今天小編就為大家分享一篇關于Python3中l(wèi)ambda表達式與函數(shù)式編程講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01Python中使用logging和traceback模塊記錄日志和跟蹤異常
今天小編就為大家分享一篇關于Python中使用logging和traceback模塊記錄日志和跟蹤異常,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04PyCharm實現(xiàn)遠程調試的全過程(附圖文講解)
這篇文章主要介紹了PyCharm實現(xiàn)遠程調試的全過程,文中通過圖文結合的方式給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-05-05使用httplib模塊來制作Python下HTTP客戶端的方法
這篇文章主要介紹了使用httplib模塊來制作Python下HTTP客戶端的方法,文中列舉了一些httplib下常用的HTTP方法,需要的朋友可以參考下2015-06-06