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 |
