AQF - にぽたん研究所

October 22, 2008

このエントリーをはてなブックマークに追加
A (あまちゃんに) Q (急に) F (ふられたので)、気ままに書くよ。
ほんと、ブログとか、もっと気ままに書きたいのさ。



はてなダイアリーって、ウクレレ記法ってのがあって、あれいいですよね。
完全にセコン氏 (ボンドアレイ) の趣味だと思うんですが、個人的にはよく使ってます。

ついコンシリーズに参加した時の自分の曲や、その他の参加者の皆さんの曲とかを、コードひろってウクレレ用コード譜にして公開していたりします。

ウクレレ弾く人、あと、ウクレレ弾かなくても、ギターやピアノでコード拾って演奏できるって人はなかなかいいんじゃないですかね。

とりあえず、現段階で私が書いた「ウクレレで弾く」ついコンの曲シリーズはこんな感じです。
あと、ウクレレのタブ譜は、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;

これで、こんな風になります。


GD::Tab::Ukulele による 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');

これで、こんな風になります。



Music::Image::Chord による TAB



残念すぎる結果です。




向きがアレだしフォントの大きさ固定だし、何しろ微妙にズレてたり、なんだか色々と残念です。
しかも、ドキュメントに書いてあるサンプルコードでは全く動かないでエラります。
ソースコード追わないとちゃんと動く方法がわからないのですが、あまりにスパゲティすぎて追う気が失せます。

あと、GD::Tab::Ukulele みたいに、コード名だけでタブが生成されるのは、メジャー (トライアド) とマイナーとセブンスのみ で、それ以外はどこを押さえるのかをこっちで指示してあげないといけません。

残念すぎます。

もっと残念なことに、じゃあ、普通のコードならちゃんとしたタブが出るよねー、それは便利だよねーなんて好意的に思って、上記のコードの最後の行を
$guitar->draw(name => 'G');
に変更してみて実行してみた結果はコレです。





Music::Image::Chord による TAB (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');


この結果はこうなった。


Music::Image::Chord による TAB 改訂版



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

でも色々残念だなぁ。。。

nipotan at 18:40 | Comments(2) | TrackBack(1) | 音楽 
このエントリーをはてなブックマークに追加

Trackback URL for this entry

Trackbacks

1. Perlを勉強したい  [ あしあと日記 ]   October 23, 2008 10:58
http://blog.livedoor.jp/nipotan/archives/51167592.html GD::Tab::Ukulele モジュールなんてあるのね。これのためだけにPerlの勉強をしたい。

Comments

1. Posted by よう   October 23, 2008 10:54
むしろ、GD::Tab::Ukuleleを改造する方向でどうでしょう?
2. Posted by nipotan   October 23, 2008 11:11
うん。俺もそう思いました。
週末時間作って書くかなー。

Post a comment

Name:
URL:
  Remember info?: Rate: Face    Star