
    $HJj1                     f   d dl mZ d dlmZ ddlmZmZmZ ddlZddl	Z	i  e
d      d e
d      d e
d	      d
 e
d      d
 e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d  e
d!      d"i  e
d#      d$ e
d%      d& e
d'      d( e
d)      d* e
d+      d, e
d-      d. e
d/      d0 e
d1      d2 e
d3      d4 e
d5      d6 e
d7      d8 e
d9      d: e
d;      d< e
d=      d> e
d?      d@ e
dA      dB e
dC      d0i  e
dD      dE e
dF      d4 e
dG      dH e
dI      dJ e
dK      dL e
dM      dN e
dO      dP e
dQ      dR e
dS      dT e
dU      dV e
dW      dX e
dY      dZ e
d[      d\ e
d]      d^ e
d_      d` e
da      db e
dc      ddi  e
de      df e
dg      dh e
di      dj e
dk      dl e
dm      dn e
do      dp e
dq      dr e
ds      dt e
du      dv e
dw      dx e
dy      dz e
d{      d| e
d}      d~ e
d      d e
d      d e
d      d e
d      di  e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d e
d      d
 e
d      d e
d      d e
d      d e
d      d e
d      d" e
d      d e
d      d e
d      d e
d      diZ edd      D ]   Zedv r e
e      ev rJ e e
e      f         ee      dk(  sJ  ee             ej                  i  e
d       e
d      z   d e
d       e
d	      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d	      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d	      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d	      z   di  e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d	      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d-       e
d      z   d e
d-       e
d      z   dÓ e
d-       e
d      z   dē e
d-       e
d      z   dœ e
d/       e
d      z   dƓ e
d/       e
d      z   dǓ e
d/       e
d      z   dȓi  e
d/       e
d      z   dɓ e
d1       e
d	      z   dʓ e
d3       e
d	      z   d˓ e
dA       e
d      z   d̓ e
dA       e
d      z   d͓ e
dA       e
d      z   dΓ e
dA       e
d      z   dϓ e
dC       e
d      z   dƓ e
dC       e
d      z   dǓ e
dC       e
d      z   dȓ e
dC       e
d      z   dɓ e
dD       e
d      z   dГ e
dD       e
d	      z   dѓ e
dD       e
d      z   dғ e
dD       e
d      z   dӓ e
dG       e
d	      z   dԓ e
dG       e
d      z   dՓi  e
dG       e
d      z   d֓ e
dG       e
d      z   dד e
dG       e
d      z   dؓ e
dI       e
d	      z   dٓ e
dI       e
d      z   dړ e
dI       e
d      z   dۓ e
dI       e
d      z   dܓ e
dI       e
d      z   dݓ e
dK       e
d      z   dޓ e
dM       e
d      z   dߓ e
dQ       e
d	      z   d e
dQ       e
d      z   d e
dQ       e
d      z   d e
dQ       e
d      z   d e
dQ       e
d      z   d e
d_       e
d	      z   d e
d_       e
d      z   di  e
d_       e
d      z   d e
d_       e
d      z   d e
d_       e
d      z   d e
da       e
d	      z   d e
da       e
d      z   d e
da       e
d      z   d e
da       e
d      z   d e
da       e
d      z   d e
dc       e
d	      z   d e
dc       e
d      z   d e
dc       e
d      z   d e
dc       e
d      z   d e
dc       e
d      z   d e
de       e
d      z   d e
de       e
d	      z   d e
de       e
d      z   d e
de       e
d      z   di  e
dy       e
d	      z   d e
dy       e
d      z   d e
dy       e
d      z   d e
dy       e
d      z   d e
dy       e
d      z   d e
d       e
d	      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d  e
d       e
d      z   d e
d       e
d      z   d e
d       e
d	      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d e
d       e
d      z   d        ee      dk(  sJ  ee             g dZ ed      Z ee      dk(  sJ  ee              ed      Z ee      dk(  sJ  ee             ej)                         D ]  \  ZZ ee      dv sJ e        ee      dv red	   ev sJ e        ee      d
k(  re\  ZZeev reev s	J eef        ee      d
k(  red   ev sJ e       eD ]  \  ZZej7                  ee      Z  ded<   ded<   ded<    ee      dk(  sJ  ee              eej9                         D  cg c]  } | d	   
 c}       Z ee      dk(  sJ  ee             i ddddddddddddddddddd dd!dd"dd#dd$dd%d&d'd(d)d*d+d,d-d.Z ed/ ej)                         D              sJ  ed0      Z  ee       d1k(  sJ  ee               ed2      Z! ee!      d
k(  sJ  ee!              ed3      Z" ee"      dk(  sJ  ee"              G d4 d5      Z#yc c} w (6     )Convert)MToken    )ListOptionalTupleNi0  ai0  i0  ii0  i0  ui0  i0  ei0  i0  oi0  i0  kai0  gai0  kii0  gii0  kui0  gui0  kei0  gei0  koi0  goi0  sai0  zai0  u   ɕii0  u   ʥii0  sui0  zui0  sei0  zei0  soi0  zoi0  tai0  dai0  u   ʨii0  i0  u   ʦui0  i0  tei0  dei0  toi0  doi0  nai0  nii0  nui0  nei0  noi0  hai0  bai0  pai0  hii0  bii0  pii0  fui0  bui0  pui0  hei0  bei0  pei0  hoi0  boi0  poi0  mai0  mii0  mui0  mei0  moi0  jai0  i0  jui0  i0  joi0  i0  rai0  rii0  rui0  rei0  roi0  wai0  i0  i0  i0  i0  vui0  i0  i0  vai0  vii0  vei0  voi0  )i0  i0  X   jewiwuwewou   ᶄiu   ᶄeu   ᶄau   ᶄuu   ᶄou   ᶃiu   ᶃeu   ᶃau   ᶃuu   ᶃoKaKiKuKeKoGaGiGuGeGou   ɕeu   ɕau   ɕuu   ɕou   ʥeu   ʥau   ʥuu   ʥosiziu   ʨeu   ʨau   ʨuu   ʨou   ʦau   ʦiu   ʦeu   ʦotiu   ƫeu   ƫau   ƫuu   ƫodiu   ᶁeu   ᶁau   ᶁuu   ᶁotuduu   ɲiu   ɲeu   ɲau   ɲuu   ɲou   çiu   çeu   çau   çuu   çou   ᶀiu   ᶀeu   ᶀau   ᶀuu   ᶀou   ᶈiu   ᶈeu   ᶈau   ᶈuu   ᶈofafifefou   ᶆiu   ᶆeu   ᶆau   ᶆuu   ᶆou   ᶉiu   ᶉeu   ᶉau   ᶉuu   ᶉo   ))Ggw)jy)Kkw)   çhy)u   ƫty)u   ɕsh)u   ɲny)u   ʥrj   )u   ʦts)u   ʨch)u   ᶀby)u   ᶁdy)u   ᶃgy)u   ᶄky)u   ᶆmy)u   ᶈpy)u   ᶉryaeiou   u5   bdfgGhjkKmnprstvwzçƫɕɲʥʦʨᶀᶁᶃᶄᶆᶈᶉ    )r      r   u   ʔu   ッu   ɴ   ンu   ː   ー         «u   “   »u   ”u   、,u   。.u   〈u   〉u   《u   》u   「u   」u   『u   』u   【u   】u   ！!u   （(u   ）):;?)u   ：u   ；u   ？c              #   f   K   | ])  \  }}t        |      t        |      cxk(  xr d k(  nc  + yw)r   N)len).0kvs      S/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/misaki/ja.py	<genexpr>r      s,     
?->TQ3q6SV q  ->s   /1u   !"(),.:;?—“”…   u   (“u
   !),.:;?”c                   V    e Zd ZddZededee   fd       Zdeee	ee
      f   fdZy)JAG2Pc                 t    |dv sJ |       || _         || _        d | _        |dk(  rddlm}  |       | _        y y )N)cutletpyopenjtalkr   r   )Cutlet)versionunkr   r   )selfr   r   r   s       r   __init__zJAG2P.__init__   sD    33<W<3h& (DK     pronreturnc                     g }| D ]:  }|t         vr|r|d   |z   t         v r|dxx   |z  cc<   *|j                  |       < |S )Nr   )M2Pappend)r   morasr   s      r   
pron2moraszJAG2P.pron2moras  sL    A|rQ#-b	Q	Q  r   c                    | j                   r| j                  |      S g }d\  }}d\  }}t        j                  |      D ]s  }|d   |d   }	}g }
|	dkD  rGt        j	                  |      }
t        |
      |	k(  s$t        |
      |
d   dk(  rdndz   |	k(  s	J |
|	f       |	dkD  xr4 |xr0 |d   j                  j                  dkD  xr |d	   dk(  xs |
d   dk(  }|sd\  }}||d
   n|}g }|
D ]  }|dz  }|dk(  r |j                  |dk(  rdn|dk(  rdnd       nO||k(  r|j                  d       n8d|cxk  r|k  rn n|j                  |dk(  rdnd       n|j                  d       |d   } t        |
      t        |      k(  sJ |d   }|t        v r	t        |   }d\  }}}|
rSd\  }}t        t        |
|            D ]5  \  }\  }}t        |   }||z  }||dk(  rdn|dk(  rdndt        |      z  z  }7 nV|rTt        d |D              rB|}|d   t        v rd}|r1d|d   _        n&|d   t         v r|r|d   j                  s
d|d   _        |r||dk(  s|r|j#                         sd|d   _        5|j                  t%        ||d   ||t%        j&                  ||d
   |	||
||                   v d\  }}|D ]/  }|j(                  E|| j*                  |j                  z   z  }|dt        | j*                  |j                  z         z  z  }U|j                  j                  rI|j                  j,                  s3|r1|d   t.        v r&|j                  j0                  d   dk(  s
|dz  }|dz  }||j(                  |j                  z   z  }||j                  j2                  dt        |j(                        z  n|j                  j2                  dt        |j                        z  z   z  }2 |rW|d   j                  rH|j5                  |d   j                        r*|d t        |d   j                          }|d t        |       }||z   |fS )N)r    )Nr   r   	mora_sizer   r   r   r   
chain_flagaccr      string)r   NN)r   r   _^-c              3   ,   K   | ]  }|t         v   y w)N)PUNCT_VALUES)r   ss     r   r   z!JAG2P.__call__.<locals>.<genexpr>C  s      DGql!2Gs    r   u   ・pos)r   r   r   r   r   accentspitch)texttag
whitespacephonemesr   rj   r   )r   r   run_frontendr   r   r   r   r   r   	PUNCT_MAP	enumeratezipr   allPUNCT_STOPSr   PUNCT_STARTSstripr   
Underscorer   r   r   TAILSr   r   endswith)r   r   tokenslast_alast_pr   mcountwordr   r   r   r   r   r   surfacer   r   r   r
   mr	   psresulttks                           r   __call__zJAG2P.__call__  s   ;;;;t$$V,,T2D"6lD,=)DE1}((.5zY.#e*U1XQVEV\]2^bk2knsu~mk"Q  D6  DfRjll6L6Lq6P  DVZ[gVhlmVm  WCqvwxqy  ~C  rCJ%V!$$u+#CG!!8NN!1v{!PQSF]NN1%%#%NN!1;NN1%   u:W---8nG)##G,*8'J%"(%!*3ug+>!?IAv1QBNHQ!Vca#SSQSWTTE "@  S DG DD"2;+-!$J02r
-R[L0VF2JDYDY,/F2J)(*w%/?7SZS`S`Sb(+r
%MM&$u+%##4;))u q 3@ B{{"$((R]]22s488bmm#;<<<tt~~bddoo&VBZSXEXacaeaeakaklmanrwaw#bkkBMM11F"$$**2DsS--"$$**X[^abdbobo^pXpppE  fRj++r
@U@U0V8c&*"7"7889F,3v;'E~v%%r   N)r   u   ❓)__name__
__module____qualname__r   staticmethodstrr   r   r   r   r   r    r   r   r   r      sN    # 	 	c 	 	T&c8DL+A&A B T&r   r   )$num2kanar   tokenr   typingr   r   r   r   rE   chrr   ranger   r   updateP2R	frozensetVOWELS
CONSONANTSitemsr   r   r	   boldnewreplacevaluesr   r   r   r   r   r   r   )r   s   0r   <module>r      s     ( (  	[ E
C[ E
C[ E
C[ E
C	[
 E
C[ E
C[ E
C[ E
C[ E
C[ E
C[ E
D[ E
D[ E
D[ E
D[ E
D[  E
D![" E
D#[$ E
D%[& E
D'[( E
D)[* E
D+[, E
D-[. E
E/[0 E
E1[2 E
D3[4 E
D5[6 E
D7[8 E
D9[: E
D;[< E
D=[> E
D?[@ E
DA[B E
EC[D E
EE[H E
EI[J E
DK[L E
DM[N E
DO[P E
DQ[R E
DS[T E
DU[V E
DW[X E
DY[Z E
D[[\ E
D][^ E
D_[` E
Da[b E
Dc[d E
De[f E
Dg[h E
Di[j E
Dk[l E
Dm[n E
Do[p E
Dq[r E
Ds[t E
Du[v E
Dw[x E
Dy[z E
D{[| E
D}[~ E
D[@ E
DA[B E
DC[D E
DE[F E
DG[H E
DI[J E
DK[L E
DM[N E
DO[P E
DQ[R E
DS[T E
DU[V E
DW[X E
DY[Z E
D[[\ E
D][^ E
D_[` E
Ca[b E
Cc[d E
Ce[h E
Di[j E
Dk[l E
Dm[n E
Do[p E
D E
D E
Du[x 
uh	A#a&C-<!SV</ 
 
3x2~ s3x ~ 

 g E
3u: tg E
3u: tg E
3u: tg E
3u: t	g
 E
3u: tg E
3u: vg E
3u: vg E
3u: vg E
3u: vg E
3u: vg E
3u: vg E
3u: vg E
3u: vg E
3u: vg E
3u: vg  E
3u: t!g" E
3u: t#g$ E
3u: t%g& E
3u: t'g( E
3u: t)g* E
3u: t+g, E
3u: t-g. E
3u: t/g0 E
3u: t1g2 E
3u: t3g4 E
3u: t5g6 E
3u: t7g8 E
3u: u9g: E
3u: u;g< E
3u: u=g> E
3u: u?g@ E
3u: uAgB E
3u: uCgD E
3u: uEgF E
3u: uGgH E
3u: tIgJ E
3u: tKgL E
3u: uMgN E
3u: uOgP E
3u: uQgR E
3u: uSgT E
3u: uUgV E
3u: uWgX E
3u: uYgZ E
3u: u[g\ E
3u: u]g^ E
3u: u_g` E
3u: uagb E
3u: ucgd E
3u: tegf E
3u: uggh E
3u: uigj E
3u: ukgl E
3u: umgn E
3u: togp E
3u: vqgr E
3u: vsgt E
3u: vugv E
3u: vwgx E
3u: tygz E
3u: t{g| E
3u: u}g~ E
3u: ug@ E
3u: uAgB E
3u: uCgD E
3u: uEgF E
3u: uGgH E
3u: uIgJ E
3u: uKgL E
3u: uMgN E
3u: uOgP E
3u: vQgR E
3u: vSgT E
3u: vUgV E
3u: vWgX E
3u: vYgZ E
3u: v[g\ E
3u: v]g^ E
3u: v_g` E
3u: vagb E
3u: vcgd E
3u: tegf E
3u: tggh E
3u: tigj E
3u: tkgl E
3u: vmgn E
3u: vogp E
3u: vqgr E
3u: vsgt E
3u: vugv E
3u: vwgx E
3u: vygz E
3u: v{g| E
3u: v}g~ E
3u: vg@ E
3u: tAgB E
3u: tCgD E
3u: tEgF E
3u: tGgH E
3u: vIgJ E
3u: vKgL E
3u: vMg gP 3x3  C   V	7	
6{a $V $NO

:" -c*o -IIKDAqq6VQq6V"22/
1v{1CxAH,q!f,$
1v{tz!$1$!SIIc3   E
E
E

3x3  C   	#**,/,Q1R5,/0
5zQ "E
 " lT%  lU  l5  lU3  luU  l5  luUZ  l[`af  lglmr  lsxy~  l  @E  FK  l  LQ  RW  l  X]  ^c  l  di  jo  l  pu  vy  l  z  @C  l  DI  JM  l  TW  ^a  hk  l	

?Y__->
?? ??01
<B 1L 1 1 
<A 0s<0 0%
;1 .c+. .j& j& 0s   t.