Mix, Master, and Deliver at Scale

Studio-grade music mixing, mastering, and post-production in a single C++ library. From multitrack sessions to broadcast-ready deliverables.

Built for Products That Ship Audio

Creator Platforms

  • Instant "sounds finished" button
  • Higher publish rates & retention
  • Reduce support burden

DAWs & Plugins

  • Smart starting mix & master
  • Settings-only mode for UIs
  • Offline deterministic processing

Games & Social

  • Consistent loudness & clarity
  • Batch pipelines that scale
  • Perfect for automation

Post-Production

Film & TV

  • Dialogue enhancement & sidechain ducking
  • Film, TV, and broadcast delivery formats
  • EBU R128 loudness compliance

Advertising

  • Aggressive voiceover enhancement
  • Fast auto-ducking (AD Mix preset)
  • ADMIX format for broadcast ads

Streaming & Podcasting

  • YouTube and podcast loudness targets
  • Streaming platform presets
  • Pass/fail compliance reporting
🎚️

Studio-Grade Sound

Modern DSP/ML trained by professional mix/mastering engineers. Cohesive balances, solid low-end, clear vocals.

Drop-In Workflow

Give us stereo (mastering) or stems (mixing). Get back a finished render, or just the settings.

🚀

Designed to Scale

Offline, deterministic processing. Perfect for queues, bulk jobs, and predictable QA.

How It Works

1

Send Audio

Provide stereo for mastering, or stems (2-32 tracks) for mixing.

2

Choose Output

Full render, stems, or settings-only (gain/pan/EQ/comp).

3

Ship It

Save the render or apply the settings in your own pipeline.

Developer Preview

Link the SDK

# CMake (example)
find_package(TonnSDK REQUIRED)
target_link_libraries(app PRIVATE TonnSDK::tonnsdk)

Process Audio

#include "TonnSDK.h"

int main() {
  tonn::TonnSDK sdk(44100.0f);
  sdk.addTrack("stems/drums.wav");
  sdk.addTrack("stems/bass.wav");
  
  auto result = sdk.process();
  return 0;
}
#include "PostProductionSDK.h"
#include "PostProdTrackSettings.h"

int main() {
    // Initialize for streaming delivery at 48 kHz
    tonn::PostProductionSDK sdk(48000.0f, tonn::PostProdFormat::STREAMING);

    if (!sdk.initialize("your_license_key")) {
        std::cerr << sdk.getLastErrorMessage() << std::endl;
        return 1;
    }

    // Configure dialogue track (enhanced, sidechain source for ducking)
    tonn::PostProdTrackSettings dialogue(
        tonn::PostProdGroupType::DIALOGUE_MAIN,
        tonn::DialoguePriority::HIGH,
        tonn::PostProdFormat::STREAMING);
    dialogue.setDialogueEnhancementEnabled(true);
    dialogue.setDialogueEnhancementMode(tonn::DialogueEnhancementMode::ENHANCE);
    dialogue.setIsDuckingSidechain(true);

    // Configure music track (ducked when dialogue plays)
    tonn::PostProdTrackSettings music(
        tonn::PostProdGroupType::MUSIC,
        tonn::DialoguePriority::NORMAL,
        tonn::PostProdFormat::STREAMING);
    music.setDuckingEnabled(true);
    music.setDuckingPreset(tonn::DuckingPreset::MEDIUM);

    // Add tracks and process
    sdk.addTrack("dialogue.wav", dialogue);
    sdk.addTrack("score.wav", music);

    tonn::PostProdResult result = sdk.process();

    if (result.success) {
        std::cout << "Loudness: " << result.measuredLUFS << " LUFS" << std::endl;
        std::cout << "Meets spec: " << (result.meetsLoudnessSpec ? "yes" : "no") << std::endl;
    }
    return 0;
}

Explore the full SDK documentation for integration guides, examples, and API reference.

SDK Documentation API Reference

What You Need to Know

