Jump to content
  • 0

Is it Possible to String Multiple Midi Files Together?


mrthejoshmon

Question

Hello,

 

I am making a rather long and large map based on Witchaven 2's resources and I wanted to use some of the music from the files, the music in that game has an ambient track and 2 combat variations of the same track.

Because of the length of the level, I was hoping that there is a way to have all 3 of the first levels tracks play, one after the other to pad the music out.

Now, the map itself in Boom format however I was planning on making an optional ZDoom version with more features, is there a way to have 3 midi files play one after the other in ZDoom? If not is there possibly a program that could be used to manually stitch the 3 tracks into 1 midi (if such a thing is possible).

https://www.dropbox.com/scl/fi/i190y0xaq5gv7ccwt2179/MIDI.rar?rlkey=zjcpf8wfax2ym63nmhyma8ysd&dl=0

 

These are the 3 tracks I wish to use.


Thank you for any help.

Share this post


Link to post

1 answer to this question

Recommended Posts

  • 0

I am 99% sure this is impossible in the standard Boom format.

 

Splicing MIDIs should be possible, but I do not know much about the format. I do know it is not as simple as splicing the MIDI contents together in a program that can do it. Each file has metadata such as tracks, which have different instruments. The time signature may be different. If track 2 in MIDI 1 is a guitar but track 2 in MIDI 2 is a piano, or one is in 3/4 time and the other in 4/4 time, there may be extra steps required. Or maybe modern MIDI sequences figure all that out for you. I don't know.

 

Please do double check the copyright, however. A quick search indicates that Witchaven 2's developer Capstone Software is defunct and I cannot find any evidence someone bought their IP after bankruptcy, but that does not mean nobody owns the copyright. Whether the music reverted to public domain, is copyrighted, or the owner cares? I do not know, but please do your due diligence first and this means spending more than 60 seconds on a Google search.

 

I looked through the source code for GZDoom - both the included ZScript sources as well as the C++ code. Disclaimer: I am a software engineer and I do know C++, however, I am not familiar with this codebase nor am I inclined to spend hours (days, lol) analyzing it to become familiar. It appears that the internal data structure used by GZDoom to track the music lump used for a map is limited to an eight-byte string: that is, a single lump name.

 

However, I did find code related to a music playlist. Unfortunately, tracking down how this works in the source code is a byzantine task and the GZDoom wiki has no information on it. You could try asking on the GZDoom forums to see if the engine has some feature to make this work, but my gut feeling is you are limited to a single music track in one of a variety of formats supported by GZDoom.

 

Another option is to convert the MIDIs into a single track in MP3 or OGG format. GZDoom supports those formats, but I am not sure about DSDA-Doom and I seriously doubt Chocolate Doom or other retro source ports support it. You also need to factor in copyright for the sound fonts you use. The license for the sound font may allow distributing the sound font itself, but not the rendered output.

 

Always check copyright and licensing terms before distributing someone else's creative work.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...