VSTHostのプラグイン内設定4

素人でも出来る耳コピのやり方:4(VSTHostとDominoの使い方)

※この記事は、元々2016年7月7日にはてなブログに書いたものです。
当時「コーラを振るだけ」動画制作の為に自力で耳コピをする必要があり、色々調べて纏めていました。
情報が古かったら、すみません。

区切り線

暫くしたら、絶対に操作方法を忘れるので、ここに纏める事にしました。

前提として、以下のサイトを見てるか理解している事として、話を進めます。

【リンク】
「初心者になるための耳コピMIDI講座 #02 オーディオ環境の導入」

1. VSTHostを起動してからDominoを立ち上げる

本当は、loopMIDI起動→VSTHost起動→Domino起動 なのですが、loopMIDI v1.0.13(24) では、設定でWindows起動時に同時立ち上げをしてくれる「Autostart loopMIDI」モードがあるので、気にしなくていいです。
サイトには、

環境によっては、loopMIDI を終了させないで (起動したままの状態で)、Windows をシャットダウンすると、何らかの問題が生じる場合があるようです。
※ 「v1.0.5 (15)」 現在の話です。
(もしかすると、Vista 以降限定かもしれません。)

って感じに書かれていましたが、何が起こるかとか現在のバージョンだとどうなるとかは書いていなかったので、Windowsボタン近くにメモ帳を貼り付け、

「Windowsを終了する前に、画面右下にある「loopMIDI」を必ず終わらせる事。」

・・・と書いておいた。
これならイヤでも見るけど、問題は強制終了した時である。

対策として、loopMIDI終了するためのbatファイルを作る方法を、知り合いのkazuyaさんがコメントで教えてくれたので、纏めておきます。

正確な実行ファイル名がわからないからざっくりとした書き方になるけど、windowsのコマンドを利用する方法。
下の感じのスクリプトをメモ帳に書いて、「適当なファイル名.bat」って感じで拡張子が「bat」で保存すればOK。


rem プログラムを起動していく。
start "" "loopMIDIの実行ファイルのフルパス"
timeout /T 「秒数」
start "" "VSTHostの実行ファイルのフルパス"
timeout /T 「秒数」

rem Dominoの起動をして起動中は待機
start /wait "Dominoの実行ファイルのフルパス"

rem loopMIDIを終了させる。
taskkill /IM "loopMIDIの実行ファイル名" /T

【rem】
コメントコマンド(ただのメモ 実行プログラム的には何の関係もない)

【start】
バッチファイルやアプリケーションを呼び出すコマンド

【start "バッチファイルウィンドウ名の設定" "実行ファイルのフルパス"】(最初の""内はタイトル設定確定なので、基本無記名の""を入れる)

【timeout】
単に指定された時間を待つだけでなく、途中で何らかのキー入力をすると、そこで終了する(休止を中断する)

【timeout /T 秒数】
/Tは待機時間の指定で、単位は「秒」 99999秒まで入力可

【start / wait】
アプリケーションの起動後、終了するまで待機する

【taskkill】
タスクやプロセスの終了

【taskkill /IM "プロセスのイメージ名"】
終了するプロセスのイメージ名(プロセスを開始した実行ファイル (.exe) の名前)を指定する

【taskkill /T】
親プロセスと共にすべての子プロセスも終了することを指定する

このファイルを実行すると一連のプログラムとDominoが起動して、Dominoが終了のタイミングでloopMIDIも終了するようになる・・・と思う(´・ω・`)

start はプログラムを起動すると実行後すぐに制御を返す(次の行のコマンドに制御が移る)のね。
ところが、/wait ってオプションをつけて起動すると、起動したプログラムが終了するまで制御を返さない(次の行のコマンドがプログラムが終了するまで実行されない)。
その次に書いた「taskkill」っていうのは指定したプログラムを終了するコマンド。
ちなみに、taskkill の部分で実行ファイル名の指定は拡張子まで含めないと動かないっす。
これを利用して、Dominoだけ「終了待ち」状態にすることで、うっちょんがDominoを終了するまでtaskkillの実行を待たせているんよ。

start コマンドの仕様で最初に「"」で囲まれた文字列はウィンドウタイトルに使うって事になっていて、

start "C:\(フォルダ名色々)\loopMIDI.exe"
これは
start "" "C:\(フォルダ名色々)\loopMIDI.exe"
みたいにダミーの「""」最初の方に追加してないとうまく動かないヘンテコ仕様(´・ω・`)

