chord3.h その2

『第二章:実際の使い方』

1.chord3.hが Sakuraフォルダの下にある \Include にあるかチェック
(Ver.1.004以降のサクラには標準で入ってます。)
2.SAKURA起動後、区切り線の内側をコピーして貼り付け
3.F9で演奏
として下さい。あっちゅー間に鳴ります。
------------------------------------------------------------
System.Include(chord3.h)
v100 q99 @50
T1(!1); SD1(!1); D1(!1); T1(!1); // これを色々いじってね
------------------------------------------------------------

鳴りました?
鳴ったら矢印の数字を色々変えてみましょう。

T1(!1); SD1(!1); D1(!1); T1(!1); // これを色々いじってね
↑    ↑   ↑    ↑

T =1〜7
SD=1〜4
D =1〜4

最初は何番だとどーいう和音かなんて考えなくていーです。
また「SD」は「SDM」に置き換えられます。

T1(!1); SDM1(!1); D1(!1); T1(!1); // これを色々いじってね

SDM=1〜7



調も設定出来ます。

  例)E調にする
  #KEY_E;

#KEY_C =  C調
#KEY_Cp = C#調
#KEY_D =  D調
#KEY_Dp = D#調
#KEY_E =  E調
#KEY_F =  F調
#KEY_Fp = F#調
#KEY_G =  G調
#KEY_Gp = G#調
#KEY_A =  A調
#KEY_Ap = A#調
#KEY_B =  B調

特に指定が無い場合はC調になります。





以下、パラメータの細かい説明。
設定する必要のないパラメータは「,」(カンマ)だけ書いて省略
出来ます。

取り敢えず頭三つだけ覚えて貰えばすぐ使えます。


記述:
種類??(Len,Inv,Bass,SecD_SW,SecD_Len,TwoF_SW,TwoF_Len)
Len = コードの長さ(音長指定したい場合は ! を付ける)
Inv = トップノートの高さ(回転) 値は−3〜3
Bass = ベース音消去スイッチ(1で消音)
SecD_SW = セカンダリドミナントスイッチ(1でオン・2で置換ドミナント)
SedD_Len = セカンダリドミナントの長さ(同 Len)
TwoF_SW = トゥーファイブ化スイッチ(1でオン)
TwoF_Len = トゥーファイブの長さ(同 Len)

[Len] = コードの長さ(省略時はキーオフしなくなります)

  指定コード本体の長さです。指定はステップ値ですが「!」
  (イクスクラメーションマーク)を差し込む事で「○分音符」
  指定に変えられます。付点やタイも大丈夫。
  例)トニックの1番を全音符で鳴らす
  T1(!1);

[Inv] = トップノートの高さ(省略時は最高音がオクターブ上あたり)

  コード構成音を高くしたり低くしたりする調整値です。
  記号無しで上へ、マイナスを付けると下へコードが回転します。

  例)T3(T△7:C調の場合)
  T3(!1,1); // c0e0g0b1 -> e0g0b0>c1< Cがオクターブアップ
  T3(!1,2); // c0e0g0b1 -> g0b0>c0e1< CEがオクターブアップ
  T3(!1,3); // c0e0g0b1 -> b0>c0e0g1< CEGがオクターブアップ
  T3(!1,4); // c0e0g0b1 -> >c0e0g0b1< CEGBがオクターブアップ

  基本的には数値範囲無制限ですが、マイナス方向へ指定する
  時はベース音と重なってしまうので、ベース音を消すか常識的
  範囲内(−6〜6)に控えておくのがよいでしょう。
  なお、特殊な物として「T1」「SD1」「D1」は構成音が3つしか
  ない都合上で数値に1(+1)を指定した場合何も起こりません。

[Bass] = ベース音消去スイッチ(省略時はベース音が出ます)

  コードに「ベースをどの音で鳴らせば良いか」とゆーガイドが
  鳴るのですが、それが邪魔な場合はこのスイッチで消せます。
  例)ベース音消去
  T1(!1,,1); // ベースが鳴らない
  
この後の概念を使いたい方は、スイッチ説明を読んでください。
「まだいーや」って方は読み飛ばして後で改めて。

