Package com.tino1b2be.dtmf.io.wav


package com.tino1b2be.dtmf.io.wav
WAV AudioSourceProvider implementation for DTMF-Decoder v2.

This package hosts the public surface of the dtmf-io-wav module: WavAudioSourceProvider, the content-based WAV provider that the dtmf-io facade discovers via ServiceLoader, and WavAudioSource, the com.tino1b2be.dtmf.io.AudioSource implementation it returns from open(...). The provider is registered through META-INF/services/com.tino1b2be.dtmf.io.AudioSourceProvider so simply adding dtmf-io-wav to a consumer's runtime classpath enables AudioSources.open(wavFile) against PCM and IEEE float WAV files without any additional wiring.

The reader is a clean-room RIFF parser (Requirement 9.12): it does not delegate format decoding to javax.sound.sampled and it declares zero external runtime dependencies (Requirement 1.3). Supported payloads are PCM integer at 16, 24, or 32 bits and IEEE float at 32 or 64 bits, each at mono or stereo channel counts (Requirements 9.7 through 9.9); WAVEFORMATEXTENSIBLE headers whose SubFormat GUID resolves to one of those cases are opened transparently, and compressed codecs (μ-law, A-law, ADPCM, etc.) are rejected with an UnsupportedAudioFormatException identifying the compression code (Requirement 9.10). All production classes in the dtmf-io-wav module live under this package root (Requirement 2.5); parsing utilities that are not part of the public surface live under com.tino1b2be.dtmf.io.wav.internal.

The concrete types are introduced starting at Stage 6 of the dtmf-io spec; this package-info.java is present from Stage 1 so the source tree exists for the build-shape smoke tests in Task 1.8.

Since:
2.1.0
  • Classes
    Class
    Description
    AudioSourceProvider implementation for the RIFF/WAVE (and RF64/WAVE) container formats.