Language…
21 users online: Anas, AnunnakiGirl,  Atari2.0, CharlieUltra, CourtlyHades296, furario, Green, mmmdoggy, Mohamad20ZX, Natsuz2, NewPointless, Papangu, SAMYR DUTRA ARAUJO,  Sayuri, Scags, signature_steve, StarWolf3000,  Telinc1, TheBubbster123, TrashCity, yoshisisland - Guests: 285 - Bots: 554
Users: 64,795 (2,369 active)
Latest user: mathew

Custom Music Workflow

For all the SMW custom music porters, what's your workflow when making a port / remix, or how do you go about things? I know everyone's got something different up their sleeve, and I'm interested in hearing what they are.

For me, I usually have two workflows, depending on the song I'm arranging / porting:
- MIDI - Read off a MIDI when transcribing to MML, and then make edits if necessary.
- Ear-To-Ear - Write a MIDI in FL Studio, then read off that when transcribing to MML, and finally make edits if necessary. Although, usually my Ear-To-Ear ports are not as accurate as when reading off somebody else's MIDI (currently), but I'm sure with enough practice it'll be just as good as that if not better.

Converters make things easier for me, and the latest version of PetiteMM has helped with that.

LINKS -> YouTube - Discord - Twitter

I generally do it with the first approach, since I didn't really develop a good music ear to earport/write a midi.

I usually cruise through VGMusic and see what midis are there, listen to a few, and if I find something I like, I start porting it.
Some people prefer using PetiteMM to get their MML but I find transcribing the midi by hand a bit more fun and easier to optimize.

Recently I've been big into composing music and I have so much fun doing it, although, I feel like I've dedicated too much of my time porting/composing and have left SMW hacking on the side.

On the topic of workflow, how much time do porters/composers spend on the songs?
I mostly do my ports/compositions in 1-2 days, with some of the harder ports pulling into 3-4 days.
Depends on the song I'm doing.

If I'm 1:1 porting a song from a SNES game, if it's not doable in NintSPC, I always try to use VGMTrans to get the MIDI notes whenever possible, and then use PetiteMM to convert from MIDI to MML. For correct volumes and such, SPCtoMML usually gets it right, and that's what I should count on in order to save time, since PetiteMM doesn't detect volumes (although KevinM has a WIP fork of PetiteMM that does detect volumes and panning, we could count on that too). If it's not compatible with VGMTrans then I just entirely use my ear and look at the values that SPCPlay give me, I've never found fun in optimizing my music text entirely made from SPCtoMML. My GOSH I hate fixing the note timings off by a few ticks in SPCtoMML (no matter how accurately tempo has been tapped, it always does that), although I know "replace all" function in the text editor saves some time.

If I'm porting a non-SNES song from something that IS possible to get a MIDI file out of (e.g. GBA music), then I always trust PetiteMM to get the notes, though I know dealing with unoptimized text data can be a pain, and then I try to use my ear to get the right volumes, vibratos, custom ADSR and whatnot. However, if the MIDI is seriously way above SNES's polyphony limits (e.g. Fortress 2 Blue), then I just port it by hand.

If I'm completely earporting something, I just directly write it on MML. Though, If I'm composing something on my own, then I found it best writing the notes on a piano roll (e.g. FL Studio) with placeholder instruments first, and then basing it off of the piano roll to write the music text for AddMusicK. I only do this because piano rolls are better at quickly visualizing what I want to have in my composition, otherwise, I forget, and my compositions end up not going the way I wanted them to go.

How long it takes really depends on the song. 1:1 porting SNES songs usually take shorter, though porting Plok's music and Sparkster's Stage 5 (pyramid) music was incredibly tedious, took around a week or more to get some of them done. Maybe it's because I've been spending so much time looking back in the values in SPCPlay and nitpicking them?
When I tried out to port, I used to use a MIDI directly (everyone has to start somewhere) but later on, I tended to use an existing MIDI as a note data reference for a new MIDI for PetiteMML primarily to fix the note length with the nice side effect that you can use it to to compress the MIDI into eight channels and remove chords. The only trouble is the drum beat (which are different instruments for each note) but I think it's better to ignore that and write the drums into the MML directly (they are supposed to be regular) and base it off from the reference MIDI as well as the original song.
So I have LMMS set-up for all things midi.

I sometimes go to vgmusic and find a midi I like. Can also be a non-vg midi or something a request suggests.

I've grown a habit of reading midis on my piano roll. But on some songs I like I also can read score sheets.

For a moment I've started using vgmtrans and SpcToMml to make 1:1 Snes ports. But I really don't enjoy reading machine-generated mml. Petitemm was awful, SpcToMml does it a bit better but still it produces weird tunings and timings. So I first have to open my vgmtrans-extracted midi, then apply a similar tempo on SpcToMml, then grab the samples and finally start porting.

The SpcToMml output only is used as a guide to acknowledge all the reverb, echo, vibrato, filter and volume quirks that may not have been kept in the midi conversion.

For some selected songs I'll do both 1:1 and unsampled, others inspire me for a sampled light, and at rare occurences when I feel able I'll add custom things to a pre-existing midi, from ear. For example, one of my Opeth ports didn't feature the singer's melody and I had to transcribe it myself.
i think around late 2016 i stopped bothering with midis (downloading or making them myself) and instead started porting entirely by ear, directly into mml, with amkgui porter mode and plain jane notepad. if i'm doing an snes port i'll isolate channels to make it easier on myself, otherwise, i'll open the track in youtube and skip back a lot to transcribe as accurately as i can

