On this page:
racket-audio
9.2.0.5

racket-audio🔗ℹ

    1 Introduction racket-audio

      1.1 APIs for normal users

      1.2 Lower-level modules for geeks

    2 Audio Player

      2.1 Creating a player

      2.2 Remote defaults

      2.3 Basic playback

      2.4 Position, volume, and buffering

      2.5 State snapshots

      2.6 Events and callbacks

      2.7 Example

    3 audio-sniffer

      3.1 Overview

      3.2 Formats

      3.3 API

      3.4 Architecture

      3.5 Detection Details

      3.6 Why not use FFmpeg?

    4 TagLib Metadata

      4.1 Opening and closing tag handles

      4.2 Common tag fields

      4.3 Selected generic fields

      4.4 Audio properties

      4.5 Generic properties

      4.6 Embedded pictures

      4.7 Picture values

      4.8 Converting to a hash

      4.9 Copying tags and pictures

      4.10 Example

      4.11 Implementation notes

    5 Audio Encoding

      5.1 Pipeline

      5.2 Encoding a file

      5.3 Result hash

      5.4 Progress callback

      5.5 Opus settings

      5.6 FLAC settings

      5.7 Encoder registration

    6 PCM resampling with SoXR

    7 Encoder Test Program

      7.1 Program use

      7.2 Program options

      7.3 Racket functions

    8 Playback Test Program

      8.1 Purpose

      8.2 Selecting the test mode

      8.3 Queue setup

      8.4 Formatting state output

      8.5 State callback

      8.6 EOF callback and queue advancement

      8.7 Creating the player

      8.8 Starting the test

      8.9 Integration pattern

    9 Placed Audio Player

      9.1 Interface

      9.2 Overall state model

      9.3 Command protocol

      9.4 Worker and decoder lifecycle

      9.5 Audio output and buffering

      9.6 Pause, seek, and volume

      9.7 State snapshots and events

      9.8 Stop, cleanup, and quit

      9.9 Running in a place or in a thread

    10 audio-decoder

      10.1 Reader registration

      10.2 Audio handles

      10.3 Known extensions and validation

      10.4 Opening and callbacks

      10.5 Reading, seeking, and stopping

      10.6 Using custom decoders

    11 Asynchronous libao playback in Racket

      11.1 Overview

      11.2 Basic example

      11.3 Playback handles

      11.4 Buffer descriptions

      11.5 Queuing audio

      11.6 Playback state

      11.7 Volume and output format

      11.8 Playback buffer tuning

      11.9 Implementation strategy

      11.10 Compatibility notes

    12 flac-decoder

      12.1 Procedures

      12.2 Diagnostic bindings

      12.3 Notes

    13 mp3-decoder

      13.1 Validation

      13.2 Opening

      13.3 Reading

      13.4 Seeking

      13.5 Stopping

      13.6 Notes

    14 FFmpeg Decoder

      14.1 Stream Information

      14.2 Decoding Model

      14.3 Notes

    15 libao

      15.1 Audio handles

      15.2 Validation predicates

      15.3 Opening and closing

      15.4 Playback

      15.5 Playback state

      15.6 Volume control

      15.7 Notes

    16 FFmpeg Decoder Definitions

      16.1 Layering

      16.2 FFmpeg version information

      16.3 Implementation strategy

        16.3.1 C structs and offsets

        16.3.2 Defensive control flow

      16.4 Decoder instances

      16.5 Audio stream information

      16.6 Output format

      16.7 Decoding

      16.8 Decoded buffers

      16.9 Seeking

      16.10 Resource ownership

      16.11 Use through the decoder frontend

      16.12 Examples

    17 FFmpeg FFI

      17.1 Command Interface

      17.2 Format Callback

      17.3 Reading Audio

      17.4 Seeking

      17.5 Metadata

      17.6 Native Library

      17.7 Errors

    Index