group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
AudioMath.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include <glm/glm.hpp>
7
8namespace audio
9{
10
11inline constexpr int k_mixerSampleRate = 48000;
12inline constexpr int k_mixerChannels = 2;
13inline constexpr float k_speedOfSoundUnitsPerSecond = 13500.0f;
14inline constexpr float k_fullGainDistance = 450.0f;
15inline constexpr float k_silentDistance = 3500.0f;
16
18{
19 glm::vec3 position{0.0f};
20 glm::vec3 forward{0.0f, 0.0f, 1.0f};
21 glm::vec3 up{0.0f, 1.0f, 0.0f};
22 glm::vec3 velocity{0.0f};
23};
24
26{
27 float gain = 1.0f;
28 float left = 0.70710678f;
29 float right = 0.70710678f;
30 float dopplerRatio = 1.0f;
31 float lowPass = 1.0f;
32 float reverbSend = 0.0f;
33 bool audible = true;
34};
35
36[[nodiscard]] float distanceAttenuation(float distance,
37 float fullGainDistance = k_fullGainDistance,
38 float silentDistance = k_silentDistance) noexcept;
39[[nodiscard]] float dopplerRatio(const glm::vec3& sourceToListener,
40 const glm::vec3& sourceVelocity,
41 const glm::vec3& listenerVelocity) noexcept;
42[[nodiscard]] SpatialParams evaluateSpatial(const glm::vec3& sourcePosition,
43 const glm::vec3& sourceVelocity,
44 const ListenerState& listener,
45 bool occluded,
46 float fullGainDistance = k_fullGainDistance,
47 float silentDistance = k_silentDistance) noexcept;
48
49} // namespace audio
Definition AudioMath.cpp:10
constexpr float k_fullGainDistance
Definition AudioMath.hpp:14
constexpr int k_mixerSampleRate
Definition AudioMath.hpp:11
constexpr int k_mixerChannels
Definition AudioMath.hpp:12
float distanceAttenuation(float distance, float fullGainDistance, float silentDistance) noexcept
Definition AudioMath.cpp:12
constexpr float k_silentDistance
Definition AudioMath.hpp:15
float dopplerRatio(const glm::vec3 &sourceToListener, const glm::vec3 &sourceVelocity, const glm::vec3 &listenerVelocity) noexcept
Definition AudioMath.cpp:26
SpatialParams evaluateSpatial(const glm::vec3 &sourcePosition, const glm::vec3 &sourceVelocity, const ListenerState &listener, bool occluded, float fullGainDistance, float silentDistance) noexcept
Definition AudioMath.cpp:43
constexpr float k_speedOfSoundUnitsPerSecond
Definition AudioMath.hpp:13
Definition AudioMath.hpp:18
glm::vec3 up
Definition AudioMath.hpp:21
glm::vec3 position
Definition AudioMath.hpp:19
glm::vec3 forward
Definition AudioMath.hpp:20
glm::vec3 velocity
Definition AudioMath.hpp:22
Definition AudioMath.hpp:26
float gain
Definition AudioMath.hpp:27
float reverbSend
Definition AudioMath.hpp:32
float dopplerRatio
Definition AudioMath.hpp:30
float right
Definition AudioMath.hpp:29
float left
Definition AudioMath.hpp:28
bool audible
Definition AudioMath.hpp:33
float lowPass
Definition AudioMath.hpp:31