VSTHostも終了させる必要があるときは
taskkill /IM 「VSTHostの実行ファイル名」 /T
って感じのを「taskkill /IM 「loopMIDIの実行ファイル名」 /T」の上の行あたりに書いておくといいと思うよ~

loopMIDIの重複起動はソフトの作りでなんとも言えないけど、常駐させる必要がないなら自動起動は止めたほうがいいかも。

それと、今回一斉に起動するように書いちゃったけど、早すぎてエラーになっちゃう場合はコマンドとコマンドの間に
timeout /T 「秒数」
って書くと指定秒数だけ待ってくれるからうまくいくかも。
99999秒までまってくれますぜ( ゚Д゚)b

私「LoopMIDIが終わらなかった・・・」

テスト用の仮想環境だけどWindows10に実際にいれて確認してみたら再現した~orz
ソースがないから憶測になるけれど、普通windowsアプリって終了に関する命令を受けたら速やかに停止させるように作らないといけないのだけど、そのへんを作ってないみたい。

taskkill には「/F」オプションで強制終了させる事も出来てloopMIDIもこれだと終了はしたけれど、これをやるとloopMIDI内部の終了処理もされないから件の問題の解決にならないかも・・・orz
でも上の注意書きサイトのPCを終了したり再起動させるbatもloopMIDIを強制終了させているみたいだけど、これが大丈夫ならいけるのかな?w

ただ、loopMIDI本家の英語のサイトやリリースノートを読めないながら読んでみたんだけど、終了させないでPCを落としちゃダメって感じの事が書いてあるように見えないんよね・・・。

うん、お手上げっす┐(´Д`)┌

【taskkill /F】
強制終了するプロセスを指定する

以下は、私が書いたbatファイル

rem プログラムを起動していく。
start "" "C:¥(フォルダ名色々)¥loopMIDI.exe"
timeout /T 8
start "" "C:¥(フォルダ名色々)¥vsthost.exe"
timeout /T 8

rem Dominoの起動をして起動中は待機
start /wait "" "C:¥(フォルダ名色々)¥Domino.exe"

rem loopMIDIを終了させる。
taskkill /IM "vsthost.exe" /F /T
timeout /T 8
taskkill /IM "loopMIDI.exe" /F /T
pause
exit

一応、上手くいきました。

区切り線

2. VSTHostの基本的な使い方

土台の設定は、「初心者になるための耳コピMIDI講座 #02 オーディオ環境の導入」のサイトを見て終わった事にします。

起動した時に初期状態なら、InとOutのボックスだけが表示されます。

VSTHostのInとOutボックス

これは×ボタンを押しても、消えませんでした。
大事な物だから、ありがたいです。

プラグインの呼び出し方は、下の2通りみたいです。

VSTHostのプラグイン呼び出し

これは、音色や音の効果設定を呼び出す為のものです。
私は、「ProteusVX」「Simple Na Mixer」を呼び出しました。
Simple Na Mixerは、全チャンネルの音量などを纏めて操作出来るものらしいです。

今回は、下の二つを呼び出しました。

VSTHostのプラグイン呼び出し結果

ちゃんとOutと繋げるように。
接続する緑ボタン同士をドラッグ&ドロップすれば、繋がります。
接続を切る方法は、もう一度緑ボタン同士をドラッグ&ドロップするのですが、最後にボタンを離す前に右ボタンを押しましょう。

次は、Dominoと繋げる為のポート設定です。

VSTHostのプラグイン内設定1

×ボタンの下のボタンを押してね。

VSTHostのプラグイン内設定2

MIDI Input Devices画面の中にある、Dominoで設定したポートを選んで、OKを押して下さい。
複数のポートを使うのであれば、Ctrlボタンを押したまま選んで下さい。
Dominoでの設定がまだでしたら、好きなのを選んでいいと思います。
その代わり、Domino側で合わせて下さいね。

1つのチャンネルのみ呼び出すのであれば、ウィンドウの右下に出る「Filter Settings...」ボタンを押して、選びたいチャンネル以外のチャンネル番号のチェックボックスを全てチェックして下さい。

次は、プラグインのソフトを立ち上げます。

VSTHostのプラグイン内設定3

×ボタンから左二つ目です。

VSTHostのプラグイン内設定4

最初に設定してあれば、Fileからexbデータを呼び出す必要はありません。
音色番号が出ていなければ、

「Flie」からProteus X Composer v2.0.1.exbを読み込む。
・画面左に出ている「Presets」フォルダの下にある、「Multisetups」の中に入ってる、M000 Multiout Bus X16を右クリックして、Loadを押す。
Proteus VX VSTiボタンを押す。
「1-16」のタブを押す。
「OUTS」タブを押す。
・OUTPUT欄の▼を押して、BUSを1~16までを設定する。(初期だと全部Bus1になってる)

以上の設定をして下さい。
REAPERでは、毎回呼ぶ必要があって面倒でした・・・。
これは楽チン。
音色確認はDomino側で出来るので、取りあえずはこれでOKなはず。

Simple Na Mixerの設定も同じようにやって下さい。
詳細は、土台設定の説明をしてある上記のサイトを見て下さい。
私もまだちゃんと調べてないので、よく分かってません(´・ω・`)
プラグインのソフトが存在しなければ、ボタンはOFF表示になってるので、分かりやすいです。

