Advice Mimicking Detune/Delay Effects

Started by felineki, July 26, 2010, 00:22:16

Previous topic - Next topic

felineki

Hello, new forum user here. I've been playing with computer music production in various forms for several years, and have used ModPlug Tracker on and off fro a long time. However only recently have I started to get serious with it, in preparation for a potential game soundtrack. I've studied several late 80's to mid 90's game soundtracks and found a few techniques they use that I'd like to try to mimic. One of these being creating a detune effect simply by playing the same thing on two separate channels, but with one shifted slightly in pitch. Another being creating a delay/echo effect by playing the same thing on another channel but quieter and at a certain time delay (as well as sometimes at a different pan position, or sometimes even with a slight pitch shift ala the detune effect). Sounds simple enough, right? But I find myself running into various limitations that make this harder than it would seem.

For example, in MIDI once a pitch bend event is set it will continue across all following notes until it's modified by another pitch bend event. However in mod formats, the portamento commands seem to apply only to the note that's active at the time the event is encountered. Well, I figure I can just use the fine portamento commands (EFx, FFx) at the beginning of each note, right? But then I run into the problem of needing to use the effect column at the beginning of the note for other things. For example, a note that doesn't begin at the very start of a line, for which I have to use the note delay (SDx) command.

I though that perhaps I could get around this problem by using some other setting to do the pitch shifting. I tried making a duplicate instrument and using the pitch envelope to shift it, but it's resolution is far too course. Setting it even one increment off of the baseline causes a very harsh shift in pitch. It seems that theoretically I could create a duplicate instrument and a duplicate sample, whose pitch I can finely tune in the sample properties, but that seems awfully wasteful and redundant.

On the delay effect, it seems to work pretty well if I'm satisfied with offsetting the delay by a number of full lines. Just copy the sequence into another channel, lower the volume, and move it forward by however many lines. However, if I want to go more detailed than that and offset it by a certain number of ticks within a line, then I need to use a note delay (SDx) command for each note. Which again leads to the problem of when I need to use the effect column for something else (say, portamento for a bending note).

Is there anything I'm overlooking that could make these things work? I'd like to avoid resorting to VST effects and such and stick with regular IT format stuff for compatibility reasons (as well as out of principle of sorts). Any advice would be greatly appreciated. Thanks! :D

Saga Musix

Please note that you can also use the "volume" colum for portamento and such, so in the last case, you could simply shift that tone portamento there and use the SDx command at the same time. In the IT format, the volume column and effect column effects also share their memory, so g00 would use the last value of Gxx.
Another way to achieve this is effect to use a second instrument, where, say, the first 4 of the volume envelope ticks are at volume 0, then you go up straight to 64. At the same time, set the pitch envelope on the first few ticks to +32 (or -32) and return to 0 at the same time as you return to volume 64. Does the same thing, but needs no effects (but obviously you need to prepend something to your envelopes, if you are using any)
» 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.

psishock

also there are "combined" effect commands that can help you with the limited effect slot problem, for instance
Kxx - Vibrato with volume slide "xx"
Lxx - Portamento to node with volume slide "xx"

another very handy trick is, to 2x or 4x the rows/beat. This way you can have multiple "free" effect rows to fill, before the next note hits on.

QuoteI'd like to avoid resorting to VST effects
i wouldn't :D, they are invented to make your life with effects so much easier, especially if you already using midi stuffs. Once you gotta hang of it, it will be a peace of cake.
I'm as calm as a synth without a player.  (Sam_Zen)

LPChip

If you're working with samples, the most easiest way to detune it, is by loading it in a second time, and then set the frequency on the sample tab slightly off (one press on the arrow up or down will probably do, which is like 15hz or so)

An alternative would be a phazer effect as plugin.


An echo can be created in several ways. First you want to copy the notes from one channel to the other. Then you move these notes down. Next you can either change all the volumes on the notes (select all, then amplify volume (accessible through a right click menu) and select 50% or another desired volume less than 100%), and apply it. You can also change the channel volume from the general tab.

For the echo, a delay effect as plugin will do the same, except you don't need 2 columns of patterndata.
"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

Quote from: "psishock"i wouldn't :D, they are invented to make your life with effects so much easier, especially if you already using midi stuffs. Once you gotta hang of it, it will be a peace of cake.
However, you don't have the option when making module music for games.
» 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.

Paul Legovitch

Quote from: "Jojo"However, you don't have the option when making module music for games.
I wonder though if he can use the directx effects (the "echo" effect is a delay).

Quote from: "felineki"It seems that theoretically I could create a duplicate instrument and a duplicate sample, whose pitch I can finely tune in the sample properties, but that seems awfully wasteful and redundant.
If it's a big sample and you don't want to load it twice (for file size's sake) you can edit the sample itself in a sound editor like audacity :
create a detuned version of the sample and mix it with the original and load it back in modplug.

If your sample is a short one then load it twice in modplug and detune one of the two (in the sample tab, not the pitch envelope).
You can even add a slow auto-vibrato to make the detune effect evolve in time.
I would also try to create different pan envelopes for each version (symetrical) and maybe experiment with a slight filter envelope for one of the version to obtain a richer sound.

Quote from: "Jojo"Please note that you can also use the "volume" colum for portamento and such, so in the last case, you could simply shift that tone portamento there and use the SDx command at the same time.
Well, I find this unusable since at 5 ticks per row (A05), the lowest portamento in the vol column (E01) is already a semi-tone.
So the lowest pitch shift possible is a fourth of a semi-tone (at A02) which is not really detuning, this is simply not the same note.

Saga Musix

QuoteI wonder though if he can use the directx effects (the "echo" effect is a delay).
If the game uses BASS, then yes.

QuoteWell, I find this unusable since at 5 ticks per row (A05) (...)
Read the rest of my post: " In the IT format, the volume column and effect column effects also share their memory". If you need precision, use the E/F/G commands for setting the desired value and then use e00/f00/g00 for using that value. Just try it:

ModPlug Tracker  IT
|........EE1
|C-501e00...
|.....e00...
|.....e00...
|.....e00...
|.....e00...
|.....e00...
|.....e00...
and so on
» 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.

Paul Legovitch

Jojo, once again you've made my day, I had no idea that was the case, and that will simplify a lot of things for me. I'm glad this topic came up ! :D

LPChip

Actually to create a phazer effect, you do not need to repeat the e or f command more than one time per note.

Because you play two notes at the same time and by the E or F command you change the speed between both, it will sound incrementally phazered. (dunno how I can say it better)

By keeping the E or F command repeated you will detune it so much that at a certain moment the two will start to sound off-key.

Continuing the E or F command will mean that it will be incremented exponentially. Using it just once means: increment it by one, and since you are not using it more, it will not start to sound off-key.
"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

Quote from: "LPChip"dunno how I can say it better
How about "they play at a different frequency and thus one sample is progressing faster than the other"?

Quote from: "LPChip"Continuing the E or F command will mean that it will be incremented exponentially
Actually, the slides are linear, not exponential.
» 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.

LPChip

The slides are, but the phazing that comes out of it grows exponentially.
"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

felineki

Thanks for the replies. The fact that the volume and effect columns share memory was something that I didn't know and seems like it will definitely be useful.