Jump to content


Photo

New Tool (3.1): SliceMate

Slices Pattern Editor Sample Editor

  • Please log in to reply
50 replies to this topic

#26 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 28 April 2017 - 15:04

FYI: I found a couple of small issues which I'm aiming to fix right away. 
* the tool doesn't like navigating into/inserting group tracks 
* when slicing while playing, but without follow player enabled, slices can be inserted one line too late
Edit: done, check the tools page
 
Also added better error messages and an option to "autofix" instruments (enable auto-seek etc.)

Tracking with Stuff. API wishlist | Soundcloud


#27 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 29 April 2017 - 18:56

Another new version is up. 

This time, with full support for sample offset commands (Sxx). This includes support on the sliced samples themselves, but also the special syntax Renoise has for the "root sample". 

 

So you can slice up a sample and then scramble it further using Sxx commands like this

Pay attention to the selection in the waveform editor while commands are entered

slicemate-workflow-sxx-edited.gif?raw=1

 

And it also understands when you've used the alternative Sxx-based approach to slice triggering 

The Sxx command decides which slice is active

slicemate-workflow-sxx-root.gif?raw=1

 

Another small improvement - notes are now inserted using their basenote, not the first note of their mapped range. 

 

Check the tools page for download. 


  • ceejay and Djeroek like this

Tracking with Stuff. API wishlist | Soundcloud


#28 Drop Shadow

Drop Shadow

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 441 posts
  • Gender:Male
  • Location:Copenhagen

Posted 17 February 2018 - 02:19

Great tool. I would love to have more "resolution" when slicing (without live slicing).

 

A small suggestion: If a delay value is present at the cursor position, the vertical select line in the waveform will move accordingly and the "Slice at Cursor" will slice the the sample at the position determined not just by the line but at line x + delay xx.

 

Or maybe a way to slice and insert a note from the wave editor. Go to position xxx in the sample, right click, choose "slice and insert note" (or something similar) and a note will be inserted in the pattern editor at the location (line + delay) corresponding to the sample position (the distance from the root note).

 

Hope it makes sense.



#29 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 17 February 2018 - 08:33

Thanks for the praise happy.png  

 

A small suggestion: If a delay value is present at the cursor position, the vertical select line in the waveform will move accordingly and the "Slice at Cursor" will slice the the sample at the position determined not just by the line but at line x + delay xx.

 

It should already work like this. If not, then something has simply gone wrong 

(must admit, I practically never use the combination of delay & slicing myself, so I might have skipped this during testing)


Tracking with Stuff. API wishlist | Soundcloud


#30 Drop Shadow

Drop Shadow

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 441 posts
  • Gender:Male
  • Location:Copenhagen

Posted 17 February 2018 - 22:54

SliceMate thanks for the praise happy.png  

 

 

It should already work like this. If not, then something has simply gone wrong 

(must admit, I practically never use the combination of delay & slicing myself, so I might have skipped this during testing)

Delay doesn't do anything when slicing (that is, slicing when NOT playing). "Slice at Cursor" only remove the delay value, that's all. Would be so sweet if it took delay values into account, e.g. the vertical select line position in the waveform would change with delay.


Edited by Drop Shadow, 17 February 2018 - 22:57.


#31 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 28 March 2018 - 14:51

Delay doesn't do anything when slicing (that is, slicing when NOT playing). "Slice at Cursor" only remove the delay value, that's all. Would be so sweet if it took delay values into account, e.g. the vertical select line position in the waveform would change with delay.

 

I'm doing some tool maintenance right now and thought I would double-check this too. 

But, I think I'm misunderstanding what you want, as any manually entered note-delays are indeed factored in when the slice offset/position is calculated. 

 

For example, if I had triggered a sliced sample and then adjusted the placement of the note with a delay command, the next time I hit "Slice at Cursor" it will insert a perfectly aligned slice at that position. IOW, playback would be seamless.

 

