音の強弱をリアルタイムで演奏に合わせてくれるドラム演奏システム
研究紹介
ドラマーと一緒に演奏したいミュージシャンのための、ドラム自動演奏システムの研究を紹介します。当研究室卒業生の関さんが研究開発しました。
研究背景
ドラムの年間販売個数はギターやピアノよりも少なく、ドラマーの人口はギタリストやキーボーディストより少ないと考えられます。ドラマーの代わりとなるドラムの自動演奏はこれまでも研究されていますが、研究成果物であるドラム自動演奏システムは選択したドラムパターンを出力するもので、演奏に対する表情付け[1]がなされていませんでした。
この研究は、システムが出力するドラム演奏をより表現力豊かにするために、リアルタイムで音の強さ(ベロシティ)の表情付けを施したドラム演奏を出力できるようにするものです。
AutoDrumデモ
デモ動画作成中。完成次第公開する予定です。
スタートガイド
Windows 11にインストールして動かす方法をご紹介します。
システム構成図
主なシステム構成パターンは次の通りです。
キーボード | ピアノ音源 | ドラム音源 | |
---|---|---|---|
A | 音源内蔵キーボード | キーボード内蔵ピアノ音源 | VSTプラグイン |
B | 音源内蔵キーボード | キーボード内蔵ピアノ音源 | キーボード内蔵ドラム音源 |
C | 音源内蔵キーボード | キーボード内蔵ピアノ音源 | 外部音源 |
D | 音源無しMIDIキーボード | 外部音源 | 外部音源 |
E | 音源無しMIDIキーボード | VSTプラグイン | VSTプラグイン |
キーボード内蔵ピアノ音源とドラム音源VSTプラグインを使う場合(A)
キーボード内蔵ピアノ音源とキーボード内蔵ドラム音源を使う場合(B)
キーボード内蔵ピアノ音源と電子外部ドラム音源を使う場合(C)
ピアノとドラムに同じ外部音源を使う場合(D)
ピアノとドラムにVST音源プラグインを使う場合(E)
プログラムを動かすために必要なハードウェア
1. PC
この記事を作成する際には、HP spectre x360 (Windows 11)を使いました。
2. MIDIキーボード
MIDIキーボード又はMIDI対応の電子ピアノやシンセサイザー等を使います。
この記事を作成する際には、Oxgen25とYAMAHA CK88を使いました。
3. MIDIケーブル
MIDIキーボードとPCを接続します。
MIDI端子の場合は、ケーブルのOUTをキーボードのMIDI IN、ケーブルのINをキーボードのMIDI OUTに接続します。
ケーブルの種類によってはドライバーをインストールする必要があります。PCに接続したMIDIキーボードがMIDIデバイスとして認識されていない場合は、対応するドライバーを調べてみてください。
YAMAHA UX-16というMIDI-USBはケーブルは、ドライバーをインストールする必要があることがわかっています。
4. スピーカー
PCにスピーカーがついていない場合や、音質を良くしたい場合は、PCにスピーカーを接続します。
5. 外部音源(シンセサイザー/電子ドラム)
外部音源を使う場合に接続します。
プログラムを動かすために必要なソフトウェア
AutoDrumを動かすために必要なソフトウェアです。
1. AutoDrum
ドラム演奏システム本体です。
インストール
Assets のファイル一覧から windows-amd64.zip をダウンロードし、展開します。
当記事執筆時のバージョンは0.0.2です。
2. Java 17 以上
AutoDrumはProcessing 4を使ったアプリケーションです。Java 17で動作します。
3. 仮想MIDIケーブル(A、E の場合)
プログラムとVSTプラグインホスト(後述)を接続するソフトウェアです。
今回はloopMIDIを使います。
インストール
loopMIDISetup_1_0_16_27.zipファイルをダウンロードして展開します。
loopMIDIのページには
Virtual loopback MIDI cable for Windows 7 up to Windows 10, 32 and 64 bit.
と書かれていますが、Windows 11 でも利用できることを確認済みです。
設定
起動する
loopMIDISetup.exeを実行します。
Portを追加する
loopMIDIを起動後、左下の+ボタンを押下し、loopMIDI Port を追加します。
4. VSTプラグイン(A、E の場合)
VSTとは、Virtual Studio Technology の略称で、プログラムから作曲ソフトウェアの機能を利用するための規格のひとつです。
VSTプラグインをインストールすることで、作曲ソフトウェアで使う高品質な音源などを利用できるようになります。
この記事では音源として、VST3という規格のVSTプラグイン、且つ無料のものを利用しました。お好みの音源があれば是非そちらをお使いください。
-
ドラム音源(A、E の場合)
電子ドラムの音源を使う場合は不要です。
MT Power Drum Kit2
-
ピアノ音源(E の場合)
電子ピアノの音源を使う場合は不要です。
Audiolatry Upright Piano
*このプラグインは、€0.00でカートに入れ、チェックアウトする必要があります。
「VSTプラグイン ピアノ フリー」等のキーワードで検索すると音源が見つかります。
インストール
C:\Program Files\Common Files\VST3 フォルダーに上記音源を配置します。
- C:\Program Files\Common Files\VST3\MTPDK\MT-PowerDrumKit.vst3
- C:\Program Files\Common Files\VST3\MTPDK\MT-PowerDrumKit-Content.pdk
- C:\Program Files\Common Files\VST3\Upright Piano Windows VST3\Upright Piano.vst3
- C:\Program Files\Common Files\VST3\Upright Piano Windows VST3\Upright Piano.instruments\ [2]
5. VSTプラグインホスト(A、E の場合)
VSTプラグインを利用するためのソフトウェアです。
今回はVSTHostを使います。
システムの種類別にzipファイルがたくさんあるので、実行環境に合うものをダウンロードしてください。今回使ったPCは64 ビット オペレーティング システム、x64 ベース プロセッサですので、vsthostx86.zipを使いました。
ピアノとドラムで異なる外部音源を利用する場合(E)VSTプラグインは不要ですが、プログラムの出力を複数のMIDIデバイスへ分割するためにVSTプラグインホストを利用します。
インストール
vsthostx86.zip をダウンロードして展開します。
設定
起動する
vsthost.exe を実行します。
プラグインを追加する
File > New Plugin...
先にインストールしたVSTプラグインを指定します。
電子ピアノのピアノ音源を使う場合は、ドラム音源のみ設定します。
プラグインを接続する
各プラグインの左側の赤い点からEngine Inputの右側の赤い点へドラッグする、又は各プラグインのChain after...(左上の鎖アイコン)で0: Engine Inputを選択することで、プラグインを接続します。
Devicesを設定する
Devices > MIDI...
- MIDI Input Devicesタブ
loopMIDI Portを選択します。 - MIDI Output Devicesタブ
Microsoft MIDI Mapperを選択します。
プラグインの MIDI Settings を設定する
MIDIインターフェースアイコンをクリックします。
(左のMIDIインターフェースアイコンをクリックしても同じ設定ウィンドウが開きます。)
-
MIDI Input Devices
MIDI Input Devicesタブ:loopMIDI Port -
Filter Settings...
- Channels
-
ドラム 10以外全てチェック
-
ピアノ 1以外全てチェック
-
- Channels
設定を保存する
Performance > Save As...
任意の名前を付けて保存します。
プラグインを起動する
MT Power Drum Kit2は、起動しておかないと音が鳴りません。
つまみアイコンをクリックし、MT Power Drum Kit2の編集画面を開きます。
SKIPボタンをクリックします。
この画面が表示されたら完了です。
いざ、演奏!
スタートガイド 1. AutoDrumでインストールしたAutoDrum(windows-amd64フォルダ)の Main.exe を実行します。
1. MIDI入力デバイスを選択する
PCに接続したMIDIキーボードや電子ピアノ等を選択します。
YAMAHA UX-16(USB-MIDIケーブル)を使う場合は、[YAMAHA UX-16] が一覧に表示されるので、それを選択します。
2. MIDI出力デバイスを選択する
VST音源プラグインを使う場合(A、E)はloopMIDI Port(仮想MIDIケーブル)を選択します。
それ以外はドラム音源の出力デバイスを選択します。
YAMAHA UX-16(USB-MIDIケーブル)を使う場合は、[YAMAHA UX-16] が一覧に表示されるので、それを選択します。
3. DRUMMER画面でモード等を選択する
キーボードの矢印キー上下で設定項目を選択し、左右キーで値を設定します。
モードと各項目の値を設定したら、enterキーを押下します。
モード
Mode | 説明 |
---|---|
session | ジャンルごとに用意されたドラムパターンがランダムに再生されるモード |
experiment1 ~ experiment9 | 実験用の曲のドラムパターンが再生されるモード |
各モードで設定する項目
Mode:sesstion
項目 | 値 | 説明 |
---|---|---|
Genre | Rock 又は Jazz | 演奏する曲に合わせて選択します。 |
Tempo | 30 ~ 250 | 自分が演奏するテンポに設定します。 |
alpha | 0.0 ~ 1.0 | ドラムパートの音量を決定するために用いる値です。キーボードの音量にどの程度追従するかを表しています。 |
Mode:experiment1 ~ experiment9
各設定値を被験者に知らせずに演奏してもらうためのモードです。テンポのみ設定することができます。
項目 | 値 | 説明 |
---|---|---|
Tempo | 30 ~ 250 | 自分が演奏するテンポに設定します。 |
4. COUNTS画面でドラム演奏を開始する
enterキーを押下すると、カウントからドラム演奏が始まります。
キーボードで曲を演奏してください。
赤い線はキーボードの音量、青い線はドラムの音量を表しています。
5. 演奏を停止する
演奏を停止するにはescキーを押下します。
研究の詳細はこちら
ユーザの演奏のベロシティ変化を考慮するドラム演奏表情付けシステム
Discussion