Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 04-26-2021, 01:37 PM   #1
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default Spectral edit does not work unless item is split...! (FIXED)

I have an item with several spectral edits for de-essing. One of those spectral edits does not work unless I split the item somewhere in front of it.

Two licecaps below. The top one shows the non-functional version. As you can se, rotating the gain does not affect the audio, even though the spectral edit display indicates that the chosen frequencies are adjusted. The bottom licecap shows the same scenario after I have split the item at the previous beat. Now we see that the spectral edit indeed affects both the display and the audio.





Again, the only difference between the top and bottom gif is that for the bottom gif I have split the item 372 ms before the start of the time selection.

In general, spectral edits is such a great idea, sadly underdeveloped for now, but surely this must be a real bug, right?

EDIT: Just to be clear, if I heal the split item, that spectral edit again does not work. And if I split the item again, the spectral edit works again. This is reproducible.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...

Last edited by Fabian; 04-26-2021 at 01:48 PM.
Fabian is offline   Reply With Quote
Old 04-27-2021, 11:39 AM   #2
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Apparently only me stumbled on this issue...

I tried to replicate the problem, and I managed!

Here https://chalmersuniversity.box.com/s...b125t6eard.zip is a 130 kB zip file with a project that includes a small pink noise item with two spectral edits. The first one works as expected, but the second one does not work unless the item is split before it, like at 1.1.50.

Can there be only one spectral edit per item?
Or is this a bug?

I hope it is not a trivial pilot error, so if anyone could check this, I would be grateful.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 04-28-2021, 03:25 AM   #3
valy
Human being with feelings
 
Join Date: Jan 2020
Posts: 1,922
Default

I got the same result as you with your project.

But then I created a new project and imported a random audio file. I was able to successfully create two consecutive spectral edits in the same item. So it seems there is something with your project settings, although I can't imagine what?
valy is offline   Reply With Quote
Old 04-28-2021, 11:12 AM   #4
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Quote:
Originally Posted by valy View Post
I got the same result as you with your project.

But then I created a new project and imported a random audio file. I was able to successfully create two consecutive spectral edits in the same item. So it seems there is something with your project settings, although I can't imagine what?
Thanks for testing and confirming.

I've been experimenting more...

Could you maybe try to place the item slightly to the right off grid and then to drag the left side of the item to the nearest grid line. Then put two spectra edits there. Do both work in that case?

Thanks

EDIT: This definitely has something to do with the item not starting on the grid and/or being extended to the left. In the project linked to above, if I drag the item left edge to where the small triangle whatever-it-is-called is, the second spectral edit works! If I drag the left edge back to the left, the second spectral edit stops working. And this working/not-working happens as I drag the edge back and forth while the project plays and loops over the second spectral edit.

Surely this is a real bug.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...

Last edited by Fabian; 04-28-2021 at 11:22 AM.
Fabian is offline   Reply With Quote
Old 04-28-2021, 11:30 AM   #5
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Here it shows. If I drag the left edge of the item to the left, the second spectral edit stops working.



In the gif above, the project plays and loops over the second spectral edit. Initially this one works as we can see in the ReaEQ graph. Then I drag the left edge out just a little bit, and at one point the spectral edit stops working. Agan, the ReaEQ graph shows this, but note that the spectral view in the spectral view in the item looks the same as when the edit is not working. And then I drag the left edge back and forth, and the spectral edit consistently stops and starts to work. This is fully replicable.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 04-28-2021, 12:06 PM   #6
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 13,357
Default

Thanks, fixing!

Last edited by Justin; 04-28-2021 at 01:13 PM.
Justin is offline   Reply With Quote
Old 04-29-2021, 11:40 AM   #7
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Quote:
Originally Posted by Justin View Post
Thanks, fixing!
Great! Thanks.

While you're giving spectral edits some love, could you please, please let us copy/paste spectral edits. That would improve this already very useful feature so much. Thanks.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 04-29-2021, 12:53 PM   #8
valy
Human being with feelings
 
Join Date: Jan 2020
Posts: 1,922
Default

Quote:
Originally Posted by Fabian View Post
Great! Thanks.

While you're giving spectral edits some love, could you please, please let us copy/paste spectral edits. That would improve this already very useful feature so much. Thanks.
Seconded...or maybe a "spectral-edit item" akin to automation items so we can drag 'em around
valy is offline   Reply With Quote
Old 04-29-2021, 01:30 PM   #9
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Quote:
Originally Posted by valy View Post
Seconded...or maybe a "spectral-edit item" akin to automation items so we can drag 'em around
Well, we can already drag them around within an item (or rather, take), so being able to copy/paste between takes would solve the most urgent issues, I think.

But yes... being able to save and recall spectral edits like automation items would be great, of course. And with some API calls so we can invent some clever stuff of our own on top of it.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 04-29-2021, 04:06 PM   #10
valy
Human being with feelings
 
Join Date: Jan 2020
Posts: 1,922
Default

Quote:
Originally Posted by Fabian View Post
Well, we can already drag them around within an item (or rather, take), so being able to copy/paste between takes would solve the most urgent issues, I think.

But yes... being able to save and recall spectral edits like automation items would be great, of course. And with some API calls so we can invent some clever stuff of our own on top of it.
I'd take whatever I could get, yeah. Being able to use the Media Bay with them would be nice.
valy is offline   Reply With Quote
Old 04-30-2021, 12:49 PM   #11
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 2,507
Default

