カリキュラム構成
1. 放物線式と放物線型音量変化(エンベロープ)
- 目的: 二次関数と時間変化の関係を理解し、音量包絡の数学モデルを作る
- 関連: 数学(二次関数)、
放物線式と放物線型音量変化(エンベロープ)
- 放物線式(Parabola)
基本形: y = a x^2 + b x + c
頂点形式: y = a (x - h)^2 + k
変換関係: h = -b/(2a), k = c - b^2/(4a)
開き: a>0 上に開く, a<0 下に開く
対称軸: x = h
エンベロープの主パラメータ(解説)
形/モード
AD: Attack→Decay の2段。短いワンショット音(クリック、パーカッション)向け。
AR: Attack→Release の2段。キーを離した瞬間にReleaseへ。ゲート長で音の長さを決めやすい。
ASR: Attack→Sustain→Release。演奏中は一定レベルで保持(Sustain Levelを別途指定)。
ADSR: Attack→Decay→Sustain→Release。最も一般的。Decayで最大からSustain Levelへ落とし、ノートオフでRelease。
-
放物線型エンベロープ(対称ワンショット)
時間 t∈[0, T], 最大振幅 Amax
A(t) = Amax * ( 1 - 4*(t/T - 1/2)^2 ), 0≤t≤T
A(t) = 0, 上記以外
特徴: t=0, T で A=0, t=T/2 で A=Amax, 立上げ/立下げが滑らか -
放物線型エンベロープ(非対称2区間: アタック/ディケイ)
立上り時間 Ta, 減衰時間 Td, 最大振幅 Amax, サスティン比 S(0≤S≤1), τ = t - Ta
アタック(0≤t≤Ta):
A(t) = Amax * (t/Ta)^2
ディケイ(0≤τ≤Td):
A(t) = Amax - (Amax - SAmax) * (τ/Td)^2
(開始 A= Amax, 終了 A= SAmax) -
放物線型エンベロープ(ADSR: Attack-Decay-Sustain-Release)
Ta, Td, S, R を用い、ノートオフ時刻を toff とする。
Attack(0≤t≤Ta):
A(t) = Amax * (t/Ta)^2
Decay(0≤τ≤Td, τ=t-Ta):
A(t) = Amax - (Amax - SAmax) * (τ/Td)^2
Sustain(t≥Ta+Td かつ t<toff):
A(t) = SAmax
Release(0≤u≤R, u=t - toff):
A(t) = S*Amax * (1 - u/R)^2
(終端 u=R で 0 に到達) -
正規化表現(時間を u=t/T で無次元化)
対称型: A(u) = Amax * (1 - 4*(u - 1/2)^2), 0≤u≤1 -
クリップ回避(負値防止)
必要なら A(t) = max(0, A(t)) を適用 -
雑音抑制の要点
放物線型は端点や開始時の傾きが 0(例: アタック式)になりやすく、クリックノイズ低減に有効
2. 解の公式と直列並列抵抗
- 目的: 二次方程式の解法と回路の等価抵抗計算を習得
- 関連: 数学(代数)、電気回路
2. 解の公式と直列並列抵抗
目的
二次方程式の解法(解の公式)と、電気回路における直列・並列接続の等価抵抗計算を習得する。
関連
数学(代数)、電気回路
(1) 二次方程式の解の公式
一般形:
a x^2 + b x + c = 0 (a ≠ 0)
解の公式:
x = (-b ± √(b^2 - 4ac)) / (2a)
-
判別式 D = b² - 4ac
- D > 0:異なる実数解 2つ
- D = 0:重解(1つの実数解)
- D < 0:虚数解(複素数解)
-
平方完成で導出可能:
- aで割る
- (b/2a)² を加えて平方完成
- 平方根を取って移項
(2) 直列抵抗の等価抵抗
電流経路が一つ → 抵抗は加算される:
R_eq = R1 + R2 + ... + Rn
例:R1=100Ω, R2=200Ω →
R_eq = 300Ω
(3) 並列抵抗の等価抵抗
電圧が共通 → 逆数の和で計算:
1 / R_eq = 1 / R1 + 1 / R2 + ... + 1 / Rn
2本の場合:
R_eq = (R1 * R2) / (R1 + R2)
例:R1=100Ω, R2=200Ω →
R_eq ≈ 66.67Ω
(4) 融合例(回路設計や解析で出現)
ある条件から次の式が得られたとする:
R^2 - 300R + 20000 = 0
-
判別式:
D = 300² - 4×1×20000 = 90000 - 80000 = 10000 -
解:
R = (300 ± √10000) / 2 = (300 ± 100) / 2 → R1 = 200Ω, R2 = 100Ω
3. 距離と音と三角比
- 目的: 三角比を使った音源位置推定や距離計算を学ぶ
- 関連: 数学(三角比)、音響測位
4. 最小二乗法データ分析とアンプの増幅と比例と連立方程式
- 目的: 最小二乗法によるデータ近似、比例関係、連立方程式解法を学ぶ
- 関連: 統計学、線形代数、電子回路
3. 距離と音と三角比
目的
三角比を使った音源位置推定や距離計算を学ぶ。
関連
数学(三角比)、音響測位
(1) 基本三角比
直角三角形において、角度 θ と辺の比の関係:
sin θ = 対辺 / 斜辺
cos θ = 隣辺 / 斜辺
tan θ = 対辺 / 隣辺
(2) 距離計算(例:音響測位)
音速 v [m/s]、時間差 Δt [s] がわかれば、マイク間距離差 Δd:
Δd = v × Δt
角度 θ はマイク間距離 L を用いて:
sin θ = Δd / L
(3) 応用例
- ステレオマイクによる音源方向推定(TDOA: Time Difference of Arrival)
- コンサートホールの反射音解析
- ソナー測距、ドップラー効果補正
4. 最小二乗法データ分析とアンプの増幅と比例と連立方程式
目的
最小二乗法によるデータ近似、比例関係、連立方程式解法を学ぶ。
関連
統計学、線形代数、電子回路
(1) 最小二乗法(線形近似)
観測値 (xi, yi) に対し、誤差二乗和 S を最小にする直線 y = ax + b を求める:
S = Σ (yi - (a xi + b))²
a, b の解は連立方程式で導かれる:
a = [ nΣ(xy) - Σx Σy ] / [ nΣ(x²) - (Σx)² ]
b = [ Σy - a Σx ] / n
(2) 比例関係とアンプ増幅
比例式:
y ∝ x → y = kx
アンプの電圧増幅度(線形領域):
Av = Vout / Vin
データから k(または Av)を求める場合にも最小二乗法が利用できる。
(3) 連立方程式との関係
複数の未知数を含む場合、行列形式で表す:
A x = b
解は逆行列(A⁻¹)が存在すれば:
x = A⁻¹ b
最小二乗解(過剰方程式系)は:
x = (Aᵀ A)⁻¹ Aᵀ b
(4) 応用例
- センサのキャリブレーション(入力-出力関係の直線近似)
- アンプ回路の利得測定
- 抵抗・コンデンサ値推定
- マルチマイク音響解析(位置推定のためのパラメータ推定)
5. 反比例と周期と周波数
目的
周期運動と反比例関係の理解、周波数計算を行う。
関連
数学(関数)、波動
(1) 反比例関数
y = k / x (k は比例定数)
x が大きくなると y は小さくなり、x が小さくなると y は大きくなる。
(2) 周期と周波数の関係
周期 T [s] と周波数 f [Hz] は反比例関係にある:
f = 1 / T
T = 1 / f
例:T = 0.01 s → f = 100 Hz
(3) 応用例
- 振り子の往復運動(単振動)
- 弦の振動(弦長と音高の関係)
- サンプリング周期とサンプリング周波数の関係(AD変換)
6. 指数関数と対数関数とdBと電圧と電力と音圧
目的
対数スケール(dB)と物理量の変換式を理解する。
関連
数学(指数・対数)、音響
(1) 指数関数
y = a^x (a > 0, a ≠ 1)
例:成長・減衰、RC回路の充放電、音の減衰モデル。
(2) 対数関数
x = log_a(y) ⇔ y = a^x
対数は「指数の逆演算」であり、広い範囲の値を扱いやすくする。
(3) dB(デシベル)の定義
電力比に対して:
G[dB] = 10 * log10(P2 / P1)
電圧比・音圧比に対して(同じインピーダンス条件):
G[dB] = 20 * log10(V2 / V1)
(4) dB ↔ 倍率変換
-
倍率 → dB:
Av = 10倍 → 20*log10(10) = 20 dB -
dB → 倍率:
20 dB → 10^(20/20) = 10倍
(5) 音圧レベル(SPL)
基準音圧 p0 = 20 μPa(可聴閾値)に対し:
SPL[dB] = 20 * log10(p / p0)
例:p = 0.2 Pa → SPL = 20*log10(0.2 / 20e-6) ≈ 80 dB
(6) 応用例
- オーディオ機器のゲイン設定
- 騒音測定(音圧レベル)
- マイク感度やスピーカ能率の評価
7. 音楽と数列
目的
音楽の構造(音階、リズム、和音進行など)と数学の数列の関係を理解する。
関連
数学(数列・級数)、音楽理論
(1) 音階と等比数列
-
12平均律では、隣り合う半音の周波数比は r = 2^(1/12)
-
音階の周波数は等比数列で表される:
f_n = f_0 × r^nf_0:基準音(例:A4 = 440Hz)、n:半音数(上方向を正、下方向を負)
-
例:A4(440Hz)の長三度上(4半音)は
f = 440 × (2^(1/12))^4 ≈ 554.37 Hz
(2) リズムと等差数列
- BPM(拍/分)が一定なら、拍のタイミングは等差数列で表せる。
例:BPM = 120(1拍 = 0.5秒)
拍タイミング列:0, 0.5, 1.0, 1.5, ... (公差 0.5 秒)
(3) 和音構成と整数比列
- 純正律の和音は周波数比が小さな整数比になる。
例:長三和音(根音:C) → 4:5:6(C:E:G) - 小さな整数比ほど倍音構造が重なり、安定感のある響きになる。
(4) 数列とフレーズ構造
- メロディの音高変化が等差数列(一定の音程で上昇/下降)になる場合、アルペジオやスケール練習の形になる。
- 音量変化やテンポ変化が等比数列や指数関数的変化をすると、フェードイン/フェードアウトやリタルダンドが自然に感じられる。
(5) 応用例
- MIDIシーケンスの自動生成(数列で音高・長さ・強さを制御)
- フラクタル音楽:フィボナッチ数列や黄金比を音高やリズムに適用
- ポリリズム:異なる等差数列(拍間隔)を重ねる
8. ノイズとは?
目的
熱雑音、量子雑音、環境ノイズの種類と対策を理解する。
関連
電子回路、音響工学
(1) 主なノイズの種類
-
熱雑音(ジョンソン・ナイキスト雑音)
抵抗や導体の熱運動による電圧揺らぎ。
電圧の実効値:Vn_rms = √(4 k T R B)k: ボルツマン定数、T: 絶対温度[K]、R: 抵抗値[Ω]、B: 帯域幅[Hz]
-
ショットノイズ
電流が粒子的に流れることで生じる電流の揺らぎ。主に半導体素子で発生。 -
1/fノイズ(フリッカーノイズ)
周波数が低いほど強くなる成分。トランジスタや抵抗で顕著。 -
環境ノイズ
電源ハム(50/60Hz)、電磁波干渉、機械的振動、風雑音など。
(2) 対策例
- シールド(導電性ケース、ケーブルシールド)
- アース接続(接地)
- ローパス/バンドパスフィルタで帯域制限
- 配線のツイストペア化や短縮
- 発生源からの距離を取る
9. サイン波とディストーション
目的
正弦波信号と波形歪み(ディストーション)の原理を学ぶ。
関連
信号処理、電子回路
(1) サイン波の式
x(t) = A sin(2π f t + φ)
A: 振幅、f: 周波数[Hz]、φ: 位相[rad]
(2) ディストーションの種類
- 線形歪:波形の形は変わらないが、振幅や位相が変わる(例:フィルタ通過時の位相遅れ)。
- 非線形歪:波形形状が変わり、高調波成分や相互変調が発生。
(3) 非線形歪の例
- クリッピング:信号が回路の最大出力電圧を超えて平坦化。ギターアンプの歪みなど。
- ソフトクリップ:滑らかに飽和する非線形関数(tanhなど)。
- ハードクリップ:一定値で急激に切る。
(4) 測定指標
-
THD(Total Harmonic Distortion):
THD = √(Σ Vn²) / V1V1: 基本波電圧、Vn: 高調波電圧
10. オイラーの公式と円の方程式
目的
複素数による波の表現、円の幾何学的性質を学ぶ。
関連
数学(複素数)、物理(波動)
(1) オイラーの公式
e^(jθ) = cos θ + j sin θ
-
波形解析では、sin波やcos波を複素指数関数で表せる:
A sin(ωt + φ) = Im{A e^(j(ωt + φ))}
(2) 円の方程式
中心 (h, k)、半径 r の円:
(x - h)² + (y - k)² = r²
(3) 関連性
- 複素平面上で |z| = r は半径 r の円を表す。
- e^(jθ) の軌跡は単位円(半径1、中心原点)。
- 波の位相を角度として円運動で表すと、正弦波と余弦波の関係が直感的に理解できる。
11. AM/FM変調と復調
目的
振幅変調(AM)と周波数変調(FM)の原理、および復調手法を学ぶ。
関連
通信工学
(1) AM(Amplitude Modulation:振幅変調)
- 搬送波の振幅を信号波形に応じて変化させる方式
- 一般式:
s(t) = [1 + m(t)] cos(2π f_c t)
ここで m(t) は変調信号、f_c は搬送波周波数 - 特徴:構造が単純、帯域効率は低め
(2) FM(Frequency Modulation:周波数変調)
- 搬送波の瞬時周波数を信号で変化させる方式
- 一般式:
s(t) = cos[2π f_c t + k_f ∫ m(τ) dτ]
k_f は周波数感度 - 特徴:耐雑音性が高い、帯域は広くなる
(3) 復調
- AM復調:包絡線検波、同期検波
- FM復調:周波数弁別器、PLL(位相同期回路)
12. AD変換とサンプリング定理
目的
アナログ信号のデジタル化原理とサンプリング条件を理解する。
関連
デジタル信号処理
(1) AD変換(Analog-to-Digital Conversion)
-
手順:
- サンプリング(一定間隔で信号値取得)
- 量子化(離散的な振幅値に丸める)
- 符号化(ビット列に変換)
(2) サンプリング定理(Nyquist–Shannon)
- サンプリング周波数 f_s は信号の最大周波数 f_max の2倍以上必要
f_s ≥ 2 f_max - 違反するとエイリアシング(折り返し歪み)が発生
13. 波とFFT
目的
フーリエ変換を用いて時間領域信号の周波数解析を行う。
関連
数学(フーリエ解析)、音響信号処理
(1) 波の表現
- 正弦波:
x(t) = A sin(2π f t + φ) - 任意波形:正弦波の和で表現可能(フーリエ級数)
(2) FFT(Fast Fourier Transform)
- 高速アルゴリズムで離散フーリエ変換(DFT)を計算
- 時間領域信号 → 周波数成分(振幅・位相)
(3) 応用
- 音声スペクトル分析
- 振動解析
- 周波数フィルタ設計
14. システムとラプラス変換と微分器と積分器(微分積分)
目的
ラプラス変換を用いたシステム解析、および微分・積分演算回路の動作を理解する。
関連
制御工学、電子回路
(1) ラプラス変換
- 定義:
F(s) = ∫[0→∞] f(t) e^{-st} dt - 微分 → s倍、積分 → 1/s 倍として表現できる
- 線形時不変システム(LTI)の解析に有効
(2) 微分器・積分器回路
- 微分器:入力信号の変化率を出力
(例:CR回路で高周波成分を強調) - 積分器:入力信号の累積値を出力
(例:RC回路で低周波成分を強調)
(3) 応用
- 制御系の特性解析(伝達関数 G(s))
- 信号処理(ハイパス・ローパスフィルタ)
- 状態方程式から周波数応答への変換
(1) ラプラス変換の基本
時刻 t の関数 f(t) を複素数変数 s 領域に写像する:
F(s) = ∫[0→∞] f(t) e^(-st) dt
- s = σ + jω
- 時間領域の微分・積分を代数的に扱えるようになる。
(2) 微分器(Differentiator)
時間領域:
y(t) = k * df(t)/dt
ラプラス領域:
Y(s) = k s F(s)
回路例:コンデンサと抵抗を組み合わせたCR回路で近似。
(3) 積分器(Integrator)
時間領域:
y(t) = (1/k) ∫ f(t) dt
ラプラス領域:
Y(s) = (1/(k s)) F(s)
回路例:抵抗とコンデンサを反転入力のオペアンプに接続した構成。
(4) システム解析での利点
- 微分方程式モデルを代数方程式に変換
- 伝達関数 G(s) = 出力/入力 で表現
- 周波数応答解析、安定性判定(極・零点)に利用可能
15. ローパスフィルタとハイパスフィルター
目的
周波数選択回路の特性と設計を学ぶ。
関連
信号処理、回路設計
(1) ローパスフィルタ(LPF)
低周波成分を通し、高周波成分を減衰させる。
一次RCフィルタの伝達関数:
H(s) = 1 / (1 + sRC)
-
カットオフ周波数:
fc = 1 / (2πRC)
(2) ハイパスフィルタ(HPF)
高周波成分を通し、低周波成分を減衰させる。
一次RCフィルタの伝達関数:
H(s) = sRC / (1 + sRC)
- カットオフ周波数はLPFと同じ式。
(3) 特性比較
- LPF:オーディオの高域ノイズ除去、アンチエイリアシング
- HPF:低域ノイズやドロップアウト除去、マイクのポップノイズ対策
(4) 設計上の注意
- 実際の素子には寄生成分があり、理想特性からずれる
- 多段化やアクティブ回路で高次フィルタ(バターワース、チェビシェフ等)を実現
- デジタルフィルタ設計では離散化(双一次変換など)を行う
16. ボード線図
目的
ゲインと位相の周波数特性を可視化する方法を習得する。
関連
制御工学、回路解析
(1) 定義
ボード線図(Bode diagram)は、伝達関数 $G(s)$ の周波数応答を、対数周波数軸に対して
- ゲイン(利得):$20 \log_{10} |G(j\omega)|$ [dB]
-
位相:$\arg(G(j\omega))$ [°]
として描いたグラフ。
(2) 作成手順
- 伝達関数 $G(s)$ を $s = j\omega$ に置換
- 周波数 $\omega$ を対数スケールで取り、各点の |G| と位相を計算
- ゲイン線図と位相線図を縦に並べて表示
(3) 特徴
- 直線近似(20 dB/dec や 40 dB/dec の傾き)で直感的に理解可能
- 系の安定性解析(ゲイン余裕、位相余裕)の計算に利用
(4) 応用例
- アンプ回路の周波数応答解析
- 制御系設計(PID調整)
- フィルタのカットオフ周波数・ロールオフ特性確認
17. 極限と増幅無限大の時のフィードバック制御
目的
オペアンプや制御系の極限動作を理解する。
関連
制御工学、電子回路
(1) 理想オペアンプの極限モデル
- 開ループゲイン $A \to \infty$
- 入力インピーダンス $\to \infty$(入力電流 0)
- 出力インピーダンス $\to 0$(理想電圧源)
(2) 負帰還時の性質(A→∞の極限)
負帰還回路の閉ループ利得:
Acl = A / (1 + Aβ)
-
A→∞ では:
Acl → 1 / β→ 利得は帰還回路の比率 β で決まる(素子誤差の影響が小さい)
(3) 制御系の極限動作
- 開ループゲインが非常に大きい場合、出力は目標値とほぼ等しくなる(定常偏差 ≈ 0)
- 位相遅れや遅延があると、A が大きすぎても発振する可能性がある(安定性の限界)
(4) 応用例
- 精密電圧基準回路(負帰還による安定化)
- サーボモータの位置制御(高ゲインで高精度追従)
- センサ信号増幅(高ゲインで微小信号を計測)
では「18. 畳み込み積分」を、信号処理・数学(積分)に関連づけた整理を示します。
18. 畳み込み積分
目的
入力信号 $x(t)$ とシステムのインパルス応答 $h(t)$ から、出力信号 $y(t)$ を時間領域で計算する方法を理解する。
畳み込み積分は、LTI(線形時不変)システムの解析・設計の基本であり、アナログ回路やデジタル信号処理、音響や画像処理にも応用される。
関連分野
- 信号処理:フィルタリング、信号整形、システム解析
- 数学(積分):積分計算、関数のシフト・反転操作
- 制御工学:システム応答解析、ステップ応答計算
- 音響・画像処理:リバーブ(残響)、ブラー、エッジ検出などの演算原理
基本式(連続時間)
$$
y(t) = \int_{-\infty}^{\infty} x(\tau) \cdot h(t - \tau) , d\tau
$$
- $x(\tau)$:入力信号
- $h(t - \tau)$:時間シフトされたインパルス応答(反転+シフト)
- $y(t)$:出力信号
- 積分範囲は信号の有限時間性により短縮可能
直感的な意味
- $h(t)$ を左右反転させて $h(-\tau)$ にする
- それを $t$ だけ平行移動する(シフト)
- $x(\tau)$ と重なった部分を掛け合わせて足し合わせる(積分)
離散時間版(デジタル信号処理)
$$
y[n] = \sum_{k=-\infty}^{\infty} x[k] \cdot h[n - k]
$$
物理的な例
- 音響:入力音に対して部屋の残響応答(インパルス応答)を畳み込み → 残響付き音声を生成
- 画像処理:ぼかしフィルタのカーネルと画像ピクセル値を畳み込み → ブラー効果
- 回路:電圧入力と回路のインパルス応答で出力電圧波形を計算
Python実装例(畳み込み積分の可視化)
# Program Name: convolution_demo.py
# Creation Date: 20250812
# Overview: Demonstrate convolution in time domain for a simple signal and system response.
# Usage: Run in Python or Colab to visualize convolution process.
import numpy as np
import matplotlib.pyplot as plt
# 時間軸
t = np.linspace(-1, 5, 600)
dt = t[1] - t[0]
# 入力信号 x(t) = rectangular pulse
x = np.where((t >= 0) & (t <= 1), 1.0, 0.0)
# インパルス応答 h(t) = exponential decay
h = np.where(t >= 0, np.exp(-t), 0.0)
# 畳み込み(数値積分)
y = np.convolve(x, h, mode='full') * dt
t_conv = np.linspace(t[0] + t[0], t[-1] + t[-1], len(y))
# プロット
plt.figure(figsize=(10,6))
plt.subplot(3,1,1)
plt.plot(t, x, label='x(t)')
plt.legend(); plt.grid(True)
plt.subplot(3,1,2)
plt.plot(t, h, label='h(t)')
plt.legend(); plt.grid(True)
plt.subplot(3,1,3)
plt.plot(t_conv, y, label='y(t) = x*h')
plt.legend(); plt.grid(True)
plt.tight_layout()
plt.show()
19. サイン波純音・サイン波減衰の式・Karplus–Strong法・弦振動方程式・ファミコン音
目的
弦楽器音合成の物理モデルや減衰特性、デジタル音源方式(ファミコン音)を理解する。
関連
音響合成、波動方程式、信号処理
(1) サイン波純音
- 基本形:
x(t) = A sin(2π f t + φ)
A:振幅
f:周波数[Hz]
φ:初期位相[rad]
- 純音は倍音成分を含まず、周波数スペクトルに1本のピークしか持たない。
(2) サイン波の減衰(指数型)
楽器の余韻や物理的な減衰を近似:
x(t) = A0 e^(-t/τ) sin(2π f t + φ)
τ:減衰の時定数(大きいほど余韻が長い)
(3) Karplus–Strong法(弦楽器の物理モデル合成)
-
基本アルゴリズム:
- 長さ N サンプルのノイズバッファを生成(ピックノイズ)
- ループ再生しながら平均化フィルタで高域減衰
- ループ長 N により基本周波数 f = fs / N が決まる(fs: サンプリング周波数)
-
擬似コード:
buffer = ノイズ[0:N]
for n in range(N, 総サンプル数):
buffer[n] = 0.5 * (buffer[n-N] + buffer[n-N-1])
- 特徴:軽量で自然な減衰とピックアタック音を再現
(4) 弦振動方程式(1次元波動方程式)
- 理想弦の振動は波動方程式で表される:
∂²y/∂t² = (T/μ) ∂²y/∂x²
T:張力[N]
μ:線密度[kg/m]
y(x,t):位置xの変位
- 固有振動数:
f_n = (n / 2L) √(T/μ) (n=1,2,3…)
L:弦長
(5) ファミコン音(矩形波・ノコギリ波・ノイズ)
-
ファミコン(NES)音源の主な波形:
- 矩形波(占有率 12.5%、25%、50%、75%)
- 三角波(主にベース・ドラム的音色)
- ノイズ(パーカッションや効果音)
-
矩形波の式(Duty比 d):
x(t) = { A, 0 ≤ frac(f t) < d
{ -A, d ≤ frac(f t) < 1
- 周波数制御はクロック分周方式で、解像度が低く特有のチップチューンサウンドになる。
(6) 応用例
- Karplus–Strong:アコースティックギター、ベース、和楽器のシミュレーション
- 弦振動方程式:楽器設計(張力や材質による音程設計)
- ファミコン音:レトロゲーム音楽制作、8-bitサウンド合成
20. ベクトルと音と機械学習
目的
音声データの特徴ベクトル化と機械学習での利用方法を理解する。
関連
機械学習、線形代数
(1) 音声のベクトル表現
- 音声波形は時間領域のサンプル値の並び(時系列データ)
- 特徴抽出により、固定次元のベクトルに変換
例:MFCC(メル周波数ケプストラム係数)、スペクトログラム、Chroma特徴量
(2) 特徴ベクトル化の流れ
- 音声を短時間フレームに分割(短時間フーリエ変換)
- 各フレームでスペクトル特徴量を抽出
- フレームごとの特徴を平均/統計化して固定次元ベクトルに変換
(3) 機械学習での利用例
- 音声認識(ASR):特徴ベクトルを入力し、DNNやHMMで音素系列推定
- 話者識別:特徴空間で距離や類似度を計算
- 感情認識:特徴量の分布パターンを分類
21. 機械学習と勾配法
目的
最適化アルゴリズム(勾配降下法)を習得する。
関連
機械学習、最適化理論
(1) 勾配降下法(Gradient Descent)の基本
目的関数 $J(\theta)$ を最小化するため、パラメータ θ を更新する反復法:
θ := θ - η ∇J(θ)
η:学習率(step size)
∇J(θ):θに関する勾配ベクトル
(2) バリエーション
- バッチ勾配降下法:全データで勾配計算(安定だが計算負荷大)
- 確率的勾配降下法(SGD):1サンプルごと更新(高速だがノイズ多)
- ミニバッチ勾配降下法:少量データごと更新(多くのDNNで主流)
(3) 改良アルゴリズム
- Momentum, Nesterov Accelerated Gradient
- AdaGrad, RMSprop, Adam(学習率自動調整)
(4) 応用例
- ニューラルネットワークの重み最適化
- 音声分類モデルの訓練
- 音声認識システムの音響モデル学習
22. ニューラルネットワークと合成関数の微分とバックプロパゲーションと活性化関数
目的
ニューラルネットの構造と学習原理を理解する。
関連
機械学習、深層学習
(1) ニューラルネットワークの構造
- 入力層:特徴ベクトルを受け取る
- 中間層(隠れ層):重み行列・活性化関数を適用
- 出力層:分類・回帰・確率出力など目的に応じた形式
(2) 合成関数の微分
-
ネットワークの出力は多数の関数が合成された形:
y = f_n( f_{n-1}( ... f_1(x) ... ) ) -
微分は**連鎖律(Chain Rule)**を利用:
dy/dx = (dy/dz) * (dz/dx)
(3) バックプロパゲーション(誤差逆伝播法)
- 損失関数 L の勾配 ∂L/∂W を効率的に計算
- 出力層 → 入力層方向に誤差を伝播させることで全層の勾配を求める
- 数式的にはチェインルールの繰り返し適用
(4) 活性化関数
-
非線形性を導入して表現力を高める
- Sigmoid: $\sigma(x) = 1 / (1 + e^{-x})$
- Tanh: $\tanh(x)$
- ReLU: $\max(0, x)$
- Leaky ReLU, GELU なども応用される
(5) 応用例
- 音声認識の音響モデル
- 音楽ジャンル分類
- 音声感情分析
23. 微分方程式と状態空間モデル
目的
動的システムの状態表現と解析を理解する。
関連
制御工学、シミュレーション
(1) 微分方程式による表現
-
多くの物理・工学システムは常微分方程式(ODE)で表される:
dx/dt = f(x, u, t)x: 状態変数、u: 入力、t: 時間
(2) 状態空間モデル
-
1階常微分方程式系として統一的に記述:
dx/dt = A x + B u y = C x + D uA: 状態遷移行列、B: 入力行列、C: 出力行列、D: 直接結合行列
(3) 利点
- 高次微分方程式を1階システムに変換して解析可能
- 多入力・多出力(MIMO)系を扱いやすい
- 数値シミュレーション(オイラー法、ルンゲクッタ法)に適用しやすい
(4) 応用例
- 音響空間の残響シミュレーション
- スピーカーモデルの制御解析
- フィルタの時間応答解析
24. 自然言語処理とトランスファモデルと歌詞分析
目的
NLPタスクと事前学習モデル(Transformerなど)を理解し、歌詞テキストの分析に応用する。
関連
自然言語処理、生成AI
(1) 自然言語処理(NLP)の代表タスク
- 形態素解析、品詞タグ付け
- 機械翻訳、要約
- 感情分析、意図推定
- 文書分類、キーワード抽出
(2) トランスファモデル(事前学習モデル)
- Transformerアーキテクチャ:Self-Attentionにより長距離依存関係を効率的に学習
- 代表例:BERT、GPT、T5、mBERT
- 転移学習(Transfer Learning):大規模コーパスで事前学習 → 特定タスクで微調整(Fine-tuning)
(3) 歌詞分析への応用
- 感情スコアリング(ポジティブ/ネガティブ/ニュートラル判定)
- テーマ抽出(例:「恋愛」「友情」「社会批判」など)
- 時系列的感情変化の可視化
- 比喩・韻・構造の自動検出
(4) 実装例
- トークナイザで歌詞を分割(日本語はMeCab/Sudachiなど)
- Transformerモデルに入力して埋め込みベクトル取得
- クラスタリングや分類モデルで特徴分析
25. 音とサポートベクターマシン
目的
SVMによる音声分類・識別手法を理解する。
関連
機械学習、パターン認識
(1) SVMの基本
- 入力空間を高次元特徴空間にマッピングし、最大マージンでクラス分離する分類器
- カーネル関数(RBF、多項式、線形など)で非線形分離にも対応
(2) 音声分類の流れ
- 音声から特徴抽出(MFCC、スペクトログラム、Chromaなど)
- 特徴を正規化しベクトル化
- SVMに学習データとして入力し分類境界を構築
- 未知データのクラスを予測
(3) 応用例
- 話者識別(誰が話しているか)
- 環境音分類(雨音、拍手、エンジン音など)
- 楽器分類(ギター、ピアノ、ドラムなど)
26. 生成AIの利用
目的
生成AIを音響・信号処理・機械学習タスクに活用する方法を学ぶ。
関連
AI応用、創発的技術
(1) 利用例
- 音響分野:BGMや効果音の自動生成、音声合成(TTS)、ボーカル分離
- 信号処理:波形補完、ノイズ除去、自動EQ設定
- 機械学習:データ拡張、ラベル生成、モデルのハイパーパラメータ提案
(2) 技術的アプローチ
- Transformerや拡散モデルを使った音声生成(AudioLM、MusicLM、DiffWaveなど)
- VAE(変分オートエンコーダ)、GANによる音色変換や効果音合成
- 大規模言語モデルによる設計支援やコード自動生成
(3) 注意点
- 著作権・ライセンス遵守
- 出力の品質管理(ノイズや不要成分の除去)
- 訓練データのバイアスや著作物混入の確認