2022年3月31日木曜日

Genkhordのチートシートを作っている。

Genkhord のチートシートを作っている。

マニュアルではなくチートシートであるため複雑な概念や抽象的な考え・細かい手順を伝えにくいが、ユーザーが好きなように試しながら学んでいくときはリファレンスとなる一枚の総合的な図表がまず必要なのではと考えた。つまり学習コース化(あるいは動画化)されていなくともユーザー側で自発的に疑問点を作っては解決できるような資料が必要と考えたのである。なので今回は優先順位をチートシート➡FAQ➡学習コース(マニュアル)と設定したのだった。

まあ手続きを事細かに説明する従来型のマニュアルは確かに役に立つが、それが必須とならないようにアプリ側を明快なUIにするべきだと思うし、そもそもGUIの説明に文章が向いていない気がしていた。GUIのどの部分の何を説明しているか明確にする必要があるが、そのために必要性が高くない言語化が発生するのが非効率的に思える。試せばわかるようなことを説明するためにいちいち言葉を覚えることをユーザーに要求したくなかったのだった。

理想的には旅客機の脱出マニュアルカード(安全のしおり)やイケアの組み立て説明書のように文章を極限まで削りたい。このアプリは音楽が最終出力なのである程度はできそうだと考えている。








2022年2月11日金曜日

Genkhord 0.82 を公開した

Windows 用のコード進行作成支援アプリ Genkhord 0.82 を公開した。
Download: http://www6.plala.or.jp/nyk/Genkhord.html
  • スクラッチパッド
    • AI調整
    • MIDIDragボタンは廃止しこの部分をモードレス化した。
    • DAWにMIDIファイルをD&Dする場合、従来はMIDIdragモードになっている必要があったが、単純にウィンドウ外にドラッグすればいいように改めた。
    • 複数コードを選択してDAWにD&Dした場合コードを連結するようにした
    • 右クリックしてペーストした場合に正しい位置にペーストされていなかったので修正した
    • +9系テンションの一部が入力できなかったので修正した。
    • コードが代理コード化したときのアンドゥ処理がおかしくなることがあったので修正した
  • UIを整理しメインウィンドウの高さを少し(45ピクセル)抑えた。
  • 基本機能のみを表示しウィンドウサイズを抑えるコンパクトモードを追加した。ウィンドウ右下隅のボタンをクリックする。五度圏ビューやコードスケールビューの表示を抑止する。
  • 古いバージョンから上書きインストールした場合、古い言語DLLを読み込もうとするためウィンドウのレイアウトが壊れる致命的なバグを修正した
  • コード表を整理しm7+5とM7-5を追加した。また7-9と7+9はテンション入力機能(Shift+ホイール)で入力できるから削除した。必要であればユーザーはchordConfigs.txtを書き換えることができる。

2022年1月26日水曜日

Genkhord 0.78 を公開した

Windows 用のコード進行作成支援アプリ Genkhord 0.78 を公開した。
Download: http://www6.plala.or.jp/nyk/Genkhord.html
  • スクラッチパッド:実験的な機能「Dice」を追加した。ダイス🎲アイコンをクリックするとランダムなコード列を適当な長さ(8ステップ以内)で生成する。またはコードアイテムを選択してF7キーを押下しても1ステップ生成することができる。何度も試せば偶然良い進行が生成されるかもしれない。
  • スクラッチパッド:重なっている配置されているコードアイテムの接続ラインの接続優先度を高めた。
  • スクラッチパッド:新規作成直後に限りメニューバー上のテキストボックスに直接コード進行を度数表記で入力できるようにした(例:1363)。
  • スクラッチパッド:Playをクリックしたときに左端のコードが選択されないことがあったので修正した
  • コード進行表調整
  • GUIデザイン調整


2022年1月19日水曜日

Genkhord 0.77.1 を公開した