[SecD_SW] = セカンダリドミナントスイッチ(1でオン・2で置換ドミナント)
[SedD_Len] = セカンダリドミナントの長さ(同 Len)

  セカンダリドミナント7を挿入する為のスイッチです。
  例)トニックの1番全音符の前にセカンダリドミナント全音符挿入
  T1(!1,,,1,!1); // Tの前へX7が挿入される
      ↑↑
  スイッチを2にすると、セカンダリドミナントが裏コードに
  置換されます。セカンダリドミナントの増4度上(もしくは
  指定コードの短二度上:半音上)のドミナント7が挿入されます。
  例)トニックの1番全音符の前に裏コード全音符挿入
  T1(!1,,,2,!1); // Tの前へU♭7が挿入される
      ↑
  なお、挿入されたコード全てにおいて回転やベース音消去が
  適用されます。例外で、SDMやキメラ(分数コード)には
  スイッチそのものが付いてないので注意。

[TwoF_SW] = トゥーファイブ化スイッチ(1でオン)
[TwoF_Len] = トゥーファイブの長さ(同 Len)

  挿入されたセカンダリドミナントへ更に、セカンダリドミナントを
  Xとして数えて出てきたUm7をくっつけてUX化します。
  例)UX(トゥーファイブ)付き
  T1(!1,,,1,!2,1,!2); Tの前にX7、X7の前にUm7挿入
         ↑↑
  勿論裏コードにもくっつけられます。この場合は進行が
  「仮TのUm7」→「仮TのU♭7」→「仮T」
  とゆー半音下降コンボになります。
  例)UX付きを更に置換ドミナント化
  T1(!1,,,2,!2,1,!2); // Tの前にU♭7、U♭7の前にUm7挿入
         ↑
  例)半音下降しっぱなしコンボ
  #KEY_Dp; T1(!1,-1,,2,!1,1,!1);
  #KEY_C; T1(!1,,,2,!1,1,!1);

  例)通常進行・SDM・移調・半音下降しっぱなしスーパーコンボ
  #KEY_C; SD2(!1); D3(!1); SDM5(!1^2); SDM6(!2);
  #KEY_Dp; T1(!2,-1,,2,!2,1,!1);
  #KEY_C; T1(!1,,,2,!1,1,!1);

  なお、挿入されたコード全てにおいて回転やベース音消去が
  適用されます。例外で、SDMやキメラ(分数コード)には
  スイッチそのものが付いてないので注意。
以上が使い方です。





以下は現在使用できるコード機能の種類です。

上の行は、選んだ調を1番(T)とした場合、鍵盤で数えて
何個目に当るかとゆー数字で表現されてます。
下の行はC調の場合どの和音になるかが書いてあります。

  T1() [T] [SecD X7] [TwoF Um7] [RepD U♭7]
   [C] [SecD G7] [TwoF Dm7] [RepD D♭7]

  度数 T  U  V  W  X  Y  Z
  音程 C  D  E  F  G  A  B
     ド  レ  ミ  ファ ソ  ラ  シ

  例)
     C# D# F# G# A# C# D# F# G# A#
  調  C D EF G A BC D EF G A B
  C調 T U VW X Y Z
  E調 T U VW X Y Z
  A調 T U VW X Y Z



  SecD = 挿入されるセカンダリドミナント
  TwoF = 挿入されるUX(トゥーファイブ)
  RepD = UXの置換ドミナント

  例)
  E調の時は鍵盤の「E(ミ)」がTになるので
  #KEY_E; T1(!1);
  とするとEの和音(EGB)が鳴ります


♪トニック(T)1〜7番

  T1() [T] [SecD X7] [TwoF Um7] [RepD U♭7]
   [C] [SecD G7] [TwoF Dm7] [RepD D♭7]

  T2() [Tsus4] [SecD X7] [TwoF Um7] [RepD U♭7]
   [Csus4] [SecD G7] [TwoF Dm7] [RepD D♭7]

  T3() [T△7] [SecD X7] [TwoF Um7] [RepD U♭7]
   [C△7] [SecD G7] [TwoF Dm7] [RepD D♭7]

  T4() [Ym7] [SecD V7] [TwoF Zm7] [RepD Z♭7]
   [Am7] [SecD E7] [TwoF Bm7] [RepD B♭7]

  T5() [Vm7] [SecD Z7] [TwoF X♭m7] [RepD W7]
   [Em7] [SecD B7] [TwoF G♭m7] [RepD F7]

  T6() [T7] [SecD X7] [TwoF Um7] [RepD U♭7]
   [C7] [SecD G7] [TwoF Dm7] [RepD D♭7]

  T7() [Tsus47][SecD X7] [TwoF Um7] [RepD U♭7]
   [Csus47][SecD G7] [TwoF Dm7] [RepD D♭7]

