サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
shower.human.waseda.ac.jp/~m-kouki
視覚化(基本的な使い方) † まず、Praatを開く。 Praat Objects ウインドウで、「Read」>「Read two Sounds from stereo file」>解析したいファイルを指定 Praat Objects ウインドウで、右の「Edit」を選択 > 波形画面が表示される 「View」>「Zoom in」で拡大、ある程度拡大されれば自動的にスペクトログラム、フォルマントを表示してくれます 「Pitch」>「Show pitch」でピッチ曲線も表示します 【注】ここで表示されるフォルマントやピッチ曲線は、高速で視覚化するための簡略的なアルゴリズムであるようです(マニュアルには詳細な記述なし)。そのため、ウインドウをずらしたり、ズーム率を変えるなどすると解析結果は変わります。*2正確な値を知りたい場合は、以下のフォルマント解析やピッチ解析を行なって下さい。 ↑ サンプ
自己組織化マップ(Self-Organizing Maps, SOM) † リファレンス 競合学習ネットワーク 自己組織化マップ デモンストレーション サブプロパティ net.layers のリファレンス(トポロジー関数、距離関数) トポロジー関数、距離関数のカスタマイズ ↑ 学習に使用するデータ † 入力として使うのは、おなじみのあれ*1です。 あれ → 横軸の特徴量の数は、入力層の要素(ノード)数に対応します。 縦軸の1行が、逐次型(適応)学習の1回のステップで与えられる入力ベクトルに対応します。 また、この13×16の入力ベクトルセットが、バッチ型(訓練)学習の1回のエポックで与えられる入力ベクトルに対応します。 ↑ 基本SOM(単層) † まずは、Neural Network Toolbox での基本SOMの実装についてまとめておきます。 ここで作成するSOMは、5×4の二次元
デルタパラメータとは? † 音声認識の際、動的な特徴をあらわす指標として使われる。 初出は Furui, 1986.*1 意義 中川, 2000.*2 より引用 スペクトルの時間方向の動的変化の特徴は音声認識にとって重要なパラメータであり、これを回帰モデルでモデル化し、1次回帰係数(Δケプストラム)、2次回帰係数(ΔΔケプストラム)と呼ばれ広く用いられている(隣接スペクトルの差分もΔケプストラムと呼ばれており、同様に効果がある) 和田ら, 2002.*3 より引用 デルタケプストラムは、ケプストラムの時間変化の微分を差分ベクトルにより近似した動的特徴量である。(略) LPCケプストラムを取り除きデルタケプストラムのみを特徴量として用いることで耐雑音性が改善されると考えられる。しかしながらデルタケプストラムのみを特徴量とするには母音などの定常に近い音声の認識に不安を残す。 計算方法 HTK
変数の尺度 † 観察される変数と数値を対応させる基準は データ水準 と呼ばれる*2 名義、順序、間隔、比例の4種類 各尺度と、使うことのできる統計量(以下の統計量の種類は 統計Web | コラム | 統計備忘録 2009年3月 より引用) 名義尺度 の統計量 : 各ケースの数、計数、頻度、最頻値、連関係数*3 【引用】 質的データ、カテゴリカルデータとも呼ばれる。データは度数集計表によってあらわされる。*4 順序尺度 の統計量 : 上に加えて、中央値、パーセンタイル*5 【引用】 順位尺度は間隔をもたないので、データ自体は数値であるが四則演算は成立しない。平均を求めることさえ無意味。その反面、正規分布を前提にしない・極端値に強い・少数データを扱えるといった強みがある。*6 間隔尺度 の統計量 : 上に加えて、平均値、標準偏差、順位相関係数、積率相関係数*7 例えばデータが「クラスの各員の得
C4.5による決定木学習 † C4.5 を使って決定木学習 をしてみる。 参考 C4.5について(菊池先生) (教科書)J.R.キンラン(著),古川康一(監訳),AIによるデータ解析,トッパン,1995. C4.5 example(琉球大當間先生) ↑ データを作る † Wikipediaのサンプル を使う。*1 カテゴリーおよびパラメータ指定ファイル(golf.names) do, don't. | 従属変数、ゴルフをするかしないか weather : fine, cloudy, rain. | 独立変数、天気(3カテゴリ) temperature : continuous. | 独立変数、気温(連続数) humidity : continuous. | 独立変数、湿度(連続数) wind : y, n. | 独立変数、風が強いか強くないか 最後の行は改行すること(以下同様) 学習データ
MATLABで正弦波を作る(デジタル波) b = 1.0; %正弦波の振幅 f = 12; %周波数(1[s]の間に何回同じ波形が出現するか) Fs = 8820; %サンプリング周波数 t = 0 : 1/Fs : 1.0; %[時間軸の作成] 1/Fs 間隔で 0.0~1.0[s] まで data = b * sin(2 * pi * f * t); %pi=円周率π plot(data); title('時間信号'), xlabel('time[sample]'); 余弦波(cos波) 余弦波の式は、以下のようになる。 a:正弦波の振幅 円運動する点の横座標を、時間の関数として表現した式である。 MATLABで余弦波を作る(デジタル波) a = 1.0; f = 12; Fs = 8820; t = 0 : 1/Fs : 1.0; data = a * cos(2 * pi * f
自己組織化マップ(Self-Organizing Maps, SOM)とは † 統計学的説明 : 多くのパラメータを使うことで近似的にノンパラメトリックで非線形なPCA(主成分分析)を実現する手法*1 PCAとは … 多次元のデータを、できるだけ情報量を落とすことなく、低次元に要約する。 例 : [数学の点, 国語の点, 理科の点, 社会の点] → [数学+理科の点, 国語+社会の点]*2 非線形PCAとは … 非線形関数であっても推定可能、SOM や カーネル主成分分析 など。 例 : 三角関数(データが原点を中心にした円弧上に存在する場合、x,yは偏角θの1次元で表現できる)*3 生理学的説明 : 大脳感覚野の特徴地図が知覚経験によって形成されていく様子を説明したモデル(の、簡易版)*4 網膜細胞の入力から、一次視覚野の方位選択性+眼優位性構造 を再現することができる。 応用的説明 :
はじめに † ここはMATLABのインストール方法、使い方、参考ウェブサイトなどをまとめたページです。 内容は 早稲田大学人間科学部 菊池英明研究室 のドキュメントを編集したものです。そのため、一部、研究室内部限定のコンテンツが残っています。ご了承ください。 【ご注意!】 MATLAB および Signal Processing Toolbox をインストール済みであるという前提で説明しています。 また、Statistics Toolbox および Neural Network Toolbox も、各項目で前置きした上で使用しています。 ↑
テキストフィールドに入力してEnterキーを押してください。 最終更新:2007年10月22日 Could not open java-applet "ElizaApplet.class". これは Jan Wedekind 氏が作成し、Elizaで公開しているプログラムをダウンロードし、一部変更を加え、日本語用に機能を追加したものです。 茶筅の解析結果 Elizaのライブラリ ソースコード
ELANとは? † ELAN(エラン)は、動画と音声資源に注釈を作成するための専門的ツールである(ELAN Descriptionより)。 無制限の数の注釈を加えることができる。 注釈は相互接続な複数の階層で作成することができる。 XMLフォーマットで保存される。 メディア再生を既存のメディアフレームワークに委任する(多種多様な音声およびビデオフォーマットがサポートされる) Javaプログラミング言語で書かれ、ソースは非商業利用可能 異なるステップサイズのメディア間を接続可能 ユーザーが語彙を定義可能 Praatに対応、TextGridファイルを読み込むことができる Max Planck Institute for Psycholinguistics(マックスプランク心理言語学研究所)開発 ↑
HTSとは † HTS(修正HTK)+SPTK*1 HTKからの修正点 ストリーム依存のコンテキストクラスタリング 状態継続長モデルとクラスタリング F0モデリングのための状態出力確率 感情音声合成, 話者適応, モーフィング, 歌声合成 など. 言語に依存したコードは無い(どんな言語でも・歌唱音も合成可能) LPC, LSP, COC, 単位選択音声合成(CHATR), HMM音声合成(HTS), STRAIGHT など日本製技術の集積 さまざまな企業で使われている*2 ↑ HTSのインストール(Linux) † ここでは、32bit Linux コンピュータ(debian)*3にインストールする方法を説明します。 サンプルデータの音響モデルや辞書を使って音声合成を試すだけなら、hts_engine API のみインストールすればOKです。HTSによるHMM音声合成/HMMテキスト音声合
セル配列を数値型に変換 † 参考 データタイプ セル配列に、文字列型の数字データが入っているときは、配列に変換しようとしても、エラーが出ます。 C = {'0';'1.2'} cell2mat(C) ??? エラー: ==> cat CAT引数の次元が一致していません ファイル読み込みの時などによく起こるエラーです。 解決するには、 C = {str2num('0');str2num('1.2')} %数値型でセル配列に格納 cell2mat(C) ans = 0 1.2000 ファイル読み込みは以下のようにすればOK(ファイル中に、数字データしかない場合) inputLine = textread( 'test.txt', '%s'); %セル配列としてinputLineに格納 dataLine = []; for count = 1:1:length(inputLine) %各行を読み
教師あり学習 † 各手法の詳細やパラメータの変更に関しては、Statistics Toolbox ドキュメント、日本語の解説(最新バージョンには未対応)や、helpコマンド、editコマンドが参考になります。 ↑ 決定木 † Statistics Toolbox が提供している機能です。 参考(関数) 参考(詳細) ※C4.5も参照して下さい。 ウィキペディア「決定木」のゴルフの表 を使って説明します。*1 まずは入力値データ(独立変数)と、結果データ(従属変数)を宣言します。 %独立変数(天気、気温、湿度、風の強さ) meas = [ 1 29 85 1 1 27 90 2 2 28 78 1 3 21 96 1 3 20 80 1 3 18 70 2 2 18 65 2 1 22 95 1 1 21 70 1 3 24 80 1 1 24 70 2 2 22 90 2 2 27 7
音声を取り込む・再生する † WAVREAD Microsoft WAVE (".wav") サウンドファイルの読み込み filename = 'a.wav'; %読み込むファイル名を指定 [data,Fs,Bits] = wavread(filename); %dataに音声データ、Fsにはサンプリング周波数を代入 sound(data,Fs); %サンプリング周波数 Fs で再生 wavplay(data,Fs); %サンプリング周波数 Fs でWindows のオーディオ出力を使って再生 wavplay(data,Fs,'async'); %音声の再生に平行して処理を続行する disp('再生中...'); デフォルトで、以下のような音声データが用意されています。 load laughter; %笑い声 sound(y, Fs); load handel; %handelのハレルヤ
四則演算をする † 参考:行列と配列について + 加算 - 減算 * 乗算 / 除算 \ 左除算 (左から右を割る) ^ ベキ乗 ' 複素共役転置 余りは rem(x,y) (XをYで割ったときの余り) 商は floor(x/y) 平方根(ルート)は sqrt(X) 実行例 >> 1 + 2 %足し算 ans = 3 >> 5 - 3 %引き算 ans = 2 >> 3 * 10 %掛け算 ans = 30 >> 5 / 10 %割り算 ans = 0.5000 >> 5 \ 10 %割り算 (左から右を割る) ans = 2 >> 2 ^ 4 %べき算 ans = 16 ベクトル同士の四則演算 以下の配列A,Bを使って説明します。 >> A = [1 2 ; 3 4] A = 1 2 3 4 >> B = [-1 -2 ; -3 -4] B = -1 -2 -3 -4 >> A + B
参考リンク † オンライン学術用語集 興味深い研究や技術へのリンク 本ページの著作権は日本国の法令に基づいて保護されています。特に断わりがない場合、本ページの著作権は早稲田大学人間科学学術院 菊池英明研究室 および 宮澤幸希 にあります。このウェブサイトは、早稲田大学が定める WWW用コンテンツ作成に関するガイドライン ならびに Webコンテンツ確認基準 を遵守します。
スペクトラム(spectrum)とは † 音声や地震波などの周期性のある信号は、どれだけ複雑な信号であっても、単純な波に分解できる(フーリエの定理) 単純な波...単一の周波数と振幅をもつ正弦波、余弦波 上記の定理に従って、ある信号の周波数成分と振幅の成分を抽出したものが、周波数スペクトラム(スペクトル)です*1。 スペクトラムの求め方(MATLABによる説明) 以下のような複雑な波を考えます。 MATLABで上の波を生成するには、以下のコードを実行 time = 0 : 1 / 8820 : 0.05; sinwav_1 = 1.2 * sin(2 * pi * 130 * time); coswav_1 = 0.9 * cos(2 * pi * 200 * time); sinwav_2 = 1.8 * sin(2 * pi * 260 * time); coswav_2 = 1.4
用語 † CSJ … Corpus of Spontaneous Japanese の略。 JNAS … Japanese Newspaper Article Sentences の略。 基本的にCSJでの音響モデル構築についてまとめています。JNASについてはリンク先にメモがあります。 HTK … Hidden Markov Model Tool Kit の略。 Julius/Julian の音響モデルとして利用できる! Hidden Markov Model(HMM) … ニューラルネットワークを用いた母音範疇の獲得モデルに関する研究 pp.40 を参照 ↑ 教科書・参考文献 † 「HTKによる大語彙連続音声認識, 菊池英明, 2000」 これを、以下『テキスト』と呼びます。以下の「HTKによる大語彙連続音声認識」は、テキストにしたがって進めます。 菊池先生がお持ちのはずですので、コピ
はじめに † 以下を実行する前に、Cygwin と、Perlの実行環境 のインストールをすませておきます。 任意 : Cygwinのbinフォルダのパスを環境変数に加えておくと、コマンドプロンプトから使えるので便利です。 任意の場所(たとえば、Cygwinのホームディレクトリ直下)に Juliusフォルダを作っておきます(以下「JULIUS/」)。 ↑ 基本セット(バイナリ) † Juliusの基本プログラム、コンパイル済み 設定ファイルで多くの設定を変えられるので、たいていの場合バイナリで大丈夫のはず。 Julius 公式 から、まずは Windows版Juliusのバイナリファイル をダウンロードして解凍します。 julius-4.1.2-win32bin.zip(2009年10月20日時点)をダウンロードしました。 Juliusフォルダに、解凍したjulius-4.1.2-win32
用語 † ケプストラム ケプストラム(英: Cepstrum)とは、音のスペクトルを信号と見なしてフーリエ変換 (FT) した結果である。"spectrum" の最初の4文字をひっくり返した造語。 メル尺度 MFCC ケプストラムは声道によって歪められた信号から声帯の振動に起因するエネルギーだけを分離できる。 ↑ お題 † 「MATLAB」と発音したファイル を解析してみます。 MATLAB上で以下のコードを実行します。 load mtlb; %MATLABと発音した英語音声 disp(strcat('サンプリング周波数は', int2str(Fs), '[Hz] サウンドデータは mtlb')); sound(mtlb, Fs) %再生 wavwrite(mtlb, Fs, 'mtlb.wav'); %NBITS = 16ビットを仮定してファイル書き出し subplot(2,1,1);
このページを最初にブックマークしてみませんか?
『MIYAZAWA Kouki ― 宮澤幸希』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く