Package-level declarations

Types

Link copied to clipboard
data class FMSynthesisModulator(val ratio: Float, val index: Float)

FM synthesis modulator parameters.

Link copied to clipboard
data class Instrument(val modulator: FMSynthesisModulator, val envelopeSpec: AnimationSpec<Float>)

Definition of instrument sound

Link copied to clipboard
class Note(val pitch: Pitch)

Musical note.

Link copied to clipboard
enum Pitch : Enum<Pitch>

Enum representing musical pitches and their corresponding frequencies.

Functions

Link copied to clipboard
fun FMSynthesis(carrierFrequency: Float, modulator: FMSynthesisModulator)

Composable for FM synthesis. Generates sound using frequency modulation synthesis.

Link copied to clipboard
fun InstrumentNote(note: Note, instrument: Instrument, amplitude: Float = 0.5f)

Composable for playing an instrument note. Generates sound using FM synthesis and applies an envelope to the note.

Link copied to clipboard
fun SineWave(amplitude: Float = 0.5f, frequency: Float)

Composable for generating a sine wave. Produces a sine wave signal with specified amplitude and frequency.

fun SineWave(amplitude: Float = 0.5f, frequency: () -> Float)

Composable for generating a sine wave. Produces a sine wave signal with specified amplitude and dynamic frequency.

Link copied to clipboard
fun SquareWave(amplitude: Float = 0.5f, frequency: Float, pulseWidth: Float = 0.0f)

Composable for generating a square wave. Produces a square wave signal with specified amplitude, frequency, and pulse width.

fun SquareWave(amplitude: Float = 0.5f, frequency: () -> Float, pulseWidth: () -> Float = { 0f })

Composable for generating a square wave. Produces a square wave signal with specified amplitude, dynamic frequency, and dynamic pulse width.