MIDI Chord Helper

ホーム > 音楽 > MIDI Chord Helper ♪♪♪ コード進行を視覚化する MIDI キーボード Java アプリ ♪♪♪

電子楽器 CAmiDion の発想の原点です。
[Japanese] [English]

GRAPHICS FAMILY BEST SOFTWARE AWARD SOFTPEDIA '100% CLEAN' AWARD
[Win] [Mac]
Reviews on SoftSea Famous Software Award 5 STARS RATING GEARDOWNLOAD.com
過去10年の歴史が、今ここに…
[ユーザの反応/メッセージボード]
古い情報:[履歴(〜2010年)]
[Javaソースの説明] [JavaScriptで実験]
[音楽系ツールのリンク集] [曲探しリンク集]
[オリジナル曲コーナー] [実際に弾き語ってみた]
times accessed since 2005/02/11

[概要] [利用条件] [ブログ] [マニュアル] [jarダウンロード]

Javaソースコード:[GitHub] [OSDN]

niconico:[動画タグ] [大百科記事]


CAmiDion CAmiDion - MIDI Chord Helper Mobile このソフトと同じように、簡単に和音を弾ける
モバイル電子楽器を実際に作ってみた。
電子楽器 CAmiDion
MIDI Chord Helper Mobile



HTML5 canvas not supported
Webブラウザ(PC/スマホ)で和音を弾けるJavaScript五度圏時計

[ClockChord]

MIDIファイル再生で文字盤にコード進行を視覚的に表示!

[tapchord] - MIDI Chord Helperをもとにnitanoriさんが開発したAndroidアプリ

[音楽理論のツボ] - このソフトがいかに合理的かがわかる、音楽理論の背景的なこと

概要/主な特徴

コードをクリックするだけで簡単に伴奏できる MIDI 楽器ソフトを Java で書いてみました。2004年5月頃に初公開して以来、色々と機能追加していくうちに現在の形になりました。

♪よく使うコードが近接しているので簡単にコードを弾ける

ギターやキーボードなどでコード演奏していると、キー(調)によってよく使うコードが 大体決まっているのがわかるでしょう。

そうです。キーやコードには、下の図に示したような遠近関係があるのです。


コードの配列はドレミファソラシの順ではなく、 「ドの右がソ」の繰り返しによってできる 「ファドソレラミシ」(FCGDAEB)の順になっています。

一見不規則に見えるかも知れませんが、実はこれ、五度圏と同じ配列なのです。この配列には、よく使うコードがキーの周辺に 自然に集まるという性質があるので、自分が「今、出したい」と思った雰囲気を そのままコードの動き方(コード進行)に反映しやすくなるのです。

一番上の行は五線の先頭につく#や♭の数を表した「調号ボタン」、2行目以下はコードを鳴らすための「コードボタン」です。

この並び順の発想は、すでにアコーディオンで取り入れられています。 アコーディオンでは、左手を使って弾く丸いコードボタンの横方向が上記と同じ順で並んでいます。 縦方向は C の下が Cm ではなく Am になっている点がアコーディオンと異なります。 左右の端のほうにみられる bb、x は、それぞれダブルフラットとダブルシャープを表します。


初音ミクの「あの楽器」製作リクエストに答えた動画
通常よく使われるコード(ダイアトニックコード)はピンク色のエリアに集まっています。 このエリアを集中的にクリックするだけで簡単に伴奏でき、ピンク色の中央(相対音階のド)へ 戻ると曲が終わったように聞こえます。 さらに、調号ボタンでキー(調)を選ぶと背景色が左右にシフトするので、 どんなキーでも全く同じように弾くことができます。

クリックした場所でそのままマウスホイールを回せばアルペジオ演奏もできるほか、右クリック、修飾キー、ドラッグ、などの操作を組み合わせることで 7、-5、dim、aug などの ついたコードにも対応しています。また、テキスト欄に直接コードネームを入力して [Enter] キーを押す ことによってコードを鳴らすこともできます。

背景色が青色や黄色になっているコードは、曲の雰囲気を盛り上げたいところで一時的に使われます。 黄色いコードを使うと、ピンク色ではついていたはずの m が外れ、 予想外に明るいホットな雰囲気を出せます。 逆に、青色のコードを使うと、ピンク色ではついていなかったはずの m がついて、 予想外に寂しいクールな雰囲気を出せます。 この色を見るだけで「今、こんな雰囲気を出したい!」と思ったその瞬間、雰囲気の出せそうなコードへ 素早くたどり着くことができるので、即興での伴奏も思いのままに楽しむことができます。 この延長で、オリジナル曲の作曲にも活用できることでしょう。

さらにカポにも対応しているので、コード譜がカポ対応だった場合でも オリジナルキーの音で演奏できます。

