2016-07-04 20 views
4

私はWeb Audio APIベースの信号処理アプリケーションを持っており、AudioKit(EZAudioベース)フレームワークを使用してiOSに移植する必要があります。iOS AudioKit/EZAudio FFT値

Web Audio APIで0〜255の数値を含むFrequencyDomainだけが必要です。

しかしAudioKitにAKFFTTap fftDataは、6〜-6の間で浮上し、時にはここで1000

<は、私はすでにiOSの試してみましたが何である私に戻っています:

initプロセスを...

ウェブAUD上
let mic = AKMicrophone() 
let fftTap = AKFFTTap.init(mic) 

要求...

return fftTap.fftData 

IO API: のinit ...

var analyser = audioContext.createAnalyser(); 

要求...

let freqDomain = new Uint8Array(analyser.frequencyBinCount); 
analyser.getByteFrequencyData(freqDomain); 
return freqDomain 

どのように私は、同じデータを取り戻すことができますか?

答えて

3

ウェブのシナリオには、AKFFTapとは異なる2つのものがあります。 まず、256サイズの配列を返します。これはおそらく、捕捉されるbufferSizeが512サンプルであることを意味します。あなたはこのカスタムAKFFTTapを使用することによってこの問題を解決することができます

https://gist.github.com/denisb411/3e832a592ff8b79cca2afdbed432a0d0

第二に、WebAudioは、サンプルのバイナリを読んでいるような方法が異なっているようです。 AudioKitはこのフォーマットを使用しているので、Web上でFloat32を使用することをお勧めします。詳細についてはthisを参照してください。