音声情報処理 第9回 1.フーリエ級数展開 2.冬休みの宿題 8.2 フーリエ級数展開 フーリエ級数展開 f (t ) b0 (bn cos n0t an sin n0t ) n 1 b0 n 1 bn an bn sin( n0t tan ) an 2 2 2 ただし,0 2f 0 T 展開したい元の周期信号の周期 1 8.2 フーリエ級数展開 フーリエ級数展開の係数 直流分: 1 T b0 f (t ) dt T 0 cos 波の振幅: 2 T 2 T2 bn f (t ) cos n0t dt f (t ) cos n0t dt T 0 T T 2 sin 波の振幅: 2 T 2 T2 an f (t ) sin n0t dt f (t ) sin n0t dt T 0 T T 2 鋸波のフーリエ級数展開:1次まで 1.5 nokogiri(x) g1(x) 1 0.5 0 -0.5 -1 -1.5 -6 -4 -2 0 2 4 6 鋸波のフーリエ級数展開:2次まで 1.5 nokogiri(x) g2(x) 1 0.5 0 -0.5 -1 -1.5 -6 -4 -2 0 2 4 6 鋸波のフーリエ級数展開:3次まで 1.5 nokogiri(x) g3(x) 1 0.5 0 -0.5 -1 -1.5 -6 -4 -2 0 2 4 6 鋸波のフーリエ級数展開:4次まで 1.5 nokogiri(x) g4(x) 1 0.5 0 -0.5 -1 -1.5 -6 -4 -2 0 2 4 6 鋸波のフーリエ級数展開:5次まで 1.5 nokogiri(x) g5(x) 1 0.5 0 -0.5 -1 -1.5 -6 -4 -2 0 2 4 6 鋸波のフーリエ級数展開:6次まで 1.5 nokogiri(x) g6(x) 1 0.5 0 -0.5 -1 -1.5 -6 -4 -2 0 2 4 6 8.1 周期波形とその周波数成分 スペクトル図(正規化振幅スペクトル) 1.0 An/A1 0.8 0.6 0.4 0.2 0.0 0 5 10 15 n 図1 のこぎり波のスペクトル図 20 8.1 周期波形とその周波数成分 スペクトル図 TIPS 1.0 n=0には直流成分を書く An/A1 0.8 0.6 0.4 縦軸はA1で正規化しない のが一般的 0.2 横軸はnでなく周波数とする のが一般的 0.0 縦軸は対数パワーを用いる 0 5 10 のが一般的 15 n log Powern 10 log( an bn ) 図1 のこぎり波のスペクトル図 2 2 20 アナログ信号の定積分 T a f (t )dt 0 この部分の面積が a になる. f(t) 0 T ディジタル信号の定積分(1/3) f (t ) f (i t ) ただし i は整数,t はサンプリング周期 f(t) 0 T ディジタル信号の定積分(2/3) f (i t ) f (t ) T a f (t ) dt a 0 i t T ( f (i t ) t ) i 0 f(t) 0 T ディジタル信号の定積分(3/3) f (i t ) f (t ) T a f (t ) dt a it T 0 ( f (n t ) t ) n 0 ここで, f [i ] f (i t ), M を i t T を満足する最大のi とすれば, a 0; for (i 0; i M ; i ) a f [i ] * dt ; で a を計算できる. 課題:フーリエ級数プログラミング 提出物:印刷して提出 レポート(波形図や考察) プログラム 締め切り:12月22日(火)の授業の時に提出 1.Wavesurferで録音 「おー」を1秒程度録音する。 サンプリング周波数: 16kHz 量子化ビット数: 16bit チャネル: モノラル(=1ch) [Transform]⇒[Normalize…]⇒100% 振幅の最大値が32767になるよう拡大される。 保存形式: MS-Wav ファイル名: 08O.wav 2. 1ピッチ分のデータを切り出す 似た形をした波形が繰り返しているので、 一つ分を選択し、Save Selection… する ファイル名: “08O1.wav” 3.SOXでテキストファイルに変換 sox 08O1.wav 08O1.dat 1行目を削除 ち ょ っ と デ ー タ が 多 す ぎ る の で エ デ ィ タ で 削 る 4.GUNUPLOTで描画 0.25 'D:\EC\o1.dat' 0.2 0.15 0.1 0.05 0 -0.05 -0.1 -0.15 -0.2 -0.25 0 0.001 0.002 0.003 0.004 0.005 0.006 ち ょ っ と デ ー タ が 多 す ぎ る の で エ デ ィ タ で 削 る 4.GUNUPLOTで描画 0.25 'D:\EC\o1.dat' 0.2 0.15 0.1 0.05 0 -0.05 -0.1 -0.15 -0.2 -0.25 0 0.001 0.002 0.003 0.004 0.005 0.006 5.ピッチ周期・ピッチ周波数 周期 : 5.625ms 周波数: 177.8Hz プログラムには角周波数 が必要です!! 0.0 0.1 0.2 0.3 6.同じ周期の正弦波をつくる Cでプログラムを書きましょう!! GNUPLOT用のフォーマットは、 “08O1.dat” と同じようにすればよい。 7.GUNPLOTで描画 0.25 'D:\EC\o1.dat' 0.25*sin(2*pi*177.8*x) 0.2 0.15 0.1 0.05 0 -0.05 -0.1 -0.15 -0.2 -0.25 0 0.001 0.002 0.003 0.004 0.005 0.006 8.同じ周期の正弦波をつくる Cでプログラムを作成 振幅は32000程度 SOXを用いてMS-Wavファイルに変換 Wavesurferで再生し、音の高さに着目し、 元の音声と聞き比べる 10.フーリエ級数プログラミング ① 自分で録音した「おー」のディジタル信号 から1周期分を切り出しフーリエ級数展開し, 対数パワースペクトル図を作成せよ. 横軸:周波数 縦軸:対数パワー レポートには,必要に応じてプログラムの核となる部分を 添付してください.(以下同様) 11.フーリエ合成 ② n=2, 3, ・・・ と,nを順に大きくしていった 場合のグラフを描画し,元の波形に近づ く(もしくはずれていく)様子を,①の結果 とあわせ考察せよ(レポートには,最低限 n=2, ほとんど一緒になった n,n=N/2, n=N, n=2Nのグラフを添付すること) ③ nが?より大きくなると,元の波形とずれ が大きくなる.この点についてナイキスト 周波数を踏まえ考察せよ. 12.フーリエ合成(発展) ④ t を1周期分だけでなく、2秒の音声合成 し,wavesurferで聞いてみよう ⑤ プログラムを少しだけ修正して ド・レ・ミ・ ファの音程(各2秒)で音声合成し, wavesurferピッチを確認してみよう ⑥ ⑤の方法を利用して,より自然な音声を 合成してみよう. 注)⑤⑥についてはレポート中でプログラム の修正部分を示してください. 冬休みの宿題(1/2) 1. JULIUS(ディクテーションキット)をダウンロード して,ディクテーションを実行してみよう http://julius.sourceforge.jp/ レポート課題: ① 立ち上げ時に,出てくるメッセージの意味を調査 しなさい。 ② 新聞やWebニュースから適当な10文を選んで 入力(発声)して,単語を単位とした場合の,置 換誤り率,挿入誤り率,脱落誤り率を求めよ。 C:\Users\kuroiwa\Desktop\dictation-kit-v3.0-win>.\bin\julius.exe -C fast.jconf include config: fast.jconf Warning: thread not supported, input may be corrupted on slow machines Reading in HMM definition...(binary)...finished defined HMMs: 7946 logical names: 21424 in HMMList done Making pseudo bi/mono-phone for IW-triphone...10 added as logical...done Reading in dictionary... 60250 words...done Reading in word n-gram...1-gram.....2-gram......3-gram..indexing...done Mapping dictonary words to n-gram entries...done Building HMM lexicon tree.........464019+19123=483142 nodes 1-gram factoring values has been pre-computed done Generating addlog table...1953 kb...done ------------- System Info begin ------------Julius rev.3.4.2-win32 (fast) Files: hmmfilename=model/phone_m/hmmdefs_ptm_gid.binhmm hmmmapfilename=model/phone_m/logicalTri progout interval = 300 msec 冬休みの宿題(2/2) 2. JULIAN(文法認識キット)をダウンロードして, 正規文法による認識システムを作成しなさい 単語数100単語以上、3単語以上の文も受理できる こと レポート課題: ①単語辞書ファイル、文法ファイルを印刷したもの ②文法が受理できる、適当な10文を入力して認識率を 求めると共に、結果に関する考察をせよ。 ③文法が受理できない、適当な5文を入力した場合の 入力音声及び認識結果を示すと共に、結果に関する 考察をせよ。
© Copyright 2025 ExpyDoc