コードボタンにフォーカスを入れれば、PCのキーボードでコードを鳴らすこともできます。

キーボード

♪キーボードでも演奏できる


▲「あの楽器」視覚エフェクト・MIDIデバイス接続のデモ

画面上のキーボードをクリックしてメロディを演奏することもできます。 マウスだけでなく、PCのキーボードや、外部に接続したMIDIキーボードでも演奏できます。

出した音は画面上のキーボードで●印として現れます。 ピッチベンド(音程の一時的な変化)を受信すると●印が横に「びょ〜ん」と伸びます。 音程変化の感度(ピッチベンド・センシティビティ)の変更にも対応しているので、 どこまで音程が変化したかを視覚的に把握できます。

また、モジュレーションを受信すると●印が縦に伸び、まるで口を大きく開けて歌っているように見えます。 ぜひ一度、ピッチベンドとモジュレーションのレバーがついたMIDIキーボードをつないで試してみてください。 レバーの動きに合わせて●が伸縮します。

♪MIDIファイルの読み書きができる簡易シーケンサー

MIDI ファイルの読み込み、編集、リアルタイムレコーディング、保存もできるようになっています。 プレイリストも内蔵しているので複数の曲を連続演奏することができます。 また、再生スピードの変更(1/16倍速 〜 16倍速)も可能です。

Javaアプレットとして動かした場合、セキュリティのためローカルファイルを直接読み込めないので、 それに代わる方法として、Base64 エンコードされた MIDI データをテキストエリアを通じて 入出力するための機能(画面および JavaScript インターフェース)を備えています。 Base64 エンコード/デコードを行うだけの簡単な CGI プログラムを用意するだけで、 ブラウザに内蔵のファイルアップロード・ダウンロード用の選択ダイアログを使った ローカルファイルの読み書きを実現できます。

オフラインでJava アプリケーションとして起動する場合は、 上記のような制限がないので、ローカルファイルの読み書きを MIDI Chord Helper で直接行うことが 可能になります(MIDI ファイルのドラッグ&ドロップにも対応しています)。

ドラッグ&ドロップで MIDI IN/OUT デバイスを自由につなぎ変える機能もついているので、 外付け MIDI キーボード、外付け音源はもちろん、MIDI Yoke のような仮想 MIDI ポートドライバと組み合わせれば、他のシーケンスソフトの MIDI IN のデバイスとして使うこともできます。 今まで面倒だったコードの入力も、MIDI Chord Helper があれば コードをクリックしていくだけで簡単にリアルタイム入力できます。

♪テキスト移調機能・乱数による自動作曲機能

コード進行を | C | Am | F G | C | ...のようにテキストで入力して MIDI データを生成したり、コード進行のテキストを移調することもできます。 特に、MIDI データの生成ではメロディが乱数によって自動的に生成されるほか、 [Randomize] ボタン一発でテンポ、拍子、コード進行を乱数で生成できるので、 その場で音楽を自動作曲して鑑賞することもできます。

← 乱数で生成した歌詞を「初音ミク」に読み込ませて歌わせてみた例 [YouTube版はこちら]


♪演奏するとコードが光る!しかも分数コードにも対応

例えば G7 を鳴らすと、このように光ります。 再生を開始すると、その曲の調号の真下を中心に□ ○ などの光る図形が動き回ります。 コードの構成音が欠けていた場合でも、図形の一部が光ります。

