Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 01-11-2018, 06:24 PM   #41
C-H
Human being with feelings
 
Join Date: Apr 2015
Location: Tucson, AZ
Posts: 373
Default

Very cool. Thx for the hard work.
__________________
Stash : M-Audio Oxygen 49 KeyMap
Stash : M-Audio Oxygen 49 v2 KeyMap
C-H is offline   Reply With Quote
Old 01-22-2018, 12:14 PM   #42
Casiquire
Human being with feelings
 
Join Date: May 2011
Posts: 9
Default

Thanks so much for all the hard work, these look amazing! Forgive me for what I'm sure is a newbie error, but none of these are actually opening up on my end? I saved them into Reaper's Effects folder, and the effects browser in Reaper found all of them, but they all open to a blank screen. What did I miss? Thanks all.
Casiquire is offline   Reply With Quote
Old 01-23-2018, 03:46 AM   #43
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Which files did you download? It's not just the .jsfx files you need - there are a couple of extra libraries that are also in that directory, one of which helps draw the graphics.

The simplest way to get everything you need is to use the ZIP from the stash, which should have everything included. (There's also a ReaPack package, if that's something you use.)

Give me a shout if that doesn't work for you.
geraintluff is offline   Reply With Quote
Old 01-23-2018, 10:47 PM   #44
ericzang
Human being with feelings
 
ericzang's Avatar
 
Join Date: Mar 2014
Location: Phoenix, AZ
Posts: 488
Default

These are great, thank you Geraint! Learning Sampler, such a cool idea!
ericzang is offline   Reply With Quote
Old 01-25-2018, 04:33 AM   #45
beingmf
Human being with feelings
 
beingmf's Avatar
 
Join Date: Jul 2007
Location: Jazz City
Posts: 5,065
Default

OMG! Just tested the spectrum matcher, the limiter and the spring box: in-cu-redi-ble! (will test the others, the midi plugins, as soon as possible)

Thanks so much, I hope there's some new ideas coming soon.
__________________
Windows 10x64 | AMD Ryzen 3700X | ATI FirePro 2100 | Marian Seraph AD2, 4.3.8 | Yamaha Steinberg MR816x
"If I can hear well, then everything I do is right" (Allen Sides)
beingmf is online now   Reply With Quote
Old 01-26-2018, 01:25 AM   #46
Casiquire
Human being with feelings
 
Join Date: May 2011
Posts: 9
Default

Quote:
Originally Posted by geraintluff View Post
Which files did you download? It's not just the .jsfx files you need - there are a couple of extra libraries that are also in that directory, one of which helps draw the graphics.

The simplest way to get everything you need is to use the ZIP from the stash, which should have everything included. (There's also a ReaPack package, if that's something you use.)

Give me a shout if that doesn't work for you.
Thanks for the help! I've tried two sources, including that zip from the stash. One of them gives an actual error message, the zip you linked just opens blank. Is there more to it than just dragging and dropping the entire contents into Reaper's effects directory? Much appreciated.
Casiquire is offline   Reply With Quote
Old 01-26-2018, 04:50 AM   #47
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

@Casiquire - weird! Please send me a PM/email, I'd like to sort that out.

Last edited by geraintluff; 01-29-2018 at 05:56 AM.
geraintluff is offline   Reply With Quote
Old 01-26-2018, 06:22 AM   #48
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default New Panalysis feature!

Added a new effect, which includes delay/phase alignment!

It calculates the correlation between two channels, and gives you a display which can be used to maximise phase alignment (e.g. if you have a multi-mic setup and your phases are slightly off):



It works best for small delays (e.g. 5ms or less) because of how it's configured, but longer periods can be added (as a configurable option) if there's demand.

This is a tool that I wrote several months ago and used myself, but only just packaged into a proper effect.