But when creating new slices, the new note will never feature a delay command. Notes created by SliceMate are always "on the grid", by design. 

 

However, thanks to your description I discovered one case where this behavior is not consistent: when you position the cursor above a sliced note which features a delay command, the newly inserted note will "inherit" the delay command. And it really shouldn't - will be fixed...


Tracking with Stuff. API wishlist | Soundcloud


#32 Drop Shadow

Drop Shadow

    Big Daddy Member

  • Normal Members
  • PipPipPipPipPipPipPip
  • 441 posts
  • Gender:Male
  • Location:Copenhagen

Posted 29 March 2018 - 23:17

I didn't mean to say anything about the how well the slices align relative to the basenote (including a delayed note). Yes, it is perfect.
 

But when creating new slices, the new note will never feature a delay command. Notes created by SliceMate are always "on the grid", by design.

It does produce delay commands when clicking Slice at Cursor when playing the song live (which is good!). My idea was that you could manually enter a delay value on a line after the basenote and then, when slicing at cursor on that line, the delay value (of the note on that second line!) would be factored in. The delay value would not be erased when slicing, then.
 
Alternatively, you could achieve the same if it was possible to insert sliced notes from within the sample editor.
 
Anyway, I discovered that I can largely get the result I want with dblue's Slices to Pattern tool. So you can disregard my request.
 
Thank you for the tool - and your kind response.



#33 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 30 March 2018 - 10:46

My idea was that you could manually enter a delay value on a line after the basenote and then, when slicing at cursor on that line, the delay value (of the note on that second line!) would be factored in. The delay value would not be erased when slicing, then.

Yes, as I wrote I had discovered (prompted by you) that the delay command was left intact when "re-slicing" on the same line.
But this was a bug - so, I'm not planning to do it the way you propose. It will just make things harder to understand. Sorry biggrin.png

 

It does produce delay commands when clicking Slice at Cursor when playing the song live (which is good!).

 
Ah, of course. Un-quantized real-time recordings produce delay commands, yes.
 
I actually considered getting rid of this, but realized that it really is useful when e.g. using the tool for playing a long sample (e.g. a vocal recording) and manually slicing it by pressing the keyboard shortcut. 
In such a case, you don't necessarily want the result to be quantized. 

--

Btw - I am working on an update which will add the following feature(s):

 

#1 Ability to slice phrases.

Yep, ever since publishing the first version of this tool I've wished for this. Now it's finally becoming reality :)

 

#2 Slice Forward / Slice Backward.

Gives you the ability to insert new (sample/phrase) slices with regular intervals, or based on existing (sample) slices. 


 


  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#34 Woodpecking Mantis

Woodpecking Mantis

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 170 posts
  • Gender:Male
  • Location:Montréal, Qc
  • Interests:Renoise, Max/MSP, vcv rack. Nothing else

Posted 30 March 2018 - 21:04

I'm really looking forward this feature:

 

2 Slice Forward / Slice Backward.

Gives you the ability to insert new (sample/phrase) slices with regular intervals, or based on existing (sample) slices. 

 
Would it be able to add notes/slices in pattern (and further patterns) as long as the sample duration? 


#35 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 31 March 2018 - 11:24

Would it be able to add notes/slices in pattern (and further patterns) as long as the sample duration? 

 

The idea is to insert a note at a different (previous or next) position, relative to the cursor position. 

If a slice already exists at the position, it will simply reuse that one, so you should even be use to use this feature to "navigate" around the sample without causing too much of a mess (just a lot of slices... )

 

So, to answer you question: as far as there is a sample buffer that the tool can chew on, it should be able insert to insert additional slices. 

 

I'm not 100% sure how to deal with phrases though - they are different scenario than samples, as SliceMate support looped phrases but not looped samples. When slicing backwards, should the tool stay within the looped part of the phrase, or go towards the start? Or perhaps even take the previous note into consideration (if such a thing exists)?

I guess I'll have to experiment a bit to figure out what feels right. 


  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#36 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 31 March 2018 - 13:37