また、7 や M7 などのようにコードの構成音が多くなると複数の場所に図形が現れ、 どのコードの構成音をまるまる含んでいるか、といったことまでわかります。 例えば G7 を鳴らすと図のようになり、G と Bdim の構成音をまるまる含んでいることがわかります。 図形の色は、スケールを外れると変化します(#寄りは黄色、♭寄りは青)。

さらに、自動演奏時には選択中の調号ボタンも光り、 リズムに合わせて徐々に消えるようになっています。

このように、音を色や図形として表示すれば、人間の本来持っている「アナログ的な感覚」を最大限に生かした、 柔軟なコード判定を行うことができるのです。単にコードネームを示すだけでなく、 調号とコードとの「位置関係」も見えるので、ドミナント、サブドミナントといったコードの役割や、 近くにあるコードの別候補もわかります。 ここかな?と思ったコードは、実際にクリックして鳴らせば、その場で簡単に確認できます。

ちなみに、Windows のメディアプレーヤでは、MP3 などのオーディオファイルでは画面に動く模様が出せますが、 MIDI ファイルのときは何も出ないので味気ないです。ならばいっそのこと、 MIDI ファイル用の起動アプリケーションを MIDI Chord Helper に設定してしまいましょう! そうすれば、コード進行の光る姿を目で見ながら MIDI 演奏をより楽しく聴くことができます。

分数コード Dm7/G の形 また、Dm7/G のような「分数コード」を検出しやすくするため、低い単音を太いアンダーバー _ で表示し、 ベース音が見えやすいようにしました。通常、ベース音の _ はコードの □ の中に入り込んで 一緒についていきますが、分数コードが鳴ると _ が □ の外に飛び出したりするので、すぐにわかります。

♪歌詞表示機能

MIDIファイルに歌詞が入っていれば、その歌詞も表示されます。 メタイベントの「歌詞」だけなく、単なる「テキスト」として歌詞が入っていた場合でも表示されます。

MIDIファイルの中には、コードネームがテキストとして入っているものもあります。 そのようなMIDIファイルを再生すると、□で示されるコードと、実際のテキストに入っているコードが 同期している様子を目で見て確かめられます。

♪コード耳コピのトレーニングにも

音楽を聴いていると、コードが「ほら、あの感じ...」という言葉にしづらい「クオリア」となって心の中に残ります。これは大人だけでなく、子供も同じ。 あの頃に聞いたコード進行は皆さんの頭の中にも「クオリア」として残っているはずです。

この「クオリア」は、以下の2つを知ることで、コードネームに変換することができるのです。
  1. 曲のキー
  2. コードボタン上での背景色とその中の位置
曲のキーはコードボタンだけでは合わせにくいので、画面上のキーボードで「終止音」を探すことで 素早くキーを合わせられるようになっています(相対ドの場合は右クリック、相対ラの場合中クリック)。 キーさえわかれば、あとは「あの感じ」がどの背景色と位置に対応するのかを感じ取り、 そのコードボタンをクリックして聞き比べれば、しっくりくるコードが簡単にわかります。

絶対音感なんかなくても大丈夫!これはあくまで、楽器がないときにキーを特定できるという能力にすぎません。耳コピ自体は相対音感さえあれば誰にだってできるんです。

コードダイアグラム

♪ギターやウクレレなどでの押さえ方もわかる、演奏支援機能

楽器として使うだけでなく、他の楽器で弾きたいときのための演奏支援ツールとしても使えます。 ギターやウクレレで弾きたくなったときは「音の出るコードファインダー」として、 コードの押さえ方(
コードダイアグラム)を 調べることもできます。

一般的なギターコード表ではアルファベット順になっているので、よく使うコードと あまり使わないコードが交互に現れてしまいますが、五度圏配列のコードボタンから調べれば 曲の調号の近くだけに集中でき、あまり使わないコードに気を取られることもありません。

同じコードでも、弦の押さえ方は何通りも考えられます。 そこで MIDI Chord Helper ではコードの構成音が出せる箇所をとりあえず○印で全部表示します。 実際の押さえ方については、構成音の揃う組み合わせをくまなく探索したうえで、 その中から縦横のスクロールバーで選べるようにしてあります。 ●の色はキーボードの●の色に合わせてあるので、鳴らす音階までも視覚的にわかります。

コードダイアグラムのほうにも、コードボタンと同じようなカポ対応機能がついています。 カポ対応でない(あるいはカポの位置が違う)コード譜を、 目的の位置のカポ対応に直したいときに便利です。

変則チューニングにも対応しているので、他の4弦/6弦楽器にも応用できます。 例えば、ずいぶん前に簡単な楽器として話題になった「一五一会」だとどうなるか、といったことも調べられます。


♪MIDIファイルやコード譜のチェックツールとしても使える


Windows 以外でもブラウザなしでも使える

Java の実行環境と MIDI 音源さえ整っていれば、Windows 以外の OS(Linux など)でも動かせます。 また、ブラウザの中に貼り付けて使う「Java アプレット」としてだけでなく、ブラウザなしで動作する「Java アプリケーション」としても使えます。(→ ダウンロード方法などの詳細

利用条件


リンクについて

リンクはご自由にどうぞ(メッセージボードまたはメールでお知らせいただけるとうれしいです)。 リンクバナーを作りましたので、当ページへのリンクの際、ダウンロードしてお使いください。

大(270 x 120) - PNG
小(120 x 80) - PNG
極小/暗(88 x 31) - PNG
極小/暗(88 x 31) - GIF
極小/明(88 x 31) - PNG

ホームページ素材としても活用できます

貼り付け方の詳細についてはこちらを参照してください。 メールやメッセージボードでお知らせいただければ幸いです。


MIDI Chord Helper - since May 2004
Copyright (C) 2004-2017 @きよし - Akiyoshi Kamide [作者のプロフィール]
NO SPAM !!!
(旧・五度圏コード表付きJavaピアノ - Java piano with circle-of-fifths chord table

[ページ先頭へ戻る]