WAV or Ogg Vorbis audio produced by bytes:audio() or file:read():audio() and played via datumhue.audio.play. One made from in-memory bytes is checked at once; one from a file or remote read loads and is checked in the background. Either decodes in the background: :ready() waits for it, and .state reads failed when the bytes were not audio.
Wait until this asset is fully loaded, then return it for chaining. An in-memory asset returns at once; one still loading (a file read or remote fetch) yields the coroutine until it lands. A load failure raises; format errors on playable assets still surface at use time.