Take the 2-minute tour ×
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

Something related

Here are the spectrogram plots:

Matlab version:

enter image description here

Audacity version:

enter image description here

the darker parts towards the right of the figure show speech. Silence was added to the left of the figure in audacity. This silent portion does not show any thing in the spectrogram as plotted by audacity which is as expected. but the same silence portion is covered with blue dots in case of the matlab plot. Why didn't Matlab plot it with all white (since it is silence added through software and is not supposed to have any energy)?

---EDIT: response to pichenettes' answer ---

I think you are right about the first explanation

The previous spectrogram was obtained by changing the time domain wave form view into spectrogram view immediately after I added silence. Actually in my case I had added silence at the end of the file to make it's length exactly equal to 2500ms, then cut and pasted to the beginning. So in my case it actually did show the time domain waveform of silence as well after insertion. But it seems that it does not actually include the 0's of silence in the wavfile until I export it. When I see the spectrogram of the wavfile after an export and a re-import, I an see blue dots in the audacity version as well

enter image description here

And teh difference in colour is probably due to the difference in colour palettes used, as pinchette had pointed out in his other answer

share|improve this question

1 Answer 1

up vote 3 down vote accepted

I see two possible explanations.

Explanation 1:

Audacity is a non-destructive/non-linear audio editor. It primarily manipulate edit decision lists of audio signals, rarely the signals themselves. So when you nudge a block of audio 1.4s to the right, it does not fill the gap with 0 (silence). Instead, it just stores somewhere "this block plays 1.4s from the beginning of the timeline". For example, I have created here a 30s sine wave tone and nudged it at time offset 27s. Notice that the gap between the origin and the waveform is empty rather than showing a flat line indicating a 0 amplitude.

Audacity is a non-linear audio editor

Now, if you apply the "Mix and render" command, all editing and mixing commands will be actually performed on the signal.

Explanation 2:

Digital silence is a sequence of 0. This causes a problem during the computation of the spectrogram because this involves the computation of log (0) to get to the dB scale. Audacity might use a special color in its palette for digital silence; while matlab might add a very low noise.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.