- fixed mix down
This commit is contained in:
2025-11-11 19:52:35 +01:00
parent 3dda1ec2f9
commit 9948682d03
2 changed files with 12 additions and 13 deletions
+11 -12
View File
@@ -15,18 +15,14 @@ class Delay
uint m_delaySize;
public:
Delay(uint delayCapacity, int delayOffset=0)
Delay(uint delayCapacity, int delayOffset)
: m_buf(delayCapacity)
{
setDelay(delayCapacity-delayOffset, delayOffset);
setDelay(delayCapacity, delayOffset);
}
void setDelay(uint delaySize, int delayOffset=0)
void setDelay(uint delaySize, int delayOffset)
{
if ((delaySize + delayOffset) > m_buf.capacity())
{
return;
}
float delayRagePerWindow = (float)(delaySize-delayOffset)/(float)numCh;
if (delayRagePerWindow < 0)
@@ -81,7 +77,7 @@ class Diffusor
public:
Diffusor(uint maxDelaySize)
: m_dly(maxDelaySize)
: m_dly(maxDelaySize, 0)
{
// Shuffle spec
for (int i=0; i < numCh; i++)
@@ -113,7 +109,7 @@ class Diffusor
void setDelay(uint delay)
{
m_dly.setDelay(delay);
m_dly.setDelay(delay, 0);
}
uint getDelay()
@@ -161,9 +157,9 @@ class Reverb
T fb_gain;
public:
Reverb(std::initializer_list<Diffusor<T, numCh>> maxDelay, uint fb_maxDelay)
Reverb(std::initializer_list<Diffusor<T, numCh>> maxDelay, uint fb_maxDelay, uint fb_minDelay)
: m_diffusors(maxDelay)
, m_feedbackDly(fb_maxDelay, 0)
, m_feedbackDly(fb_maxDelay, fb_minDelay)
, fb_gain(0)
{
for (int c=0; c < numCh; c++)
@@ -217,7 +213,10 @@ class Reverb
m_feedbackDly.process(temp, fb_dly_out);
// Mix
out[i] = fb_dly_out[0];
for (int c=0; c < numCh; c++)
{
out[i] += fb_dly_out[c];
}
}
}
+1 -1
View File
@@ -136,7 +136,7 @@ void test_reverb()
std::cout << "----------------------------------------------" << std::endl;
std::cout << "test_reverb()" << std::endl;
Reverb<double, 8> rev({32}, 2);
Reverb<double, 8> rev({32}, 256, 8);
float data_in[10] = {1, 2, 3, 4, 5, 6, 7,8, 9, 10};
float data_out[10] = {0, 0, 0, 0, 0, 0, 0,0, 0, 0};