History

allocate arrays for minblep building

Matthew Wang committed 6 years ago

Commit 686fe2f1 parent 59b55dd2 files · +19 −13Browse files

Unified · Split

2 files
  1. leaf/Inc/leaf-oscillators.h +5 −0
  2. leaf/Src/leaf-oscillators.c +14 −13
leaf/Inc/leaf-oscillators.h+5−0
@@ -898,6 +898,11 @@ extern "C" { · 897 unmodified lines
898 int minBlepSize;898 int minBlepSize;
899 float* minBlepArray;899 float* minBlepArray;
900 float* minBlepDerivArray;900 float* minBlepDerivArray;
901
902 float* realTime;
903 float* imagTime;
904 float* realFreq;
905 float* imagFreq;
901 } _tMinBLEP;906 } _tMinBLEP;
902 907
903 typedef _tMinBLEP* tMinBLEP;908 typedef _tMinBLEP* tMinBLEP;
leaf/Src/leaf-oscillators.c+14−13
@@ -973,6 +973,11 @@ void tMinBLEP_initToPool (tMinBLEP* const minblep, int zeroCrossings, int · 972 unmodified lines
973 mb->minBlepArray = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);973 mb->minBlepArray = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
974 mb->minBlepDerivArray = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);974 mb->minBlepDerivArray = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
975 975
976 mb->realTime = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
977 mb->imagTime = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
978 mb->realFreq = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
979 mb->imagFreq = (float*) mpool_alloc(sizeof(float) * mb->minBlepSize, m);
980
976 tMinBLEP_buildBLEP(minblep);981 tMinBLEP_buildBLEP(minblep);
977}982}
978 983
@@ -989,6 +994,11 @@ void tMinBLEP_freeFromPool (tMinBLEP* const minblep, tMempool* const mp) · 10 unmodified lines
989 mpool_free((char*)mb->minBlepArray, m);994 mpool_free((char*)mb->minBlepArray, m);
990 mpool_free((char*)mb->minBlepDerivArray, m);995 mpool_free((char*)mb->minBlepDerivArray, m);
991 996
997 mpool_free((char*)mb->realTime, m);
998 mpool_free((char*)mb->imagTime, m);
999 mpool_free((char*)mb->realFreq, m);
1000 mpool_free((char*)mb->imagFreq, m);
1001
992 mpool_free((char*)mb, m);1002 mpool_free((char*)mb, m);
993}1003}
994 1004
@@ -1089,15 +1099,10 @@ static void complexexp(float x, float y, float *zx, float *zy) · 94 unmodified lines
1089}1099}
1090 1100
1091// Compute Real Cepstrum Of Signal1101// Compute Real Cepstrum Of Signal
1092static void RealCepstrum(int n, float *signal, float *realCepstrum)1102static void RealCepstrum(int n, float *signal, float *realCepstrum, float* realTime, float* imagTime, float* realFreq, float* imagFreq)
1093{1103{
1094 int i;1104 int i;
1095 1105
1096 float realTime[n];
1097 float imagTime[n];
1098 float realFreq[n];
1099 float imagFreq[n];
1100
1101 // Compose Complex FFT Input1106 // Compose Complex FFT Input
1102 1107
1103 for(i = 0; i < n; i++)1108 for(i = 0; i < n; i++)
@@ -1128,13 +1133,9 @@ static void RealCepstrum(int n, float *signal, float *realCepstrum) · 24 unmodified lines
1128}1133}
1129 1134
1130// Compute Minimum Phase Reconstruction Of Signal1135// Compute Minimum Phase Reconstruction Of Signal
1131static void MinimumPhase(int n, float *realCepstrum, float *minimumPhase)1136static void MinimumPhase(int n, float *realCepstrum, float *minimumPhase, float* realTime, float* imagTime, float* realFreq, float* imagFreq)
1132{1137{
1133 int i, nd2;1138 int i, nd2;
1134 float realTime[n];
1135 float imagTime[n];
1136 float realFreq[n];
1137 float imagFreq[n];
1138 1139
1139 nd2 = n / 2;1140 nd2 = n / 2;
1140 1141
@@ -1200,8 +1201,8 @@ void tMinBLEP_buildBLEP(tMinBLEP* const minblep) · 59 unmodified lines
1200 1201
1201 // Minimum Phase Reconstruction1202 // Minimum Phase Reconstruction
1202 1203
1203 RealCepstrum(n, m->minBlepArray, m->minBlepDerivArray);1204 RealCepstrum(n, m->minBlepArray, m->minBlepDerivArray, m->realTime, m->imagTime, m->realFreq, m->imagFreq);
1204 MinimumPhase(n, m->minBlepDerivArray, m->minBlepArray);1205 MinimumPhase(n, m->minBlepDerivArray, m->minBlepArray, m->realTime, m->imagTime, m->realFreq, m->imagFreq);
1205 1206
1206 // Integrate Into MinBLEP1207 // Integrate Into MinBLEP
1207 a = 0.0f;1208 a = 0.0f;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t