o
    i1                     @   sP   d Z ddlZ				ddededed	ed
ef
ddZddeded
efddZdS )zX
Audio utility functions.

Helper functions for audio processing and format conversion.
    N]        sample_ratechannelsbits_per_sample	data_sizereturnc                 C   sH   | | | d }|| d }t ddd| dddd|| |||d	|}|S )
aM  
    Create a WAV file header.
    
    Args:
        sample_rate: Sample rate in Hz (default: 24000)
        channels: Number of channels (1=mono, 2=stereo)
        bits_per_sample: Bits per sample (usually 16)
        data_size: Size of audio data in bytes (0 for unknown)
    
    Returns:
        WAV header bytes (44 bytes)
       z<4sI4s4sIHHIIHH4sIs   RIFF$   s   WAVEs   fmt r   r   s   data)structpack)r   r   r   r   	byte_rateblock_alignheader r   2/home/ubuntu/veenaModal/veena3modal/audio/utils.pycreate_wav_header
   s&   r   audio_bytesc                 C   s   t |ddt| d}||  S )z
    Add WAV header to raw PCM audio bytes.
    
    Args:
        audio_bytes: Raw PCM audio data (16-bit, mono)
        sample_rate: Sample rate in Hz
    
    Returns:
        Complete WAV file bytes (header + data)
    r   r   )r   r   r   r   )r   len)r   r   r   r   r   r   add_wav_header3   s   r   )r   r   r   r   )r   )__doc__r   intbytesr   r   r   r   r   r   <module>   s$    
)