ModPlug Central

OpenMPT Development (Archive) => Feature Requests => Feature Request Archive => Topic started by: KrazyKatz on March 29, 2007, 14:43:36

Title: Clip indicator.
Post by: KrazyKatz on March 29, 2007, 14:43:36
As of now you can see, when your volume levels go into the red, but you don't have an indicator to point out if its clipping or not.
Title: Clip indicator.
Post by: Saga Musix on March 29, 2007, 17:08:55
Indeed, that would be a nice idea!
Title: Clip indicator.
Post by: Sam_Zen on March 29, 2007, 23:00:02
Are you talking about the VU-meters of the General Tab, or the ones of the Pattern Tab ?
Title: Clip indicator.
Post by: Saga Musix on March 30, 2007, 00:01:02
I guess the ones on the genereal tabs, because the VU-meters on the pattern tab show you *nothing*, really. They don't even show you how loud your sample is. I enabled the, though, coz so i know which channels are playing :D
Title: Clip indicator.
Post by: KrazyKatz on March 30, 2007, 10:48:43
Jojo answered your Question Mr. Zen.

Which leads me to bring an update to this Feature request - a clip indicator on the pattern page.
Title: Clip indicator.
Post by: Waxhead on March 30, 2007, 19:19:08
Perhaps a bit out of topic but why not add scopes to the channels. This is one of the few things that I really miss from ProTracker. It was actually quite usefull.
Also it can perhaps be a idea to add a stereo-scope for to show both left and right channels summarized if possible.
What I have suggested before is to add a "faded" view of a waveform behind the notes in the editor ;) ... that would be hypercool because you can see the final rendering of the sound. Also it can be usefull.

Ok I realize that I was terrible off topic here... :) Perhaps we should make a summary of these requests since they are all related somehow I think.
Title: Clip indicator.
Post by: Sam_Zen on March 30, 2007, 22:37:42
2 Waxhead
The common factor is maybe the representation of volume levels, but scopes is off-topic indeed. Let's keep it simple, the subject is a clip-indicator. A flashing led (or two probably).

2 KrazyKatz
You mean a 'central' indicator on the pattern page, or a clip-indicator in each channel ?
Title: Clip indicator.
Post by: KrazyKatz on March 30, 2007, 23:36:13
2 Sam Zen: Central indicator on the pattern page.

Doesn't need to be special... just a sign to show that clipping has occurred.  I dont think we need VU meters on the pattern page. But a clip indicator, such a "C" that goes red when clipping occurs on the pattern page could prove useful.
Title: Clip indicator.
Post by: Sam_Zen on March 31, 2007, 05:31:16
I support that.
I never did activate those channel VU-meters to be honest. Although I don't agree with Jojo, that they tell nothing.
Ok, 4 green leds, one yellow and one red. Quite a smaller resolution than the volume bars on the General page.
But with panorama indication. And as Jojo says, they tell something's going on.
Maybe the red one could be programmed to be the clip-indicator.
Title: Clip indicator.
Post by: Saga Musix on March 31, 2007, 10:49:11
yeah, totally forgot about the panorama ;) that's also why i enabled them - to show where and if a channel is playing ^^
Title: Clip indicator.
Post by: Snu on March 31, 2007, 21:22:07
on the pattern page? id expect it to be on the general tab, where the main vu meter is, and where the channel volume settings are...
Title: Clip indicator.
Post by: Sam_Zen on March 31, 2007, 23:06:18
You're right. Even with no single channel clipping, it doesn't guarantee no clipping at the main output. So the General page has priority here, but it doesn't have to be an 'or', it can also be implemented on the Pattern page as well. :)

