music by Minim and mobius

Started by mobius, September 12, 2017, 10:04:08 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

mobius

me and Minim collaborated to make 5 songs originally intended for use with Lix or NeoLemmix but since both parties stated they couldn't/didn't want it; I'm uploading it here for your personal use/enjoyment.

Minim did most of the work; I merely provided some ideas. Downloadable in MIDI or mp3 format. I can make other formats if requested.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Simon

Hats off! :thumbsup:

I've listened to these several times now. You have great ideas. I've enjoyed the melancholic pieces the most: Driving and Foggy Streets at Night.

Minim, I haven't heard much from you recently on the forums. Are you still online? Neat work, thanks for publishing!

Your music would be awesome in Lix. Some roadblocks are in Lix itself:

  • For Windows Lix music support, I still have to finish some details and merge it into the main release.
  • Linux Lix music support is tricky (libraries outdated), but that's fine, most Lix players use Windows.
  • All music would either ship with the main download, or would be put by user into the main download's central music folder. This doesn't scale well to users shipping individual levels with custom music, which would be nice-to-have and is popular in NL culture. Acceptable for now, can find a future solution for this. (Tilesets have the same issue.)
About formats:

  • .ogg or .mp3 are fat, lossy formats. Your music is tracked, therefore we should use a tracked format instead.
  • Midi isn't supported by my library. And Midi sounds different on different devices. Since you have learned to track midi, definitely continue with your trusty, well-understood tools. We'll merely have to find another solution.
  • Ideally, we use .xm or .it, which is tracked music plus samples. I don't know if it's possible to convert from midi at all, or how easy it would be, but google will know.
For these reasons, I've always said: Enjoy making music, and please ensure you'll have fun independently from whether your art ends up in Lix. I would like it in Lix, and I think about it often, but the problems will take longer than a day to solve. :lix-smile:

-- Simon

mobius

thanks for the kind words!

