タグ

ブックマーク / tiny-wing.hatenablog.com (2)

  • Swift vDSP で 実FFT - タコさんブログ

    C言語ではじめる音のプログラミング―サウンドエフェクトの信号処理 ページ33 で取り上げられているサイン波を vDSP(vectorized digital signal processing) ライブラリを使用して、FFTにより振幅スペクトルを求める(ここでは簡単のために窓関数を用いずにFFTを実行する)。 サイン波は次式のように表せられる。 x(n) = Amp * sin(2 * PI * f0 * n / fs), (0<=n<N) ここで、Ampは振幅、f0は基周波数、fsは標化周波数、nは標化数。 FFTを実行する音データとして、以下の値をとるサイン波を考える。 振幅(Amp) 0.25 基周波数(f0) 250 Hz 標化周波数(fs) 8k Hz 標化数(n) 64 このとき、サイン波は次のようになる。 x(n) = 0.25 * sin(PI * n / 16

    Swift vDSP で 実FFT - タコさんブログ
    peketamin
    peketamin 2017/03/11
  • Swift AVAudioEngine でサイン波を鳴らす - タコさんブログ

    AVAudioEngine を使用して、440Hzのサイン波(ラ音)をPCMバッファーに設定し、鳴らす。 AVAudioEngineの基的な使い方は Swift AVAudioEngine の基 - タコさんブログ を参照。 環境 Xcode 7.3.1 Swift 2.2 準備 AVFoundation をインポートする import AVFoundation サイン波 周波数fのサイン波は以下の式で与えられる。 x(n) = sin(2 * PI * f * n/fs) ここで、 n = 0, 1, 2, ... fs はサンプリング周波数 この式を使用すると、サンプリング周波数 44.1k Hz, 440 Hzのサイン波は以下のようになる。 for n in 0..<some_buffer_length { samples[n] = sinf(Float(2.0 * M_PI)

    Swift AVAudioEngine でサイン波を鳴らす - タコさんブログ
    peketamin
    peketamin 2017/01/31
  • 1