Old 04-17-2020, 04:24 AM   #121
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 131
Default

Quote:
Originally Posted by _Stevie_ View Post
Meaning: does it also work with complex tempo changes?
Yes it works
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate |
Archie is offline   Reply With Quote
Old 04-17-2020, 11:04 AM   #122
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 131
Default

@cool In the message "#115" I updated the function, I advise to use it. She knows how to receive and return a table. Write all the markers in the table, then call Arc_GetClosestGridDivisionT once and apply these values ​​to the markers in the new cycle from the returned table. This will be faster than applying Arc_GetClosestGridDivision to each marker in a loop. If there are a lot of markers, then making a zoom for each marker can affect performance!

And another question: Why are duplicating functions in a script before each call? After all, a function, then a function, to write it once! Put it somewhere at the beginning of the script and then call it with only one line blalala(),anywhere, many times.
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate |
Archie is offline   Reply With Quote
Old 04-17-2020, 11:06 AM   #123
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,675
Default

Dude, if that function could be baked into SWS... marvellous.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is online now   Reply With Quote
Old 04-17-2020, 12:35 PM   #124
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 670
Default

Quote:
Originally Posted by cool View Post

Thanks for the ideas!
This requires more clarity and perhaps a description of the workflow. The script already has the ability to group. Or do you need something more?
workflow
- I have 8 tracks with snare, kick, OH left and right, Tom1, Tom2, Snare bottom, HH
- the sounds all bleed from one track to another as normal (from the snare track I can ear a bit of cymbals and viceversa as an example)
- I mix down kick+snare as a separate "guide track" - there I end up with 9 tracks
- I group all of them
- I slice, quantize and rejoin the "guide track" (now I use dynamic split + spk quantize + fill gaps between selected items)
- what I want to happen: as soon as I split the guide tracks all other tracks get split at same point, all snap offset get adjusted the exact same as the guide track. When I quantize all slices in guide track move to the correct position, each slice move along with the correspondent ones in all 9 tracks so they remain aligned to the slices in the guide track
- when slices are re-joint (through "fill gaps.." action) the are all re-joint in all tracks

Now this workflow it works with the 3 actions mentioned above as they handle grouping but it doesn't with MPL_Quantize and with this action (which are far better).

g
Gianfini is offline   Reply With Quote
Old 04-17-2020, 08:16 PM   #125
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Quote:
Originally Posted by Gianfini View Post
- what I want to happen: as soon as I split the guide tracks all other tracks get split at same point, all snap offset get adjusted the exact same as the guide track. When I quantize all slices in guide track move to the correct position, each slice move along with the correspondent ones in all 9 tracks so they remain aligned to the slices in the guide track
- when slices are re-joint (through "fill gaps.." action) the are all re-joint in all tracks
g

Maybe I still don’t understand something, but... now the script works just like that. When splitting the guide track, all items in the group are splitted. Similarly with quantization.

Quote:
Originally Posted by Archie View Post
@cool In the message "#115" I updated the function, I advise to use it. She knows how to receive and return a table. Write all the markers in the table, then call Arc_GetClosestGridDivisionT once and apply these values ​​to the markers in the new cycle from the returned table. This will be faster than applying Arc_GetClosestGridDivision to each marker in a loop. If there are a lot of markers, then making a zoom for each marker can affect performance!
This time I couldn’t. It seems that my skills are not enough to correctly insert the script.
But, in my tests, the previous version of the script worked quickly even on a large project. Is it worth it?

Quote:
Originally Posted by Archie View Post
And another question: Why are duplicating functions in a script before each call? After all, a function, then a function, to write it once! Put it somewhere at the beginning of the script and then call it with only one line blalala(),anywhere, many times.
I am not a programmer Sometimes I make mistakes in simple things.
cool is offline   Reply With Quote
Old 04-17-2020, 10:24 PM   #126
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 131
Default

Quote:
Originally Posted by cool View Post
This time I couldn’t. It seems that my skills are not enough to correctly insert the script.
It is not enough just to insert it; in order to insert it, you need to rewrite your existing functions a little.
Quote:
Originally Posted by cool View Post
But, in my tests, the previous version of the script worked quickly even on a large project. Is it worth it?
Maybe not and worth. Yes - the first option also works quickly. And the second option in some cases may be more convenient, because it can work with several parameters and tables at a time.
Quote:
Originally Posted by cool View Post
I am not a programmer Sometimes I make mistakes in simple things.
I, too
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate |
Archie is offline   Reply With Quote
Old 04-18-2020, 02:22 AM   #127
bigjoe
Human being with feelings
 