Last edited by geraintluff; 01-29-2018 at 06:01 AM.
geraintluff is offline   Reply With Quote
Old 01-26-2018, 01:14 PM   #49
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Veto View Post
Thank you Geraint! Besides using it its great to have some code to look at about how cross-correlation is done in JSFX.
It does a little more than just cross-correlation, but only a little. Specifically, to get a sharp peak, it normalises each frequency bin (in the complex-conjugate product) to all have the same length.

Without this, the peaks look more like the original waveforms, which often don't have the clear peaks I wanted. It does also mean that we hugely amplify bins that would otherwise be almost silent (e.g. quiet noise), but because the phases for that kind of thing aren't consistent, they cancel themselves out as we cumulatively add up the results.
geraintluff is offline   Reply With Quote
Old 01-29-2018, 03:17 AM   #50
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Veto View Post
Phase alignment/detection works great!

It always amazes me how robust cross correlation is with extremely noisy data.
Yeah. We even end up hugely amplifying the noise in a noisy signal, but it still doesn't matter, because the inconsistent phases cancel themselves out.

It sometimes gets less clear in real life. Here's an example where I had two mics, one placed inches in front of a cello, and the other in the middle of the room - so, vastly different spectra, sound coming from different strings, and the instrument body resonating in all different directions and reflecting off the walls.



I'd already compensated using the 1ms/foot rule of thumb so it should be close - there's definitely a cluster around the middle, but it's not exactly tidy. I think the conclusion is that every delay value is going to be off for some notes or some frequencies.

At some point, I might try splitting it up into octave bands and see if I can get a frequency/phase/delay display. Could be pointless, but could be interesting.

Quote:
Originally Posted by Veto View Post
Other than that maybe a "Reset Analysis" button could be useful. But also no drama to leave the menu and go back in.
Good point. I should also add phase-inversion - it detects it, so we should be able to correct it.

BTW, it's moved from Panalysis to its own effect. The title of this thread is getting less and less accurate by the minute.

Last edited by geraintluff; 01-29-2018 at 06:03 AM.
geraintluff is offline   Reply With Quote
Old 01-29-2018, 02:43 PM   #51
skippertag
Human being with feelings
 
Join Date: Jun 2015
Posts: 474
Default

Hey Geraint.

I don't know if I'm the only one...but PadSynth is causing HUGE CPU peaks on my machine (which is quite fast) esp. when I load a preset. Is that the usual behaviour until it gets to work?

The CPU consuming for me here is way too high for me to be able to use it..

sadly..because it sounds great

any ideas?
skippertag is offline   Reply With Quote
Old 01-29-2018, 02:45 PM   #52
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Veto View Post
One last question which also could be interesting for other users:
What would be the max detectable offset of both channels?
Is it FFT size / project samplerate, in my case 2048/44100= ~46ms ?

EDIT: A short test showed its probably 0.5*FFT size / project samplerate (of course only using the amount of samples half of the FFT size)
So 1024 samples or 1024/44100= ~23ms.
That sounds about right - although because of windowing, the peak will end up being reduced the further you go from 0. It should still detect clearly-defined delays past about the 12ms mark (or 1/4 * FFT-size) but other things might not work as well.

Adding an FFT-size control in the detection page is on my to-do list (right after adding phase-inversion options), and shouldn't be too difficult. It could easily display the expected range given the sample rate, so you could pick something appropriate to the amount of delay you were expecting.

Mostly, I was waiting until someone asked for it.
geraintluff is offline   Reply With Quote
Old 01-29-2018, 02:50 PM   #53
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by skippertag View Post
I don't know if I'm the only one...but PadSynth is causing HUGE CPU peaks on my machine (which is quite fast) esp. when I load a preset. Is that the usual behaviour until it gets to work?

The CPU consuming for me here is way too high for me to be able to use it..
I'm afraid that is expected, and I couldn't see a way around it. When you load a preset, it generates a whole bunch of samples (similar to hitting "Regenerate" after changing waveform parameters).

Because of this, you can't really load presets in the middle of using it. It already attempts to spread out the processing by only generating one sample per block (to keep it responsive - otherwise the whole of REAPER locks up for half a second), but it's still noticeable. It's the reason I have a "Recalculate" button instead of doing this automatically when you change parameters.

