o
    wiF                     @   s2   d dl Zd dlZd dlmZ dddZdd ZdS )    NFc           
      C   s   t | }| }| }| }|dkrd}n|dkrd}ntd|| }dt| }t	j
|t	|d}	|dkrD|	d|}	|rL||	f|fS ||	fS )	N   uint8   int16z%bytes_per_sample must be 1, 2, 4 or 8,   )dtype)waveopengetframerategetnchannelsgetsampwidth
ValueError
readframes
getnframeslennp
frombufferr   reshape)
fdreturn_sizewdrate	nchannelsnbytesr   datasizearray r   J/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/kaldiio/wavio.pyread_wav   s"   
r    c                 C   s   |j tjkr	d}n|j tjkrd}ntd|j |jdkr%|jd }n|jdkr-d}ntd|jt	| }|
| || || | }|| dt| S )Nr   r   zNot Supported dtype {}z+Not Supported dimension: 0 or 1, but got {}r   )r   r   r   r   r   formatndimshaper	   
Wave_writesetnchannelssetsampwidthsetframeratetobyteswriteframesr   )r   r   r   	sampwidthr   wr   r   r   r   	write_wav   s&   







r,   )F)numpyr   r	   kaldiio.python_wavepython_waver    r,   r   r   r   r   <module>   s
    
