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
|