スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


minimのサンプリングレートによるgetbandwidthの違い

~今日はまじめな内容~

processingで使えるminimっていう音声ライブラリについてです.
たぶん一番かんたんにFFTできるライブラリだと思います.
簡単な音声処理がしたいならとてもおススメです.
(複雑な処理がしたい場合はおススメできません.細かい設定とかができないので・・・)


そこで
あんまり探しても出てこなかった情報をメモしとこうと思います.



それは
getBandWidth()
についてです.

wavファイルをminimでFFT処理しようとするときにwavファイルのサンプリングレートによって
勝手にgetBandWidth()の値が変わってしまうようです.
周波数帯の分割数を512としたとき,
サンプリングレートが44100Hzの場合はgetBandWidth()は43.066406
サンプリングレートが16000Hzの場合はgetBandWidth()は15.625
という具合です.
getBand(int)でその周波数帯の振幅を取り出すときに注意です!


ここでさらに注意ですが,
マイクによってgetBand(int)で取り出すとき,
上のようにgetBandWidth()が変化しません!!
44100Hzでも16000HzでもgetBandWidth()は43.066406になってしまいます.
これはマイクのハード的な性能で16000Hzしかとれなくても,
44100Hzとして解析してしまいます・・・(T^T)

例として,Kinectのマイクがあります.
Kinectのマイクは16000Hzしかとれませんが,
minimで処理するとなぜか44100Hzとしてしか処理できませんでした・・・.


なので,minimで何か音声処理するときは
44100Hzに統一して解析することをおススメします.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ちなみにgetBand(int)で取れる振幅の単位はナゾです.
調べましたが分かりませんでした・・・
ここらへんをしっかり処理したい!という方は別のものを使いましょう.
MATLABとかですかね???

スポンサーサイト
検索フォーム
プロフィール

ABB

Author:ABB
入社3年目のSE。
日々、自分磨き中。
夢は独立!!

~取得予定~
・セキュリティスペシャリスト

~取得済み資格~
・TOEIC(最高):750
・TOEIC(最新):745('16/3月)
・応用情報技術者
・基本情報技術者
・普通自動車免許(MT)
・LPICレベル1('16/2月)

カテゴリ
最新記事
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。