On this page:
racket-audio
9.3.0.2

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 Basic playback

      2.3 Position, volume, and buffering

      2.4 State snapshots

      2.5 Events and callbacks

      2.6 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 Built-in decoder selection

      10.5 Opening and callbacks

      10.6 Reading, seeking, and stopping

      10.7 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 opusfile-decoder

      13.1 Availability

      13.2 Output format setting

      13.3 Validation

      13.4 Opening

      13.5 Reading

      13.6 Seeking

      13.7 Stopping

      13.8 Notes

    14 mp3-decoder

      14.1 Validation

      14.2 Opening

      14.3 Reading

      14.4 Seeking

      14.5 Stopping

      14.6 Notes

    15 FFmpeg Decoder

      15.1 Stream Information

      15.2 Decoding Model

      15.3 Notes

    16 libao

      16.1 Audio handles

      16.2 Validation predicates

      16.3 Opening and closing

      16.4 Playback

      16.5 Playback state

      16.6 Volume control

      16.7 Notes

    17 FFmpeg Decoder Definitions

      17.1 Layering

      17.2 FFmpeg version information

      17.3 Implementation strategy

        17.3.1 C structs and offsets

        17.3.2 Defensive control flow

      17.4 Decoder instances

      17.5 Audio stream information

      17.6 Output format

      17.7 Decoding

      17.8 Decoded buffers

      17.9 Seeking

      17.10 Resource ownership

      17.11 Use through the decoder frontend

      17.12 Examples

    18 FFmpeg FFI

      18.1 Command Interface

      18.2 Format Callback

      18.3 Reading Audio

      18.4 Seeking

      18.5 Metadata

      18.6 Native Library

      18.7 Errors

    Index