現実世界では何かしらの音が鳴っていますが、この音の正体は空気の振動になります。その為、真空だと揺れる物がないので音が鳴らないのですが、日常で音が聞こえるのも空気が存在する為です。
この音の構造については、中学校の物理で学習する事になりますが、この時の音は 【 単一の周波数 】 なので、音の構成要素とその挙動を学習する事になります。
これが、シンセサイザーや波形編集ソフトで音を作る時の基礎知識になりますが、デジタルデ処理をする時には波形を使う事になるのですが、その中の自然の音の波形のサインカーブを使った物を使用する事になります。
音 の変化
中学校の打つ🄬でも音の変化について学数すると思いますが、この時に
■ 波の高さの変化
■ 高い : 大きな音に聞こえる
■ 低い : 小さな音に聞こえる
■ 波の周期の変化
■ 短い : 音が高くなる
■ 低い : 音が低くなる
と言う事を学習します。
そして、1秒間の波の数を周波数と呼び、 Hz(ヘルツ) と言う単位で表記して使用する事になります。周期については、
■ 波の周期の違い
■ 短い : 高周波
■ 低い : 低周波
と呼びます。
中学校のカリキュラムだと、単一の周波数の変化を学数する事になりますが、この調整によって、
■ 音の高さ : ビッチシフト
■ 音の大きさ : 音圧レベルの変更
と言う音を扱う上での変化を学習する事になりますが、単一の波形を扱った時に変化を与える場合にはどうすればいいのか?と言う基本的な概念を中学校のの物理で学数する事になります。
当然、自然界の波はサインカーブと同じなので、
のような波形になりますが、
■ 光
■ 電波
も同様の波でコントロールできるので、周波数の差異で状態をコントロールする事が出来ます。高校の数学では、この波形を三角関数で制御できるので、
■ f(x) = sin(x)
と言う状態になりますから、
■ f(x) = 4sin(x)
にすると音の場合だと音圧が上がった状態になり、
■ f(x) = sin(4x)
のようにすると周波数が上がるので音が高くなります。このように係数で波形が変化するので、
■ 係数の追加による効果
■ 関数に適応 : 振幅(音圧)が変わる
■ 変数に適応 : 周期(ピッチ)が変わる
ので、単一の周波数を基準とした場合、係数の制御だけで音圧とピッチを変更する事が出来るようになっています。
これが、シンセサイザーや波形編集ソフトで音の最小単位の波を作って発生させた時の音の大きさと高さを変更する時の操作方法になります。
■ 波の生成
シンセサイザーで波を発生させる場合、オシレーターを使いますが、電子部品だと周波数発生装置としてオシレーターと言うパーツがは五倍されています。ファミコンやメガドライブ辺りのゲーム機をオシレーターや水晶振動子を変更する事で、オーバークロックできるのですが、ハードウェアの設計上劇的に早くするkとは出来ませんが、何割かの速度上昇を見込める状態にすることはできます。16MHzのものをゲームボーイに実装すると2倍速で動作するゲームボーイを作る事が出来ますが、元々のクリスタルを剥がして接点に接続する事で切り替える事が出来るようにする個tもできます。当然、これは、一旦分解しているので保証が付くような物ではありませんし、既に生産終了で修理も受け付けていない気もしますが、こうした工作は一旦壊して加工をしているので補償対象外になります。
コンピューターでは、この周波数のオンの時の状態を命令の実行で使用し、一旦オフにしてリセットをかけて、次のオンの状態で次の処理をするような流れになっています。その為、実装した処理の実行を連続して行う場合には、オンとオフの繰り返しで処理を実装する事になります。デジタルの場合は矩形波ですから、0と1のみで処理が実行されていますが、アナログの場合だと交流電流のように
のようななっみが生成されます。シンセサイザーのオシレーターも自然界の音で使用するこう言った波形が生成できますが、これとは別に電子音の
■ のこぎり波
■ 三角波
■ 矩形波
などを発生させることができます。シンセイサイザーでは、ノイズを発生させることもできるので、ホワイトノイズやブラウンノイズなども発生させることが出来る仕様になっていますが、音を作る際には、【 基本となる波 】 を用意して 加工をしていく事になりますが、自然界の音ではなく特徴のある変化を持つ波形を規準に音を作る事になります。
波形については、
のようになっていますが、これを拡大すると
のように波形が見えてきます。波形編集ソフトでは、
のように波の構造自体を変形できる仕様になって要るので、細かな部分を調整できるようになっています。
高校の物理の波動の初期で登場する四角い波は【 矩形波 】 と言いますが、
のように±1の間を整数で移動するしようになっています。これが立ち上がった後に減衰していくのがの 【 こぎり波 】 になりますが、
のような形になっています。
そして、のこぎり波のように最大から0に向かうのではなく、緩やかに波が落ちるのが 【 三角波 】 になります。
波形編集ソフトでは、用意した波形を
のようにトリミングしたり、移動させることもできます。
■ 波の合成
波の合成はサインカーブの場合だと関数を変数として式に組み込んでそれを参照しえつい意を行うような式を構築すれば加算が出来るので、変数項の処理のように符号の有無で加減算が行えるようになります。
波形編集ソフトの場合、
のようにトラックを使う事で和音を作る事が出来ますが、和音の構造自体が波形の加算処理によるものなので、和音を作る場合には周波数の異なるサインカーブを組み合わせた状態で作る事が出来ます。その為、
のように音階の異なる波を作って合成すると、それぞれの山と谷の話を時間軸単位でに存在する値の変化として追加する事になるので、
のような波が出来ます。サインカーブだけだとこんな感じになりますが、波形編集の場合、
のように異なる波形も組み合わせる事が出来ますから、これをピッチシフトで
のように変換して合成すると
のような波形を作る事もできます。これは、波の法則性がしっかりとした物になりますが、波形編集やシンセサイザーでは、この波形を加工す手合成しているので
のように異なる波形もできますが、これを合成すると
のような形になります。
こうした関数同士の合成で作れる形状については、高校の数学で登場しますが、基本的には、波動の概念をそのまま持ってきた物になります。また、グラフ自体が数直線に番号を付けて数直線上に並べたような構造なので、一変数関数の場合だと、数直線に格納したデータの集合を二次元配列で配置した物を図示している構造物なので関数同士の加算の場合、x軸の値を取得してその時の関数の値同士を加算すると合成語の値を算出できます。乗除算も同じ考え方になります。その為、集合である総数を出す方法は意外と簡単な処理だけで対応できるので、
を
の形にする方法はそれほど難しくないのですが、
のような音を解析して
に分解するのは少し難しい処理になります。この時に、フーリエ級数を使う事になりますが、この時の考え方が円に波形が巻き付いているイメージで考えて行くわけですが、この時に山の頂点の周期と回転の状態が合うようにすると、サインカーブが巻き付いているはずなのに、その状態になると、園医巻き付いている形状は右側が大きな山になり、左側が小さな山になります。
この考え方で処理をしてみると、図形に示した時に特定の周波数の時に図形がまとまるという面白い現象が発生します。この時の処理を数式で示す際に、微分や積分や総和などを使う事になりますから、そうした 【 解析 】 に必要な基礎知識として高校の数学では必要なカリキュラムが組まれています。
フーリエ級数を使うと、特定の周波数の波の頂点を検出できるので、周波数別に分ける事が出来るのですが、この状態にすると、中学校の物理で出てきたサインカーブの波として音を扱う事が出来ますから、その成分に対して音圧やピッチの変更が可能になります。
波形編集を行う場合、基本的な考え方は 【 加算 】 になりますが、【 項 】 と同じなので、符号を使う事で減算処理もできます。この場合、波形をそのまま処理すると加算になるので、上限を反転させると山の分だけ減算できるので、山の上下の反転をする事でその波形の形状分だけ減算をする事が出来ます。
Audadityでも
■ 上下の反転 : 波形の減算処理
■ 前後の反転 : 逆転再生
が可能なので、
■ 加算 : 通常の合成
■ 減算 : 上下の反転後の合成
を行う事が出来るようになっています。この条件から考えると、NRの処理は、特定の音のサンプリングをしてその波形の上下を反転させて合成するとその成分だけを除去できることになります。これがノイズリダクションの基本的な考え方になるので、周波数成分単位で分解できるとさらに作業が行いやすくなります。
ノイズの場合、スペクトルを見るとおかしなデータが混ざっているのでその部分の周波数を調整するとノイズが消えるのですが、EQで調整する事で手動でノイズを消す事もできます。
Audacityでは、サンプリングした物を使用して音にNR処理をかけることができるのですが、この時の波形を変える事で音を意図的に壊す事もできます。その為、特殊な壊れ方をした音を意図的に作る場合、NRを使うだけでも面白い音の変化を得る事が出来ます。
■ ノイズ
波形編集ソフトでもノイズを発生させることが出来るので、
のようにの言うを追加できます。矩形波も加工をしていくと
のようになりますが、エフェクトをかけると
のような形に変更する事もできます。ノイズにもエフェクトをかけると
のように形を変える事が出来ます。シンセ音源の場合、この合成用のチャンネルが3つあって、それを個別に指定して音を作る事になりますが、この時に、
■ 波形
■ ノイズ
の選択をして、そこに効果を適応する事で音を作る事が出来るようになっています。
■ 時間軸での変化
波形編集ソフトでも、音圧の部分は時間軸での推移を指定できるので、ノンリニア編集ソフトにバンドルされているDAWとかでもそう言った処理ができます。Audacityも
のように指定する事で時間ごとの音圧の変化を指定するk十が出来ます。基本的にジェネレーターで生成できる波は、音の特徴なので、その状態をどう言った形で使うのかを考える事になりますが、ここでアタックとデイケイの傾向などを指定する事が出来るようになっています。
MIDIシーケンサ―の場合、ピアノロール上のノートに対して音のニュアンスを追加する為のCC(Control Change)を使用する事で時間単位での数値の変化を指定して、実装した音の変化を指定できるようになっています。その為、
■ CCの効果(1)
■ CCの効果(2)
のように効果の度合いを推移の記述によって制御できるようになっています。これがCCの番号で指定した効果に対して適応できるようになっているので、CCを使うと定位が出来たり、空間の内での座標の変化を実装する事もできます。基本的に音圧レベルとパンポットの効果はCCで指定できるので、ステップシーケンサを使って記述をしても指定する事が出来ます。
こうした機能は、オーディオだと存在しないので、オーディオを使う際にはオーディオ用のエフェクトで対応する事になります。この時にソフトでサポートしている形式のエフェクトを使用する事になりますが、VSTなどもその一つになります。VSTには、
■ 音 源 : VSTインストゥルメンタル
■ エフェクト : VSTプラグイン
がありますが、波形編集ソフトやDAWでオーディオファイルの状態を変更する際にはVSTプラグインを使う事になります。
スタインバーグ社の製品だとVST対応になっていますが、他の製品でも対応しており、OSSだと、
■ Audacity
■ LMMS
が対応しています。OBSもVSTが使えるので色々な事が出来ますが、DAWでVST対応の場合、音源とエフェクトをダウンロードして使用する事が出来るようになっています。
オーディオのエフェクトの場合、DAWにはオートメーションでの制御が出来るようになっているので、MIDIのCCのようにエフェクトの効果を時間単位で指定できるようになっていますが、波形編集ソフトの場合にはそう言った機能はありません。その為、録音した素材に適応する効果は定数化した物を指定した範囲で変更するような処理に限定されます。
■ 音の調整
波形を用意するとトーンやノイズとは別にチャープのように
のような形の波形を作る事もできます。これも波形を指定できるので、
のように三角波も指定できますが、これにエフェクトをかけると
のようにすることもできます。チャープの波形は
のように立ち上がりが急激に発生していて、その後減衰して行っているのでフェードアウトしている状態になります。この前後を変えるとフェードインの状態になりますが、このようにアタックが急激に発生する音は打楽器の波形に見られる特徴になります。
音については、立ち上がりで音の印象が変わりますが、立ち上がりから減衰していき、特定の場所で音が維持されて減衰していくような構造になりますが、
■ ア タ ッ ク : 立ち上がり
■ デ イ ケ イ : 減衰
■ サスティンレベル : 維持する音の大きさ
■ リリース : 減衰するまでの時間
の4つで状態が構成されています。音が立ち上がり、最高地点から減衰するまでの構造は、
■ アタック : 立ち上がり
■ デイケイ : 減衰
の2つで指定できるのですが、これは傾きなので時間で管理します。その後にリリースに向かって音が消えて行くのですが、この三角形の状態を維持する為に音の置き差を決めて維持してから減衰するようになっています。その為、
■ サスティンレベル : 維持する音の大きさ
■ リリース : 減衰するまでの時間
で音の変化は構成されています。その為、サスティン以外は時間での制御になっており、サスティンは音の維持する大きさなので、レベルの指定になります。これも音の状態を作る際に消えめる事になりますが、シンセサイザーで音を作る場合や、MIDIで音の指定をする時に使用することになります。
音 と構造
音は正弦波でできていますが、振幅の上下動を時間単位の推移にするとこの形になるので単位円の上を周回運動をする座標の値の推移と同じ物が出来上がるのですが、前述のように音は、
■ 振幅 : 音圧の変化
■ 周期 : 音の高さの変化
を与える事が出来ます。この情報を持つ波形を組み合わせて行く事で波形が変わっていきますが、タイムライン上の波形ではなく、この音の構成要素をグラフのように
■ Y軸 : 音圧の変化
■ X軸 : 音の高さの変化
で扱う事が出来れば、周波数単位の音を変更する事が出来ます。この時にフーリエ解析を行って個別の周波数で音を分解する事で絵それぞれの状態を算出できるのですが、これを行うと波形とは異なり、成分単位の調整が出来るようになります。
こうした周波数単位の状態を見る時にスペクトルアナライザーを使う事になりますが、単一の周波数のパルスの場合、
のように特定の歯に二成分が出てきますが、ピッチシフターでピッチだけ変更すると
のようになります。パルスを作る時には周波数を指定して作った方がいい事がこれで確認できますが、極端に低くすると波形が荒れます。この状態で加工をしても
この状態で別の波形を用意したものが、
になりますが、これを合成するとスペクトル部分が加算されるので異なる波形になります。スペクトルは、周波数単位の音圧を隙間がない状態でデータ化した物なので、層のある状態で発生しています。
音の場合、ノイズが入るとその影響が出ますが、通常の音のミキシングも別の音の集まりで音を生成しています。その為、ノイズも音の合成で混ざった成分と考えるK十が出来るのですが、
のようなパルスを生成して、
のように先程の2つの音を合成した物に加えてみる個Tにしました。合成した音声ファイルのスペクトルを見てみると、
のようにしっかりとスペクトルが追加されているのですが、音圧が違い過ぎたので
の部分だけ肥大化しています。これをノイズと考えると、この部分の周波数成分だけを除去すればいいので、EQを使って消す事になります。Audacityでは、EQfフィルター曲線と言う周波数を調整する機能があり、
の直線を変形させて音の状態を加工する事が出来ます。これを
のように変更すると、高温部分の状態が減るので、
のようになります。更に
のように変更すると、
のように高温部分の周波数を切る事が出来ます。
これとは別にEQも用意されているので
のように周波数単位で調整できるようになっていますが、画像のように指定すると、
のようになり、
の部分まで下げると、
のようになります。この状態から音を加工していくと、
のようにする事が出来ます。
このように音自体は周波数の塊なので、スペクトルを見ると音の集まる場所は明るい色になり、そうでない色は暗い色で表示されます。また、音の流れを見た時に余計な物が混ざると、
のように余計な成分が含まれるので、それを除去する事で余計な周波数成分が混ざらない音を作ることあg出来ます。この状態で補正をしても波形を見ると荒れている事があるので、調整後に波形を見て補正をする事になります。