人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

2012-01-01から1年間の記事一覧

2012年のまとめ

2012年の方向性(2012/1/1)のつづき。今年の目標は、複雑系と音声信号処理の深耕でした。まあ、あまりこれをやると決めてなくていろいろ興味の赴くままに勉強・調査・研究してました。 音声信号処理 こっちは、類似楽曲検索の実験というかなり明白な目標を…

はてなブログに移行しました

はてなダイアリーからはてなブログに移行しました。

類似楽曲検索システムを作ろう

もう1年以上かけて音声信号処理の勉強をしてきました(Pythonで音声信号処理)。ここらで具体的なアプリケーションとして類似楽曲検索の実験をしてみたのでレポートをまとめておきます。言語はPythonです。前に 類似画像検索システムを作ろう(2009/10/3) V…

SciPyでベクトル量子化

ベクトル量子化(Vector Quantization: VQ)とは、ベクトルで表されたデータ集合を有限個の代表的なパターン(セントロイド)に置き換える処理のことです。代表パターン(セントロイド)のリストはコードブック(code book)と呼ばれます。また、クラスタの…

ODEをMacにインストール

Mac OS X Mountain Lion に物理シミュレーションエンジンの Open Dynamics Engine (ODE) を入れようとしてすごく苦労したのでまとめておきます。macportsにもodeはありますが、これだとdrawstuffというライブラリが入っていなかったのでソースコードからコン…

SPTKの使い方 (6) MFCCの抽出

SPTKの使い方 (5)(2012/8/1)の続き。今回は、音声認識の特徴量としてよく使われるメル周波数ケプストラム係数 MFCC(2012/2/25)をSPTKで抽出してみました。使うコマンドは、mfccです*1。 x2x +sf < data.short| frame -l 640 -p 160 | \ mfcc -l 640 -f 1…

Earth Mover's Distance (EMD)

Earth Mover's Distance (EMD) について調べたことを整理しておきます。EMDは、ユークリッド距離のような距離尺度の一つで、二つの分布の間の距離を測ることができます。言語処理ではあまり聞いたことなかったのですが、画像処理や音声処理では比較的有名な…

SPTKの使い方 (5) フレーム分割

SPTKの使い方 (4)(2012/7/16)の続き。今回は、音声波形をフレーム単位に分割するSPTKのframeコマンドを使ってみます。音声でフレームというと、信号の複数のサンプルを一定幅でまとめたものを指すことが多いと思います。前に実装した短時間フーリエ変換(2…

SPTKの使い方 (4) フーリエ変換

SPTKの使い方 (3)(2012/7/7)の続き。今回は、SPTKでフーリエ変換してみます。SPTKには、fftとfftrという2つのコマンドがありました。fftが複素信号用、fftrが実信号用です。音声信号は実信号なので今回はfftrを使います。 サイン波の作成 まずFFTするサイ…

SPTKの使い方 (3) ピッチ抽出

SPTKの使い方 (2)(2012/7/4)の続き。今回は、SPTKマニュアルの2章のピッチ抽出(pitch extraction)を試してみます。ピッチとは声の高さのことで、基本周波数やF0とも呼ばれます*1。ピッチは、人間の発声におけるアクセント、イントネーション、感情表出な…

SPTKの使い方 (2) 音声波形の切り出し

SPTKの使い方 (1)(2012/7/1)のつづき。今回は、音声波形の一部を切り出すbcutコマンドを使ってみます。これよく使うので便利です。音声ファイルdata.short(rawファイルです)の1000サンプル目から11000サンプル目を切り出したいときは、 bcut +s -s 1000 …

SPTKの使い方 (1) インストール・波形描画・音声再生

SPTK(Signal Processing Toolkit)という音声信号処理のツールの使い方を紹介していきます。SPTKには、音声を分析するための豊富なコマンドが約120個も提供されています。今までPythonで窓関数、FFT、MFCC、LPCなどを苦労して実装してきました(Pythonで音…

線形予測分析(LPC)

Pythonで音声信号処理(2011/05/14)の第20回目。以前、ケプストラム分析(2012/12/21)のところで声道の特性を意味するスペクトル包絡を求めた。今回は、線形予測分析(Linear Predictive Coding)という別の手法でスペクトル包絡を求めてみた。この方法で…

メル周波数ケプストラム係数(MFCC)

Pythonで音声信号処理(2011/05/14)の第19回目。今回は、音声認識の特徴量としてよく見かけるメル周波数ケプストラム係数(Mel-Frequency Cepstrum Coefficients)を求めてみました。いわゆるMFCCです。MFCCはケプストラム(2012/2/11)と同じく声道特性を…

ケプストラム分析

Pythonで音声信号処理(2011/05/14)の第18回目。今回は、音声の特徴量としてよく使われるMFCC(Mel-Frequency Cepstrum Coefficients: メル周波数ケプストラム係数)抽出に向けた第一歩としてケプストラム分析を試しました。Wikipediaでケプストラムの定義…

ラングトンの自己複製オートマトン

ついにやった!ループが自己複製をしている。 ラングトンの日記(1979/10/26) ラングトンの自己複製オートマトンは、ラングトン・ループ(Langton's Loops)と呼ばれます。ライフゲームと同じ二次元のセル・オートマトン空間上でループが増殖していきます。…

セルオートマトン

この宇宙が、天国にいるものすごいハッカーのコンピュータで動いているセルオートマトンでできていないという証拠はない とある研究者 今回からしばらくセルオートマトンの不思議な世界をふらついてみようと思ってます。セルオートマトンは、その名前のとお…

IIRフィルタ

Pythonで音声信号処理(2011/05/14)今まで作ってきたFIRフィルタ(2011/10/23)に続いて、今回は、IIR(Infinite Impulse Response)フィルタをためしてみよう。IIRフィルタでもローパス、ハイパスなどのようなフィルタが作れる。FIRフィルタよりタップ数を…

2012年の方向性

この記録も今年で10周年を迎えました。読んでくれてるみなさま、ありがとうございます。はてなダイアリーで書き始めたのは2005年3月14日ですが、記録自体は2002年から始めていました。飽きっぽい性格でいろいろやっていますが、本当に面白いと思った人工知能…