It should only last about a second at most. Are you able to use it once the preset has loaded, or is it still too slow?

(I occasionally max out my CPU when playing big chords on certain presets. At some point I will put my hard-hat on and do some proper performance profiling, but I don't expect it will be very fun.)

Last edited by geraintluff; 01-29-2018 at 02:57 PM.
geraintluff is offline   Reply With Quote
Old 01-29-2018, 03:04 PM   #54
skippertag
Human being with feelings
 
Join Date: Jun 2015
Posts: 474
Default

Quote:
Originally Posted by geraintluff View Post
I'm afraid that is expected, and I couldn't see a way around it. When you load a preset, it generates a whole bunch of samples (similar to hitting "Regenerate" after changing waveform parameters).

Because of this, you can't really load presets in the middle of using it. It already attempts to spread out the processing by only generating one sample per block (to keep it responsive - otherwise the whole of REAPER locks up for half a second), but it's still noticeable. It's the reason I have a "Recalculate" button instead of doing this automatically when you change parameters.

It should only last about a second at most. Are you able to use it once the preset has loaded, or is it still too slow?

(I occasionally max out my CPU when playing big chords on certain presets. At some point I will put my hard-hat on and do some proper performance profiling, but I don't expect it will be very fun.)
yes..it's not for very long...but in my setup the soundcard is telling me the overload but I can work further ahead after that..

actually I have the same issue than you...playing a polyphonic pad with two hands is unfortunately too much for the machine to be played in realtime at least...
skippertag is offline   Reply With Quote
Old 01-30-2018, 06:13 AM   #55
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Veto View Post
EDIT: Not sure how you do polyphony and maybe you saw that already but this thread could be of interest: https://forum.cockos.com/showthread.php?t=143640
That's great!

So, most of my synths use a library I wrote. When I wrote it, using tables/pointers was the most straightforward way to abstract it, but I reckon it should be possible to make a synth library that uses pseudo-objects/prefixes, while presenting a roughly similar API so adapting my existing synths is easy.

Changing PadSynth to a similar structure is a much bigger task. (In particular, saving/loading the states for the modular-ish effects section, while keeping it compatible.) That would be a great thing to work towards, though, because the performance issues irk me too.
geraintluff is offline   Reply With Quote
Old 02-09-2018, 03:08 PM   #56
skippertag
Human being with feelings
 
Join Date: Jun 2015
Posts: 474
Default

Hey Geraint,

I just took a look at your Midi harmony plugin...quite new, isn't it? :-) Interesting...sometimes..these coincidences.

I think currently your harmonizer is not exactly what I need... when I switch the output to note...I get only one note...switched to chord it makes the chord bigger,...more notes.. that is a great feature by itself but I think not for my purposes.

Your choice of a range around a centered note is another cool feature, but not for my transposing needs... I find it quite difficult to find the right middle note esp. as there is no given text output about where I am. For my needs I need an exact (instrument) range, but when you can implement that it's a totally different story.

Have you got the link the the JSFX with the Database of most natural instruments with these regards? It's called "Shows the range of an instrument...." It might come with REAPER natively, not sure though.

Another option I've got by Ashcat in this thread:
https://forum.cockos.com/showthread....98#post1952298

He's got a JS named Midi Transpose octave squisher. This ones comes very very close to my current needs, although not exactly yet...have to tweak that one also a bit..

For the meantime I'm very happy that we are all very close to have such a real timesaver for all the midi karaoke users out there....

I'm no scripter...but maybe you guys who know how to do it, might contact Yamaha when you've got it and sell your code to the Yamaha guys who create the Tyros Arranger Keyboards....because....although that beast costs around 5 grands it is still not possible to transpose midi tracks where the tracks get transposed with regards to their inherent instrument's range..(beside Drum and Percussion...that they have solved :-) It's always fiddling with the internal software to check and transpose each track separately within the Song Creator... vEEEERY Time consuming as you can guess..

So here ya go.... this code is gonna be a time saver for very many keyboard playing singers all over the world who wanna keep the great sound of the tracks even after transpose...
skippertag is offline   Reply With Quote
Old 02-10-2018, 09:55 AM   #57
Zargon the Destroyer
Human being with feelings
 
Zargon the Destroyer's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 1,034
Default

Quote:
Originally Posted by geraintluff View Post
Added a new effect, which includes delay/phase alignment!

It calculates the correlation between two channels, and gives you a display which can be used to maximise phase alignment (e.g. if you have a multi-mic setup and your phases are slightly off):



It works best for small delays (e.g. 5ms or less) because of how it's configured, but longer periods can be added (as a configurable option) if there's demand.

This is a tool that I wrote several months ago and used myself, but only just packaged into a proper effect.
This looks very useful; forgive the stupid question, but at the moment is it used on a 'stereo' track to compare left/right?

For example, if I want to check the phase between kick mic and snare mic (assuming snare mic spill in the kick), do I buss them to another channel, pan left/right and insert?

Sorry for stupid question!
Zargon the Destroyer is offline   Reply With Quote
Old 02-10-2018, 04:00 PM   #58
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Zargon the Destroyer View Post
This looks very useful; forgive the stupid question, but at the moment is it used on a 'stereo' track to compare left/right?

For example, if I want to check the phase between kick mic and snare mic (assuming snare mic spill in the kick), do I buss them to another channel, pan left/right and insert?
Very reasonable question. Yes, it's currently configured for stereo. You need to bus them as you describe - or what I do is to solo, temporarily pan, and put an instance on a master (or some other common parent track).

Routing across instances would be faster to use, and it's on my to-do list. I didn't manage to get around to it this week.

Last edited by geraintluff; 02-10-2018 at 04:05 PM.
geraintluff is offline   Reply With Quote
Old 02-11-2018, 12:18 AM   #59
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by geraintluff View Post
Routing across instances would be faster to use,
How do you think this is possible ?
Using shared memory between JSFXes in different tracks is not sample accurate. Not even block accurate.

Different tracks might run on different threads / CPUs and do their processing independently. Only at "official" mixing points, Reaper guarantees that the correct samples meet each other.

You would need to save multiple correctly numbered complete blocks of samples in a shared round robin buffer and do the processing on the correlated blocks when both happen to be accessible.

Or do you have a less complicated idea ?

-Michael

Last edited by mschnell; 02-11-2018 at 03:00 AM.
mschnell is offline   Reply With Quote
Old 02-11-2018, 03:36 AM   #60
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by mschnell View Post
How do you think this is possible ?
Using shared memory between JSFXes in different tracks is not sample accurate. Not even block accurate.
I might be completely wrong, but I was hoping that play_position was sample-accurate (at least when queried in @block code).

If so, instances could write to a circular buffer in shared memory annotated with the index and observed time, and the one performing calculations could figure out where to read from these buffers to match them up.

I guess I'll see whether that actually works when I implement it...
geraintluff is offline   Reply With Quote
Old 02-11-2018, 04:33 AM   #61
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by geraintluff View Post
I was hoping that play_position was sample-accurate
I suppose it is block accurate, so it can be used for what I described as "correctly numbering" of the blocks above.

But you need to take into account that the JSFX in one track might be a lot of blocks ahead of the one in another track.

-Michael
mschnell is offline   Reply With Quote
Old 02-11-2018, 12:17 PM   #62
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Zargon the Destroyer View Post
For example, if I want to check the phase between kick mic and snare mic (assuming snare mic spill in the kick), do I buss them to another channel, pan left/right and insert?
OK! I just added routing to Stereo Alignment Delay (so I guess the "stereo" bit is kind of optional now). How to use it:

1) Put instances on both the reference track, and the one you want to adjust. (Optional: align the stereo signal for them individually first at this point.)
2) On the one you want to adjust, hit "send" - it will start writing the audio to shared memory.
3) On the reference track, hit "detect". It should display "receiving" in the UI, and analyse as normal - except instead of two stereo tracks, it's using the local/remote inputs.
4) If you hit "correct remote", it will communicate back to the other track, which will adjust its delay times and stop sending.

