mò
 JhGc           @   sê  d  Z  d Z d Z d Z d Z d Z d Z h  Z d „  Z h  Z	 h  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 <e	 d <dk dl dm dn do dp dq dr ds dt g
 Z
 e e	 du d< e
 ƒ dv dw dx dy dz d{ d| d} d~ d g
 Z e e	 d€ dC e ƒ d d‚ dƒ d„ d… d† d‡ dˆ d‰ dŠ g
 Z e e	 d‹ dC e ƒ dŒ d dŽ d d d‘ d’ d“ d” d• g
 Z e e	 d– dU e ƒ d— d˜ d™ dš d› dœ d dž dŸ d  g
 Z e e	 d¡ dU e ƒ d¢ d£ d¤ d¥ d¦ d§ d¨ d© dª d« g
 Z e e	 d¬ dU e ƒ d­ d® d¯ d° d± d² d³ d´ dµ d¶ g
 Z e e	 d· dY e ƒ e e	 d¸ dY e ƒ e e	 d¹ dY e ƒ dº d» d¼ d½ d¾ d¿ dÀ dÁ dÂ dÃ g
 Z e e	 dÄ de e ƒ e e	 dÅ de e ƒ e e	 dÆ de e ƒ df „  Z dg „  Z dh „  Z di „  Z dj S(Ç   sË   Outloud voice definitions using ACSS.

This module encapsulates Outloud-specific voice definitions.  It
maps device-independent ACSS voice definitions into appropriate
Outloud voice parameter settings.

s1   $Id: outloud.py 3535 2005-11-17 14:32:59Z raman $s   $Author: raman $s   $Revision: 3535 $s5   $Date: 2005-11-17 06:32:59 -0800 (Thu, 17 Nov 2005) $s   Copyright (c) 2005 T. V. Ramant   LGPLc         C   s9   h  |  | <x( | D]  } | | d t | | d <q Wd S(   s0   Internal function to update acss->synth mapping.i   i    N(   t   tablet   keyt   settingst   settingt   formatt   _table(   R   R   R   R   R   (    (    tD   /usr/local/share/emacs/site-lisp/emacspeak/servers/python/outloud.pyt   _update_map   s
     
 t   pauls    `v1 t   malet   harrys    `v1 `vh65 `vb50 t   mant   denniss    `v1  `vb0 t   franks    `v1 `vr100 t   bettys    `v7 t   femalet   ursulas    `v2 t   ritas    `v2 `vr100 t   wendys    `v2 `vy50 t   kits    `v3 t   childt   familyi    iZ   i   i   iQ   i   i   iH   i   i'   i?   i   i4   i6   i   iA   i2   i   iJ   i(   i   iS   i   i   iW   i	   i\   i   s   average-pitchs    `vb%s `vh%s i
   iU   i   iP   iF   i<   s    `vb%s `vh% si   iB   i!   i>   i1   i:   i7   iY   i]   ia   iE   i   i   i/   i@   id   s   pitch-ranges    `vf%s  i#   i-   t   stresss    `vr%s  iN   i   iT   i   iX   i   i   i_   i    i$   t   richnesss    `vy%s  `vv%s c         C   s   |  S(   N(   t   r(   R   (    (    R   t   getrateÝ   s    c           C   s   t  d i ƒ  S(   NR   (   R   t   keys(    (    (    R   t   getvoicelistß   s    c         C   s=   |  i ƒ  } | t j o t | Sn t |  ƒ t | <t | S(   s¿   Memoized function that returns  synthesizer code for
    specified  ACSS setting.
    Synthesizer code is a tupple of the form (open,close)
    where open sets the voice, and close resets it.N(   t   acsst   namet   _defined_voicest
   acss2voice(   R   R   (    (    R   t   getvoiceá   s      c         C   sØ   d } d } d |  j o  |  d } | t d | 7} n d |  j o | d |  d 7} n d } xG d d d d	 g D]3 } | |  j o  | t | | f |  | 7} qu qu W| p | o d
 | | f } n | d f S(   s   Return synthesizer code.t    R
   R   t   rates    `vs%ss   average-pitchs   pitch-rangeR   R   s   %s %ss    `v1 N(   t   codeR   R   R   t   voicet   d(   R   R%   R&   R   R$   (    (    R   R    ì   s      
   $ N(   i    i    iZ   (   i   i   iQ   (   i   i   iH   (   i   i'   i?   (   i   i4   i6   (   i   iA   i2   (   i   iJ   i(   (   i   iS   i   (   i   iW   i   (   i	   i\   i   (   s   males   average-pitch(   i    i    iZ   (   i   i
   iU   (   i   i   iP   (   i   i   iF   (   i   i(   i<   (   i   i2   i<   (   i   i<   i2   (   i   iF   i(   (   i   iP   i   (   i	   iZ   i   (   R   s   average-pitch(   i    i   iF   (   i   i   iB   (   i   i!   i>   (   i   i1   i:   (   i   iA   i6   (   i   iQ   i2   (   i   iU   i7   (   i   iY   i<   (   i   i]   iA   (   i	   ia   iE   (   R   s   average-pitch(   i    i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i/   (   i   i@   (   i   iQ   (   i	   id   (   s   males   pitch-range(   i    i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i/   (   i   i@   (   i   iQ   (   i	   id   (   R   s   pitch-range(   i    i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i/   (   i   i@   (   i   iQ   (   i	   id   (   R   s   pitch-range(   i    i    (   i   i   (   i   i
   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i#   (   i   i(   (   i	   i-   (   s   males   stress(   R   s   stress(   R   s   stress(   i    i    i<   (   i   i   iN   (   i   i   iP   (   i   i   iT   (   i   i   iX   (   i   i   i\   (   i   i   i]   (   i   i   i_   (   i   i    ia   (   i	   i$   id   (   s   males   richness(   R   s   richness(   R   s   richness(   t   __doc__t   __id__t
   __author__t   __version__t   __date__t   __copyright__t   __license__R   R   R   t   _male_apt   _man_apt
   _female_apt   _male_prt   _man_prt
   _female_prt   _male_stresst   _male_richnessR   R   R!   R    (   R    R4   R,   R   R1   R-   R5   R   R0   R   R2   R)   R+   R   R.   R(   R3   R!   R*   R/   R   (    (    R   t   ?   s\   	$	
$	
$	
$	
$	
$	
$	
	
	
	$	
	
	
			