challenge Tiny MML

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

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

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

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

cdefedcrefgagfercrcrcrcrcdefedcr

Posted feedbacks - R

テンポの基準を120:八分音符は0.25秒と仮定しています。

> MML("cdefedcrefgagfercrcrcrcrcdefedcr")
1
2
3
4
5
6
require("sound")
MML <- function(score){
    freq  <- c(c=262, d=294, e=330, f=349, g=392, a=440, b=494, r=0)
    play(appendSample(as.Sample(unlist(sapply(unlist(strsplit(score, "")), 
         function(s){return(Sine(freq[s], 0.25))})))))
}

Index

Feed

Other

Link

Pathtraq

loading...