(23/10/19追記) 4回目の更新、情報の継ぎ足しでカオスになりかけていたので整頓
MusicROMは悦楽舎が開発中のGB用自作ソフトのシリーズで、エミュや実機で音楽が楽しめる物ですが、
これは開発初期の日記みたいな記事で……あらゆるソフトを改造しているのできっと役に立ちません(
※1 CDは両方「プリズムデモ(仮」(音楽は全く同じ)で、C100でおまけと呼んでいた「プリズムデモ」(=プリズムデモ(V1))を「プリズムデモ(V2)」に更新……ややこしすぎんじゃボケェ!!!ってことでソフトにMusicROMと名前をつけました
※2 V2はサウンドエンジンを実装して大きく仕様変更。MusicROM共通の操作方法、開発のあとがきや〆を記事に追記
※3 これもエンジンは同じ。操作方法も同じ。ジャンルが違う。〆にあとがきを追記
※4 ここでやっと使い方を説明する記事を書いた。ドタバタ開発日記より、まずはトリセツが読みたいって方はまずはそっちへ
普段「チップチューンで、いつも通りです」など、雑な告知してる雑なサークルですが、
記念すべき C100 なのでちょっと変わった物が出ます!
場所は2日目 東ハ05aで、となり(ハ05b)のXenoglossyと合体配置です!
あっちもチップチューンの新譜あります!今時珍しいバナーリンクの有効活用例!(これがやりたかった)
で、こっちの新譜情報↓
の4曲入り、そして……今回は音楽以外にデータも含まれるCD EXTRAです!
つまり、曲が聞ける自作ソフト(MusicROM)が、うっかり出来たのでCDに付きます!!
で、“無保証で自己責任のおまけ”で放置するのはあんまりな気がして記事書きました(謎のクラシック選曲理由はあとがきで)
CD EXTRAはディスクドライブが接続されたPCなどで開くと中のデータが見れます。音楽CDとしてCDプレイヤーで聞くことも可能です……たぶん。おい!俺のfoobar2000で再生できないぞ!
備えあれば憂いなし!!~ 蘇る2019年紅楼夢の記憶 ~
というわけで「プリズムデモ(仮」の自家通販します。期間限定と言いながらもう1年なので、そろそろ終了
備えあれば嬉しいな!!~ 再び蘇る2019年紅楼夢の記憶 ~
というわけで「タワーデモ(仮」の自家通販します。期間限定です、恐らく……
「タワーデモ(仮」の収録曲などは最後にまとめてあります。
自作ソフトを実行するにはエミュレータ導入や、ゲーム機の改造などが必要な場合があります。
発生した事象について作者は責任を負いません。全て自己責任で行ってください。
エミュレータの再現度はソフトによって様々です。どうせなら評判がいいものをオススメします。
(bgb、Gambatte、SameBoyなど。ちなみに開発はbgbとDMG/CGB実機、曲制作はDMG実機です。参考にどうぞ)
基本操作
START
: 再生/一時停止A
: メニューを開くB
: 停止メニュー操作
LEFT
/RIGHT
: 項目を選ぶUP
/DOWN
: 内容を選ぶA
: 変更を適用(メニューを閉じる)B
: 変更を破棄(メニューを閉じる)SELECT
: 項目の説明やトラックの曲名を表示(ON/OFF)メニュー項目
(載せてない操作が若干あります。デバッグ用です、困ったらB
)
※ 今のところセーブ機能はありません。
開発環境
サウンドエンジン v1.0.0
トップ画面の操作
A
: 進む曲画面の操作
START
: 再生/停止LEFT
/RIGHT
: 選ぶA
: メニューを開く/閉じる(閉じる時に別の曲を選んでいたらその曲を再生)SELECT
: オプション切り替え(Track → Loop → Dark → Track)B+DOWN
: 絵のスクロール(載せてない操作が若干あります)
オプションエリア
※ RAMはオプション状態を保存するつもりで有効化しただけでまだ使ってません
開発環境
OSS
各種情報終わり!それでは、今回はソフト内に埋め込んだりしなかった“あとがき”です。
コミケなので発作的に聞きたくなった曲を作り始めて“ピアノ”と“トランペット”の騒がしい曲が出来たので……
“バイオリン”のも作ったら……おぉ!プリズムリバー三姉妹じゃん!(??)
…………意味不明すぎるけど真実です(
情報の空白や謎があっても考察が無意味なほどにスッカラカンなこともあるぞい(
いつもの(CDジャケ)の解像度が3x3倍くらいなので、三姉妹感があるプリティリメイク衣装アレンジしました。
暑いのでノースリーブ。次女の髪型が分からん過ぎたのでヘアアレンジも加えてアイドル衣装です(
てか色がキャラ判別の大きな材料なのにDMG(初代GB)はグレー4階調だから……なるべくしてなったというか(
研究中の“CGBでも綺麗にモノクロ表示できるカラーパレット”が1種類入ってます。なのでCGBでも4色は仕様。
三姉妹のカラー設定は出来てて(PCの色をCGB向けに)色補正するツールも作ったけど機能実装は時間切れでした(
いっそ開き直って髪色が同じな方が三姉妹感あって良くね?みたいな(
左: 色再現なしに設定したエミュでの表示 右: バックライトなしCGB液晶での表示
と、どんな環境でもそれなりに綺麗に見えるパレットを研究中です。(黄ばんだ背景は必要があって黄ばんでます)
いつもの“ゲームっぽさを残す”的な方針を今回は忘れて色々開拓しました。
結果的に楽器にフィーチャーした選曲になったので、今までやらなかったような音作りを片っ端から試して楽器っぽくならんかなって感じで作りました。
唯一「あっ、これかぁ!」ってならなさそうなチャールダーシュですが、前からやりたかった2音だけで構成された曲です。突き抜けたスルメ曲なのでオススメです。
2音でバイオリンが波形メモリじゃないのは、最後が音色大集合の幽霊楽団と決めた後だったので(
いつもの(LSDj v405)の基音をA=439.99(実際は439.839)HzからA=439.45(438.367)Hzに変えてます。
“実際は”と書いたように正確にA=440Hzが出せるハードじゃないので全部ズレてます。まぁ計算したらズレててチューナーで測定したらほぁ!?マヂじゃん!!ってなったので恐らく人間の耳にはわかりません(
LSDj v516で音が変わった!って言ってた人いないし、たぶん……
ここの詳細は寝るほど数字が出てくるので省略して……変えた理由はユニゾンやオクターブが綺麗に鳴ったから。検証不足だけど、まぁデモ(ry
A=453Hzで作った紅魔郷の曲も入れようとしてたけど……お察しください。(追記 → chiptusionは全曲A=449Hzの予定です)
LSDjで作った曲を変換してくれるlsdpackありきな自作ソフトなのでハイパー感謝してます。
ちなみに仕組みは内部にエミュが入っててLSDjを動かしてレジスタへの入力を全部記録するという……その発想は無かったやつです。
ただ、出力されるデータは大きいのでROM容量に注意が必要かも
lsdpackで変換した曲データ(kit未使用)Song 1: 41932 bytes Song 2: 56252 bytes Song 3: 144284 bytes (テーブル多用すると増える) Song 4: 242561 bytes (ループ部分も重複して記録される) (参考: カービィ2が全体で512KB)
そして、lsdpack-kitは画像を用意してコマンドを叩くだけで1枚絵付きで曲が流れるROMが出てきます!
(lsdpack同梱のplayer.sは最低限の実装だけで、拡張するにはアセンブリを理解して自力で開発する必要がありました)
git clone
してLSDj v888(※)を入れてmake
するだけでROMが出てきてビックリです。お試しあれ!!
(※ 最新版だと正常に再生されないので、sav作者が使ってたかもしれないバージョン)
で、素晴らしいテンプレートですが「ボタンを押すと次の曲」しか無いので結局アセンブリを雑に理解してUIを拡張しました。
など、あると間違いなく便利な機能や
など、別になくてもいい機能が増えました(技術デモな側面)
Play/Stopの左の数値がBank数表示です(最大0x1FF)。曲名を確認しながら選曲できて便利~!(手前味噌)
で、2ヶ月(C100~紅楼夢18)の間に中身が丸っきり100%別のコードに置き換わりました(
色々解説したいけど即売会直前過ぎて書ききれないので概要だけにしとくと……V1は「エミュを実行して出力したデータの変換をする(C++)」、「変換データのGB用再生プログラム(ASM)」はlsdpackのを借りていました。
それを、
という感じで容量削減しました。ね、簡単でしょ?
独自コマンドに変換した曲データプリズムデモ(V2) Song 1: 6176 bytes <- (V1: 41932 bytes) Song 2: 7984 bytes <- (V1: 56252 bytes) Song 3: 10916 bytes <- (V1: 144284 bytes) Song 4: 10855 bytes <- (V1: 242561 bytes) chiptusion -DemoVersion- Song 1: 14122 bytes (Kit 1536 bytesを含む) Song 2: 12634 bytes Song 3: 8748 bytes タワーデモ Song 1: 5278 bytes Song 2: 13571 bytes (Kit 3104 bytesを含む) Song 3: 6577 bytes (参考: 全体で256KBの初代カービィは12曲収録)
とりあえずどの曲も1Bank(16KB)内に収まってるな……ヨシ!(
いつかちゃんと解説します……
全部作り直してるのでメニューも一新しました。
メニューを閉じている時(左)、メニューを開いた時(右……履いてないように見える)
ボタンアイコン付けたり項目を1画面に収めたりしたので分かりやすくなったはず。
曲名はそれとなく漢字で出るようになりました。スプライト横並び上限10がキツい
ついでにループ機能もイントロアウトロなしのゲームBGMモードとして動くようになりました。
(そんな機能が増えることを想定してなかったプリズムデモは未対応です)
Q. それで、一番オススメの(再現度が高い)再生環境は?
A. CDプレイヤー
Q. そうじゃなくて
A. 真面目に答えるなら制作環境と同じ(ProSound化してない)DMG & 開放型ヘッドホン(AKG K240MK2)。
でも、実機には個体差があるし、使うeneloopでも音が変わるし……(寿命?)。
まぁ適t自分が持ってる環境でおk!(
Q. ……
A. もう一つのオススメは90年代のPanasonic製ポータブルCDプレイヤー(別の沼)
(C100 完成直後)
(色々な意味で)デモですが、いつもと違うこと尽くしなプリズムデモを楽しんでもらえれば嬉しいです。
サウンド周りの調査しながら作ったデモなのでバグはたくさんあります(断言)。
言ってしまえばゲーム開発の寄り道で出来たおまけです。が、需要がありそうなら開発の途中経過みたいな感じで続けるかも(本来のデモ的な側面)(けどドット/音/プログラムの締切が同時に来てCDも作るのマゾい)
さて今回の曲データのまま容量削減とか……幻の5thチャンネルとか……間に合わなかった画像圧縮の(ry
てか、よく考えると当時のゲームはそれぞれ独自のサウンドエンジンを中に持ってるってすごない?
(10/8追記) サウンドエンジン完成直後
無事、自分もソフトの中に独自のサウンドエンジンを持つに至りました(
(気を使って打ち込む必要がある部分がまだあるけど)LSDjのパワフルな音作り機能やKit再生が使えて、BGMとして許容できそうなCPU負荷と現実的なデータサイズに収まったので、道が拓けたような気がします。
10/9はサイト開設から20年なのでこういう出来事と一緒に覚えておけるのは良いことなんじゃないかなたぶん。
あと1から作り直してデータやコードのブロック化が一気に進んだのでちゃぶ台返しメソッドはこういうことなんだと実感しました、勝手に。
……次はグラフィックエンジンと、かなり大掛かりになる予感がする画像変換ツール開発ですね!(
その前にちょっと弄ってSFX鳴らす仕組みを入れる(メモ) 波形をちまちま編集しないといけないのも効率化する(メモ)
(23/8/12追記) タワーデモ完成直後
???「すっげぇキモいデザインだな!」
……いっそ、前情報ゼロで行くか?などと考えたけどやめました(
即売会は当日しかやってないし……自家通販をしてはいるけど……
で、今回は発作的に打ち込み始めた「カービィの曲」が、登るステージばかりだったのでタワーデモです。
クライムデモではありません
曲は、
の3曲で、今回もおまけのMusicROMが入ってます!
選曲がニッチ?そういうサークルです
このWebサイトは元々カービィのイラストサイトとして始まったアレで、これまで何度かカービィの曲を打ち込んだこともあったけど納得できず全部没にしてきたりしたので、自作ソフト開発で音源のことがだんだんわかってきて……やっとか、みたいな感慨的なアレも若干あります(クソ早口)
自分のチップチューンの試行錯誤の歴史とカービィの曲で色々書けそうなのに雑にぶっこんでしまった。時間が無い、いつもそう