JUNO-G スケール・チューン
初版 2019/09/06 09:13
改訂 2019/09/07 00:56
JUNO-G 取扱説明書の231ページに「スケール・チューン機能」の説明があります。
JUNO-G 取扱説明書
https://static.roland.com/jp/media/pdf/JUNO-G_j5.pdf
次のようなエクスクルーシブ・データを送ると、アラビア風音階を作れるらしい。
F0 41 10 42 12 40 11 40 3A 6D 3E 34 0D 38 6B 3C 6F 40 36 0F 76 F7
サクラのMMLでこのデータをJUNO-Gに送ってみた。
SysEx$=F0,41,10,42,12,40,11,40,3A,6D,3E,34,0D,38,6B,3C,6F,40,36,0F,76,F7;
確かにそれっぽい音階になっている。
実は、サクラでは「System Exclusive Message」を使いやすくするために、多くの関数が用意されています。
サクラの為のMIDI規格 -System Exclusive Message
例えば、RestGM() は、こんな感じで定義されている。
Function ResetGM(){ // GMリセットを送信する
SysEx$=f0,7E,7F,9,1,F7;
SoundType = 0;
}
こういった関数の中に「Scale Octave Tuning」という関数があり、これを使うと平均律以外の音律にすることも割と簡単にできる。
Scale Octave Tuning 1Byte format
まずは、関数を使うための定義ファイルをインクルード
Include(midistd.h);
色々と試してみました。
// 平均律
NRT_OctaveTuningB($FFFF,64,64,64,64,64,64,64,64,64,64,64,64)
//純正律
NRT_OctaveTuningB($FFFF,80,50,62,74,66,78,48,82,52,64,76,80)
こんなのは、どうでしょうか?
// 壊れたキーボード
NRT_OctaveTuningB($FFFF,Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127))
これは遊べる!
クラの音色で試すとわかりやすいです。
Include(midistd.h);
Tempo=30 @Clarinet
// 平均律
NRT_OctaveTuningB($FFFF,64,64,64,64,64,64,64,64,64,64,64,64)
l1 'ceg'
//純正律
NRT_OctaveTuningB($FFFF,80,50,62,74,66,78,48,82,52,64,76,80)
l1 'ceg'
// 壊れたキーボード
NRT_OctaveTuningB($FFFF,Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127),Random(127))
l1 'ceg'
録音してみました。
listen
http://www.etext-music.com/works/sot.mp3
スケール・チューン(Scale Octave Tuning)が、VSTiでも可能なのかを確かめてみた。
VSTiではこの機能は使えないようだ。GM音源ではないものね。
#JUNO-G
mugen
様々なプログラミング言語を使って、音楽を自動作曲しています。
使用している言語
・awk
・COBOL
・JavaScript
・R
・サクラ
・ドリトル
・なでしこ
https://yamazawa.bandcamp.com/
17人がフォロー中
-
Visits
107,928
-
Items
1,160
-
Lab Logs
100
-
Likes
777
Since August 2019