#author("2023-08-15T22:15:38+09:00;2023-07-21T17:00:57+09:00","","")
#author("2023-10-22T10:09:14+09:00","","")
* サウンド環境 [#j1ee7359]
サウンドを一通り見てきましたが、次は音楽をどのようにして鳴らせるかという話になります。個人的にDirectSoundはMaxModか8adライブラリ、GBサウンドは[[GBT Player:https://github.com/AntonioND/gbt-player]]ライブラリを使用するのが良いように思います。GBT Playerに関しては3つ利点があって1.vblank毎に呼びだすだけでタイマーやDMAを使っていない行儀の良いプログラムであること。2.GB Studio3に内蔵される実績を持ち、開発環境が整っていて実行サイクル(テストサイクル)が短いこと。3.マニュアルや解説動画があるので参入する敷居が低いこと、が挙げられます。

** GB Studio3、GBT Player [#z847449f]
[[GB Studio3:https://www.gbstudio.dev/]]は本来Gameboyを開発される為に用意された開発環境です。その中に含まれているGBT PlayerはGB版とGBA版にライブラリを提供しています。GBでとりあえずテスト演奏を繰り返して、本番になったらGBAに移動する方法が可能です。

** テストプログラム [#ce9dbbc6]
GBT Playerライブラリを載せて動かしてみたのが以下のサンプルです。[[GB Studio Community Asserts:https://github.com/DeerTears/GB-Studio-Community-Assets]]から2曲拝借しました。

*** 動作画面 [#d6c76ac0]
#ref(1.png,nolink)

** 2023/07/21追記 [#x2869e4e]
[[HUGETracker:https://nickfa.ro/index.php/HUGETracker]]のvgmファイル出力を使った[[vgm2gba:https://github.com/akkera102/gbadev-ja-test/tree/main/116_vgm2gba_vblank]]を開発しました。音楽はDMGにして効果音はDirectSoundを鳴らすという方法が可能です。

#ref(2.png,nolink)

** 2023/10/22追記 [#x2869e4e]
[[LSDj:https://www.littlesounddj.com/lsd/]]を改造GBエミュレータで実行してログを出力。そのログをGBAで鳴らす[[lsdj_bgm_test:https://github.com/akkera102/gbadev-ja-test/tree/main/121_lsdj_bgm_test2]]を開発しました。割り込みはvcountを使っていて1フレーム6回呼び出しています。ゲームに使用できるかというと悩ましいところではありますが一応できましたーぐらいの感覚でお願いします。


** 履歴 [#s8563175]
- 2023/10/22
- 2023/07/21
- 2023/05/30

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS