Tiny MML
Posted feedbacks - Pnuts
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import javax.sound.midi.*
import static javax.sound.midi.ShortMessage.*
code = [69, 71, 60, 62, 64, 65, 67]
TONE = 120
function play(mml){
mes = new ShortMessage()
rcvr = MidiSystem.getReceiver()
for (c: mml) {
if (c >= 'a' && c <= 'g') {
co = code[c - 'a']
mes.setMessage(NOTE_ON, 0, co, TONE)
rcvr.send(mes, -1)
sleep(500)
mes.setMessage(NOTE_OFF, 0, co)
rcvr.send(mes, -1)
} else {
sleep(500)
}
}
rcvr.close()
}
play("cdefedcrefgagfercrcrcrcrcdefedcr")
|

にしお
#3387()
Rating0/0=0.00
入力はcがド、dがレ、eがミ、fがファ、gがソ、aがラ、bがシ、rが休符とします。この8文字以外の文字は入力に含まれていないと仮定して構いません。おのおのの音符・休符は八分音符・八分休符とします。
オクターブや音の長さの変更、同時発音などの機能は不要です。
サンプル入力(カエルの歌)
[ reply ]