mieki256's diary



2024/01/26(金) [n年前の日記]

#1 [basic] FreeBASICでMIDIを鳴らせるsfxライブラリを試用

FreeBASICで、MIDI、もしくはwavを鳴らせる sfxライブラリと言うものがあると知った。

_Freebasic sfx library download | SourceForge.net
_Freebasic sfx library - Browse Files at SourceForge.net
_ExtLibsfx
_sfx - FreeBASIC Wiki Manual | FBWiki
_Audio library for FreeBasic - Features - freebasic.net

もし、wavを複数同時に鳴らせるなら、ゲーム制作時のSE再生に使えるのではないだろうかと思えてきたので試用してみた。環境は Windows10 x64 22H2 + FreeBASIC 1.10.1 32bit。

結論を先に書くけれど、これはゲーム制作に使えないライブラリだった。と言うのも、複数のwavを同時に鳴らせなくて…。再生指示を出した順に、wavを順番に一つずつ再生していく仕様だった。

まあ、 _MML (Music Macro Language) を鳴らしたり、MIDIを鳴らしたり、MMLをMIDIファイルとして保存できたり、Sin波等の波形をその場で作って再生できるあたりは面白そうだけど…。また、FreeBASICで、FreeBASICのライブラリ(*.a)を生成している点も興味深い。

インストールの仕方 :

一応、インストールの仕方をメモしておく。

  1. sfx.zip を入手して解凍。
  2. 中に sfx/ と言うフォルダがあるので、FreeBASICインストールフォルダ/ の直下にコピー。
  3. sfx/ に入って、buildwindows.bat を実行すると、libfbsfx.a が生成される。-mt がどうのこうのと警告が出ている点は気になるけど…。
  4. libfbsfx.a を、FreeBASICインストールフォルダ/lib/win??/ にコピー。
  5. *.bi を、FreeBASICインストールフォルダ/inc/ にコピー。

inc/ フォルダにコピーした *.bi は以下。
instruments.bi
midisynth.bi
sequencer.bi
sfx.bi
wave.bi

これで、ソースの先頭に以下を書いておけば、sfx が使えるようになる。
#include "sfx.bi"
#inclib "fbsfx"

動作確認 :

FreeBASIC Wiki のサンプルを参考にして動作確認。

_sfx - FreeBASIC Wiki Manual | FBWiki

サンプルを眺めれば分かるけれど、MMLが使える。考えてみたら、8bit PC時代のBASICは、えてしてMMLが使えた記憶もあるな…。「BASICならMMLが使えて当然だろう!」てなノリで当時のソレを再現しようとしているライブラリ、なのだろうか?

MMLの最初の再生時は、数秒ほど待たされる模様。何か重めの初期化処理をしているのかもしれない。

以上です。

過去ログ表示

Prev - 2024/01 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project