grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026§ b¾<€BPáÝãóÒ—dZddlZddlZddlZddgZejed¬¦«Gd„de¦«ZdZ d „Z d „Z d „Z d „Z d „ZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Zej¦«5ejde¦«ddlmZddd¦«n #1swxYwYddlmZedd¦«Zdej_dej _dej!_dej"_dej#_d ej$_Gd!„d"¦«Z%Gd#„d$¦«Z&d6d%„Z'ed&k�rÏddl(Z(e(j)d'd…se(j) *d(¦«e(j)d'Z+e'e+d)¦«5Z,e-d*e+¦«e-d+e, .¦«¦«e-d,e, /¦«¦«e-d-e, 0¦«¦«e-d.e, 1¦«¦«e-d/e, 2¦«¦«e-d0e, 3¦«¦«e(j)d1d…rŸe(j)d1Z4e-d2e4¦«e'e4d3¦«5Z5e5 6e, 7¦«¦« e, 8d4¦«Z9e9sne5 :e9¦«Œ. ddd¦«n #1swxYwYe-d5¦«ddd¦«dS#1swxYwYdSdS)7aJStuff to parse AIFF-C and AIFF files. Unless explicitly stated otherwise, the description below is true both for AIFF-C files and AIFF files. An AIFF-C file has the following structure. +-----------------+ | FORM | +-----------------+ | | +----+------------+ | | AIFC | | +------------+ | | | | | . | | | . | | | . | +----+------------+ An AIFF file has the string "AIFF" instead of "AIFC". A chunk consists of an identifier (4 bytes) followed by a size (4 bytes, big endian order), followed by the data. The size field does not include the size of the 8 byte header. The following chunk types are recognized. FVER (AIFF-C only). MARK <# of markers> (2 bytes) list of markers: (2 bytes, must be > 0) (4 bytes) ("pstring") COMM <# of channels> (2 bytes) <# of sound frames> (4 bytes) (2 bytes) (10 bytes, IEEE 80-bit extended floating point) in AIFF-C files only: (4 bytes) ("pstring") SSND (4 bytes, not used by this program) (4 bytes, not used by this program) A pstring consists of 1 byte length, a string of characters, and 0 or 1 byte pad to make the total length even. Usage. Reading AIFF files: f = aifc.open(file, 'r') where file is either the name of a file or an open file pointer. The open file pointer must have methods read(), seek(), and close(). In some types of audio files, if the setpos() method is not used, the seek() method is not necessary. This returns an instance of a class with the following public methods: getnchannels() -- returns number of audio channels (1 for mono, 2 for stereo) getsampwidth() -- returns sample width in bytes getframerate() -- returns sampling frequency getnframes() -- returns number of audio frames getcomptype() -- returns compression type ('NONE' for AIFF files) getcompname() -- returns human-readable version of compression type ('not compressed' for AIFF files) getparams() -- returns a namedtuple consisting of all of the above in the above order getmarkers() -- get the list of marks in the audio file or None if there are no marks getmark(id) -- get mark with the specified id (raises an error if the mark does not exist) readframes(n) -- returns at most n frames of audio rewind() -- rewind to the beginning of the audio stream setpos(pos) -- seek to the specified position tell() -- return the current position close() -- close the instance (make it unusable) The position returned by tell(), the position given to setpos() and the position of marks are all compatible and have nothing to do with the actual position in the file. The close() method is called automatically when the class instance is destroyed. Writing AIFF files: f = aifc.open(file, 'w') where file is either the name of a file or an open file pointer. The open file pointer must have methods write(), tell(), seek(), and close(). This returns an instance of a class with the following public methods: aiff() -- create an AIFF file (AIFF-C default) aifc() -- create an AIFF-C file setnchannels(n) -- set the number of channels setsampwidth(n) -- set the sample width setframerate(n) -- set the frame rate setnframes(n) -- set the number of frames setcomptype(type, name) -- set the compression type and the human-readable compression type setparams(tuple) -- set all parameters at once setmark(id, pos, name) -- add specified mark to the list of marks tell() -- return current position in output file (useful in combination with setmark()) writeframesraw(data) -- write audio frames without pathing up the file header writeframes(data) -- write audio frames and patch up the file header close() -- patch up the file header and close the output file You should set the parameters before the first writeframesraw or writeframes. The total number of frames does not need to be set, but when it is set to the correct value, the header does not have to be patched up. It is best to first set all parameters, perhaps possibly the compression type, and then write audio frames using writeframesraw. When all frames have been written, either call writeframes(b'') or close() to patch up the sizes in the header. Marks can be added anytime. If there are any marks, you must call close() after all frames have been written. The close() method is called automatically when the class instance is destroyed. When a file is opened with the extension '.aiff', an AIFF file is written, otherwise an AIFF-C file is written. This default can be changed by calling aiff() or aifc() before the first writeframes or writeframesraw. éNÚErrorÚopen)éé )Úremovecó—eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©óú+/opt/alt/python311/lib64/python3.11/aifc.pyrr“s€€€€€Ø€Dr l@QEcó–— tjd| d¦«¦«dS#tj$r td‚wxYw)Nú>lér©ÚstructÚunpackÚreadÚerrorÚEOFError©Úfiles rÚ _read_longr˜óM€ð!ÝŒ}˜T 4§9¢9¨Q¡<¤<Ñ0Ô0°Ô3Ð3øÝ Œ<ð!ð!ð!ݘDÐ ð!øøøó ‚-0°Acó–— tjd| d¦«¦«dS#tj$r td‚wxYw)Nú>Lrrrrs rÚ _read_ulongržrrcó–— tjd| d¦«¦«dS#tj$r td‚wxYw)Nú>hérrrs rÚ _read_shortr#¤rrcó–— tjd| d¦«¦«dS#tj$r td‚wxYw)Nú>Hr"rrrs rÚ _read_ushortr&ªrrcó—t| d¦«¦«}|dkrd}n| |¦«}|dzdkr| d¦«}|S)Nérr )Úordr)rÚlengthÚdataÚdummys rÚ _read_stringr-°s[€Ý �—’˜1‘”Ñ Ô €FØ �‚{€{؈ˆà�yŠy˜Ñ Ô ˆØ ��z�Q‚€Ø— ’ ˜!‘ ” ˆØ €Kr gâÿÿÿÿÿïcó—t|¦«}d}|dkrd}|dz}t|¦«}t|¦«}||cxkr |cxkrdkrnnd}n/|dkrt}n!|dz }|dz|ztd |d z ¦«z}||zS) Nr(réÿÿÿÿé€géÿiÿ?lg@é?)r#rÚ _HUGE_VALÚpow)ÚfÚexponÚsignÚhimantÚlomants rÚ _read_floatr:¼sº€Ý ˜‰NŒN€EØ €DØ ˆq‚y€y؈ؘ‘ˆÝ ˜‰^Œ^€FÝ ˜‰^Œ^€FØ �Ð%Ð%Ò%Ð%˜&Ð%Ð%Ò%Ð% AÒ%Ð%Ð%Ð%Ð%Ø ˆˆØ �&ŠˆÝ ˆˆà˜‘ ˆØ �kÑ ! FÑ *­c°#°u¸r±zÑ.BÔ.BÑ BˆØ �!‰8€Or cóV—| tjd|¦«¦«dS)Nr!©ÚwriterÚpack©r5Úxs rÚ _write_shortrAÍó&€Ø‡G‚G�FŒK˜˜aÑ Ô Ñ!Ô!Ð!Ð!Ð!r cóV—| tjd|¦«¦«dS)Nr%r<r?s rÚ _write_ushortrDÐrBr cóV—| tjd|¦«¦«dS)Nrr<r?s rÚ _write_longrFÓrBr cóV—| tjd|¦«¦«dS)Nrr<r?s rÚ _write_ulongrHÖrBr có8—t|¦«dkrtd¦«‚| tjdt|¦«¦«¦«| |¦«t|¦«dzdkr| d¦«dSdS)Néÿz%string exceeds maximum pstring lengthÚBr(ró)ÚlenÚ ValueErrorr=rr>)r5Úss rÚ _write_stringrPÙs…€Ý ˆ1�v„v�‚|€|ÝÐ@ÑAÔAÐA؇G‚G�FŒK˜�S ™VœVÑ $Ô $Ñ%Ô%Ð%؇G‚GˆA�J„J€JÝ ˆ1�v„v��z�Q‚€Ø �Š�ÑÔÐÐÐð€r cóN—ddl}|dkrd}|dz}nd}|dkrd}d}d}nÓ| |¦«\}}|dks |dks||kr |dz}d}d}nŸ|dz}|dkr| ||¦«}d}||z}| |d¦«}| |¦«}t |¦«}| ||z d¦«}| |¦«}t |¦«}t ||¦«t ||¦«t ||¦«dS) Nrr0r/i@r(r1iþ?é )ÚmathÚfrexpÚldexpÚfloorÚintrDrH) r5r@rSr7r6r8r9ÚfmantÚfsmants rÚ _write_floatrZásO€Ø€K€K€K؈1‚u€uØˆØ �‰FˆˆàˆØˆA‚v€v؈؈؈ˆà—z’z !‘}”}‰ ˆˆuØ �5Š=ˆ=˜E QšJ˜J¨%°5ª.¨.ؘ‘KˆE؈F؈FˆFà˜E‘MˆEØ�qŠyˆyØŸ š  5¨%Ñ0Ô0�Ø�ؘD‘LˆEØ—J’J˜u bÑ)Ô)ˆEØ—Z’Z Ñ&Ô&ˆFݘ‘[”[ˆFØ—J’J˜u v™~¨rÑ2Ô2ˆEØ—Z’Z Ñ&Ô&ˆFݘ‘[”[ˆFÝ�!�UÑÔÐÝ��FÑÔÐÝ��FÑÔÐÐÐr Úignore)ÚChunk)Ú namedtupleÚ _aifc_paramsz7nchannels sampwidth framerate nframes comptype compnamez3Number of audio channels (1 for mono, 2 for stereo)zSample width in byteszSampling frequencyzNumber of audio framesz(Compression type ("NONE" for AIFF files)zRA human-readable version of the compression type ('not compressed' for AIFF files)có¨—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZdS)Ú Aifc_readNcóB—d|_d|_g|_d|_||_t |¦«}| ¦«dkrtd¦«‚| d¦«}|dkrd|_ n|dkrd|_ ntd¦«‚d|_ d|_ d|_ t |j¦«}n#t$rYn°wxYw| ¦«}|d kr| |¦«d|_ n`|d kr$||_ | d ¦«}d|_ n6|d krt|¦«|_n|d kr| |¦«| ¦«ŒÙ|j r|j std¦«‚dS)NróFORMz file does not start with FORM idróAIFFóAIFCr(znot an AIFF or AIFF-C fileóCOMMóSSNDéóFVERóMARKz$COMM chunk and/or SSND chunk missing)Ú_versionÚ_convertÚ_markersÚ _soundposÚ_filer\ÚgetnamerrÚ_aifcÚ_comm_chunk_readÚ _ssnd_chunkÚ_ssnd_seek_neededrÚ_read_comm_chunkrÚ _readmarkÚskip)ÚselfrÚchunkÚformdataÚ chunknamer,s rÚinitfpzAifc_read.initfp:s΀؈Œ ؈Œ ؈Œ ؈ŒØˆŒ Ý�d‘ ” ˆØ �=Š=‰?Œ?˜gÒ %Ð %ÝÐ:Ñ;Ô;Ð ;Ø—:’:˜a‘=”=ˆØ �wÒ Ð ØˆDŒJˆJØ ˜Ò Р؈DŒJˆJåÐ4Ñ5Ô5Ð 5Ø !ˆÔ؈Ôð Ø%&ˆDÔ "ð ݘdœjÑ)Ô)��øÝð ð ð Ø�ð øøøàŸ š ™œˆIؘGÒ#Ð#Ø×%Ò% eÑ,Ô,Ð,Ø()�Ô%Ð%ؘgÒ%Ð%Ø#(�Ô ØŸ š  1™ œ �Ø)*�Ô&Ð&ؘgÒ%Ð%Ý +¨EÑ 2Ô 2�” � ؘgÒ%Ð%Ø—’˜uÑ%Ô%Ð%Ø �JŠJ‰LŒLˆLð% ð&Ô$ð @¨DÔ,<ð @ÝÐ>Ñ?Ô?Ð ?ð @ð @sÂ1Cà CÃCcóè—t|t¦«rGtj|d¦«} | |¦«dS#| ¦«‚xYw| |¦«dS)NÚrb)Ú isinstanceÚstrÚbuiltinsrr{Úclose©rwr5Ú file_objects rÚ__init__zAifc_read.__init__bsu€Ý �a�Ñ Ô ð Ý"œ-¨¨4Ñ0Ô0ˆKð Ø— ’ ˜KÑ(Ô(Ð(Ð(Ð(øð Ø×!Ò!Ñ#Ô#Ð#Øøøøð �KŠK˜‰NŒNˆNˆNˆNs ¬AÁAcó—|S©Nr ©rws rÚ __enter__zAifc_read.__enter__nó€Øˆ r có.—| ¦«dSr†©r�©rwÚargss rÚ__exit__zAifc_read.__exit__qó€Ø � Š ‰ Œ ˆ ˆ ˆ r có—|jSr†)rnr‡s rÚgetfpzAifc_read.getfpws €ØŒzÐr có"—d|_d|_dS)Nr(r)rsrmr‡s rÚrewindzAifc_read.rewindzs€Ø!"ˆÔ؈Œˆˆr cóR—|j}|�d|_| ¦«dSdSr†)rnr�©rwrs rr�zAifc_read.close~s/€ØŒzˆØ Р؈DŒJØ �JŠJ‰LŒLˆLˆLˆLð Ð r có—|jSr†)rmr‡s rÚtellzAifc_read.tell„ó €ØŒ~Ðr có—|jSr†)Ú _nchannelsr‡s rÚ getnchannelszAifc_read.getnchannels‡ó €ØŒÐr có—|jSr†)Ú_nframesr‡s rÚ getnframeszAifc_read.getnframesŠs €ØŒ}Ðr có—|jSr†)Ú _sampwidthr‡s rÚ getsampwidthzAifc_read.getsampwidth�rœr có—|jSr†)Ú _framerater‡s rÚ getframeratezAifc_read.getframerate�rœr có—|jSr†©Ú _comptyper‡s rÚ getcomptypezAifc_read.getcomptype“r˜r có—|jSr†©Ú _compnamer‡s rÚ getcompnamezAifc_read.getcompname–r˜r c ó—t| ¦«| ¦«| ¦«| ¦«| ¦«| ¦«¦«Sr†)r^r›r¢r¥rŸr©r­r‡s rÚ getparamszAifc_read.getparamsœsk€Ý˜D×-Ò-Ñ/Ô/°×1BÒ1BÑ1DÔ1DØ ×-Ò-Ñ/Ô/°·²Ñ1BÔ1BØ ×,Ò,Ñ.Ô.°×0@Ò0@Ñ0BÔ0BñDôDð Dr cóD—t|j¦«dkrdS|jS©Nr©rMrlr‡s rÚ getmarkerszAifc_read.getmarkers¡ó$€Ý ˆtŒ}Ñ Ô  Ò "Ð "Ø�4ØŒ}Ðr cóz—|jD]}||dkr|cSŒtd |¦«¦«‚©Nrzmarker {0!r} does not exist©rlrÚformat©rwÚidÚmarkers rÚgetmarkzAifc_read.getmark¦óK€Ø”mð ð ˆFØ�V˜A”YŠˆØ� � � ðåÐ1×8Ò8¸Ñ<Ô<Ñ=Ô=Ð=r cób—|dks ||jkrtd¦«‚||_d|_dS)Nrzposition not in ranger()ržrrmrs)rwÚposs rÚsetposzAifc_read.setpos¬s;€Ø �Š7ˆ7�c˜DœMÒ)Ð)ÝÐ/Ñ0Ô0Ð 0؈ŒØ!"ˆÔÐÐr cóΗ|jri|j d¦«|j d¦«}|j|jz}|r|j |dz¦«d|_|dkrdS|j ||jz¦«}|jr|r| |¦«}|jt|¦«|j|j zzz|_|S)Nrrgr ) rsrrÚseekrrmÚ _framesizerkrMršr¡)rwÚnframesr,r¿r+s rÚ readframeszAifc_read.readframes²sñ€Ø Ô !ð 'Ø Ô × !Ò ! !Ñ $Ô $Ð $ØÔ$×)Ò)¨!Ñ,Ô,ˆEØ”. 4¤?Ñ2ˆCØð /ØÔ ×%Ò% c¨A¡gÑ.Ô.Ð.Ø%&ˆDÔ "Ø �aŠ<ˆ<Ø�3ØÔ×$Ò$ W¨t¬Ñ%>Ñ?Ô?ˆØ Œ=ð '˜Tð 'Ø—=’= Ñ&Ô&ˆDØœ­#¨d©)¬)¸¼Ø:>¼/ñ9Jñ+KñKˆŒàˆ r có—tj¦«5tjdt¬¦«ddl}ddd¦«n #1swxYwY| |d¦«S©Nr[©Úcategoryrr")ÚwarningsÚcatch_warningsÚ simplefilterÚDeprecationWarningÚaudioopÚalaw2lin©rwr+rÎs rÚ _alaw2linzAifc_read._alaw2linÇóž€Ý Ô $Ñ &Ô &ð ð Ý Ô ! (Õ5GÐ HÑ HÔ HÐ HØ ˆNˆNˆNð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð×Ò  aÑ(Ô(Ð(ó” AÁAÁAcó—tj¦«5tjdt¬¦«ddl}ddd¦«n #1swxYwY| |d¦«SrÇ)rÊrËrÌrÍrÎÚulaw2linrÐs rÚ _ulaw2linzAifc_read._ulaw2linÍrÒrÓcó—tj¦«5tjdt¬¦«ddl}ddd¦«n #1swxYwYt |d¦«sd|_| |d|j¦«\}|_|S©Nr[rÈrÚ _adpcmstater")rÊrËrÌrÍrÎÚhasattrrÙÚ adpcm2linrÐs rÚ _adpcm2linzAifc_read._adpcm2linÓsÉ€Ý Ô $Ñ &Ô &ð ð Ý Ô ! (Õ5GÐ HÑ HÔ HÐ HØ ˆNˆNˆNð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ�t˜]Ñ+Ô+ð $à#ˆDÔ Ø!(×!2Ò!2°4¸¸DÔ WÒ,Ð,Ø$(¤O�D”M�MØ”^Ð'9Ð9Ð9Ø$(¤N�D”M�MØ”^Ð'9Ð9Ð9Ø$(¤N�D”M�MØ”^Ð'9Ð9Ð9Ø$(¤N�D”M�MåÐ >Ñ?Ô?Ð?Ø"#�”��ð)Ð(ð%ˆDŒNØ.ˆDŒNˆNˆNr cóž—t|¦«} t|¦«D]P}t|¦«}t|¦«}t|¦«}|s|r|j |||f¦«ŒQdS#t $rOdt|j¦«›dt|j¦«dkrdnd›d|›�}tj |¦«YdSwxYw)Nz"Warning: MARK chunk contains only z markerr(ÚrOz instead of ) r#Úrangerr-rlÚappendrrMrÊrõ)rwrxÚnmarkersÚirºr¿ÚnameÚws rruzAifc_read._readmarks€Ý˜uÑ%Ô%ˆð ݘ8‘_”_ð :ð :�Ý  Ñ'Ô'�Ý  Ñ'Ô'�Ý# EÑ*Ô*�Øð:˜$ð:ð”M×(Ò(¨"¨c°4¨Ñ9Ô9Ð9øð :ð :øõð ð ð ð å�d”mÑ$Ô$Ð$Ð$­C°´ Ñ,>Ô,>À!Ò,CÐ,C b bÈÐ&LÐ&LØ�(ðˆAõ ŒM˜!Ñ Ô Ð Ð Ð Ð ð  øøøs‘A A3Á3AC à C )r r r rnr{r„rˆrŽr‘r“r�r—r›rŸr¢r¥r©r­r¯r³r¼rÀrÅrÑrÖrÜràrtrur r rr`r`s›€€€€€ðH €Eð&@ð&@ð&@ðP ð ð ððððððð ððððððððð ððððððððððððððððððððð DðDðDð ððð >ð>ð>ð #ð#ð#ð ððð*)ð)ð)ð )ð)ð)ð ððð)ð)ð)ð */ð*/ð*/ðXððððr r`cóð—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d „Z"d!„Z#d"„Z$d#„Z%d$„Z&d%„Z'd&„Z(dS)'Ú Aifc_writeNcó&—t|t¦«rftj|d¦«} | |¦«n#| ¦«‚xYw| d¦«r d|_dSdS| |¦«dS)NÚwbz.aiffr)r~rr€rr{r�Úendswithrpr‚s rr„zAifc_write.__init__Cs�€Ý �a�Ñ Ô ð Ý"œ-¨¨4Ñ0Ô0ˆKð Ø— ’ ˜KÑ(Ô(Ð(Ð(øð Ø×!Ò!Ñ#Ô#Ð#Øøøøð�zŠz˜'Ñ"Ô"ð Ø�” � � ð ð ð �KŠK˜‰NŒNˆNˆNˆNs ¬AÁAcóâ—||_t|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ g|_ d|_d|_dS)Nrçrórr()rnÚ _AIFC_versionrjr¨r¬rkršr¡r¤ržÚ_nframeswrittenÚ _datawrittenÚ _datalengthrlÚ _marklengthrpr•s rr{zAifc_write.initfpSss€ØˆŒ Ý%ˆŒ Ø ˆŒØ*ˆŒØˆŒ ؈ŒØˆŒØˆŒØˆŒ Ø ˆÔØˆÔØˆÔ؈Œ ØˆÔØˆŒ ˆ ˆ r có.—| ¦«dSr†r‹r‡s rÚ__del__zAifc_write.__del__dr�r có—|Sr†r r‡s rrˆzAifc_write.__enter__gr‰r có.—| ¦«dSr†r‹rŒs rrŽzAifc_write.__exit__jr�r có@—|jrtd¦«‚d|_dS)Nú0cannot change parameters after starting to writer©rrrpr‡s rÚaiffzAifc_write.aiffpó(€Ø Ô ð LÝÐJÑKÔKÐ K؈Œ ˆ ˆ r có@—|jrtd¦«‚d|_dS)Nrr(rr‡s rÚaifczAifc_write.aifcurr cój—|jrtd¦«‚|dkrtd¦«‚||_dS)Nrr(rä)rrrš)rwÚ nchannelss rÚ setnchannelszAifc_write.setnchannelszs@€Ø Ô ð LÝÐJÑKÔKÐ KØ �qŠ=ˆ=ÝÐ+Ñ,Ô,Ð ,Ø#ˆŒˆˆr có<—|jstd¦«‚|jS)Nznumber of channels not set)ršrr‡s rr›zAifc_write.getnchannels�s#€ØŒð 6ÝÐ4Ñ5Ô5Ð 5ØŒÐr cóv—|jrtd¦«‚|dks|dkrtd¦«‚||_dS)Nrr(rrã)rrr¡)rwÚ sampwidths rÚ setsampwidthzAifc_write.setsampwidth†sH€Ø Ô ð LÝÐJÑKÔKÐ KØ �qŠ=ˆ=˜I¨šM˜MÝÐ*Ñ+Ô+Ð +Ø#ˆŒˆˆr có<—|jstd¦«‚|jS)Nzsample width not set)r¡rr‡s rr¢zAifc_write.getsampwidth�s#€ØŒð 0ÝÐ.Ñ/Ô/Ð /ØŒÐr cój—|jrtd¦«‚|dkrtd¦«‚||_dS)Nrrzbad frame rate)rrr¤)rwÚ framerates rÚ setframeratezAifc_write.setframerate’s@€Ø Ô ð LÝÐJÑKÔKÐ KØ ˜Š>ˆ>ÝÐ(Ñ)Ô)Ð )Ø#ˆŒˆˆr có<—|jstd¦«‚|jS)Nzframe rate not set)r¤rr‡s rr¥zAifc_write.getframerate™s#€ØŒð .ÝÐ,Ñ-Ô-Ð -ØŒÐr có@—|jrtd¦«‚||_dS)Nr)rrrž)rwrÄs rÚ setnframeszAifc_write.setnframesžs(€Ø Ô ð LÝÐJÑKÔKÐ K؈Œ ˆ ˆ r có—|jSr†©rr‡s rrŸzAifc_write.getnframes£ó €ØÔ#Ð#r cót—|jrtd¦«‚|dvrtd¦«‚||_||_dS©Nr)rçrêrërírîrèrðrñrò)rrr¨r¬)rwÚcomptypeÚcompnames rÚ setcomptypezAifc_write.setcomptype¦sS€Ø Ô ð LÝÐJÑKÔKÐ KØ ðIð Ið IåÐ6Ñ7Ô7Ð 7Ø!ˆŒØ!ˆŒˆˆr có—|jSr†r§r‡s rr©zAifc_write.getcomptype¯r˜r có—|jSr†r«r‡s rr­zAifc_write.getcompname²r˜r có>—|\}}}}}}|jrtd¦«‚|dvrtd¦«‚| |¦«| |¦«| |¦«| |¦«| ||¦«dSr')rrrrrr"r*)rwÚparamsrrrrÄr(r)s rÚ setparamszAifc_write.setparamsºs½€ØGMÑDˆ �9˜i¨°(¸HØ Ô ð LÝÐJÑKÔKÐ KØ ðIð Ið IåÐ6Ñ7Ô7Ð 7Ø ×Ò˜)Ñ$Ô$Ð$Ø ×Ò˜)Ñ$Ô$Ð$Ø ×Ò˜)Ñ$Ô$Ð$Ø �Š˜Ñ Ô Ð Ø ×Ò˜ 8Ñ,Ô,Ð,Ð,Ð,r có®—|jr|jr|jstd¦«‚t |j|j|j|j|j|j¦«S)Nznot all parameters set)ršr¡r¤rr^ržr¨r¬r‡s rr¯zAifc_write.getparamsÇs[€ØŒð 2 d¤oð 2¸T¼_ð 2ÝÐ0Ñ1Ô1Ð 1ݘDœO¨T¬_¸d¼oØ œM¨4¬>¸4¼>ñKôKð Kr cór—|dkrtd¦«‚|dkrtd¦«‚t|t¦«std¦«‚tt |j¦«¦«D])}||j|dkr|||f|j|<dSŒ*|j |||f¦«dS)Nrzmarker ID must be > 0zmarker position must be >= 0zmarker name must be bytes)rr~ÚbytesrùrMrlrú)rwrºr¿rýrüs rÚsetmarkzAifc_write.setmarkÍsÍ€Ø �Š7ˆ7ÝÐ/Ñ0Ô0Ð 0Ø �Š7ˆ7ÝÐ6Ñ7Ô7Ð 7ݘ$¥Ñ&Ô&ð 5ÝÐ3Ñ4Ô4Ð 4Ý•s˜4œ=Ñ)Ô)Ñ*Ô*ð ð ˆAØ�T”] 1Ô% aÔ(Ò(Ð(Ø#% s¨D =�” ˜aÑ Ø��ð)ð Œ ×Ò˜b # t˜_Ñ-Ô-Ð-Ð-Ð-r cóz—|jD]}||dkr|cSŒtd |¦«¦«‚r¶r·r¹s rr¼zAifc_write.getmarkÚr½r cóD—t|j¦«dkrdS|jSr±r²r‡s rr³zAifc_write.getmarkersàr´r có—|jSr†r$r‡s rr—zAifc_write.tellår%r cóÆ—t|ttf¦«s"t|¦« d¦«}| t |¦«¦«t |¦«|j|jzz}|j r|  |¦«}|j   |¦«|j |z|_ |j t |¦«z|_ dS)NrK)r~r2Ú bytearrayÚ memoryviewÚcastÚ_ensure_header_writtenrMr¡ršrkrnr=rr)rwr+rÄs rÚwriteframesrawzAifc_write.writeframesrawèsĀݘ$¥­ Ð 2Ñ3Ô3ð .ݘdÑ#Ô#×(Ò(¨Ñ-Ô-ˆDØ ×#Ò#¥C¨¡I¤IÑ.Ô.Ð.Ý�d‘)”) ¤°$´/Ñ AÑBˆØ Œ=ð 'Ø—=’= Ñ&Ô&ˆDØ Œ ×Ò˜ÑÔÐØ#Ô3°gÑ=ˆÔØ Ô-µ°D± ´ Ñ9ˆÔÐÐr cóœ—| |¦«|j|jks|j|jkr| ¦«dSdSr†)r<rržrrÚ _patchheader)rwr+s rÚ writeframeszAifc_write.writeframesósW€Ø ×Ò˜DÑ!Ô!Ð!Ø Ô  4¤=Ò 0Ð 0ØÔ $Ô"3Ò3Ð3Ø × Ò Ñ Ô Ð Ð Ð ð4Ð3r cóö—|j€dS | d¦«|jdzr)|j d¦«|jdz|_| ¦«|j|jks|j|jks|jr|  ¦«d|_ |j}d|_|  ¦«dS#d|_ |j}d|_|  ¦«wxYw)Nrr(rL) rnr;rr=Ú _writemarkersrržrr r>rkr�)rwr5s rr�zAifc_write.closeùs€Ø Œ:Ð Ø ˆFð Ø × 'Ò '¨Ñ *Ô *Ð *ØÔ  1Ñ$ð :à” × Ò  Ñ)Ô)Ð)Ø$(Ô$5¸Ñ$9�Ô!Ø × Ò Ñ Ô Ð ØÔ# t¤}Ò4Ð4ØÔ" dÔ&7Ò7Ð7ØÔ"ð8à×!Ò!Ñ#Ô#Ð#ð!ˆDŒMØ” ˆA؈DŒJØ �GŠG‰IŒIˆIˆIˆIøð!ˆDŒMØ” ˆA؈DŒJØ �GŠG‰IŒIˆIˆIøøøs ‹BC à +C8có—tj¦«5tjdt¬¦«ddl}ddd¦«n #1swxYwY| |d¦«SrÇ)rÊrËrÌrÍrÎÚlin2alawrÐs rÚ _lin2alawzAifc_write._lin2alawrÒrÓcó—tj¦«5tjdt¬¦«ddl}ddd¦«n #1swxYwY| |d¦«SrÇ)rÊrËrÌrÍrÎÚlin2ulawrÐs rÚ _lin2ulawzAifc_write._lin2ulawrÒrÓcó—tj¦«5tjdt¬¦«ddl}ddd¦«n #1swxYwYt |d¦«sd|_| |d|j¦«\}|_|SrØ)rÊrËrÌrÍrÎrÚrÙÚ lin2adpcmrÐs rÚ _lin2adpcmzAifc_write._lin2adpcmsÉ€Ý Ô $Ñ &Ô &ð ð Ý Ô ! (Õ5GÐ HÑ HÔ HÐ HØ ˆNˆNˆNð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ�t˜]Ñ+Ô+ð $Ø#ˆDÔ Ø!(×!2Ò!2°4¸¸DÔ˜WÒ $Ð $Ø œOˆDŒMˆMˆMØ Œ^Ð1Ð 1Ð 1Ø œNˆDŒMˆMˆMØ Œ^Ð1Ð 1Ð 1Ø œNˆDŒMˆMˆMØ Œ^Ð1Ð 1Ð 1Ø œNˆDŒMˆMˆMð2Ð 1r có —|jr|jdkr| ¦«|j d¦«|js||j|jzz|_|j|jz|jz|_|jdzr|jdz|_|jrh|jdvr)|jdz|_|jdzr|jdz|_n6|jdkr+|jdzdz|_|jdzr|jdz|_ |j  ¦«|_ n#ttf$r d|_ YnwxYw|  |j¦«}|jrd|j d ¦«|j d ¦«t|jd¦«t|j|j¦«n|j d ¦«|j d ¦«t|j|¦«t!|j|j¦«|j �|j  ¦«|_t|j|j¦«|jd vrt!|jd¦«nt!|j|jdz¦«t%|j|j¦«|jr9|j |j¦«t)|j|j¦«|j d¦«|j �|j  ¦«|_t|j|jdz¦«t|jd¦«t|jd¦«dS)Nrçrbr()rêrërírîr"rèrrrdrhrcre)rërêrîrírèrgrfr)rpr¨rQrnr=ržršr¡rr—Ú_form_length_posÚAttributeErrorÚOSErrorÚ_write_form_lengthrHrjrAÚ _nframes_posrZr¤rPr¬Ú_ssnd_length_pos)rwÚ initlengthÚ commlengths rrNzAifc_write._write_headerJsb€Ø Œ:ð %˜$œ.¨GÒ3Ð3Ø × "Ò "Ñ $Ô $Ð $Ø Œ ×Ò˜Ñ!Ô!Ð!ØŒ}ð NØ&¨4¬?¸T¼_Ñ+LÑMˆDŒMØœ=¨4¬?Ñ:¸T¼_ÑLˆÔØ Ô ˜aÑ ð 4Ø#Ô/°!Ñ3ˆDÔ Ø Œ:ð <ØŒ~Ð!EÐEÐEØ#'Ô#3°qÑ#8�Ô ØÔ# aÑ'ð<Ø'+Ô'7¸!Ñ';�DÔ$øØ” 7Ò*Ð*Ø$(Ô$4°qÑ$8¸QÑ#>�Ô ØÔ# aÑ'ð<Ø'+Ô'7¸!Ñ';�DÔ$ð )Ø$(¤J§O¢OÑ$5Ô$5ˆDÔ !Ð !øÝ¥Ð(ð )ð )ð )Ø$(ˆDÔ !Ð !Ð !ð )øøøà×,Ò,¨TÔ-=Ñ>Ô>ˆ Ø Œ:ð &Ø ŒJ× Ò ˜WÑ %Ô %Ð %Ø ŒJ× Ò ˜WÑ %Ô %Ð %Ý ˜œ QÑ 'Ô 'Ð 'Ý ˜œ T¤]Ñ 3Ô 3Ð 3Ð 3à ŒJ× Ò ˜WÑ %Ô %Ð %Ø Œ ×Ò˜Ñ!Ô!Ð!Ý�T”Z Ñ,Ô,Ð,Ý�T”Z ¤Ñ1Ô1Ð1Ø Ô Ð ,Ø $¤ §¢Ñ 1Ô 1ˆDÔ Ý�T”Z ¤Ñ/Ô/Ð/Ø Œ>ÐJÐ JÐ JÝ ˜œ QÑ 'Ô 'Ð 'Ð 'å ˜œ T¤_°qÑ%8Ñ 9Ô 9Ð 9Ý�T”Z ¤Ñ1Ô1Ð1Ø Œ:ð 6Ø ŒJ× Ò ˜Tœ^Ñ ,Ô ,Ð ,Ý ˜$œ* d¤nÑ 5Ô 5Ð 5Ø Œ ×Ò˜Ñ!Ô!Ð!Ø Ô Ð ,Ø$(¤J§O¢OÑ$5Ô$5ˆDÔ !Ý�T”Z Ô!1°AÑ!5Ñ6Ô6Ð6Ý�T”Z Ñ#Ô#Ð#Ý�T”Z Ñ#Ô#Ð#Ð#Ð#sÄD#Ä#D>Ä=D>có¼—|jr$dt|j¦«z}|dzr|dz}d}nd}d}t|jd|z|jzdz|zdz|z¦«|S) Nrær(é rårrrgé)rprMr¬rHrnr )rwÚ datalengthrZÚ verslengths rrVzAifc_write._write_form_length}s�€Ø Œ:ð Ø¥# d¤nÑ"5Ô"5Ñ5ˆJؘA‰~ð ,Ø'¨!™^� ؈JˆJàˆJ؈JÝ�T”Z  Z¡°$Ô2BÑ!BØñ"Ø#ñ"$Ø&(ñ")Ø+5ñ"6ñ 7ô 7ð 7àÐr cóÔ—|j ¦«}|jdzr%|jdz}|j d¦«n|j}||jkr8|j|jkr(|jdkr|j |d¦«dS|j |j d¦«|  |¦«}|j |j d¦«t|j|j¦«|j |j d¦«t|j|dz¦«|j |d¦«|j|_||_dS)Nr(rLrrg)rnr—rr=rržrr rÂrSrVrWrHrX)rwÚcurposr^r,s rr>zAifc_write._patchheaderŠsO€Ø”—’Ñ"Ô"ˆØ Ô ˜qÑ ð +ØÔ*¨QÑ.ˆJØ ŒJ× Ò ˜WÑ %Ô %Ð %Ð %àÔ*ˆJØ ˜Ô)Ò )Ð )ØŒm˜tÔ3Ò3Ð3ØÔ !Ò#Ð#Ø ŒJ�OŠO˜F AÑ &Ô &Ð &Ø ˆFØ Œ �Š˜Ô-¨qÑ1Ô1Ð1Ø×'Ò'¨ Ñ3Ô3ˆØ Œ �Š˜Ô)¨1Ñ-Ô-Ð-Ý�T”Z Ô!5Ñ6Ô6Ð6Ø Œ �Š˜Ô-¨qÑ1Ô1Ð1Ý�T”Z ¨a¡Ñ0Ô0Ð0Ø Œ �Š˜ Ñ"Ô"Ð"ØÔ,ˆŒ Ø%ˆÔÐÐr có"—t|j¦«dkrdS|j d¦«d}|jD];}|\}}}|t|¦«zdzdz}t|¦«dzdkr|dz}ŒrAr r rrr#sJ€€€€€ð< €Eðððð ððð"ððððððððð ððð ððð $ð$ð$ðððð $ð$ð$ðððð $ð$ð$ðððð  ð ð ð $ð$ð$ð"ð"ð"ððððððð -ð -ð -ðKðKðKð .ð .ð .ð>ð>ð>ð ððð $ð$ð$ð :ð :ð :ð ð ð ð ððð2)ð)ð)ð )ð)ð)ð ððð)ð)ð)ð )ð)ð)ð&+ð+ð+ð1$ð1$ð1$ðf ð ð ð&ð&ð&ð,,ð,ð,ð,ð,r rcó¤—|€t|d¦«r|j}nd}|dvrt|¦«S|dvrt|¦«St d¦«‚)NÚmoder})Úrr})rþrz$mode must be 'r', 'rb', 'w', or 'wb')rÚrer`rr)r5res rrr³sd€Ø €|Ý �1�fÑ Ô ð Ø”6ˆDˆDàˆDØ ˆ{ÐÐݘ‰|Œ|ÐØ �РРݘ!‰}Œ}ÐåÐ:Ñ;Ô;Ð;r Ú__main__r(z/usr/demos/data/audio/bach.aiffrfÚReadingz nchannels =z nframes =z sampwidth =z framerate =z comptype =z compname =r"ÚWritingrþizDone.r†);Ú__doc__rr€rÊÚ__all__Ú _deprecatedr Ú Exceptionrrrrr#r&r-r3r:rArDrFrHrPrZrËrÌrÍrxr\Ú collectionsr]r^rrrrÄr(r)r`rrÚsysÚargvrúÚfnr5Úprintr›rŸr¢r¥r©r­ÚgnÚgr/r¯rÅr+r?r r rúrus%ððFðFðP€ € € Ø€€€Ø€€€à �FÐ €ð€Ô�X gÐ.Ñ.Ô.Ð.ð ð ð ð ð ˆIñ ô ð ð€ ð!ð!ð!ð !ð!ð!ð !ð!ð!ð !ð!ð!ð ððð "€ ðððð""ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ðððððððB€XÔÑÔððØ€HÔ˜(Ð$6Ñ7Ô7Ð7ØÐÐÐÐÐðððñôððððððøøøððððð#Ð"Ð"Ð"Ð"Ð"àˆz˜.ØSñUôU€ ð"W€ ÔÔØ!8€ ÔÔØ!5€ ÔÔØ7€ ÔÔØ J€ ÔÔð"%€ ÔÔð MðMðMðMðMñMôMðMð^N,ðN,ðN,ðN,ðN,ñN,ôN,ðN,ð` <ð <ð <ð <ð ˆzÒÑØ€J€J€JØ Œ8�A�B�BŒ<ð;Ø Œ�ŠÐ9Ñ:Ô:Ð:Ø Œ�!Œ€BØ ˆˆb�#‰Œð˜!Ø ˆˆi˜ÑÔÐØ ˆˆm˜QŸ^š^Ñ-Ô-Ñ.Ô.Ð.Ø ˆˆm˜QŸ\š\™^œ^Ñ,Ô,Ð,Ø ˆˆm˜QŸ^š^Ñ-Ô-Ñ.Ô.Ð.Ø ˆˆm˜QŸ^š^Ñ-Ô-Ñ.Ô.Ð.Ø ˆˆm˜QŸ]š]™_œ_Ñ-Ô-Ð-Ø ˆˆm˜QŸ]š]™_œ_Ñ-Ô-Ð-Ø Œ8�A�B�BŒ<ð Ø”˜!”ˆBØ ˆE�)˜RÑ Ô Ð Ø��b˜#‘”ð ( !Ø— ’ ˜AŸKšK™MœMÑ*Ô*Ð*ð(ØŸ<š<¨Ñ-Ô-�DØðØØ—M’M $Ñ'Ô'Ð'ð (ðð  (ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð ˆE�'‰NŒNˆNð%ððñôðððððððøøøððððððð ÐsJÁ*BÂBÂBÅC5KÉAJ7Ê+ KÊ7J; Ê;KÊ>J; Ê?KËKË!K