Users browsing this thread: 1 Guest(s)
new here and have some questions

#4
Posts: 27
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: Jul 2018
Reputation: 6
Status
Mental-Break
1. I use notepad++ for MML editing and have configured hotkeys so that one keypress inserts the loaded MML file into a ROM (with any specified custom samples) and another keypress opens snes9x to either listen ingame or rip an SPC for analysis in kuroneko. Direct SPC export would be faster but only by a second or two, and making the required "blank" initialized SPC isn't quite in my skillset (I've tried the obvious things, just replacing the sequence, samples, program tables, and track pointers, but it doesn't work reliably enough to be worth using.)

If using snes9x for spc export is too inaccessible for you, though, I can try to build an independent SPC generator script, just understand that it won't be as reliable as using the original game unless I can get someone better at the code internals to help me with a clean blank.

Batch file for inserting MML with samples:
Code:
{PATH_TO_MFVITOOLS}\insertmfvi.py -m "%~1" {REPLACED_SONG_ID} -i {PATH_AND_FILENAME_OF_CLEAN_FF6_ROM} -o {PATH_AND_FILENAME_FOR_DESTINATION_ROM} -l {PATH_AND_FILENAME_OF_CUSTOM_SAMPLE_DEFINITIONS} -s {PATH_AND_FILENAME_OF_CUSTOM_SAMPLE_FILES}
mine looks like this:
Code:
E:\Stuff\BeyondChaos\ff5ff6mcs2\temp\insertmfvi.py -m "%~1" 4C -i E:\Stuff\BeyondChaos\ff5ff6mcs2\test.smc -o E:\Stuff\BeyondChaos\ff5ff6mcs2\mytest.smc -l E:\Stuff\BeyondChaos\ff5ff6mcs2\samples\bcx.txt -s E:\Stuff\BeyondChaos\ff5ff6mcs2\samples\bcx\

2. The song data page here isn't really up to date with the current state of tools. Specifically, all the song data posted is for either original samples only, or for one specific set of custom samples (either the old T-Edition set posted on the page, or the Beyond Chaos set that's floating around somewhere). There are no examples or precedents on this page for songs that include their own samples as is common in SMW, even though the tools support it. This is mostly because the big FF6 projects that use custom music ... well, they're BIG. Loading a whole mess of independent samples for each song, when you've got a couple hundred songs, would quickly give you more samples than the ROM can hold. Smaller projects are possible, but it hasn't really been a thing yet.

So if you're interested in posting something with its own custom samples, that's a new frontier! Probably the best way to do it is to zip up the MML with the samples and assume insertmfvi will be used. Maybe with an extra info file containing the raw loop/tuning/ADSR data, and maybe with FF6 style BRR headers, in case someone wants to insert it manually? (insertmfvi doesn't care about BRR headers, but FF6 internally uses a different header than the AddmusicM loop header used by SMW community, and mixing these could get very annoying for manual inserters who may not know the potential problem). Anyway, how best to do this is probably best discussed on discord with input from several people.

For something with original samples, just run mml2mfvi on your MML and it'll give you the binary files needed. Getting the SPC is answered in #1.

3. Load custom samples from MML with the "#brr" directive when using insertmfvi. You'll need to specify loop point, tuning, and default ADSR; there are several ways to express each of these described in the mfvitools docs. As far as memory, things are pretty limited: you've got 3746 BRR blocks to work with (33,714 bytes) before you overflow in memory and things start to glitch out. There are as yet no ways of effectively increasing this size when making songs for romhacks, other than reducing the global EDL value. Similarly, sequence size is limited to 0x1000 bytes.

BUT, if you're just making music and not intending it to be part of an actual gameplay project, there's considerably more flexibility. Insertmfvi can change the global EDL, of course, as you've noticed. That basically moves where the END of sample RAM is. I'm not sure if I've posted this to github yet, but my current version of insertmfvi can also change the starting address for sample RAM. Effectively, this lets you divide all the memory between $1C00 and $F500 between sequence, sample, and echo however you like (as long as it's in that order). That has to be done at the command line, though, not in MML, and it'll likely be different for each song.

(FYI, the memory from $2C00 to $4800 is usually used for sound effects, which is why it's vital to keep intact when playing the game, but an obvious sacrifice when just making music.)

4. Already touched on this in 3, but some more on the echo buffer -- a couple months ago I got Myria to try to solve this, and she actually came up with a working hack that independently sets the echo buffer for each track. The problem we found is, unfortunately, the FF6 sound engine's "set echo buffer" interrupt doesn't actually *work*. It changes the size, alright, but it also ends up blasting a bunch of nasty corrupted data out of the speakers whenever it changes. Fixing *this* isn't really hard, per se, but it requires expanding the song engine code, which has a bunch of attendant annoyances that haven't been worth dealing with. So this is a very approachable problem, basically, it just hasn't been sufficiently approached yet.
  Find
Quote  
[-] The following 2 users say Thank You to emberling for this post:
  • madsiur (05-24-2020), musicalman (05-25-2020)



Messages In This Thread
new here and have some questions - by musicalman - 05-24-2020, 11:56 AM
RE: new here and have some questions - by madsiur - 05-24-2020, 12:39 PM
RE: new here and have some questions - by emberling - 05-24-2020, 03:47 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite