Class AcousticRayTracer

java.lang.Object
org.episteme.social.architecture.AcousticRayTracer

public final class AcousticRayTracer extends Object
Simplified acoustic simulation tool for modeling sound propagation and reverberation in architectural spaces using ray tracing concepts.
Since:
1.0
Version:
2.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final record 
    Represents a single sound ray in terms of geometry and energy.
    static final record 
    Detail of a sound reflection off a surface.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Real
    airAttenuation(double distance, double alpha)
    Estimates sound attenuation due to air absorption over a specific distance.
    static Real
    calculateSabineRT60(double volume, double surfaceArea, double avgAbsorption)
    Calculates the Sabine Reverberation Time (RT60), which is the time required for sound to decay by 60 decibels.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • airAttenuation

      public static Real airAttenuation(double distance, double alpha)
      Estimates sound attenuation due to air absorption over a specific distance. Uses the formula: I = I0 * exp(-alpha * d)
      Parameters:
      distance - distance traveled in meters
      alpha - absorption coefficient of air (varies with humidity/temp)
      Returns:
      attenuation factor (0 to 1)
    • calculateSabineRT60

      public static Real calculateSabineRT60(double volume, double surfaceArea, double avgAbsorption)
      Calculates the Sabine Reverberation Time (RT60), which is the time required for sound to decay by 60 decibels. Uses the formula: RT60 = 0.161 * V / (S * alpha_avg)
      Parameters:
      volume - total room volume in cubic meters
      surfaceArea - total internal surface area in square meters
      avgAbsorption - average absorption coefficient of all surfaces
      Returns:
      estimated RT60 in seconds