Windows 用のコード進行作成支援アプリ Genkhord 0.77.1 を公開した。
Download: http://www6.plala.or.jp/nyk/Genkhord.html
  • スクラッチパッド:カット、コピー、ペースト機能を追加した
  • スクラッチパッド:代理和音候補判定のアルゴリズム修正
  • スクラッチパッド:アンドゥ・リドゥ処理が非常におかしかったので修正した。
  • スクラッチパッド:Sustain Pedalボタンを追加した。Sustain Pedalモードに入っているとペダルが踏まれていることになる。
  • スクラッチパッド:MIDI Drag ボタンを追加した。MIDI Drag モードに入っているとDAWや他のスクラッチパッドにD&Dすることができる。
  • スクラッチパッド:垂直位置を揃えるAlign機能を追加した
  • GUIのデザインを調整した(フォント、カラー等)
スクラッチパッドのアンドゥ・リドゥ処理に修正やリハーモナイズ機能の強化を行った。
GUIのデザインを現代的なものにしたいがWindowsFormは古くて柔軟性も低いので難しい。
最近のDAWはコードトラック等の便利な機能があるようなので研究したい。自分が使っているDAW(Studio One Artist)にはないので気になってきた。
スクラッチパッドに思い付いた進行をメモするような使い方を想定しています

スクラッチパッドの右クリックメニューです


2022年1月17日月曜日

Genkhord 0.76.6 を公開した

Windows 用のコード進行作成支援アプリ Genkhord 0.76.6 を公開した。

Download: http://www6.plala.or.jp/nyk/Genkhord.html

大きな変更点としてリハーモナイズ支援の機能の実装を始めたことがある。

  • リハーモナイズ向けの機能を模索している
  • Tritone Substitute は選択済みコードをいわゆる裏コードに置き換える
  • Secondary Dominantは選択済みコードをII-V分割する
  • Tritone Substitute+Secondary Dominantは選択済みドミナントを裏コード化したあとII-V分割する
  • Substituteサブメニューには選択済みコードの代理になりそうなコードが現れる。上方にあるほど元コードと音響的な距離が近い想定である。代理コードの検索方法は、音楽的な知見を活用するのではなく、コード間距離を計算する独自の実験的なアルゴリズムを試した実装となっている。まだまだであって今後調整が必要と思われる。
  • 現状の代理コード的決定方法は、公知の音楽理論ではなく独自の実験的な数値計算アルゴリズムで行っているため問題があると認識している。
  • Variantサブメニューには根音が同じコードが音響的距離順に並ぶようにしているつもりである。
  • Typeサブメニューはコード種を置き換える
  • Tensionサブメニューはテンションを指定する
  • Bassサブメニューはベース音のみ単独で置き換える

そのほか変更点:

  • スクラッチパッドの修正・機能追加
    • 再生時の進行自動分岐
    • 背景色選択
    • 複数選択
    • アンドゥとリドゥ
    • トランスポーズ
    • ベース入力
    • テンション入力
    • コード種変更
    • タイトルテキスト入力
    • 「★」メニューによくあるコード進行をプリセットとして数種類収録
    • コード進行表データの調整





2022年1月11日火曜日

Genkhord 0.76 を公開した

Windows10用のコード進行支援ツール Genkhord 0.76 を公開した。

Download: http://www6.plala.or.jp/nyk/Genkhord.html

変更点:

  • スクラッチパッド機能を追加した
    • スクラッチパッドにコードボタンをドロップしてコード進行を試すことができる
    • New Scratchpadボタンをクリックして新規にスクラッチパッドを開く
    • コードボタンの位置やサイズは自由に変更できる
    • コードボタンを右ドラッグして移動する
    • コードボタンを中クリックして削除する
    • マウスホイールでコードを連続演奏する
    • Duplicateボタンをクリックしてスクラッチパッドを複製できる
    • コードボタンを別のスクラッチパッドにドロップできる
    • コードボタンをDAWにドロップすることができる
    • 終了時のスクラッチパッドは次回起動時に再現される
    • Reopenボタンをクリックして、閉じたスクラッチパッドを再度開くこともできる
  • コードネームボタンの高さをカスタマイズできるようにした。使用頻度の高そうコードはクリックしやすくすべきという考えに基づくもので、コード種ごとのボタン高はchordConifgs.txtに重み係数として記述することができる。また▼メニューのUnify chord buttons heightで無効にすることもできる。
  • コードネームボタンの背景色と前景色をカスタマイズできるようにした。chordChonfigs.txtに記述する。
  • テンションを追加したときコードネーム表示がはみ出すことがあったので修正した
  • 五度圏ビューに対してマウスホイール入力したらトランスポーズするようにした
  • コード進行表データの調整



