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

python中常見的幾種音頻數(shù)據(jù)讀取、保存方式總結(jié)

 更新時(shí)間:2024年06月22日 15:32:41   作者:idealmu  
Python是一種非常適合進(jìn)行音頻處理和音頻分析的語言,因?yàn)樗性S多強(qiáng)大的庫(kù)可以使用,下面這篇文章主要給大家介紹了關(guān)于python中常見的幾種音頻數(shù)據(jù)讀取、保存方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. soundfile 庫(kù)的使用

soundfile庫(kù)是一個(gè)Python庫(kù),主要用于讀取和寫入音頻文件。它支持多種音頻格式,包括WAV、AIFF、FLAC和OGG等。通過soundfile庫(kù),用戶可以方便地將numpy數(shù)組存儲(chǔ)到音頻文件或者將音頻文件加載到numpy數(shù)組中。此外,soundfile庫(kù)還提供了一些函數(shù),用于處理音頻數(shù)據(jù)。它的使用簡(jiǎn)單且靈活,方便進(jìn)行音頻處理和分析的工作。

1.1 read 讀文件

讀取音頻文件數(shù)據(jù)

import soundfile as sf
# wav numpy 型數(shù)據(jù),sr是采樣率
filename = "xx/xx.wav"
wav, sr = sf.read(filename, dtype='float64)

可通過dtype將任意的音頻文件數(shù)據(jù)格式轉(zhuǎn)為float64,float32,int16,int32 的numpy型數(shù)據(jù),其中float64,float32是歸一化后的結(jié)果。dtype 默認(rèn)值為float64。

1.2 write 保存文件

保存音頻文件數(shù)據(jù)

# save_filename, 保存的音頻文件路徑,data保存的數(shù)據(jù),samplerate是采樣率
sf.wrtie(save_filename,data,samplerate)

支持寫入的數(shù)據(jù)也為float64,float32,int16,int32,并保存相應(yīng)格式的數(shù)據(jù)

2. torchaudio 庫(kù)的使用

torchaudio是PyTorch深度學(xué)習(xí)框架的一部分,主要用于處理和分析音頻數(shù)據(jù)。它提供了豐富的音頻信號(hào)處理工具、特征提取功能以及與深度學(xué)習(xí)模型結(jié)合的接口,使得在PyTorch中進(jìn)行音頻相關(guān)的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)任務(wù)變得更加便捷。通過使用torchaudio,開發(fā)者能夠輕松地將音頻數(shù)據(jù)轉(zhuǎn)換為適合深度學(xué)習(xí)模型輸入的形式,并利用PyTorch的高效張量運(yùn)算和自動(dòng)梯度功能進(jìn)行訓(xùn)練和推理。此外,torchaudio還支持多聲道音頻處理和GPU加速,以滿足不同應(yīng)用場(chǎng)景的需求。

2.1 load 讀文件

加載音頻文件數(shù)據(jù)

import torchaudio
file_path = "xx/xx.wav"
waveform, sr = torchaudio.load(file_path, normalize=True)

主要說明:

可以讀取float32, int16, int32類型數(shù)據(jù),返回的是torch.tensor類型的數(shù)據(jù);
normalize=True時(shí),返回的數(shù)據(jù)是歸一化到(-1,1)的float32數(shù)據(jù);
normalize=False時(shí),返回的是float32、int16或者int32數(shù)據(jù),具體需要看file_path本身是什么類型的音頻數(shù)據(jù);
normalize默認(rèn)值為True。

2.2 save 保存文件

保存音頻數(shù)據(jù)到文件

# out_path, 保存的音頻文件路徑,waveform保存的數(shù)據(jù),sr是采樣率
torchaudio.save(out_path, waveform, sr)

根據(jù)waveform的格式自動(dòng)保存為float32、int16或者int32

3. from scipy.io import wavfile 庫(kù)的使用

scipy.io.wavfile庫(kù)是SciPy科學(xué)計(jì)算庫(kù)中的一個(gè)模塊,主要用于讀取和寫入WAV格式的音頻文件。該庫(kù)提供了函數(shù)用于將音頻數(shù)據(jù)存儲(chǔ)為WAV文件或者將WAV文件加載為numpy數(shù)組,方便進(jìn)行音頻數(shù)據(jù)的處理和分析。用戶可以使用scipy.io.wavfile庫(kù)來讀取音頻文件的采樣率和數(shù)據(jù),以及將音頻數(shù)據(jù)寫入WAV文件。此外,該庫(kù)還提供了一些函數(shù)用于處理音頻數(shù)據(jù),如獲取音頻數(shù)據(jù)的聲道數(shù)、比特深度等信息。通過scipy.io.wavfile庫(kù),用戶可以方便地進(jìn)行音頻文件的讀寫操作,并結(jié)合其他Python庫(kù)進(jìn)行音頻數(shù)據(jù)處理和分析。

3.1 read 讀文件

from scipy.io import wavfile
file_name = "xx/xx.wav"
sr, wav_data = wavfile.read(file_name)

返回的是float32、int16、int32型numpy數(shù)據(jù),具體格式根據(jù)file_name文件的音頻格式

3.2 save 保存文件

