Clemens,
I respect your options and appreciate your time, but from what I have read,
for a U8 format, silence is represented by a x'7F'. Do you have a source for
your option?
In pcm_misc.c seems to support your statement:
static struct pcm_format_data
pcm_formats[SNDRV_PCM_FORMAT_LAST+1] = {
.
.
[SNDRV_PCM_FORMAT_U8] = {
.width = 8, .phys = 8, .le = -1, .signd = 0,
.silence = { 0x80 },
So I guess I need to make my filter flexible to match the current hardware
device driver?
How would you filter out noise? I am new to these interfaces and would like
to find a good place to get more information about filters, noise, etc. Any
URLs that you could recommend?
Thanks again for your time.
William Estrada
MrUmunhum(a)popdial.com
Mt-Umunhum-Wireless.net (
http://Mt-Umunhum-Wireless.net )
Ymessenger: MrUmunhum
Clemens Ladisch wrote:
william estrada wrote:
I think I have found a problem with the USB sound
driver? It appears
that the current drive returns a x'81' for silence but it should be a
x'7f'.
The USB audio driver returns whatever data is sent by the device
When I use my laptop's sound device and
record without a mic, I get
a file full of x'7f's. If I do the same with my cheap-o USB device
I get a file full of x'81's.
For unsigned 8-bit samples, silence is x'80'.
Apparently, both devices have some DC offset and are quite noisy.
I have written a recording program that I have a
'silence' filter
that filters out segments of dead air. It works with the laptop's
sound device but not the USB device. The filter works by remove
x'7f's after allowing a selectable amount.
Your filter should be able to detect silence even when noise is present.
Sorry for the multiple posting, not sure where is
should have gone.
The the linux-audio-dev list, of course. ;-)
Regards,
Clemens