KENさん
有山と申します。
Visualizer - Android Developers
http://developer.android.com/reference/android/media/audiofx/Visualizer.html
Visualizerの解説に、
> The Visualizer class enables application to retrieve part of the
> currently playing audio for visualization purpose. It is not an audio
> recording interface and only returns partial and low quality audio
> content.
"It is not an audio recording interface"と記載があることから、byte[]配
列の入力には対応していないと思われます。
詳細は実装を追ってみないとわかりませんが、Visualizerのソースコードから
FFTの部分を取り出して実装、が、一番早いのではないでしょうか。
>> 2点目はVisualizerのonFftDataCaptureにてFFTの結果がdata[]に返ってくるみたいですが、
>> onWaveFormDataCaptureと同じ描画メソッドを呼んでも正しいグラフが表示されていませんが
>> 自身でFFT用のグラフ化が必要なのでしょうか?
参考のウェブサイトの冒頭部分に、
> 波形の表示につかうVisualizerは、単にMediaPlayerと連結をして仲立ちをしてくれるだけで、実際の表示部分は自前で実装しなきゃならんのです。
と、あるので、グラフは自分で書かなければならないという理解です。サンプ
ルでは、mVisualizerView.updateVisualizer(bytes); の中で、具体的な描画処
理を実装しているものと思われます。
以上、参考になれば幸いです。
(4/29/13 1:17 PM), ken gin wrote:
>
>
> はじめまして、KENと申します。
>
>
>
> AudioRecordを使用してリアルタイムでの音の解析システムを開発しております。
>
>
>
> やりたい事は、
>
> 1.AudioRecordのReadを使用して音の配列データを取得する。
>
> 2.音の配列データからFFTを実施し、周波数毎のデータを取得する。
>
> (実際ほしいのは19000hz辺りのボリューム情報のみでもよい)
>
> 3.FFTでのグラフを表示する。
>
>
>
>
>
> 1番については調査し、取得が可能になったのですが、
>
> 2番目のAudioRecordのReadから戻ってくる byte配列をFFTさせる方法がわかりません。
>
>
>
>
>
> 下記URLを参考にしたのですが、
>
> 2点疑問があり、
>
>
>
> 1点目は音のファイルを読み込んでVisualizerに渡しており、AudioRecordのRead情報を
>
> 渡すことはできないのでしょうか?
>
>
>
> 2点目はVisualizerのonFftDataCaptureにてFFTの結果がdata[]に返ってくるみたいですが、
>
> onWaveFormDataCaptureと同じ描画メソッドを呼んでも正しいグラフが表示されていませんが
>
> 自身でFFT用のグラフ化が必要なのでしょうか?
>
>
>
>
>
>
http://techbooster.jpn.org/andriod/multimedia/2891/
>
>
>
> また他の方法などございましたら、
>
>
> ご教授のほどよろしくお願いいたします。
>
>
>
--
Keiji,
ml_an...@c-lis.co.jp