EDIT - you can now choose whether you correct the sending or receiving instance. The default now is to correct the receiving instance (so that can leave the reference instance sending, and align multiple other tracks to it if you need).



Other change: You can specify which channel contains the relevant features. For example, if you are matching a bass drum and a hi-hat track, should you attempt to match up based on the overspill hi-hat in the bass track, or the overspilled bass drum in the hi-hat track?

For stereo alignment, there's a control that lets you select "match left to right" etc. For cross-instance routing, there's a switch in the sending interface.

The one being corrected is always considered to hold the relevant features you want to match on. So if it's "match right to left", the right-hand channel defines the spectrum you want.

Quote:
Originally Posted by mschnell View Post
I suppose it is block accurate, so it can be used for what I described as "correctly numbering" of the blocks above.

But you need to take into account that the JSFX in one track might be a lot of blocks ahead of the one in another track.
Blocks don't really come into it at all, apart from the fact that @block code is the only time I know play_position will be accurate.

When in "send" mode, it writes its own output audio (i.e. including any existing delay/phase adjustments) into a circular buffer in shared memory. Every @block, it writes the current index and play_position (plus latency adjustment). The receiving end uses its own play_position value (and latency) to figure out how much ahead/behind of its own output this will be, and compensates.

The circular buffer is 1s long, so it can correct for a processing-time/latency difference between the two instances up to this length. Between latency and the default anticipative/render-ahead length of 200ms, I think this is probably OK.

