RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð �PNG ��� IHDR���0���0����`n���� cHRM��z&��������������u0���`��:���p��Q<���bKGD�������������tIME� 6���� AIDATX��]pU����{��{�G�n$$@ -�-jВAک��P��1O���j��:cU|hg�}�C�ʋU�:�A A�����|$$$������}�^}8i *�د�?w�9gݵ��:{��F"��&��4� �@��@q_����Ow��9<<|�ԩ�;w���"�#GV�^}Ճ7�|s˖-{��|��G�-[��R�Q�aőTR)� �2!�e�63��X�U������{��Z�m۶�^}�5����}����v�R��J�J,�$� B�$Ф")�i��D�9+䜆B.�qf�үÇoذaժU�i>��so����a^���۷����3�<�ꫯnݺ��"���\���gn0�h��B�i� hR��,W*�e�65��LS�ر�0ēO>���755���ι@O?��ҥK������:::����1��X�9S�%�'�I���$��Sg�ڥ3'zF/� ��Z�8ES6WZ#�.�\��P�R�2����-[�,_�|�`�j�Xl6M���b�Z�* �jҟ0��҉B""� y22r�ܹ�CG�;���{7nn��ma���������2S���� <��x�⡡�|p.Pw��x��y�C�=��O� ��CB}�ӵ����?�wq`8�e����{+Չɱ�\{&�LL������vww��]��?q��Y�������P(���vuu9���S?w���ݻ�v<���mш ��D�DR&�j�X�����y�>���dyg�7��b��s�p��E���BDR� t����������=w�\�[;:[&._�Dlڸv�]��u�驚�/Y�a�����d�%��*)1� �V\G���[F]����X���i����J:z�N�9�?xϭ+X�V|���U�n� �g���hҜ�b�aҢ^��j�f�ZV�K��w.�ؾp�}{� �/e��{O�o�����R�8���i� !jB`�3n;Mw.=7�S�'��F�yW��x�}LXNfz�����b�p�b�bq~�����s�4�H�2��q^�r��n���\aFf4�����n�c��Q�n�X�,����ӑҤd5DDDd9'd��,�l��.���)?��������#}C�k����ܖq����m�a��y��8D���,K)�I�$I�8NE�aH)�|�VCDƘ��DF0D@M�"3�+�����Kcú��+n}��-�k:W�K������3ƄRʌ��m۞��q�9WJ���d�0�,�8��ٶ�⦈B�h���䩡�eDCj&$ �1�Y��\�>{~`�M����ͷt�#?VZ'@D²l"�,+�ɤc0�r��R*��X��n�_kMD�1"""ι�:%X��� $�b:i�b4�X<�/"r�����[Vo��T��0V�i���sΓ$IG���4M�c�R�eq��QS�+5{�{�,��a"��D�2�CҐ(I`CS�s�ʥ�R&�p�����۴(�N���e�sq�Ғ|%�����k�=�0S3@�`�i9�K��Պ�0T�Y��ؼD*��DE��2�gO�bŷrY����z�T��R�҉҆SX�Tϑ����/�Zi�eL��X��jdx䏿�eَ���7��П"?�����0y����<��R�N8�\X9ӥx ��^�L�l�ކ��u����/���Q�B�^p�f��\3��]�INƑ�L�"--�r�!8?���Rp~����v��|�M��$����_M�����GgF�/U�^�^p�Dk�ٲ�vM� ����L$�eGʓ01*���Two��f��#���ޱ��7��!5rdy"D��V���\ט��[y�f���@���Um����2w\�fg_z�y���v|`$_ow402�|���c��Zt��J��Yw���b8+L����R�t߉O�xS���'�L��`/lY�� ���Z;f�nX���f��$�<���Ϩ�J��z"�y��%�qzz��(B��Y�@D�)�uS���<�\.[�����*T(�8v�̗����rrr2I�� N5w����^k=�}�:�S�yӌ��ً+�����NY碧f����0)��h. �R����4�Ա�>�X,:����c�0�0�Rn6���mii�MW*�j��i�I�0�,ˊ���È�8���j�$I�hkk�`||�B!b��l6�8Ncc��U��<���1f�&"FQdYV�B�b���j3�>�!��j>���g���g��RD����8���r�08�u�7��]3������~�,b�P���%tEXtdate:create�2025-02-07T10:02:54+00:00� t����%tEXtdate:modify�2025-02-07T10:02:54+00:00�P�6���(tEXtdate:timestamp�2025-02-07T10:02:54+00:00�E������IEND�B`�
| Server IP : 128.227.220.250 / Your IP : 216.73.216.35 Web Server : Apache/2.4.64 (Unix) OpenSSL/1.0.2k-fips PHP/7.4.33 System : Linux dumont.ece.ufl.edu 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64 User : daemon ( 2) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib64/python2.7/site-packages/orca/ |
Upload File : |
# Orca
#
# Copyright 2005-2008 Sun Microsystems Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 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
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser 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.
"""Provides an abtract class for working with speech servers.
A speech server (class SpeechServer) provides the ability to tell the
machine to speak. Each speech server provides a set of known
voices (identified by name) which can be combined with various
attributes to create aural style sheets."""
__id__ = "$Id$"
__version__ = "$Revision$"
__date__ = "$Date$"
__copyright__ = "Copyright (c) 2005-2008 Sun Microsystems Inc."
__license__ = "LGPL"
import logging
from . import settings
from . import orca_state
log = logging.getLogger("speech")
from . import debug
from .acss import ACSS
class VoiceFamily(dict):
"""Holds the family description for a voice."""
NAME = "name"
GENDER = "gender"
LOCALE = "locale"
MALE = "male"
FEMALE = "female"
settings = {
NAME : None,
GENDER : None,
LOCALE : None
}
def __init__(self, props):
"""Create and initialize VoiceFamily."""
dict.__init__(self)
self.update(VoiceFamily.settings)
if props:
self.update(props)
class SayAllContext:
PROGRESS = 0
INTERRUPTED = 1
COMPLETED = 2
def __init__(self, obj, utterance, startOffset=-1, endOffset=-1):
"""Creates a new SayAllContext that will be passed to the
SayAll callback handler for progress updates on speech.
If the object does not have an accessible text specialization,
then startOffset and endOffset parameters are meaningless.
If the object does have an accessible text specialization,
then values >= 0 for startOffset and endOffset indicate
where in the text the utterance has come from.
Arguments:
-obj: the Accessible being spoken
-utterance: the actual utterance being spoken
-startOffset: the start offset of the Accessible's text
-endOffset: the end offset of the Accessible's text
"""
self.obj = obj
self.utterance = utterance
self.startOffset = startOffset
self.currentOffset = startOffset
self.endOffset = endOffset
class SpeechServer(object):
"""Provides speech server abstraction."""
def getFactoryName():
"""Returns a localized name describing this factory."""
pass
getFactoryName = staticmethod(getFactoryName)
def getSpeechServers():
"""Gets available speech servers as a list. The caller
is responsible for calling the shutdown() method of each
speech server returned.
"""
pass
getSpeechServers = staticmethod(getSpeechServers)
def getSpeechServer(info):
"""Gets a given SpeechServer based upon the info.
See SpeechServer.getInfo() for more info.
"""
pass
getSpeechServer = staticmethod(getSpeechServer)
def shutdownActiveServers():
"""Cleans up and shuts down this factory.
"""
pass
shutdownActiveServers = staticmethod(shutdownActiveServers)
def __init__(self):
pass
def getInfo(self):
"""Returns [name, id]
"""
pass
def getVoiceFamilies(self):
"""Returns a list of VoiceFamily instances representing all
voice families known by the speech server."""
pass
def queueText(self, text="", acss=None):
"""Adds the text to the queue.
Arguments:
- text: text to be spoken
- acss: acss.ACSS instance; if None,
the default voice settings will be used.
Otherwise, the acss settings will be
used to augment/override the default
voice settings.
Output is produced by the next call to speak.
"""
pass
def queueTone(self, pitch=440, duration=50):
"""Adds a tone to the queue.
Output is produced by the next call to speak.
"""
pass
def queueSilence(self, duration=50):
"""Adds silence to the queue.
Output is produced by the next call to speak.
"""
pass
def speakCharacter(self, character, acss=None):
"""Speaks a single character immediately.
Arguments:
- character: text to be spoken
- acss: acss.ACSS instance; if None,
the default voice settings will be used.
Otherwise, the acss settings will be
used to augment/override the default
voice settings.
"""
pass
def speakKeyEvent(self, event):
"""Speaks a key event immediately.
Arguments:
- event: the input_event.KeyboardEvent.
"""
if event.isPrintableKey() \
and event.event_string.decode("UTF-8").isupper():
voice = ACSS(settings.voices[settings.UPPERCASE_VOICE])
else:
voice = ACSS(settings.voices[settings.DEFAULT_VOICE])
event_string = event.getKeyName()
if orca_state.activeScript and orca_state.usePronunciationDictionary:
event_string = orca_state.activeScript.\
utilities.adjustForPronunciation(event_string)
lockingStateString = event.getLockingStateString()
event_string = "%s %s" % (event_string, lockingStateString)
logLine = "SPEECH OUTPUT: '" + event_string +"'"
debug.println(debug.LEVEL_INFO, logLine)
log.info(logLine)
self.speak(event_string, acss=voice)
def speakUtterances(self, utteranceList, acss=None, interrupt=True):
"""Speaks the given list of utterances immediately.
Arguments:
- utteranceList: list of strings to be spoken
- acss: acss.ACSS instance; if None,
the default voice settings will be used.
Otherwise, the acss settings will be
used to augment/override the default
voice settings.
- interrupt: if True, stop any speech currently in progress.
"""
pass
def speak(self, text=None, acss=None, interrupt=True):
"""Speaks all queued text immediately. If text is not None,
it is added to the queue before speaking.
Arguments:
- text: optional text to add to the queue before speaking
- acss: acss.ACSS instance; if None,
the default voice settings will be used.
Otherwise, the acss settings will be
used to augment/override the default
voice settings.
- interrupt: if True, stops any speech in progress before
speaking the text
"""
pass
def isSpeaking(self):
""""Returns True if the system is currently speaking."""
return False
def sayAll(self, utteranceIterator, progressCallback):
"""Iterates through the given utteranceIterator, speaking
each utterance one at a time. Subclasses may postpone
getting a new element until the current element has been
spoken.
Arguments:
- utteranceIterator: iterator/generator whose next() function
returns a [SayAllContext, acss] tuple
- progressCallback: called as speech progress is made - has a
signature of (SayAllContext, type), where
type is one of PROGRESS, INTERRUPTED, or
COMPLETED.
"""
for [context, acss] in utteranceIterator:
logLine = "SPEECH OUTPUT: '" + context.utterance + "'"
debug.println(debug.LEVEL_INFO, logLine)
log.info(logLine)
self.speak(context.utterance, acss)
def increaseSpeechRate(self, step=5):
"""Increases the speech rate.
"""
pass
def decreaseSpeechRate(self, step=5):
"""Decreases the speech rate.
"""
pass
def increaseSpeechPitch(self, step=0.5):
"""Increases the speech pitch.
"""
pass
def decreaseSpeechPitch(self, step=0.5):
"""Decreases the speech pitch.
"""
pass
def updatePunctuationLevel(self):
"""Punctuation level changed, inform this speechServer."""
pass
def stop(self):
"""Stops ongoing speech and flushes the queue."""
pass
def shutdown(self):
"""Shuts down the speech engine."""
pass
def reset(self, text=None, acss=None):
"""Resets the speech engine."""
pass