OT
I'm starting to get the impression that there are differences among the authors in the use of MPT, regarding their 'base tab' while they are working. One group with the General page, another group with mainly the Pattern page in front.
Title: Clip indicator.
Post by: Saga Musix on July 29, 2008, 15:54:13
*bump* any chance that this could be implemented?
Title: Clip indicator.
Post by: Relabsoluness on July 29, 2008, 19:45:50
Quote from: "Jojo"*bump* any chance that this could be implemented?
Hopefully. At least I won't claim this feature request since the top of my todo-list is crowded with other things.
Title: Clip indicator.
Post by: psishock on August 23, 2008, 15:02:22
There are many free FFT spectrum analyzer VST-s that will do the job perfectly allready. Every instrument or plugin can be linked to them (put it in the FX100 slot and link every instrument or plugin to them, or just apply "master" in mix settings) so they will always measure db (plus the frequency range) even if only one channel is enabled or all of them at a moment.
Clipping, frequency ranges, db, volume changes and all the similar things can be monitored with one splendid VST.
Title: Clip indicator.
Post by: Saga Musix on August 23, 2008, 23:22:41
sorry, but just adding a FFT VST for a rather essential feature is not a good solution imo.
Title: Clip indicator.
Post by: Sam_Zen on August 23, 2008, 23:29:26
I agree
Title: Clip indicator.
Post by: psishock on August 24, 2008, 01:04:45
For FFT i meant what i've used on my cases, i mostly like to monitor as much as i can. I'm sure that there are many simple VU meter VSTs with clip indicators, or any similar ones with less or more features. Finding one that suit your problem shouldn't be much trouble.
Why am i suggesting so recklessly the VSTs on this case?
- mostly the VSTs are already made and working perfectly. (no need to mess with new code/debug and stuff)
- they are most likely more flexible because of the plugin system and tweakable than a hardcoded gui extension in "general tab" example.
- VSTs are "allways on top", you can be on general, instrument, pattern, or any other desired tab, and still will able to monitor/tweak it.
- VST gui can be moved anywhere the user wants it.
- from a number of VSTs, people can more easy locate the one that suits them best (features and functionality example)

(please don't feel that i'm disregarding your idea, i'm just telling my thought and ideas about it, and (as always) trying to help with the best solution for the problem)
Title: Clip indicator.
Post by: Sam_Zen on August 24, 2008, 01:50:17
I'm not disregarding anything. The existence of plugins with an application is a very efficient situation.
This is valid for tools with effects, making sounds, but also for monitoring things, if needed.
Title: Clip indicator.
Post by: Saga Musix on August 24, 2008, 13:36:34
Quote from: "psishock"For FFT i meant what i've used on my cases, i mostly like to monitor as much as i can. I'm sure that there are many simple VU meter VSTs with clip indicators, or any similar ones with less or more features.
this is not my point. my point is that something tiny but also essential should be built into mpt. i don't want to rely on VSTs which i have to download first and load into MPT everytime i start a module just to see if there's room for more volume or not.
Title: Clip indicator.
Post by: bvanoudtshoorn on August 24, 2008, 14:12:23
I agree - a clip indicator should be standard. And it should either be on the Patterns tab or in the toolbar. Perhaps we could have a small, sideways VU and clip indicator on the toolbar? That'd be nice and unobtrusive.
Title: Clip indicator.
Post by: psishock on August 24, 2008, 15:29:03
I can totally undestand your point Jojo. It most definetely won't hurt to have one, especially for those who don't wana get involved with plugins.

Quotei don't want to rely on VSTs which i have to download first and load into MPT everytime i start a module just to see if there's room for more volume or not.
When you start a new module, you also load your samples/instruments first, or VSTis, and you search for new ones, from time to time, on the internet or any other source.
Setting up and customising your "virtual studio" (wich normally should take a few seconds to a minute max) when you start composing should not be a burden for anybody imo, nor gathering the most comfortable tools for work.

I've grown to like VST plugin idea more than the embed OMPT extensions (for several reasons), so to me, it won't mean much difference, propably will leave that unused too.
Also, i wana have my working space clean as possible, having tools, skins all the times in front of my eyes that i don't or won't need will not please me. =) Now, i'm not saying that this practicular VU meter and clipping indicator feature would make me discomfortable, but more similar gui extensions that i won't necessarily use, most likely will.
I've mainly choosed OMPT because it has the most cleaner and faster working arrea (pattern tab to be specific, it's perfect to work with, it's also very flexible), got a VST support and i could customise my keyboard keys for the most fastest and comfortable work.
I like it this way, when it's like Firefox, got a minimal gui with nice customisation system, and there are tousands of powefull plugins for any additional personal needs, that you can handpick. (i use Opera, but thats really another subject :wink: )
Title: Clip indicator.
Post by: Saga Musix on August 24, 2008, 15:44:28
QuoteWhen you start a new module, you also load your samples/instruments first, or VSTis, and you search for new ones, from time to time, on the internet or any other source. [...]
well, we had a talk about "template modules" here already... That may come in handy as well.
Title: Clip indicator.
Post by: psishock on August 24, 2008, 15:52:22
"template modules"? means that i don't have to set up the general song or pattern properties, load my custom VST(i)s when i dont feel like to, and similar?
-nods- that would be really handy indeed.
Title: Clip indicator.
Post by: Saga Musix on August 24, 2008, 19:15:51
yep, have a look here: http://forum.openmpt.org/index.php?topic=2097.0
Title: Clip indicator.
Post by: phanoo on September 11, 2008, 12:38:31
I can now submit modifications to modplug's development files, so I will maybe try to add the peak function...
For the moment I don't understand all the source code, so I will see if I can do that
Title: Clip indicator.
Post by: Saga Musix on December 01, 2008, 15:25:02
#define CLIP_SOUND(v) v = v < -1.0f ? -1.0f : v > 1.0f ? 1.0f : v
i found this macro in the sourcecode (ctrl_smp.cpp). is that the key to the clip indicator...? :lol:
Title: Clip indicator.
Post by: LPChip on December 01, 2008, 15:56:32
I would say so. The equasion either gives a -1 or a 1. But then again, maybe its to round sound when you amplify it.

EDIT: now I'm sure. This isn't the clip indicator. Its to make sure that the value stays between -1 and 1 volts.
Title: Clip indicator.
Post by: Saga Musix on December 01, 2008, 16:01:17
WHAT? :nuts:

QuoteThe equasion either gives a -1 or a 1
wrong. it's a ternary "if" statement.
- IF v < -1 THEN set it to -1
- IF v > +1 THEN set it to +1
That's because the sounds is handled as float values which may not exceed the range from -1 to +1.

QuoteIts to make sure that the value stays between -1 and 1 volts.
what the hell are you talking about? :nuts: volts in mpt? :P
Title: Clip indicator.
Post by: LPChip on December 01, 2008, 16:12:11
Since audio programming works with Volts, I suspect the audio flow, designated with a v is ment for Volts.

My EDIT actually was referring to the fact that I was correcting myself, so the first part is indeed wrong, but I mentioned that myself.

What I say that the function does is checking if its outside of the boundaries -1 to 1. If so, it sets the boundary, if not, it sets v.

If it would be a clip indicator switch as you're asking, it wouldn't need -1 to 1 range, but only a simple boolean.

So then what would it be usefull for? If you, in the sample editor have a waveform and you would say... amplify it by 1000% you will be ensured of clipping. It will first do the amplification, but then cut off everything thats outside the -1 to 1 range.

Happy?

Oh and: Don't do Drugs. Drugs'r bad.
Title: Clip indicator.
Post by: Saga Musix on December 01, 2008, 16:14:16
QuoteIf it would be a clip indicator switch as you're asking, it wouldn't need -1 to 1 range, but only a simple boolean.
I didn't say it _is_ the clip indicator. But it remedies clipping and that's what's necessary to program a clip indicator. The macros is only used in the pitch shifter though, so it's actually of no use.
And we aren't talking about volts here. Using float values between -1 and +1 for audio processing has been quite common for more than a decade now. ;P
Title: Clip indicator.
Post by: LPChip on December 01, 2008, 16:16:00
Yes, but the v could be volts.
Title: Clip indicator.
Post by: Saga Musix on December 01, 2008, 17:33:36
.... :P

actually, clipping removal seems to be done in asm functions and i don't really know asm, so... well... :?
Title: Clip indicator.
Post by: LPChip on December 01, 2008, 22:04:01
Oh, just push AH over there, and see if that interupts 21 :P
Title: Clip indicator.
Post by: le_parasite on December 02, 2008, 00:46:37
Quote from: "psishock"There are many free FFT spectrum analyzer VST-s that will do the job perfectly allready. Every instrument or plugin can be linked to them (put it in the FX100 slot and link every instrument or plugin to them, or just apply "master" in mix settings) so they will always measure db (plus the frequency range) even if only one channel is enabled or all of them at a moment.
Clipping, frequency ranges, db, volume changes and all the similar things can be monitored with one splendid VST.

the same for me, I had some vsts which do a perfect job there.
Title: Clip indicator.
Post by: psishock on December 02, 2008, 01:06:12
Quote from: "le_parasite"the same for me, I had some vsts which do a perfect job there.
:gjob: i didn't wanted to pollute more this topic with my opinions, but as i've said, simple free stereo vu-meter plugin with indicator would solve the problem, perhaps more efficiently that any future implemented ompt method, and it will also stay on top, no matter what tab do you open. ::) Plugin support is a huge improvement in ompt lifeline, i advise everyone to use that feature. :)
Its like Firefox or XMplay... or Total Commander, they are fine and working without it, but the juice is coming with the plugins. :lol:
Title: Clip indicator.
Post by: bvanoudtshoorn on December 02, 2008, 01:11:30
Well, perhaps what we *really* want, then, is the ability to have GLOBAL plugins, that are applied to EVERY song. We could then remove the EQ and other effects in the system, and always have nice VUs/Spectrum Analysers/EQs to play with. Hidden by default, accessible from the toolbar.
Title: Clip indicator.
Post by: psishock on December 02, 2008, 01:29:44
Quote from: "bvanoudtshoorn"Well, perhaps what we *really* want, then, is the ability to have GLOBAL plugins, that are applied to EVERY song. We could then remove the EQ and other effects in the system, and always have nice VUs/Spectrum Analysers/EQs to play with. Hidden by default, accessible from the toolbar.
That hit the spot, sounds very promising! I could live with something like these.
Title: Clip indicator.
Post by: LPChip on December 02, 2008, 06:43:17
I couldn't :P

But the reason is very simple. If you add effects support like these as a client-side only feature, people might start adding plugins at the wrong side of their song making it harder to troubleshoot. The same thing, I already see happening with the 5 band EQ that is present already. People actually tweak that for their song and then start complaining that they loose that setting when saving the song as in: its not loaded back when loading a song.

For me: the less settings you can tweak on the client-side, the more you are forced to do it for the song, thus the less problem sensitive it becomes. Only thing I would use a better buildin EQ for, is to compensate the bad quality of certain soundcards by boosting the frequencies on my laptop that my high-end pc has so I can match the same sound. Other than that, the less you can tweak client-side, the less your song will be dependend on it.

Another example of this is what used to be the pre-amp value. Not only was it yet another volume button, it actually was one on the client-side, which got alot of commotion just because of that.

So I would suggest: Replace the EQ for a better one, add a checkbox that says: enable, and disable it by default. When you then enable it, toggle a message that says the following:

