エレクトーン日記

エレクトーンELS-01C typeUカスタムについての日記です

2014年04月

作曲異論 音楽の要素は3つもいらない?

音楽というと、「素晴らしい旋律」というのが一番の褒め言葉なのだろう。

音楽の3大要素といえば、メロディ、ハーモニー、そしてリズムだ。

ただ、その曲に込められた脈動というか、曲のリズム感のほうが重要なのではないだろうか?

先日、過去のアイドルデュオの曲(技あり!)ではリズム感だけでもメロディがなくても曲として成立しているという話を書いた。

もしかしたら、音楽に明確なメロディなど本来的には必要ないのかもしれない。

・・・ということで考えてみる。

ソロの楽器ならメロディは必要だし、個々の楽器が奏でるもの一つひとつはメロディーに違いないだろうが…


一つ例を取る。
エレクトーンではレジストレーションメニューを選び、リズムボタンを押して、コード1 コード2 ハーモニー1 ハーモンー2 メインドラム アドドラム メロディ1 メロディ2 をONにして、更にカスタムA.B.C.(Auto Base Code)をONにしてから、左手(下鍵盤)と足を使ってコードを入力して、右手がメロディーを担当する。

そして、1つのリズムには4つのMainバリエーションと4つのFill IN 4つのイントロメロディと 4つのエンディング、そして、唯一のBREAKが含まれ、通常はこれらを適宜呼び出して順番を入れ替えながらコードを切り替えながらメロディーを右手で奏でる。


しかし、8つのセクションをONにした場合実際には左手で足でコードをエレクトーンに指示していってみよう。

コード進行は「パッフェルベルのカノン」を流用してみよう。

もうそれだけで、エレクトーンから流れてくる音の羅列は「音楽」とよべるものではないだろうか?


つまり、本当は音楽の要素というのは2つだけなのではないだろうか?

・リズム感
・ハーモニー(コード進行)

じゃぁメロディはどうなる?となる・・・

これは僕も明確に答えを持っているわけではないが…

あえて、言葉にするとしたら、メロディとはリズム感とコード進行を単純化、あるいは複雑化させただけのものではなかろうか?

だが、これにも異論はあるだろう。

たとえば、B'Zというバンドグループの曲は多くの名曲のコード進行をパクった(リスペクト)した曲が多くあり結構な確率でヒットしてる。
代表的な例を言うなら、B'Zの「ビーチタイム」と松田聖子の「青い珊瑚礁」が良い例だろう。

僕の音楽は「リズム感」と「コード進行」だけで出来ているという説を取るならば、先に「青いサンゴ礁」というヒットを飛ばした曲が存在し、後からB'Zga「ビーチタイム」でそれをパクったわけで…
音楽的にはほぼこの2つの曲は同じなわけで…
逆に「ビーチタイム」は最初からヒットを約束されたといっても良いのではないだろうか?

でも、まぁ、理屈はどうあれ、この2つが「まったく同じ曲」という人はいないだろう。

リズム感もほとんど同じ、ベースラインまで似ているどころかほぼ同じ。

この2つを明確に分けているのはやはりメロディなのだろうか?


コード進行についてはセオリーとなる理論がいくつかある。

なので、あとはリズム感を作るというのが作曲なのだろうか?

まぁーとりあえず、作曲初心者はメロディからつくろうとして挫折することが多いらしい。
なので、メロディは考えないで、コード進行だけを最初に考えたほうが良いのかもしれない…

あとは自分なりのリズム感を曲に乗せることさえできれば、まロディは後からついてくるのではないだろうか?


ただ、名曲のコード進行をそのままパクっても、初心者にとっては「原曲のメロディ」しか、頭に流れないという危険もあるのだが…







およよ?切り出したスタイルファイルに…


バルクファイルから切り出したMIDファイルがスタイルファイルであることは色々と調べていくうちにだんだんと明らかになり、今やこれは常識となりつつあった。

しかし、更にバイナリエディターで解析(…という程でもないが…)しながら、SMFファイルの構造を(Standard Midi File)見ているとおかしなことに気がついた。切り出したスタイルファイル=SMFファイルを頭から読んで見ると、このファイルに記述してある実際のSMFとしてのファイルサイズが実際のファイルサイズよりもはるかに小さいのだ…

では実際にファイルヘッダを読んで見ると、

CASM 0x00 0x06 0x3Cアセンブリーという意味か?
CSEG 0x00 0x00 0x00セグメントという意味か?区切り?解釈がしがたい
TSdec 0x00 0x00 0x00 0x06意味不明…ただ、何かの識別子っぽい
Main A
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0XFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
TSdec 0x00 0x00 0x00 0x06  C(3):23  V(56):8
Main B
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
TSdec 0x00 0x00 0x00 0x06
Main C
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
TSdec 0x00 0x00 0x00 0x06
Main D
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
CTab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
XSdec 0x00 0x00 0x00 0x0A
Fill In AA
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
XSdec 0x00 0x00 0x00 0x0A
Fill In BB
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
XSdec 0x00 0x00 0x00 0x0A
Fill In CC
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
XSdec 0x00 0x00 0x00 0x0A
Fill In DD
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
USdec 0x00 0x00 0x00 0x07
Intro A
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
USdec 0x00 0x00 0x00 0x07
Intro B
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
USdec 0x00 0x00 0x00 0x07
Intro C
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
USdec 0x00 0x00 0x00 0x07
Intro D
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
VSdec 0x00 0x00 0x00 0x08
Ending A
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00

CSEG 0x00 0x00 0x00
VSdec 0x00 0x00 0x00 0x08
Ending B
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 00x00
CSEG 0x00 0x00 0x00
VSdec 0x00 0x00 0x00 0x08
Ending C
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 00x00
CSEG 0x00 0x00 0x00
VSdec 0x00 0x00 0x00 0x08
Ending D
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 00x00
CSEG 0x00 0x00 0x00
XSdec 0x00 0x00 0x00 0x0A
Fill In BA
Ctab 0x00 0x00 0x00 0x1B 0x08
Rhythm1 0x20
0x08 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
Ctab 0x00 0x00 0x00 0x1B 0x09
Rhythm2 0x20
0x09 0x00 0x0F 0xFF 0x07 0xFF 0xFF 0xFF 0xFF 0x00 0x02 0x01 0x00 0x06 0x00 0x7F 0x01 0x00
なんとなく、書式らしきものは見えてきたような気がする。
赤字とオレンジでで示したものはおそらくはMIDIチャンネルの9CHと10CHつまり、メインドラムと、アドドラムを意味してると思われる。
たぶん、アセンブリまではしてないから、コード1もコード2もフレーズ1もフレーズ2も入っていないと思われる。
これにアセンブリでロワーリズミック(のアカンパニメント)を加えていくと、楽器名とかがはいったりするのだと思われる。
Sdecの前の文字はもしかしたらCSEGにかかっている数値かもしれない。

今後解読を進めていってみたい

YAMAHA製スタイルファイルに謎のエクスクルーシブ?

ズバリ…
F0 43 76 1A 10 00 01 01 00 01 01 01 00 F7


ヤマハが公開してるスタイルファイルの一つだ…

何処をどうほっつき歩いたら巡りあったかはとんとわからぬが…

この調子で色んな所からダウンロードしまくってるとそのうちウィルスとかを喰らいかねないなとか思ってます。


ところで、STAGEAで作った自作のリズムをスタイルファイルとして抽出して、実際にヤマハの作るスタイルファイルと比べて、「非ロワーリズミック」スタイルをどうやったら作れるかを探るというアプローチに切り替えた。

まぁ、僕は技術屋なので、当然スタイルファイルに「フラグ」があって、それで判別させているだろうと思っているわけだが…
F0 43 76 1A 10 01 01 01 01 01 01 01 01 F7 【自作のリズムスタイル】
F0 43 76 1A 10 00 01 01 00 01 01 01 00 F7 【YAMAHAの作ったスタイル】
F0 43 76 1A 10 00 01 01 01 01 01 00 00 F7 【YAMAHAの作ったスタイル2】
F0 43 76 1A 10 01 01 01 01 01 01 01 01 F7【YAMAHAの作ったスタイル3】
F0 43 76 1A 10 01 01 01 01 01 01 01 01 F7【YAMAHAの作ったスタイル4】

F0~F7と言うのはシステムエクスクルーシブという意味だ。
43はヤマハ製音源であることを意味する。これが7Fだと、ほぼあらゆるMIDI音源で共通のメッセージという意味になる。
なので、ここが43ってことはこのエクスクルーシブメッセージはヤマハが勝手に作ったエクスクルーシブということを意味しており、ここから先の番号はGMもGM2もGSも無関係なものであることを意味する。

次にくる番号が謎だ・・・エレクトーンSTAGEAに固有のエクスクルーシブメッセージならば、70番が使われるはずだ。
73ならクラビノーバだ。
また、スタイルに関連するメッセージはクラブノーバでは73が使われている。

リズムスタートとストップのみ60番にアサインされている。
やや特殊なメッセージには7Eなどが使われている。

