Package-level declarations

Types

Link copied to clipboard

Listener for audio focus changes.

Link copied to clipboard

Audio session mode for configuring system audio behavior.

Link copied to clipboard
actual object AudioSessionManager

Android implementation of AudioSessionManager.

expect object AudioSessionManager

Cross-platform audio session manager.

actual object AudioSessionManager

iOS implementation of AudioSessionManager.

Link copied to clipboard
sealed class RecordingState

Recording session state - mirrors AudioSession.State with public visibility.

Link copied to clipboard

Decodes audio files to raw PCM data.

Link copied to clipboard

Encodes audio to compressed formats (M4A/AAC, MP3).

Link copied to clipboard
data class SonixError(val message: String, val cause: Throwable? = null)

Error information for Sonix operations.

Link copied to clipboard
open class SonixException(message: String, cause: Throwable? = null) : VoxaTraceException

Base exception for Sonix audio operations.

Link copied to clipboard

Utilities for converting between frame indices and time. Ported from musicmuni_common.conversions.frames

Link copied to clipboard

Exception thrown when API key is invalid or license has been revoked.

Link copied to clipboard

Synthesizes audio lessons from svara (note) sequences.

Link copied to clipboard

Metronome for practice mode with click track playback.

Link copied to clipboard

MIDI synthesizer for converting MIDI to audio using SoundFont files.

Link copied to clipboard

Multi-track audio mixer with synchronized playback.

Link copied to clipboard
data class SonixMixerConfig(val loopCount: Int = 1, val onPlaybackComplete: () -> Unit? = null, val onLoopComplete: (loopIndex: Int) -> Unit? = null, val onError: (error: String) -> Unit? = null)

Configuration for SonixMixer.

Link copied to clipboard

Parser for pitch, notes, and transcription data files.

Link copied to clipboard

Unified audio player for playback with pitch shifting and tempo control.

Link copied to clipboard
data class SonixPlayerConfig(val volume: Float = 1.0f, val pitch: Float = 0.0f, val tempo: Float = 1.0f, val loopCount: Int = 1, val onComplete: () -> Unit? = null, val onLoopComplete: (loopIndex: Int, totalLoops: Int) -> Unit? = null, val onPlaybackStateChanged: (isPlaying: Boolean) -> Unit? = null, val onError: (message: String) -> Unit? = null)

Configuration for SonixPlayer.

Link copied to clipboard

Unified audio recorder for capturing microphone input.

Link copied to clipboard
data class SonixRecorderConfig(val format: AudioFormat = AudioFormat.M4A, val sampleRate: Int = 16000, val channels: Int = 1, val bitrate: Int = 64000, val playbackSyncProvider: PlaybackInfoProvider? = null, val enableSegmentRecording: Boolean = false, val segmentOutputDirectory: String? = null, val bufferPoolSize: Int = 4, val bufferSampleSize: Int = 2048, val recordingBufferSizeBytes: Int = 10 * 1024 * 1024, val audioBufferSizeMs: Int = 40, val echoCancellation: Boolean = false, val onRecordingStarted: () -> Unit? = null, val onRecordingStopped: (outputPath: String) -> Unit? = null, val onError: (message: String) -> Unit? = null, val onLevelUpdate: (level: Float) -> Unit? = null, val onStateChange: (RecordingState) -> Unit? = null)

Configuration for SonixRecorder.

Link copied to clipboard
actual object SonixResampler
expect object SonixResampler

High-quality audio resampling using libsamplerate.

actual object SonixResampler