tasker_icon

日本語版 Tasker ユーザーガイド : Midi

~ ミディ ~

MIDIとは、国際標準となっている電子楽器の規格のことです。Taskerには、USB接続できるMIDI機器であれば特にMIDIに詳しくなくても音楽を演奏させることが出来るそうです。

TaskerのMIDI機器の操作機能は単体ではあまり役に立たないかもしれませんが、MIDIの演奏アクションをタスクに組み込むことでちょっと変わったタスクを作れるかもしれません。

MIDI (ミディ)

Taskerには、MIDIのプロトコルに準拠した音楽機器とデータをやり取りするための基本的な機能があります。

Taskerを通じてMIDI機器の演奏をする際には、MIDIに関する知識は必要有りません。

Requirements and Setup (要件と設定)

Androidに搭載されているROMには、USBホストプロトコルの実装が必須となっています。

‘USB OTG (On The Go)’ アダプターはAndroidデバイスには必須です。

MIDI機器にUSB-To-Hostコネクタが点いている場合、普通のUSBケーブルがOTGアダプターとしてMIDI機器との接続に使えます。

MIDI機器がMIDI接続しか受け付けない場合は、MIDI機器との接続にUSB-MIDI変換アダプターが必要です。

MIDI機器との接続が確立すると、AndroidはTaskerにデバイスを使うのにどの様な権限が必要かを聞いてきます。より簡単で自動的なやり取りを可能にするためには ‘Always’ が選択されている必要があります。

MIDI Play (MIDIの演奏)

Taskerでは、‘Media’ カテゴリーの ‘MIDI Play’ アクションを使って、様々な音色とマルチチャンネルによるMIDIの演奏をサポートしています。

‘MIDI Play’ アクションの ‘Score’ パラメーターには、音楽の知識に乏しくても記述可能なTasker指定のフォーマットで演奏用のコードを指定します。

【例】
C
単音のCを鳴らします。
D D
Dを二回鳴らします。
D . . C
Dを鳴らした後2拍まってからCを鳴らします。
CDA# あるいは C,D,A#
C、D、A#を同時に鳴らします。
D!10
Dをごく弱く鳴らします。
D!10 !100,C C C
Dをごく弱く鳴らした後、やや強めにCを3回鳴らします。
C2 C3 C4
オクターブを上げながらCを3回鳴らします。
D*4
Dを4拍鳴らします。
C#/4
C#を4分の1拍鳴らします。
C#/4D
C#を4分の1拍とDを1拍同時に鳴らします。
@1 C C C
1番の音色を指定してCを3回鳴らします。
C@1,D@2 or C@1D@2
1番の音色でC、2番の音色でDを同時に鳴らします。
@1 C
@2 E*4
チャンネル2でEを2番の音色で4拍鳴らす間に、チャンネル1でCを1番の音色で鳴らします。改行は新しいチャンネルを選択するという意味になります。
C A
A B

B D
C D
チャンネル0でC、A、B、Dを鳴らすと同時に、チャンネル1でA、B、C、Dを鳴らします。
Note Specification (音符の指定)

音符の指定には、その演奏の仕方を指定するいくつかの指定を含めることが出来ます。最初の指定が音符で、その他の指定は付属的な指定です。

The Note (音符)

英語圏で使用されている音階の表記は C, C#, D, D#, E, F, F#, G, G#, A, A#, B です。これは、ピアノの鍵盤の中央にあるCの音から始まることを意味しており、4オクターブ目にあたります。また、 D_ のように書くことでフラットのDを表せます。

低音は E2 のように低いオクターブを指定することで表すことが出来ます。同様に高音は C6 のように高いオクターブを指定します。

より簡単な指定法として、1オクターブ下の音階は小文字を使って表すことが出来ます。つまり、c は C3 と同じ意味になります。

他の言語圏では異なる表記が用いられています。

Note Duration (音の長さ) 【オプション】

一つの音はデフォルトでは、1拍の長さで鳴らされます。‘*’ を付けると音は長く鳴り続けます。C*6 はCを6拍の間鳴らします。

‘/’ は音を短くします。C/2 はCを半拍鳴らします。

Note Velocity (音の強弱)

Velocity(ベロシティ)は通常、MIDI機器がその音をどのくらい強く演奏するかを指定します。Taskerでは、エクスクラメーションマークで指定します。!6 のように書くと「その音を6の強さで鳴らす」という指定をしたことになります。

ベロシティは、0~127の範囲で指定します。

Note Voice (音色)

Voice (ボイス)はどの楽器で音を鳴らすかということを指定します。Taskerでは、アットマークで指定します。C@1 のように書くと「ボイス1で音を鳴らす」という指定をしたことになります。

ボイスは、0~127の範囲で指定します。