OK, v0.2 is available - without the "Slice Forward/Backward" feature, but otherwise good to go. 

Here is what's new: 

## 0.2
- Add support for slicing instrument phrases
- Add emulated pattern navigation while dialog is focused
- Remove "show GUI on auto-start" option (always do this)
- Update cLib/xLib libraries

Download the new release from the tools page.

 

I've tested phrase slicing against phrases with all sort of LPBs, and it should be able to properly detect/translate all possible combinations.

For example, slicing a phrase that goes LPB9 in a song which is running @ LPB4. In this case, the tool calculates the right amount of delay and applies it to the generated note. 

Or breakcore tempo (32LPB) against a regular LPB4 phrase - in this case, the tool will only be able to insert anything on every 8th line. But even then, it's nice enough to instruct you in how to move the cursor to a nearby, compatible line. 

 

Also, since looping in phrases is a relatively straight-forward affair, the tool should fully support this feature. 

 

Hint: if you're chopping up phrases, consider enabling auto-seek on the samples used in the phrase. By doing this, samples will start playing from their relative positions, the very moment the phrase is triggered. Otherwise, you might hear small gaps, etc. 


  • ghostwerk and Woodpecking Mantis like this

Tracking with Stuff. API wishlist | Soundcloud


#37 Rpnz

Rpnz

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 570 posts
  • Gender:Male

Posted 31 March 2018 - 19:43

thank you for this great tool danoise!!
House Music All Night Long. - Say What?

#38 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 02 April 2018 - 13:56

Did a bit more work on the tool when I just found an error in the "split phrase" implementation -

when positioning the cursor on the last line of a phrase, you might see this: 

 

phrase-sxx-error.png

 

Will obviously have to be fixed. So expect another update soon smile.png


  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#39 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 03 April 2018 - 20:57

Another lil' update, to fix the issue mentioned above.

https://renoise.com/tools/slicemate

Also squeezed in a couple of nice additions: especially that the tool no longer tracks things in the pattern while the GUI is hidden (the option is called "Suspend while hidden").

This doesn't mean that slicing per keyboard no longer works - just that the tool doesn't have any (noticable) impact on the CPU when you're not using it. Before, it could slow down things, especially with large songs spanning many patterns.  
 

## 0.21
- Fix issue when placing cursor at last line of phrase
- Preserve effect-column indices for Sxx, Zxx commands
- Don't overwrite existing effect-columns (allocate new cols if needed)
- Option to suspend "selection" updates while GUI is hidden (less CPU usage)
- Add link to github documentation [www]
- Add MIDI mappings for navigating to prev/next line 

  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#40 Woodpecking Mantis

Woodpecking Mantis

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 170 posts
  • Gender:Male
  • Location:Montréal, Qc
  • Interests:Renoise, Max/MSP, vcv rack. Nothing else

Posted 03 June 2018 - 17:53

I use this tool a lot since producing some raw material from vcv, usually to cut a one sample instrument, its really doing the job! I've not tried the phrase uses for now, but I sense an interesting composition opportunity there...
 
For now I would have a suggestion after trying something new with it:  
 
I imported 6 longs equal duration samples from a session recording to build a layered timbres bass instrument.
Unfortunatly, I learned that it's currently not possible to slice multi-sample instruments.
 
Was it a feature you thought to implement Danoise ?  It would be a nice addition as a checkbox option !
Would it be a useful feature to some other users or am I again trying to make weird uses of Renoise?
Is it easy to code?


#41 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 03 June 2018 - 20:47

I learned that it's currently not possible to slice multi-sample instruments.

 

True, and this tool can't easily work around that limitation. 

Actually, it relies on slices and the functionality they offer so it would be very complicated to do. 

 

But what if it was possibly to "copy" slices between instruments?

Then you could slice up a "master" instrument and apply the offsets to the other ones...perhaps this could be of use?


  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#42 Woodpecking Mantis

