pythonでビープ音を鳴らし、あまつさえ演奏する。
追記
C言語でほぼ同じ事をした記事もあります。
pythonにはwinsoundというのがあって、wav再生したりエラー音再生したりビープ音鳴らしたり出来るらしい。 そう、ビープ音を鳴らせる! これは楽しい! ってことで、ちょっと遊んでみた。
>>> import winsound
>>> winsound.Beep(523, 500)
てやると、523Hz(ド)の音が500ミリ秒鳴る。 37Hzから32,767Hzまで対応とのことで、結構幅広め。
で、こいつを使って演奏してみた・・・っていうか、演奏できるようにしてみた。
#coding:utf-8
#
#       ビープ音で演奏するやつ。
#
#   周波数の参考: http://asrite.blog.fc2.com/blog-entry-229.html
#
#                       MIT License (c)2013 MacRat
from winsound import Beep
from time import sleep
BASE = 500
sound = tuple(sorted((
    (u'ド', 523),
    (u'レ', 587),
    (u'ミ', 659),
    (u'ファ', 698),
    (u'ソ', 784),
    (u'ラ', 880),
    (u'シ', 932),
), key=lambda x: len(x[0]), reverse=True))
def Play(l):
    while l:
        for name, key in sound:
            if l.startswith(' '):
                l = l[1:]
                print
                sleep(BASE/1000.0)
            if l.startswith(name):
                l = l[len(name):]
                time = 1
                while l.startswith(u'ー'):
                    l = l[1:]
                    time += 1
                print name + u'ー'*(time-1)
                Beep(key, BASE*time)
                break
        else:
            l = l[1:]
if __name__ == '__main__':
    #Play(u'ドレミファソラシ')
    Play(u'ドレミーレド ドレミレドレー')
ご覧のとおり、ドレミで入力したものを演奏してくれます。 今のところド-シまでの対応だけれど、soundに周波数の情報を追加すれば一オクターブ上も下も鳴らせる。
面白い、けど、意味ないなぁこれ・・・。