♪サブドミナント(SD)1〜4番

  SD1() [W] [SecD T7] [TwoF Xm7] [RepD X♭7]
   [F] [SecD C7] [TwoF Gm7] [RepD G♭7]

  SD2() [W△7] [SecD T7] [TwoF Xm7] [RepD X♭7]
   [F△7] [SecD C7] [TwoF Gm7] [RepD G♭7]

  SD3() [Um7] [SecD Y7] [TwoF Vm7] [RepD V♭7]
   [Dm7] [SecD A7] [TwoF Em7] [RepD E♭7]

  SD4() [W7] [SecD T7] [TwoF Xm7] [RepD X♭7]
   [F7] [SecD C7] [TwoF Gm7] [RepD G♭7]


♪ドミナント(D)1〜4番

  D1() [X] [SecD U7] [TwoF Ym7] [RepD Y♭7]
   [G] [SecD D7] [TwoF Am7] [RepD A♭7]

  D2() [Xsus4] [SecD U7] [TwoF Ym7] [RepD Y♭7]
   [Gsus4] [SecD D7] [TwoF Am7] [RepD A♭7]

  D3() [X7] [SecD U7] [TwoF Ym7] [RepD Y♭7]
   [G7] [SecD D7] [TwoF Am7] [RepD A♭7]

  D4() [X6] [SecD U7] [TwoF Ym7] [RepD Y♭7]
   [G6] [SecD D7] [TwoF Am7] [RepD A♭7]


♪サブドミナントマイナー(SDM)1〜7番

  SDM1() [Wm]
   [Fm]

  SDM2() [Wm6]
   [Fm6]

  SDM3() [Wm7]
   [Fm7]

  SDM4() [U♭△7]
   [D♭△7]

  SDM5() [Y♭△7]
   [A♭△7]

  SDM6() [Z♭6]
   [B♭6]

  SDM7() [Um7(♭5)]
   [Dm7(♭5)]


♪キメラ(オンコード:分数コード)

  SD_D1() [WonX]
   [FonG]

  SD_D2() [Um7onX]
   [Dm7onG]

  D_T() [X6onY]
   [G6onA]

  T_SD() [Ym7onU]
   [Am7onD]

  SDM_T1() [Y♭△7onT]
   [A♭△7onC]

  SDM_T2() [Z♭6onT]
   [B♭6onC]

  SDM_T3() [U♭△7onT]
   [D♭△7onC]

色々遊んだ後に「実際に使ってみよ〜」とゆー場合には
以下のよーにするのがよいでしょう。

1.生成したコード音を確認

  SAKURA上で演奏したコードを耳コピする。
  耳コピーが苦手、又は面倒臭いとゆー場合にはMIDIセーブして
  「Arukas.exe (くじら氏作)に放り投げて出来たテキストを見る」
  「鍵盤表示付きプレイヤ(Tmidiなんかがお勧め)に放り込む」
  「シーケンサに放り込む」
  とすれば確認出来るでしょう。

  この後、SAKURAのコンパイルメッセージコンソールに
  コードの構成音を表示できる機能を組み込む予定なので
  それが出るまで待っていただいても結構です。
  (何曲かSAKURAでサンプル作った後すぐやります)

2.好きなトラック・チャネルを使ってなんか付けてみる

  中にはダイアトニックスケール(白鍵盤オンリー音階)以外の
  コードを吐き出す場合もあるので、打ち込み位置のスケール(音階:
  ドレミファソラシド)に注意しながら、色々付けてみましょう。
  (これも後で説明書なりコンソール出力なり付けます)

