silence detection in java

hi guys,

could any one help me on silence detection i will be very thank ful

thx in adavance

You… check for the silence(!)… and then gasp do the stuff.

::slight_smile:

Seriously, if you want usefull answers you should provide all the details you can get.

Ah well… I tell you this… there are two kinds of “silence”. Digital absolute - there is nothing - silence and sound from let’s say line-in or a mic and there is no real noise. The former is easy to ckeck and the latter needs to be some kind of fuzzy conditions. So instead of checking for a zero volume you check for let’s say a volume wich is lower than 5% (or any other treshold).

Whenever the one or the other type occurs you set a marker and if it lasts for a specific timespan you found a pause/silence.

hi,

infact i am making a system, in which i will detect is clients mic is connected.

for that i have to check silence for some seconds.

if for that time i didnt get any signal thus i will give message of “mic unplug”.

i am capturing data in bytes.

now wat u suggest?

Check that the amplitude of the input data does not exceed some threshold for N samples where N is based on the duration of silence your are trying to detect.

What is hard about this? Am I missing something?

i am receiving data in bytes and how i configure the amplitude bcz it shows differernt values for same scenario.

if i got the value of byte for silence it would be very ease.

Are you using 8-bit samples? (Typically these days you use 16-bit audio samples)

You need to know the format you have configured for the audio source.

E.g. signed vs. unsigned (w. offset), 8 or 16 bit.

Then it is easy. for signed data silence is near 0, for unsigned data silence is near the middle of the range. Because of noise you will need to consider a band around the true silence value to be silence.