beatwaves.net

The true nature of silence

The title of this blog entry refers to a feature I implemented for Ardour this week, which caused a lot of discussion. The feature is trimming silence from export products, and the question is how to define silence. A pretty good definition is "a short period of a signal with a low enough RMS value". (skip the next chapter if this doesn't sound interesting ;)

The above mentioned definition is needed because absolute silence is very rare in real life situations, and it implies setting two parameters: a threshold for the RMS value and a length for the period. Setting the threshold level is pretty straightforward, but the period length is a bit more complex. The length of the period depends on the lower bound of the bandwidth you consider relevant. To get a reliable measurement, the period length should be at least half of the wavelength of the lowest frequency. This would mean 1/20 seconds for a lower bound frequency of 10Hz, which is pretty reasonable. If more accuracy is required the measurement could be done with a sliding window, but this would mean much heavier processing.

Anyway, what I ended up implementing doesn't include any of the above, but only trims all the zero valued samples from the beginning and end of the export product. The reasoning for doing the simpler implementation is the fact that doing something more complex should be done in the editor, not in the export dialog. This will keep the export dialog cleaner and allow more precise editing in the editor. However, this more sophisticated silence trimming will some day most probably be implemented as an editing feature in Ardour.

And last but not least a brief status report:
So far this week I have finalized the structural changes I started last week and implemented normalizing and trimming silence from export files. Next I should do adding silence to the beginning and end, and then move on to next weeks tasks.

Comments

Let the user choose

How about letting the user choose his definition of silence. I am thinking about the strip-silence function in Apples Logic. There you can set the threshold and the time distance to the last/next 'not silent' signal.
And yeah, it would need some processing, but is this really an issue when exporting the files?

Re: Let the user choose

The biggest problem here is not the processing, but the fact that the export dialog should be kept simple enough. If you have taken a look at Thorsten Wilms' document on the export dialog redesign you will notice it has quite a bit of options in it already.

Surely, if and when silence trimming is implemented as an edit feature we will give more control to the user. A fade out is actually mandatory when using a threshold level to make a smooth transition from the threshold value to silence.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
(minus four) plus (minus ten) equals
Solve this math question and enter the solution with digits. E.g. for "two plus four = ?" enter "6".