Source code for transparentmeta.use_case.write.wav_metadata_writer

# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright (c) 2025 Transparent Audio
# Author: Valerio Velardo - valerio@transparentaudio.ai

"""
This module provides a `WAVMetadataWriter` class that writes metadata and
a digital signature to WAV files using the Mutagen library for ID3 tagging.
"""

from pathlib import Path
from typing import cast

from mutagen.wave import WAVE

from transparentmeta.use_case.write.metadata_writer import MetadataWriter


[docs] class WAVMetadataWriter(MetadataWriter): """Writes metadata and a digital signature to WAV files using Mutagen."""
[docs] def write(self, filepath: Path, metadata: str, signature: str) -> None: """Writes metadata and signature ID3 TXXX fields of a WAV file. Args: filepath (Path): The WAV file path. metadata (str): Serialized metadata string with transparency info. signature (str): The signature string. """ audio = WAVE(filepath) audio = cast(WAVE, self._write_id3_tags(audio, metadata, signature)) audio.save()