====== 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 |