ほとんどのMIDI機器では128以上のボイスを指定することはないので、このセクションの残りの記事は参考程度に読んでください。

もし、お使いのMIDI機器で128以上のボイスを使えるのであれば、おそらくその指定には ‘MSB’ または ‘LSB’ という値を使うことになると思います。詳しくはお使いのMIDI機器のマニュアルを参考にしてください。

Taskerでは、 ‘LSB’ と ‘Program’ (基本パラメーターの名前)を同時に指定することが出来ます。B@3.1 のように書くと、‘LSB’ に3を、‘Program’ に1を指定したことになります。

同様に、‘MSB’ の指定は、一連の指定の左側(指定部分の最初)に追加します。D@6.5.3 のように書くと、‘MSB’ に6を、‘LSB’ に5を、‘Program’ に3を指定したことになります。

Chords (コード)

いくつかの音を続けて(スペースを入れずに)書くか、コンマで区切って書くことで同時に鳴らすことが出来ます。C,D または CD と書くことで「CとDを同時に鳴らす」という指定をしたことになります。

Channels and Beats (チャンネルと拍)

1つの音またはコードの指定は「拍」を単位に行われます。

チャンネルとは、一連の拍をまとめたもので、スペースで区切られたものを一つの拍の指定として扱います。これにより複数チャンネルで対応する拍(同時に鳴る音)が判るようになります。

拍は通常単純ないくつかの音で構成されますが、チャンネルごとにデフォルトのベロシティとボイスを指定することも出来ます。.

例として、!10,C D E!100 F のように書くと、弱めのC、弱めのD、強めのE、弱めのFというように音が鳴ります(※つまり、デフォルトのベロシティを10に指定したうえで、Eの音にだけ100を指定しています)。また、@2 C D E@3 F のように書くと、ボイス2でC、ボイス2でD、ボイス3でE、ボイス2でFのように音が鳴ります(つまり、デフォルトのボイスを2に指定したうえで、Eの音にだけボイス3を指定しています)

チャンネルごとに行の最後まで行ったら、次の行を改行してすぐに書き出すことはしないでください。そのように書くと次の行は別のチャンネルとして扱われてしまいます。1つのチャンネルを複数行に書く場合は、空行を1行はさんで書くようにしてください。前項の例の最後の二つを参考にしてください。

‘-’ (ハイフン)は、休符を表します。

ハイフンに続けて数値を書くと、その拍数分の休符を指定したことになります。この書き方だと、一つのチャンネルの進行を誤って書く可能性がありますが、ごくたまにしか音を鳴らさないチャンネルの場合、この書き方が便利です。

Bars (バー:縦線)

‘|’ (バー)は、小節のようなもので、同じ長さで演奏される部分を1つの纏まりとして表すことが出来ます。Taskerはこの文字を演奏の内容とは認識しないので、この文字が演奏に影響を与えることはありません。

Comments (コメント)

ある行にコメントを書き入れるには、「'」 (シングルクォーテーション)に続いてコメントを書きます。シングルクォーテーション以前の部分と、改行後の各行には影響はありません。

全てのチャンネルを一度にコメントアウトするには、「"」 (ダブルクォーテーション)を挿入します。ダブルクォーテーション以前の部分には影響はありません。

コメントを使うことで、全体のうち一部分の演奏だけを試してみることが出来ます。

Variable Support (変数の利用)

‘Score’ パラメーターにはTaskerの他の場所と同様、変数を指定することも出来ます。

これをうまく使えば、ボイスの指定を ‘Variable Set’ アクションで変数に格納して変数名に分かりやすい名前を付けることで、演奏譜が読み易くなります。例えば、@%piano,C @%guitar,D (前もってお使いのMIDI機器の各チャンネルの音色を変数に割り当てておきます)と書けば、ピアノでCを鳴らして、その後ギターでDを鳴らすということが一目瞭然です。

同様に、一連の音(メロディー)を変数にセットしておいて曲の繰り返し部分で使うことも出来ます。例えば、%intro %verse %chorus %verse %end といった感じです。

Music 'Programming' (音楽の'プログラミング')

‘MIDI Play’ アクションはもちろん他のアクションと一緒に使うことが出来るので、ピッチや音量、テンポを変えながら音楽をループさせるようなことが出来ます。1つのコードを切れ目なく10種類の音色と、各音色を5段階の音の強さで演奏するタスクの例を以下に示します。

For, %loudness, 20:100:20
For, %voice, 1:10
MIDI Play, @%voice,!%loudness C,E,G

Tested Devices (確認済みのデバイス)

Taskerでは、次のデバイスで動作確認を行いました。

  • Yamaha Clavinova 480

もし、他のデバイスでも動作確認が出来た場合には、開発者までご一報ください。