2014年9月9日 星期二

[Matlab] Spectrogram長白色痘痘? 教您如何除痘

用Matlab做聲紋時,我們可以畫出還不錯的圖片,但是存檔時,就常常會跑出白色的點。相對的Octave就沒有這樣的問題。對於習慣使用Matlab的使用者而言,這無疑是一個令人頭疼的問題。這邊有一個方法可以幫忙避免白色的遺失資料點。

先比較一下使用後(上)與使用前(下,拿先前的圖借用)的圖片差異吧!可以看到差別非常多呢!!
















































[R] 長條圖繪製

許多時候我們需要繪製長條圖,通常我們會使用Excel進行繪製,效果也相當不錯,不過撇開Excel時,你會使用R進行繪圖嗎?今天我們來學學如何用R進行繪圖。































2014年9月7日 星期日

[Matlab/Ocyave] Spectrogram overlap 需要多少? 一個解決out of memory的方法

處理聲音訊號時,若要繪製聲紋圖,最煩的就是遇到out of menory這件事情。以前我使用32bit的版本,只要是20秒以上的聲音訊號,我都沒有辦法畫出聲紋來,非常困擾。當時查到一些資料說32位元記憶體使用量太少,可以使用64為原版本以避免記憶體不足,於是我就換成64位元的了。最近因為有一些需求,需要繪製超過100秒的聲音聲紋圖,但...我以前的畫法就只能允許我畫約60秒而已,我又再次的頭大了。再次探討如何不要發生out of memory這件事情。
今天來看看我為何會一直發生記憶體不足的事情吧!!

先跑一下500秒的音訊圖看看。(上為Matlab,下為Octave,因為忘記存出音訊讓cotave讀,就刪掉變數了,所以圖就不一樣啦,且錄音錄8分多鐘太久了...所以我隨便錄25秒,然後將矩陣加到300秒XD)










Octave 竟然跑500會睡著= =,根本沒有在動,所以畫300秒就好,還滿快的