Last edited by geraintluff; 02-12-2018 at 11:44 AM.
geraintluff is offline   Reply With Quote
Old 02-11-2018, 02:25 PM   #63
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Great !
This seems like a decent way to handle this.

I understand that this will be a great help e.g. with multi-track drum recording.

I'll check this out As soon as it's on ReaPack.

Thanks !
-Michael
mschnell is offline   Reply With Quote
Old 02-11-2018, 03:29 PM   #64
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by mschnell View Post
I'll check this out As soon as it's on ReaPack.
The new version should already be in my ReaPack index. Is there something else I should be doing?
geraintluff is offline   Reply With Quote
Old 02-11-2018, 04:07 PM   #65
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Quote:
Originally Posted by geraintluff View Post
Is there something else I should be doing?
A decent ReaPack "about" section

-Michael
mschnell is offline   Reply With Quote
Old 02-12-2018, 06:24 AM   #66
beingmf
Human being with feelings
 
beingmf's Avatar
 
Join Date: Jul 2007
Location: Jazz City
Posts: 5,065
Default

Quote:
Originally Posted by geraintluff View Post
OK! I just added routing to Stereo Alignment Delay (so I guess the "stereo" bit is kind of optional now).
Amazing, thanks!

ONE QUESTION though, before I download: Is it backwards compatible? Or will it overwrite the settings in my existing projects that use the "stereo alignment delay"?
__________________
Windows 10x64 | AMD Ryzen 3700X | ATI FirePro 2100 | Marian Seraph AD2, 4.3.8 | Yamaha Steinberg MR816x
"If I can hear well, then everything I do is right" (Allen Sides)
beingmf is online now   Reply With Quote
Old 02-12-2018, 11:40 AM   #67
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by beingmf View Post
Is it backwards compatible? Or will it overwrite the settings in my existing projects that use the "stereo alignment delay"?
It's backwards-compatible, yeah.

Last edited by geraintluff; 02-12-2018 at 11:50 AM.
geraintluff is offline   Reply With Quote
Old 02-12-2018, 09:39 PM   #68
Robert Randolph
Human being with feelings
 
Robert Randolph's Avatar
 
Join Date: Apr 2017
Location: St. Petersburg, FL
Posts: 880
Default

I would like to write a blog post about the Stereo Alignment Delay on my website.

