challenge Tiny MML

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

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

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

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

cdefedcrefgagfercrcrcrcrcdefedcr

Posted feedbacks - Bash

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
function play() {
    for ((i=1;;i++)); do
        snd=`expr substr $1 $i 1`
        case $snd in
            c) F=262;;
            d) F=294;;
            e) F=330;;
            f) F=349;;
            g) F=392;;
            a) F=440;;
            b) F=494;;
            r) F=1;;
            *) return
        esac
        beep -f $F
    done
}
play cdefedcrefgagfercrcrcrcrcdefedcr

Index

Feed

Other

Link

Pathtraq

loading...