Screencast from 2025-04-07 09:10:17 PM.webm# AudioWaveSimCPP
AudioWaveSimCPP is an advanced acoustic wave simulation tool originally developed to support research in sound-based localization techniques. This C++ application models the complex dynamics of sound wave propagation in air, providing researchers with a robust platform for investigating acoustic phenomena.
This simulator was created to:
- Model acoustic wave propagation in various environments
- Visualize complex sound field interactions with obstacles
- Provide a testbed for algorithms that determine sound source location
- Support research in acoustic-based localization and mapping
- Real-time Wave Physics Simulation: Accurately models sound propagation, reflection, diffraction, and interference
- Configurable Environment Builder: Easily adjust simulation parameters and environmental conditions
- Multi-source Support: Simulate multiple sound emitters with customizable frequency and amplitude
- Obstacle Integration: Model wave interactions with barriers of varying acoustic properties
- High-performance Computation: Optimized C++ code for efficient simulation of complex wave dynamics
- Visual Analytics: Dynamic visualization of wave propagation for intuitive understanding
- Modern C++ Implementation: Leverages C++17/20 features for clean, efficient code
- Object-Oriented Architecture: Modular design for extensibility and maintenance
- Wave Equation Solver: Implements numerical methods for solving the acoustic wave equation
- Multi-threading: Parallel processing to accelerate simulation calculations
- Cross-platform Compatibility: Developed with portability in mind
Screencast from 2025-04-07 09:10:17 PM.webm

To build AudioWaveSimCPP, follow these steps:
-
Clone the Repository
Ensure you clone the repository with submodules to include all dependencies:git clone https://github.com/drewsipher/AudioWaveSimCPP.git cd AudioWaveSimCPP git submodule update --init --recursive -
Install Dependencies
Make sure you have the following installed:- A C++ compiler supporting C++17 or later (e.g., GCC, Clang, or MSVC)
- CMake (version 3.15 or higher)
- Make or Ninja (build system)
-
Build the Project
Run the following commands to configure and build the project:mkdir build cd build cmake .. cmake --build .
-
Run the Application
After a successful build, the executable will be located in thebuilddirectory. Run it as follows:./AudioWaveSimCPP
To use AudioWaveSimCPP, follow these steps:
-
Create Sound Sources
Use the mouse to click within the simulation area to create sound sources. -
Adjust Parameters
Before creating sound sources, adjust their properties such as amplitude, frequency, and pulse length (number of pulses) using the parameter panels. -
Start the Simulation
Press the Start button to begin the simulation. -
Pause the Simulation
Press the Stop button to pause the simulation. -
Reset the Simulation
Press the Reset button to clear the simulation and start over.
- Machine learning components for automated pattern recognition
- Doppler effect simulation for moving sources and receivers
- Better creation tools for more complex scenes.
This project is not actively maintained. Feel free to fork or suggest changes.