8bit BGM generator は、「作曲スキルがないけど、Pyxel の自作ゲームに BGM を入れたい」という方のための BGM 自動生成ツールです。
Pyxel をお持ちの方でなくても、ブラウザ版で体験いただくことができます。また、自動生成された曲を mp3 などの音声ファイルとして録音すれば、Pyxel 以外のレトロゲーム開発や、動画の BGM 等に使っていただくことも可能です(詳しくは後述)。
問題点を発見したり、要望がある方は、Twitter frenchbread (@frenchbread1222) まで DM 等でお知らせください。
8 小節、3 パートの曲を生成します。3 パートの構成は「メロディ+ベース+ドラム(ノイズドラム)」または「メロディ+リバーブ(ディレイ)+ベース」です。
3 チャンネルしか使用しないため、生成した曲を Pyxel で取り込んだ場合、残りの 1 チャンネルを効果音用に使えます。
テンポ、コード進行、ベースとドラムのリズムなどは登録されているパターンから指定します。メロディは自動生成ですが、パラメータによりある程度調整することもできます。
よくわからないという方は、とりあえず「きほん」タブの「プリセット」を適当に選択してみてください。その後でテンポを変えたり、リズムを差し替えることで、好みの曲調に近づけることができると思います。
- ブラウザ上で動かす場合: https://retro-bgm-generator.web.app/ (スマートフォンでも動きますが、画面が小さく操作しづらいのと、作成した曲をエクスポートするのが困難なので、お試し用途以外は PC からアクセスください。)
- ローカル環境で動かす場合: このリポジトリをダウンロードして、pyxel play 8bit-bgm-gen を実行してください。
ツールのエクスポートアイコンをクリックすると説明が表示されますので、その説明を参照してください。
Pyxel のサウンド仕様に沿ったテキストデータを json ファイルとして保存し、これをゲーム本体のスクリプトで読み込んで再生する形になります。(リポジトリ内の play.py 参照。)
現時点(ver 1.02)ではサポートが不十分ですが、たとえば Chrome の拡張機能「Chrome Audio Capture」 などを使うことで、ブラウザ上で鳴らしているシステムサウンドを mp3 ファイルなどに録音することができます。(実際にゲームなどで使う場合は、無音部分のトリム編集などが必要になってきます。)
こういった方法で作成した音声ファイルも自由に使っていただいて問題ありません。
2023/09/23 Ver1.10 メロディ生成アルゴリズム改善、サブメロディ生成に対応
2023/09/09 Ver1.02 ブラウザ版のエクスポートに対応
2023/06/01 Ver1.01 Windows でローカル実行時にファイル保存できないバグを修正
2023/05/08 Ver1.00 初版リリース