Need a note delay effect plugin

Started by DChronos, December 23, 2010, 02:39:31

Previous topic - Next topic

DChronos

Hey, I'm working with modplug to practice recreating precise reproductions of megaman X's style, to try to create some original stuff that sounds like it came right out of the SNES cart... but need something I can't get precise enough in modplug or the directx VST plugins, or the ones that came with modplug.

The effects this game uses is a second slightly detuned guitar in one channel, but also has a few milliseconds delay as well.

The thing I need is just like modplug's SDx note delay, but instead of being only precise to the tick, it has to be far more precise to milliseconds.

Right now, I can kinda do it through the directX Echo VST by setting it so only the echo's audio is heard, and there's no feedback so there's only 1 echo, creating a delayed channel by whatever I set the left and right delay to be (must be the same)... but again, this thing only gives rough and imprecise delay time.

Thing is, I am sure there is a VST plugin for this kind of delay... just a simple time delay thing that delays the audio playing on whatever channel or channels you turn the VST plugin on in, and delays for some milliseconds... instead of screwing with an echo VST to do it.

I have no idea what you would call this type of delay, though, because simply searching for VST delay and all only turns up stuff that does make a delay as I want, but it also plays the original audio as well, making instead a single echo type delay, not just delaying the channel's audio by x milliseconds.


Does anyone know what this would be called, exactly, or even better, of a simple free plugin I can grab that does only 1 thing: delay the audio playing by xxx milliseconds?

I need to create a delay on 1 channel that's roughly 0.010 seconds (10ms) to be accurate. Then I can output it to the main SNES echo effect I'm setting up through an echo VST.

On a side note, too bad they don't have an SNES echo/FIR filter plugin already... they've got docs on all the math done and how it's mixed already.

Saga Musix

Well, SNES music is usually more MIDI-like than Module-like, so it's not too easy recreate such tracks. Tools like openSPC can produce rather accurate representations of SPC files in the IT format, but the converted patterns play at an insane speed (tempo 250, speed 1) to achieve this accuracy. However, that's one simple way to do extra fine delays.
» 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

As for a delay plugin, you should get the MDA effects suite. It has some delay plugins that I frequently use. It should give you what you're looking. Much better than the Dx Echo.

http://mda.smartelectronix.com/
"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

DChronos

Actually, knowing a lot about the SNES' abilities and seeing on of the editors they used to make a lot of the music, MoSys FX (actually musyX, which is the next version), the SNES is very very much like the module format (though was probably viewed like midi format stuff is), and I have no doubt they probably used a tracker to make some of the music for games back then, aside from MoSys FX, probably with much finer abilities than going by ticks n stuff... a custom program as part of the game's music engine. A friend from an IRC chat knows a lot of in depth stuff about the processor and abilities n stuff.

openSPC has to use extremely high speeds because they are poorly translating most of the stuff into module commands that make it accurate, and because the SNES' version of ticks is in milliseconds, I believe, and is based heavily around the processor's clock cycles, if I remember right. Way faster than X ticks per frame of a tempo... If modplug was capable of keeping the pattern going at the exact same tempo you set it at, no matter the number of ticks per frame you set, then the ticks could adjust how fine you can make notes.


Anyway... I'll check out that plugin, LPChip, thank you.

I thought I needed this delay to fix something in that the sound wasn't coming out exactly the same, but then learned something new about Capcom's sound engine in these games, and about how the processor must get it's note frequencies, which I didn't know before... they must have a table that tells the processor what frequency each and every note is or something, because in Megaman X, all notes are not at the same semitone amount away from eachother, such as using the 12th root of 2 (1.05946309) to find the next note's frequency.

In this, I already knew it had been rounded off to the nearest 25, but then found there's no set distance, it's just... kinda randomly set.  I can set it to be correct for some of the notes, but then others are off-key in the tracker, so that's why all the notes didn't have the same slight delaying sound to make it sound the way it does in the SPC.

It's almost making me inclined to write a tracker in which you can set each note's individual frequencies and use the commands the DSP can use.... I knew of 2 different SNES trackers being worked on that would make SPCs, but haven't seen either of them around anywhere, or being worked on.

Anyway, enough rambling, I'm gonna make something I was inspired to do now that I know all I do. Thanks again, I'll check in here if it's good.

LPChip

Quote from: DChronos on December 24, 2010, 02:18:43
If modplug was capable of keeping the pattern going at the exact same tempo you set it at, no matter the number of ticks per frame you set, then the ticks could adjust how fine you can make notes.
Actually, you can. The tempo setting will help you with this. The speed of the song is set by the tempo and the ticks per row setting. If you increase the ticks per row, the song is slower. If you increase the tempo, it will be faster. If you multiply both by the same value, you get more ticks per row, but the tempo remains the same (given that you actually have enough room to go that high.

Example: A06, T78 (bpm: 120 with 6 ticks per row) can be A0C, TF0 (bpm: 120 with 12 ticks per row. That of course means, you can only go as high as BPM 127 or you'll need to settle with less ticks per row and calculate your tempo according to this speed.

For instance, A06, T8C (bpm: 140 with 6 ticks per row) can be (256/140= 1.829), 6*1.829 = 10.974

Anything higher than 10.9 ticks will mean there is no tempo to match, so we need to round it to 10.

10/6 = 1.6^9 * 140 = 233.3^9.  So if you'd set the tempo to 233 (TE9) and the ticks to A0A, you would get about 139 BPM. If you want the full 140 (234 would most like be around 142 BPM)

If you want an accurate measure, you'll need to multiply it by using 1.5 as multiplier.

So 6*1.5 = 9 and 140*1.5 = 210, meaning A09 and TD2 for 140BPM with 9 ticks.

Quote from: DChronos on December 24, 2010, 02:18:43
It's almost making me inclined to write a tracker in which you can set each note's individual frequencies and use the commands the DSP can use.... I knew of 2 different SNES trackers being worked on that would make SPCs, but haven't seen either of them around anywhere, or being worked on.
Or you could try out the MPTM format in the tracker, so you can use your own tunings (set individual frequencies for notes). This will allow you to actually accomplish this yourself.
"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

DChronos

No kidding.. I gotta check it out.

Currently, I'm still using the old tracker version because of one thing that just glares to me (no offense), the way the windows blend in OpenMPT as opposed to the old version. The newer one's XP style tabs n borders makes a glaringly ugly white background behind a couple good old gray color boxes containing the tools and settings stuff, and the borders make so much dead space between settings, it makes the view of the pattern about 1/5 smaller...

As for the tempo/ticks part, I knew that already, but that's not what I meant... I meant setting a tempo of 170, changing the ticks per row from 3 to 6, but the song speed stays the same, just cutting the time each tick takes in half so it's finer... for example, if each tick took like 100ms on 3 ticks per row, if there was a way to change it to 6 ticks per row and have each tick take 50ms so the song speed stays constant for the tempo it's at.

If there was an option to manually set the millisecond time each tick takes, that would open that option right up. Of course, only in the proprietary MPTM format.

Then, one could have their tempo set to divide the rows into bars, marked by the highlights, the ticks per row could be used to set the note increments, such as 1/4, 1/8 note, 1/32 note... and the millisecond timing for each tick would make sure you don't change the tempo / song speed... which would be very useful for effects that need such fine timing.

Anyway... I looked over those plugins, and found out those are the same ones I had long ago... the 2 delay plugins it has, one of them works, but it does stereo delay and has individual delay for each channel, but one is a percentage of the other and you can't make it sound proper by only having one of the delays... and the other delay plugin doesn't seem to work for some reason.

I'm still thinking of making a tracker some day, with this friend that knows a lot about the SNES music stuff... we were talking about it last night, brainstorming stuff. It wouldn't be a competing tracker to MTP, it would be specially made for SNES tracking, using SNESAmp to load and output what you have made.

The ideas I got for it would be allowing you to code and load your own driver, or another driver, then loading sound and pitch bend data, note pitch data, etc... all the necessary stuff would be in the side and configurable, looking similar to this MusyX screenshot, but with more to play with and a cleaner, modern look, as well as the pattern display:
http://www.factor5.de/images/site_art/musyx.gif

I suppose SNES music is very much like midi, but also very much like module music... loading samples, setting the pitches and ADSR / envelopes for each one... there's so much similarity between SNES' capabilities and the mod format's capabilities, it's almost like one is based off the other. It's probably in between mod and midi.

If we get together and do this, we might go as far as having debugging capabilities and stuff from SPCTool... it would be a marvel of a program and very universal due to allowing you to load your own driver code and play your music with whatever driver is used.... though streamed sample stuff would probably still be out of reach.

But yeah, it's just ideas at the moment.

Saga Musix

Quote from: DChronos on December 31, 2010, 00:21:20
the way the windows blend in OpenMPT as opposed to the old version. The newer one's XP style tabs n borders makes a glaringly ugly white background behind a couple good old gray color boxes containing the tools and settings stuff
The new version just uses the correct colours as defined by the Operating System - If you don't like them, use a different OS skin.

Quoteand the borders make so much dead space between settings, it makes the view of the pattern about 1/5 smaller...
Are you sure that you are talking about the latest version? The upper pattern panel in OpenMPT 1.18 is a few dozen pixels smaller than in classic ModPlug Tracker 1.16, meaning that there is a whole lot more space for the actual pattern data!
» 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.

DChronos

#7
I had OpenMPT 1.17.02.54... I'll check 1.18

You should have a classic style option to keep the classic color scheme, or fix the backgrounds and allow a color scheme to be picked or something, because XP doesn't change the color of any of the backgrounds of the areas with sliders or controls or anything... and changing your OS' color scheme just for one program shouldn't even be called a solution to one program's problem. I got 2 colors to use, which are the default 2, as well, and neither is going to match.

Oh yeah, and also, the scroll bar for the bottom of the General settings, even though it hardly has more, but takes up way more space. The stuff that the old version doesn't have could easily be put on there with room to spare for how the old version is set up... as in, the old version doesn't ahve a scroll bar for that and still has about an inch of space to add those additional things, so I don't get why the plugin area is pushing it down so much more, other than all the added space from those border boxes and their padding.

Last, for now, the window is half XP style single lie borders and half 3D-like 2 pixel shadow borders around stuff with half background of the old style colors that are sitting in white empty space of XP style background, so it's an eyesore for me at the moment.

Anyway, I know it's still being worked on, so I was using the old version to wait till those things were fixed up, believing that you were still in the process of changing the old design scheme into the new one, and the old one had all the SNES limitations I knew of that I needed at the moment, aside from setting the pitch of each individual note.
-----
EDIT 2:  Oh, I see, the newest version definitely looks better. I didn't know things changed that much, but it would still be nice to change the color of the background from OS default to user selected, as well as compressing the plugins area so there's no scroll bar. The classic gray color was much easier on the eyes, as non bright colors usually are, especially in a darker room and when using it for long periods of time. Just a design tip.
------

Which brings me to... I was playing around, trying to find how to set the exact pitch of each individual note, and I found something that lets me set the ratio or multiplier from a base note that all other notes are on, but can't figure out setting an exact pitch for each note of an instrument... like, just for example, one note of an overdrive guitar would be exactly 23875hz while another note on the scale would have to be exactly 12650hz... since the game uses a table to tell the SNES what each note's frequency is for whichever instrument, and it isn't a set ratio or multiplier apart, so far as I've seen... it's just whatever they thought sounded correct for the pitch.

Maybe it's in the 1.18 version, though... if that's not it, how do I set each note's pitch to an exact frequency for whichever instrument? I'll be checking 1.18 out and checking around for it, but asking someone that already knows is usually faster in my experience.
---
EDIT 3:
Sorry for these edits. I'm looking at the MPTM tunings thing, still can't get what I want.  It would be damn nice if the Sample Map had a new field after the sample number for each note that simply let you click the note, type the frequency to use for the note, and be done with it. Very very convenient.
---

EDIT:

Oh, and if you're taking suggestions, maybe you can allow a new option for the MPTM format that allows the user to adjust the millisecond timing of each tick to adjust the wait time of each tick so they could have a custom ticks per row without messing up the song speed... the default could be used for whatever you guys have it programmed to be right now.

Or possible delay commands, like note delay, or tack delay, but lets you set a specific second:millisecond timing instead of a ticks timing.  Track delay would be hella good so one wouldn't have to have a note delay for every note, clogging up the effects row.  I heard that Renoise actually has an effect column just for delay, so having at least the ability to set the delay of all notes/cuts/effects after a single delay command would be great.

Saga Musix

Quote from: DChronos on December 31, 2010, 17:38:18
You should have a classic style option to keep the classic color scheme, or fix the backgrounds and allow a color scheme to be picked or something, because XP doesn't change the color of any of the backgrounds of the areas with sliders or controls or anything... and changing your OS' color scheme just for one program shouldn't even be called a solution to one program's problem. I got 2 colors to use, which are the default 2, as well, and neither is going to match.
If there was a "classic mode" for everything that was ever changed in the program, how big and bloated would it be today? The colours were just broken before and now they were finally fixed to match the OS colours, so why should it be "fixed" at all? As I say, it's using the OS colours now, so this is not the problem of one program but every program that uses the default colours for property pages - I wonder why the white colour just annoys you on OpenMPT's property pages, though? Geez, I don't even know why people use the default WinXP look, it's the ugliest thing Microsoft ever made...

QuoteOh yeah, and also, the scroll bar for the bottom of the General settings, even though it hardly has more, but takes up way more space.
Uhm, there are many new useful options down there, and they are way better organized than in MPT 1.16. I have never seen a scrollbar there, though - your monitor must be really small that you get to see a scrollbar there...
If there was an easy way to customize the dialogs so everyone could just disable/enable items as they want, it would have been done already, but sadly there is no such way with the current code, so don't expect it to change in the near future.

QuoteSorry for these edits. I'm looking at the MPTM tunings thing, still can't get what I want.  It would be damn nice if the Sample Map had a new field after the sample number for each note that simply let you click the note, type the frequency to use for the note, and be done with it. Very very convenient.
...But doesn't work at all with OpenMPT's engine in the "normal" tuning mode. While I see this would be useful for extremely special tasks you're after, I can't see how it would be useful for more general tasks, and the new tuning mode (once you've got into it) can be used for more general tasks as well as what you want to do.
» 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.

DChronos

First, I'll just say that your preferences aren't everyone's preferences, I have the default because I can't be bothered to go find one of those hacks to alter the scheme at this time, many of which want to charge money for them.

A classic mode that simply sets colors to classic color scheme couldn't be that difficult or bloated, considering 3/4 of the tabs already have the old gray background, and it's only the channels/plugins area of the General tab that doesn't. Speaking of which, my monitor size 1024 x 768, about the old (as in, maybe only 2 years ago) average, and average for people using laptops that are using theirs from only 4 years ago or so. Everyone doesn't have widescreen massive pixel count LCD monitors, most still have whatever still works for them.

The scrollbar is there, and there's a lot of dead space vertically, but way more so horizontally... you got about 1/4 of the area to put things horizontally before it even affects a 1024 wide screen. I could even put up a screenshot showing a better arranged plugins area that eliminates the dead space causing it to stretch that much, without going horizontal, as it's only the plugins area that's taller.

I'm not trying to start a war here about how good this looks or not, I'm trying to point out some design things and some points about them. Telling someone to change their OS' color scheme to make one part of a program that you're making that looks good in your color scheme is not the way to go. Right now, the scheme is very mismatched, and many programs aren't made to use the OS' color scheme in the first place, they design it with their own. Aside from that, most programs I have DO have the same classic gray scheme on the background, as it's part of the OS' scheme to begin with.

Furthermore, darker colors are particularly good to use in programs where the user is going to be using it for a long time as bright colors are harder on the eyes over a period of time, and that's why the gray color scheme worked alright, despite not having some fancy design that newer programs might have.

Besides, as ugly as you say the XP default scheme is, that's exactly how ugly it is to whomever has to look at it at the moment... and if, say, someone has a black color scheme, then 1 piece of your program is black while all the rest is gray. I just have to wonder what was so wrong about it in the first place, other than it didn't look brand new... seems to me, making it look modern is the only thing that would bloat the design.

I apologize if that sounded harsh or anything, but I'm only trying to make a point. Right now, the old modplug may have looked dated, but everything looked properly matched and fit together, and the colors were good for long days as it wasn't hard on the eyes. The new one is half old style, half new style and looks mismatched, and the new buttons and borders honestly look like bad cut and paste jobs stuck into the older styled program, since they're not perfectly spaced / padded (yet), and have a lot more padding in some places than the old borders did. I can measure it in pixels.

I'm only making notes and suggestions as a user that's very into visually pleasing intelligent design of program interfaces, and have my fair share of experience over the years in what makes a good looking interface, as well as doing designs myself of various things that are visually pleasing to people in how the components flow together.



As for the last bit, it would be more useful than extremely special tasks, as one who's messing with their instrument tunings that knows what the frequency is for whatever note could alter them just by typing it in instead of making whole tuning profiles for one note.. then another note and another note, when all they want to do is edit the frequency, not the calculations and ratios and stuff, or calculate the multiplier or something.

But yeah, it was only a suggestion, and one that would give the sample map more use for how much area it takes up.


Anyway, I've been looking around, reading, looking and messing with the tuning thing in instruments, and I have no idea how you're supposed to set the exact frequency of a certain note. The stuff I read talks about things like Temperaments... which I see no mention of anywhere in the program... and inputting pitch values... which I see nowhere in the tuning dialog... and doesn't even describe what multiplier means, or what the ratio does or means, or group ratio means... coming right from the help manual. All I can assume for sure is that ratio sets how far apart the next note is from the one with a ratio of 1... but really, I don't even know for sure if that's right.

So how am I supposed to tell this thing, for example, to play note B-5 of instrument 5 using sample 5 at exactly 23875 Hz and note A-5 of the same to play exactly 18375 Hz, and note C#6 to play exactly 26625 Hz, and so on and so on? I got a table of what rate each note on the scale is to play at, or rather, I'm finding out how to pull it from the hex at the moment. All I know is that I need this temperaments thing, but all I see is ratio and numbers that would not tell me what frequency the note is.

I'm not a music aficionado all into music theory and the equations and stuff for notes, I'm a self taught guy that just wants to sit down and make music.

Saga Musix

So let's summarize this... You prefer this broken look:

over the correct look:

which is also used on other property pages through the whole OS and in MPT as well:


I can't say that it looks very tiring to me, but I don't set my display to full brightness. My pattern editor is also black-on-white, so there's no huge difference in the brightness.

I fear I can't help you with instrument tunings, though, as I don't work on nor use that part of the program.
» 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.