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

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

** OpenMPT [#da010535]
ファイルはTracker Modを使って編集します。[[OpenMPT:https://openmpt.org/]]の動画を自動字幕(日本語訳)しつつ使い方を覚えてください。

*** youtube [#c870d51b]
-[[GBStudio .mod format explained in 10 minutes | OpenMPT:https://www.youtube.com/watch?v=Qz7z7yWn_5w]]~
-[[.midi to .mod | GB Studio Music Tutorial:https://www.youtube.com/watch?v=4AxZqK9_jKE&t=295s]]~
-[[GB Studio Music Editor Tutorial:https://www.youtube.com/watch?v=WNtTF7jf4WE]]

*** document [#a1c1b170]
-[[MOD Music(GB Studio):https://www.gbstudio.dev/docs/assets/music/music-gbt]]~
-[[MODPLUG TRACKER TUTORIAL (V0.20):http://www.interq.or.jp/reggae/y443/tracker/index_frame.html]]

** GBT Player [#ce9dbbc6]
** テストプログラム [#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