Do you think that it's mostly reached a stable version so there won't be many more changes?
Robert Randolph is offline   Reply With Quote
Old 02-13-2018, 02:16 AM   #69
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Robert Randolph View Post
I would like to write a blog post about the Stereo Alignment Delay on my website.

Do you think that it's mostly reached a stable version so there won't be many more changes?
Sounds great! Yes, I'm hoping to not make any more changes for a while.
geraintluff is offline   Reply With Quote
Old 02-14-2018, 02:45 PM   #70
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Veto View Post
maybe you saw that already but this thread could be of interest: https://forum.cockos.com/showthread.php?t=143640
Thanks for this tip - I haven't figured out how to reorganise PadSynth to take advantage of this (and I'm not sure it's even possible), however this did prompt me to rewrite the filtering sections of Spectrum Matcher, and the correction filters are now over 3x as fast. It's now about half the speed of ReaEQ, which is what Justin expects the performance to be.

Combined with stopping the analysis when the correction is "frozen", the CPU went down from 15% to 2% or less on my machine (even less if you reduce the accuracy of the correction using a new control I added), so it's now feasible to leave it in instead of having to use ReaEQ to construct the same curve.
geraintluff is offline   Reply With Quote
Old 02-14-2018, 02:51 PM   #71
cymbals
Human being with feelings
 
cymbals's Avatar
 
Join Date: Aug 2007
Posts: 177
Default

Quote:
Originally Posted by geraintluff View Post
Combined with stopping the analysis when the correction is "frozen", the CPU went down from 15% to 2% or less on my machine (even less if you reduce the accuracy of the correction using a new control I added), so it's now feasible to leave it in instead of having to use ReaEQ to construct the same curve.
This sounds great - I will do an update on my machine. Thanks!
cymbals is offline   Reply With Quote
Old 02-15-2018, 07:10 PM   #72
Robert Randolph
Human being with feelings
 
Robert Randolph's Avatar
 
Join Date: Apr 2017
Location: St. Petersburg, FL
Posts: 880
Default

It would be very helpful if there was a way to change the averaging time on the delay analysis graph.

That would allow the user to manually use a phase rotation plugin (or similar) to tune the signal manually.

Currently the averaging is too long for this.

Obviously you can use a goniometer or some other correlation meter, but often it's necessary to adjust frequency specific phase and/or wideband phase and delay. It would be great to view these adjustments in the Stereo Adjustment Delay analysis window.
Robert Randolph is offline   Reply With Quote
Old 02-16-2018, 12:45 AM   #73
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Robert Randolph View Post
It would be very helpful if there was a way to change the averaging time on the delay analysis graph
I'm not quite sure what you mean by "averaging time", but there should be an "FFT size" control, does that help? Bringing this down reduces the time-period that it can correct, but you also get a closer look at the graph.
geraintluff is offline   Reply With Quote
Old 02-16-2018, 03:02 PM   #74
Robert Randolph
Human being with feelings
 
Robert Randolph's Avatar
 
Join Date: Apr 2017
Location: St. Petersburg, FL
Posts: 880
Default

Quote:
Originally Posted by geraintluff View Post
I'm not quite sure what you mean by "averaging time", but there should be an "FFT size" control, does that help? Bringing this down reduces the time-period that it can correct, but you also get a closer look at the graph.
Here, look -



I change the delay of the channel on the right hand. Stereo Alignment Delay. The left side is showing the change.

The time it takes for changes to 'appear' is rather long. I assumed that this was maybe due to some averaging of the FFT bin values, but perhaps I'm incorrect.

Perhaps another plugin with this capability is better, since it appears that the current way is rather accurate for the current purpose.

I also did finish the blog post, here's where Stereo Alignment Delay is mentioned: http://admiralbumblebee.com/music/20...lignment-delay
Robert Randolph is offline   Reply With Quote
Old 02-17-2018, 04:52 AM   #75
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Robert Randolph View Post
The time it takes for changes to 'appear' is rather long. I assumed that this was maybe due to some averaging of the FFT bin values, but perhaps I'm incorrect.
Ah! It actually takes an average from the whole time that the analysis window is open. If you click "cancel" and then re-open it, it will start the analysis from scratch.

