
    wi                     z    d dl Z d dlmZmZmZmZ d dlZd dlmZ ddl	m
Z
 ddlmZ ddlmZ  G d d	e          ZdS )
    N)BinaryIOOptionalTupleUnion)CodecConfig   )soundfile_backend)Backend)AudioMetaDatac                      e Zd Zeddeeeej        f         de	e         de
defd            Ze	 	 	 	 	 	 ddeeeej        f         de
de
dedede	e         de
deej        e
f         fd            Ze	 	 	 	 	 	 ddeeeej        f         dej        de
dede	e         de	e         de	e
         de
de	eeee
f                  dd
fd            Zedefd            Zedefd            Zd
S )SoundfileBackend   uriformatbuffer_sizereturnc                 ,    t          j        | |          S N)r	   info)r   r   r   s      m/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/torchaudio/_backend/soundfile.pyr   zSoundfileBackend.info   s     %c6222    r   TNframe_offset
num_frames	normalizechannels_firstc                 4    t          j        | |||||          S r   )r	   load)r   r   r   r   r   r   r   s          r   r   zSoundfileBackend.load   s!     !%c<YP^`fgggr   srcsample_rateencodingbits_per_samplecompressionc	           	      ^    |rt          d          t          j        | ||||||           d S )Nz:soundfile backend does not support argument `compression`.)r   r!   r"   )
ValueErrorr	   save)	r   r   r    r   r   r!   r"   r   r#   s	            r   r&   zSoundfileBackend.save   sP      	[YZZZk>&8et	
 	
 	
 	
 	
 	
r   c                     dS NT r   r   s     r   
can_decodezSoundfileBackend.can_decode0       tr   c                     dS r(   r)   r*   s     r   
can_encodezSoundfileBackend.can_encode4   r,   r   )r   )r   r   TTNr   )TNNNr   N)__name__
__module____qualname__staticmethodr   r   strosPathLiker   intr   r   boolr   torchTensorr   r   floatr&   r+   r.   r)   r   r   r   r      s+       3 3%#r{23 3Xc] 3Y\ 3hu 3 3 3 \3  # $	h 	h8S"+-.	h	h 	h 		h
 	h 	h 	h 
u|S 	!	h 	h 	h \	h 
  $ $"&)-@D
 
8S"+-.
\
 
 	

 
 3-
 "#
 
 eK$;<=
 

 
 
 \
$ 4    \ 4    \  r   r   )r4   typingr   r   r   r   r8   torchaudio.ior    r	   backendr
   commonr   r   r)   r   r   <module>r@      s    				 3 3 3 3 3 3 3 3 3 3 3 3  % % % % % %             ! ! ! ! ! !* * * * *w * * * * *r   