GD::Chord::Piano - ピアノのコード表を画像出力する

tag perl music piano chord gd

前置き

こんにちは。bayashi です。みなさん、意識は高まっていますか? 僕は上々です。今回は拙作の GD-Chord-Piano というモジュールを紹介いたします。

何をするモジュール?

GD::Chord::Piano は、名前の通り、ピアノのコード表を画像出力するモジュールです。

play it

おもむろに以下のコードを実行してみます。

use GD::Chord::Piano;

my $im = GD::Chord::Piano->new;
open my $fh, ">", "c.png" or die $!;
print $fh $im->chord('C')->png;
close $fh;

次のような画像が吐き出されてしまいます。

piano:C

赤い印のついたところを押さえれば、C が弾けますね! ド、ミ、ソ!!

generate メソッドを使えば、おれおれコードを描画することもできてしまいます。これはびっくり。

my $im = GD::Chord::Piano->new;

$im->generate('Bb/A', qw/9 14 17 22/)->png;

piano:Bb/A

簡単ですね!

テキストもあるよ

画像出力じゃなくて、ターミナルにテキストで出したいんですけど!!!

そんな要望もよくありますね!!!

そんなときは、兄弟モジュールの Text::Chord::Piano を使えばOK

use Text::Chord::Piano;

my $p = Text::Chord::Piano->new;

print $p->chord('C');

以下のようなコード表が出力されます。

|  | | | |  |  | | | | | |  |  | | | |  |  | | | | | |  |
|  | | | |  |  | | | | | |  |  | | | |  |  | | | | | |  |
|  | | | |  |  | | | | | |  |  | | | |  |  | | | | | |  |
|  |_| |_|  |  |_| |_| |_|  |  |_| |_|  |  |_| |_| |_|  |
|   |   |   |   |   |   |   |   |   |   |   |   |   |   |
| * |   | * |   | * |   |   |   |   |   |   |   |   |   |
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
C

これはとっても便利ですね!

開発中にピアノの和音が思い出せないとき、即座に確認することができますね! 捗りそう!

なお、わたくしはピアノを一切弾くことができません。

inspired from

さて、GD::Chord::Piano というモジュールには、実は元ネタがありまして、nipotan さんの GD::Tab::Guitar をベースにしています。

ギターかっこいい!おれもなんか書きたい!そんな感じでピアノを書きました。

そして、GD::Tab::Guitar の元ネタも実はあるそうで、GD::Tab::Ukulele がそれです。これは はてな さんのウクレレ記法で有名ですね!!

次は、リズム譜あたりに誰か挑戦してみませんか?!

まとめ

というわけで、今回は GD-Chord-Piano をご紹介させていただきました。

No Music, No Hack!