Why Symphonic-Joules?
🌉
Bridge Science & Sound
Unified framework connecting audio analysis with physics-based energy calculations directly in Python.
🧩
Open & Extensible
Build on acoustic energy models with a modular, plugin-friendly architecture designed for scale.
🔬
Science-Driven
Every calculation is strictly grounded in established physics principles and peer-reviewed acoustic methods.
🤝
Built for Collaboration
Designed for musicians, physicists, researchers, and developers to work seamlessly together.
The Physics
Governing how sound carries energy through space:
w = p² / (2ρc²) + ρv² / 2
w = acoustic energy density (J/m³)
p = sound pressure (Pa)
ρ = medium density (kg/m³)
c = speed of sound (m/s)
v = particle velocity (m/s)
p = sound pressure (Pa)
ρ = medium density (kg/m³)
c = speed of sound (m/s)
v = particle velocity (m/s)
The Code
from symphonic_joules import AudioSignal, EnergyCalculator
# Load an audio signal
signal = AudioSignal.from_file("symphony.wav")
# Calculate acoustic energy
calculator = EnergyCalculator(
medium_density=1.225,
sound_speed=343.0
)
energy = calculator.compute_total_energy(signal)
print(f"Total Energy: {energy:.6f} J")