授業資料(3)(10/25~) 前回の続き: ファイル形式(WAV, SMF) 音の基本事項 第1回レポート出題 (提出期限: 11/8)

Similar presentations


Presentation on theme: "授業資料(3)(10/25~) 前回の続き: ファイル形式(WAV, SMF) 音の基本事項 第1回レポート出題 (提出期限: 11/8)"— Presentation transcript:

1 授業資料(3)(10/25~) 前回の続き: ファイル形式(WAV, SMF) 音の基本事項 第1回レポート出題 (提出期限: 11/8)
物理的な性質、生理・心理的な性質 音響データの数理的な分析 フーリエ級数、フーリエ変換 離散フーリエ変換(DFT)、高速フーリエ変換(FFT) 自己相関 (LPC, Cepstrum, MFCC) 第1回レポート出題 (提出期限: 11/8)

2 音の基本事項(1) 音とは(主として空気を伝わる)波動現象 耳に達すると、鼓膜・内耳を通じて神経パルスとして脳に伝わる。
その空気の振動は、マイクにより電気信号に変換し(アナログ信号)、さらにディジタル信号に変換できる(A/D変換) 逆にディジタル信号⇒(D/A変換)⇒アナログ信号 ⇒ 空気の振動 (スピーカー)

3 音の基本事項(2) (ある点で受信する)信号は、 時間 t の1変数関数 y=f (t) とみなせる。 重ね合わせの原理
2つの音を同時に鳴らした合成音は、2つの信号関数の和として表わせる。 ⇒ y=f1(t) , y=f2(t) の2音が鳴ったとき:      y=f (t) = f1(t) + f2(t) ⇒ 波動の線形性    波動方程式(1次元):    (実際には非線形成分もある)

4 重ね合わせの原理と線形性 線形偏微分方程式 f, g が解なら、f+g, af (a は定数)も解 (微分演算の線形性による)

5 音の基本事項(3) 重ね合わせの原理 複数の単純な音を重ね合わせることにより、複雑な音を作り出せる。
複雑な音は、より単純な音の重ね合わせとして分析・理解できる。 実際にどのような音として聞こえるかは別問題(生理的・心理的要因も大きい)。 参考: 視覚・光の3原色(RGB)

6 音の基本事項(4) 最も簡単な音: 純音(正弦波) 任意の音は正弦波の重ね合わせとして(原理的には)表わせる。 「音の3要素」
最も簡単な音: 純音(正弦波) 任意の音は正弦波の重ね合わせとして(原理的には)表わせる。 「音の3要素」 音の高さ: 基本周波数に対応 高さのある音は、基本周波数の整数倍の成分(倍音)からなる 音の大きさ: 平均振幅の大きさ(パワー値) 音色: 波形、その時間変化、等々

7 音を「見る」(ピアノ:中央ハ音) 波形データ 周波数スペクトル (基本周波数: 261.1 Hz)
時間→ 周波数→ ←スペクトログラム(ソノグラム)   (上2つを2次元的に組み合わせたもの)

8 音の重ね合わせ 2つの音を同時に鳴らすと、その波形は2つの音の波形の「和」(線形性)
音程が(適度に)離れていれば、2つの音に分離して聞こえる。      Hz (AC#Eの和音)     ( …+1100Hz)     Hz (長3度(4半音))     Hz (長2度(2半音))     Hz (半音(平均律))     Hz     Hz ピアノ音 「うなり」

9 音の重ね合わせ(2) 位相の影響 同じ周波数成分からなる音の場合、 成分同士の位相差はあまり影響しない。 (オーム・ヘルムホルツの法則)
Hz (1) Hz (2) 以下の河原先生(和歌山大)のページも参照

10 参考: Missing Fundamental
基本周波数成分(f0 成分)がなくても f0 の高さの音に聞こえる。 例: f0 =220 Hz  1~16倍音成分  2~16倍音成分  3~16倍音成分

11 音の重ね合わせ(3) 位相が逆の音を重ね合わせる と音は「消える」か? ⇒ yes! (ANC: Active noise control)
  ⇒ スピーカーとヘッドホンの違い ピアノ音と「合成演奏」 ステレオと音像移動

12 無限上昇/下降音階 Shepard tone オクターブ離れた音を次々 重ね合わせる。 1オクターブ上がると元の音に戻る。

13 音の性質 「音の3要素」 物理量と心理量 高さ: ≒基本周波数 強さ: ≒音の振幅(パワー値) 音色: 波形、その他
高さ: ≒基本周波数 強さ: ≒音の振幅(パワー値) 音色: 波形、その他 物理量と心理量 音圧(SPL: sound pressure level)、音のエネルギー    ⇔ ラウドネス loudness(phon, sone) 基本周波数 ⇔ ピッチ(感) (mel → MFCC)

14 音圧 (SPL) とラウドネス (Wikipedia:en)

15 周波数と mel 尺度 (定義式の例: 1000 Hz 基準) 𝑚𝑒𝑙=1000 log 2 𝑓 1000 +1
(Wikipedia:en)

16 音の高さ (1) (以後しばらくは単音について取り上げる) 一定の高さ感(ピッチ感)のある音は、 一定の周期で波形が繰り返される。
この周期を周波数単位で表したものが 「基本周波数」 fundamental (frequency) 楽音: ピッチ感のある音 通常の楽器音 噪音: ピッチ感のない音   打楽器音(シンバル、ドラム、...)、 white noise 中間的: 鐘、銅鑼など

17 音の高さ (3): Fourier 展開・級数 (詳細は授業補足資料 wave2.pdf 等を参照)
楽音(ピッチ感のある音) S(t) は、基本周波数 f の整数倍の周波数の音の重ね合わせ(離散スペクトル)。 2πf =ωとおくと: S(t) = a0 /2 + a1 cos ωt + a2 cos 2ωt + a3 cos 3ωt   an cos nωt        +b1 sin ωt + b2 sin 2ωt + b3 sin 3ωt   bn sin nωt 基本周波数の音: 基音 周波数 nf の音: (基音の)第 n-1 倍音 an, bn : 第 n-1 倍音の振幅

18 音の高さ (2): 周波数成分 「重ねあわせの原理」 2つの音 S1(t) と S2(t) とを同時に鳴らした音 S(t) は S(t) = S1(t) + S2(t) で表される。 最も「単純な」音(純音)は三角関数(サイン波)として 表せる。 S(t) = Asin(2πf t +α) = Asin(ωt +α) (A: 振幅、f: 周波数、ω=2πf : 角周波数、α:位相) 純音でない音を複合音などと言う。

19 音の高さ (3): Fourier 展開・級数 (詳細は授業補足資料参照)
楽音(ピッチ感のある音) S(t) は、基本周波数 f の整数倍の周波数の音の重ね合わせ。 2πf =ωとおくと: S(t) = a0 /2 + a1 cos ωt + a2 cos 2ωt + a3 cos 3ωt   an cos nωt        +b1 sin ωt + b2 sin 2ωt + b3 sin 3ωt   bn sin nωt 基本周波数の音: 基音 周波数 nf の音: (基音の)第 n 倍音 an, bn : 第 n 倍音の振幅

20 波形の例(1) 波形 スペクトル 正弦波 S(t) = sin t 鋸歯状波(きょしじょうは) S(t) = sin t + ½ sin 2t   + 1/n sin nt + ...

21 波形の例(2) 波形 スペクトル 矩形波(くけいは) S(t) = sin t + 1/3 sin 3t   + 1/(2n+1) sin (2n+1) t    + ... 三角波 S(t) = sin t - 1/32 sin 3t   + (-1)n /(2n+1) 2 sin (2n+1) t   + ...

22 音の高さ (4):オクターブ、音階 音の高さは基本周波数の対数関係として知覚される。 基本周波数が等比級数 ⇒ 知覚される高さは等差級数的
音の高さは基本周波数の対数関係として知覚される。 基本周波数が等比級数 ⇒ 知覚される高さは等差級数的 高さが2倍の音同士は「オクターブの関係」にあると言う。 基本周波数 f に対し、2f, 4f, 8f, ..., 2nf の音は 第 1, 2, ..., n オクターブ

23 可聴域とオクターブ

24 音の高さ (4):オクターブ、音階(続き) 周波数が簡単な整数比の音ほど響きがよい。 1:2 オクターブ 2:3 5度(ド・ソ) 3:4 4度(ド・ファ) 4:5 長3度(ド・ミ) ⇒続きは音階、音律で

25 絶対音感 (Absolute Pitch) 基本的には、単独音を聞いて、 その高さ(音名)を答えられる能力
絶対音感保持者は 10~20%(日本人は多い)  ⇔ 相対音感 程度には大きな開きがある。 ピン:  数 Hz 単位で区別ができる。 キリ:  白鍵の音名だけわかる。 特定の楽器音(たとえばピアノ)しかわからないなど。

26 相対音感 (Relative Pitch) 音同士の相対的な高さ(音程)がわかる。 じゃ、どの程度までわかるか?
たいていの人は(精度の差はあれ)、わかる。 わからない ⇒ いわゆる「音痴」 音色や音高にはよらない。 じゃ、どの程度までわかるか? C-G(ドーソ)  ピアノ   バイオリン   合成音 Hz   

27 絶対音感と相対音感 なぜ普通の人は絶対音感がないのか。 逆になぜ相対音感はあるのか。
コンピュータで音高解析すると、必然的に絶対音高情報は得られる。 人間でも、内耳等の前段階処理では絶対音高情報が抽出されている。 一般的な絶対音感はなくても、何度も聞いたりしてよく知っている音・曲の場合は、音高をかなり正確に再現できる。  ⇒ 音の高さの「記憶」は存在しうる?

28

29 音響データの分析・合成 音響信号データから、もとの音の大域的性質を表す特徴量を抽出する。
とりわけ音の高さ(音高)、強さに関する情報が基本的かつ重要。 高さ: 音の周期的な時間変化 強さ: 音のパワー値(振幅の2乗平均に対応) さらに楽器音識別、音源定位、音源分離等。

30 分析方法の種類 時間領域での分析(波形データの分析) 周波数領域での分析(スペクトルの分析) 音のアタック部分、時間変化の分析
波形自体の直接的な分類・比較はあまり意味がない(位相差が聴取にあまり影響しない) 周波数領域での分析(スペクトルの分析) 波形データのフーリエ変換結果(スペクトル)を用いた分析 周波数情報についての精密な情報が得られる

31 実際のスペクトル抽出・音響解析 ハードウェア: バンドパスフィルタ等 ソフトウェア(アルゴリズム) (その他にも各種の解析手法がある。)
ハードウェア: バンドパスフィルタ等 ソフトウェア(アルゴリズム) ディジタルデータ(離散データ)が対象なので、 離散フーリエ変換(DFT: Discrete Fourier Transform)になる。 高速フーリエ変換: FFT (Fast Fourier Transform) Cooley & Tukey, 1965 (その他にも各種の解析手法がある。)

32 音の成り立ち(単音) 時間的区分 時間変化 立ち上がり部分(アタック attack) 持続部分 減衰音(ピアノ、打楽器等)
楽器音の識別、 音声の子音の識別など 持続部分 音の高さ。ある程度定常的だが、 時間的な変化もある 時間変化 減衰音(ピアノ、打楽器等) 持続音(管楽器、弦楽器等) ピッチの時間変化 ヴィブラート(演歌のこぶしなども) 音高変化: chirp 音、グリッサンド ピアノ リコーダー

33 “ADSR” (エンベロープ形状の図式) もともとはシンセサイザーのパラメタについて言われた。 実際の楽器音の特徴づけなどにも転用される
Attack(立ち上がり) Decay(減衰) Sustain (保持) Release (開放、残響) 実際の楽器音の特徴づけなどにも転用される エンベロープ(envelope: 包絡線) 時系列データ、スペクトルなどについて、細かい変動を平滑化して大まかな形状を取り出したもの

34 重ね合わせによる合成の例 矩形波(n=11, n=103) Gibbs 現象: S(t) の不連続部分でスパイクが生じる。

35 周波数分布(離散スペクトル) 原理(三角関数の直交性) S(t) = a0 /2 + a1 cos ωt + a2 cos 2ωt + a3 cos 3ωt   an cos nωt         +b1 sin ωt + b2 sin 2ωt + b3 sin 3ωt   bn sin nωt (1) (2.1) πan = (2.2) πbn = (一般には連続分布(フーリエ変換)になる。)

36 参考:フーリエ級数の収束性 S(t) が前スライド (1) のように表せる場合、 S(t) は f (2πf =ω)を基本周波数とする周期関数である。   ⇒ これはまあ、明らか 問題はその逆: 任意の周期関数は sin, cos の級数として表せるか? 連続関数の場合に成り立つことは比較的容易 問題は不連続関数の場合 これについては、19世紀数学のかなりの部分がこの解明に関わっている大問題

37 複素フーリエ級数 オイラーの定理: を用いると、cos, sin の組と複素指数関数を相互に行き来できる。
数学的には複素指数関数のほうが扱いやすいので、フーリエ級数を複素数で表すことも多い。さらにフーリエ変換(後述)は複素数で表すのが普通。 (詳しくは授業資料 3.2 等を参照) 

38 フーリエ変換(導入) 基本周波数が ω でない(場合によっては周期的でさえない)音 S(t) について、(2.1, 2.2) によりフーリエ係数を計算するとどうなるか ⇒ωが十分細かければ、S(t) の周波数成分の付近にピークが現れる(デモ、資料参照) 周期 T→∞ (ω→0)の極限をとれば、周波数成分分布が得られる ⇒「フーリエ変換」

39 フーリエ変換(連続スペクトル) 信号関数 S(t) に対し、次式で表される S*(ω) を S(t) の「フーリエ変換」という。
S*(ω) は S(t) の角周波数 ω 成分の大きさを表す。( S*(ω)自身は複素数値なので、実際にはその絶対値をとった |S*(ω)| が大きさを表す。) 実際の計算では、S(t) は有限範囲でしか与えられず、上も有限範囲の積分となる。

40 離散データに対するフーリエ変換 「離散的なフーリエ変換」 離散フーリエ変換(DFT) 高速フーリエ変換(FFT)
(連続)フーリエ変換の ω を離散値 ωn にする 離散フーリエ変換(DFT) 上の特別な場合: ωn をデータ数に連動させて決める(データ数の逆数の整数倍) ωn は有限通り(周期性が生じる) 高速フーリエ変換(FFT) DFT の計算を高速に行うアルゴリズム 基本はデータ数が N=2n のように2のべき乗で表される場合

41 「離散的なフーリエ変換」 (フーリエ級数とは異なることに注意) 信号データ S(t) が離散的: Sk (連続な)フーリエ変換の離散近似
(2.1) (2.2) ディジタル信号のコンピュータによる処理に相当

42 離散化(標本化)による影響 標本化定理: サンプリング周波数 F の半分の周波数成分までは正確に再現できる。
それ以上の周波数成分はどうなるか? サンプリングと信号データの「同期」 (例えば蛍光灯(やストロボ)で扇風機を見た場合に、周期により逆向きにゆっくり回って見える現象など)

43 離散化(標本化)による影響 F=1000 Hz に対し f =495 Hz 青線: f = 5 Hz
(サンプリングレートを 下げて行った場合の例) うなりとの違いは?

44 離散フーリエ変換(DFT) フーリエ変換の離散化。 (discrete Fourier Transform)
有限個の離散的な信号データ x0, x1,..., xn-1 に対して、データ数分を1周期とする(複素)フーリエ級数展開を適用: 結果は(複素)フーリエ係数値 fj このとき fj にも周期性がある(上の j の範囲だけしか値が得られない)。 この計算は行列演算として実現できる。

45 高速フーリエ変換(FFT) 離散フーリエ変換(DFT)を効率的に計算するためのアルゴリズム (Fast Fourier Transform)
Cooley & Tukey 1965 による。 原理は、行列計算で同じ計算になる部分をうまくまとめて、1回の計算で済むようにすること。 これにより計算量が通常の O(N2) から O(Nlog N) 程度にまで減少する。 DFT の計算だけでなく、応用範囲が広い。 基本的には N=2n の場合に適用されるが、拡張により一般の N にも利用可能。

46 DFT/FFT で得られる値 右図は FFT の結果 (複素数値の絶対値) 左右対称になっている のは、複素共役な成分の 絶対値が等しいから
したがって片側半分の情報量しかない

47 DFT/FFT で得られる値 周波数分解能: データ点数に依存。
周波数分解能: データ点数に依存。 サンプリングレート Fs、データ点数 N のとき、得られる周波数成分は Fs/N 単位。 例えば Fs = Hz、N=2048 の場合、    44100/2048 = 21.5 Hz おきの値になる。 窓幅(=データ点数)を大きくすればより精密な周波数値が得られるが、一方では信号の時間変化を平均化して取り込んでしまう。(デモ) つまり周波数精度と時間精度とは相補的関係にある(=「不確定性原理」)。

48 STFT, 窓関数 FFT は短い窓幅に適用するのが普通。 (N = 1024, 2048 等)   STFT (Short Term Fourier Transform) 窓の両端では変換結果が歪むことになる。 主として周波数分解能改善のため、様々な窓関数を乗じてから FFT を行う。 矩形窓(原データのまま) Hanning 窓 Hamming 窓 Gaussian 窓 等々

49 基本周波数の抽出 得られた周波数スペクトルから、 基本周波数 f0 を抽出する。
実際には周波数スペクトルを得ることより、こちらのほうがいろいろ難しい点が多い。 f0 の求め方: まずピーク値(極大値)を求める。 最大点が f0 ..... とは限らない。 フィルタの利用(櫛形フィルタ、ガウシアンフィルタ) ケプストラム(再フーリエ変換)

50 自己相関 (Autocorrelation)
時間領域での周波数抽出法。 (ほとんど周期的な)信号 S(t) を、時間的に少しずらした S(t+τ)と重ねて一致度を見る。 τが周期(の整数倍)であれば一致度が大きく、そうでなければ一致度は低い(逆位相であれば負の大きな値になる)と予想される。 ピークとなる正のτの最小値が周期に対応。 (基本周波数はその逆数) 離散データでは1点ずつずらして重ね合わせれば(乗算すれば)よい。  ⇒デモ

51 基本周波数の抽出(続) フィルタ ケプストラム 特定の周波数帯域だけを通す関数(フィルタ関数)をずらしながら乗じて、極大値となる点を求める。
周波数方向の対数値をとるとオクターブごとに周期性がある。 ケプストラム スペクトル自体に周期性がある: 周波数方向を対数値にとったスペクトルにフーリエ変換をかける。最大ピークが f0 になる。 これを応用した MFCC (Mel frequency cepstrum coefficients) が実用でも多く利用されている。

52 残された問題 f0 決定の問題点: オクターブエラーなど 複数音が同時に鳴っている場合(音源分離) アタックなど、非定常部分、時間変化の解析
それぞれの音のスペクトルが重なっている。 原理的には分離は不可能、しかし様々な手掛かりはある。 既知のスペクトル分布の利用 アタック部分の情報 音の時間変化(のパターン) アタックなど、非定常部分、時間変化の解析

53 参考:歌声分析・合成 音声では、母音に応じて特定の周波数成分が強くでる。これを「フォルマント(formant)」 と言う。
フォルマントをうまく合成すれば音声らしく 聞こえる。 子音の合成はもっと難しい。 Singer’s formant: 主にクラシック歌手に 特有の歌声のフォルマント(3000Hz 付近)

54 歌唱のフォルマント(テノール) A E I O U 800-1200 Hz 400-600 Hz 2200-2600 Hz

55 【参考】 時間変化のある音 ベースとなる関数として正弦波: 𝑦 𝑡 =𝐴 sin (2𝜋𝑓𝑡+𝛼) をとる(矩形波、鋸歯状波等でもよい)。
【参考】 時間変化のある音 ベースとなる関数として正弦波: 𝑦 𝑡 =𝐴 sin (2𝜋𝑓𝑡+𝛼) をとる(矩形波、鋸歯状波等でもよい)。 簡単なモデルとして、振幅、周波数(&位相)を時間の関数とする 𝑦 𝑡 =𝐴 𝑡 sin 2𝜋𝐹 𝑡 A(t), F(t) をうまく定義することによって、大きさ・高さが時間変動する音を作りたい。

56 音量の時間変化 A(t) を時間変化させる 例えば 𝐴 𝑡 = cos 2𝜋∆𝑓𝑡 とすると: 𝑦 𝑡 =𝐴 𝑡 sin 2𝜋𝑓𝑡
しかし元の音高(周波数)は保たれるか? 例えば 𝐴 𝑡 = cos 2𝜋∆𝑓𝑡 とすると:  𝑦 𝑡 =𝐴 𝑡 sin 2𝜋𝑓𝑡     =cos⁡2𝜋∆𝑓𝑡 sin 2𝜋𝑓𝑡     = sin 2𝜋(𝑓+∆𝑓)𝑡+ sin 2𝜋(𝑓−∆𝑓)𝑡 周波数スペクトルには周期 f は含まれない

57 音高の時間変化 (1) F(t) を時間変化させる 例えば: 𝑦 𝑡 =𝐴 sin 2𝜋𝑓 𝑡 2 =𝐴 sin 2𝜋(𝑓𝑡)𝑡
音高の時間変化 (1) F(t) を時間変化させる 「瞬間周波数」は? 例えば:   𝑦 𝑡 =𝐴 sin 2𝜋𝑓 𝑡 2 =𝐴 sin 2𝜋(𝑓𝑡)𝑡  は時刻 t においてどのような高さになるか? 時刻 t での位置が f (t) のとき速度 𝑣(𝑡) は 𝑣 𝑡 = 𝑑𝑓(𝑡) 𝑑𝑡 、逆に 𝑓 𝑡 =𝑣 𝑡 𝑣 𝑡 𝑑𝑡 同じことが「瞬間周波数にも言える

58 音高の時間変化 (2) 時刻 𝑡 における瞬間周波数が 𝑓(𝑡) となる音をモデルに当てはめると:
音高の時間変化 (2) 時刻 𝑡 における瞬間周波数が 𝑓(𝑡) となる音をモデルに当てはめると:   𝑦 𝑡 =𝐴 sin 2𝜋𝐹(𝑡) =𝐴 sin (2𝜋 0 𝑡 𝑓 𝑡 𝑑𝑡 ) 例:1秒間に1オクターブ上がる音(線形変化) 𝑓 𝑡 = 1+𝑡 𝑓 0 𝐹 𝑡 = 0 𝑡 𝑓 𝑡 𝑑𝑡= 𝑓 0 0 𝑡 1+𝑡 𝑑𝑡= 𝑓 0 𝑡+ 𝑡 2 2 問題: 上の 𝑦(𝑡) の STFT(短時間フーリエ変換)はどうなるか?

59 【参考】 FM 合成(FM 音源) 「オペレータ」 𝐹𝑀 𝑡 = 𝐴sin (2𝜋𝑓𝑡+𝛽 sin 𝑔𝑡 )
複数のオペレータを直列・並列に合成して波形を生成する 簡単な機構で複雑な音色を生成できる John Chowning の発明を Yamaha が実用化 特に Yamaha DX-7 は大ヒットとなり一世を風靡


Download ppt "授業資料(3)(10/25~) 前回の続き: ファイル形式(WAV, SMF) 音の基本事項 第1回レポート出題 (提出期限: 11/8)"

Similar presentations


Ads by Google