| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/python2.6/site-packages/orca/ |
Upload File : |
# Orca
#
# Copyright 2005-2008 Google Inc.
# Portions Copyright 2007-2008, Sun Microsystems, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., Franklin Street, Fifth Floor,
# Boston MA 02110-1301 USA.
#
"""ACSS --- Aural CSS.
Class ACSS defines a simple wrapper for holding ACSS voice
definitions. Speech engines implement the code for converting
ACSS definitions into engine-specific markup codes.
"""
__id__ = "$Id$"
__author__ = "T. V. Raman"
__version__ = "$Revision$"
__date__ = "$Date$"
__copyright__ = "Copyright (c) 2005-2008 Google Inc."
__license__ = "LGPL"
class ACSS(dict):
"""Holds ACSS representation of a voice."""
FAMILY = 'family'
RATE = 'rate'
GAIN = 'gain'
AVERAGE_PITCH = 'average-pitch'
PITCH_RANGE = 'pitch-range'
STRESS = 'stress'
RICHNESS = 'richness'
PUNCTUATIONS = 'punctuations'
# A value of None means use the engine's default value.
#
settings = {
FAMILY : None,
RATE : 50,
GAIN : 10,
AVERAGE_PITCH : 5,
PITCH_RANGE : 5,
STRESS : 5,
RICHNESS : 5,
PUNCTUATIONS : 'all'
}
def __init__(self, props=None):
"""Create and initialize ACSS structure."""
dict.__init__(self)
props = props or {}
for k in props:
if k in ACSS.settings:
# Do a 'deep copy' of the family. Otherwise,
# the new ACSS shares the actual data with the
# props passed in. This can cause unexpected
# side effects.
#
if k == ACSS.FAMILY:
self[k] = {}
for j in props[k].keys():
self[k][j] = props[k][j]
else:
self[k] = props[k]
def __setitem__ (self, key, value):
"""Update name when we change values."""
dict.__setitem__(self, key, value)
def __delitem__(self, key):
"""Update name if we delete a key."""
dict.__delitem__(self, key)
def updateName(self):
"""Update name based on settings."""
def name(self):
_name = 'acss-'
names = self.keys()
if names:
names.sort()
for k in names:
_name += "%s-%s:" % (k, self[k])
_name = _name[:-1]
return _name