シンセシスの基礎
シンセサイザーは、録音を再生するのではなく、音をゼロから生成する楽器です。シンセのノートの裏側にはマイクも音声ファイルもありません。コンピューターが波形をサンプル単位で、リアルタイムに計算します。これが、録音を再生する サンプル音源 とシンセサイザーを分ける唯一の本質的な違いです。
本ページでは、あらゆるシンセに共通する構成要素を説明し、続いて選択できる 7 つのシンセシス方式(エンジン)を紹介します。概念のみで、コードはありません。
なぜ録音せず生成するのか
生成されたノートは任意のピッチ・任意の長さ・任意の音色になり、保存コストもなく、「録音を引き伸ばす」アーティファクトもありません。代償として、音は設計する必要があります。誰かが波形を選び、整形し、どう変化させるかを決めます。その設計をパッチと呼びます。
古典的な 3 つのブロック
どれほど複雑でも、ほとんどのシンセ音は 3 段の連なりから生まれます。信号は左から右へ流れます。
1. オシレーター — 生の音
オシレーターは、ノートのピッチで連続して繰り返す波を作ります。その波形が音の生の色を決めます。波形ごとに、基音の上に積み重なる 倍音成分 の混ざり方が異なるからです。
| 波形 | 聞こえ方 | 理由 |
|---|---|---|
| サイン波 | 純粋で、空洞のような、フルートに近い音 | 基音のみで倍音がない |
| ノコギリ波 | 明るく、ブザーのように厚い音 | すべての倍音を含む — 定番のシンセリード/ベース |
| 矩形波 | 空洞のような、木質の、リード楽器的な音 | 奇数倍音のみ |
| 三角波 | 柔らかくまろやかな音 | 奇数倍音だが弱く、サイン波に近い |
| ノイズ | ピッチのないノイズ | すべての周波数が同時に鳴る — 打楽器・風・息に使う |
2. フィルター — 音色を整える
フィルターは周波数成分の一部を削ったり持ち上げたりします。最も一般的なのはローパスフィルターで、低域を残して高域を落とします。重要なつまみは 2 つです。
- カットオフ — フィルターがエネルギーを削り始める周波数です。下げると音は暗くこもり、上げると明るくなります。
- レゾナンス — カットオフ周波数の直上を持ち上げる量です。少量で声のような「ワウ」の強調が加わり、多量だとフィルターが共鳴して口笛のように鳴ります。
カットオフを時間とともにスイープさせる動きは、最もシンセらしい身ぶりです。その動きをどう駆動するかは エンベロープとモジュレーション を参照してください。
3. アンプ — 時間にわたる音量
アンプは、キーを押した瞬間から音が完全に消えるまでのノートの音量を制御します。生のオシレーターは延々と鳴り続けるだけですが、(エンベロープに駆動された)アンプがノートに始まり・本体・終わりを与えます — 弾いた瞬間のアタック、ゆっくりとした立ち上がり、長い余韻です。
7 つのシンセシス方式
上記のブロックは減算式シンセシスを説明したものですが、音の作り方はそれだけではありません。libsonare 内蔵の楽器エンジンである NativeSynth は 7 つのエンジンを備え、それぞれ異なる楽器に向いています。
| エンジン | 音の作り方 | 向いている用途 |
|---|---|---|
| 減算式/バーチャルアナログ | オシレーター → フィルター → アンプ(上記の古典的な連なり) | リード、ベース、パッド |
| FM | 1 つのオシレーターが別のオシレーターのピッチを変調する | 金属的な音、ベル、エレクトリックピアノ |
| Karplus-Strong | 短いフィードバックディレイのループで弦の振動を模す | 撥弦楽器、ギター、ハープ |
| モーダル | 同調した共鳴器のバンクで打たれた物体を模す | マリンバ、グロッケンシュピール、打たれたバーやベル |
| 加算式/ドローバー | 倍音のサイン成分を足し合わせる(オルガンのドローバーのように) | Hammond 風オルガン、倍音パッド |
| メンブレン(膜)打楽器 | 太鼓の膜の振動モードを模す | ドラム、タム、打楽器 |
| 拡張導波路ピアノ | 打弦されたピアノ弦の物理モデル | アコースティックピアノ |
FM を一言で
FM(周波数変調)シンセシスでは、倍音豊かな波形をフィルターで削る代わりに、2 つの単純なサイン波オシレーターを使い、一方にもう一方のピッチを高速で揺らさせます。その結果、減算式では作りにくい、複雑で金属的・ベル的な音色が得られます。
このうち Karplus-Strong・モーダル・導波路ピアノの 3 つは物理モデリングです。波形を積むのではなく、実物(弦、金属バー、ピアノ弦)の物理をシミュレートするため、どれだけ強く・どこを叩いたかに音が自然に応答します。
フィルターのキャラクター
フィルター自体のキャラクターも変えられます。NativeSynth は 4 つのフィルターモデルを備え、それぞれレゾナンスとサチュレーションの風味が異なります。
- svf — クリーンで柔軟なステートバリアブルフィルター(中庸なデフォルト)。
- moog-ladder — 往年のアナログモノシンセの、太く温かいラダーフィルターのキャラクター。
- diode-ladder — よりざらつき、攻撃的に噛みつくラダーの変種。
- sallen-key — 別系統の名機につながる、なめらかで音楽的なフィルター。
libsonare での実装
NativeSynth は SynthPatch で設定します。engineMode フィールドが 7 つのエンジンのいずれか('subtractive'・'fm'・'karplus-strong'・'modal'・'additive'・'percussion'・'piano')を選び、waveform がオシレーター波形('sine'・'saw'・'square'・'triangle'・'noise')を、filterModel がフィルターのキャラクター('svf'・'moog-ladder'・'diode-ladder'・'sallen-key')を cutoffHz・resonanceQ とともに選びます。パッチを手で組む代わりに、synthPresetNames() で用意済みのカタログを一覧し、synthPresetPatch(name) で 1 つ読み込めます。内蔵の 16 プリセットはすべてこの 7 エンジンの上に並んでおり、各プリセットは実体としては上記いずれかの方式にパラメーターを埋めたものです。各方式固有の深いデータ(FM のオペレーター構成、モーダルのモード表、ドローバーのレジストレーション、キットの各ピース、ピアノの弦)は名前付きプリセットの中に収められ、パッチはすべてのエンジンが共有するラッパー部分を公開します。
関連: 内蔵シンセサイザー(NativeSynth)、エンベロープとモジュレーション、オーディオの基礎、SoundFont とサンプル音源