The most likely explanation is that the “silences” are not “absolute silence”.
“Detach at Silences” only works if the silence is absolute - “very very quiet” is not quiet enough.
Here’s the confusion (for me). There are two “Detach at Silences” Edit menu options. One is for labelled tracks and it’s found under “Edit → Labeled Audio → Detach at Silences”. That one is mapped to Alt+Shift+J. The other one is under “Edit → Clip Boundaries → Detach at Silences”. The latter has no keyboard binding by default, even though it’s the one that’s easier to use.
The latter does work with Audacity 3.1.3 (named) clips e.g. as follows: generate a tone, select some middle chunk of it, then generate silence there. Select the whole thing again and “Clip Boundaries → Detach at Silences” will work, meaning you’ll get two clips that each spans just the non-silences.
You can easily slide these resulting clips around, although you can’t slide them into each other with auto-magic crossover as in some more expensive programs like Audition.
In Audacity, to use the (first) variant of “Detach at Silences” that’s mapped to a key binding, you must first generate a label track. So assuming you’ve done the setup from the previous para up to the point where you have a single clip with a silence in the middle, then you must do “Analyze → Label Sounds”. But even with that bit done (correctly?) and the label track selected as shown below
“Labeled Audio → Detach at Silences” still won’t do anything. “Labeled Audio → Detach at Silences” is disabled in the menu unless you have a label track selected but even with a labelled track selected, “Labeled Audio → Detach at Silences” seems to do absolutely nothing.
But at least “Labeled Audio → Split” does work with the above setup. Again, this should not be confused with the similarly named “Clip Boundaries → Split” (which has Ctrl + I as shortcut). “Labeled Audio → Split” will actually produce clips for the silences too, with the above example.
As an amusing aside perhaps, the latter result is impossible to get in Audition without some CEP scripting, so not everything is easier in more expensive programs. Keeping the original silences around for reference regarding their length is useful in some workflows.
Also, I think it would be useful in Audacity to have the Labeled Audio equivalent of “Clip Boundaries → Split New”, which in difference to Ctrl+I Split bounces the split clip to its own track. For Labeled Audio that (presently missing) “Split [to] New [Track]” would be even more useful because it would bounce multiple clips (of the same kind) to a different track, saving a lot more clicking than what “Clip Boundaries → Split New” does, which only splits one clip, based on the current selection. Ok, I can see how to do that now: “Labeled Audio → Split Cut”, create new audio track, then paste. Not too bad in terms of clicking overhead, but less intuitive than Split New.
By the way, this is almost workaround for the presently non-working “Labeled Audio → Detach at Silences”. I mean if you could “Labeled Audio → Split Cut” and then paste back over the same track, you’d conceptually get the same result, but that’s not allowed:
So you have to do it with an intermediate step like below where you paste into a new track what was Split Cut.
And then delete the original track. Assuming you want to bother at all with label tracks, which for shrinking (absolute) silences alone isn’t really worth it anymore in 3.1.3. (Speaking of which, in Audition you also get a helper panel that does just that, i.e. shrinks all silences by some amount.)
That’s a bug. None of the “Labelled Audio” commands seem to work in Audacity 3.1.3.
I logged it here: "Labeled Audio" commands fail when audio selected · Issue #2278 · audacity/audacity · GitHub