欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

mp3towavaform.py 代碼:

#coding=utf8

from pydub import AudioSegment
import wave
import io
import numpy as np
import matplotlib.pyplot as plt  #專業(yè)繪圖庫(kù)
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

# 寫(xiě)入到文件
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()

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

最終效果圖:

 

總結(jié)

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

相關(guān)文章

  • 詳解python持久化文件讀寫(xiě)

    詳解python持久化文件讀寫(xiě)

    這篇文章主要介紹了python持久化文件讀寫(xiě),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python實(shí)現(xiàn)圖片尺寸縮放腳本

    Python實(shí)現(xiàn)圖片尺寸縮放腳本

    這篇文章主要為大家分享了Python實(shí)現(xiàn)圖片尺寸縮放的小腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的遞歸下降分析器

    Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的遞歸下降分析器

    這篇文章主要介紹了Python如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的遞歸下降分析器,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • Python編寫(xiě)簡(jiǎn)單的HTML頁(yè)面合并腳本

    Python編寫(xiě)簡(jiǎn)單的HTML頁(yè)面合并腳本

    這篇文章主要介紹了Python編寫(xiě)簡(jiǎn)單的HTML頁(yè)面合并腳本的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • 關(guān)于Python不換行輸出和不換行輸出end=““不顯示的問(wèn)題(親測(cè)已解決)

    關(guān)于Python不換行輸出和不換行輸出end=““不顯示的問(wèn)題(親測(cè)已解決)

    這篇文章主要介紹了關(guān)于Python不換行輸出和不換行輸出end=““不顯示的問(wèn)題(親測(cè)已解決),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python實(shí)現(xiàn)的科學(xué)計(jì)算器功能示例

    Python實(shí)現(xiàn)的科學(xué)計(jì)算器功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的科學(xué)計(jì)算器功能,涉及Python基于數(shù)值運(yùn)算與事件響應(yīng)實(shí)現(xiàn)科學(xué)計(jì)算器功能相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • pytorch 如何打印網(wǎng)絡(luò)回傳梯度

    pytorch 如何打印網(wǎng)絡(luò)回傳梯度

    這篇文章主要介紹了pytorch 實(shí)現(xiàn)打印網(wǎng)絡(luò)回傳梯度的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python ollama的搭建與使用流程分析

    Python ollama的搭建與使用流程分析

    這篇文章主要介紹了Python ollama的搭建與使用流程分析,詳細(xì)介紹了ollama的安裝方式,本文結(jié)合實(shí)例給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 深入淺出Python中的JSON操作和實(shí)踐

    深入淺出Python中的JSON操作和實(shí)踐

    在現(xiàn)代軟件開(kāi)發(fā)中,JSON(JavaScript?Object?Notation)已成為數(shù)據(jù)交換的一種標(biāo)準(zhǔn)格式,本文將深入探討Python中處理JSON數(shù)據(jù)的方法和技巧,感興趣的可以了解下
    2024-03-03
  • 一文講解python中的繼承沖突及繼承順序

    一文講解python中的繼承沖突及繼承順序

    python支持多繼承,如果子類沒(méi)有重寫(xiě)方法,則默認(rèn)會(huì)調(diào)用父類的方法,本文主要介紹了一文講解python中的繼承沖突及繼承順序,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03

最新評(píng)論