AudioShakeSeparator
The core processing class. Takes raw audio buffers in, returns separated stem buffers. Multiple instances can run in parallel; each operates in a single thread.Constructor
| Parameter | Description |
|---|---|
clientID | Your AudioShake Client ID |
clientSecret | Your AudioShake Client Secret |
model | Pointer to the encrypted model data loaded into memory |
modelSizeBytes | Size of the model data in bytes |
inputSamplerate | Sample rate of input audio in Hz (e.g. 44100, 48000). Automatically resampled to match output. |
flags | Configuration flags — see Flags |
Methods
Processing
- Returns number of output frames produced
- Returns
0if more input is needed before output is available - Returns
-1on error - Pass
NULLforinputChannelsto flush remaining audio (e.g. end of file) - Mono input is valid — the separator duplicates it across channels
Reuse
SourceSeparationTask
High-level wrapper that manages file reading, writing, and progress callbacks.Constructor
Processing
Status
Progress callback
Input classes
AudioFileReader — reads from a file on disk (WAV, MP3, etc.):Output classes
WAVOutput — writes each stem as a separate WAV file:Flags
Combine with|. Pass to AudioShakeSeparator or as additionalFlags to SourceSeparationTask.
Backend
| Flag | Description |
|---|---|
useFastestBackend | GPU if available, CPU otherwise. Default. |
useCPUBackendOnly | Force CPU-only processing |
Input format
| Flag | Description |
|---|---|
inputFloat | 32-bit float. Default. |
inputInt16 | 16-bit signed integer |
inputNonInterleaved | Separate channel buffers. Default. |
inputInterleavedStereo | Interleaved stereo |
Output format
| Flag | Description |
|---|---|
outputFloat | 32-bit float. Default. |
outputInt16 | 16-bit signed integer |
outputNonInterleaved | Separate channel buffers. Default. |
outputInterleavedStereo | Interleaved stereo |
Chunk size
Durations are approximate and vary by model. Smaller chunks reduce latency but increase compute cost.| Flag | Approx. duration | Compute cost |
|---|---|---|
chunkNormal | ~3 sec | 1x. Default. |
chunk2X | ~1.5 sec | 2x |
chunk4X | ~0.75 sec | 4x |
chunk8X | ~375 ms | 8x |
chunk16X | ~185 ms | 16x |
chunk32X | ~92 ms | 32x |
chunk64X | ~46 ms | 64x |
Residual
| Flag | Description |
|---|---|
addResidual | Add a residual stem containing audio remaining after subtracting all extracted stems |
residualIsInputMinusStem0 | Residual = input minus stem 0 |
residualIsInputMinusStem1 | Residual = input minus stem 1 |
residualIsInputMinusStem2 | Residual = input minus stem 2 |
residualIsInputMinusStem3 | Residual = input minus stem 3 |