bigjoe's Avatar
 
Join Date: Jun 2015
Posts: 108
Default

Hi and thanks for this script! It’s insane!
I have a suggestion based on Gianfini request.
I was usin ProTools a few years ago, and what i miss is how Beat Detective handled the tasks your script covers.
It had a function called “collection mode”.
In Collection Mode you can collect split points from different tracks and than use them to split an entire group of tracks.
Believe me...this is a wonderful time saver when editing multi-track drums!

The workflow is like:
- select kick item, collect split points
- select snare item, collect split points
- use collected split points to slice a group of items (for example, the entire drum set)
- quantize and crossfade

It’s just a suggstion, but this can really be a game changer for people who records and edits a lot of real drums!
Thanks anyway for this wonderful script!
bigjoe is offline   Reply With Quote
Old 04-18-2020, 10:34 AM   #128
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 670
Default

Quote:
Originally Posted by cool View Post
Maybe I still don’t understand something, but... now the script works just like that. When splitting the guide track, all items in the group are splitted. Similarly with quantization.
Nope, as you can see from this gif I have 4 items grouped. I select the first, split but only that one gets split, the other are not split..



g
Gianfini is offline   Reply With Quote
Old 04-18-2020, 01:19 PM   #129
sinkmusic
Human being with feelings
 
sinkmusic's Avatar
 
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,537
Default

Hi,
Here are some custom toolbar icons i made (48pix width), with icons for some actions, extensions... and including a toolbar icon to launch MK Slicer.
Enjoy !
sinkmusic is online now   Reply With Quote
Old 04-18-2020, 10:34 PM   #130
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 131
Default

@Gianfini You need to put this daw here, or before clicking on the "Slice" select all the items.

In a script, functions work on selected items and only on selected items. The script does not work, not with which groups. I @cool already said that this is wrong, that it works only on selected, but to no avail.

@cool Before clicking on the "Slice" or "Markers" button, make checks. Check the group number for the main item and then in the cycle for all items in the project, if the group matches and the item is included in working hours, then select it. Otherwise, if the item is selected and the group is different or the item is not included in working hours, then deselect.
Attached Images
File Type: png Безымянный.png (3.1 KB, 307 views)
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate |
Archie is offline   Reply With Quote
Old 04-19-2020, 12:45 AM   #131
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 670
Default

Quote:
Originally Posted by Archie View Post
@Gianfini You need to put this daw here, or before clicking on the "Slice" select all the items.

In a script, functions work on selected items and only on selected items. The script does not work, not with which groups. I @cool already said that this is wrong, that it works only on selected, but to no avail.

@cool Before clicking on the "Slice" or "Markers" button, make checks. Check the group number for the main item and then in the cycle for all items in the project, if the group matches and the item is included in working hours, then select it. Otherwise, if the item is selected and the group is different or the item is not included in working hours, then deselect.
Ah ok... should be automatic but ok

thanks
Gianfini is offline   Reply With Quote
Old 04-20-2020, 08:44 PM   #132
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Quote:
Originally Posted by bigjoe View Post
Hi and thanks for this script! It’s insane!
I have a suggestion based on Gianfini request.
I was usin ProTools a few years ago, and what i miss is how Beat Detective handled the tasks your script covers.
It had a function called “collection mode”.
In Collection Mode you can collect split points from different tracks and than use them to split an entire group of tracks.
Believe me...this is a wonderful time saver when editing multi-track drums!

The workflow is like:
- select kick item, collect split points
- select snare item, collect split points
- use collected split points to slice a group of items (for example, the entire drum set)
- quantize and crossfade

It’s just a suggstion, but this can really be a game changer for people who records and edits a lot of real drums!
Thanks anyway for this wonderful script!

Good idea, but at the moment it looks VERY difficult to implement. Maybe in the future.

Quote:
Originally Posted by Gianfini View Post
Nope, as you can see from this gif I have 4 items grouped. I select the first, split but only that one gets split, the other are not split..
g

Ah, got it. Just read the instructions in the very first post of this thread. The script does not require preliminary grouping, it forms a group on its own.
By the way, in the new version (1.4.4) I added the option to disable FillGaps and XFades.

Quote:
Originally Posted by sinkmusic View Post
Hi,
Here are some custom toolbar icons i made (48pix width), with icons for some actions, extensions... and including a toolbar icon to launch MK Slicer.
Enjoy !

Cool! Thank you!

Quote:
Originally Posted by Archie View Post
@cool Before clicking on the "Slice" or "Markers" button, make checks. Check the group number for the main item and then in the cycle for all items in the project, if the group matches and the item is included in working hours, then select it. Otherwise, if the item is selected and the group is different or the item is not included in working hours, then deselect.
Yes, a good idea!
It turns out interesting - now almost half of the code is protection against incorrect actions and an attempt to guess the user's actions. And, nevertheless, there is always a reason to add something else. I naively believed that it was enough to write down the rules in the user manual

2All
Guys, thank you for your ideas and participation! This helps make the script better.
Now I need to take a break to get to work, otherwise I will soon have nothing to pay bills

Last edited by cool; 04-20-2020 at 09:05 PM.
cool is offline   Reply With Quote
Old 04-20-2020, 11:08 PM   #133
pingosimon
Human being with feelings
 
Join Date: Nov 2018
Posts: 57
Default

Seriously such a great script!

Is there a way that "Reduce" could go for more obvious markers first? For example, if most of the song is quarter notes, but a few waveforms have 5 extra detection markers, 10ms apart? "Reduce" doesn't necessarily remove those points first, even though it's obvious to a human.
pingosimon is offline   Reply With Quote
Old 04-21-2020, 12:29 AM   #134
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Quote:
Originally Posted by pingosimon View Post
Seriously such a great script!

Is there a way that "Reduce" could go for more obvious markers first? For example, if most of the song is quarter notes, but a few waveforms have 5 extra detection markers, 10ms apart? "Reduce" doesn't necessarily remove those points first, even though it's obvious to a human.

To reduce the number of markers, I recommend using the Sensitivity slider. Often its increase immediately gives a good result, removing only the redundant and keeping the transients in the right places.
cool is offline   Reply With Quote
Old 04-21-2020, 07:48 AM   #135
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Posts: 3,675
Default

And also use the filters to refine your results. The filters are basically the key to a good detection.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you wish to donate for my scripts: please consider an organization like: animal shelter, doctors without borders, UNICEF, etc...
_Stevie_ is online now   Reply With Quote
Old 04-21-2020, 01:50 PM   #136
pingosimon
Human being with feelings
 
Join Date: Nov 2018
Posts: 57
Default

Yep, those are great tools! Even with those, it can be hard to get nice splits on electric bass. (electric guitar is almost flawless).

Not complaining, just saying maybe an optimization to "reduce" could help, too!
pingosimon is offline   Reply With Quote
Old 04-26-2020, 04:04 AM   #137
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy, Thiene (Vicenza) ...close to Venice
Posts: 29
Default

I just edited 4 minutes of a multitrack drum session in one take,
drumming was pretty good, snare had a lot of bleeding though.
it took a bit to adjust the parameters, but the script works.

Transient detection is finally better then Dynamic split which i've never really used because it was cutting off the transients attack.


This is the first time i feel like i could really edit drums in Reaper without going back and forth on PT and use beat detective.
It's fckn great!

Keep up the good work!
80icio is offline   Reply With Quote
Old 04-27-2020, 09:01 AM   #138
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Quote:
Originally Posted by 80icio View Post
I just edited 4 minutes of a multitrack drum session in one take,
drumming was pretty good, snare had a lot of bleeding though.
it took a bit to adjust the parameters, but the script works.

Transient detection is finally better then Dynamic split which i've never really used because it was cutting off the transients attack.


This is the first time i feel like i could really edit drums in Reaper without going back and forth on PT and use beat detective.
It's fckn great!

Keep up the good work!

Thank you!
cool is offline   Reply With Quote
Old 05-11-2020, 01:10 AM   #139
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy, Thiene (Vicenza) ...close to Venice
Posts: 29
Default

if anyone of you is experiencing a small incoherency between the trigger lines and the cuts i think i've found the bug

this is how slicer is generally cutting
(offset is set to 0, but the cut happens earlier then expected)




