
    /;ji                     B    d dl Zd dlmZ ddlmZ  G d de          ZdS )    N)Optional   )WatermarkerBasec            	           e Zd ZdZ	 	 ddej        deej                 dedej        fdZ	 	 dd	ej        ded
ee         dej        fdZ	dS )DummyWatermarkerz
    A dummy watermarker for testing and demonstration purposes.
    
    This watermarker doesn't actually embed or extract real watermarks,
    but serves as a placeholder implementation for testing the framework.
    ND  wav	watermarksample_ratereturnc                 ,    |                     d          S )a  
        Simulates applying a watermark by simply rounding the audio signal.
        
        Args:
            wav: Input audio signal as numpy array
            watermark: Ignored in this implementation
            sample_rate: Ignored in this implementation
            **kwargs: Additional ignored parameters
            
        Returns:
            The input audio with minimal modification (rounded to 5 decimal places)
           )round)selfr	   r
   r   kwargss        Q/root/voice-cloning/.venv/lib/python3.11/site-packages/perth/dummy_watermarker.pyapply_watermarkz DummyWatermarker.apply_watermark   s     yy||    watermarked_wavwatermark_lengthc                     ||nd}t           j                            dd|                              t           j                  S )a  
        Simulates extracting a watermark by returning random data.
        
        Args:
            watermarked_wav: Watermarked audio signal as numpy array
            sample_rate: Ignored in this implementation
            watermark_length: Length of the dummy watermark to generate
            **kwargs: Additional ignored parameters
            
        Returns:
            A random binary watermark of specified length or default 32 bits
        N    r      )size)nprandomrandintastypefloat32)r   r   r   r   r   lengths         r   get_watermarkzDummyWatermarker.get_watermark   sA     &6%A!!ry  AF 33::2:FFFr   )Nr   )r   N)
__name__
__module____qualname____doc__r   ndarrayr   intr   r!    r   r   r   r      s          RV*/ 2: (2::N $'>@j     MR7;G GRZ Gc G'/}GJL*G G G G G Gr   r   )numpyr   typingr   watermarkerr   r   r(   r   r   <module>r,      ss              ( ( ( ( ( ('G 'G 'G 'G 'G 'G 'G 'G 'G 'Gr   