1. 程式人生 > >音訊特徵(3):繪製語譜圖

音訊特徵(3):繪製語譜圖

之前小程介紹過怎麼繪製音訊的波形圖(指振幅圖),振幅是聲音的一個特徵,反應了聲音能量的大小。頻率,是聲音的另一個特徵,反應了聲音音調的高低。對頻率的直觀描述或分析,需要使用到語譜圖等手段。

本文介紹如何通過python的pyplot來繪製音訊的語譜圖, 正如使用pyplot來繪製波形圖一樣。

語譜圖,也就是語音訊譜圖,也叫時頻圖,橫座標是時間,縱座標是頻率。

先來看一下,audition繪製出來的一個語譜圖,是長這個樣子的:

留意,是否有看到一條條有亮度的條紋了?

這些叫聲紋,表示在某個時間區域內,頻率集中在某個值上。並且,用亮度來表示集中的頻率。整個圖,是頻率的聲紋集合。

通過語譜圖,可以分析出語音的內容,諸如聲母、音調之類的資料,可以分析泛音頻率的分佈,比如這個歌手的聲音覆蓋了哪些頻段(而且是不是平穩持續等),當然還可以拿不同時間區間的聲紋進行對比以得到更多資訊,等等。

你是否留意到上圖很簡潔,明顯有很多間隔像是靜音一樣,那就對了,因為上圖是我錄製的一段語音的表現,這段語音只是在簡單數數,所以就很簡單,實際的情況比如歌曲,頻譜圖的內容會豐富很多。

繪製語譜圖的辦法,跟繪製波形圖很相像,小程不再貼完整的程式碼了,你可以參考之前的文章。

這裡,只給出差異的程式碼,請看下面的截圖:

執行起來,就可以看到語譜圖了,小程提供幾個截圖。

單通道的語譜圖:

再比如,雙通道的語譜圖:

至此,繪製語譜圖的過程與效果介紹完畢了。

總結一下,本文是之前“繪製波形圖”的延續,介紹了語譜圖的繪製,相比與波形圖的繪製,只需要簡單的程式碼改動,比較簡單。


相關推薦

音訊特徵3繪製

之前小程介紹過怎麼繪製音訊的波形圖(指振幅圖),振幅是聲音的一個特徵,反應了聲音能量的大小。頻率,是聲音的另一個特徵,反應了聲音音調的高低。對頻率的直觀描述或分析,需要使用到語譜圖等手段。 本文介紹如何通過python的pyplot來繪製音訊的語譜圖, 正如使用pyplot來繪製波形圖一樣。 語譜圖,也就是語

音訊特徵1mfcc提取

除了呼叫FFmpeg來做多媒體開發,另一方面,是對音訊特徵進行研究。有很多具體的音訊特徵,比如頻率、振幅、節拍(bpm)、過零率、短時能量、MFCC等,在很多時候,提取這些特徵是進一步分析音訊的基礎。 如果你想對音訊進行一個分類,比如分出快慢歌、分出爵士跟hiphop、分出鋼琴與吉他、分出男高音與鳥叫聲,等等

arcgis jsapi介面入門系列3各種型別的層新增

這裡說的tomcat切片,是指arcgis server切片後,把切片圖片檔案用tomcat釋出(其他任意web伺服器釋出都行) //新增tomcat切片圖層 addTomcatTileLayer: function () { //圖層

ArcGIS for Android 100.3.07繪製層(GraphicsOverlay) ,符號和渲染器(Symbols and Renderers)

繪製圖層GraphicsOverlay 100版本單獨把繪製圖層拿出來的一個好處就是,它將永遠置於地圖內容之上。在以前我們如果要在MapView里加載一個新的圖層,必須先remove帶有圖形的FeatureLayer,載入這個圖層之後再載入一次帶有圖形的F

Pro Android學習筆記一三七Home Screen Widgets3配置Activity

map onclick widgets info xtra ces extends height appwidget 文章轉載僅僅能用於非商業性質,且不能帶有虛擬貨幣、積分、註冊等附加條件。轉載須註明出處http://blog.csdn.net/flowingfly

Windows Phone開發3棋子未動,先觀全局

csdn xaml hone activate 處理程序 為什麽 作業 單擊 不執行 在進行WP開發之前,與其它開發技術一樣,我們需要簡單了解一個WP應用序的生命周期,我們不一定要深入了解,但至少要知道在應用程序生命周期內的每一階段,我們應當做什麽,不推薦哪些操作等,這也是

Akka3 Actor監管 - 細述BackoffSupervisor