It is possible to convert from MIDI to IT but not simple. I tried with a good program called ?? (XM Tracker? I forget :-[ ) and the results were sub par to rubbish. The biggest problem was sometimes the timing was off and other issues. I don't know if this was an issue with the program or with IT/MIDI.
I searched a little bit to do a better job but didn't search for long.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


ccexplore

OpenMPT seems to do a decent job converting the MIDIs to IT or XM formats.  By no means perfect but pretty close, at least when I tried it on "assembly line".  Haven't tried the others.

mobius

Quote from: ccexplore on September 13, 2017, 06:25:47 AM
OpenMPT seems to do a decent job converting the MIDIs to IT or XM formats.  By no means perfect but pretty close, at least when I tried it on "assembly line".  Haven't tried the others.

oh; that's the program I fiddled with. Well I'm glad to hear it worked for this. Maybe we'll get lucky and it will work with all of these. But it failed pretty miserably with some others. Particularly in converting the MIDI's from Lemmings Paintball. Some of the converted instruments/timbres I did not like and it seemed to totally fail at rendering sliding/tremolo pitches correctly.
I don't think Minim put anything like this in these though.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


ccexplore

Quote from: möbius on September 14, 2017, 01:45:04 AMSome of the converted instruments/timbres I did not like and it seemed to totally fail at rendering sliding/tremolo pitches correctly.

I can see that happening.  Pitch sliding and tremolo are more advanced things that may be trickier to properly convert.

For the instrument conversions though, it looks like OpenMPT is actually directly reading from the same soundbank file that the Windows MIDI driver is using (namely c:\windows\system32\drivers\gm.dls), so in theory it should be the same underlying sound samples.  I did notice though that OpenMPT doesn't seem to apply the correct amount of decay to sounds like piano and guitar that should decay over time, so long notes from those instruments will tend to sound subtly different.  Perhaps other instruments used in Paintball have worse conversion issues.

(It's also worth noting that the MIDI format has more freedom than tracker formats in terms of how many simultaneous notes you can have on the same channel.  I can imagine the more simultaneous notes "jammed" into the same channel in the MIDI, the more problematic it might become to convert.   So perhaps the Paintball MIDIs also happened to be put together in such a less conversion-friendly way.)

The OpenMPT wiki on the web did warn that MIDI import will not be fully automatic and will likely require some post-conversion fix-up work.  If nothing else, I think you'll need to setup the looping yourself since I don't think that data is captured in the MIDI format.  I expect that we may also need to look into adjusting the MIDIs to perhaps avoid or minimize use of certain features or instruments that just don't quite convert as well as other ones when using OpenMPT.

Also note that when saving the conversion in OpenMPT, you should only use the IT or XM formats (based on further reading of the manual, IT may be the better choice of the two), or OpenMPT's own format (though we might want to avoid that one since I'm not sure how easy it is to find code supporting that format that Simon can use for Lix).  Other formats are older and more restricted in capabilities, and will likely introduce further issues into the conversion.

If I have time maybe I can try to convert the rest, and post the results here to let others have a listen.  I will try to at least make the tunes loop properly, but won't try to fix anything else post-conversion.

ccexplore

Quote from: ccexplore on September 14, 2017, 02:40:23 AMIf I have time maybe I can try to convert the rest, and post the results here to let others have a listen.  I will try to at least make the tunes loop properly, but won't try to fix anything else post-conversion.

I got too lazy to even bother with looping now, but attached are the direct results of conversions via OpenMPT.  At this point I think the more important thing is to make sure it would actually play back with whatever code Lix could use to play IT files, and not just something that only plays correctly in OpenMPT.

While not perfect by any means, it should sound pretty close to the MIDI/MP3 versions in terms of tempos, very few to no missing notes, and fairly similar-sounding instruments.

mobius

Honestly, and unless Minim has other plans; (and in response to Simon as well) I'd prefer not sticking with any tracked method. I like this method for MAKING music but not at all for listening/using in things like this. As Simon said; MIDI sounds different on other devices. I'm not happy with converting to IT; I don't like the result of ccx's conversions  and since I can't really work with IT's (and don't want to) I'd much prefer working with oggs/MP3s. I can do a lot with those and customize them.

In any case I don't think it matters much: if you end up ever supporting music for Lix; I'd suggest you do it the way NL did and let creators install or suggest their own music for their own packs. Thus, shipping music with the game might be pointless...
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Simon

No problem -- I'd rather have an ogg that sounds like you intended than a conversion that makes you unhappy.

I'll keep on trucking, and will be happy to discuss more once I have music support. E.g., even when there is no per-pack music, I could offer a separate music download with many oggs.

Thanks to ccx too for a quick first conversion!

-- Simon

ccexplore

Yeah, digital audio formats like MP3s and OGGs will always offer the greatest flexibility for people to source music from, since any audio (even those requiring playback programming code not readily available for incorporation into Lix) can basically be recorded and converted to those formats at near-complete fidelity beyond the barely perceptible lossy compression artifacts.  Tracker and MIDI formats will always pose some amount of limitations on what sounds can be made, but does result in smaller files.  I think Lix will ultimately need to support both digital audio as well as tracker formats, both of which should be relatively easy to find code for.  How we handle distributing the music in what formats can be decided at a later time.

Quote from: möbius on September 14, 2017, 10:39:23 PMI'd much prefer working with oggs/MP3s. I can do a lot with those and customize them.

Okay, but to be clear, the MP3s you attached in the first post were nothing more than a direct recording of the MIDIs playing back from a Windows PC, correct?  Because I don't think I can hear any customizations on those that make them sound particularly different from the MIDIs.  Did anyone else?

Minim

Quote from: Simon on September 12, 2017, 11:19:57 PM
Hats off! :thumbsup:

I've listened to these several times now. You have great ideas. I've enjoyed the melancholic pieces the most: Driving and Foggy Streets at Night.

Minim, I haven't heard much from you recently on the forums. Are you still online? Neat work, thanks for publishing!

Your music would be awesome in Lix. Some roadblocks are in Lix itself:

  • For Windows Lix music support, I still have to finish some details and merge it into the main release.
  • Linux Lix music support is tricky (libraries outdated), but that's fine, most Lix players use Windows.
  • All music would either ship with the main download, or would be put by user into the main download's central music folder. This doesn't scale well to users shipping individual levels with custom music, which would be nice-to-have and is popular in NL culture. Acceptable for now, can find a future solution for this. (Tilesets have the same issue.)
About formats:

  • .ogg or .mp3 are fat, lossy formats. Your music is tracked, therefore we should use a tracked format instead.
  • Midi isn't supported by my library. And Midi sounds different on different devices. Since you have learned to track midi, definitely continue with your trusty, well-understood tools. We'll merely have to find another solution.
  • Ideally, we use .xm or .it, which is tracked music plus samples. I don't know if it's possible to convert from midi at all, or how easy it would be, but google will know.
For these reasons, I've always said: Enjoy making music, and please ensure you'll have fun independently from whether your art ends up in Lix. I would like it in Lix, and I think about it often, but the problems will take longer than a day to solve. :lix-smile:

-- Simon

Just letting everyone know that I'm still around on the forums, but generally losing interest in Lemmings and forum posting because of other things in life keeping me busy. Still, thanks for the comments! Very much appreciated. :thumbsup: (Also, thanks to mobius for thinking out proper titles for these tracks, much better than messedupguitar)

My initial plan was to use these tracks for Lix, however, my Sibelius Student program can only convert files to MIDI unfortunately. Doing a brief google search it looks like the only way to convert midi to .xm (If that's what Simon wants) is to use a MODplug tracker, which I don't have yet. Looks like we are uncertain at the moment as to which format these music tracks are going to be converted to.
Level Solving Contest creator. Anybody bored and looking for a different challenge? Try these levels!

Neolemmix: #1 #4 #5 #6
Lix: #2  #7
Both Engines: #3

RubiX

Had a listen to the tunes.    Good work, my favorite was Foggy streets at night.   

Dullstar

On the subject of converting these to .xm or .it:

I have some experience with tracker programs.

OpenMPT is pretty horrendous at converting MIDIs from my experience. If it's the best option out there for such a conversion, then the only advice I have is, "don't even bother." With appropriate instruments already available, it wouldn't be too much trouble to redo them in a tracked format, but getting good instruments is a bit of a pain, which is why I do most of my work in FamiTracker, where I don't really have to worry about that because it's basically all pulse waves.

That said, if you've got a MIDI player that supports custom soundfonts, the results can be quite good - that's probably the best way to handle MIDIs, at least in terms of audio quality.

ccexplore

OpenMPT on Windows seems to use the MIDI samples that ship with Windows (c:\windows\system32\drivers\gm.dls) for the instruments in the tracker conversions, but some aspects of the instruments are not quite translated properly in the conversion so it's like hearing a slightly degraded version of what the MIDI would sound like.  The MIDIs on this thread also don't seem to use too many advanced features like pitch bends, I can imagine that the conversion may fare worse when faced with such things.  But for the MIDIs on this thread so far, the OpenMPT conversions seem to at least got the pitches and durations of notes mostly correct, after which you can potentially change the instruments to better ones.

There is also a goal here of using these for music in Lix or NeoLemmix.  I don't think it'll be as easy to find programming support for "MIDI with custom soundfonts" compared to tracker formats or digital audio waveform formats.

Dullstar

As far as instruments go, the specific issue it has is that the volume envelopes it comes up with when reading the sound font end up being pretty trash, so you have to manually fix them just about every time you load any instrument.

It can be done, but it's a massive pain.

The other thing that OpenMPT has issues with is that the timing grid is often slightly off because of rounding. The default setting used to be 3 for the speed - I imagine it's still like that. This should be changed to 2 to slightly improve the timing grid issue. It would be further improved if it let you set it to 1, but it doesn't - still, that doesn't make it perfect. This is worse with some MIDIs than others and will depend on the MIDI's tempo. I've had OpenMPT drop some notes with some MIDIs, but I'm not sure why - but, for a midi that doesn't do anything super fancy, what's there should be correct - it's just that some little stuff can get excluded.

Ogg conversions are a pretty logical choice if you don't want to play the MIDI directly - the filesize is larger, but this isn't usually as much of a concern as it used to be, as storage is pretty cheap and the "lossy" nature of .ogg is usually pretty unnoticeable - and the process from MIDI to ogg is certainly much less lossy than MIDI to .xm/.it/etc.

TL;DR
Midi to .ogg = preserves quality, increases filesize
Midi to .xm/.it = preserves low filesize, sacrifices quality