JavaFAQ Home » Sound, multimedia
Question: I just starting with Java and going to develop a class that
will give reverberation effect to my game. Where should I start - to create
physics model or search for some already written code?
Answer: You should always start from Java API! It is not big secret
that Java grows fast and while you, for example spending time with sockets
programming, another guys spending theirs time on API improvement.
I advise you - always
firstly look at Java API, secondly look at my tips
Then look at outstanding articles of Dr. Kabutz (see announcement below)
And just after that go http://java.sun.com and finally
reverberation class is already developed and can be found in Java since 1.3 It
offers wide range of effects from garage to closet.
"Depending on the size of
the room, and how absorbent or reflective the materials in the room's surfaces
are, the sound might bounce around for a long time before dying away.
parameters provided by ReverbType consist of the delay time and intensity of
early reflections, the delay time and intensity of late reflections, and an
overall decay time. Early reflections are the initial individual low-order
reflections of the direct signal off the surfaces in the room. The late
Relections are the dense, high-order reflections that characterize the room's
reverberation. The delay times for the start of these two reflection types give
the listener a sense of the overall size and complexity of the room's shape and
contents. The larger the room, the longer the reflection delay times. The early
and late reflections' intensities define the gain (in decibels) of the reflected
signals as compared to the direct signal. These intensities give the listener an
impression of the absorptive nature of the surfaces and objects in the room. The
decay time defines how long the reverberation takes to exponentially decay until
it is no longer perceptible ("effective zero"). The larger and less absorbent
the surfaces, the longer the decay time.
The set of parameters
defined here may not include all aspects of reverberation as specified by some
systems. For example, the Midi Manufacturer's Association (MMA) has an
Interactive Audio Special Interest Group (IASIG), which has a 3-D Working Group
that has defined a Level 2 Spec (I3DL2). I3DL2 supports filtering of
reverberation and control of reverb density. These properties are not included
in the JavaSound 1.0 definition of a reverb control. In such a case, the
implementing system should either extend the defined reverb control to include
additional parameters, or else interpret the system's additional capabilities in
a way that fits the model described here.
If implementing JavaSound
on a I3DL2-compliant device:
Filtering is disabled
(high-frequency attenuations are set to 0.0 dB)
Density parameters are set to midway between minimum and maximum"
The table that shows what
parameter values an implementation might use can be found in Java API.
Our older tips: March 22, 2001 - October 21, 2002
All published and not published on the site tips read
Printer Friendly Page
Send to a Friend
Search here again if you need more info!