1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
//! # Goonj
//!
//! **Goonj** (गूँज — Hindi/Urdu for "echo, resonance") — acoustics engine for
//! the AGNOS ecosystem.
//!
//! Provides sound propagation, room simulation, ray-based acoustic tracing,
//! impulse response generation, diffraction, and resonance analysis.
//! Built on [`hisab`] for math.
//!
//! ## Example
//!
//! ```rust
//! use goonj::{propagation, impulse, material::AcousticMaterial};
//!
//! let speed = propagation::speed_of_sound(20.0);
//! assert!((speed - 343.4).abs() < 0.1);
//!
//! let rt60 = impulse::sabine_rt60(500.0, 50.0);
//! assert!(rt60 > 0.0);
//! ```
/// Ambisonics encoding (1st-order B-Format and 3rd-order HOA).
/// Room acoustics analysis metrics (C50, C80, D50, EDT, G, ts, LF, IACC, STI).
/// Beam tracing — volumetric sound propagation without sampling artifacts.
/// Binaural impulse response generation with HRTF spatialization.
/// Cross-crate bridges — primitive-value conversions from other AGNOS science crates.
/// Coupled room acoustics — multi-room energy exchange and double-slope decay.
/// Dark Velvet Noise reverb — non-exponential late reverberation from sparse stochastic pulses.
/// Edge diffraction loss and occlusion detection (UTD, BTM).
/// Stochastic ray tracing (diffuse rain) for late reverberation tails.
/// Acoustic diffusion equation — energy density PDE solver.
/// Source directivity patterns (omnidirectional, cardioid, tabulated balloon data).
/// 3D rectilinear Digital Waveguide Mesh — wave-based room acoustics (Smith / Van Duyne).
/// Error types for the goonj crate.
/// Feedback Delay Network (FDN) for efficient late reverberation synthesis.
/// 2D FDTD modal solver for low-frequency room acoustics (Botteldooren 1995).
/// Green's Function Parabolic Equation outdoor propagation over terrain.
/// Hybrid frequency crossover — blending wave-based and geometric results.
/// Image-source method for exact early specular reflections.
/// Impulse response generation, RT60 estimation, and energy decay curves.
/// Integration APIs for downstream consumers (dhvani, kiran, soorat).
/// Acoustic materials with frequency-dependent absorption, scattering, and transmission.
/// Acoustic metamaterials — engineered structures with frequency-dependent effective parameters.
/// ISO 9613-2 outdoor sound propagation methods.
/// Portal-based sound propagation through openings between rooms.
/// Sound propagation: speed of sound, inverse square law, Doppler, atmospheric effects.
/// Acoustic radiosity — energy exchange between surface patches.
/// Acoustic ray tracing: single-band, multiband, BVH-accelerated.
/// Room resonance modes, Schroeder frequency, and modal density.
/// Room geometry, walls, and acceleration structures.
/// Vector-based scattering for diffuse reflections (cosine-weighted hemisphere sampling).
/// Universal Diffraction Filter Approximation (UDFA) for real-time diffraction.
/// Underwater acoustics — ocean sound speed, seabed reflection, absorption.
/// Vibroacoustics — structural vibration to acoustic radiation coupling.
/// WAV file export (16-bit PCM, mono/stereo).
/// Tracing subscriber initialization.
pub use ;
pub use ;
pub use AcousticMaterial;
pub use ;
pub use ;
pub use ;
pub use ;