Quote:
Originally Posted by Fabian View Post
But yes... being able to save and recall spectral edits like automation items would be great, of course. And with some API calls so we can invent some clever stuff of our own on top of it.
In need of Spectral Edit Api-calls? Come into the colorful world of Ultraschall-Api, which provides exactly that.
Should be possible to code copying spectral edit scripts with that, but I never tried.

https://mespotin.uber.space/Ultrasch..._Spectral_Edit
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1400 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is offline   Reply With Quote
Old 04-30-2021, 02:00 PM   #12
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
In need of Spectral Edit Api-calls? Come into the colorful world of Ultraschall-Api, which provides exactly that.
Should be possible to code copying spectral edit scripts with that, but I never tried.

https://mespotin.uber.space/Ultrasch..._Spectral_Edit
Ah! I didn't know. This looks great. Thanks.

One question: the API talks of "MediaItems" but spectral edits are really specific to takes. Are only single-take media items covered?
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 04-30-2021, 02:15 PM   #13
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 2,507
Default

Quote:
Originally Posted by Fabian View Post
Ah! I didn't know. This looks great. Thanks.

One question: the API talks of "MediaItems" but spectral edits are really specific to takes. Are only single-take media items covered?
Hmm, you're the first person to ask, actually

Will check and see, if I missed something. And if, I'll add this to the functions as well.

Edit:
You're right, currently it only supports the first take. Will add this for other takes too.
Thanks for pointing this out
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1400 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is offline   Reply With Quote
Old 05-01-2021, 12:35 PM   #14
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
You're right, currently it only supports the first take. Will add this for other takes too.
Thanks for pointing this out
Please do.
This already bit me

EDIT: I thought that was what bit me, but the following code prints "numspeceds: -1" for the example project I linked to above.
Code:
dofile(reaper.GetResourcePath().."/UserPlugins/ultraschall_api.lua")
local rpr = reaper
local usch = ultraschall

local CURR_PROJ = 0

local DO_DEBUG = true 
local function Msg(str)
   if DO_DEBUG then reaper.ShowConsoleMsg(tostring(str).."\n") end
end

local numselitems = rpr.CountSelectedMediaItems(CURR_PROJ)
if numselitems ~= 1 then Msg("One and only one selected item, please"); return end

local item = rpr.GetSelectedMediaItem(CURR_PROJ, 0)
assert(item)

local numtakes = rpr.GetMediaItemNumTakes(item)
Msg("numtakes: "..numtakes)
local acttake = rpr.GetMediaItemInfo_Value(item,"I_CURTAKE")
if acttake ~= 0 then Msg("Active take is ("..acttake..") not the first take!"); return end

local itemidx = usch.GetItem_Number(item) -- global index
local numspeceds = usch.CountItemSpectralEdits(itemidx)
Msg("numspeceds: "..numspeceds)
I *know* there are two spectral edits there.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...

Last edited by Fabian; 05-01-2021 at 01:01 PM.
Fabian is offline   Reply With Quote
Old 05-03-2021, 08:22 AM   #15
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: Apr 2020
Location: Leipzig
Posts: 2,507
Default

Quote:
Originally Posted by Fabian View Post
Please do.
This already bit me

EDIT: I thought that was what bit me, but the following code prints "numspeceds: -1" for the example project I linked to above.
Code:
dofile(reaper.GetResourcePath().."/UserPlugins/ultraschall_api.lua")
local rpr = reaper
local usch = ultraschall

local CURR_PROJ = 0

local DO_DEBUG = true 
local function Msg(str)
   if DO_DEBUG then reaper.ShowConsoleMsg(tostring(str).."\n") end
end

local numselitems = rpr.CountSelectedMediaItems(CURR_PROJ)
if numselitems ~= 1 then Msg("One and only one selected item, please"); return end

local item = rpr.GetSelectedMediaItem(CURR_PROJ, 0)
assert(item)

local numtakes = rpr.GetMediaItemNumTakes(item)
Msg("numtakes: "..numtakes)
local acttake = rpr.GetMediaItemInfo_Value(item,"I_CURTAKE")
if acttake ~= 0 then Msg("Active take is ("..acttake..") not the first take!"); return end

local itemidx = usch.GetItem_Number(item) -- global index
local numspeceds = usch.CountItemSpectralEdits(itemidx)
Msg("numspeceds: "..numspeceds)
I *know* there are two spectral edits there.

Yeah, consider the functions broken for the moment.
Only SetItemSpectralVisibilityState and GetItemSpectralVisibilityState work, as expected.
I'll reimplement them from scratch as new functions and deprecate the current ones.
Gives me the chance, to clean up the code for the future.
__________________
Use you/she/her, when contacting me, please. Thanks :) Not mentoring via PMs, sorry.
Ultraschall-API - 1400 ReaScript functions for Reaper - Reaper Internals - Developerdocs4Reaper - Donate, if you wish
Meo-Ada Mespotine is offline   Reply With Quote
Old 05-03-2021, 10:24 AM   #16
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 6,459
Default

Quote:
Originally Posted by Meo-Ada Mespotine View Post
Yeah, consider the functions broken for the moment.
Only SetItemSpectralVisibilityState and GetItemSpectralVisibilityState work, as expected.
I'll reimplement them from scratch as new functions and deprecate the current ones.
Gives me the chance, to clean up the code for the future.
OK, great!
Thanks.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian 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 10:48 PM.


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