std.audio

Gemeinsame Audio-Typen und Dateiformat-Parser als Basis für die Audio-Unterpakete. AudioInfo beschreibt einen Audio-Stream mit Format, Sample-Rate, Kanalanzahl, Bittiefe, Datenoffset und Gesamtdauer. Parser für WAV-Dateien (WAVParse, WAVReadData, WAVGetBuffer) und MP3 (MP3Parse für Metadaten). Format-Konvertierung: 8-Bit nach 16-Bit PCM (WAVConvert8To16) und Stereo nach Mono (WAVStereoToMono). WAV-Dateien schreiben (WAVWriteHeader, WAVSaveFile).

Einsatzbereiche: Basis-Unit für std.audio.alsa, std.audio.mpg123 und std.audio.playback; Audio-Verarbeitung, TTS-Ausgabe, Signalanalyse, Aufnahme und Wiedergabe von PCM-Daten.

Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne


Konstanten

Name Typ Wert Sichtbarkeit
AUDIO_OK int64 0 pub
AUDIO_ERROR int64 -1 pub
AUDIO_NOT_SUPPORTED int64 -3 pub
AF_PCM8 int64 1 pub
AF_PCM16 int64 2 pub
AF_MP3 int64 10 pub

Typen

AudioInfo (struct)

Feld Typ
format int64
sampleRate int64
channels int64
bitsPerSample int64
dataOffset int64
dataSize int64
durationMs int64

Funktionen

Signatur Sichtbarkeit Beschreibung
MP3Parse(path: pchar, info: AudioInfo): int64 pub Liest MP3-Metadaten in AudioInfo
WAVParse(path: pchar, info: AudioInfo): int64 pub Liest WAV-Header in AudioInfo
WAVReadData(path: pchar, info: AudioInfo): int64 pub Liest PCM-Nutzdaten aus WAV-Datei
WAVGetBuffer(path: pchar, info: AudioInfo): int64 pub Gibt Zeiger auf WAV-Datenpuffer
WAVConvert8To16(src: int64, dst: int64, count: int64): int64 pub Konvertiert 8-Bit-PCM nach 16-Bit
WAVStereoToMono(src: int64, dst: int64, frames: int64): int64 pub Mischt Stereo-PCM zu Mono
SEEK_SET int64 0 pub
SEEK_CUR int64 1 pub
SEEK_END int64 2 pub
PROT_READ int64 1 pub
PROT_WRITE int64 2 pub
PROT_RW int64 3 pub
MAP_ANON int64 32 pub
MAP_PRIVATE int64 2 pub
O_RDONLY int64 0 pub
O_WRONLY int64 1 pub
O_RDWR int64 2 pub
O_CREAT int64 64 pub
O_TRUNC int64 512 pub
FD_NONE int64 -1 pub
AudioErrorString(code: int64): pchar pub Gibt Fehlermeldung als C-String
WAVWriteHeader(fd: int64, dataSize: int64, sampleRate: int64, channels: int64, bitsPerSample: int64): int64 pub Schreibt WAV-Header in Dateideskriptor
WAVSaveFile(path: pchar, buffer: int64, dataSize: int64, sampleRate: int64, channels: int64, bitsPerSample: int64): int64 pub Speichert PCM-Puffer als WAV-Datei