automatic mml generation software is Pain to fix up for smw, and if i'm transcribing i don't see the reason for a midi middle man
Entirely haphazard on when I'll start and finish a port, but generally, I:
-Get a MIDI of the song. Specifically, if it's something rippable from the game, I'll do that; if it's a really really really popular game with decent enough MIDIs, I'll use those and adjust them as needed. Otherwise, I'll just trancribe the song myself.
-Type everything manually into the MML. Converters are a pain to use.

That's about all I do consistently. Everything else's order changes depending on my mood, especially my experimentation with instrumentation and mixing.

Originally posted by MercuryPenny
automatic mml generation software is Pain to fix up for smw, and if i'm transcribing i don't see the reason for a midi middle man

Agree with the first part. For the second though, it's personally so much easier for me to visualize things on a piano roll, and it helps me plan out my channel distribution too.

I'm still pretty much brand new at porting, so I'm currently only comfortable with making 1:1 SNES ports. And the way I do them is roughly as follows:

1. Get the SPC
2. Run it through SPC2MML. This will get me a pretty good approximation of all of the #instrument values, the ADSR, the volumes, the panning, sometimes even the vibrato, et cetera. However, SPC2MML is pretty bad when it comes to actually transcribing the song itself for the reasons brickblock said, so I only even bother with this step to save myself some time with calculating the hex commands and crap.
3. Get an actually good MIDI by either converting the SPC from VGMTrans or finding a decent MIDI on vgmusic.com. If neither of these options work, I'm screwed - it hasn't happened yet, but I guess I'll have to learn ear-porting when it does.
4. Open the MIDI in FL Studio, find the tempo, and transcribe every single note of the song from scratch into the text file, for every single channel.
5. ????
6. Profit.


Now, if all goes well - and if I'm feeling motivated/focused enough - then I can usually whip up a fairly good port in about a day, though sometimes it can take a lot longer if the song is especially complex and non-repetitive. Both Distant Thunder and Steel Works gave me this problem because of how annoying the percussion was to transcribe, and it got exhausting fast.



Now I'm curious about KevinM's workflow. That guy can complete a port in sometimes under an hour!
Twitter
The handomest people in the world are ones who follow my Twitch
Originally posted by K.T.B.
Now I'm curious about KevinM's workflow. That guy can complete a port in sometimes under an hour!

Same here. If it's portable in NintSPC, then I think I can understand how it's able to be done quickly, but otherwise it puzzles me how it's done under an hour.
Originally posted by brickblock369
...but otherwise it puzzles me how it's done under an hour.


The shortest time I ever spent on a port / arrangement (that wasn't some jingle) was four hours, but I usually spend like 2-3 days on it (sometimes longer).

LINKS -> YouTube - Discord - Twitter

Originally posted by K.T.B.
Now I'm curious about KevinM's workflow. That guy can complete a port in sometimes under an hour!

That's pretty rare, and as brickblock said it's only for very simple NSPC songs where you just need to do some basic optimizations to the output text. Usually my shortest time is around a few hours for simpler ports (like spc2mml/nintspc stuff) up to several days. I think the longest I spent was on Gambit and Mission Briefing which took about 10-14 days, working a few hours a day.
About the actual topic of this thread, I'll maybe post my usual workflow later on, although it probably doesn't differ much from what I've seen here :P
When I'm porting something from a SNES game, if it doesn't have dynamic channels (like Earthworm Jim, Toy Story, and Der Langrisser do), I usually just listen to it one channel at a time and write down what I hear in a text file. If it's a game on the NES or Genesis, I can use foobar2000 to do the same thing (though without being able to slow it down), and I can also usually open NES files in FamiTracker and read the notes from there. For anything else, I usually have to find a MIDI. If there is one, I open it in Anvil Studio or MuseScore, read the notes, and write them down in the .txt. If there isn't one, or there isn't a decent one, I'm basically out of luck, unless the track is simple enough or the instrument lines are distinct enough that I can listen to the entire track at once and write down what I hear.

For compositions, it varies. I used to just write the entire thing in the text file, but nowadays, I usually prototype them, or at least a few measures of them, in MuseScore first to approximate how they'll sound.

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.


When I first started porting (which wasn't even 6 months ago really) I was going entirely by ear, since I'm lucky enough to have ears that allow me to pick the notes out without too much difficulty. That's what I did for my first two ports, until I realized I could use the original SPC's to my advantage. Since I've only ported SNES music so far, I've started to develop a flow that goes something like this:

1. Listen to the SPC and do some channel muting to determine all the different parts (and tempo)

2. Organize what instruments will be in what channels for my port (I usually break it into multiple sections to help visualize since instruments often change partway through and I like to make sure I keep the least important parts in the last two channels)

3. Create all of my instruments to match the originals as best as possible and add them to #instruments (since all my ports thus far are unsampled)

4. Fill all the channels in the MML with a bunch of groups of rests to again visualize each section of the song, and set the instruments to each group accordingly

4. Go through the channels filling all the notes in one rest-block at a time, and double-checking by isolating the parts in the original SPC

5. Do the panning and volume, plus any extra hex command stuff to improve or make it more accurate

It's still a tentative and flexible process since I've only made like 10-11 ports so far (most of which are yet to be released), but it's been working pretty decently thus far. I figure for any non-SNES music I might just resort to good ol' ear-porting again and hope no instruments go unnoticed.
embed fail!!