Language…
7 users online: DashGamer, ezdeez85, GRIMMKIN, MegaSonic1999,  Nanako,  Segment1Zone2, toady - Guests: 244 - Bots: 328
Users: 64,795 (2,375 active)
Latest user: mathew

What would you want to see in a music format?

  • Pages:
  • 1
  • 2



I've been looking into making sm64 music and well your current system sucks. Especially from a standpoint of somebody who is composing and not just porting. The intermediate XML format lacks a lot of key features (velocity, pitch bends) and is a pain to edit by hand, not to mention XML just doesn't really make sense for this kind of thing. I'm thinking about making something more in line with the smw addmusic format but any input is welcome. The idea is to make it human-friendly without abstracting too much away, and to support track commands such as pitch bend, vibrato, reverb, etc. My computer is currently broken until lenovo imports a part from God knows where for me but in the mean time in going to try to design the format specifications.

I do not really understand why the question, I guess everything what is supported? (if you are talking about in inbetween format)

Anyway I plead for a direct midi to m64 conversion. Its probably the most easiest and midi itself contains basically every command ever used (except for loop). Besides that there are many editors for midi and most music people want to use are in midi format.

But I guess you want to make a inbetween format, which is a good idea to edit fast small stuff. But m64 works in layers when using more notes at once in a channel, how are you gonna display something like that without making stuff unclear? I personally do not like the way how smwc music is made



Well at the very least you need an intermediate format to put the loops in. Also I'm still looking into it but I'm pretty sure not all midis are going to be able to be perfectly converted so some things are going to need to be edited manually. I want something that people who are actually composing can use too, a lot of people who compose for smw don't even bother exporting to midi and then converting it, they just enter it in manually so they don't have to deal with any conversion issues, its no big deal when you have all the notes in front of you. And yeah layers is a bit of a challenge but probably just putting them on separate lines and using braces or something to indicate that they happen simultaneously will work fine.

No.



Originally posted by SmithJrBlaquaLuigi
No.

Care to elaborate?

Just pretend smithy doesn't exist, he's going to be permabanned soon anyways.

I'm pretty neutral to the intermediate format, like Jesse said. I wish that it could be direct midi to m64, there's already a tool called n64miditool but sadly it works mostly for rareware games, and because SM64 and Zelda used early formats for their musics and their soundbanks work differently. We did used to use mml but it was more limited and worse than xml. But it'd be good if midi velocities and settings weren't lost when converting to mml, the only thing remembered are the chords and channel names/ids.
Originally posted by MrGreenThunder
Just pretend smithy doesn't exist, he's going to be permabanned soon anyways.

I'm pretty neutral to the intermediate format, like Jesse said. I wish that it could be direct midi to m64, there's already a tool called n64miditool but sadly it works mostly for rareware games, and because SM64 and Zelda used early formats for their musics and their soundbanks work differently. We did used to use mml but it was more limited and worse than xml. But it'd be good if midi velocities and settings weren't lost when converting to mml, the only thing remembered are the chords and channel names/ids.


Oh, he was talking about MML? I see. Well, the main problem is mml can't catch the pitch and notes correctly
, maybe frauber has that in his website. But I suggest you use new version xml.
No, stop posting if you don't have any ounce of idealogy.
mml remembers pitch as correctly as xml, it has a transposition command, it's just way horrible and more limited than xml because it doesn't convert as good to m64 and has less commands prior to how SMW worked. We're talking about ditching xml because of it's not good and forgets all midi properties.



Well I think it's probably intuitive to add looping and instrument information and the like into an intermediate format rather than try to encapsulate that stuff in midi commands. Ideally barely any work will need to be done after the midi is converted. But with an intermediate people who don't use midi don't have to. I guess intermediate isn't really the right word because it should also be able to be written directly. Something that's useful for both composers and porters is ideal and most composers don't do their compositions in midi editors, and a lot of DAWs and the like have somewhat questionable midi exporters. Also using an intermediate means the midi converter can be used before its totally complete because things can he done manually. That way even when it's only partially complete it can still be helpful.

Originally posted by ergazoobi
Well I think it's probably intuitive to add looping and instrument information and the like into an intermediate format rather than try to encapsulate that stuff in midi commands. Ideally barely any work will need to be done after the midi is converted. But with an intermediate people who don't use midi don't have to. I guess intermediate isn't really the right word because it should also be able to be written directly. Something that's useful for both composers and porters is ideal and most composers don't do their compositions in midi editors, and a lot of DAWs and the like have somewhat questionable midi exporters. Also using an intermediate means the midi converter can be used before its totally complete because things can he done manually. That way even when it's only partially complete it can still be helpful.



