先日の動画でMIDI in(Beta)についてご説明されていましたが、いまひとつ使い方がよくわかりません。
IOSのM16やAndroidのSuper MIDIなども参考にして、MIDI信号を送ってみたのですが、ドラムとピアノの音しか鳴りません。
動画ではスーパーマリオの音でデモしておられましたが、どのようなMIDI信号を送ったら音色を変更できるのでしょうか?
現状は、以下の通りです。
MIDI Ch10へ信号を送るとドラムの音が鳴る。
MIDI Ch1- 9, 11 - 14へ信号を送るとピアノの音が鳴る。
MIDI CH15へ信号を送るとパッドに割り当てられた音が鳴る。
MIDI CH16へ信号を送るとボタンに割り当てられた音が鳴る。
(ボタンの演奏モードがONの場合、OFFの時は何も鳴らない)
また、MIDI Ch1- 9, 11 - 14へ音色変更(MIDIのプログラムチェンジ)を送っても音色が変わらない。
まだBetaということですので、お答えいただける範囲で構いませんので教えていただければ幸いです。
ご活用ありがとうございます。
実はMIDIに詳しい者が開発メンバーにいないため、どう使ったら良いのか、よく分かっていないんです。
実際に私もDAWからコントロールする際にプログラムチェンジの値が反映されなくて困っています。
Cakewalkで色々と試した場合、音色を反映させるためにはかなりイレギュラーな設定が必要でした。
プログラムチェンジには
- MAP 音色セット
- PC 音色番号
- BANK 音色のバリエーション
の3つの値を伝えるのですが、「MAP」の部分に音色番号を入れると正しく音色が変わるようです
しかし、動画でm16からスーパーマリオの曲を鳴らしたように、既存のMIDIデータはちゃんと音色データが反映されています。
ゆーいち様
情報ありがとうございます。
私もMIDIはあまりくわしくないのですが、昔のミュージ郎でDTMにはまって、少し勉強しました。
なるほど、やはりプログラムチェンジだけでは音色は変わらないのですね。
通常のMIDIでコントロールできる電子楽器の音色切り替えは、プログラムチェンジだけで行えるという
ことになっているはずですが(MIDIの規格として定義されているわけですから)音源チップのSAM2695では
もうひとひねりが必要のようですね。
もう一度データーシートのMIDIインプリメンテーションのところをじっくり読みこんで、いろいろと試してみたと思います。
Cakewalkの例を参考にMAPに音色番号入れてみて試してみます。
それから、M16で鳴らしていたスーパーマリオの曲のMIDIデータはどこからか入手可能でしょうか?
もし、インターネットで手に入るのであれば入手先を教えていただければ幸いです。
ダウンロードしてファイルのMIDI情報解析してみます。
なにかわかりましたら、このユーザーフォーラムで公開したいと思います。
ありがとうございます。
データシートを見る限りではPCの値を入れれば良いはずで、本体側の設定もそうしてるだけなんですけど、ちょっとよく分からないんです。
スーパーマリオのMIDIデータはネットに上がっていたんですが、どこで見つけたか覚えていないので添付します。
GM音源用のSMFファイルはたいてい問題なく音色データが反映されるようです。
ゆーいち様
スーパーマリオのMIDIデーターありがとうございました。
MIDIデーターの内容を調べてみました。普通のMIDIファイルで、曲頭でCh1-3を音色27番(Jazz Gt)へ切り替えているだけで、後は演奏データでした。
PCとiPadから同じMIDIデータを送っているのに挙動が異なるので、音源チップの仕様ではなく、構成面やMIDI伝達方法など別の角度から考え直してみました。
現状までに試した構成
M16+iPad -- BLE MIDI -- Instachord 音色変更OK 演奏データOK
Cakewalk+PC -- USB-C MIDI -- Instachord 音色変更NG 演奏データOK
PCでのBLEとiPADでのUSB-Cの構成を試していないことが解りましたので、次の構成でやってみました。
M16+iPad+USBカメラアダプタ -- USB-C -- Instachord 音色変更NG 演奏データOK
Cakewalk+PC+内蔵BT(MIDIBerry+LoopMIDI) BLE --Instachord 音色変更OK 演奏データOK
以上の結果から、有線USB-C接続の時は音色変更(プログラムチェンジ)データがうまく音源チップに届いていないような気がします。
有線USBとBLEで受信したMIDIデータ―が音源チップに届くまでにInstachord内部で処理に違いがあるのかもしれません。
インスタコードの使い方のフォーラムで、インスタコードの動作検証みたいな内容になってしまって申し訳ありません。
もともと、MIDI IN機能でやりたかったことは、インスタコードでワンマンバンド、マイナスワン演奏です。
PCのDAWでマイナスワン用カラオケを作り、そのMIDIファイルをM16などからBLE経由でインスタコードへ送って、ライブパフォーマンスすることをイメージしていました。
インスタコードに搭載している音源チップの仕様書を読むと、16パート、128音色、同時発音数64音、リバーブ、コーラス等エフェクター装備と、かなり高機能のようですので、MIDI IN機能でかなり応用範囲が広がるのではないかと期待しています。
インスタコードは昔のミュージ郎の音源モジュールCM-64を持ち運びの出来る楽器に内蔵し、外でライブパフォーマンスができるという、すごい可能性を感じる楽器だと思います。
MIDI IN機能のBetaが外れるとき、どのような機能になっているか楽しみです。
長文失礼しました。
@kuro01 ちなみに教えていただきたいのですが、MIDIBerry+LoopMIDI を使った場合、一度使用するとソフトを起動していなくてもWindowsが勝手に接続してしまって、他の機器と接続できなくなるという問題があったため、使用を推奨していないのですが、そのような不具合は発生していませんか?
ゆーいち様
USB-C接続での問題が解決できそうとのこと、朗報です。楽しみにしています。
実験の結果がお役にたたてうれしいです。
MIDIBerry+LoopMIDIの件は、このソフト以前の問題で、Windowsマシンとインスタコードを、Bluetoothで一度ペアリングしてしまうと、WindowsのBluetoothがONになっていると勝手にWindowsに接続してしまいます。(MIDIBerryが起動していないときはBluetooth機器として接続しているだけなのでMIDI機器としては利用できません。)
インスタコードを他の機器と接続するには、WindowsのBluetoothをOFFにする必要があります。
(BTマウスやBTスピーカーなどを使っていて)OFFにできない場合は、設定からインスタコートとのペアリングを解除(デバイスの削除)する必要があります。
この辺、PCやwindowsのBluetoothの仕様というかペアリング解除の操作を知らないと、インスタコードが他の機器とつながらないという風に見えてしまいますね。
iPadでもやっていることは同じなのですが、ペアリングの仕組みやUIがうまくできていて、MIDI機器を利用しないときは自動的にペアリングが解除されるようになっているみたいです。
キッコサウンドのMi.1 TypeBを入手したので、こちらでもいろいろ試してみます。
ゆーいち様
さっそくVer1.56にアップデートしてUSB-C接続での音色変更試してみました。
DAWで音色を変更すると、きちんと切り替得ることができました。また、先日いただいたマリオの曲もBLEと同じ音色で鳴りました。
キッコサウンドのMi.1 TypeBをUSB-MIDI I/Fに接続して試してみました。(添付写真参照)
PCからはUSB接続としてインスタコードが見え、実際はBLEでつながっているという、かなり面白い使い方ができます。PC内蔵のBluetoothでの接続と違って、煩雑なペアリングや使用後のデバイス削除等の操作は必要ありません。
USB-MIDI I/FとMi.1 TypeBを使うと、(ペアリングされていれば)インスタコードの電源を入れただけですぐ接続され、使用可能となるので快適です。
ものすごいスピードで進化していくインスタコード、これからもどんな機能が追加されるかとても楽しみです。
@kuro01 さま
情報ありがとうございます。
お陰さまでUSB MIDIの問題はおそらく解決して、ようやくまともに動かせるようになりました。
また、WindowsのBluetoothが勝手につながる仕様についても教えていただきありがとうございます。
たしかに、M5Stackのハードや、mi.1のようなBLE機器なども自動的に接続しちゃいますね。MacやiOSはいちいち接続しないといけないのは面倒だと思っていたのですが、そういうメリットもあるんだとあらためて気づきました。
お試しいただいたようにUSB MIDIケーブルとmi.1を接続すると、MIDI BerryやMacの内蔵Bluetooth MIDIよりもレスポンスが良いので、その比較動画も作っているところです。
これからMIDIを利用した活用方法も提案していくので楽しみにしていてください。