2007年10月18日(木) 20:18

テキストで音楽を奏でる「メロディ再生記法」のMovableTypeプラグイン

昔懐かしきFM音楽館(MSX・FAN)を彷彿とさせますね。

「メロディ再生記法」をMovableTypeで実装するプラグインを書いてみました。
ブログで簡単にMMLを書いて再生することが出来ます。



playMML


上記リンク(playMML)の対象をファイルに保存し、アーカイブを解凍の上、MovableTypeの /plugins/ プラグインディレクトリに以下の3ファイルを設置してください。
/playmml/ ディレクトリごと設置することを推奨します。


・playmml.pl
・JSMML.js
・JSMML.swf

手順1:プラグインの設定

ブログの[設定]メニューから[プラグイン]タブを選択します。
インストールされたプラグインの一覧の中から playMML を探します。
[設定を表示]をクリックして、JSMML.js と JSMML.swf を設置したディレクトリ(URL)をフォームに入力します。
例. http://www.example.com/mt/plugins/playmml/
*この、JSMMLへのパス設定はplayMMLを使用するブログごとに設定が必要です。

手順2:テンプレートの編集

各アーカイブの <$MTEntryBody$> と <$MTEntryMore$> に playMML="1" 属性を追加します。

<$MTEntryBody playMML="1"$>
<$MTEntryMore playMML="1"$>


また、アーカイブ(playMMLを使用するアーカイブ)の<head>〜</head>に以下のタグを追加します。

<head>
・・・

<$MTjsMML$>
・・・
</head>


知らなくても問題ないですが、この<$MTjsMML$>タグは、ブログページを構築すると以下のHTMLコードに置き換わります。(URLは設定による)

<script type="text/javascript" src="http://www.example.com/mt/plugins/playmml/JSMML.js"></script>
<script type="text/javascript">
JSMML.swfurl = 'http://www.example.com/mt/plugins/playmml/JSMML.swf';
JSMML.onLoad = function() {
mml = new JSMML();
}
</script>


以上で、システムの準備は終了です。

手順3:奏でる

エントリーの本文や追記(playMML="1" 属性を追加したところ)で以下のように MML を記述します。

>|mml|
t144l8v7 @3 o3 crdrf5d;
t144l8v9 @3 o6 crdrf5d;
t144l8v7 @3 o6 erfra5f;
t144l8v7 @3 o6 gra+r<c+5>a+;
||<
MMLの詳しい説明は省きますが、記法ははてなにならいました


実装の手法がゆるいのでちょっとトリッキーな書き方をするだけでうまく変換できないかもしれません。
が、うまくいくと、以下のように表示され、音楽を鳴らせます。




これは、フランス国鉄の駅でよく耳にするアタックです。
(適当なんでヘンテコリンですが、こんな感じだった)


フォームはまとめて <div class="mml"> </div> で囲んでますので見た目は CSS で良しなにしてください。
それぞれのボタンとかテキストエリアにも class を割り振ってみましたが細かいことはよくわからないので、ご意見等はコメントでくださいです。


参考までにCSSサンプル

.mml input {
    color:#3333cc;
    background:#cccccc;
}
.mml textarea {
    font-family:monospace;
    font-size:0.875em;
    color:#000000;
    background:#FFFFFF;
    width:320px;
    height:50px;
}


あと、Perlソースも一生懸命いろいろ調べて書きましたが、いつも通り力技で組みましたのでショボイと思います。こちらもあわせてご指導いただければと思います。


では、Enjoy Music!


謝辞を以下の方々に。
・JSMML.js and JSMML.swf author Yuichi Tatenoさん
・FlMML author Takeshi Okuboさん


JSMML.js と JSMML.swf の配布元はこちらです。
こちらも参考になると思います → FlMML(MML記法)の音色パラメータ図解&楽器音テンプレ - korinchanの音楽室

このエントリーに最初のコメントを書いてみませんか?

名前  クッキーに保存 
エントリーナビ
テキストで音楽を奏でる「メロディ再生記法」のMovableTypeプラグイン」は、
MTプラグイン(3.Xまで) カテゴリーの記事です。


関連エントリー
Movable Typeを愛でつつむ LOVEプラグイン
はてなid記法をMovable Typeに実装するプラグイン
SBMの登録ボタンを出力するMovable Typeプラグイン
Movable TypeのMD5フィルタ・プラグイン
Movable Typeのutf8_encode_urlプラグイン

トラックバック
このエントリーへトラックバックするURL (言及リンクのないトラックバックは無効です)