Futurebasic/語言/參考/聲音訊率
外觀
SOUND 音高,持續時間 [,[音量][,非同步]]
此語句播放給定音高、持續時間和音量的音調。
音高 以每秒迴圈次數表示。您指定的頻率將轉換為最接近的“MIDI 音符值”,該值確定實際演奏的音符。中音“C”對應於 261.625 的頻率。
持續時間 以滴答表示,範圍為 0 到 32,767。但是,工具箱聲音命令需要 FB 將滴答轉換為整數以表示半毫秒。這意味著您只能播放不超過 32.8 秒的音符。
音量 範圍為 0 到 127。指定 0 將導致靜音,而 127 將以“聲音”控制面板中指定的最大音量播放聲音。如果您省略此引數,它將被視為 127。
如果 非同步 為 _zTrue,則聲音將非同步播放。如果 非同步 為 _false,或者您省略了引數,則聲音將同步播放。當您非同步播放時,您的程式會立即開始執行下一條語句,同時聲音在後臺播放。當您同步播放時,程式中的下一條語句只有在聲音播放完畢後才會執行。
如果您正在非同步播放音符,並且在另一個聲音仍在後臺播放時執行了第二個 SOUND 語句,則新聲音只有在第一個聲音結束後才會開始播放。請注意,在某些機器上,這種技術會導致聲音丟失。非同步播放時,最好使用 SOUND% 函式來確定一個聲音何時結束,然後再嘗試播放下一個聲音。
播放聲音訊率的一種方法是使用負數(從 -1 到 -127)來表示您希望播放的音符。下表顯示瞭如何使用這些值。
圖片在這裡
使用 MIDI 表格作為指南,我們可以建立“小兔子乖乖”的版本,如下所示
<code><b>PRINT</b> "Pop! "; : <b>SOUND</b> -70, 45 ,,_false<br> <b>PRINT</b> "Goes "; : <b>SOUND</b> -64, 30 ,,_false<br> <b>PRINT</b> "the "; : <b>SOUND</b> -67, 15 ,,_false<br> <b>PRINT</b> "wea"; : <b>SOUND</b> -66, 40 ,,_false<br> <b>PRINT</b> "sel "; : <b>SOUND</b> -62, 45 ,,_false</code>
SOUND%; SOUND END; SOUND<snd>