2022年1月3日月曜日

Genkhord 0.75 を公開した

Windows10 用のコード進行支援ツール Genkhord 0.75 を公開した。

Download: http://www6.plala.or.jp/nyk/Genkhord.html

変更点:

●いわゆる Blackadder コード(田中aug、ブラックアダーコード、分数aug)を追加した。コード表において「Cblk」などと表示する。また関係する進行もいくつか追加した(例: I→IV#blk→IVM7)


テンキー押下によるショートカットをサポートすることにした。キーボードとコードの関係(何を鳴らすか)はkeyconfigs.txtで定義する。たとえば「2」キーを押下するとDm7を発音する。

構成音の発音を省略する機能を追加した。あらかじめOmit5、Omit3、Omit1ボタンをクリックし反転状態にしておくと、それぞれ5度、3度、1度の発音を省略する。D&D時にはMIDIノート書き出しを省略する。


●アプリのターゲットフレームワークを.NET Framework 2.0 から 4.8 に変更した。これによりWindows10において .NET3.5ランタイムを個別にインストールする必要がなくなった。ただしこの変更により非常に古いOSで動作しなくなるかもしれない。

スクリーンショット:

2021年12月28日火曜日

Genkhord 0.74 を公開した

Windows10用のコード進行補助ツール Genkhord 0.74 を公開した。

Download: http://www6.plala.or.jp/nyk/Genkhord.html

変更点:

  • コードボタン上でCtrl+マウスホイールを入力するとベースを一時的に変更できるようにした。またコードボタン上でShift+マウスホイールを入力するとテンションを一時的に追加できるようにもした。中クリックでリセットする。
  • コードネーム検索モードにおいてより多くのテンション表示をすることにした。表記可能なものをできる限り列挙しようとするので作曲家の意図を汲んだ表示になるとは限らない。
  • コードネーム検索モードにおいて5度省略コードを(om5)、3度省略を(om3)などと表示するようにした。
  • 五度圏ビューのポリゴンのヒット計算がおかしく時々違うコードをクリックしていたことになっていたので修正した。
  • 五度圏ビューのコードクリック履歴の軌跡をライン描画である程度表示するようにしてみた。右クリックやコード以外をクリックするとクリアされる。微妙な感じなので調整すると思う。
  • コード進行表データの調整。



2021年12月20日月曜日

Genkhord 0.73.1 を公開した

 Genkhord 0.73.1 を公開した。

Download: http://www6.plala.or.jp/nyk/Genkhord.html

0.70→0.73.1の変更点は以下の通り。


  • 構成音表示の五度圏表があまりにもごちゃごちゃしてきたのでマウスプレスしている間の表示を簡略化・整理した。ルートからの音程については転回形の表示を省略した。テンションの度数表示に一貫性がなかったので調整した。
  • 従来プログラムの中に埋め込まれていた「コードネーム表の定義」をテキストファイル(chordsConfigs.txt)として分離した。これによりユーザーがコードネーム表をカスタマイズすることが可能になった。たとえば不要なコード行を削除したり、順番を入れ替えたり、新しいコード行(テンション等)を追加することができるようになった。現状ではテキストエディタを使って編集するしかないが将来はGUIを用意して便利にしたい。
  • 「♭」文字が含まれているコードをDAWにドロップすると、トラック名が正しく認識されないケースがあったので修正した。
  • コードネーム検索モードを五度圏ビューでも確認できるようにした
  • そのほか細かい修正
コードネーム表の定義フォーマット
[コードネーム文字列],[度数文字列],[表示フラグ]

[コードネーム文字列]はC7などと表記します。必ずCで始まります。分数コードも対応しますが♭は使えません。必ず#で表現します。

[度数文字列]は構成音程一つを一文字で次のように表し、スペース等で区切らず表現します。
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





2021年12月15日水曜日

Genkhord 0.70を公開した

Genkhord 0.70 を公開した。

Download: http://www6.plala.or.jp/nyk/Genkhord.html

変更点は以下の通り。

  • 開発環境を Visual Studio Community 2019 から Visual Studio Community 2022 に変更した
  • アプリケーションアイコンをついに作った(下図)。アイコンはHighDPI対応してあるが、アプリ本体はしていない。

  • コードの構成音同士の音程をこれまでは水色の線分のみで表示していたが、度数と度数固有のカラーで表現するようにした(下図)。度数は転回形も同時に表示する(読みづらいかもしれない)。ただし完全五度は「5」とだけ表示する。増四度・減五度は「TT」(=Tritone)と表示する。またもともとテンションコード由来の複音程ノートであっても単音程として表示する。

2021年12月5日日曜日

Genkhord 0.69 を公開した

Genkhord 0.69 を公開した。変更点は以下の通り。

  • 長いコードネームのテキスト描画が途切れることがあったので修正した
  • 調の表示に一貫性がない部分があったので修正した

2021年11月19日金曜日

Genkhord 0.68 を公開した

Genkhord 0.68 を公開した。

Download: http://www6.plala.or.jp/nyk/Top.html

変更点は以下の通り。

これまで、コード名の異名同音をC# D# F# G# A#など♯のみを使って表示していたが、「♭のみを使った表示」や「調に従った表示」もできるようにした。KeyメニューのSemitoneメニューで設定する。調に従った場合楽譜通りの音名読みになるだけなのでダイアトニックコード以外の臨時記号が必要なものについては適当に振り分けている。このため作曲者の意図を汲んだ・あるいは慣例どおりの音名になるとは限らない。なおconfig.txtというファイルに表示設定を保存するようにした。

以下のスクリーンショットの赤枠で示したメニューを追加した。



Soundcloudに自作の楽曲を投稿した。これを使ってGenkhordのデモ動画のサウンドトラックを作るつもりでいるがいつできるかはわからない。

https://soundcloud.com/nyk2/sets/genkhord?si=a085136af41d4bf581473c6f4c545c8a

2021年5月18日火曜日

Genkhord 0.65 を公開した

Genkhord 0.65 を公開した。変更点は以下の通り。

  • 五度圏表のレイアウトを使用したコード入力パネルを追加した。五度間隔かつ環状の並びがドミナントモーション、転調、借用和音を考えるときに便利に使えることが多いので実装した。このレイアウトでは多くのコードを並べることはできないので、コード種は限定的なものになる。
  • 五度圏表のレイアウトを使用したキー入力パネルを追加した。五線譜上でそのキーの♯と♭の位置を確認することもできる。ト音記号の表示を省略している。
  • 📌アイコンをクリックすると、ウィンドウを最前面に固定できるようにした。
  • スペースキーを押下するとキーとして同主調の入れ替え(例: Cメジャー ⇔ Cマイナー)をするようにした。
  • コード進行表調整
Download http://www6.plala.or.jp/nyk/Genkhord.html



2021年3月22日月曜日

Genkhord 0.60 を公開した

  • 分数コードのコードネーム検索がおかしかったので修正した
  • I/IV、I/VII、Im/#II、Im/V型の分数コードを追加した
  • A-Zのキーを押してコードを演奏できるようにした。keyconfigs.txtであらかじめ定義する。Shiftキーを同時に押すと一時的に記憶することもできる。

Download: http://www6.plala.or.jp/nyk/Top.html

2021年3月21日日曜日

Genkhord 0.55 を公開した

  • コードの構成音からコードネームを検索する機能を追加した。ウィンドウ最下部の背景か、構成音表示をクリックすると検索モードに入る。キーボードをクリックするとコードネームを検索する。
  • 強進行を(4度上行)オレンジ色枠で、変進行(4度下行)を緑色枠で強調表示するようにした。
  • コード進行表調整

Screenshot: 追加した「コードネーム検索機能」を使用している

2020年8月23日日曜日

Genkhord 0.50 を公開した

コードスケール表示機能を追加した。

コードに乗れそうなメロディを考察するとき使用することを意図している。コードをクリックすると適用可能と思われる典型的なスケールをいくつかウィンドウ下に表示する。ノートをクリックするとコードをバックに実際に発音するので、スケール内の各ノートの音価を確認することもできると思う。

スケール外ノートにはバツ印が、アボイドノート等には斜線が表示されている。

Download → http://www6.plala.or.jp/nyk/Top.html