タグ

信号処理に関するkasumaniのブックマーク (6)

  • [vDSP][信号処理]オーディオ・音声分析への道8 FFT 音の明度 - Qiita

    [vDSP][信号処理]オーディオ・音声分析への道7 FFT 音の明度 概要 今回は、FFTで得られたスペクトラル情報を分析し、音の明度を計る尺度の一つ、スペクトラル中心(Centroid)について書きます。 FFTのプログラムについては触れません。過去のこの記事や、この記事を参考にしてください。 スペクトラル中心とは、スペクトラムの重心の位置(単位はHz)を計算しる事で得る事ができます。例えば、440hzの純音のCentroidは理論上440HzのCentroidを持つ事になります。また、純音に高周波数を足し合わせていくと、その程度に沿ってCentroidの値は大きくなっていきます。 数式 Centroidの算出方法は、以下の様に定義されます。

    [vDSP][信号処理]オーディオ・音声分析への道8 FFT 音の明度 - Qiita
    kasumani
    kasumani 2014/06/25
    オーディオ・音声分析への道8 FFT 音の明度 概要 今回は、FFTで得られたスペクトラル情報を分析し、音の明度を計る尺度の一つ、スペクトラル中心(Centroid)について書きます。 FFTのプログラムについては触れません。過去
  • [vDSP][信号処理]オーディオ・音声分析への道2 演算処理 - Qiita

    オーディオ・音声分析への道 その2 演算処理 さて、前回はXcodeのプロジェクトの作成と、設定、更に簡単なvDSP演算処理について書きました。 今回も演算処理について書いて、今後信号処理を行う上で必要になる関数を勉強したいと思います。 こちらは四則演算の関数一覧です。 加算 : vDSP_vadd() 減算 : vDSP_vsub() 乗算 : vDSP_vmul() 除算 : vDSP_vdiv() データ型に関しては、 vDSP_vaddi(); = int vDSP_vadd(); = float vDSP_vaddD(); = double ちなみに、addの前につく"v"はvectorの意味です。 加算は前回やりましたので、減算からやりましょう。 減算はfloatとdouble型のみ用意されている模様です。 減算 #include <stdio.h> #include<Acce

    [vDSP][信号処理]オーディオ・音声分析への道2 演算処理 - Qiita
    kasumani
    kasumani 2014/06/14
    オーディオ・音声分析への道2 演算処理 さて、前回はXcodeのプロジェクトの作成と、設定、更に簡単なvDSP演算処理について書きました。 今回も演算処理について書いて、今後信号処理を行う上で必要になる関数を勉強した
  • [vDSP][信号処理]オーディオ・音声分析への道6 高速フーリエ変換 FFT その2 - Qiita

    今回はFFTによって得られたデータにFiltering処理を施して、iFFTを行い、結果をwavデータに出力したいと思います。 手順としては、 wavデータを読み込む FFTフレーム分を取り出す FFT イコライジング iFFT wavデータとして書き出す 以上です。 C言語でのwavデータ取り扱いについては、Libsndfileを使います。 Xcodeへの導入と使い方に関しては、この記事を参照してください。 以前の記事では、wavデータの書き出しは紹介しましたが、読み込みには触れていませんでした。今回はそれらもまとめてやりたいと思います。 まず2秒間のホワイトノイズを録音したwavデータを用意します。 https://soundcloud.com/keitaro-takahashi/input 既存関数のライブラリ化 前回のFFTのソースコードのままだと、使い勝手が悪いので、FFT関数と

    [vDSP][信号処理]オーディオ・音声分析への道6 高速フーリエ変換 FFT その2 - Qiita
    kasumani
    kasumani 2014/06/14
    オーディオ・音声分析への道6 高速フーリエ変換 FFT その2 今回はFFTによって得られたデータにFiltering処理を施して、iFFTを行い、結果をwavデータに出力したいと思います。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket
  • [vDSP][信号処理]オーディオ・音声分析への道4 矩形波 ノコギリ波 - Qiita

    矩形波は波形で見ると四角い形をした波の事です。 これは、sin波を複数合成する事で近似の波を生成する事ができます。 矩形波を生成する為の式は、fを周波数(frequency)、mを音の大きさ(magnitude)とすると、 sin(f) + sin(f*3)/3 + sin(f*5)/5 + sin(f*7)/7 + sin(f*9)/9 .... と半永久的に奇数倍した周波数のsin波の音量を同じ奇数で割ったもののを全て足し合わせた波になります。 実際的には、44100Hzのサンプリングレートで行う場合は、最大解像度が22050Hzなので、sin波の最高周波数が22050Hz以下になるように設定します。 ただし、この場合は計算に膨大な時間がかかるので今回は1000個くらいのsin波を合成することによって、近似波を生成したいと思います。 では全体のソースコードから #include <st

    [vDSP][信号処理]オーディオ・音声分析への道4 矩形波 ノコギリ波 - Qiita
    kasumani
    kasumani 2014/06/14
    オーディオ・音声分析への道4 矩形波 ノコギリ波 今回は、矩形波とノコギリ波を生成して、Libsndfileでwavファイルに書き出したいと思います。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Pocket June 14, 2014 at 11:52PM via IFTTT
  • [vDSP][信号処理]オーディオ・音声分析への道3 Libsndfile - Qiita

    オーディオ・音声分析への道 その3 Libsndfile 今回は演算結果をオーディオデータとして出力したいと思います。 オーディオデータをC言語で扱う為のライブラリはいくつかあると思いますが、ここではLibsndfileを使いたいと思います。 Libsndfile はオーディオデータを扱う為のCライブラリです。データを読み込んだり、ファイルに書き出す事ができます。 対応しているオーディオフォーマットは沢山ありますが、中でもWAVやAIFF、RAW、OGGに対応しています。 ではLibsndfileのダウンロード、Xcodeへの追加設定を説明します。 Macportのインストール LibsndfileのMacへのインストールはMacportを使うと便利です。 Macportは、Macへのソフトウェア導入を簡略化してくれるパッケージ管理システムです。 ここからファイルをダウンロードします。(英

    [vDSP][信号処理]オーディオ・音声分析への道3 Libsndfile - Qiita
    kasumani
    kasumani 2014/06/14
    オーディオ・音声分析への道3 Libsndfile 今回は演算結果をオーディオデータとして出力したいと思います。 オーディオデータをC言語で扱う為のライブラリはいくつかあると思いますが、ここではLibsndfileを使いたいと思いま
  • [vDSP][信号処理]オーディオ・音声分析への道5 高速フーリエ変換 FFT - Qiita

    今回は、vDSPにて高速フーリエ変換(FFT)のやり方を紹介します。 vDSPにはFFTを行う為のいくつかの関数が用意されています。 この記事では、FFTを行うためのプログラムを一つにまとめた、FFT()という関数を作るところから始めたいと思います。 FFTを行う手順として、 FFTのフレームサイズを指定する。 FFTフレームサイズ分のオーディオデータを取得する。 2で取得したオーディオデータに窓関数を掛け合わせる。 窓関数を掛け合わせたオーディオデータをDSPSplitComplex型のデータ領域に格納する。 FFTを行う。 スケーリングを行う。(vDSP独特の仕様) とここまでがあります。 この中で DSPSplitComplex型 というデータタイプが現れますが、これは以下のような構造体をなしていて、信号の実数部と虚数部を格納する事ができます。

    [vDSP][信号処理]オーディオ・音声分析への道5 高速フーリエ変換 FFT - Qiita
    kasumani
    kasumani 2014/06/14
    オーディオ・音声分析への道5 高速フーリエ変換 FFT 今回は、vDSPにて高速フーリエ変換(FFT)のやり方を紹介します。 vDSPにはFFTを行う為のいくつかの関数が用意されています。 Tags: ifttt, kasumaniのストックした投稿 - qiita from Poc
  • 1