challenge Tiny MML

文字列の入力をとり、音を鳴らすプログラムを作ってください。

入力はcがド、dがレ、eがミ、fがファ、gがソ、aがラ、bがシ、rが休符とします。この8文字以外の文字は入力に含まれていないと仮定して構いません。おのおのの音符・休符は八分音符・八分休符とします。

オクターブや音の長さの変更、同時発音などの機能は不要です。

サンプル入力(カエルの歌)

cdefedcrefgagfercrcrcrcrcdefedcr

Posted feedbacks - Mathematica

Mathematicaも数式処理ソフトですが,サウンド用の機能があります.
Mathematica6で強化されて,いろいろな音色で音階を奏でることが可能になっています.

Mathematicaでは,音を出さない場合 None を指定するので,MMLのrをNoneにマップしています.

http://reference.wolfram.com/mathematica/ref/SoundNote.ja.html

音階がグラフっぽく出るので見た目がきれいです.
1
2
3
4
5
len = 0.25; (* sec *)
tone = "Organ";
mml = "cdefedcrefgagfercrcrcrcrcdefedcr";
mathmml = StringSplit[mml, ""] /. {"r" -> None};
Sound[{tone, SoundNote[#, len] & /@ mathmml}]

Index

Feed

Other

Link

Pathtraq

loading...