标题:
歡迎各位來研究此ROM(老大來翻譯)
[打印本页]
作者:
dfgr3510
时间:
2008-3-12 12:41
标题:
歡迎各位來研究此ROM(老大來翻譯)
http://bbs.starrain00.com/viewthread.php?tid=17264&pid=63433&page=1&extra=page%3D1#pid63433
看把......各有所長的都來研究下把..... 最重要是BGM和特寫....
我知道BGM肯定有人幫我做的/....原原啊/.....
話說這個小日本的作者改的這么少真浪費.......
[
本帖最后由 dfgr3510 于 2008-3-12 12:46 编辑
]
作者:
dfgr3510
时间:
2008-3-12 12:47
老大能翻多少就翻多少........如果一個人太累的話...就叫多幾個人把......
這個是我們修改BGM的步驟......太多日文了...我只能看懂一點
SR_MIDItoGBA 0.002
SMF1のMIDIファイルをGBAの音楽形式MP2000(Sappy)に変換するプログラムです
---------------------------------------------------------------------
注意点
作者は、SMFおよびP2000についてネットで軽く調べた程度の知識しかないので
嘘を言ってる可能性も大きいです。(ご指摘いただけるとありがたいです)
OG2へMIDIを移植するために作ったので、他のGBAでは試していません
他のGBAへの移植も同じ要領でいけるはずだと思います
楽器を探すときは付属のGBAtoPCMが便利だと思います
OG1とOG2にしか対応していないので他のものにも使いたいという方には
スレで言っていただければ、応答したいと思っています
---------------------------------------------------------------------
履歴
2007/12/19 公開(0.001)
2007/12/22 ループが4回でとまるバグを修正
デルタタイムの説明を少し変更(0.002)
---------------------------------------------------------------------
■使い方
□OG2への移植
ここではバイナリエディタを使いこなしている方を対象に
OG2への曲を組み込み方をざっと説明します
まずはデータの出力までを説明すると
① Midiを読み込む
② ループ開始時間と終了時間を入力する
③ 楽器番号やドラムセットの調節を行う
④ ROM開始アドレスを変更する
⑤ 左下の変換ボタンを押す
→ フォルダに"MPHeader.dat"と"MP2000.dat"が出力される
2のループ終了時間は0のままにしないでください。0だと演奏時間も0になります
それぞれデルタタイムでの入力なので、時間単位の値=四分音符一つとして計算してください
(例:時間単位=480で4拍子の20小節の長さにしたい場合、480x4=1920 1920x20 = 38400となります)
3の調整は色々あるので後回しでいいかも知れません。
あらかじめ作っておいた調節データを読み込むこともできます
4で指定したアドレスに曲データの先頭が来るようにしてください
フォルダに出力されたのは曲のヘッダと曲データ本体です。
"MPHeader"にはトラック数や各トラックへのオフセット、音源データへのオフセットなどが
"MP2000"には各トラックの演奏データがはいっています
次に、この曲データをROMに移植します。
バイナリエディタでROMとMPHeaderとMP2000の三つを開いておいてください
⑥ OG2構造体の「【3FA1AC】BGMデータのへのアドレス」を開く
⑦ 入替する曲のアドレスに飛んで、そこにMPHeader.datをコピペする
⑧ MP2000.datを4で指定したアドレスにコピペする
例えば、4でのアドレスが0x9000000で、AshToAshと置き換えたい場合
0x05315C4にMPHeader.datを
0x1000000にMP2000.datをそれぞれ貼り付けることになります
これで保存すれば入れ替えの完了です
------------------------------
□調節データの使用
サンプルとしていくつかMIDIと調節データを用意してみたので
②③の代わりに調節データ読込で*.mdfy2ファイルを読み込んでみてください
頑張れば割と綺麗に変換できることがわかると思います
------------------------------
□他のGBAソフトへの移植
基本的に同じですが、2点の注意が必要です
① GBAソフトがMP2000(Sappy)の規格を採用しているか
② BGMデータのへのアドレスと、音源アドレスの把握
任天堂の純正(?)のサウンドエンジンを搭載していないゲームにはSappyは使えません
同じGBAのスパロボでも、OG1とOG2はMP2000形式ですが、ARDJはそうではありません。
MP2000対応かどうかを判別するにはloveemu氏のgba2midiが一番楽だと思います
gba2midiで再生できなければ非対応ということで諦めてください(下記の参考サイト参照)
2のBGMデータのアドレスもgba2midiや同製作者のstosで取得することが出来ます
音源アドレスとは楽器の波形データや、効果音の情報が集まったところで、
各BGMのヘッダの4Byte目で指定されています(OG2だと一律で0x083F6AD4)
したがってBGMデータのアドレスが分かれば、そこから芋づる式でわかるはずです
付けたしとして、OG2では全楽曲同じ音源アドレスですが、
FF4-6など楽曲ごとに違う音源アドレスをもっているので注意が必要です
音源アドレスがわかったら変換ボタンを押す前に
GBASequenceの設定の音源アドレスを変更してください
---------------------------------------------------------------------
■うまく変換するためのTIPS
□楽器の変更
各トラックの各楽器ごとに、楽器番号、音量、音程が変化できます
楽器番号を探すときは付属のGBAtoPCMを使うと便利です
ROM内にあるPCM音源を再生することができます
GM規格の音色マップ等とにらめっこしながら頑張ってください
音量は1-255%まで変更可能
音程は100を基準にして、+12で1オクターブ高くなります
OG2限定でコツをいくつか言うと
PCM音源の音が高い時は、ノート(音階)は低い方がかっこよくなることが多い
3A(ラッパ)30(弦楽器)は聴き取りやすい音がよくメロディに使いやすい
音によって伸びる音と伸びない音があるので注意
ベース音には6A(ch3:三角波)が使いやすい
和音は表現されにくい。他の音を食うこと多いので注意
□ループ時間の設定
ループ開始と終了、および演奏開始時間を設定できます
デルタタイムなので初めての方は面をくらってしまうかも知れませんが
「時間単位の値=四分音符の長さ」ということさえ把握して計算すれば大丈夫です
CherryなどのMIDI編集ソフトで開いて、区切りのいい小節を探すのがオススメです
(下記の参考サイト参照)
□ドラム
MIDIデータだとチャンネル10はドラムパートと決まっているので
使用チャンネルが10のトラックは強制的にドラム化されています
(トラック情報の強制ドラム化にチェックされる)
しかし、PSのPgconvなど、ゲームからMIDIを抽出するソフトでは
必ずしもドラムパートがCh10ではないし、Ch10にメロディなこともあるので注意
適宜、トラック情報で変更してください
またドラムの音が合わないと思ったら、別のドラム定義ファイル読みこむか
Edtで自分でドラム定義情報を編集してください。
ドラムパートでは各ノートごとに楽器とノートを指定してすることが出来ます
トラック情報のNote分析を押すと、どのノートの使用状況が一目瞭然になります
注意点として、ドラムにPCM音源を使うと他のパートの音を食うことがあります
デフォルトのドラム定義ファイルでもPCM音源が使われているので、音が出ていないと思ったら
Noise(ch4)のみを使用したものに変えてみてください
□音源の種類
GBA音源には5つの種類があります
Ch1 Pulse1 矩形音
Ch2 Pulse2 矩形音
Ch3 波形メモリ 三角波
Ch4 リズム楽器 ノイズ
DirectSound PCM音源
Ch1-4は基本的に同時に1音しか出せないので注意
PCM音源は3音ぐらい(?)同時に発音できますが、効果音により音カケも留意してください
トラック一覧の上の方から順に優先度が高くなってます
またトラックの数が多すぎても下の方のトラックが再生されないことがあるようです
□MIDI自体の編集
発音数にかなり制限があるので、和音は変換の大敵になります
6つ、7つの音を同時に鳴らすトラックがあると、もう他の音がならなくなります(PCM音源の場合)
CherryなどのMIDI編集ソフトで音を減らす作業はかなり大事になります
□演奏精度の変更
SPCからMIDIに変換すると、テンポが25bpmなどの極めて少ない数字なることが多いです
こういう場合、リズムがきちんと再現されないことが多いので、MidiToGBA側で
テンポをn倍にしてリズムを再現することが出来ます
1Byteデータなので テンポ×n > 255になるとバグります
---------------------------------------------------------------------
■最後に
バグ報告、プログラムへのリクエスト等は
年内までだったら応答できると思いますスレまでどうぞ
おそらく似た名前のソフトが沢山あると思うので
スパロボのスレのという意味でSR_MIDItoGBAという名前にしました、
他ソフトとの混合しそうな時はSRつけてみてください
他人のサイトで公開されているMIDIを使うときは許可をもらってきてください
マナー違反であるし、スレが荒れるのが嫌なのでそこは厳しくお願いします
再配布は別にかまいませんが
付属したサンプルフォルダは消して下さい
---------------------------------------------------------------------
■参考サイト
Direct Art Studio
MIDI規格についてはここで勉強しました
http://www.pluto.dti.ne.jp/~daiki/
loveemu labo
ここの「Sappy解体新書」でMP2000について勉強しました
現在はそのページはありませんが、過去コンテンツをrarにして公開しており、
その中に解体新書やgba2midiやstosも入っています
http://loveemu.yh.land.to/
ふみぃのソフトウェア工房
Cherry(MIDI Sequencer)は非常に重宝しました
SMF0→SMF1への変換、ループタイミングの測定、和音の削除など
SR_MidiToGBAを使う上で必要な機能が全部そろっていると思います
http://hp.vector.co.jp/authors/VA010012/
---------------------------------------------------------------------
製作環境
ActiveBasic 4.24.00
WindowsXP HomeEdition SP2
Celeron(R) 2.40GHz
240MB
製作 295@スパロボ改造スレ11
作者:
starrain
时间:
2008-3-12 12:52
偶日文不好啊- -b
看看是什么先
作者:
starrain
时间:
2008-3-12 12:53
SR_MIDItoGBA 0.002
SMF1のMIDIファイルをGBAの音楽形式MP2000(Sappy)に変換するプログラムです
该软件是把SMF1(音源?)的MIDI文件转成GBA用文件的程序。
作者:
starrain
时间:
2008-3-12 13:01
作者は、SMFおよびP2000についてネットで軽く調べた程度の知識しかないので
嘘を言ってる可能性も大きいです。(ご指摘いただけるとありがたいです)
OG2へMIDIを移植するために作ったので、他のGBAでは試していません
他のGBAへの移植も同じ要領でいけるはずだと思います
楽器を探すときは付属のGBAtoPCMが便利だと思います
OG1とOG2にしか対応していないので他のものにも使いたいという方には
スレで言っていただければ、応答したいと思っています
作者谦虚,他其实对相关知识了解很浅,如有疏漏欢迎批评指正。(好人)
这软件是为OG2的MIDI移植做的,其他GBA机战没试,但想来其他GBA的移植也基本是同样要领
找乐器(音色)的话,用附带的GBAtoPCM很方便
只对应OG1和OG2(可能指GBAtoPCM),想用于其他部上的给他发个帖,他会尽量解答
作者:
starrain
时间:
2008-3-12 13:08
履历就不奇怪了,下面用法……
谁片假英文好的??
作者:
Jason.og
时间:
2008-3-12 13:14
我英文还可以哈哈,但是我看不到..一边凉快去.
作者:
6408004
时间:
2008-3-12 13:30
主要是这些。 (這個是我朋友)
① Midiを読み込む
② ループ開始時間と終了時間を入力する
③ 楽器番号やドラムセットの調節を行う
④ ROM開始アドレスを変更する
⑤ 左下の変換ボタンを押す
→ フォルダに"MPHeader.dat"と"MP2000.dat"が出力される
2のループ終了時間は0のままにしないでください。0だと演奏時間も0になります
それぞれデルタタイムでの入力なので、時間単位の値=四分音符一つとして計算してください
(例:時間単位=480で4拍子の20小節の長さにしたい場合、480x4=1920 1920x20 = 38400となります)
3の調整は色々あるので後回しでいいかも知れません。
あらかじめ作っておいた調節データを読み込むこともできます
4で指定したアドレスに曲データの先頭が来るようにしてください
フォルダに出力されたのは曲のヘッダと曲データ本体です。
"MPHeader"にはトラック数や各トラックへのオフセット、音源データへのオフセットなどが
"MP2000"には各トラックの演奏データがはいっています
次に、この曲データをROMに移植します。
バイナリエディタでROMとMPHeaderとMP2000の三つを開いておいてください
⑥ OG2構造体の「【3FA1AC】BGMデータのへのアドレス」を開く
⑦ 入替する曲のアドレスに飛んで、そこにMPHeader.datをコピペする
⑧ MP2000.datを4で指定したアドレスにコピペする
例えば、4でのアドレスが0x9000000で、AshToAshと置き換えたい場合
0x05315C4にMPHeader.datを
0x1000000にMP2000.datをそれぞれ貼り付けることになります
これで保存すれば入れ替えの完了です
[
本帖最后由 dfgr3510 于 2008-3-12 13:45 编辑
]
作者:
白色流星阿姆罗
时间:
2008-3-12 17:48
看看是这个ROM的内容
作者:
starrain
时间:
2008-3-12 23:03
明天再翻一部分
作者:
白色流星阿姆罗
时间:
2008-3-12 23:11
l老大加油了,但记的要主以身体
作者:
starrain
时间:
2008-3-13 16:36
前两天跑了个800米(!!)都不太喘
作者:
starrain
时间:
2008-3-13 16:47
1、把MIDI读入
2、循环开始时间和结束时间输入
3、乐器编号和音轨编组的调节
4、ROM开始地址变更
5、左下变换键按下
作者:
starrain
时间:
2008-3-13 17:09
==》把文件夹"MPHeader.dat"和"MP2000.dat"输出
2的循环终了时间不能为0,为0的话演奏时间就是0了。
这样那样的东西输入时间轴(?),时间单位的值以1个四分音符为基本单位计算
(例子我没太看明白)
3的调整有各种各样,要善用S/L大法
调好一步存一步,后面不满意的就读回来。
4这个地方,在指定的地址引入音乐数据的前端。
作者:
starrain
时间:
2008-3-13 17:19
在文件夹输出的东西,是音乐的标头和音乐数据本体。
"MPHeader"里面是音轨数和对各音轨的OFFSET(标式?),以及对音源数据的OFFSET
"MP2000"里面是各音轨的演奏数据
然后,把整个音乐数据对ROM进行移植
用二进制编辑器,把ROM、MPHeader、MP2000都打开准备着。
作者:
starrain
时间:
2008-3-13 17:27
6、打开OG2构造体的——【3FA1AC】BGM数据的对应地址
7、把置换用音乐的地址强行加入,然后把MPHeader.dat进行复制粘贴
8、把MP2000.dat复制粘贴到前面第4步指定的地址(ROM开始地址)
例子偶就不脑残了
然后总的保存一下,替换就完成了。。
作者:
6408004
时间:
2008-3-13 18:51
谢谢LS,我已经知道怎么加了。
作者:
starrain
时间:
2008-3-13 18:57
哦,期待成果
作者:
白色流星阿姆罗
时间:
2008-3-13 20:56
君们努力了
作者:
S虫之必杀
时间:
2008-3-14 14:46
我是日文苦手~~看看就好~~~
闪电撤退!
欢迎光临 机战联盟论坛 (http://bbs.srw00.com/)
Powered by Discuz! 6.0.0