Expand description
SyncTERM’s audio APCs (ESC _ SyncTERM:A;... ESC \), as CTerm
documents them: 256 slots of sound (16-bit stereo at 44.1 kHz) filled
from files in the cache or sent inline (WAV, AIFF, VOC and Ogg Opus are
decoded here), or synthesized; and 16 channels the BBS queues them on,
with fades, loops, crossfades and volume. Synchronet’s doors play their
sound effects and music this way.
The mixing is the front end’s: queued sound goes out as AudioOps.
What the BBS asks about (is a channel playing?) is answered from the
lengths of what was queued.
Structs§
- Audio
- Sound
- A sound in a slot or on a channel. Its length is known at once; its frames once they’re decoded, which for the slow formats (Opus, Vorbis, FLAC) happens on a thread of its own, so the screen doesn’t wait.
Enums§
- AudioOp
- What the front end’s mixer is to do.
Constants§
- BASE_DB
- APC channels start at -12 dB.
- CHANNELS
- FIRST_
APC_ CHANNEL - The first channel the BBS may queue sound on; 0 is ANSI music, 1 sound effects (RIP), which are the terminal’s own.
- RATE
- The sample rate of slots and channels.
- SLOTS
Functions§
- decode
- A sound file, as stereo frames at
RATE: WAV, AIFF and VOC at once, Ogg (Opus or Vorbis), FLAC and MP3 on a thread (their length read first). - format_
supported - Whether a libsndfile format (major
pm, subtypeps) is one BadTerm decodes. - parse_
id - Parse a number as the doc allows: decimal or
0xhex. - raw8
- Raw signed 8-bit mono at
rate: an Amiga sample with no header.