this is how it's working right now on my test




It would be cool if someone on this thread could confirm that this bug is not only mine,
i'll be happy to share my mod in case

Last edited by 80icio; 05-11-2020 at 03:46 AM.
80icio is offline   Reply With Quote
Old 05-11-2020, 05:44 AM   #140
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 131
Default

Quote:
Originally Posted by 80icio View Post
if anyone of you is experiencing a small incoherency between the trigger lines and the cuts i think i've found the bug
It would be cool if someone on this thread could confirm that this bug is not only mine,
i'll be happy to share my mod in case
@80icio
Yes, I confirm - splits earlier
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate |
Archie is offline   Reply With Quote
Old 05-11-2020, 05:59 AM   #141
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Quote:
Originally Posted by 80icio View Post
if anyone of you is experiencing a small incoherency between the trigger lines and the cuts i think i've found the bug

Hello! Thanks for the report.
I know about it. This is not a bug, it is rather a "feature" of the script. This is designed to compensate for the inaccuracies of the trigger engine when working with complex loops that contain sounds of different frequencies (kicks, hat, etc.). Also, this is required for the MIDI Sampler function to work correctly - with this small offset, slices will not have clicks at the ends.

You can remove the offset directly in the script by replacing the line 3263:
Code:
 cutpos = (next_startppqpos - 0.001)
with
Code:
cutpos = next_startppqpos
Or just decrease the offset value (for example, by setting 0.0005). But I would not recommend doing this, without this offset, there may be problems with low-frequency sounds, something like:


cool is offline   Reply With Quote
Old 05-11-2020, 09:13 AM   #142
joaoldmedeiros
Human being with feelings
 
Join Date: Jan 2019
Posts: 6
Default

Hey cool!

Firstly, thank you for this amazing tool, in the few hours I've been playing with it I have had tremendous results.

I'd like to report something and perhaps make a suggestion!
My main goal is to use the slicer for its MIDI capabilities for easy sample reinforcement of drums.

However, when I press the MIDI button, the result is not taking into account any edits I do to double check the detector and it's just printing the first result it gives, regardless of whatever corrections I do (adding notes, removing wrong triggers, etc.)

To complicate matters further, it also reverts back to the "Get Item" prompt as soon as the MIDI is printed, with no opportunity to review the material!

I can and do edit the MIDI after it is printed, but I thought I'd let you know anyways! Thank you so much for making this amazing script!
joaoldmedeiros is offline   Reply With Quote
Old 05-11-2020, 08:04 PM   #143
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Quote:
Originally Posted by joaoldmedeiros View Post
Hey cool!

Firstly, thank you for this amazing tool, in the few hours I've been playing with it I have had tremendous results.

I'd like to report something and perhaps make a suggestion!
My main goal is to use the slicer for its MIDI capabilities for easy sample reinforcement of drums.

However, when I press the MIDI button, the result is not taking into account any edits I do to double check the detector and it's just printing the first result it gives, regardless of whatever corrections I do (adding notes, removing wrong triggers, etc.)

To complicate matters further, it also reverts back to the "Get Item" prompt as soon as the MIDI is printed, with no opportunity to review the material!

I can and do edit the MIDI after it is printed, but I thought I'd let you know anyways! Thank you so much for making this amazing script!
Thanks for the bug report! This is very impressive. You found the MOST old bug I checked all versions of the script, starting with 1.0 - and they all had this problem.
Already fixed, I will try to publish an updated version in the near future.
Thanks again - you help make the script better!
cool is offline   Reply With Quote
Old 05-12-2020, 06:03 PM   #144
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Done.

1.4.5
+ Bugfix: now the manual change of transient markers is reflected in the action of the MIDI Sampler/Trigger button
cool is offline   Reply With Quote
Old 05-12-2020, 06:41 PM   #145
J Reverb
Human being with feelings
 
Join Date: Jul 2009
Posts: 765
Default

This is getting really tight now, thanks for your work
I would still love to have an option for chromatic midi output in trigger mode, there is a native action for this anyway -- 'Item: Create chromatic MIDI from items' that starts from C-1.
Any chance of implementing this in the dropdown menu ?
Thanks again for this great script.
J Reverb is offline   Reply With Quote
Old 05-12-2020, 08:18 PM   #146
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Quote:
Originally Posted by J Reverb View Post
This is getting really tight now, thanks for your work
I would still love to have an option for chromatic midi output in trigger mode, there is a native action for this anyway -- 'Item: Create chromatic MIDI from items' that starts from C-1.
Any chance of implementing this in the dropdown menu ?
Thanks again for this great script.
Perhaps I do not completely understand the task, but we already have the opportunity to get chromatic MIDI starting from a certain note using the MIDI button.
cool is offline   Reply With Quote
Old 05-12-2020, 08:49 PM   #147
J Reverb
Human being with feelings
 
Join Date: Jul 2009
Posts: 765
Default

Quote:
Originally Posted by cool View Post
Perhaps I do not completely understand the task, but we already have the opportunity to get chromatic MIDI starting from a certain note using the MIDI button.
Yes but this creates a rs5k stack.
I am talking about trigger mode so creating a midi part without the rs5k part.
Trigger but chromatic output.
Thanks.
J Reverb is offline   Reply With Quote
Old 05-14-2020, 10:16 PM   #148
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

1.4.6
+ Added an error message if the item or time selection is too short.
+ Improved slicer accuracy. Now the location of the cuts corresponds to what is displayed in the script.
+ Bugfix: now the script ignores the Time Selection if the option is disabled in the settings.
+ Bugfix: fixed MIDI Sampler error in cases where the button causes Glue to work.


About "Improved slicer accuracy"

I pondered the idea that 80icio submitted, and realized that I could implement it without loss. Now the script cuts exactly by transients. If you need to return the old behavior, just set the Offset slider to -1ms and forget about it. For the MIDI Sampler function, nothing has changed - as before, all samples are sliced with an indent of -1ms. This helps to avoid clicks when cutting low-frequency material.
cool is offline   Reply With Quote
Old 05-15-2020, 09:22 AM   #149
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 131
Default

@cool
Ovation, well done, keep up the good work.
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate |
Archie is offline   Reply With Quote
Old 05-16-2020, 11:06 AM   #150
Tycho
Human being with feelings
 
Tycho's Avatar
 
Join Date: Jan 2011
Location: San Francisco
Posts: 361
Default

Amazing! Thank you so much for this
Tycho is offline   Reply With Quote
Old 05-18-2020, 09:11 AM   #151
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,395
Default

Great lua MK.... donated!
Keep up the good work please
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 05-19-2020, 02:53 AM   #152
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Thank you!
cool is offline   Reply With Quote
Old 05-19-2020, 06:41 AM   #153
Zeno
Human being with feelings
 
Zeno's Avatar
 
Join Date: Sep 2018
Location: Germany
Posts: 314
Default

Hi cool
I have some questions about your wonderful script.
I use it primarily as a tool for waveform analysis and editing during mastering.

1. Is it possible to implement a function (option) that scrolls the waveform instead of the cursor (with a fixed cursor position) ?
2. If not, is it possible to synchronize the cursor position with the main window (similar to the midi-editor project sync) ?
3. would it be possible to implement a negative gain for the original waveform? This would be useful to analyze the peaks of the original waveform. At the moment only positive gain is available.
4. Would it be possible to implement an option so that 0 slices are set by default ?

For understanding i have added a gif of my current setup:




greetings

Zeno


Last edited by Zeno; 05-19-2020 at 09:58 AM.
Zeno is offline   Reply With Quote
Old 05-19-2020, 06:05 PM   #154
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 279
Default

Hi Zeno!

This is an unusual use of the script. I don't think it's legal

1. I had an old piece of code that did something similar. Unfortunately, in my experiments, it was not possible to achieve a smooth and synchronized movement of the waveform. I will attach a script with this scroll option to the message, so you can verify this yourself. Although, who knows, maybe it will find application in real work But it works very badly now.

2. Maybe in the future. At the moment, any actions that lead the user away from the main script window are a huge problem that breaks the script.

3. This is a good idea, I have thought it over. There are long-range plans.

4. At this stage, I understand that ... maybe another script is needed for this? It seems Heda did something similar. Also, X-Raym had some kind of wave visualizer. Logic tells me that if you want to change all elements in a script and it is not used for other purposes, it’s easier to find another script that is designed for specific purposes
Attached Files
File Type: lua MK Slicer_zeno.lua (200.5 KB, 4 views)
cool 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 07:05 AM.


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