From the original SynthMaker forum (2004–2014), with its members’ names and dates.
badboy ·
Hi everyone, I am very new to creating vsts but not to much to programming, I have been a web developer / designer for about 6 years, working in PHP, HTML, XHTML, Javascript, CSS and also did some Pascal & Visual Basic at college - I've always wanted to make VSTs but I have only just found out about this site, I have the trial version and am looking to get full version, while I have it I want to make a level meter that shows the DB, with peaks if possible
Like this sort of thing
Showing clipping would be cool, and having the actual peak line stay up there would be wicked.
I have been looking at the mgui object and read the user guide but am completly stumped! Untill someone can be bothered with as newb a question as this I will continue to read the posts here 🙂
Thanks in advance to anybody that replies, cheers
Andrew J ·
I've been building up my own set of meters for my own range of VSTs, so I can give you some pointers and a simple example to get you started.
Firstly, you'll need to take an envelope of the signal so you can track the amplitude in a sensible fashion (otherwise you end up just seeing instantaneous peaks or troughs every 1/100th of a second). I've modified the SM envelope follower control to achieve this in the schematic I've linked below. Note that peak meters use a very fast attack and a slower release. If you want a peak line, you'd use a second follower with an even slower release.
After the envelope, you need to sample the level and convert to dB. The final step is to plot it. I usually use a tri-colour bar without gradients, but this example uses just a single colour.
SimplePeakMeter.osm
If you want to detect clips, then you ought to do that in code at sample rate so you don't miss anything. Besides the problem with 1/100th second resolution, the envelope followers don't precisely follow the signal and won't always reach the maximum amplitude of the original signal when it clips.
-Andrew
badboy ·
Thanks Andrew J - much appreciated!
I have modified the osm to use the linGrad module but sadly - it does not work. I have also tried to add a float label as well to display the db in figures - the figure seems to be way off also.
I'm banging my head trying to fix it so I thought I would post on here again, maybe someone can take a look and see what I am doing wrong - this is the first vst development I have ever done so please don't be too harsh. I know I'm uber noob.
Broken Gradient Peak Meter with DB Readout.osm
If you look in this osm you will see the left peak meter has been changed - to have a label displaying the db (incorrect) and now using a gradient to draw the line - which doesn't work!
Cheers
😀
aliasant ·
badboy wrote: Thanks Andrew J - much appreciated!
If you look in this osm you will see the left peak meter has been changed - to have a label displaying the db (incorrect) and now using a gradient to draw the line - which doesn't work!
Cheers
😀
Download link is broken somehow.
If you look at the new waveplayer http://martin.rodensjo.se/FileShack/SM%20Projects/files/WavePlayer%20v.1.1osm.rar
I made with exonerate theres a simple Peakmeter using a .png strip for the image in it. You could easily do as said before add a second env follower and hav a longer release time and use that to control some graphics that represents the peak.
Another way would be to use a timer that starts when signal is over 0dB. That way you can determine the time the peak indicator shows...
badboy ·
thanks for the osm been looking through it - it seems more complex then the other one but thanks anyways - trying to get my head around where I would put the peak code in or how I can change the png, but cheers 🙂
Wrote something here? To have a post removed or your name hidden, write to [email protected].