challenge Tiny MML

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

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

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

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

cdefedcrefgagfercrcrcrcrcdefedcr

Posted feedbacks - Common Lisp

1
2
3
4
5
6
7
(require :kmrcl)
(defparameter *freq-table*
  '(#\c "262" #\d "294" #\e "330" #\f "349" #\g "392" #\a "440" #\b "494" #\r "1"))
(defun play (mml)
  (loop for c across mml do
       (kmrcl:run-shell-command "beep -f ~a" (getf *freq-table* c))))
(play "cdefedcrefgagfercrcrcrcrcdefedcr")

Index

Feed

Other

Link

Pathtraq

loading...