高い音と低い音、早い音と遅い音、長い音と短い音
キンキンする高い声、 ドンドン、ボーボー、ウーウーという低いうなり声、といったものがあります。
また、エンジン音のように、スピードをあげたり、下げたりで変化する音の変化を指します。
また、エンジン音のように、スピードをあげたり、下げたりで変化する音の変化を指します。
ピッチを変える
ADX2では「ピッチ」といったパラメータで音の高低を簡単に変更できます。音が「キンキン」するというのは、早回しになっている状態。
逆に音が「ボーボー」となっているのは、遅回しになっている状態。
早い、遅い
何が早回し、遅回しかというと、テープメディアの時代の話になります。カセットテープやレコード、またはビデオテープなど、テープに音の情報がそのまま記録されています。
レコードなどをむりやり手でとめると、スクラッチでスピードが遅くなり、音が低くなりつつ、音が小さくなりやがて音が止まります。
(ターンテーブル用のレコードプレーヤーでないと壊れるので注意)
いろいろな変化が伴うピッチ変更
遅くなる=低くなる(重くなる)=小さくなる早くなる=高くなる(軽くなる)=大きくなる(*1)
といった変化があります。以外といろいろ変化します。
*1 音の大きさは「ラウドネス曲線」という聴感的な物差しではもっと複雑に変化します。例えば極端に高い音は聞こえなくなります。
音楽的なピッチ
音楽の音程というものがあります。いわゆる「ドレミファソラシド」の8音。
「ド」から上の「ド」までをオクターブと呼びます。
別な呼び方で、12音平均律とか言われます。「ド、ド#、レ、レ#、ミ、ファ、ファ#、ソ、ソ#、ラ、ラ#、シ」の12の音。
これはオクターブを12の半音で等分割したものになります。
ADX2ではオクターブを1200の値で表現します。半音(ドとド#)がちょうど100になります。
再生速度としてのピッチ
Unityなどでは、Pitchが、1.0で元の速さ、2.0で2倍速、3.0で3倍速、0で止まる。といった速度的なもので表します。1.0から2.0にするとオクターブが上がり、1.0から0.5にするとオクターブが下がります。
プログラムで
速度からCRIのピッチ(100を半音とするもの)に変更する式はpitch = 1200.0f*Mathf.Log(speed)/Mathf.Log(2.0f);
CRIのピッチから速度に戻すには
speed = Mathf.Pow(2,pitch/1200.0f);
といった感じで指定できます。
ピッチは低くする方が軽くなる
サンプリングは、音をデジタル化(標本化)することを指すのですが、ADX2などピッチを変更する処理にはこの「リサンプリング」という処理が行われます。情報を間引いてサンプリングし直すと高くなり、間延びさせると低くなります。
音が高くなると、音の時間あたりの情報の密度が増えているため、音が大きくなったり、再生が早くなり、音の長さ(再生時間)が元より短くなったりします。
ゆっくり鳴らしてれば、より長い時間の再生が、より少ないデータで可能です。
これは、コンピューターの処理的にも、ピッチをあげると再生時に必要な情報や処理が増えるため、再生時の負荷が上がる傾向があります。
逆にゆっくりな音の方が負荷が下がる傾向があります。
もし、大きく音の高さが変化する場合は、高い音を用意して、低い方向へ変化させると、負荷を軽減できるといったテクニックもあります。
純粋にピッチだけを変えるのは難しい
難しいのですが、できないこともない。ADX2ではエフェクターとして「ピッチシフター」というのがあります。
こちらは「フェーズボコーダー」と呼ばれる技術が使われています。