SmileBASIC

簡易電子説明書

29サウンド命令

効果音やBGMを鳴らすための基本的な命令を紹介します。応用的な命令がこのほかにもたくさんありますので、それらの使い方についてはサンプルプログラムを参照してください。

効果音を鳴らす…BEEP命令

DIRECTモードのところで出てきたBEEP命令は、短い効果音を鳴らす命令です。
プリセットで多数登録されている効果音を、番号を指定して鳴らします。

書式 BEEP 効果音番号
  • 効果音番号は0~133
  • 効果音番号は省略可(0と同じ)
使用例 BEEP 8

応用的な使い方として、周波数、音量、パンポットの調整が可能です。実際に命令を入力して、HELP機能で確認してください。

効果音番号とその内容は、SMILEボタンで表示される「BEEP」のリストで確認可能です。


BGMを鳴らす…BGMPLAY命令①

ゲーム中などに使うBGMは、BGMPLAY命令で簡単に鳴らすことができます。すぐに使えるプリセットBGMが43曲用意されています。

書式 BGMPLAY トラック番号, BGM番号
  • トラック番号:同時に複数曲を演奏する際のトラックを指定(0~7)
    省略可能
  • BGM番号:演奏するプリセット曲の番号を指定(0~42)
    ※128~255はユーザー定義曲
使用例 BGMPLAY 12

プリセット曲には、1回の演奏が終わると停止するものと、繰り返し演奏されるものがあります。この場合、次のBGMSTOP命令を実行するまでは止まりません。

BGM番号とその内容は、SMILEボタンで表示される「BGM」のリストで確認可能です。

BGMを止める…BGMSTOP命令

再生中のBGMを停止する命令です。

書式 BGMSTOP
  • 全トラックの演奏をすぐに停止

トラックを指定すると、フェードアウトさせて止めることもできます。

書式 BGMSTOP トラック番号, フェードアウト時間
  • トラック番号:演奏を止めるトラック(0~7)
  • フェードアウト時間:音量を徐々に下げ、停止するまでの秒数
    0または省略で即時停止
使用例 BGMSTOP 0,2

次のプログラムを入力して、実行してみてください。

BGMPLAY 12↵ WAIT 60*5↵ BGMSTOP 0, 3

1行目でBGM12番の演奏が始まります(トラック番号を省略しているので、トラック0で演奏されています)。
2行目はWAIT命令といい、指定した時間(1/60秒単位)だけ待つ働きをします。WAIT 60で1秒待ちます。ここでは5秒待つことになります。
3行目で、トラック0で演奏中のBGMを、3秒かけてフェードアウトして止めます。

結果、BGMが演奏されてから5秒後にフェードアウトが始まり、その3秒後にBGMが完全に止まります。

音階を鳴らす…BGMPLAY命令②

昔のBASICにあった、MML(Music Macro Language)を使用した音楽演奏も可能です。

次の命令を実行してください。

BGMPLAY "CDEFG2AB<<C"↵

ダブルコーテーション""に挟まれた文字列を、楽譜とみなして演奏する方法です。個々の英字は音名を示します。

◆BGMPLAY命令(MML演奏)

書式 BGMPLAY "MML"
  • MML:楽譜を簡略化した演奏用の文字列(下記参照)
使用例 BGMPLAY ":0CCC :1REE :2RRG"

チャンネルを3つ使い、和音を演奏

おもなMML要素

A~G…音名(音を鳴らす)
  C ド D レ E ミ F ファ
  G ソ A ラ B シ ※階名の一例
#または+…半音上げる
  C# D# E# F# G# A# G#
  C+ D+ E+ F+ G+ A+ G+
-(マイナス)…半音下げる
  C- D- E- F- G- A- B-
R…休符

音名のあとの数字…音長
  C1  C2  C4  C8  C16  C32
  それぞれ全音符、2分音符、4分音符、8分音符、16分音符、32分音符
音長のあとの.(ピリオド)…付点
  C1.  C2.  C4.  C8.  C16.  C32.
  音長がそれぞれの半分伸びる
L数値 デフォルト音長の指定

O数値 オクターブ指定(O0~O8)
< 1オクターブ上げる
> 1オクターブ下げる

:数値 チャンネル指定(:0~:15)
T数値 テンポ指定(T1~T240)
V数値 音量変更(V0~V127)
@数値 音色の変更(@0~@127)

MMLと文字を入力してからHELPボタンを押すことでMMLについての詳しい説明を見ることができます

ページトップへ