├── example1
├── click.wav
└── example1.blend
├── example3
├── plop.wav
└── example3.blend
├── testbench
└── RT60.blend
├── example2
├── door
│ └── door.wav
├── example2.blend
├── steps
│ ├── step-01.wav
│ ├── step-02.wav
│ ├── step-03.wav
│ ├── step-04.wav
│ ├── step-05.wav
│ ├── step-06.wav
│ ├── step-07.wav
│ ├── step-08.wav
│ └── step-09.wav
└── bach-bwv999
│ ├── bach-bwv999.wav
│ ├── bach-bwv999-high.wav
│ ├── bach-bwv999-low.wav
│ └── bach-bwv999-mid.wav
├── win
├── EAR.sln
└── EAR.vcproj
├── cmake
└── CMakeLists.txt
├── src
├── Animated.cpp
├── Material.h
├── Triangle.h
├── HelperFunctions.h
├── MonoRecorder.h
├── Settings.h
├── Triangle.cpp
├── SceneContext.h
├── StereoRecorder.h
├── HelperFunctions.cpp
├── Material.cpp
├── Datatype.h
├── Distributions.h
├── Mesh.h
├── Animated.h
├── Settings.cpp
├── SoundFile.h
├── Scene.h
├── MonoRecorder.cpp
├── Datatype.cpp
├── Mesh.cpp
├── StereoRecorder.cpp
├── SoundFile.cpp
├── Scene.cpp
├── Recorder.h
├── Recorder.cpp
└── EAR.cpp
├── lib
├── equalizer
│ ├── Equalizer.h
│ └── Equalizer.cpp
└── wave
│ ├── WaveFile.h
│ └── WaveFile.cpp
├── README.md
└── blender
└── render_EAR
├── materials.py
├── sines.py
├── storyboard.py
└── glyphs.py
/example1/click.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example1/click.wav
--------------------------------------------------------------------------------
/example3/plop.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example3/plop.wav
--------------------------------------------------------------------------------
/testbench/RT60.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/testbench/RT60.blend
--------------------------------------------------------------------------------
/example1/example1.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example1/example1.blend
--------------------------------------------------------------------------------
/example2/door/door.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/door/door.wav
--------------------------------------------------------------------------------
/example2/example2.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/example2.blend
--------------------------------------------------------------------------------
/example3/example3.blend:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example3/example3.blend
--------------------------------------------------------------------------------
/example2/steps/step-01.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-01.wav
--------------------------------------------------------------------------------
/example2/steps/step-02.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-02.wav
--------------------------------------------------------------------------------
/example2/steps/step-03.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-03.wav
--------------------------------------------------------------------------------
/example2/steps/step-04.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-04.wav
--------------------------------------------------------------------------------
/example2/steps/step-05.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-05.wav
--------------------------------------------------------------------------------
/example2/steps/step-06.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-06.wav
--------------------------------------------------------------------------------
/example2/steps/step-07.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-07.wav
--------------------------------------------------------------------------------
/example2/steps/step-08.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-08.wav
--------------------------------------------------------------------------------
/example2/steps/step-09.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/steps/step-09.wav
--------------------------------------------------------------------------------
/example2/bach-bwv999/bach-bwv999.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/bach-bwv999/bach-bwv999.wav
--------------------------------------------------------------------------------
/example2/bach-bwv999/bach-bwv999-high.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/bach-bwv999/bach-bwv999-high.wav
--------------------------------------------------------------------------------
/example2/bach-bwv999/bach-bwv999-low.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/bach-bwv999/bach-bwv999-low.wav
--------------------------------------------------------------------------------
/example2/bach-bwv999/bach-bwv999-mid.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aothms/ear/HEAD/example2/bach-bwv999/bach-bwv999-mid.wav
--------------------------------------------------------------------------------
/win/EAR.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 10.00
3 | # Visual C++ Express 2008
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EAR", "EAR.vcproj", "{302FB7AC-B8A0-49BF-8D93-6829F66DCFC7}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {302FB7AC-B8A0-49BF-8D93-6829F66DCFC7}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {302FB7AC-B8A0-49BF-8D93-6829F66DCFC7}.Debug|Win32.Build.0 = Debug|Win32
14 | {302FB7AC-B8A0-49BF-8D93-6829F66DCFC7}.Release|Win32.ActiveCfg = Release|Win32
15 | {302FB7AC-B8A0-49BF-8D93-6829F66DCFC7}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/cmake/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required (VERSION 2.6)
2 | project (EAR)
3 |
4 | # find_package(Threads)
5 | # set(Boost_USE_STATIC_LIBS ON)
6 | find_package(Boost COMPONENTS thread REQUIRED)
7 |
8 | find_file(fftw3_h "fftw3.h")
9 | if(fftw3_h)
10 | add_definitions(-DUSE_FFTW)
11 | set(FFTW_LIB fftw3f)
12 | message(STATUS "Found FFTW using DFTs for audio convolution")
13 | endif(fftw3_h)
14 |
15 | if(NOT CMAKE_BUILD_TYPE)
16 | set(CMAKE_BUILD_TYPE "Release")
17 | message(STATUS "Defaulting to release build")
18 | endif(NOT CMAKE_BUILD_TYPE)
19 |
20 | file(GLOB ear_sources "../src/*.cpp")
21 |
22 | set(libs "../lib")
23 | set(lib_sources "${libs}/wave/WaveFile.cpp" "${libs}/equalizer/Equalizer.cpp")
24 |
25 | include_directories("${libs}/wave" "${libs}/equalizer")
26 |
27 | add_executable(EAR ${ear_sources} ${lib_sources})
28 | target_link_libraries (EAR ${Boost_THREAD_LIBRARY} ${FFTW_LIB})
29 | #target_link_libraries (EAR ${Boost_THREAD_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
30 |
31 | install(TARGETS EAR DESTINATION bin)
32 |
--------------------------------------------------------------------------------
/src/Animated.cpp:
--------------------------------------------------------------------------------
1 | /************************************************************************
2 | * *
3 | * This file is part of EAR: Evaluation of Acoustics using Ray-tracing. *
4 | * *
5 | * EAR is free software: you can redistribute it and/or modify *
6 | * it under the terms of the GNU General Public License as published by *
7 | * the Free Software Foundation, either version 3 of the License, or *
8 | * (at your option) any later version. *
9 | * *
10 | * EAR is distributed in the hope that it will be useful, *
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 | * GNU General Public License for more details. *
14 | * *
15 | * You should have received a copy of the GNU General Public License *
16 | * along with EAR. If not, see . *
17 | * *
18 | ************************************************************************/
19 |
20 | #include "Animated.h"
21 | Keyframes* Keyframes::p = 0;
--------------------------------------------------------------------------------
/src/Material.h:
--------------------------------------------------------------------------------
1 | /************************************************************************
2 | * *
3 | * This file is part of EAR: Evaluation of Acoustics using Ray-tracing. *
4 | * *
5 | * EAR is free software: you can redistribute it and/or modify *
6 | * it under the terms of the GNU General Public License as published by *
7 | * the Free Software Foundation, either version 3 of the License, or *
8 | * (at your option) any later version. *
9 | * *
10 | * EAR is distributed in the hope that it will be useful, *
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 | * GNU General Public License for more details. *
14 | * *
15 | * You should have received a copy of the GNU General Public License *
16 | * along with EAR. If not, see . *
17 | * *
18 | ************************************************************************/
19 |
20 | #ifndef MATERIAL_H
21 | #define MATERIAL_H
22 |
23 | #include