このファイルは、3年春学期科目「音声情報処理」の授業において、口頭で説明する内容をテキスト(.txt)に書き起こしたものです。 事前に科目のHPにアクセスして「講義ノート」の PDF ファイルをダウンロードし、印刷しておいてください。このテキストには講義ノートの記述より多くの情報を含んでいます。講義ノートの行間に、テキストの説明を書きこんで行くことをお勧めします。最後にプリントを綴じれば、将来必要になったときに見返せる自分の「講義ノート」ができあがります。 「学生用ページ」「レポート提出システム」 から、その日の「宿題」レポートを提出してください。 〆切は 次回授業日の前日 23:59 です。 _/_/_/ 第三回 ケプストラム分析(1) _/_/_/ 【講義ノート】信号って何だったかな? これまで 2 回の授業で、人間が音声を発声する機構について学んできました。ざっと思い出しましょう。 まず、声道のどこかで「音」を発声させるのでしたね。声帯の振動に基づく音源を「声帯音源」というのでした。また、声道の途中に狭めを作って雑音的な音を発生する「乱流音源」がありましたね。 今「声帯音源」に基づく音に注目します。典型的には「いえあおう」の母音がそうです。声帯音源に基づく音声の特徴は、声帯で一定周期で空気が励起させられるため、「周期性」を持つということです。 図に「あ〜」という母音を、前回勉強した「波形」として示します。グラフの横軸が時間で、縦軸が空気の圧力になっています。 周期的というのは、このグラフの形状が、一定間隔で繰り返すということです。周期というのは要するにこの「繰り返しの時間間隔」のことです。図中「←→」で示した部分ですね。周期を表すのによく、大文字で「T」を使います。 【講義ノート】音の三要素 さて、音には三要素と言われる特徴があります。「大きさ」「高さ」「音色」の3つです。 まず音の「大きさ」。音の大きさは波形でみると、圧力の変化幅「振幅(しんぷく)」に対応します。圧力の変化の幅が大きく、大きなエネルギーを持った音は、私たちの耳に大きく聞こえるわけです。 次に音の「高さ」。音の高さは波形で見ると、先ほど勉強した「周期」と関係しています。「高さ」を表す単位として「周波数」という概念があります。これは、1 秒間に何回繰り返すかを表す量で「Hz(ヘルツ)」という単位を使います。 ヘルツというのは物理学者ヘルツ先生のお名前から。 周波数の小さい音が低い音、周波数の大きい音が高い音です。 周波数とは 1 秒間に「周期」がいくつ入るかということですから、周期と周波数は逆数の関係になります。周期の長い音が低い音、周期の短い音が高い音です。 音の「大きさ」と「高さ」が分かりました。 さて残ったのは「音色」です。音色を決めるのは何でしょうか? 【講義ノート】周期、周波数、角周波数 ここで、「音色」を定式化するために、いくつかの用語を学んでおきましょう。 まず「周期」英語で「period」。先ほど勉強した「繰り返しの時間間隔」のことです。大文字の「T」で表すことが多い。単位は「s」です。「s」とは「秒」です。「second」だから「s」。 次は「基本周波数」英語で「fundamental frequency」。「1 秒間に何回繰り返すか」。「f0(エフゼロ)」と表します。1秒間に周期がいくつ入るかということですから、周期と周波数は逆数の関係 (f0 = 1 / T) になります。 もう一つ「基本角周波数」英語で「fundamental angular frequency」。基本周波数に「2π」を掛けたものです。記号は「ω0(オメガゼロ)」。繰り返しを、点が円周上を移動することに対応づけ、弧度法(ラジアン)で一周の角度「2π」を掛けておく。 【講義ノート】フーリエ級数 さて、数学者フーリエ先生は 「任意の周期波形はその周波数及びその整数倍 の周波数の余弦波・正弦波の和に展開できる」 ことを示しました。これをフーリエ級数展開といいます。 おっと、急に何だかわからなくなった、という顔をしないように。式をよく見ていけばそんな恐ろしいものではありません。 まず、繰り返しのある音声波形を一つ想像しましょう。2 ページ前の「あ〜」の波形でいいです。波形とは、ある時刻 t に、空気の圧力が f(t) になるグラフと考えられます。こういう考え方を何というんでしたでしょうか。そう「関数」というんです。 任意の音声波形は、関数 f(t) で表現できる。これが左辺の「f(t)」です。そうか、この式は音声波形を表す式なんだ。 さて、関数が周期 T で繰り返すとしましょう。皆さんはこのような繰り返す関数について、高校で習っているはずです。そうです三角関数です。正弦関数サインと余弦関数コサインがあったなと思い出していただきたい。 三角関数は弧度法(ラジアン)の周期 2π で繰り返します。今コサイン関数 cos( 2π (1/T) t) を考えると、時刻 t が一周期 T だけ進むと cos() の中が 2π になり、一回りしてもとに戻ります。すなわち、 cos( 2π (1/T) t) は f(t) と同じ周期、同じ基本周波数のコサイン関数になっている。次に、 cos( 2π (2/T) t) を考える。今度は角度が 2 倍になっているので、周期 T の間に、二回りできる。すなわち、 cos( 2π (2/T) t) は f(t) の基本周波数の 2 倍の周波数のコサイン関数になっている。同じように、 cos( 2π (n/T) t) は、f(t) の基本周波数の n 倍の周波数のコサイン関数になっている。 すなわち、右辺は、f(t) の基本周波数のコサイン関数、サイン関数、基本周波数の n 倍の周波数のコサイン関数、サイン関数に適当な重みを与えて全部たしてやると、必ず元の関数 f(t) が再現できる。ということです。要するに、 「任意の周期波形は、コサイン関数、サイン関数の和で表される」 というのが、この式が大まかに言いたいことなのです。ここが分かれば、もうこの式を怖がる必要はありません。 係数「a_n」がコサイン関数への重み、「b_n」がサイン関数への重みです。 (テキストで書いているので、式の表現が難しいんですが。「a_n」は a に添え字 n をつけたもの、「b_n」は b に添え字 n をつけたものを表しています。) 【講義ノート】パワーと位相 フーリエ級数展開の式の右辺には、コサイン関数とサイン関数が両方出てきます。同じ周波数の三角関数が 2 つずつ出てくるのは分かりにくいので、工学の世界ではよくこれを 1 つの余弦関数にまとめてしまいます。三角関数の公式を用いて、 A_n cos( 2π (n/T) t - γ_n) 次式の「^2」は2乗をあらわします。「^{-1}」は逆関数を表します。 A_n = sqrt( a_n^2 + b_n^2 ) γ_n = tan^{-1} (b_n / a_n) このとき A_n の 2 乗を「パワー」と呼びます。周波数成分の大きさを表します。 γ_n を「位相」と呼びます。位相は、音の方向を判断するために重要ですが、実は今話題にしている音色にはあまり関係しません。今のところ、まあそのようなものもある、くらいに思っていて十分です。 【講義ノート】音色とフーリエ級数 さて、母音などの周期をもつ音声波形は、基本周波数及びその整数倍の周波数の三角関数の和で表すことができます。この三角関数の成分のことを「倍音」「harmonics」といいます。 各倍音について、フーリエ級数展開を用いて「パワー」と「位相」を計算することができます。 実は「音色」は倍音のパワーで決まります。 左側の図は、方形波と呼ばれる模式的な周期波形です。これをフーリエ級数展開し、各倍音について「パワー」を求めます。 右側の図は、横軸に倍音の番号をとり、縦軸に求めたパワーをとってグラフにしたものです。横軸は変換式 ( ω_n = 2π (n/T) ) によって(角)周波数に対応します。 このように、横軸に周波数、縦軸にパワーを表示したグラフを「パワースペクトル」と呼びます。 実は「音色」はこのパワースペクトルの形状で決まるのです。 講義ノートの、「倍音(harmonics)」の下に、 -ある周波数及び整数倍周波数の正・余弦波 -音色は倍音の強さ(パワースペクトル)で決まる とメモしておきましょう。 【講義ノート】フーリエ変換 厳密に言うと、フーリエ級数展開を行うためには、元となる音声波形が「理想的な」周期波形である必要があります。すなわち、無限の過去から無限の未来まで一定の形状が正確に繰り返されている必要があるんです。 現実の音声波形が、そんな過去から未来に無限に繰り返しているわけはありませんし、また繰り返しだってそんな正確じゃないかも知れない。 じゃあどうすればいいんだということになるわけですが、実はそのような場合でもちゃんと取り扱う手法が用意されています。それが「フーリエ変換」です。 フーリエ級数の定式化において、周期 T → ∞ の極限をとることによって、波形の周期性の条件を外してしまうのです。 左側の図は、そのような「一回きり」の波形、右側の図はそのパワースペクトルを表示したものです。 周期性を持つ信号のパワースペクトルは、基本周波数とその整数倍の周波数についてのみ値が計算され「線」状のスペクトルになります。これに対し、周期性を持たない信号のスペクトルは、横軸の周波数が離散的にならず連続なスペクトルになります。 講義ノートの、「周期 T→∞ の極限をとる」の下に、 -波形の周期性の条件が外れる -スペクトルが連続になる とメモしておきましょう。 --