Inputs

  • Music mixing: stereo stems (non-interleaved or files)
  • Mastering: stereo mixdown
  • Post-production: content-typed tracks (dialogue, music, SFX, foley, ambience, ADR, voiceover)
  • WAV, FLAC, MP3, in-memory buffers

Outputs

  • Full render (mixed/mastered)
  • Delivery-format mastered mix
  • Processed stems
  • Loudness/LRA compliance report
  • Settings JSON (gain, pan, EQ, comp)

Platforms

  • macOS (arm64 & x86_64)
  • Windows (x64)
  • Linux (x86_64)
  • C++17, CMake, gcc/clang/MSVC

Capabilities

🎚️ Multitrack Mixing

  • • 2-32 tracks per session
  • • Automatic gain, pan, EQ, compression
  • • Settings export for DAW integration
  • • Processed stems output
  • • Musical style presets

✨ Stereo Mastering

  • • Loudness optimization (LUFS targeting)
  • • Frequency balance & width
  • • Multiband compression & limiting
  • • Streaming platform ready
  • • Musical style presets

🎬 Post-Production Mixing

  • • 10 native track types (Dialogue, Music, SFX, Foley, Ambience, ADR, Voiceover LP/HP, Other)
  • • ADR-to-location matching (spectral, reverb, and dynamics)
  • • Intelligent dialogue enhancement (Preserve, Enhance, AD Enhanced)
  • • Automatic sidechain ducking (Light, Medium, Heavy, AD Mix, Custom)
  • • Multi-track ducking support
  • • DialoguePriority levels (Low, Normal, High, Critical)

📡 Delivery Format Mastering

  • • 7 delivery format presets (Film, TV, Streaming, YouTube, Broadcast, ADMIX, Podcast)
  • • EBU R128 and broadcast standards compliance
  • • Programme and dialogue LRA measurement
  • • Pass/fail compliance reporting
  • • True peak limiting

SDK FAQ

How is the SDK licensed?

Commercial licensing is available on request. Music mixing/mastering and post-production are licensed separately via LicenseFeature (MIXING, MASTERING, POST_PRODUCTION, etc.). Contact info@roexaudio.com to discuss your use case and receive pricing details.

What platforms are supported?

We support macOS (arm64 & x86_64), Windows (x64), and Linux (x86_64). C++17 or later is required with CMake for building.

Can I get just the mixing/mastering settings?

Yes! Settings-only mode returns gain, pan, EQ, and compression parameters as JSON. Perfect for integrating with your own DSP pipeline or DAW.

Is this the same technology as the cloud API?

Yes, the SDK uses the same audio processing engine as our cloud API, but runs entirely offline for deterministic batch processing.

What audio formats are supported?

WAV, FLAC, and MP3 for file I/O, plus in-memory buffer processing. All common sample rates (44.1kHz, 48kHz, 96kHz, etc.).

Can I request an evaluation license?

Absolutely! Email info@roexaudio.com with details about your product and use case to request an evaluation.

What post-production features are available?

The PostProductionSDK module provides dialogue enhancement (3 modes: Preserve, Enhance, AD Enhanced), ADR-to-location acoustic matching, automatic sidechain ducking (5 presets plus custom parameters), 7 delivery format presets (Film, TV, Streaming, YouTube, Broadcast, ADMIX, Podcast), loudness and LRA compliance reporting, 10 native track types, reverb matching, and GPU-accelerated processing. See the Post-Production Features documentation for full details.

Can I use both music and post-production features?

Yes. TonnSDK (music mixing and mastering) and PostProductionSDK (post-production) are independent classes. You can use either or both in the same application. Each requires its own license feature: LicenseFeature::MIXING/MASTERING for music, LicenseFeature::POST_PRODUCTION for post-production.

Get SDK Access

Tell us about your project and we'll get back to you within one business day with licensing details and evaluation access.

Ready to Ship Studio-Grade Audio?

Fill out the form above and our team will get back to you within one business day.

Request Access SDK Documentation