That thread with Music Note issue that it spread the notes is not right for me. Frauber's program is messed up anyway. First, I download Goldeneye midi and use mml and the pitch don't sound right. I don't know how to use it, but maybe i'll have to make my own music to make it sound better on MML. But maybe I can help you with that problem?
I don't think Instrument name is really needed seeing as we can only replace pre-existing ones if you mean the way SMW works since they can insert samples somewhere in the ROM. A lot of porters could barely use mml and hardly even composed so I doubt they would bother composing in notepad either.



Oh yeah I forgot about that detail. Still ideally in the future that will be possible and using an intermediate will make it a lot easier to retroactively add that functionality to older ports.

And yeah I know most porters don't really compose but I want to change that. And similar points apply to porting without a midi.

Originally posted by ergazoobi
Well at the very least you need an intermediate format to put the loops in.

I guess that's the best way to do it, but that's also where my problem comes from regarding the layers. Unless you make the layers afterwards, maybe.

Originally posted by ergazoobi
Also I'm still looking into it but I'm pretty sure not all midis are going to be able to be perfectly converted so some things are going to need to be edited manually.

What problems do you expect there to be? I have had some problems when converting midi's with a tool I once made, but I perfected it when I understood what was going on. midi is actually a pretty solid format if you read it right.

But you can just make the idea you have in mind, maybe it will work out great. You can always add the direct midi conversion in later, a two option converter. And if you make it open source, I and possibly other people can help you with proper midi reading if you need help.

btw I have composed music for m64 and I always use midi



Idk I guess I don't use midi because I make my instruments as I go. If I composed directly in midi I'd need to have all my instruments in a soundfont from the getgo and I don't work that way. Also I prefer tracker-style editing.

A potential issue I'm anticipating is clock resolutions that don't line up with the m64 one. Other stuff will probably come up. The documentation for a lot of the m64 effects is shitty and doesn't have a lot of detail about units or the specifics of the behaviour so I'm going to have to experiment a bunch to find out how to convert midi values to those, and there could be problems with that. But yeah you are probably right it might be easier than I think. Once my computers fixed I'll get started and see how things go.

Originally posted by SmithJrBlaquaLuigi
No.


This post is not acceptable. Your subsequent posts all are talking about MML, which is not on the table from what I understand. Granted, I'm not a music guy, but it seems like everyone else is talking about an intermediate format between midi and m64. Keep your posts on topic, and if you're going to post here, make it about the subject matter – a new music format.



I meant more along the lines of looping within tracks using the jump command. That's a lot more of a problem than looping the whole song. I mean I guess doing that isnt strictly necessary but it does save a lot of space and I'd like to support it.

When you talk about clock resolutions and the values you mean delta time and the division? In that case I have this code I used for other nintendo sequence formats
Code
detaValue / (Devision / 0x30)
(both variables are decimals for precision)


If not then I have no clue, I didn't really understand what the difference between "time stamp" and "duration" is according to Frauber



Yes but what about the situation where the resolution of the midi is higher than m64 and now you have multiple conflicting events that are supposed to happen on the same tick. That's more the concern.




just an update: I've started designing the format. I decided MML based is the best way to go as far as accessibility goes though it will definitely differ significantly from the smw format to account for differences in the actual music engine. I want to make it somewhat intuitive to tell based on the length of the text file how big the m64 will be (to a reasonable extent of course) so some behaviours will differ from other MML implementations (such as smw addmusic).

e.g. in smw you can set a default note length, and any notes without a specified length will use the default, and this reduces the size of the play note command. Instead, in my format, notes without specified length will have the same length as the previous note, which will reduce the size of the note command.

Frauber's notes are pretty vague and incomplete so I will need to do some investigation of my own to get the specifics of all the m64 commands clear enough to complete my specs but I am working on it.

No way I could remember my messiaen account password, so created this one.

Nice that you are interested in the music format, it was the very first thing I did on SM64. Keep in mind that my initial knowledge of programming was "hello word" when I started this, and basically I only learned what was needed at each time, so be careful with all my notes, they are only the work of an enthusiastic amateur.

I first tried mml2m64, starting from the source of one of SMW's addmusic, I think that may still be available on my site but it barely works AFAIR. The option to do XML was because I was interested in the format at the moment and wanted to learn XML, more than anything else.

I still think the better format would be straight MIDI conversion, with some sort of quantization setting (tripplets might still be a problem though), so you can get pitch bends and other controls. Loops aren't needed anymore, because the memory allocation code for custom sequences has been changed using extended memory (first by me then I think Skelux fixed the code).

Keep up the work, sometimes I get nostalgic and check out how SM64 Hacking, nice to see some improvements happening on the music side.
  • Pages:
  • 1
  • 2