"Warning: this setting is client-side only and it doesn't get saved whitin a song. Therefor, other people won't hear the tweaking you do with this EQ. Its recommended to use a plugin EQ on your song and check the master if you want others to hear the EQ changes when they listen to your song. Ontop of that, this setting is global, meaning that it will be the same for each song. Use this setting only to compensate for missing frequencies by your soundcard. Do you still wish to enable the EQ? [Yes] [No]"
Title: Clip indicator.
Post by: Saga Musix on December 02, 2008, 11:40:34
i could add such a messagebox. or rather, add it as a notice below the EQ area.
Title: Clip indicator.
Post by: Saga Musix on December 02, 2008, 12:27:57
(http://sagagames.de/ithumb/thumbs/eq_hint5563gl30.jpg) (http://sagagames.de/ithumb/show/eq_hint5563gl30.png)
:lol:
Title: Clip indicator.
Post by: LPChip on December 02, 2008, 12:41:03
Yeah :) Very good. Now if that EQ had more bands... :nuts:
Title: Clip indicator.
Post by: Saga Musix on December 02, 2008, 12:54:15
it's enough bands for compensating. :P
Title: Clip indicator.
Post by: LPChip on December 02, 2008, 13:07:55
I disagree. 3 more would work wonders. 2 on the lowest band and 1 on the end.
Title: Pedantry
Post by: bvanoudtshoorn on December 02, 2008, 14:15:25
Um, I don't want to sound like a pedant, but if this is going to go through, perhaps we should clean up the grammar and syntax a little bit, and perhaps make it a little bit more... illuminating. :) Something like:

"Warning: This EQ is applied to any and all of the modules that you load in OpenMPT; its settings are stored globally, rather than in each file. This means that you should avoid using it as part of your production process, and instead only use it to correct deficiencies in your audio hardware."

Hmm, that reminds me... I've been meaning to go through everything in OpenMPT and give them a quick dust with my editorial brush. :)
Title: Clip indicator.
Post by: Saga Musix on December 02, 2008, 14:25:10
sorry, your text is too long. :P I guess there's a 256 char limit in resource files or something like that... but it works if i set it directly from the sourcecode, so that's no problem.
Title: Clip indicator.
Post by: xaimus on December 02, 2008, 17:57:15
it'd make more sense to completely remove the built-in EQ (and AGC, and noise reduction, and bass expansion, and user-selectable reverb/surround)
Title: Clip indicator.
Post by: Saga Musix on December 02, 2008, 18:27:47
i wouldn't go that far. there are some #defines in the code which can disable certain features. but some tracks do sound better with some of the options being enabled (i always have surround on, for example, and it sounds a lot better)... but yeah, AGC sucks.
Title: Clip indicator.
Post by: LPChip on December 02, 2008, 19:41:19
I always have it off, because if you enable some of it, it will enhance the wrong way. I'd rather do surround or reverb or whatever using a plugin on the master channel.

I vote for a complete removal :P
Title: Clip indicator.
Post by: Saga Musix on December 02, 2008, 20:01:21
And I vote against it! :nuts: Listening to old mods with surround on makes them a lot more enjoyable. XMPlay has autogain/reverb/surround, too! :nuts:
Title: Clip indicator.
Post by: psishock on December 02, 2008, 21:48:41
there is really no need for complete removal, the user choice is the best option. This way if someone want to listen to songs with these extra settings, it won't be a problem, and "us" who don't, just will keep those checkboxes white.
Title: Clip indicator.
Post by: Saga Musix on May 12, 2009, 17:30:02
Hm. Fastmix.cpp has some nice sample converting functions like X86_Convert32To32 that have clipping prevention. This could be used to switch a flag for the sample clip indicator.
Title: Re: Clip indicator.
Post by: Saga Musix on April 05, 2013, 15:10:34
4 pages of useless talk later... I have something in the works. Might still take a while to implement (certainly won't make it into the next release).
Toolbar VU meters with clip indicator!
(http://sagagames.de/ithumb/show/vu4620oj56.png)
Title: Re: Clip indicator.
Post by: .^o on April 05, 2013, 17:14:48

yes!!
it's christmas almost every day with you jojo!
thanks  8)
Title: Re: Clip indicator.
Post by: LPChip on April 05, 2013, 17:57:13
Oh this is awesome! Me wants, me wants!!!! :D

I don't love you Jojo, but thats only because you're male and I am too. :P
Title: Re: Clip indicator.
Post by: Saga Musix on April 07, 2013, 23:27:25
Revision 1773 adds a VU meter with clip indicator to the main toolbar. http://sagagames.de/stuff/mptrack.exe
Title: Re: Clip indicator.
Post by: .^o on April 08, 2013, 05:36:03
rapid tests.
perfect.