# Slice with removing silence?

**URL:** <https://discourse.flucoma.org/t/slice-with-removing-silence/757>\
**Category:** Usage Questions\
**Created:** [January 25, 2021, 1:50pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757 "2021-01-25T13:50:37Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![balintlaczko](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/balintlaczko/32/1184_2.png) [@balintlaczko](https://discourse.flucoma.org/u/balintlaczko)\
**Post date:** [January 25, 2021, 1:50pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/1 "2021-01-25T13:50:37Z")

</div>

Hi!  
I have a source material where there is a lot of silence, and eventually some short clicks, snaps, etc - very short sound events. I want to extract these and discard the silence somehow. Up until now I used the dynamic split in Reaper slicing at both gate-on and gate-off points. That works, but the issue is that then I have to render thousands of very small wav files, and use them in Max, and this is asking for trouble in many ways.  
Is there a way to use the flucoma slicers so that they also report when a slice _ends_ not just when they start? I am looking at fluid.bufampgate~ to mimic what I do with dynamic split, but I wonder how to get the gate-off times?  
Or is there maybe a universal trick that can make this work with any of the slicers?  
Thanks!!

---

<div class="post-metadata">

**Author:** ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)\
**Post date:** [January 25, 2021, 2:11pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/2 "2021-01-25T14:11:58Z")

</div>

If you silence level is consistent, then fluid.(buf)ampgate is a more customisable version of a similar thing that dynamic split is doing. Check the help file it gives a few examples of customisation like look-back and look-ahead to capture tails for instance or time hysteresis, as well as the usual thresholding, etc

---

<div class="post-metadata">

**Author:** ![balintlaczko](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/balintlaczko/32/1184_2.png) [@balintlaczko](https://discourse.flucoma.org/u/balintlaczko)\
**Post date:** [January 25, 2021, 2:56pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/3 "2021-01-25T14:56:38Z")

</div>

Argh. I missed the fact that bufampgate~ outputs 2 channels with the 2nd being the gate-off points. Sorry for the noob post!

---

<div class="post-metadata">

**Author:** ![balintlaczko](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/balintlaczko/32/1184_2.png) [@balintlaczko](https://discourse.flucoma.org/u/balintlaczko)\
**Post date:** [January 25, 2021, 3:06pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/4 "2021-01-25T15:06:49Z")

</div>

_Very_ didactic example for future people like me:

 ![bufampgate_example](https://discourse.flucoma.org/uploads/default/original/1X/f2859413ee693dc45e8ecdf6d144f923fbcc3918.gif)

---

<div class="post-metadata">

**Author:** ![rodrigo.constanzo](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/rodrigo.constanzo/32/12_2.png) [@rodrigo.constanzo](https://discourse.flucoma.org/u/rodrigo.constanzo)\
**Post date:** [January 25, 2021, 3:14pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/5 "2021-01-25T15:14:29Z")

</div>

> [@balintlaczko](#):
>
> I want to extract these and discard the silence somehow. Up until now I used the dynamic split in Reaper slicing at both gate-on and gate-off points. That works, but the issue is that then I have to render thousands of very small wav files, and use them in Max, and this is asking for trouble in many ways.

Yeah, `fluid.ampgate~` is great for this. Once [slight bummer](https://discourse.flucoma.org/t/combining-fluid-ampslice-fluid-ampgate/480) with `fluid.ampgate~` vs `fluid.ampslice~` is that you no longer have the relative envelopes. So you have to rely on absolute thresholds, which are great for some stuff, but not others.

---

<div class="post-metadata">

**Author:** ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)\
**Post date:** [January 25, 2021, 3:37pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/6 "2021-01-25T15:37:06Z")

</div>

I think @tutschku and @weefuzzy will like that example very much!

---

<div class="post-metadata">

**Author:** ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)\
**Post date:** [January 25, 2021, 3:38pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/7 "2021-01-25T15:38:11Z")

</div>

but your ramps are wayyyyyy too quick (these are in sample you know) so on real signal you’ll need to have a little more smoothness. The drums examples are good to see that.

---

<div class="post-metadata">

**Author:** ![balintlaczko](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/balintlaczko/32/1184_2.png) [@balintlaczko](https://discourse.flucoma.org/u/balintlaczko)\
**Post date:** [January 25, 2021, 4:01pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/8 "2021-01-25T16:01:59Z")

</div>

> [@tremblap](#):
>
> but your ramps are wayyyyyy too quick

Yeah I know, this is just a “very didactic” (and otherwise useless) example I made for myself. I wanted the points to go exactly at the start and end (for visual satisfaction, and because of ocd), that’s why the ramps are 1. But I’ll set up a slicer patch for some real-world signal soon. :))

> [@rodrigo.constanzo](#):
>
> you no longer have the relative envelopes

Yeah, good point! I actually only need this for silence removal (something like the dynamic split in reaper), for that it must be perfect.

---

<div class="post-metadata">

**Author:** ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)\
**Post date:** [January 25, 2021, 4:20pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/9 "2021-01-25T16:20:10Z")

</div>

> [@balintlaczko](#):
>
> > [@rodrigo.constanzo](#):
> >
> > you no longer have the relative envelopes
> 
> Yeah, good point!

Actually you still have them: you just need 2 passes if you want on/off and then cut the slices further with the relative object (which also has a floor). Have fun with a similar toy example with ampslice and you’ll discover a fantastic detrender.

---

<div class="post-metadata">

**Author:** ![rodrigo.constanzo](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/rodrigo.constanzo/32/12_2.png) [@rodrigo.constanzo](https://discourse.flucoma.org/u/rodrigo.constanzo)\
**Post date:** [January 25, 2021, 4:54pm UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/10 "2021-01-25T16:54:02Z")

</div>

> [@tremblap](#):
>
> Actually you still have them: you just need 2 passes if you want on/off and then cut the slices further with the relative object (which also has a floor). Have fun with a similar toy example with ampslice and you’ll discover a fantastic detrender.

By this do you mean running them in parallel and then filtering one set by the others? From what I remember (it’s been a while since I mess with these) was that I couldn’t have `fluid.ampslice~` behavior _and_ “offs” from the same onsets.

---

<div class="post-metadata">

**Author:** ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)\
**Post date:** [January 26, 2021, 9:10am UTC](https://discourse.flucoma.org/t/slice-with-removing-silence/757/11 "2021-01-26T09:10:18Z")

</div>

> [@rodrigo.constanzo](#):
>
> By this do you mean running them in parallel and then filtering one set by the others?

I meant in his case, which is offline, so in series: you create slices with ons and offs, then you can see if they will subdivide with detrending.