system 中一 println setting rtc logging info 其它 text 在上一篇討論中我們談到了監管:在Akka中就是一種直屬父子監管樹結構,父級Actor負責處理直屬子級Actor產生的異常。當時我們把BackoffSuperviso

springCloud3微服務的註冊與發現Eureka

springcloud 微服務的註冊與發現 eureka 一、簡介服務消費者需要一個強大的服務發現機制,服務消費者使用這種機制獲取服務提供者的網絡信息。即使服務提供者的信息發生變化,服務消費者也無須修改配置。服務提供者、服務消費者、服務發現組件三者之間的關系大致如下: 1.各個微服務在啟動時,將自

[Golang] 從零開始寫Socket Server3 對長、短連接的處理策略模擬心跳

microsoft ted 每次 range 點擊 關閉 ade 而在 href 通過前兩章,我們成功是寫出了一套湊合能用的Server和Client,並在二者之間實現了通過協議交流。這麽一來,一個簡易的socket通訊框架已經初具雛形了,那麽我們接下來做的

python基礎3輸入輸出與運算符

http 占位符 str png blog 方法 image 16px 提示 今天總結一下最基礎的輸入輸出和運算符 輸入: python3裏都是input("") input() name = input() #輸入的值會直接賦值給name name = i

PYTHON設計模式學習3Singleton pattern

blog ora 參考 擁有 沒有 _屬性 ces cti ttr 參考了其他的博客:http://ghostfromheaven.iteye.com/blog/1562618 #-*- encoding=utf-8 -*- print ‘--------------

【H.264/AVC視頻編解碼技術具體解釋】十三、熵編碼算法3CAVLC原理

統計 視頻編解碼 高效 png h264 轉化 頻率 遊程編碼 而且 《H.264/AVC視頻編解碼技術具體解釋》視頻教程已經在“CSDN學院”上線。視頻中詳述了H.264的背景、標準協議和實現,並通過一個實戰project的形式對H.264的標準進行解

tcpdump 學習3MySQL Query

說明 server gen rollback 命令 復雜 pro 關於 col 在MySQL線上環境我們一般只打開了binary log,slow log,有時我們需要查看general log呢?因為該log記錄所有的請求,打開該日誌肯定給磁盤造成很大壓力,IO能力有所下

Web是如何工作的3HTTP&REST

medium 方法 post ogg 兩臺 gecko 希望 種類 正常 原文地址:https://medium.freecodecamp.org/how-the-web-works-part-iii-http-rest-e61bc50fa0a 我們在第一篇文章中介紹了

Linux日常管理技巧3Linux網絡相關和防火墻

127.0.0.1 網絡 修改網卡 cal 網卡ip lis oot back col 一、Linux網絡相關 1. ifconfig 查看網卡IP ifconfig命令被用於配置和顯示Linux內核中網絡接口的網絡參數。用ifconfig命令配置的網卡信息,在網卡重啟後機

SDP3ScalikeJDBC- JDBC-EngineFetching

tor each != 我們 dem app cep size 3.1 ScalikeJDBC在覆蓋JDBC基本功能上是比較完整的,而且實現這些功能的方式比較簡潔,運算效率方面自然會稍高一籌了。理論上用ScalikeJDBC作為一種JDBC-Engine還是比較理想的:

web前端學習3認識HTML基本標簽

鼠標 首頁 一份 格式 所在地 有著 同時 網上 今天 本章主旨:   介紹常用的文本相關標簽,如<h>,<p>,<a>;簡介常見的HTML標簽屬性,如title屬性,href屬性,id/class屬性等;重點掌握<a>標簽。

Python3網絡爬蟲3使用User Agent和代理IP隱藏身份

pycharm info 3.1 port rm2 andro python uil blank Python版本: python3 IDE:      pycharm2017.3.3 一、為何要設置User Agent   有一些網站不喜歡被爬蟲訪問,所以會檢測對象

grpc3使用 golang 開發 grpc 服務端和client

ava 相互調用 相互 localhost rpcclient int err pri nec 1,關於grpc-go golang 能夠能夠做grpc的服務端

《Linux學習並不難》使用RPM軟件包3安裝RPM軟件包

Linux 軟件包 rpm 14.3 《Linux學習並不難》使用RPM軟件包(3):安裝RPM軟件包RPM軟件包的安裝流程如圖9.1所示,如果軟件包滿足依賴條件則允許安裝,如果不滿足依賴關系則需要先安裝其它軟件包。使用rpm命令可以在Linux系統中安裝、刪除、刷新、升級、查詢RPM軟件包。命