(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-14-24 01:42 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Super Mario 64 Text Wrangler 1.0b Release!
  
User name:
Password:
Reply:
 
Options: - -
Quik-Attach:
Preview for more options

Max size 1.00 MB, types: png, gif, jpg, txt, zip, rar, tar, gz, 7z, ace, mp3, ogg, mid, ips, bz2, lzh, psd

UserPost
Deleted User
Posts: 142/-7750
Oh this is awsome, great work!
jensthecomposer
Posts: 1/154
VL-Tone, could you make a option to replace the sound samples?? It would be great!!
VL-Tone
Posts: 108/156
I didn't know that about the SNES devkit... interesting

Still I don't think SNES carts contained actual MIDI files, even compressed, but my point though is that on the N64 it's different. I don't know any valid reason why they wouldn't use standard MIDI, as Nintendo wrote their N64 music player entirely in software.
d4s
Posts: 47/98
Originally posted by VL-Tone
The SNES had a powerful sound chip that was also best harnessed by custom tools and was not necessarily built to fit the MIDI spec. Again, MIDI imports were probably feasible, but intermediary formats were probably used to fit the sound chip capabilities better.


just a sidenote:
the american snes devkit (emulator se) has hardware midi-support built-in.
apart from the normal workram, it has a special spc program on an eprom and you can directly record and play back midi sequences with it.
it is even able to produce brr samples directly from an analog feed.

however, its beyond me how youre supposed to create nice-sounding, small and good-looping brr-samples from an analog input.

it usually takes a lot of tweaking to get them to sound and especially loop good even if youre editing them digitally on a per-sample basis.

didnt get my emulator se to run yet, so i cant comment on how good it actually works, but thats what the manual says.
VL-Tone
Posts: 105/156
What you stumbled upon is the ABI (Audio Binary Interface) commands. These control the MIDI player, assign instruments to tracks, add loops and override various other things that can be already part of the MIDI data. As described in the some n64 doc: "The N64 Audio Lib supports the play of musical sequence that conform to the Standard MIDI Files 1.0 spec for Type 0 MIDI files." And then they refer to the "Standard MIDI Files 1.0" specification. Nothing is said about having a special modified MIDI file. I don't know why they would have bothered to do otherwise.

The only thing is that Nintendo uses its own compression format to compress the actual midi data. What you found refers to what's inside the compressed MIDI files.

There are two ways of playing MIDI files using the n64 lib. One is using the compressed MIDI music player which will play music by itself, and the other using some ABI commands to go step by step in the MIDI file. I guess for Mario 64 it's the latter, but still it's supposed to refer to standard MIDI files.

Music on the NES was first only possible through Nintendo's own limited musical tools on the NES devkit. Hirokazu "Hip" Tanaka built his own tools, and did a lot of audio programming on paper Other companies may have built their own tools. While at some point, some NES development tools may have imported MIDI files, the NES and devkit itself never played MIDI files directly and was not made with MIDI in mind. To make a NES tune sound good and with a distinctive tone, you had to have much more than just notes, it required a lot of tricks.

But do you know what keyboard was probably used to compose some of the most famous NES tunes? It's called the "Casio VL-Tone"

The SNES had a powerful sound chip that was also best harnessed by custom tools and was not necessarily built to fit the MIDI spec. Again, MIDI imports were probably feasible, but intermediary formats were probably used to fit the sound chip capabilities better.

The n64 has no sound chip, Nintendo decided to build a software MIDI player instead of inventing yet another format for music. Nintendo didn't produce a music editing program for the n64, how do you expect developers to produce music if like you say it's non-standard MIDI?

I guess that somehow we are both right or both wrong

So where did you found all that data? Any addresses?
DJ Bouche
Posts: 50/111
The music is not MIDI. You can extract it to MIDI, but as far as I am concerned it still looks like a total mess to me. Yes, it's MIDI-based, as in it's still 7-bit note based, 7-bit instrument based and such. I do have very minimal amount of information on this format I'll gladly post if you want. In short the song itself consists of some big mama sequence that assigns read addresses for each MIDI track, and such and blah, and crap that leads to sub-sequences that seem to call sub-seqences.. etc etc... of course I could just be looking at it all wrong, after all I didn't get much time for this.

Samples can be easily extracted by SRIP, and as you can see from the header file, it uses a different format (as in the way the sample/inst properties are structured) from the common (only other games I know off-hnad which use this are Zelda series, MK64, Animal Crossing)

To be straight, this is NOT the common compressed MIDI format that is in that common library, and those games use the initial structure that SRIP supported (and can properly display the names of the properties). This MIDI format actually is just MIDI with some tweaks to allow for loops and note on/off events are simplified to a single note on event with a length param. This one is used in many many N64 games including but not limited to: Goldeneye, Perfect Dark, Mario Party, and other stuff I can't be bothered to recall.

And MIDI keyboards have been used miles back, wouldn't be surprised if they aided in even NES games. If you listen to Yoshi Island music and hear how some things are delayed a little bit after the beat or triggered slightly before the beat and the natural variation of velocity, you could argue that it was recorded from a MIDI keyboard. SM64 songs are like that too, and DDD being the most obvious (and you have my confirmation that it is humanly playable note for note ).

And both the table of sequence pointers and the sequences themselves are uncompressed in the ROM, they are not stored in MIO0 or anything like that.
VL-Tone
Posts: 103/156
I'm %99 sure that it's midi. This is what n64lib use and Mario 64 is using it. The main problem is that it's compressed using a Nintendo format. I never checked in RAM though... maybe they are there uncompressed?

It's clear to me that Dire Dire Docks was played by a human on a standard pressure sensitive midi keyboard (I would guess, Koji Kondo himself?).
HyperHacker
Posts: 1696/5072
Keitaro sent me a bunch of samples extracted from the game, but IIRC he just used a tool to rip them. I also seem to remember Bouche saying things about the music format being MIDI-like.
Yoronosuku
Posts: 435/1239
I already have the sample format done and extracted them all a very long time ago....and I think it was Bouche or Keitaro who knew the music format, one of them more extensively (which makes me think it was Bouche..)
VL-Tone
Posts: 102/156
Originally posted by Bane King
that would be awsome to be able to replace sounds in the games like you can texures.

You could use the cell shaded OOT with Wind Waker SFX.

Sweet program BTW... It's only a matter of time befor there is a full scale editor for SM64.


Someone was working on finding the sound samples, but I have no news about it...
Personally, I would love to be able to decompress the compressed midi files inside Mario 64.

Nintendo had a command line tool called midicomp to take care of this, but obviously its nowhere to be found.

Xenesis: cool to see there is more than two of us here
Bane King
Posts: 23/116
that would be awsome to be able to replace sounds in the games like you can texures.

You could use the cell shaded OOT with Wind Waker SFX.

Sweet program BTW... It's only a matter of time befor there is a full scale editor for SM64.
Xenesis
Posts: 84/200
You released a Mac Version. You are officially my hero of Romhacking.
HyperHacker
Posts: 1662/5072
Heh, cool. Wouldn't it be easier (and a bit cooler) to just allow people to import a small WAV for the voice clip though? It'd have to sound better than a monotonous computer-generated voice.
Raccoon Sam
Posts: 308/1040
Nice one =D
VL-Tone
Posts: 100/156
Originally posted by DarkSlaya
*quick reply for MP3 file*


Well thanks for the reply I managed to put it on my isp host though, I had enough space left...

http://pages.infinit.net/voxel/PrincessPeach2006.mp3

I'll attach it anyway...

Edit: Here is a better link to download the The Super Mario 64 Text Wrangler: http://romhacking.deadbeat-inc.com/?page=utilities&action=search&title=Super%20Mario%2064%20Text%20Wrangler
DarkSlaya
Posts: 553/936
*quick reply for MP3 file*
VL-Tone
Posts: 99/156
Ahhh that was a good siesta....

I won't add automatic returns, at least not now. The preview was supposed to show you where the text could be cut off, but ehm it doesn't work.

I estimated the width of the preview pane from the length of the longest line found in dialogs. But I assumed that the text was mono-spaced... I just realized that the text is proportionally-spaced... that means "l" for example doesn't have an 8 pixels width like it does in the font bitmap. So I'll have to calculate the width of each characters before I can implement an adequate preview.

Now, as for a menu bar. It's not that I cannot do it, Director can manage menu bars, but I didn't feel the need for it.

I used to be an interface freak, wanting standard interface widgets everywhere, but since then I changed my mind a little about it. I find it's not always best to use menus.

Instead of having to
1. click the "File" menu
2. move the mouse over Open...
3. click

You just have to click on the Open ROM... button. Same thing for Save and Revert.

For the update speed option, I guess you'd like it better to open a menu, chose an item, adjust speed value inside a dialog box then click the Ok button?

There is only 4 buttons needed for now that could be in a menu. The menu bar is supposed to save screen space, but I would be actually wasting space if I added a menu bar just to contain a File and Bla bla menu, because I could not use the remaining horizontal space and the right of the menus.

As for the smallness of the buttons, well I must say I recently got my first LCD screen, and I'm just amazed at the crispness of it, compared to a CRT, even the smallest hand drawn pixel text is readable on my screen. I guess not everyone has an LCD and I should have taken that into account.

In real life though, you just have to read these little labels and button once, because by then their use become obvious. They are color-coded so you don't actually have to read each button letter by letter each-time before clicking it.

I guess that the only real inconvenient is that the buttons are harder to target with the mouse.

That being said, I didn't make the button small just to piss people off. I wanted the interface to fit in a 800x600 screen, and I needed sufficient vertical space for the preview and the symbol palette. I'll find ways around it...

Now for the text-to-speech thing, that was more of a joke than anything.

But, I won't rule the possibility of including the feature...

Listen to this .mp3 file http://pages.infinit.net/voxel/PrincessPeach2006.mp3
proffessor_gad
Posts: 61/126
Maybe I should translate super mario 64 into Russian? It is possible with the extended rom, just that I might not have enough space for the words. Most russian words are bigger than English words. Maybe you should implement a feature that will add more room (extend the rom) for text?
Darkdata
Posts: 67/983
Originally posted by FAQ
- Automatic text-to-speech conversion of Princess Toadstool's letter text
so that the voice sample is changed to match the new text.

(Untill you con get that working, how about somthing that disables the voice?)
Originally posted by My small stupid rambleing[/quote

Also A small idea from me.
I prefer menu bars
File Options
bla Bla
bla Bla
bla Cookie

To the jumble of images on top

Accually to my eyes I find them too small.


Ah (idea!) To put it a better way improve the visabilty(sp?) of the buttons So its more viewable.

Edit(s):I really have to read more carefully, even my edit had mistakes!
Shiryu
Posts: 43/275
Acctually, it's not cutted off, just I thought "Luigi" wouldn't fit in that space so It's on the next row.

And I like how it is now, I prefer to have more control on what I'm doing and adjust the words by myself... But that's me I guess...
I would suggest something like a preview of how the text would look in the game, and you could switch between letter, dialogue box or the Peach letter at the start.
This is a long thread. Click here to view it.
Acmlm's Board - I3 Archive - ROM Hacking - Super Mario 64 Text Wrangler 1.0b Release!


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.006 seconds; used 376.68 kB (max 441.19 kB)