Woodpecking Mantis

    Super Advanced Member

  • Normal Members
  • PipPipPipPip
  • 170 posts
  • Gender:Male
  • Location:Montréal, Qc
  • Interests:Renoise, Max/MSP, vcv rack. Nothing else

Posted 04 June 2018 - 16:10

True, and this tool can't easily work around that limitation. 

Actually, it relies on slices and the functionality they offer so it would be very complicated to do. 

 

But what if it was possibly to "copy" slices between instruments?

Then you could slice up a "master" instrument and apply the offsets to the other ones...perhaps this could be of use?

 

I just found the strobotone's slice extension tools which allow copying/transfer of slices markers. I'll just do that master sliced instruments with slicemate and paste to other instruments as you suggest... each one having a sample of the layered bass.

https://forum.renois...=+copy +markers

 

My choice of putting all the bass samples in a single instrument was for a clean organization purpose... I loved the fact that it's possible to assign each sample to a single track via the Fx Chain output, very neat way of staying organized..

 

Thanks Danoise!


  • danoise likes this

#43 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 05 June 2018 - 20:15

I just found the strobotone's slice extension tools 

 

Ha, Yes! Some part of me vaguely remembered that this had been done, but I couldn't recall when/what it was.

 

Cool, strike that off the list then  :)


  • Woodpecking Mantis likes this

Tracking with Stuff. API wishlist | Soundcloud


#44 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 12 July 2018 - 11:25

I've started to work on beat-sync support to SliceMate

While I haven't forgotten about the "slice forward/backward" feature (see above), I decided to spend some time on this instead: I see it a more fundamental feature. Especially when working with sliced up breakbeats, being forced to stay in the original tempo while slicing isn't really optimal. 

 

The best thing about beatsync support is that you won't need to "configure" anything - it should just work. 

 

Technically, it all depends on a function which is able to compute the pitch/note that a beat-synced sample is 'actually' playing at. 

This allows the tool to compute the offset position, which is a requirement for slicing. 

 

When you then perform a slice, it then looks at the beat-synced number of lines of the source sample, and divides that among the source sample and the new sample (slice). For example, positioning the cursor at the 8th line of a 64 line sample will result in 8 and 56 lines, respectively. 

Similarly, when you remove a beat-synced slice using the tool, it will combine the lines back into the remaining sample. 

Ideally this translates into slices that perfectly preserve the speed at all times. 


Tracking with Stuff. API wishlist | Soundcloud


#45 joule

joule

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1815 posts
  • Gender:Not Telling

Posted 12 July 2018 - 12:56

[...]


Maybe hi-jacking.. Is this also approaching the possibility of a simple note-aligner tool? It sounds like your functions would make it quite simple for you to make such a thing :) Not sure if what you're working on is already doubling that feature, or if it's a totally separate thing.

Ideas:
Spoiler


#46 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 12 July 2018 - 18:03

Maybe hi-jacking.. Is this also approaching the possibility of a simple note-aligner tool? It sounds like your functions would make it quite simple for you to make such a thing :)

 

Yes, but I would rather see this appear as a separate tool. Otherwise it would be a very useful feature "buried" somewhere inside this tool. 

Also, not trying to shoehorn this into SliceMate makes it a bit easier to think/plan freely. 

 

Spoiler

Tracking with Stuff. API wishlist | Soundcloud


#47 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 12 July 2018 - 19:54

I've started to work on beat-sync support


Done - check it out!
http://renoise.com/tools/slicemate

 

Edit: temporarily replaced with previous version while working out some bug


Tracking with Stuff. API wishlist | Soundcloud


#48 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 16 July 2018 - 10:45

SliceMate 0.25 preview
 
slicemate-0.25-screenshot.png
 
Getting a little more humble, as I released the last version without testing properly. 
So this time, I'm putting out a beta before putting it on the tool page:
 

 
I think I've fixed that issue (related to beat-syncing), but instead of just fixing and then releasing I decided to implement Forward, Backward Slicing too. 
Not only that, I added an interesting feature called "Insert" too - which works like this (according to the updated docs):
 

