Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
VACore
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
6
Issues
6
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Analytics
Analytics
Code Review
Insights
Issue
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Institute of Technical Acoustics (ITA)
VACore
Commits
1ac6c246
Commit
1ac6c246
authored
Jul 05, 2019
by
Dipl.-Ing. Jonas Stienen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented and tested artificial reverb with 1, 3 or 10 reverberation time values
parent
af276202
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
368 additions
and
149 deletions
+368
-149
src/Rendering/Binaural/ArtificialReverb/VABinauralArtificialReverb.cpp
.../Binaural/ArtificialReverb/VABinauralArtificialReverb.cpp
+350
-147
src/Rendering/Binaural/ArtificialReverb/VABinauralArtificialReverb.h
...ng/Binaural/ArtificialReverb/VABinauralArtificialReverb.h
+18
-2
No files found.
src/Rendering/Binaural/ArtificialReverb/VABinauralArtificialReverb.cpp
View file @
1ac6c246
This diff is collapsed.
Click to expand it.
src/Rendering/Binaural/ArtificialReverb/VABinauralArtificialReverb.h
View file @
1ac6c246
...
...
@@ -48,6 +48,7 @@
// STL includes
#include <list>
#include <set>
#include <memory>
// External VA forward declarations
class
CVACoreImpl
;
...
...
@@ -88,6 +89,16 @@ public:
void
ProcessStream
(
const
ITAStreamInfo
*
pStreamInfo
);
ITADatasource
*
GetOutputDatasource
();
void
SetParameters
(
const
CVAStruct
&
);
CVAStruct
GetParameters
(
const
CVAStruct
&
)
const
;
//! Filter base class for reverb equalization
class
CFilterBase
{
public:
virtual
void
Process
(
int
iNumSamples
,
float
*
pfOut
,
bool
bAutoReset
=
true
)
=
0
;
};
protected:
//! Internal representation of a listener
...
...
@@ -185,8 +196,10 @@ private:
const
CVAAudioRendererInitParams
m_oParams
;
//!< Create a const copy of the init params
CVACoreImpl
*
m_pCore
;
//!< Pointer to VACore
double
m_dReverberationTime
;
//!< Reverberation time [s]
std
::
vector
<
double
>
m_vdReverberationTimes
;
//!< Reverberation times [s]
std
::
vector
<
std
::
shared_ptr
<
CFilterBase
>
>
m_vpFilter
;
//!< Reverb EQ filters
double
m_dRoomVolume
;
//!< Room volume [m^3]
double
m_dRoomSurfaceArea
;
//!< Room surface area [m^2]
double
m_dSoundPowerCorrectionFactor
;
//!< Sound power correction factor (BRIR vs. Direct Sound level)
...
...
@@ -247,6 +260,9 @@ private:
*/
void
Init
(
const
CVAStruct
&
oArgs
);
//! Design equalization filters for different reverberation times & base frequencies
void
DesignEQFilters
();
// --= Update internal lists (sources, listener, artificial reverb paths) =--
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment