Tiny MML
Posted feedbacks - Tcl
Snack という Tcl/Python 向けの音声ライブラリを使用しました。Snack は ActiveTcl のディストリビューションにも含まれています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package require snack
set C 262
set dur 4000
set beat 5000
set amp 30000
set score cdefedcrefgagfercrcrcrcrcdefedcr
set freq $C
foreach note {c _ d _ e f _ g _ a _ b} {
set freq [expr {$freq * pow(2, 1. / 12.)}]
set osc [snack::filter generator $freq $amp 0.0 sine $dur]
snack::sound $note
$note filter $osc
$note length $beat
}
snack::sound r; r length $beat
snack::sound snd
foreach note [split $score {}] {
snd concatenate $note
}
snd play -blocking yes
# snd write kaeru.wav -fileformat WAV
|


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