もし音が出ないのであれば、Windowメニューの「Engine」内の「Run」にチェックが入ってるか確認してください。
チェックがされてなければ、音が出ないそうです。

最後はセーブ方法ですが、普通にセーブするのとは、ちょっと違うようです。

Performance→Save As...(Save)でセーブする。
Performance→Export...で、セーブする。

Performanceへのセーブは、直接登録する感じですかね?
「Export」で書き出し、「Inport」で読み込みします。
他に二つやり方があるようですが、私は読み飛ばしました(´・ω・`)
設定を配布する時に使うらしいので、私には無縁かと思って・・・。

VSTHostも結構不安定らしく、あまりいじりすぎるとフリーズしたりするそうです。
私はまだそこまでいじってないので、まだフリーズはしていません。
再起動したりインストールし直すと、また使えるそうです。
フリーソフトだから、不安定なのかしら・・・?
DTM作業をするなら、まずはこういうフリーソフトで慣れてからの方が、有料ソフトを選びやすいでしょうね。
今の私には0から分からないので、買っても使いこなせないと思いますし(;´・ω・`)

区切り線

3. Dominoの基本的な使い方

動画を作る時に少しだけ使った事があるので、ここではVSTHostと接続した時の使い方だけを纏めます。

・「ファイル→環境設定→MIDI-OUT」で、ポート設定
  VSTHostと合わせてね。

・「各チャンネルを右クリック→トラックのプロパティ」で、ポート設定
  どの音を使うか選んでね。

・各チャンネルの音色を選びます
  Event内の「PC:○○○~」とか書いてあるものをダブルクリックするか、無ければ「---CH Setup---」内を選んで「挿入→プログラムチェンジ」を押して、出てきた「Program Change」をダブルクリックして下さい。

以上です。
細かい設定はまだ勉強中ですが、「MSGS」の音源を使わないで「VSTHost」を使う場合、ドラムセットリストではなくて音色リストを選び、マップで「Kit」「Percussion」を選べば、「PC#」からリズム音が選べます。
問題は、ドラムセットリストじゃないので、打ち込み画面の左側はキーボード表示になってしまうって事。
ドラムセットリストだと、リズム音名が表示されるから分かりやすいんですけどね・・・。
選んだ音色によって、リズム音の場所の種類が違うから、どれが何の楽器なのかを耳でしか確認が出来ない。
何か、一覧が出る方法とかないのかなぁ・・・?
ありそうな気がするんだけど・・・。
まだまだ勉強中(´・ω・`)

区切り線

今回は、ここまでです。
次回は、ドラムとベースについて調べています。

※内容は、上記のブログと殆ど同じです。

モチベーションにも繋がりますので、宜しくお願いします!