﻿Genkhord 0.73.2



●Genkhord とは

コードネームが表示されているボタンをクリックすると、MIDI で演奏します。
次に進行できそうなコードを表示します。
そのコードの基盤になりうるコードスケールを表示し、実際に音を出して確認することができます。
コードの構成音からコードネームを検索する機能もあります。

作曲に便利なツールにしたいと思っています。



●動作環境

Windows 10
.NET Framework 2.0



●インストール方法

適当なディレクトリを作成し、アーカイブを展開します。
アップデートは上書きします。


●アンインストール方法

インストールしたディレクトリを丸ごと削除します。


●コードネーム表(chordsConfigs.txt)フォーマット
[コードネーム文字列],[度数文字列],[表示フラグ]

[コードネーム文字列]はC7などと表記します。必ずCで始まります。分数コードも対応しますが♭は使えません。必ず＃で表現します。C、CM7、C7、Cm7-5、Csus4、C7sus4の名前文字列は変更しないでください。ほかの名前は変更可能です。

[度数文字列]は構成音程一つを一文字で次のように表し、スペース等で区切らず表現します。
1=m2, 2=M2, 3=m3, 4=M3, 5=P4, 6=TT, 7=P5, 8=m6, 9=M6, a=m7, b=M7, d=-9, e=9, f=+9, h=11, i=+11, k=-13, l=13

[表示フラグ]は0は非表示、1は表示で、通常1です。

例:
C,      47		,1
Cm,     37		,1
C7,     47a		,1
CM7,    47b		,1
Cm7,    37a		,1



●バージョン履歴

     2007.2.6 開発開始
0.01 2007.2.6 公開
0.05 2007.2.14 「次に来そうなコード候補」を表示するようにした
               コード進行表を chords.txt に分離した
               日本語版リリース
               キーを指定できるようにした。ただし長調のみ。
               プログラムチェンジを送信できるようにした
0.06 2007.2.20 ステータスバーに構成音名を表示するようにした
0.07 2007.3.12 キーが CMajor 以外の場合に、「次に来そうなコード候補」の表示がおかしかったので修正した。
0.08 2007.6.3  I/V 型の分数コードを追加した
               コード進行表改定
0.20 2007.8.20 コードの転回機能を追加した。[転回]ボタンオンで転回する。デフォルトオン。進行を聴きやすくするために追加した。
               ボイシングをクローズかオープンか選択できるようにした。デフォルトではクローズド。倍音を多く含む音色で転回ありの場合に聴きやすくするために追加した。
               発音をオクターブ単位で移動できるようにした。
               コード進行表改定
0.21 2007.10.3 ボタンアップ時にオールノートオフを出力していて好ましくなかったのでキーごとのノートオフに変更した。
0.30 2016.4.2  コード進行表を改定した
               コード候補の探索範囲を他の全ての調に広げ、薄く候補表示するようにした
               開発環境を Visual Studio 2005からVisual Studio Community 2015 に変更した
0.31 2016.7.2  コード進行表を改定した
0.32 2016.7.15 m6の構成音がおかしかったので修正した
0.40 2020.8.9  コード進行表を改定しマイナーキーに一応対応した
               ウィンドウ外にD&Dすると四分音符4回の内容で標準MIDIファイルを書き出すようにした。DAWのトラックへ張り付けることを意図している。
               開発環境を Visual Studio Community 2015からVisual Studio Community 2019 に変更した
0.50 2020.8.23 コードスケール表示機能を追加した。
               コードに乗れそうなメロディを考察するとき使用することを意図している。
               コードをクリックすると適用可能と思われる典型的なスケールをいくつかウィンドウ下に表示する。
               ノートをクリックするとコードをバックに実際に発音させて確認することもできる。
0.51 2020.8.24 直近4つのコードの演奏を繰り返す[▶]ボタンを追加した
               外観調整
0.52 2020.9.20 コード進行表調整
0.55 2021.3.21 コードの構成音からコードネームを検索する機能を追加した。ウィンドウ最下部の背景か、構成音表示をクリックすると検索モードに入る。キーボードをクリックするとコードネームを検索する。
                強進行を(4度上行)オレンジ色枠で、変進行(4度下行)を緑色枠で強調表示するようにした。
                コード進行表調整
0.60 2021.3.22  分数コードのコードネーム検索がおかしかったので修正した
                I/IV、I/VII、Im/#II、Im/V型の分数コードを追加した
                A-Zのキーを押してコードを演奏できるようにした。keyconfigs.txtであらかじめ定義する。Shiftキーを同時に押すと一時的に記憶することもできる。
0.65 2021.5.17  五度圏表のレイアウトを使用したコード入力パネルを追加した。五度間隔かつ環状の並びがドミナントモーション、転調、借用和音を考えるときに便利に使えることが多いので実装した。このレイアウトでは多くのコードを並べることはできないので、コード種は限定的なものになる。
                五度圏表のレイアウトを使用したキー入力パネルを追加した。五線譜上でそのキーの♯と♭の位置を確認することもできる。ト音記号の表示を省略している。
                📌アイコンをクリックすると、ウィンドウを最前面に固定できるようにした。
                スペースキーを押下するとキーとして同主調の入れ替え(例: Cメジャー ⇔ Cマイナー)をするようにした。
                コード進行表調整
