Google Answers Logo
View Question
 
Q: Signal Noise when processing audio bytes - using Java Sound ( No Answer,   1 Comment )
Question  
Subject: Signal Noise when processing audio bytes - using Java Sound
Category: Computers > Programming
Asked by: surbob-ga
List Price: $2.00
Posted: 01 Aug 2002 23:51 PDT
Expires: 31 Aug 2002 23:51 PDT
Question ID: 48423
Hi,

I am developing an audio application using Java Sound On Solaris. When
i apply special effects (like echo, reverse, increasing volume etc.),
the background noise of the wave file increases. I found that it is
caused due to byte manipulation.

I read bytes from AudioInputStream, apply the effect
(increasing/decreasing the byte value...) and create AudioInputStream
from resultant bytes for playback.

There are suggestions to use Noise Reduction Algorithms. 

Suggest a method to get rid of this noise (programatically) or how to
apply noise reduction algorithms in my application.

Thanks,
Suresh

Request for Question Clarification by alienintelligence-ga on 02 Aug 2002 00:10 PDT
Hi surbob,

Would you be able to provide a graphic
representation of the noise? Or is it
"whatever noise is present" gets incresed?

Is it full spectrum noise? Could it be
slot-filtered out? Does the noise increase
the same amount with every processing iteration?

What is the quality range of the output audio?
AM, FM, CD? Output sample frequency? 

Have you attempted this on different
equipment to see if the same thing happens?

Can you manipulate the original S/N ratio
so there is more of the desired signal to
go around?

I was reading over this webpage, and it seems
you have a good range of control over the 
audio:
[ http://java.sun.com/j2se/1.4/docs/guide/sound/programmer_guide/chapter6.html ] 

It got me to thinking...
Can you put some digital 'black bits'
at some point in the audio signal and
use that as a baseline for the increase
and 'type' of noise? 

let us know,
thanks
-AI

Clarification of Question by surbob-ga on 02 Aug 2002 07:01 PDT
Thanks for considering the question.

The source file is a standard file which gets installed with Creative
SBLive card (Ctmelody.wav or The Microsoft Sound.wav or consider any
other audio file). There is no noise in the source file.

I am using Java Sound (on Solaris platform). 

The steps to be followed are as follows:

1. Create AudioInputStream from the chosen file 
2. Read bytes from the audioInputStream (returns byte[])
3. Apply the effect (say, increasing volume/value of bytes) on the
byte[]
4. Again create audioInputStream from the resultant file which
contains modified data.
5. The noise is heard when the file is played back.

- Noise is audible with files of any format (48, 44, 22, 11.5 or 8KHz
and both with 8 or 16 bit)
- The noise floor is raised by at least 20dB after any DSP operation
takes place
- Signal data is mixed with noise that's why iam not able to trace out
the noise spectrum.
- The noise increases with every processing iteration. 

Can u please let us know your mail id so that i can attach the source
file as well as the Transformed file so that you can find out the
difference between the two files.

Thanks
Suresh

Request for Question Clarification by alienintelligence-ga on 02 Aug 2002 16:00 PDT
Hi, thanks for the reply surbob...

I don't believe we are allowed to give 
out our email here (plus it wouldn't 
be prudent to give the whole net my
email address, hehe).

Can you put it up on a webpage maybe?

-AI

Clarification of Question by surbob-ga on 03 Aug 2002 01:41 PDT
Can u please specify how i can attach the source wave file and the
transformed file so that u can listen them on some standard player and
find out the (noise)difference between the two files.

I got few suugestions from other people for decreasing/avoiding noise:

1. using "Dithering" technique
2. Using Filters and
3. Using Noise Reduction Algorithms

But i have no idea how to use these. Can u please help in any of these
ways.

Thanks
Answer  
There is no answer at this time.

Comments  
Subject: Re: Signal Noise when processing audio bytes - using Java Sound
From: bribold-ga on 15 Aug 2002 09:03 PDT
 
Hi surbob,

A couple of simple things strike me, before you go applying any major
noise processing filters! (this is off the top of my head)

1. In the stack of effects you are applying, perhaps the first is an
amplifier. If so, it is the most basic and common source of noise.
Amplifying a digital signal by manipulating the bitstream will
inevitably cause distortion (the noise) as there is a limit to how
much "strength" you can give the signal. This can cause distortion
even at a low analog volume (your speakers turned down low) depending
on your sound card.

2. You're out of sync with the sample size. You are, in effect,
applying your effects to the wrong parts of the digital waveform. In
8bit sampling, altering bytes is ok, but 16bit or 12bit must be dealt
with in whole 16bit or 12bit values or you'll massively distort the
waveform by altering the high bytes of those values.

..I think..

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy