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

Python3.7 讀取 mp3 音頻文件生成波形圖效果

 更新時間:2019年11月05日 08:26:42   作者:alpha  
這篇文章主要介紹了Python3.7 讀取 mp3 音頻文件生成波形圖小編,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

測試環(huán)境為Windows 10 系統(tǒng),Python3.7,轉(zhuǎn)換需要提前安裝pydub、ffmpeg,安裝和加入環(huán)境變量配置方法自行解決,至于缺少的包直接 pip install xx 搞定。

主要是 mp3 轉(zhuǎn)成 wav 格式的文件,因為 mp3 格式為了減小體積犧牲了音質(zhì),轉(zhuǎn)成無損的 wav 格式之后,可以讀取到更詳細的信息。然后讀取 wav 的信息,利用 matlotlib 繪圖即可。

mp3towavaform.py 代碼:

#coding=utf8

from pydub import AudioSegment
import wave
import io
import numpy as np
import matplotlib.pyplot as plt  #專業(yè)繪圖庫
from PIL import Image
import pylab
from scipy.io import wavfile

# 先從本地獲取 mp3 的 bytestring 作為數(shù)據(jù)樣本
filename = "b.mp3"
fp=open(filename, 'rb')
data=fp.read()
fp.close()
# 讀取
aud=io.BytesIO(data)
sound=AudioSegment.from_file(aud, format='mp3')
raw_data = sound._data

# 寫入到文件
l=len(raw_data)
f = wave.open(filename + ".wav",'wb')
f.setnchannels(1)
f.setsampwidth(2)
f.setframerate(16000)
f.setnframes(l)
f.writeframes(raw_data)
f.close()

# 讀取生成波形圖
samplerate, data = wavfile.read(filename + ".wav")
times = np.arange(len(data))/float(samplerate)
# print(len(data), samplerate, times)

# 可以以寸為單位自定義寬高 frameon=False 為關(guān)閉邊框

fig = plt.figure(figsize=(20, 5), facecolor="white")
# plt.tick_params(top='off', bottom='off', left='off', right='off', labelleft='off', labelbottom='on')

ax = fig.add_axes([0, 0, 1, 1])
ax.axis('off')
plt.fill_between(times, data, linewidth = '1', color='green')
plt.xticks([])
plt.yticks([])
plt.savefig(filename + '.png', dpi=100, transparent=False, bbox_inches='tight', edgecolor='w')
#plt.show()

最終就可以生成一個無邊框的波形圖,matplotlib 的可選參數(shù)非常多,至于生成的波形圖想要什么邊框,顏色,圖例,坐標軸信息等,可以查閱 matplotlib 社區(qū)文檔。

最終效果圖:

 

總結(jié)

以上所述是小編給大家介紹的Python3.7 讀取 mp3 音頻文件生成波形圖效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • pyhton列表轉(zhuǎn)換為數(shù)組的實例

    pyhton列表轉(zhuǎn)換為數(shù)組的實例

    下面小編就為大家分享一篇pyhton列表轉(zhuǎn)換為數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python中time.ctime()實例用法

    python中time.ctime()實例用法

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python中time.ctime()實例用法內(nèi)容,有興趣的朋友們可以跟著學習參考下。
    2021-02-02
  • python如何將圖片轉(zhuǎn)換為字符圖片

    python如何將圖片轉(zhuǎn)換為字符圖片

    這篇文章主要為大家詳細介紹了python將圖片轉(zhuǎn)換為字符圖片的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • PID原理與python的簡單實現(xiàn)和調(diào)參

    PID原理與python的簡單實現(xiàn)和調(diào)參

    這篇文章主要介紹了PID原理與python的簡單實現(xiàn)和調(diào)參文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值。感興趣的小伙伴可以參考一下
    2022-08-08
  • Python內(nèi)建函數(shù)之raw_input()與input()代碼解析

    Python內(nèi)建函數(shù)之raw_input()與input()代碼解析

    這篇文章主要介紹了Python內(nèi)建函數(shù)之raw_input()與input()代碼解析,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • Python基于checksum計算文件是否相同的方法

    Python基于checksum計算文件是否相同的方法

    這篇文章主要介紹了Python基于checksum計算文件是否相同的方法,涉及Python針對二進制文件的讀取與判定技巧,需要的朋友可以參考下
    2015-07-07
  • Python中實現(xiàn) xls 文件轉(zhuǎn) xlsx的4種方法(示例詳解)

    Python中實現(xiàn) xls 文件轉(zhuǎn) xlsx的4種方法(示例詳解)

    在 Python 中,可以采用 pandas、pyexcel、win32com 和 xls2xlsx 這四個模塊,實現(xiàn) xls 轉(zhuǎn) xlsx 格式,本文以 Excel 示例文件test_Excel.xls 為例結(jié)合示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • PyQt5利用QPainter繪制各種圖形的實例

    PyQt5利用QPainter繪制各種圖形的實例

    下面小編就為大家?guī)硪黄狿yQt5利用QPainter繪制各種圖形的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • django基礎(chǔ)學習之send_mail功能

    django基礎(chǔ)學習之send_mail功能

    這篇文章主要給大家介紹了關(guān)于django基礎(chǔ)學習之send_mail功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用django具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • Python+Selenium自動化實現(xiàn)分頁(pagination)處理

    Python+Selenium自動化實現(xiàn)分頁(pagination)處理

    這篇文章主要為大家詳細介紹了Python+Selenium自動化實現(xiàn)分頁pagination處理的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論

张家港市| 永定县| 冷水江市| 磴口县| 宁蒗| 隆安县| 读书| 钟山县| 谷城县| 桐乡市| 澳门| 肥西县| 镇安县| 陇南市| 清镇市| 安化县| 西宁市| 怀安县| 军事| 永寿县| 枝江市| 广元市| 麻阳| 徐水县| 兰考县| 息烽县| 公安县| 乐亭县| 藁城市| 手机| 龙南县| 大邑县| 博乐市| 新民市| 屯留县| 贡山| 澜沧| 嘉祥县| 杭锦后旗| 平乐县| 庆元县|