MATLABでIR(Impulse Response) Speaker Simulator VST Plugin 1

#MATLABの機能を使ってImpulse Response取得～VSTプラグイン作成
Impulse Responseから応答特性のシステム同定を行って、同等の特性のエフェクトを作るってみる。VRや3D Audioも原理的には同じなので、今回の内容を少し修正すれば同じようにできる。

MATLABのオプションAudio Toolboxにはその名の通り、Impulse Response Measurerとか、VSTプラグインを読み込んだり生成したりする機能があるので、これらの機能を活用して測定～テスト～生成までを行った。

##Impulse Response Measurer

Impulse Response Measurerはその名の通り、Sweep Sin波かホワイトノイズを印加して、インパルス応答つまり周波数特性を取得してくれるアプリ。

インパルス応答は、FIRフィルタの係数と同じなので、インパルス応答がわかれば同じ特性のフィルタを作ることができるということ。

##予備測定
さて、印加するAudio信号にはホワイトノイズとSweep Sin波があるが、まずは入力信号が結果に及ぼす影響について調べてみた。
RolandのギターアンプCube Streetを使って
オーディオインターフェース（M=Audio/Air）⇒ライン入力⇒スピーカー⇒マイクAudix i5⇒オーディオインターフェース
と接続して特性取得（マイクはスピーカーのセンター狙い）。このアンプはオーディオ入力もあるので、通常のギター用スピーカーとは異なり、比較的フラットな6インチ程度の大きさのスピーカーが付いている（オーディオソースを視聴して確認）。グラフ中、赤色はSweep Sin, 青色はホワイトノイズで取得された結果。Sweep Sinのほうが、周波数特性のカーブが滑らかで、低域（0～50Hzぐらいまで）の応答が異なる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/e46972d6-eccf-ba12-2c57-61fa001c35b8.png)

6インチ程度のスピーカーで10Hz周辺がフラットに出ていることは考えられないので、低域の再現性はSweep Sinのほうが良さそう。Sweep Sinを使って応答を取っていくことにする。

続いてコンシューマー向けオーディオスピーカーの応答がどうなっているか確認。
DALIのZensor 5AXというパワードスピーカーの特性を取ってみた。ツイーターx1, スコーカーx2, バスレフポートというセパレート式なので、マイクがどこを狙うかによって特性は変わってくる。
赤：ツイーターとスコーカーの間
黄緑：スコーカーの中心
水色：スコーカーとバスレフポートの間
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/fd72ef84-1213-73c9-b4e0-8f4862ce6557.png)

まあ、想定した通り、ツイーター近くを狙えばハイが出るし、バスレフポートに近くなるとローが出るといった特性になっている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/601e5df3-184f-4012-5069-3e08f8e9a056.png)


##ADAのMicroCAB(ギタースピーカーシミュレーター）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/c4be3ed7-371e-c471-6ef2-38aab280433a.png)
上写真中、下にあるラックタイプのエフェクトは昔Eddie Van Halenもレコーディングで使ったと言われるスピーカシミュレータADA MicroCAB。[この辺（リンク）](http://mightywingfeni.blog84.fc2.com/blog-entry-2385.html)でも情報が確認できるが、内部は古典的なアナログ回路で構成されている。つまみのEqualizationと、スイッチでFenderなどのOpen BackタイプとMarshall/BoogieなどのSealed(クローズド) タイプのキャビネットを選択できる。スピーカーのサイズは1x12～4x12で、2x12, 4x12はノーマルとVintageタイプがある。

これの特性を測定してみた。
黄緑：オーディオインターフェースOut⇒In直結
マゼンタ：オーディオインターフェース⇒MicroCAB(Off=フラット)⇒オーディオインターフェース
その他：MicroCABをonにして、全面パネルのスイッチを切り替えた状態（詳細は凡例参考）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/396eef74-81ba-3f62-d753-6538c9517e65.png)

##[ギターアンプ](https://tube-amps.org/)のスピーカー1発と2発の違い
さて、本題の本物のギターアンプ用キャビネット。
使用したのはCarvinのC212GEで、Celestion G12 Vintage30が2発入ったギターアンプ用スピーカー。
2発入りなので、この中の1発鳴らした場合と、2発鳴らした場合で比較した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/3e5ac9e7-69e4-dccd-12fa-9d6807d00adb.png)
高域は同じだが、1発鳴らしの特性は100Hz付近に変なディップが見られる。これはよろしくないので、以降は2発きちんと鳴らすようにする。

##パワーアンプによる特性差
[ギターアンプ](https://tube-amps.org/)は最終段のパワーアンプとスピーカー出力がインピーダンスマッチング取るためにトランス結合となっており、周波数特性がフラットでは無いため、いくつかのアンプで特性を取ってみた。アンプのプリアンプステージはトーンや歪み回路を含むため通さずに、パワーアンプ（PowerInやReturn）に直接テスト信号(Sweep Sin)を入力する。
比較したのは以下
VHT 2902(Power Tube:KT88)
Mesa/Boogie Triple Rectifier/CH2 Vintage (Power Tube:6L6)
Laney VH100R (Power Tube:EL34)
マイキングはスピーカーのセンター狙い。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/0391f1d8-fbbe-257b-f458-50ba2d048c50.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/b62a97c1-0714-9a62-57ee-39f7f61ae545.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/70512312-37ea-f6f7-f4b0-7d45db6815d8.png)

###得られた特性
黄緑：VHT2902
水色：Mesa/Boogie
マゼンタ：Laney
聴感上VHT2902は音が太いので、特性も低域が良く出ている。
Mesa/Boogie(Ch2 Vintage)とLaneyは大きな特性の違いは見られない（ゲインの違いはVol設定の違いなので無視）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/bc0e8ae1-d87a-8800-3615-e8bebb8973a4.png)

###余談
Mesa/Boogieの音色切り替えスイッチ（Raw/Vintage/Modernのピンスイッチ）はPower Ampステージに入っているようで、Power Ampの音色に影響を与えるため、それぞれの特性を比較してみた。
黄緑：Mesa/Boogie Ch2 Raw
水色：Mesa/Boogie Ch2 Modern
マゼンタ：Mesa/Boogie Ch2 Vintage
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477651/561c9a6a-6343-d7fb-97f0-91d8598a7e5b.png)
Raw,Vintageに違いは見られないが、Modernにすると120Hz付近が大きく持ち上がって全体的なゲインも上がる。
フラットな特性が好きならRaw, Vintageを使ったほうが良いってことですね。


次回はここで得られた特性を利用して、スピーカーシミュレータ―のVST Pluginを作成してみようと思う。
つづく
[MATLABでIR(Impulse Response) Speaker Simulator VST Plugin 2](https://qiita.com/SacredTubes/items/6342b8000251194a921d)