October 22, 2008
A (あまちゃんに) Q (急に) F (ふられたので)、気ままに書くよ。
ほんと、ブログとか、もっと気ままに書きたいのさ。
はてなダイアリーって、ウクレレ記法ってのがあって、あれいいですよね。
完全にセコン氏 (ボンドアレイ) の趣味だと思うんですが、個人的にはよく使ってます。
ついコンシリーズに参加した時の自分の曲や、その他の参加者の皆さんの曲とかを、コードひろってウクレレ用コード譜にして公開していたりします。
ウクレレ弾く人、あと、ウクレレ弾かなくても、ギターやピアノでコード拾って演奏できるって人はなかなかいいんじゃないですかね。
とりあえず、現段階で私が書いた「ウクレレで弾く」ついコンの曲シリーズはこんな感じです。
あと、ウクレレのタブ譜は、GD::Tab::Ukulele モジュールで作れます。
これで、こんな風になります。

素敵です。
こうなると、ギターのタブ譜も書きたいです。
ギターの場合は Music::Image::Chord を使って、簡単に書けます。
これで、こんな風になります。

向きがアレだしフォントの大きさ固定だし、何しろ微妙にズレてたり、なんだか色々と残念です。
しかも、ドキュメントに書いてあるサンプルコードでは全く動かないでエラります。
ソースコード追わないとちゃんと動く方法がわからないのですが、あまりにスパゲティすぎて追う気が失せます。
あと、GD::Tab::Ukulele みたいに、コード名だけでタブが生成されるのは、メジャー (トライアド) とマイナーとセブンスのみ で、それ以外はどこを押さえるのかをこっちで指示してあげないといけません。
残念すぎます。
もっと残念なことに、じゃあ、普通のコードならちゃんとしたタブが出るよねー、それは便利だよねーなんて好意的に思って、上記のコードの最後の行を

とにかく、実に残念な今日この頃です。
ついコン 2、よろしくおねがいします。
追記:
もうちょっとパラメータをいじって、GD::Tab::Ukulele と同じぐらいの弦、フレット幅で書いたらどうなるかと思って、コードを書きかえてみた。
とりあえず、フォントサイズが固定なのとか、向きとか、もうこの際あきらめる。
この結果はこうなった。

もう、ズレんのはしょうがないや。。。
無理無理。
4 フレット押さえるように書いてるのに、どう見ても 5 フレット押さえてるもん。
でも色々残念だなぁ。。。
ほんと、ブログとか、もっと気ままに書きたいのさ。
はてなダイアリーって、ウクレレ記法ってのがあって、あれいいですよね。
完全にセコン氏 (ボンドアレイ) の趣味だと思うんですが、個人的にはよく使ってます。
ついコンシリーズに参加した時の自分の曲や、その他の参加者の皆さんの曲とかを、コードひろってウクレレ用コード譜にして公開していたりします。
ウクレレ弾く人、あと、ウクレレ弾かなくても、ギターやピアノでコード拾って演奏できるって人はなかなかいいんじゃないですかね。
とりあえず、現段階で私が書いた「ウクレレで弾く」ついコンの曲シリーズはこんな感じです。
- ウクレレで弾く「Kiss Me Goodbye」(水室にぽ介)
- ウクレレで弾く「つぶやき」(ニポターチルドレン)
- ウクレレで弾く「あいたい@Twitter」(ばぶ☆えぶ)
- ウクレレで弾く「bluebird」(s.y.n.)
あと、ウクレレのタブ譜は、GD::Tab::Ukulele モジュールで作れます。
use strict;
use GD::Tab::Ukulele;
my $uk = GD::Tab::Ukulele->new;
open my $tab, '>', 'ukulele.png' or die $!;
print $tab $uk->chord('G#m7(b5)')->png;
close $tab;
これで、こんな風になります。
素敵です。
こうなると、ギターのタブ譜も書きたいです。
ギターの場合は Music::Image::Chord を使って、簡単に書けます。
use strict;
use Music::Image::Chord;
my $guitar = Music::Image::Chord->new;
$guitar->debug(1);
$guitar->bounds(150, 150);
$guitar->font('/path/to/font.ttf');
$guitar->file('/path/to/guitar.png');
$guitar->grid(x => 10, y => 35, w => 20, h => 18);
$guitar->draw(name => 'G#m7(b5)', chord => '4x443x');
これで、こんな風になります。

残念すぎる結果です。
向きがアレだしフォントの大きさ固定だし、何しろ微妙にズレてたり、なんだか色々と残念です。
しかも、ドキュメントに書いてあるサンプルコードでは全く動かないでエラります。
ソースコード追わないとちゃんと動く方法がわからないのですが、あまりにスパゲティすぎて追う気が失せます。
あと、GD::Tab::Ukulele みたいに、コード名だけでタブが生成されるのは、メジャー (トライアド) とマイナーとセブンスのみ で、それ以外はどこを押さえるのかをこっちで指示してあげないといけません。
残念すぎます。
もっと残念なことに、じゃあ、普通のコードならちゃんとしたタブが出るよねー、それは便利だよねーなんて好意的に思って、上記のコードの最後の行を
$guitar->draw(name => 'G');に変更してみて実行してみた結果はコレです。

あのー、1 フレットずれてますよー
とにかく、実に残念な今日この頃です。
ついコン 2、よろしくおねがいします。
追記:
もうちょっとパラメータをいじって、GD::Tab::Ukulele と同じぐらいの弦、フレット幅で書いたらどうなるかと思って、コードを書きかえてみた。
とりあえず、フォントサイズが固定なのとか、向きとか、もうこの際あきらめる。
use strict;
use Music::Image::Chord;
my $guitar = Music::Image::Chord->new;
$guitar->debug(1);
$guitar->bounds(80, 80);
$guitar->font('/path/to/font.ttf');
$guitar->file('/path/to/guitar.png');
$guitar->grid(x => 10, y => 25, w => 6, h => 8);
$guitar->draw(name => 'G#m7(b5)', chord => '4x443x');この結果はこうなった。

もう、ズレんのはしょうがないや。。。
無理無理。
4 フレット押さえるように書いてるのに、どう見ても 5 フレット押さえてるもん。
でも色々残念だなぁ。。。