tmlib.js と WebAudio API で MML 対応してみたよ♪

phiary に引っ越しました. 毎日プログラミングやWebに関する情報を発信しています! RSS 登録してたまに覗いたり, tweet やハテブして拡散してもらえると幸いです.

mml

Pocket

tmlib.js と WebAudio API で MML 対応してみましたー!!

MML 系の情報は少なかったのですが, 良質なものが多かったのでわりと サクッと実装できました!!

動的に入力した MML から音楽を再生するサンプルを作ってみたので よかったら色々打ち込んで遊んで下さい♪

これで tmlib.js は画像データ, 音データどちらも動的に 作って再生できるようになりましたー\(^o^)/

もちろんサンプルは jsdo.it で作ってあるので, その場で実行できます. tweet ボタンを押すと, 入力した MML を保存した状態で Twitter に投稿できます!! 作った音楽をみんなに自慢しよう♪

あと iPhone でも iOS6 だったら鳴ります!!

Table of contents

Sample

up

MML って何?

MML とは, Music Macro Language(ミュージック・マクロ・ランゲージ) の略で, プログラムで楽譜を書ける簡易言語です.

今回作成したサンプルでは textarea に入力した, MML から 動的に WebAudio API で再生出来るデータを作り再生しています.

下記のコマンドを参考に色々打ち込んで遊んでみてください♪

Markup Language ではないのでご注意下さい.

主なコマンド

c d e f g a b

ドレミファソラシドの音符

# + -

音符の後に付けると半音上げ下げできます. #+ が上げ, - が下げ.

R

休符

> <

オクターブの上下.

v

ボリューム

@

音色

t

テンポ

up

Flash の SiON

Flash には, MML をサポートした SiON という強力なライブラリがあります. 基本的なパラメータ以外にも独自拡張しており様々な 音を作り出すことが可能です.

特に, 音色が豊富なのが魅力的! このぐらいあれば, こちらのサンプルのように爆発音やジャンプ音も 動的に作れます!!

View

tmlib.js の MML 機能もこのぐらいサポートしたいです><

up

Reference

up

TRACK BACK URL

POST COMMENT

メールアドレスが公開されることはありません。

COMMENT