Sound/Silence Finder enhancements

Please vote for all the proposed enhancements that you are in agreement with.

If you disagree with any of the proposed points, please say why.

Ultimately I’d like to propose removing one of these effects and replacing it with a more advanced sound finder but this poll is specifically about improving Silence Finder and Sound Finder as they exist now.

If you would like to try these proposed enhancements before voting, install the attached plug-ins (download and copy into the Audacity plug-ins folder, then restart Audacity.
The plug-ins will appear as “Silence Finder 18-5-2012…” and “Sound Finder 18-5-2012…” respectively.

[poll deleted]
SilenceMarker_18-5-2012.ny (5.04 KB)
SoundFinder_18-5-2012.ny (6.11 KB)

When there is a long trailing silence, SilenceFinder adds a label after the final sound.
The position of this final label looks odd to me as all of the other labels are relative to the end of the silence, but this one is relative to the beginning of the silence :confused:

Is that label really required or could it be removed?

One other change that I have made is to prevent labels extending before the start of the selection.
If the label placement is before the start of the sound then labels may (in the current Audacity version) extend back into “negative time” (before zero) which I don’t think is a good behaviour.

Feel free to vote on this feature also (the poll will only accept 10 items so just add your comments/vote for this feature in a reply).

Yes, but that label is different as the “Label placement” control does not affect it. I think the last label is useful in removing most of the silence that would otherwise come after the last track on an album (at the expense of producing a redundant file if you export multiple). I wouldn’t want to remove the last label without an option to keep it.


Regarding peculiar placement of label in trailing silence:

this “feature” is not currently documented as far as I can see

It does so by creating a redundant silent file. The redundant file is not simply a byproduct, it is the mechanism for trimming silence from the end and the way that it does so is contrary to the description in the GUI.

The GUI has a control “Label placement [seconds before silence ends]” but if there is trailing silence longer than “Minimum duration of silence” then a final label is added that is not the set number of seconds before silence ends. In other words, it may do something sensible, but it does not do what it says on the tin, so in one way or another there is a bug here.

An option to “label trailing silence” would be one solution. The manual could then explain how that final label is placed if enabled.

Copied from :

“Yes, but I think new users will have much more trouble with marking sounds than silence. They can understand placing a marker to split in silence.”
The current “Silence Finder” is possibly misnamed.
The silences are “marked” (as in the file name “SilenceMarker.ny”) but (apart from a label in trailing silence, if present) the labels are not created by finding silence but by finding sounds.

   ;If this sample is NOT silent and the previous samples were silent
   ;then mark the passage.
   (if (and (> v thres) (> sil-c sil-length))
 	  ;Mark the user-set number of seconds BEFORE this point to avoid clipping the start
 	  ;of the material.
    (add-label (- (/ n s1-srate) labelbeforedur) "S")

After detecting the start of the sound, a label is created at “labelbeforedur” seconds earlier than the onset of the sound.
In most common cases these labels will occur during silences, but this is not necessarily the case, for example:

  • Minimum duration of silence = 0.1
  • Label placement = 1.0

The first label is placed within a sound, not within a silence.
The second label is placed within a silence, but the “wrong” silence.
I’m not suggesting that this is a bug (garbage in, garbage out), but it is not actually “marking silences”.

This code also provides an explanation of why the default label position is not zero:

As per “proposed enhancement 2” (Bug Fix. Label positions are currently about 0.01 seconds late. (It is not possible to make the label positions exact without making the plug-in much slower, but it is possible to improve accuracy and ensure that the label positions do not trim the sound.), setting the label position 0 seconds “before silence ends” can actually cause the labels to occur after the silence ends, thus clipping the start of the material. A non-zero default is a workaround for this (imo) “bug”.

“They can understand placing a marker to split in silence.”
but with the current implementation they may be misunderstanding.

If the plug-in is intended to mark silences, then it should “mark silences” - the labels should always occur within the silence to which they relate.
If the plug-in is intended to do what it currently does (mark a point before the start of a sound) then the name “Silence Finder” and the description in the manual are misleading as they imply that the plug-in finds and labels silences, which is not how it works and in some cases not what it does.

“Many will be looking for Silence Finder because hardware documentation has referred to it for years (and probably will do so for many years yet).”
Isn’t that a red herring? Obsolete third party documentation has never stopped Audacity from progressing and imho should not do so (otherwise we would still have Audacity 1.2.x). There’s plenty of third party documentation still in circulation that refer to “Audio I/O” preferences.

“I think the bug fixes should be implemented. They should not be something for users to vote on unless the bug can be viewed as a “feature”.”
I agree that they should be implemented, but I included them in the vote options just in case anyone wanted to argue that they are “features”.


  • Silence Finder is not actually a silence finder but a sound finder that uses point labels before the sound.
  • If we want a real “Silence Marker” then the current plug-in does not do that and needs to be replaced with a plug-in that does mark silences.
  • If we want to keep the current “Silence Finder” effect then imo it needs the proposed bug fixes and should not be called “Silence Finder” → If it is not called “silence finder” then it could easily have “region labels” added as an option.

Concerning “old manuals”, there is probably some analogy between “Audio I/O” and “Devices” in a new user’s mind, but not much between a Sound Finder and a Silence Finder which will naïvely be seen as opposites.

I don’t think the fact that Silence Finder tries to label silences by detecting sounds is a serious confusion, and I am sure it was named as it was to be more understandable.

Clearly (on a small number of FR votes) a number of people have asked for “minimum distance between labels” in Silence Finder but until yourself I don’t recall anyone asking for sound regions to be marked in it. I’m still very sceptical about adding sound regions to Silence Finder.


I’m kind of surprised the “surplus” file creates little reported confusion, but if I’m correct that it doesn’t, it may be better to document it rather than remove the feature or add a new control when we are trying to keep the effect “simple”.

This could be done in the plug-in by adding an ;info line statement. It could also be done by adding “except the last” to the text for the existing control, though that would look better as a v3 plug-in.

It could be done (I assume away programming issues) by a single control that (tried to) “retain a minimum amount of silence after the preceding sound”. This would then apply to the last label too, although the calculation would be different. This may be hard to get across to users as wording, but I figure it’s the unstated aim which is not actually followed through by what the last label does.

I also note that if Export Multiple had a control not to export the final label, the “problem” would be solved. I would rather lobby for that than remove the final label.


I’ve not seen anything to support the first statement (there’s several forum posts asking “where is Audio I/O”).
The second point could possibly be resolved by calling the effect “Silence/Sound Marker”.

Personally I’m not happy about an effect not doing what it says, even if there is little complaint about it. If it doesn’t do what it says then either it should change what it says, or change what it does. Feedback from waxcylinder and Bill suggests that “advanced” users rarely use these effects, which may account from the lack of complaint.

I doubt that naive users really understand what Silence Finder does, but rather blunder through with it until they achieve a result that is close enough. I did not know what was happening with trailing silence until I looked at the code so I doubt that many new users will.

My reasoning for adding sound regions to the (so called) Silence Finder is so that the main (basic) features of both Sound Finder and Silence Finder will be available in one simple effect. The reason that Jeremy R. Brown wrote Sound Finder was to provide “sound region” marking (which had not been available in Audacity 1.2.x) . It is not surprising that no one has asked for sound region labels in silence finder as that functionality already exists in Sound Finder.

I’m slightly negative about adding “minimum distance between labels” in Silence Finder. I’d rather see an option for point labels and region labels in one effect.

I thought that you were against documentation in the ;info, preferring an interface that is more consistent with built-in effects. I agreed with you, on the basis that bundled plug-ins are documented in the manual.

I don’t like the idea of a control called anything like
Label placement, except for last label (seconds before silence ends):
(it’s too long imo).

This is doable. Not only could it “try” to do it, it “could” do it (in all cases).
Label generation is not limited to the selection size so an “End Label”, or “Final Label” could always be added. Thus the single control could be as simple as
Add final label:
Add end label:

The manual would then explain that:
When selected, this options adds a label after the final sound finishes. The distance after the final sound is the same as the “Minimum duration of silence” that has been selected.

The manual will need to have something similar to this whether or not it is a user option, because this is what Silence Finder currently does.

We recently agreed that how complicated a plug-in appears to be is an important consideration, so here’s a couple of screenshots.
Does one of these look a lot more complicated than the other?
For the second interface,

What to label: [Silences or Sounds] default = Silences
Threshold Level: [-100 to 0 dB] default = -30 dB
Minimum duration of silence: [0.1 to 5.0 seconds] default = 1.0 seconds
Label placement adjustment: [0 to 1.0? seconds] default = 0 seconds
Add final label: [No or Yes] default = No

Of these I think that the only real complication is the “Label placement adjustment”.
The way that I would like this to work is:

  • When marking silences the plug-in would try to adjust the label this far before the end of the silence, but would always put the label within the detected silence. If the silence is not big enough then it would adjust as far as possible without overlapping either the previous sound or the beginning of the selection. This way it actually does mark the silence.

  • When marking sounds, the plug-in will use a region label that is centred on the sound. The placement adjustment would try to expand the label by adding this amount of space to each end of the sound provided that there is sufficient space to do so but would not overlap labels or the ends of the selection.

For the “Add final label” option we would need to decide how we want to handle this.
What I would suggest (though I don’t yet have a strong view) is that for silences it adds a label at the “allowed silence” after the final sound (as Silence Finder now, but always adds a label when selected) and when labelling sounds it simply adds a label at the end of the selection.

What features are lost?

It is not possible to set different “before” and “after” times for sound labels. Is this a big loss? (This feature is available in the Advanced Sound Finder).

Other issues
We would need to be consistent about whether we are numbering the labels (like Sound Finder) or using a text label (like Silence Finder). I would suggest numbering like Sound Finder.

We could do with better polls. You cannot vote against anything or “mildly” or “strongly” express (dis)appproval.


It would have to be so called if we combined it both into a “simple” effect.

I agree too, but I don’t see it as a priority if people are not complaining. And I certainly don’t see it as a reason to remove the feature.

I suspect beginners would be much more likely to complain because they will be less able to work around issues or things they don’t understand. My perception from feedback@ and mailbox (probably somewhat different clientele to the Forum ) is that many newbies use Silence Finder and few of them use Sound Finder. A reasonable number of newbies try Sound Finder and stumble on it, largely because of the region labels.

Sound Finder is not used a great deal, either by newbies or “advanced” users, but more by the latter.

I think it’s a perception of how “simple” Silence Finder needs to be. My inbox tells me it should be “very simple”. The “advanced” effect will always be more complex, so within reason it doesn’t matter what we do there. It does matter what we do with Silence Finder.

And if we have “Silence / Sound Finder” and then “Advanced Sound Finder” I worry about un-necessarily putting people off using the “Advanced” effect. I think the clearer distinction is “Silence” for one effect and “Sound” for the other, and because “Silence” must be the simpler one it should only offer silence. The fact that Silence Finder actually detects and can include sound is not I think a user-facing problem.

Please say why. Maybe there is an argument against because of making Silence Finder “too complex”, but I think less danger than marking sounds as well in it.

Can people who want “minimum distance between labels” meet all their use cases using Advanced Sound Finder instead?

If it was finding silent regions instead of sound regions maybe it would be less risk, but whichever, these are both already in “Advanced Silence Finder”.

I don’t like it, but it may be better than removing the behaviour or adding a new control for it.

I agree unless someone can think of a much shorter wording.

The point of my suggestion was primarily to avoid adding another control (to keep it “simple”). In that case it would replace “Label placement {seconds before sounds ends]”. You still get the final label (wanted or not) but you have consistent length of silence after the preceding sound, which you now don’t. It can also be additional to a new control that gives an option for no final label.


Silence Finder will “look” more or less as simple (without attempting to read or understand) if the ;info line text is removed.

Once that is done and the new user tries to comprehend usage, I think Silence Finder would prove simpler.

And the first control itself, even if it defaults to “silence”.

How does user know what this length relates to, especially with a choice between Silence and Sound? It’s very clear in Silence Finder.


I’ve dipped into this topic occasionally and have tried to keep abreast of your collective thinking. I agree entirely with Gale’s thinking here.

How the code works “under the covers” is not necessarily of great interest to a newbie user. Their primary concerns are always: “What does this do?” and “How do I make it work?”. So the newbie will always benefit from a clear title (so that “it does what it says on the can!”) and a simple, uncluttered user interface with good Help. By contrast, an advanced user is more likely to welcome lots of options in the user interface (still with good Help) and may take a closer interest in “how it works” in order to maximise their benefit from using it.

As always with my interruptions to established conversations: just a thought…

I agree, but how we describe the effect is most definitely user-facing.

  1. Find a silence and place a marker before the end of the silence.
  2. Find a sound and place a marker before the start of the sound.

These are two ways to describe a similar task, but with some subtle differences.

As far as I’m aware the main intended use of SilenceFinder was/is for splitting long recordings into shorter tracks.
This task allows Export Multiple to export each marked “song” as a separate file, so logically the user is wanting to label the start of the songs (sounds) rather than the end of the silences.

One of the problems with marking silences is that if the first song starts immediately with no leading silence, the first song will be missed.
If the “simple effect” marked the start of sounds rather than the end of silences, this problem does not occur.

Ironically, the way that SilenceFinder works (under the covers) is that it detects sounds, but if there is no leading silence then the first detected sound to be labelled is discarded - exactly the opposite of what most users would want.


I think they are wanting a simple tool that places a point label somewhere sensible that gives them a bit of “silence” between the tracks.

It does also mark the start of sounds (by marking the end of the preceding silence, if there is one).

Yes but is having no leading silence a common case for album recording situations novices would find themselves in?

Even if the user does not change the effect settings, they only need a fraction over 1 second of “silence” to get the first song labelled. And even if that doesn’t happen, Export Multiple has “Include audio before first label” for that very purpose. This is well documented, even in USB device manuals. So I don’t think this is an issue for most users.

I’m all for improvements to Silence Finder if it does not turn into something very different (as the user sees it) to what we have now. I would like some solution to the issue with the last label. I believe the least capable users will struggle with region labels especially if we present a mix of finding sound or silence in the same effect.


I agree that there are workarounds, but that’s my point, Silence Finder is not actually doing what the user wants, or even what users think that it is doing. It is doing something very similar but slightly different. It is these subtle differences that cause the effect to sometimes do the “wrong” thing and so necessitate workarounds.

The start of the problem is in the name “Silence Finder”. The file name is SilenceMarker.ny, which is a subtly different concept from Silence Finder and it is that difference that lies at the root of the problems. The affect attempts to find sounds and then mark the silence preceding the sound, so “Silence Marker” is a description of what the affect tries to achieve. “Silence Finder” is what the effect appears to be doing because the markers will often fall in the gaps between sounds. Another way of looking at the issue is that we have 5 fingers and 4 gaps between those fingers - the gaps are not marked directly, but are marked by by offsetting the position of the fingers.

I think that we get few complaints because, as you say, it is well documented, including workarounds that may be necessary and the issues have only come to light because developing an advanced version required examining the small details of what the effect does. The code in Silence Finder (and Sound Finder) is rather convoluted and it is not easy to work out exactly what it is doing, but when unravelled it is not actually doing what it should be doing or what it implies that it is doing.

With the possible addition of an advanced sound finder I see this as an opportunity to look at the simple version afresh and replace Silence/Sound finder with a new version that does exactly what we want it to do. I’d expect the differences, from a user perspective, between a new version and the current version(s) to be minor, but an improvement on what we currently have.

I think that we are getting to the crux of the matter.
If we define precisely what we want of the “simple” effect then I can write it, but I think that we need to break free in our minds from the legacy of the the current effects.

If we did not have Silence Finder or Silence Marker, then what would be the design specification for this effect?

We want to mark the position a short way before the start of each “song” (bearing in mind that not all music will be “songs”).
We can’t use the term “tracks” because of confusion with Audacity tracks.
We can’t use the term “Silences” because that does not mark the first “song”.
We can use the term “Sounds”, but initially we have a possible confusion because of the legacy of the current effects.
We can’t call it “Track Splitter” because it does not actually split the track, it just adds labels where we want to split.

My preference at the moment would be “Label Sounds”, which I think describes concisely what we want the effect to do while avoiding confusion with the current effects.
Any better ideas?

Possibly Silence Finder without the bugs, that never put a label in a recognised sound due solely to label placement (as opposed to sound detection) issues. How often does it do that?

Possibly a “Track Marker” or “Albums Marker”. I would have liked to call it “Track Splitter” (the relevant FAQ title is "How can I split a long recording into multiple files or CD tracks?) but we have a confusion with splitting to clips. l don’t see a conflict with Audacity tracks, because “Track” is singular. “Track (or Albums) Marker” may mean you can label the start of the sound. A name not starting with “Silence” that is not very strongly suggestive of splitting albums may simply not be discoverable enough. “Label Sounds” is probably not suggestive enough.

There are disadvantages even with a suitably named effect that marks the start of the sound.

  • To save cutting off the start of the sound, we probably want to label just before the start of the sound. Which means we are still labelling in “silences”. :confused:
  • Some users of Silence Finder place labels so as to roughly equalize the “silence” at the start and end of the song. Labelling (just before) the start of the sound might make it harder to grasp how to equalise the silence than presenting a concept that explicitly labels the silence.
  • Giving an option to label “sound regions” may further increase the risk of confusion and may prevent adding other Silence Finder features that are being asked for.

We could possibly solve some of your conceptual problems with Silence Finder by not changing the labelling inside silence behaviour and renaming it to “Silence Marker” as per how the file is named.


With the default settings it won’t but if the minimum duration of silences is reduced (as may be necessary to aid detection) then it could occur quite frequently.

Just a thought, but if we have a “Silence Marker” that always marks within detected silences, how about if the label placement (currently set at x seconds before the end of the silence) was set as a percentage of the silence?

50% = middle of the silence,
10% = near the start of the silence
100% = as close as possible to the end of the silence.


  • Unless the silences are all about the same time, the distance before the next sound will not be constant. Does this matter? Is this a disadvantage or an advantage?


  • The label position would always be within the silence (for values between 0 and 100 %)
  • It is always possible to place the label where specified (not the case for distance in seconds if we prevent labels overlapping sounds).
  • It is likely to give a sensible position to the final label (if trailing silence) without resorting to a “special case rule change”.
  • If it is assumed that recordings always begin at silence (not so illogical as (a) mostly they do, and (b) “instantaneous” sound is a physical impossibility) then placement of a first label before the first sound is always rational and requires no “special case rule change”.

OK so the last point is rather abstract, but I do like the simplicity of a consistent label placement method. If the label placement is set to (say) 50% then it is easy to predict the label positions because they will always be in the centre of the detected silences. With a fixed number of seconds and special rules to handle the first and last labels and now the proposed rule to prevent overlapping sounds it becomes far more difficult to predict where the labels will be placed.

Just a thought.

Please don’t take this personally but, isn’t that taking a rather narrow view of things? “Recordings” might not have instantaneous sound but use of Audacity isn’t restricted to recording. Audacity is also used extensively to edit sound files. If I were to carefully edit a sound file so that it began with a waveform peak, would that not be “instantaneous sound”?

I would have thought your goal should be to handle ALL reasonably foreseeable eventualities. And yes, as an ex-programmer I know just how difficult that can be!

This is an example of what I have meant when, on previous occasions, I have suggested that you, Gale and others are sometimes, perhaps, too close to your work with Audacity. There are times when you seem to get so engrossed in the immediacy of what you are doing that you fail to “stand back and consider the wider picture”.

As I said, this is not personal. I’m suggesting a possible improvement to your process. That, in turn, may lead to further improvement in your product.