Question about how/if other music players interpret the echo effect

Started by vince94, September 29, 2014, 18:56:09

Previous topic - Next topic

vince94

So I've been remixing/rewriting the Cave Story soundtrack to use SNES-style instruments, and I'm going to try to make a program that reads the BGM number from the game's memory and plays the appropriate song. Since SNES games use lots of delay-based echo, I've been using the DirectX echo effect in my remixes. However, when I use VLC to play the XM files, the echo is gone. Is there any way to get the echo to work in VLC or a similar player? I'd like to avoid making seamless-looped WAV files if I can.

FreezeFlame(Alchemy)

If you wish to make use of the old classic SNES echo, then don't use DirectX, since it isn't going to be supported by most players (side note: XMPlay supports DirectX effects and might play you're module properly).

Why not try imitating the effect by pattern commands? It will be intepreted as wished and work in any kind of decent module player.
Here is an example:
ModPlug Tracker MPT
|C-502......|...........
|...........|...........
|...........|C-502v16...
|...........|...........
|C-502v04...|...........
|...........|...........
|...........|C-502v01...
|...........|...........
|...........|...........
|...........|...........
|...........|...........
|...........|...........
|...........|...........
|...........|...........
|...........|...........
|...........|...........
|...........|...........
Blue Flames of the Night.

Was known as Alchemy before(with an Dialga picture).

vince94

I have done that, though most of my channels are already full, and I'm sticking to the SNES' 8-channel limit (or trying to).
I just downloaded XMPlay, and it seems to work! Thank you!

FreezeFlame(Alchemy)

QuoteI have done that, though most of my channels are already full, and I'm sticking to the SNES' 8-channel limit (or trying to).
Im not the most familiar with the SNES, but you can fill each channel with an seperate echo pattern effect to conserve voices.
Like this:
ModPlug Tracker MPT
|C#501......
|...........
|C#501v16...
|...........
|C#501v04...
|...........
|C#501v01...
|...........
|...........
|...........
|...........
|...........
|...........
And believe me, if you actually wanted to use the echo effect of the SNES, then don't be suprised when you find the file size suddenly increasing (echo takes as much memory as it has to produce delays. So the more times an echo is used on an instrument, the bigger the file size is gonna be). This trick takes much less memory, but for that it cancels the notes earlier.
Blue Flames of the Night.

Was known as Alchemy before(with an Dialga picture).

Saga Musix

Do not use plugins in IT/XM. They are not supported by most players. But, err, since your snippets are pasted from an MPTM module, those will open as IT files in most players, yes, but if you want them to be listened in other players, consider using IT instead of MPTM.
The SNES uses its own DSP unit for echo, so there's really no point in not using more channels for an echo channel to keep it SNES-like. I mean, the DSP itself gives you more functionality that 8 pure sample-based channels, so why not exceed this limit in a different way as well?
Another option for short sounds might be to use the Qxx (retrigger) command to quickly retrigger and fade out a sound using just one channel.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

vince94

Here's a song where I use the two echo techniques at the same time: http://youtu.be/aZNWTlOVtmY?list=PLFZczWvSAIjulN_ZZ368nie5zYbTxS2w6
The original song didn't use loads of channels, so I was able to use three extra ones as well as the DirectX technique.

Here's a short fanfare from an actual SNES game that uses the kind of echo I've been generally trying to mimic with DirectX: http://youtu.be/95CaVXv4Slw You can really hear it at the end there.

Yeaaaah, I should probably convert them to the IT format. The original files I've worked from were actually dumped to XM from Cave Story's "Organya" music language, and some of them use the == note a lot. I've actually tried changing songs to IT before, but when you do that, the == notes are ignored, causing the previous note in the channel to just keep playing.

LPChip

The =='s are not ignored, but the instrument's settings for note off are simply not what you expect, and thus the instrument continues to play. You can fix this by making the appropriate changes in the instruments tab for each instrument.
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Saga Musix

== in XM, without an instrument envelope, will instantly cut the previously playing instrument. In IT, it will start fading out the sample. If you do not use any instrument envelopes, either convert your song to use samples instrument of instruments in the cleanup dialog (if you do not rely on any other settings from the instruments tab, that is), or replace the == by ^^ where appropriate, or Add a volume envelope to your instruments that instantly cuts the instrument off after release. Like this: (copy&paste into the instrument editor)
Modplug Tracker Envelope
2,0,0,0,0,1,0,0
0,64
1,0
255
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

vince94

I pasted that envelope info in, and it worked!
What should I change if one of the instruments already an envelope? Some of them I have slowly fading in.

Saga Musix

In that case IT and XM behave more or less identical, as far as I'm aware. But either way you can always use ^^ to instantly cut a sample in IT, no matter what your envelopes look like.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.