3.コード生成トラックをはずす

  ある程度曲が出来上がったら生成されたコードは必要ありません。
  リマーク等を入れてぐっばいあでゅ〜。

  そのまま曲の一部として使ってもよい、とゆー場合には関数に
  「ベース消去スイッチ」を指定してベース音だけ消すのも手です。

  ストリングアンサンブルのよーな白玉のばし系は、そのまま
  ベース音を残しても「変」じゃありませんのでそこいら辺は
  お好みで。回転スイッチでコードの高さを変えて、トップノート
  (1番高い音)をメロとしてそのまま使っても大丈夫です。

  例)どっかで聞いた曲ですな…
  v100 q99 @50
  [2
   T1(!1,2); D1(!1,2); T4(!1); T5(!1,1);
   SD2(!1,1); T1(!1); SD1(!1); D1(!1,2);
  ] T2(!1^1); T1(!1^1);



その他、色々な使い道が考えられます。

1.SAKURAをコード関数電卓として使う

  他のシーケンサをお使いの方は、進行捻出のアイデア帳として。
  曲をコピーする時や、アレンジ、リハーモナイズする時の手がかり
  模索に。

2.教育用教材として

  半分、私の独断と偏見で出来ている関数なので正式な教材としては
  あまりお勧めしませんが、一人でコツコツやるも良し、仲間と
  わやわやディスカッションするも良し、出来た曲のコードをこれと
  比較してみて評価するも良し。発想次第。

3.ネット上の交流用素材として

  「この進行で、自分が作ったメロ以外の発想出来る人居ませんか」
  「自分が考えた進行でおかしな所工夫できる所があったら教えて」
  「スコア買ってコード打ったんだけど誰か機能別に分解して」
  「○○の曲のあの部分の進行解釈教えて」
  「〆切迫ってるんだけどこの進行で誰か曲作って」
  などなど。(最後のはどーかなと思いますが)

  自分の都合で改造して発表しても構いませんのでお好きにどーぞ。


これからの増築予定は…

  ★発音テーブルを完全演算化
    今は私が直に打ち込んだ物になってるので修正が大変だし
    オープンボイシングモードを付ける場合、これじゃまずい。
    (出来なくはないけど…)

  ★マイナー版作成
    現在はメジャースケールしか対応してませんが、工夫すれば
    このバージョンでもナチュラルマイナーなら可能。

    例)Cマイナー調(ナチュラルマイナースケール)
    #KEY_Dp; T4(!1,-1); SD3(!1,-1); T5(!1,-1); T4(!1,-1);

    ただし、このままだとハーモニックマイナーとメロディック
    マイナーが不可能なのでやっぱつけなきゃ駄目みたい。

  ★オープンボイシングモード追加
    今はクローズボイシングだけなのでメジャー7なんかが
    ルートと隣り合ってしまい、それが嫌いな人にとっては地獄。
    自分は割と好きだから大丈夫だけど、念の為付けたい。

  ★コード構成音をコンソール出力
    生成されたコードを確認するまでのストロークが長い為、
    勉強に使う人にとってはちと面倒臭い。
    それに対して「仕様です」と言い切ってしまうのは切ない。

  ★コードに対してのメロ音階(ノーテーション)コンソール出力
    ダイアトニック以外のコードが生成された場合、初心者
    には辛い。また進行論に慣れていても、複雑なコードの
    場合は面倒臭い。

  ★DD(ダブルドミナント)追加
    自分で工夫すれば出来ない事はないが、そんな事を言って
    怠けていると便利にする為のインクルードファイルとしての
    存在意義が問われるので(笑)一応頭の片隅に。

  ★パッシングディミニッシュ追加
    ダブルドミナントと同じ。

  ★ディミニッシュ代理コード追加
    これは自分自身が勉強不足のせーもあってあまり使ってない。
    調性圏から一番遠いとされるX♭を使う為に一応付けておき
    たい。

  ★UST(アッパー・ストラクチャード・トライアド)追加
    テーブルで持てば簡単だが、それだとノーテーションの
    コンソール出力を付けた時に「やばい」。発音テーブルを
    演算化した後でないと出来ないが、映画音楽やME
    (ミュージック・エフェクト)では多用されている為
    なるべくなら付けたい。

  ★オンコード(分数コード:キメラ)選別・増強
    現在の所、自分が頻繁に使うようなものしか入ってないし、
    それも全部じゃない。ペダル効果等で完全にT,SD,D,
    SDMで表現出来ないものもかなりあるので、解決方法を
    記述の仕方から抜本的に見直したい。



…ってなところです。
自分が曲を作りながら、必要になったものから追加していく予定。
「こんな機能付けて」ってのがあったら私まで。


みづぃんこ
ryu0218_@hotmail.com

戻る次へ