Lightningbeam/nam-ffi/capi-override/NeuralAudioCApi.h

50 lines
1.1 KiB
C

#pragma once
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _MSC_VER
#define NA_EXTERN extern __declspec(dllexport)
#else
#define NA_EXTERN extern
#endif
struct NeuralModel;
#ifdef _WIN32
NA_EXTERN NeuralModel* CreateModelFromFile(const wchar_t* modelPath);
#else
NA_EXTERN NeuralModel* CreateModelFromFile(const char* modelPath);
#endif
NA_EXTERN void DeleteModel(NeuralModel* model);
NA_EXTERN void SetLSTMLoadMode(int loadMode);
NA_EXTERN void SetWaveNetLoadMode(int loadMode);
NA_EXTERN void SetAudioInputLevelDBu(float audioDBu);
NA_EXTERN void SetDefaultMaxAudioBufferSize(int maxSize);
NA_EXTERN int GetLoadMode(NeuralModel* model);
NA_EXTERN bool IsStatic(NeuralModel* model);
NA_EXTERN void SetMaxAudioBufferSize(NeuralModel* model, int maxSize);
NA_EXTERN float GetRecommendedInputDBAdjustment(NeuralModel* model);
NA_EXTERN float GetRecommendedOutputDBAdjustment(NeuralModel* model);
NA_EXTERN float GetSampleRate(NeuralModel* model);
NA_EXTERN void Process(NeuralModel* model, float* input, float* output, size_t numSamples);
#ifdef __cplusplus
}
#endif