76が意味するところは全くの不明だ・・・

もしかしたら、これが「ロワーリズミック」関係のパラメーターかもしれない。

なお、これらの話はすべて私の推測であって、事実ではないかもしれないことは断っておく。

少なくとも、ELS-01CやCVP-609(クラビノーバ)、PSR-3000/1500(ポータートーン)などの説明書を見た限りの話である。



基本的にはスタイルファイルはMIDファイルであり、その内容はエクスクルーシブメッセージで支配されるはずだと思うのだが・・・

どうもCtabというパラメーターもなかなかに怪しいのであるが…


サイパンに行ってました

エレクトーンとは全然関係ないけど、4日間留守にしてスクーバ・ダイビングのためにサイパンに行ってました。

その間も考えてることはSFFのSTAGEAでの活用のことばかり…

もはや病気ですw
少しは風景でも見て頭冷やします。

4日間何も書かなかったらUFOniアクセス解析が乗っ取られてしまいましたw
IMG_0374

STAGEAのレジストレーションメニューから直接スタイルファイルを抜き出す方法

とりあえず、実験用にSTAGEA(ELS-01C)に内蔵のレジストレーションメニューから、

スタイルファイルを抜き出してみようと思った途端に障害にぶつかった。

単純にレジストレーションメニューからカレントメモリーに呼び出したレジスト(のアカンパニメント)データはいわゆる「非ロワーリズミック」な状態でカレントメモリーに待機しているはずだ。

しかし、ここでスタイルファイルとして取り出そうと思った場合に一つ問題が発生する。
つまり、RPPで呼び出して、これをUSERメモリーに保存した途端に、このレジストレーションメニューから呼び出したレジストデータ(のアカンパニメント)すなわち、スタイル(=リズム)はロワーリズミック化されて保存されてしまうのではないか?という疑念が浮かんできた。

。。。となると、B00ファイル(バルクファイル)からUSER1を切り出して作ったスタイルファイルは「非ロワーリズミックデータ」ではないはずだ。

ただ、バルクファイル(B00ファイル)自体は、これを呼び出すと電源を入れなおしても初期化した後でも、完璧に保存までの状態まで確実にエレクトーンの状態を保持してくれている。

当然、内部のカレントメモリーに格納されているメモリーの内容がそのままバルクファイルにも入っているはずなのだ…
単純にSMF形式としては格納されていないだけのはずなのだ。

ここで、考えてみる。
SMF形式でなければ、このカレントメモリオーに入っているナマのスタイルイメージ(スタイルのデータを一つのブロックとしてみた表現の仕方)は次の5つが考えられる

1.SMFからSMFヘッダを削除されてそのまま格納されている。
2.SMFからSMFヘッダを削除され、それが何らか形で可逆圧縮(もしくは暗号化)されている
3.SMFから、STAGEAがより音楽として処理しやすい形に変換された中間ファイルとしてメモリに格納されている。
4.3.のデータに何らかの可逆圧縮もしくは暗号化されている。
5.元々バルクファイルはカレントメモリー全体を書き出しておらず、呼び出されたレジストメニューのどの番号のリズムとアカンパニメントなのかという情報の断片(たとえば、レジストレーション番号やユーザーメモリー番号、などの参照データ)だけを書き写している。

1だけはありえないことは確認できている。
少なくとも、「システムエクスクルーシブメッセージ」がUSER1より前の部分では検出できなかったからだ。
つまり、SMFだったとしてもシステムエクスクルーシブメッセージは取り除かれているか、もっと単純な記号に置き換えられている可能性が高い。(ある意味で暗号化かも)

幾つか、レジストレーションメニューからレジストを呼び出して、B00ファイルに保存しそれをファイルコンペアで差異を調べてみたら、どのファイルも違いはたった4バイト程度しかなかった。

つまり、5番の説が最も可能性が高いようだ。


うーむ参った…^^;

これでは新たにSFFを編集するようなソフトを作ることなぞ出来んではないか!^^;;

もっとSFFについて書かれた文献や資料がほしい…orz





ギャラリー
  • 悲劇!VC++プロジェクトの崩壊!! MIDI Ch ちぇぃんじゃ~開発!
  • 悲劇!VC++プロジェクトの崩壊!! MIDI Ch ちぇぃんじゃ~開発!
  • スタイルファイルと、SMF(0)との決定的な違い
  • スタイルファイルと、SMF(0)との決定的な違い
  • スター・ウォーズ「メインテーマ」
  • がくっと疲れる話…
  • サイパンに行ってました
  • STAGEAとSFFファイル スタイルファイルとリズムパターンプログラム機能
記事検索