Async import
Load audio from disk, URL, byte arrays and streams without blocking gameplay or editor tasks.
SonicLoad
Import, decode, transcode and export audio files or raw buffers at runtime, then turn them into AudioClip or send them directly to playback paths. Built for game systems that need flexible, async audio processing without freezing the main thread.

SOURCE PREVIEW
Quick start
What it does
Load audio from disk, URL, byte arrays and streams without blocking gameplay or editor tasks.
Decode and transcode audio between common formats such as MP3, WAV, FLAC, OGG and more.
Record live input into a buffer for later processing, exporting or local transcription workflows.
Turn decoded or processed buffers into AudioClip instances ready for Unity playback, UI or game logic.
Handle large assets and audio streams in manageable chunks without stalling the main thread.
Export processed audio to disk, streams or memory buffers for downstream features such as transcription, TTS or save data.
Planned API
using Denisitree.SonicLoad;
using UnityEngine;
public class SonicLoadDemo : MonoBehaviour
{
private async void Start()
{
var loader = new AudioLoader();
var clip = await loader.LoadFromFileAsync("Assets/Audio/intro.wav");
var export = new AudioExporter();
await export.WriteToFileAsync(clip, "output/intro.mp3");
var mic = new MicrophoneCapture();
mic.Start();
var buffer = await mic.CaptureFrameAsync(2.0f);
Debug.Log($"Captured {buffer.Length} samples from microphone.");
}
}
Planned platforms & requirements
| Category | Planned support |
|---|---|
| Platforms | Windows, macOS, Linux, Android, iOS |
| Unity | Unity 2021.3 LTS+ |
| Runtime model | C# API, Inspector components, UnityEvents |
| Primary workloads | Import, decode, transcode, export, microphone capture |
| Project stage | Early access planning |
Works well with
Roadmap
Screenshots