2020年にMIDI 2.0の規格が策定されましたが、これにより、扱える階調の表現が豊かになりました。
 

 MIDIの規格は38年ぶりの更新になりますが、MIDI 2.0では、

 

  ■ 高速化

  ■ 双方向通信による電子楽器演奏の共通化

  ■ データ分解能のハイレゾ化

  ■ DAWやソフトシンセとの連携

  ■ チャンネル数の増加


のような拡張が行われています。

 アップルの提供しているLogicは2021年の段階でMIDI 2.0に対応していたのですが、昨年には

  ■ ハードウェア
  ■ ソフトウェア
  ■ DAW

が揃ってきたので、実際に使える環境を構築できるレベルになっています。

 MIDI 2.0ですが、

  ■ ベロシティ      : 16bit
  ■ コントロールチェンジ : 32bit

になっているので、従来のMIDIとは全く異なる表現が可能になっています。

 

  ベロシティ



 ベロシティは、音の強弱を司るものになりますが、MIDIキーボードを使って演奏した時の音の強弱の変化を再現する時に使用します。楽譜には演奏記号がありますが、義務教育の音楽でも

  ■ f : フォルテ
  ■ p : ピアノ

が登場するので、楽譜内での演奏時には強弱が存在する事を学習しますが、ピアノのように

【 弦を叩いて音を鳴らす 】 

ような楽器では、鍵盤を叩いた強弱によって音の聞こえ方が変わってきます。

 ピアノの構造は弦楽器と同じで 【 音階分の弦が張ってある 】 のですが、これを木のハンマーで叩いて音を鳴らす仕組みになっています。この音を伸ばす時にサスティンペダルを使いますが、弦楽器の演奏方法の半待ちリング奏法を構造として採用している仕組みになっています。こうした音の強弱はMIDIのノートだけでは再現できませんから、ベロシティを使うことになりますが、MIDIキーボードで入力をした際には演奏時に強弱を検知してそれに準じた数値が帰ってくる仕組みになっています。その為、 【 強弱が不明な音符を鍵盤で入力するのではなく、演奏時の強弱まで入力できる 】 ようになっています。

 その為、MIDIキーボードを使うと、

  ■ スタッカート
  ■ レガート

もしっかりと再現できるのですが、この時の音の強弱も含めて譜面に適応できるようになっています。前述の演奏は 【 ノートの変化 】 なので

  ■ 音価
  ■ 音階
  
がノートの情報として記録されており、このノートの発生するタイミングが時間軸で記録されます。

 そして、音の強弱は 【 ベロシティ 】 でコントロールするので、打鍵時の強弱の変化を数値で記録することになります。

 従来のMIDIでは、7bitのデータなので128階調になっていましたから、0〜127までの値を適応できるようになっていたのですが、MIDI 2.0では、16bitになっているので、此の階調が65,535階調担っています。

 その為、0〜65,534までの範囲で音の強弱の指定が出来るようになっています。

 多くの場合、ノートを配置するとそれと一緒に棒グラフの・ようなものが配置されますが、ピアノロールの下のパラメーターの部分に表示されるこのUIで表示されているものがベロシティの状態になります。MIDIシーケンサーを使用したり、DAWでMIDIのパートを作る際にMIDIのトラックを作るとこうしたパラメーターが表示されますが、これを調整することで均一の音の大きさではなく 【 音の強弱 】 をつけることが出来るようになっています。
 

 

  コントロールチェンジ



 MIDIは設定ファイルなので、

   ■ 音階
   ■ 音価
   ■ 付加要素

で構成されています。また、設定ファイルなので、 【 発音をするための音を持たない 】 と言う特性があります。その為、MIDIシーケンサソフトでは、GS音源などで発音させる仕様になっていますが、この音源の選択時に使用するのが 【 プログラムチェンジ(PC) 】 になります。

 MuseScoreでは、発音に 【 SoundFont 】 が使用されていますが、MIDIの譜面を元に音を鳴らす場合には何かしらの音源を用意する必要があります。

 このお元以外の部分をMIDIで指定することになりますが、五線譜の中に記述する音符の持つ情報はノートで再現することになります。

 当然、譜面は音符の並びだけでは再現できませんから

  ■ 演奏記号
  ■ 発想記号

のような物を追加して状態を作る必要があります。このような 【 音符で再現できないもの 】 については、ノートの付加要素として使用できるパラメーターで指定することになります。

 MIDIでは、こうした付加要素を 【 コントロールチェンジ 】 にまとめてありますが、ベロシティーもその一つになります。

 このコントロールチェンジには項目があるので様々な処理が出来るようになっていますが、五線譜は鍵盤楽器用の譜面ですから、
  
  ■ フレットレスな楽器
  ■ トロンボーン

のような処理はノートだけでは再現できません。そこで、音階の変化をピッチシフターでコントロールすることになりますが、MIDIにはこの変化を指定するピッチベンドの項目があります。ボーカロイドエディタにも

  ■ ピッチベンド
  ■ ピッチベンドセンス

と言う項目がありますが、前者が指定する音の変化で、後者が音階の幅を指定する項目になります。実際に使用すると

 



のよになります。また、CCを使用すると



のような変化を追加するKとも出来ます。

 これ以外にも音を揺らす時に使用するモジュレーションやステレオでミキシングする際に使用するパンポットでの処理のように 【 左右の位置 】 を指定する項目があります。ウェット成分の調整を考えない場合だと音の位置情報は

  ■ パンポット
  ■ フェーダー

で調整するので、

  ■ 左右の位置
  ■ 奥行き

の指定が出来るようになっています。波形編集ソフトも音を作る際に定位を行うことが出来るので、複数のトラックを使った時にミキサーを使用して作業を個なうことになりますが、実際に使用すると



のようになります。
基本的に

  ■ ボリューム
  ■ ベロシティ

は目的が異なるので、これを使い分けることで、トラック内のノートの音の強さ(大小)の変化とトラックそのものの音の状態の変更を個別の指定できるようになっています。この辺りは、DAWがそうなっていますが、MIDIシーケンサーでも考え方は同じです。パラメーターの変化ですが、




のようなことができるので、MIDIでの作業では

 

  ■ ノートの打ち込み

  ■ CCの設定

 

を行うことになります。流石に、この状態だと音がなりませんから、PCを選択して音を鳴らすKと尾になりますが、MIDIシーケンサソフトの多くはGS音源が使用できるようになっています。

 このようにパラメーターを調整してトラック内のノートの状態を指定することになりますが、この時に用意された範囲の階調を使用して音の状態を作ることになります。

 従来のMIDIのコントロールチェンジも7bitですが、コントロールチェンジには

  ■ LSB
  ■ MSB

で下位ビットと上位ビットを扱っており、下位ビットが繰り上がった時に上位ビットを使うと言う仕組みになっています。その為、7bit+7bitで14bitを使えるようになっているわけですが、この時に称できる階調が16,384階調なので0~16,383の範囲を使用できるようになっています。MIDI 2.0では、32bitを使用できるので、4,294,967,29階調を使用できます。この範囲は、0~4,294,967,295なので、従来のMIDIとは比較にならない範囲を使用できるようになっています。
 

 

  DAW

 

 基本的にオーディオとMIDIは異なるので、同じように使うことは出来ません。

 

 これは構造が異なるためですが、この2者では、

 

 【 オーディオファイル 】

    波形を記録してバイナリ形式で記録したもの

 

 【 MIDIファイル 】

    演奏の内容を指定したもの

 

のような違いがあります。MIDIはMIDIシーケンサソフトで作成できますが、波形については波形編集ソフトやDAWなどで作ることになります。音については、波形とノイズの組み合わせで構成していくので、考え方としてはシンセサイザーと同じ仕様になっていますが、AUDACITYのように

 

  ■ 無制限アンドゥ・リドゥ

  ■ 無制限トラック

 

に対応している物の場合、マシンスペックを高くしておけばJ複雑な音の合成が行えます。ノイズは波形を破綻させたものになりますが、自然界の音はサインカーブで構成されていますから、基本的には三角関数の波形を使用することになります。

 

 三角関数のグラフは、単位円の円弧の中に存在する座標の変化なので1〜−1の間を推移するようになっていますが、この時の始点の違いで

 

  ■ f(x) = sin(x) 

  ■ f(x) = cos(x) 

 

を使い分けることが出来ます。波の発生位置の変更は 【 x-1 】 を変数xの部分に追加すればいいので、

 

  ■ 右方向 : x-1

  ■ 右方向 : x+1

 

で制御できるようになっています。この波形を合成することで音を作ることが出来ますが、音については、中学校の物理で学習するように

 

  ■ 振幅 : 音の大きさ(音圧)

  ■ 周期 : 音の高さ

 

のような関係性があるので、シ抜くと周期を変更すると音の状態を変更することが出来るようになっています。これが、音の構造ですから、単一の周波数の場合だと周波数と振幅を調整すれば、音の大きさや音の高さを変更することが出来るようになっています。

 

 この構造は三角関数なので、

 

  ■ 変数xの係数

  ■ 三角関数自体の係数

 

を変更することで音圧と音の高さを変更できるのですが、こうして作成した波形も関数同士の演算処理が可能なので、波形を組み合わせて異なる波形を作ることが出来ます。

 

 これについては、

 

 

の中で触れていますが、単一の周波数の波形の合成時の波形と同じ三角関数のグラフの合成時の形は一致します。

 

 これが可能なので、コードで音を作る場合にも関数で制御が出来るようになっているわけですが、これをバイナリで書き出したものが音声ファイルになります。

 

 これがそのまま再生できる音声dファファイルになりますが、此の音を作る際に波形編集ソフトを使用します。

 

 MIDIの制御の指定は 【 MIDIシーケンサー 】 を使用しますが、DAWを使用するとこの2つを使用することあが出来ます。また、MIDIの発音ではサンプラーなどを使用できるので、

 

 

のように波形編集ソフトで作った音をMIDIで発音させることも出来ます。

 

 DAWでは、 【 アシッダイズ対応 】 の製品だと、オーディオの取り込み時にアシッダイズを行うことで、トラックに配置したオーディオファイルをMIDIのようにピッチシフトなどの処理を行えるようになるので、自由に操作を刷ることが出来るようになります。

 

 また、プラグインにピッチシフターが用意されている場合だと、

 

  ■ ピッチ

  ■ フォルマント

 

を調整できるので、オーディオファイルの音声のコントロールを細かく行うことが出来ます。

 

 このフォルマント調整については、ボーカル音源の調整でもしよ吸いますが、Vocaloid Editorの 【 ジェンダーファクター 】 が此の機能になりますが、ここでフォルマントの調整が行われているので、1オクターブを超過した音階で発音をしても声が破綻せずに発音できるようになっています。

 

 このパラメーターを変更すると声が破綻し始めるので印象としては 【 ケロケロした感じになる 】 のですが、此の現象は、Audacityでピッチシフトを行った場合にも発生します。そのため、音階の幅の広いピッチシフトを子なう際には周波数の変更だけでなくフォルマントの超デイが必要になります。