from pydantic import BaseModel from enum import Enum class AudioFormat(str, Enum): WAV = "wav" # Supported by both backends MP3 = "mp3" # Supported by ffmpeg FLAC = "flac" # Supported by both AAC = "aac" # Supported by ffmpeg OGG = "ogg" # Supported by ffmpeg OPUS = "opus" # Supported by ffmpeg PCM = "pcm" # Raw PCM data # Format to backend mapping FORMAT_BACKENDS = { AudioFormat.WAV: ["soundfile", "ffmpeg"], AudioFormat.MP3: ["ffmpeg"], AudioFormat.FLAC: ["soundfile", "ffmpeg"], AudioFormat.AAC: ["ffmpeg"], AudioFormat.OGG: ["ffmpeg"], AudioFormat.OPUS: ["ffmpeg"], AudioFormat.PCM: ["soundfile"] }