click these buttons to insert existing slices into the pattern. Unlike with the other buttons, inserting will not create new slices. Note that the slices are automatically inserted with the actual playback duration - in theory, positioning the cursor at the trigger note and hitting "insert" repeatedly should create a seamless string of notes, recreating the full original sample.


I write "in theory", because in practice there are numerous pitfalls to consider. Such as, the difficulty of fitting multiple notes on a single line. 
For now, I've simply gone with the basic approach and, as long as you don't screw too much around with the project tempo, things are fine.
 
And it's a hugely useful feature - once you are deep in slicing mode, you can use this feature to quickly "extend" the slice you're working on. 
 
Full changelog: 
## 0.251
- Feature: Forward/backward slicing, using quantize
- Feature: Forward/backward fill, limited by scope (song, pattern, etc.)
- Feature: Slice insert (insert existing slices into pattern)
- Feature: Add “Step size” as quantize amount
- Cleaned up, rearranged GUI a bit
- Fixed: beat-sync issue (related to xLib)
- Fixed: re-use effect columns if values are identical (skip writing)
- Fixed: issue with invalid pos (first line in song)
Edit: attachment is temporarily offline. Come back a bit later :)
  • kytdkut likes this

Tracking with Stuff. API wishlist | Soundcloud


#49 danoise

danoise

    Probably More God or Borg Than Human Member

  • Renoise Team
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 6942 posts
  • Gender:Male
  • Location:Berlin
  • Interests:wildlife + urban trekking

Posted 18 July 2018 - 11:31

Here's a slight update, from 0.25 to 0.251 (see attachment in previous post)

 

I managed to find (and fix) one issue relating to slicing from the very first line in a song,

- and I know for sure that another one, somehow related to phrases, is lurking in there, somewhere  :ph34r:

 

Also took the time to add Edit Step as a new quantization target,

and to fix a typo that caused too many phrase effect-commands (Zxx/Sxx) to be inserted - or rather, not to be recycled. 

 

Oh, and I added MIDI and key mappings for all the new buttons and stuff  ^_^


  • Djeroek and kytdkut like this

Tracking with Stuff. API wishlist | Soundcloud


#50 kytdkut

kytdkut

    Member

  • Normal Members
  • PipPip
  • 54 posts
  • Gender:Not Telling
  • Location:Buenos Aires

Posted 18 July 2018 - 18:45

This is brilliant, with these new features (specifically Insert) you can align arbitrary places in different samples together... A simple example being transient align :panic:

 

I downloaded your update thinking it would be fixed, but if I manually insert a note corresponding to the second slice in the first row of the song, first pattern, and press "(Up) Insert", this happens:

'/home/myname/.renoise/V3.1.1/Scripts/Tools/com.renoise.SliceMate.xrnx/main.lua' failed in one of its notifiers.

Please contact the author (danoise [bjorn.nesby@gmail.com]) for assistance...

./source/xLib/classes/xSongPos.lua:309: attempt to perform arithmetic on field 'line' (a nil value)
stack traceback:
  ./source/xLib/classes/xSongPos.lua:309: in function 'decrease_by_lines'
  ./source/SliceMate.lua:1263: in function 'get_slice_line_spans'
  ./source/SliceMate.lua:876: in function 'insert_backward_slice'
  ./source/SliceMate_UI.lua:620: in function <./source/SliceMate_UI.lua:619>

I whish the tool had an option to insert a pattern before the actual pattern (if the actual pattern is the first one) with its length set to the value needed to put the trigger note. And if this pattern exists but the numlines were not enough the tool would add more... Just dreaming tho, this could be a perfect sound design workflow

 

Thanks Danoise, this tool is fantastic


Edited by kytdkut, 19 July 2018 - 16:48.






Also tagged with one or more of these keywords: Slices, Pattern Editor, Sample Editor