voice_audio_multi/tools/omtd/omtd.h
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

91 lines
2.3 KiB
C

#pragma once
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#ifdef LLAMA_SHARED
# if defined(_WIN32) && !defined(__MINGW32__)
# ifdef LLAMA_BUILD
# define OMTD_API __declspec(dllexport)
# else
# define OMTD_API __declspec(dllimport)
# endif
# else
# define OMTD_API __attribute__ ((visibility ("default")))
# endif
#else
# define OMTD_API
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef enum omtd_modality {
OMTD_MODALITY_UNKNOWN = 0,
OMTD_MODALITY_AUDIO = 1,
OMTD_MODALITY_IMAGE = 2,
OMTD_MODALITY_VIDEO = 3,
} omtd_modality;
typedef enum omtd_model_type {
OMTD_MODEL_TYPE_UNKNOWN = 0,
} omtd_model_type;
typedef enum omtd_status {
OMTD_STATUS_SUCCESS = 0,
OMTD_STATUS_INVALID_PARAM = 1,
OMTD_STATUS_UNSUPPORTED = 2,
OMTD_STATUS_RUNTIME_ERROR = 3,
} omtd_status;
typedef struct omtd_audio_generation_params {
const char * model_path;
const char * companion_path;
const char * prompt;
const char * output_path;
const char * device;
const char * omtd_backend;
const char * rvq_backend;
const char * vocoder_backend;
const char * ref_voice_path;
const char * ref_text_path;
int32_t n_gpu_layers;
int32_t n_ctx;
float duration_seconds;
float max_duration_seconds;
float temperature;
int32_t top_k;
int32_t seed;
int32_t stream_stride;
int32_t stream_holdback;
bool seed_is_set;
bool stream_wav;
bool raw_prompt;
bool verbose;
bool flash_attn;
} omtd_audio_generation_params;
// Detects output-modality companion GGUF files. The OMTD framework patch only
// defines the boundary; model-specific recognizers are added by backend patches.
OMTD_API bool omtd_is_output_companion_gguf(const char * path);
OMTD_API omtd_model_type omtd_get_model_type(const char * path);
OMTD_API omtd_modality omtd_get_model_modality(const char * path);
// Generate an audio file through an output-modality companion. The framework
// returns OMTD_STATUS_UNSUPPORTED until a concrete audio backend is registered.
OMTD_API omtd_status omtd_audio_generate_file(
const omtd_audio_generation_params * params,
char * error,
size_t error_size);
#ifdef __cplusplus
}
#endif