SAL
A C++ library for spatial audio.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
sal
include
sphericalheadmic.h
Go to the documentation of this file.
1
/*
2
directivityhrtf.h
3
Spatial Audio Library (SAL)
4
Copyright (c) 2011, Enzo De Sena
5
All rights reserved.
6
7
Authors: Enzo De Sena, enzodesena@gmail.com
8
9
*/
10
11
#ifndef SAL_DIRECTIVITYSPHERICAL_H
12
#define SAL_DIRECTIVITYSPHERICAL_H
13
14
#include "
microphone.h
"
15
#include "
saltypes.h
"
16
#include "
kemarmic.h
"
17
#include <map>
18
#include "
salconstants.h
"
19
20
namespace
sal {
21
26
class
SphericalHeadMic
:
public
BinauralMic
{
27
public
:
28
SphericalHeadMic
(
const
mcl::Point
position
,
const
mcl::Quaternion
orientation
,
29
const
Angle
ears_angle,
30
const
Length
sphere_radius,
31
const
Int
ir_length,
32
const
Time
sampling_frequency,
33
const
Int
update_length = 0);
34
35
static
bool
Test
();
36
37
virtual
~SphericalHeadMic
() {}
38
private
:
39
40
virtual
Signal
GetBrir(
const
Ear
ear,
const
mcl::Point& point) noexcept;
41
43
static
mcl::Complex Sphere(
Length
a,
Length
r,
Angle
theta,
44
Time
f,
Time
c, mcl::Real threshold);
45
53
static
Signal
GenerateImpulseResponse(
Length
sphere_radius,
54
Length
source_distance,
55
Angle
theta,
56
Time
sound_speed,
57
mcl::Real threshold,
58
Int
num_samples,
59
Time
sampling_frequency,
60
bool
minimum_phase =
false
);
61
63
static
Angle
GetTheta(
const
mcl::Point& point,
64
const
Angle
& ears_angle,
65
const
Ear
& ear);
66
67
72
Angle
ears_angle_;
73
75
Length
sphere_radius_;
76
77
Time
sampling_frequency_;
78
87
Int
impulse_response_length_;
88
89
Time
sound_speed_;
90
92
mcl::Real alg_threshold_;
93
94
};
95
96
}
// namespace sal
97
98
#endif
Generated on Tue Mar 31 2020 18:28:03 for SAL by
1.8.2