21 lines
528 B
Python
21 lines
528 B
Python
from __future__ import annotations
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
|
|
class AudioEffect(ABC):
|
|
"""Bazowy interfejs efektu audio operującego na 16-bitowym PCM stereo (48000Hz)."""
|
|
|
|
id: str
|
|
name: str
|
|
icon: str
|
|
|
|
@abstractmethod
|
|
def process(self, pcm_data: bytes, sample_rate: int = 48000) -> bytes:
|
|
"""Przetwarza ramkę surowego PCM (16-bit signed stereo little-endian)."""
|
|
...
|
|
|
|
def reset(self) -> None:
|
|
"""Resetuje ewentualny stan wewnętrzny filtra/efektu."""
|
|
pass
|