0.66 2021.5.24  五度圏表バグ修正
0.67 2021.5.29  五度圏上にコード構成音を使ってポリゴンを描画すると、構成音相互の音程を図形的に表現できて面白いので実装してみた。
0.68 2021.11.19 コード名の異名同音をC# D# F＃ G# A#などと♯のみを使って表示していたが、♭のみや調に従った表示もできるようにした。KeyメニューのSemitoneメニューで設定する。調に従った場合楽譜通りの音名読みになるだけなのでダイアトニックコード以外の臨時記号が必要なものについては適当に振り分けている。このため作曲者が意図したものになるとは限らない。
                config.txtというファイルに異名同音の表示設定を保持するようにした。
0.69 2021.12.5  長いコードネームのテキスト描画が途切れることがあったので修正した
                調の表示に一貫性がない部分があったので修正した
0.69.1 2021.12.7 ウィンドウサイズを変更できないようにした
                 スペースキーを押下するとキーとして同主調の入れ替え(例: Cメジャー ⇔ Cマイナー)をしていたが廃止した。
0.70 2021.12.14 開発環境を Visual Studio Community 2019 から Visual Studio Community 2022 に変更した 
                コードの構成音同士の音程をこれまでは水色の線分で表示していたが、度数と度数固有のカラーで表現するようにした。度数は転回形も同時に表示する(読みづらいかもしれないが)。ただし完全五度は「5」とだけ表示する。増4度・減5度は「TT」(Tritone)と表示する。もともとテンションノート(複音程)であっても単音程に直して表示する。
                アプリケーションアイコンをついに作った
0.71 2021.12.16 構成音表示の五度圏表があまりにもごちゃごちゃしてきたのでマウスプレスしている間の表示を簡略化・整理した。
                表示の細かい調整
0.72 2021.12.17 構成音表示の五度圏表がまだごちゃごちゃしているので度数表示を簡略化した。ルートからの音程については転回形の表示を省略した。
                テンションの度数表示に今一つ一貫性がなかったので調整している
                表示の細かい調整
0.73 2021.12.20 今まではプログラムの中に埋め込まれていた「コードネーム表の定義」をテキストファイル(chordsConfigs.txt)として分離した。これによりユーザーがコードネーム表をカスタマイズすることが可能になった。たとえば不要なコード行を削除したり、順番を入れ替えたり、新しいコード行(テンション等)を追加することができるようになった。現状ではテキストエディタを使って編集するしかないが将来はGUIを用意して便利にしたい。
                「♭」文字が含まれているコードをDAWにドロップすると、トラック名が正しく認識されないケースがあったので修正した。
0.73.1 2021.12.20 コードネーム検索モードを五度圏ビューでも確認できるようにした
                  表示の細かい調整
0.73.2 2021.12.24 コードボタン上でCtrl+マウスホイールを入力するとベースを一時的に変更できるようにした。中クリックでリセットする。
                コードボタン上でShift+マウスホイールを入力するとテンションを一時的に追加できるようにした。中クリックでリセットする。




TODO


- ウィンドウサイズを柔軟に
- 4K、高DPI対応
- コード進行のカスタイズをもっとユーザーフレンドリーに
  EditボタンをクリックするとEditモードにはいる ウィンドウがでる 入れ替え 可視・不可視をきりかえることができる
- ベースノートの扱いに妥協が多い。もっと自由に入力したいがUI的に難しい。
- テンションの扱いに妥協が多い。もっと網羅的にしたいがUI的に難しい。たぶん別のアプローチが必要
- midファイルD&D内容のカスタマイズ(拍子の設定、白玉の場合1度や5度のオミット、ベースの別トラック化、アルペジオetc)
- MIDI INを活用
- 自然なボイシングを提案するような機能
- 自然な旋律を提案するような機能
- 対位法的な考え方をサポートしたいがDAW側にあるべき機能かもしれない
- 旋法のサポートをきちんとしたいがDAW側にあるべき機能かもしれない
- 利用フレームワークをモダンなものに刷新する (.NET6、Electron、WebMidi etc)
- マルチプラットフォーム化 (Mac、Android、iOS)
- 五度圏表もっと活用できるはず
- 最近のAIの研究成果で応用できそうなものがないか確認する
- 自動作曲の研究用に出回っているいろいろな機械学習用の教師データを活用できないか検討する
- VSTインストゥルメント・プラグイン化(JUCEまたはVST SDK)
- 音源を内蔵する



●開発環境

Windows 10
Visual Studio 2005 -> 2015 -> 2019 -> 2022 (C#)


●作者

橋本直之 (HASHIMOTO Naoyuki) (nyk)
Mail: hashimoto.naoyuki@gmail.com
WEB: http://www6.plala.or.jp/nyk
Twitter: https://twitter.com/nyk2 @nyk2 #Genkhord(ご要望・バグ報告はこちらへどうぞ)
SoundCloud: https://soundcloud.com/nyk2
BLOG: http://naoyuki-hashimoto.blogspot.jp

