MIXandCC

こんにちは

MIXAndCCです。以降よろしくお願いします。
インストールについても、気が向いたときにでもお願いいたします。

 こちらは、MIXAndCC(みっくすあんどしーしー)です。
 CCとは、もちろんMIDIの”Control Change”の略です。
 MIDIコントローラとしてスタートしました。

 このスマホアプリを作成している私も「DTM」を趣味のひとつとしています。
 関連アプリを、Android用としてリリースいたしています。
 すこし遅くなりましたが、サイトも公開させていただきます。(^^)

 Androidユーザーの方は、Google Play から、ダウンロードいただけます。
  ダウンロードはこちら:GooglePlay

 Fireタブレットユーザーの方は、AmazonアプリStoreから、ダウンロードいただけます。
  ダウンロードはこちら:Amazon

※他のサイトに登録されているものは、なぜなのか私たちには、わかりません。

MIDIコントローラーです

この、MIXAndCCは、「私が、自分として」いいかなとおもえるMIDIコントローラです。

・なるべく、簡単な操作性を目指しています。
・16パッドより選択したメッセージを、2つのスライダーにロックすることもできます。
・16CHの状態はそれとは別に管理できます。
・ドラッグドロップで、アイテムを入れ替えられます。
・ボタン(スライダー)に名前も付けられます。

送信できるメッセージは、CCにとどまっていません。

 つぎのMIDIメッセージなど、対応させていただきました。

  CC (コントロールチェンジ)
  Data Entry (データエントリーRPN/NRPN)
  Program Change (プログラム)
  Program & Bank (バンク+プログラム)
  Note On (ノートON、和音)
  System Exclusive (システムエクスクルーシブなどバイナリ全般)

Dominoさんの定義ファイルを50%以上くらいには、再利用することができそうです。
Domino作者のTakaboさまには、オープン仕様として、こちらの勝手で読めるようにするのは、問題ないと伺いました。

定義ファイルは、SysEXなどを送るさいに、あいまいな記憶を手助けしてくれるかもしれません。

サウンドフォントシンセサイザーも含まれています

 fluidsynth 2.5.1をサウンドフォントシンセサイザーとして使わせていただいていますので、 MIDIデバイスが、手元にないときでも、マルチティンバー音源を鳴らすことができます。Android16ですと、リアルタイム録音に支障ない程度のサウンドの遅延で済むようです。 MainバスのMIDI出力として”General User GS.sf2″を選択すること、MIXAndCCで利用可能になります。

 FluidSynth – A Sound Font Synthesizer
  https://www.fluidsynth.org

 GeneralUserGS – GS and GM compatible SoundFont
  https://schristiancollins.com/generaluser.php

 ※これらの利用・再利用・商用利用の際のライセンスの仕組みは、上記リンク先に、記載されていました。
 この、AndroidをPCや、USB-MIDIキーボードの音源としてつかったり、逆に、USB-MIDIを経由して複数のデバイスを制御することも可能です。BlueToothも一応対応してあります。
 そのうえで、他のアプリからのMIDI出力を”MIXandCC MIDI(Mainバス)」として、別のアプリからMIXAndCCを経由して、FluidSynthを奏でることもできます。

 当初は、シンセサイズまで自分で実装しようとしたのですが、私はJavaというプログラミング言語を用いていて、どうしても、音の始まりので、音とびしてしまうことを防ぐことができませんでした。また、SoundFontの規格の多くに対応することが、私には難しいと思い、使わせていただくようになりました、そのほうが利用者さんにも、メリットがありますからね。

「Dコントローラ」の特徴

メインのコントローラの機能は、「Dコントローラ」 と呼ぶことにしています。

 16のパッドを選択することで、信号も選択されます。ひだりて、信号を選択して、右手で、スライダーを操作するイメージのレイアウトです。
 ドラッグ&ドロップは、配置変更や、ドラッグに応じて値を変化させるモードにすることもできますが、無効にすることも、右上のレコードマークのナビメニューから設定できます。

 スライダーのほか、数値が一覧表示されているなかの、#Valueより、ポップアップさせれば、子刻みの設定や、数値入力もおこなえます。

 SysEXの場合、について、チェックサムを計算して付加できます。 [ と ] で囲んだ箇所のチェックサムを] の位置で送信できるようになりました。最近です、これからどんどん対応フォーマットを増やしていきます。

 ノートオンは、タップをはなしたさい、標準でノートオフを送っています。ノートオンは、コード名で設定できます。逆に、外部キーボードからおさえたものを記憶することもできます



 ピアノロール機能があります。


 すこし以前のAndroid端末でも、コントローラとしては、十分にうごきます。Android10以上に設定していると記憶しています。
 Bluetooth(親子・子機)および、USBコンプライアントMIDIデバイスにも対応しています。

 もし、もし、改善できそうな点や、なにか不具合が見つけられたら、X(旧:Twitter)やFacebookにご連絡いただけますと、アプリの改善に役立たせていただきます。他のユーザー様にとりましても、改善されれば、とてもいいことになります。