I should probably add in a "reset" button to make that simpler, but I think maybe in real use-cases the delay doesn't change that often mid-analysis.

EDIT - just read your blog post. I'm really glad you find it useful, and thanks for writing it up.

If you're matching a mono signal, you don't actually need "L/R link", although it's not a problem to have it on. If you're matching two separate tracks, it will preserve any existing L/R delay (which lets you align two stereo tracks within themselves, and then to each other, using the same two instances), but if the L/R delays are the same to start with, it shouldn't make a difference.

Again, thanks for the write-up, and flattered that you find it useful.

Last edited by geraintluff; 02-17-2018 at 05:03 AM.
geraintluff is offline   Reply With Quote
Old 02-17-2018, 08:41 AM   #76
Robert Randolph
Human being with feelings
 
Robert Randolph's Avatar
 
Join Date: Apr 2017
Location: St. Petersburg, FL
Posts: 880
Default

Quote:
Originally Posted by geraintluff View Post
Ah! It actually takes an average from the whole time that the analysis window is open. If you click "cancel" and then re-open it, it will start the analysis from scratch.

I should probably add in a "reset" button to make that simpler, but I think maybe in real use-cases the delay doesn't change that often mid-analysis.
I would personally find it nice if there was a reset button, and an option to have timed resets or a user-adjustable window...

Maybe as another plugin to use as a different form of correlation meter for the use-case I described above.

Quote:
Originally Posted by geraintluff View Post
If you're matching a mono signal, you don't actually need "L/R link", although it's not a problem to have it on. If you're matching two separate tracks, it will preserve any existing L/R delay (which lets you align two stereo tracks within themselves, and then to each other, using the same two instances), but if the L/R delays are the same to start with, it shouldn't make a difference.
I actually found that sometimes with mono signals it gave different values for L/R on occasion. That's why I suggested using the L/R link.

I think it may be some sort of bug, however I have not been able to learn enough about the circumstances of when it happens to report it as such.

Quote:
Again, thanks for the write-up, and flattered that you find it useful.
About 8,000 people have read about it already so far I also sometimes get emails talking about your JSFX that I have listed here as well http://admiralbumblebee.com/ReaperSc...sfx---homepage

Your work is very much appreciated!
Robert Randolph is offline   Reply With Quote
Old 02-17-2018, 08:49 AM   #77
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Looking forward to check these out.
Thanks!
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 02-17-2018, 11:11 AM   #78
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Can't find it after install.
Tried eg. padsynth
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 02-18-2018, 01:42 AM   #79
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default

Hi geraint, would it be possible to key in the EXACT amount of delay as ost plugs allow (e.g. by right clicking the knob and getting an input box?)

I was tring to get 0.7ms but no I wouldn't be able to get that axact amount with the mouse alone

thanks
g
Gianfini is offline   Reply With Quote
Old 02-18-2018, 06:32 AM   #80
geraintluff
Human being with feelings
 
geraintluff's Avatar
 
Join Date: Nov 2009
Location: mostly inside my own head
Posts: 346
Default

Quote:
Originally Posted by Gianfini View Post
Hi geraint, would it be possible to key in the EXACT amount of delay as ost plugs allow (e.g. by right clicking the knob and getting an input box?)

I was tring to get 0.7ms but no I wouldn't be able to get that axact amount with the mouse alone
OK, released in Stereo Analysis Delay v1.2.4. Right-click or triple-click on the text to get a text-entry box. It updates the value when you click somewhere else in the UI.



That was a fun challenge - I'd been meaning to implement something like that for a while, so thanks for the push.

(Also, in all of my effects, if you drag the mouse left or right while adjusting a dial, it changes the sensitivity. However, that's still not great for dialing in exact values.)
geraintluff is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:13 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.