aboutsummaryrefslogtreecommitdiff
path: root/src/scalar.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/scalar.c')
-rw-r--r--src/scalar.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/scalar.c b/src/scalar.c
index 4675c4c..d35f12b 100644
--- a/src/scalar.c
+++ b/src/scalar.c
@@ -28,9 +28,12 @@
#include <stdio.h>
#include <math.h>
-#include "../xtract/libxtract.h"
-#include "../xtract/xtract_helper.h"
+#include "dywapitchtrack/dywapitchtrack.h"
+
+#include "xtract/libxtract.h"
+#include "xtract/xtract_helper.h"
#include "xtract_macros_private.h"
+#include "xtract_globals_private.h"
int xtract_mean(const double *data, const int N, const void *argv, double *result)
{
@@ -953,7 +956,6 @@ int xtract_failsafe_f0(const double *data, const int N, const void *argv, double
if(return_code == XTRACT_NO_RESULT)
{
-
sr = *(double *)argv;
if(sr == 0)
sr = 44100.0;
@@ -975,3 +977,18 @@ int xtract_failsafe_f0(const double *data, const int N, const void *argv, double
}
+int xtract_wavelet_f0(const double *data, const int N, const void *argv, double *result)
+{
+ double sr = *(double *)argv;
+
+ *result = dywapitch_computepitch(&wavelet_f0_state, data, 0, N);
+
+ if (*result == 0.0)
+ {
+ return XTRACT_NO_RESULT;
+ }
+
+ return XTRACT_SUCCESS;
+}
+
+