sherpa-onnx C API 1.0
Public C API and C++ wrapper for sherpa-onnx
Loading...
Searching...
No Matches
sherpa_onnx::cxx::OfflineSourceSeparation Class Reference

RAII wrapper for offline source separation. More...

#include <cxx-api.h>

+ Inheritance diagram for sherpa_onnx::cxx::OfflineSourceSeparation:
+ Collaboration diagram for sherpa_onnx::cxx::OfflineSourceSeparation:

Public Member Functions

void Destroy (const SherpaOnnxOfflineSourceSeparation *p) const
 Destroy the wrapped C handle.
 
SourceSeparationOutput Process (const float *const *samples, int32_t num_channels, int32_t num_samples, int32_t sample_rate) const
 Run source separation on multi-channel audio.
 
int32_t GetOutputSampleRate () const
 Return the output sample rate.
 
int32_t GetNumberOfStems () const
 Return the number of stems produced.
 
- Public Member Functions inherited from sherpa_onnx::cxx::MoveOnly< OfflineSourceSeparation, SherpaOnnxOfflineSourceSeparation >
 MoveOnly ()=default
 Construct an empty wrapper.
 
 MoveOnly (const SherpaOnnxOfflineSourceSeparation *p)
 Construct a wrapper from a raw C handle.
 
 MoveOnly (const MoveOnly &)=delete
 
 MoveOnly (MoveOnly &&other)
 
 ~MoveOnly ()
 Destroy the wrapped handle if present.
 
MoveOnly & operator= (const MoveOnly &)=delete
 
MoveOnly & operator= (MoveOnly &&other)
 
const SherpaOnnxOfflineSourceSeparation * Get () const
 Return the wrapped raw pointer without transferring ownership.
 
const SherpaOnnxOfflineSourceSeparation * Release ()
 Release ownership of the wrapped raw pointer.
 

Static Public Member Functions

static OfflineSourceSeparation Create (const OfflineSourceSeparationConfig &config)
 Create an offline source separation engine.
 

Additional Inherited Members

- Protected Attributes inherited from sherpa_onnx::cxx::MoveOnly< OfflineSourceSeparation, SherpaOnnxOfflineSourceSeparation >
const SherpaOnnxOfflineSourceSeparation * p_
 

Detailed Description

Definition at line 1724 of file cxx-api.h.

Member Function Documentation

◆ Create()

static OfflineSourceSeparation sherpa_onnx::cxx::OfflineSourceSeparation::Create ( const OfflineSourceSeparationConfig &  config)
static

◆ Destroy()

void sherpa_onnx::cxx::OfflineSourceSeparation::Destroy ( const SherpaOnnxOfflineSourceSeparation *  p) const

◆ GetNumberOfStems()

int32_t sherpa_onnx::cxx::OfflineSourceSeparation::GetNumberOfStems ( ) const

◆ GetOutputSampleRate()

int32_t sherpa_onnx::cxx::OfflineSourceSeparation::GetOutputSampleRate ( ) const

◆ Process()

SourceSeparationOutput sherpa_onnx::cxx::OfflineSourceSeparation::Process ( const float *const *  samples,
int32_t  num_channels,
int32_t  num_samples,
int32_t  sample_rate 
) const
Parameters
samplessamples[c] is a float array for channel c.
num_channelsNumber of input channels.
num_samplesNumber of samples per channel.
sample_rateInput sample rate in Hz.
Returns
Separated stems, or an empty output on error.

The documentation for this class was generated from the following file: