Skip to content

audio

Obsidian Audio Module Handles music playback, sound effects, and speaker management Injected by the bundler / init.lua loader; see src/init.lua.

Methods

AudioModule.refresh()

Scan for speaker peripherals Called automatically on first playback or explicitly from engine boot

AudioModule.isReady()

Check if audio system is ready

  • returns (boolean)

AudioModule.getSpeakerCount()

Get number of connected speakers

  • returns (number)

AudioModule.setMuted(muted)

Set master mute state

  • muted (boolean)

AudioModule.isMuted()

Get master mute state

  • returns (boolean)

AudioModule.setVolume(volume)

Set master volume (0.0 - 1.0)

  • volume (number)

AudioModule.getVolume()

Get master volume

  • returns (number)

AudioModule.playNote(instrument, pitch, volume)

Play a single note on all speakers

  • instrument (string|nil, optional) Instrument name (default: "harp")
  • pitch (number|nil, optional) Pitch value (default: 12)
  • volume (number|nil, optional) Volume 0-3 (default: 1, scaled by master volume)

AudioModule.registerSfx(name, sequence)

Register a sound effect sequence

  • name (string) SFX identifier
  • sequence (table[]) Array of note events

AudioModule.playSfx(name)

Play a registered sound effect

  • name (string) SFX identifier

AudioModule.hasSfx(name)

Check if SFX is registered

  • name (string) SFX identifier

  • returns (boolean)

AudioModule.unregisterSfx(name)

Remove a registered SFX

  • name (string) SFX identifier

AudioModule.getSfxList()

Get all registered SFX names

  • returns (string[])

AudioModule.playSong(songData, loop)

Play a song (background music)

  • songData (table) Song data with
  • loop (boolean|nil, optional) Whether to loop (default: false)

AudioModule.stopSong()

Stop currently playing song

AudioModule.isSongPlaying()

Check if a song is currently playing

  • returns (boolean)

AudioModule.getCurrentSong()

Get currently playing song data

  • returns (table|nil)

AudioModule.stopAll()

Stop all audio (SFX threads will complete, song stops immediately)

Last updated:

Released under the MIT License.