ご利用にあたって

利用規約への同意をお願いしております。同意いただける場合、アプリはご利用頂けます。

利用規約の全文はこちらです。

簡単にまとめてみますと、小規模開発というのもあって、動作を完全に保証することは難しいですということです。そして、なんでも送れるアプリですが、いたずらには使わないですください。というお願いです。

ご利用になりたいみなさんには、同意していただいております。

マニュアル

セクションに分かれています。気になるアコーディオンを開いてみてください。

MIDIデバイス設定

トップメニュー画面、また、右上ナビミューから、MIDIデバイス設定を最初に行ってください。アプリは、設定したデバイスをコントロールします。設定しなくても動作するかもしれませんが、なにもしないということになると思います。

デバイスの選択肢は、下記の通りです。

・USBを検索
 Android対応デバイスはそのまま名前が表示されます、それ以外にも、BLE/USBのボタンより、低遅延USBドライバを使うこともできます。どちらが安定するかは、環境によると思います。ドライバとして使っているモジュールへ興味を持たれている方や、万が一一覧に表示されたくないデバイスの製造元さんは、コンタクトいただければ対応したいと思っています。

・他社MIDIアプリとの連携
 他社アプリで、このソフトをMIDIインにしたい場合、”MIXandCC MIDI”とつなげていただければつながると思います。

・Bluetooth MIDI
 「BleMIDIを検索」「BleMIDIになる」のふたつ用意されています。MIDI1.0のBleMIDIに対応したします。

・サウンドフォント
 ”(ファイル名).sf2″を指定することで、FluieSynth対応のサウンドフォントをご活用いただけます。

・パソコン用のMIDI機器にする
 アプリの動くAndroid端末のほとんどは、USB-MIDI機器として使えると思います。
 「設定」アプリより、「USBの接続用途」に、MIDIがあることを確認してください。

・MIDI入力と出力の組み合わせを、Main,Aux1,Aux2,Aux3のいずれかで組み合わせた場合、信号はそこに送られます。通常は、Mainだけをつかうと思います。一応、Aux1と、Aux2に別の出力(SoundFontなど)を設定することで、他のアプリからみえるMixAndCCのAuxはそこにつながることになります。16Ch以上の、SoundFont音源としても使えます。

※再起動のボタンにより、すべてのデバイス、メモリをいったん解放します。

メイン・Dコントローラー

スライダーに割り当てられたパッドの信号を送信します。難しい言い回しですが、

 青にロックするモードでは、選択したパッドが、青スライダーに関連づけられます。赤の場合も同様です。青モードでまた青スイッチをタップすると、そのあとパッドを選択しても、変更されません。

 想定しているのは、パッドにノートを割り当てて、スライダーには、ピッチやなんからしらのMODをアサインしておくというものです。


マルチタッチデバイスでは、そのように動作します。

送信するメッセージは「ナビゲーション」から簡易選択できます。「コマンド」で詳細設定も行えます。

メッセージをXMLでカスタマイズ

コマンドリスト画面で、「+」や「✐」をタップすると、それぞれ新規エディタおよび、編集エディタになります。
テキストをみながら手入力するより、「ナビゲーション(XML)」から定義ファイルを使うほうが、間違えはないと思います。


何も設定しないとGeneral MIDIに対応している定義ファイルが用いられます。SoundFontが開かれている場合は、そちらが優先されますが、ほかの選択も可能です。

Domino(C)たかぼー様で使われている、音源定義ファイルを、非公式ながら、半分以上の確立でよみとれる、と思います。MIDIはオープン仕様ですからね。

相互協力ではございません。このアプリ上のことは、MIXAndCCのサポートへお問合せください。

万が一、カスタムコマンドをお使いになりたいばあいには、「コマンド」をタップしていただくことで、直接入力いただけます。ViewHelpより、「MIXandCCコマンド文法」をブラウザで開きます。

ナビゲーション:ノート

パッドから、ノートをならす設定を行います。和音もOKです。タッチパネルか、MIDIインのキーボードから設定できます。コードを検出します。タッチパネルはトグル式ですが、MIDIインのキーの場合には、最後に検出した和音です。
 検出の仕組みを説明する文章を書いています)
   CEGを、外部キーでおさえる(Cと表示される)。
   Gだけはなして(変化なし)
   Aをおさえる(Am)と表示される
   全部はなす(変化なし)
   DEAをおさえる(Asus4と表示される)。
 つまり、ひとつでも放したあと、別のキーを押すと、再設定します。

もちろんですが、コード名から、ノートご指定いただくことも可能です。

ナビゲーション:コントロールチェンジ

コントロールチェンジの一覧から選択します。

ナビゲーション:プログラムチェンジ

XML上のプログラムチェンジの一覧から選択します。

ナビゲーション:データエントリー

XML上のデーターエントリーの一覧から選択します。

サウンドフォント(FluidSynth)

MIDIアウトとして、サウンドフォント名を選択できます。設定画面から設定を変更することもできます。音を確認するための、おまけ程度のつもりでしたが、いろんなことが出来るかもしれないです。

 ・フォントの追加
 ・「平均律」あるいは、「純正律のキー数種類」
 ・基本A4周波数(一般的に440hzや442hzで指定されることのあるあれです)

エフェクタはこの画面にはありませんが、MIDIメッセージによりチャンネルごとに変更できます。ルームサイズなどの変更は対応していません。

なお、60秒信号のやり取りがない場合、音声合成を一時停止します。立つ上げなおしは、再び信号がきたときです、1秒ほどかかる場合があります。ペダルなどでも、MIDI信号である限り、立ち上げることが出来ます。

シーン

シーンとして、設定をストックできます。

手をかけて設定したコマンドです。あとでもう一度使いたいということもあるかと思います。
長期間つかいたいものは、コピーしたり、名前をつけたり、ドラッグして並び替えたりすることができます。

選択したものが、メイン画面でロードされます。

一括チャンネル変更

16パッドのすべてのチャンネルが一致している場合、右上のメニューから、一括チャンネル変更を実行できます。

プレイヤー

スロットを選択して、再生ボタン。これで、再生されます。(ピアノロール)。デモソングをタップすると、いつでもデモソングをロードできます。いつでも一覧から消すことが出来ます。

記録を押すと、記録する準備をします。何度かテストしていただき。うまくやれそうになったときに、ご活用ください。失敗したら痛いですからね。

スタンダードMIDファイルとしてダウンロードできます。
ファイル取り込みは、MIDIファイル(*.mid)のほか、16進数テキスト(.txt)のSysEXに対応しています。

システムエクスクルーシブなどの、ファイラーとしてお使いいただくことも可能です。ただし、万が一の事故がおきても、責任をとれるデバイスに対してのみお使いいただくことを推奨しています、端末だけでもとに戻せる、または近くにPCがある場合などを想定しています。

記録準備(メトロノームも、こちらに含まれます)
再生

ピアノロールです、MIDIを再生すると、この画面です。Filesアプリやブラウザから起動もされます。おまけの機能ですが、オルゴールのモードがあって、GMのオルゴールでパンニングしながら再生もできます。

※動画などとしてアップロードされる場合、著作権などいろいろとご注意ください。
※Androidの画面録画は、ステレオ音源にならないと思います。
※SoundFontについては、低遅延を解除しないと音まで記録されないAndroidが多いです。

ピアノロール画面で設定いただける項目があります。
ピアノロールをタップして設定ダイアログを開いてください。

 ・ハイライト
  注目したいパートを目立たせます。CH1~16のチャンネルボリューム加算できます。
  例ですが、+32で加算64相当、-64で減算128相当です。
  ピアノロールからの再生でのみ、適用されます。
  ※スクリーンで、色がかさなるとき、この数字の大きいパートの色が光ります。もし音量を最小にしている場合は、マイナスワンなので、そのパートで光ります。

 ・トランスポーズ
  トランスポーズです。値を変更すると、一度AllNoteOffを処理したうえ、発音、表示ともにトランスポーズします。

 ・秒数/ページ
  1画面におさまる秒数を選べます。16秒ではほんとにゆっくり、2秒はすこし早すぎるかもしれないです。

接続確認がされているデバイス

開発時、動作を確認したインターフェイスの一覧です。これ以外もだいたいOKだと思うのですが、
接続にこまったときに、参考にして頂ければと思います。

動作確認済タブレット・スマホ:Google Pixel 6, Google Pixel 9a, Blackview TAB60, Sharp Aquos Sense3
アプリへ接続:OS内ルーティング可能なアプリ
MIDI音源へ接続:Roland UM-ONE mk2、TASCAM Series102i(Elecom USB Adapter経由)、SonicCell
USBデバイスをふるまう:Microsoft Windows10, Windows11
Bluetooth子機につなげる:YAMAHA MD-BT01
Bluetooth子機としてふるまう:Android、Kindle、Windows、iOS

途中でつながらなくなった場合や、デバイスが見つからなくなった場合には、
アプリ再起動や、Bluetoothを一時OFFにして戻したりする必要があることが多いです。
kshojiさんの、USB/BLE-MIDIドライバをベースにしています。Apache2.0@GitHubより

1) 共通フォーマットを受け入れるUSBデバイスやBluetoothデバイスは表示してしまいます。
2) 共通の伝送フォーマットとは異なる場合は、表示されていても動きません。
3) 非表示をご希望のハードウェアをお持ち方は、ご連絡いただければ、非表示にするという対応をとらせていただくことも可能です。

広告は、表示されます

画面の下部に、Google広告が表示されています。収入源は広告としています。
こちらは、Googleを利用する広告主様によるものです。その際、パーソナライズされた広告が表示されます。

Googleのマイアドセンターから、パーソナライズの程度の変更が可能かと思います。
 https://myadcenter.google.com/home

また、表示する設定ですが、内容のすべてを把握しているわけではありません。

そして、ウェブの広告は、アプリに広告を掲載するため、設置する必要がありそうな流れを感じるやりとりがあったため設置しております。

広告を表示しています。