BEEPで音階

知らなかった。こんなことが、できたとは。
excel-ubara.com

早速遊んでみた。
f:id:Infoment:20210610222045p:plain

楽譜は、こんな感じ。一行のうち、左が音階、右が音の長さを表す。
f:id:Infoment:20210610222330p:plain

演奏するためのコードがこちら。楽譜を選択して実行すると、曲になる。はず。

Option Explicit

Declare PtrSafe Function BeepAPI Lib "kernel32.dll" Alias "Beep" _
(ByVal dwFeq As Long, ByVal dwDuration As Long) As Long

Sub Beep音()
    Dim Row As Range
        For Each Row In Selection.Rows
            Call BeepAPI(Row.Cells(1).Value, Row.Cells(2).Value)
        Next
End Sub

楽譜を作ってみた。まず周波数は、↓こちらの情報をお借りした。
tomari.org

楽譜がこちら。

音階 長さ
195.998 750
391.995 750
349.228 750
329.628 750
277.183 750
293.665 750
440 1500
246.942 750
493.883 750
440 750
391.995 750
369.994 750
391.995 750
523.251 1500
587.33 750
523.251 750
493.883 750
440 750
391.995 750
349.228 750
329.628 750
293.665 750
261.626 1500

実際はこのように、選択してから先程のマクロを実行する。
f:id:Infoment:20210610225143p:plain

これはこれで、なかなか面白い。と思いました。

参考まで。