# filename, 保存的音頻文件路徑,wav_data保存的數(shù)據(jù),sr是采樣率
wavfile.wrtie(filename, sr, wav_data)

根據(jù)wav_data的格式自動(dòng)保存為float32、int16或者int32。

注:以上float32、float64數(shù)據(jù)是歸一化后的結(jié)果,與其他轉(zhuǎn)換為int16 / 2 ** 15,int32 / 2 ** 31

附: soundfile安裝報(bào)錯(cuò)與解決

①問題描述

在終端使用pip install soundfile安裝soundfile時(shí)報(bào)錯(cuò)。

②問題解決

python處理音頻文件經(jīng)常要使用soundfile庫(kù)。ubuntu系統(tǒng)在pip安裝soundfile庫(kù)時(shí)報(bào)錯(cuò),是因?yàn)槿狈σ蕾嚢黮ibsndfile1,所以要先安裝依賴包,然后再安裝soundfile。命令如下:

step1:終端輸入sudo apt-get install libsndfile1

step2:終端輸入pip install soundfile

總結(jié)

到此這篇關(guān)于python中常見的幾種音頻數(shù)據(jù)讀取、保存方式的文章就介紹到這了,更多相關(guān)python音頻數(shù)據(jù)讀取保存方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyQt5使用pyqtgraph繪制波形圖

    PyQt5使用pyqtgraph繪制波形圖

    pyqtgraph是Python平臺(tái)上一種功能強(qiáng)大的2D/3D繪圖庫(kù),相當(dāng)于matplotlib庫(kù),比它更強(qiáng)大。本文就來利用pyqtgraph實(shí)現(xiàn)繪制波形圖,需要的可以參考一下
    2023-01-01
  • Python plt.imshow函數(shù)及其參數(shù)使用

    Python plt.imshow函數(shù)及其參數(shù)使用

    plt.imshow()是Matplotlib庫(kù)中的一個(gè)函數(shù),主要用于顯示圖像或矩陣數(shù)據(jù),本文主要介紹了Python plt.imshow函數(shù)及其參數(shù)使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 詳解Python3中字符串中的數(shù)字提取方法

    詳解Python3中字符串中的數(shù)字提取方法

    這篇文章主要介紹了詳解Python3中字符串中的數(shù)字提取方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python re.split方法分割字符串的實(shí)現(xiàn)示例

    Python re.split方法分割字符串的實(shí)現(xiàn)示例

    本文主要介紹了Python re.split方法分割字符串的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 零基礎(chǔ)寫python爬蟲之抓取百度貼吧并存儲(chǔ)到本地txt文件改進(jìn)版

    零基礎(chǔ)寫python爬蟲之抓取百度貼吧并存儲(chǔ)到本地txt文件改進(jìn)版

    前面已經(jīng)發(fā)了一篇關(guān)于百度貼吧抓取的代碼,今天我們來看下代碼的改進(jìn)版,參考了上篇抓取糗事百科的思路,給需要的小伙伴們參考下吧
    2014-11-11
  • 一步步教你用python代碼畫一幅星空

    一步步教你用python代碼畫一幅星空

    這篇文章主要給大家介紹了關(guān)于如何使用python代碼畫一幅星空的相關(guān)資料,Python是一種非常流行的編程語言,它可以用來創(chuàng)建許多有趣的項(xiàng)目,例如繪制星空,需要的朋友可以參考下
    2023-09-09
  • 如何使用Python基于接口編程的方法實(shí)現(xiàn)

    如何使用Python基于接口編程的方法實(shí)現(xiàn)

    本文主要介紹了如何使用Python基于接口編程,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python漢字轉(zhuǎn)拼音pypinyin庫(kù)、輸出excel的xlwt庫(kù)

    Python漢字轉(zhuǎn)拼音pypinyin庫(kù)、輸出excel的xlwt庫(kù)

    本文介紹了如何使用Python的pypinyin庫(kù)和xlwt庫(kù),將漢字文本轉(zhuǎn)換為帶有拼音標(biāo)注的Excel文件,通過讀取文本、獲取拼音并寫入Excel,實(shí)現(xiàn)了漢字和拼音的一一對(duì)應(yīng),同時(shí),文章也指出了潛在的問題
    2025-04-04
  • Python入門之模塊和包用法詳解

    Python入門之模塊和包用法詳解

    這篇文章主要為大家詳細(xì)介紹一下Python中的包與模塊的使用,文中的示例講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-07-07
  • python2與python3共存問題的解決方法

    python2與python3共存問題的解決方法

    這篇文章主要為大家詳細(xì)介紹了python2與python3共存問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09

最新評(píng)論

安龙县| 通辽市| 大英县| 东台市| 麻城市| 灵璧县| 囊谦县| 巴塘县| 老河口市| 广河县| 绥德县| 九龙坡区| 遂溪县| 星子县| 伊通| 盐亭县| 额济纳旗| 新蔡县| 江津市| 万宁市| 曲麻莱县| 洮南市| 娱乐| 玉林市| 龙陵县| 南皮县| 晋中市| 宽甸| 鞍山市| 湘乡市| 寻乌县| 和龙市| 鄂伦春自治旗| 龙游县| 太和县| 渑池县| 翁牛特旗| 安康市| 新疆| 庆阳市| 侯马市|