久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:5日期:2022-07-10 08:49:51

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

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

import osimport waveimport numpy as npimport pylab as pltimport librosapath = r'D:cutaudiotest'files = os.listdir(path)files = [path + '' + f for f in files if f.endswith(’.wav’)]CutTime = 4 #單位長度4sdef 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, 2wave_data = wave_data.Ttemp_data = wave_data.T else:wave_data = wave_data.Ttemp_data = wave_data.T CutFrameNum = framerate * CutTime Cutnum =nframes/CutFrameNum #音頻片段數 StepNum = int(CutFrameNum) StepTotalNum = 0 for j in range(int(Cutnum)): FileName = r'D:cutaudio11' + 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音頻進行等長分割的方法實現的文章就介紹到這了,更多相關python WAV等長分割內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 渝中区| 玉屏| 麟游县| 家居| 泰安市| 贵港市| 聂拉木县| 建瓯市| 南康市| 盐城市| 贵溪市| 迭部县| 西城区| 台东县| 丘北县| 乌海市| 错那县| 张家界市| 杂多县| 乌拉特中旗| 深圳市| 璧山县| 贵南县| 山西省| 贵州省| 兴隆县| 平阳县| 湘阴县| 壤塘县| 涿州市| 凌海市| 宜宾市| 郯城县| 石渠县| 聂荣县| 灵山县| 张家港市| 阿克陶县| 延安市| 遂溪县| 黑河市|