Abstract:
A method, system, and machine-readable medium are provided for utilizing a network repository having stored voice font data. A request for a response, including the voice font data stored in the network repository; is received via a network. The voice font data stored in the network repository is accessed. The response, including the voice font data, is sent via the network.

Description:
RELATED APPLICATIONS 
     This application claims the benefit of Provisional U.S. Patent Application 60/640,933, filed in the U.S. Patent and Trademark Office on Dec. 30, 2004 and incorporated by reference herein in its entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to utilization of voice fonts for speech synthesis applications and, more particularly, to creation and availability of a network-based voice font platform for use by network subscribers. 
     2. Introduction 
     Compression of speech data is an important problem in various applications. For example, in wireless communication and voice over IP (VoIP), effective real-time transmission and delivery of voice data over a network may require efficient speech compression. In entertainment applications such as computer games, reducing the bandwidth for transmitting player-to-player voice correspondence may have a direct impact on the quality of the products and the experience of the end-users. One well-known family of speech compression coding schemes is phoneme-based speech compression. Phonemes are the basic sounds of a language that distinguish different words in that base language. To perform phoneme-based coding, phonemes in speech data are extracted so that the speech data can be transformed into a phoneme stream which is represented symbolically as a text string, in which each phoneme in the stream is coded using a distinct symbol. 
     With a phoneme-based coding scheme, a phonetic dictionary may be used. A phonetic dictionary characterizes the sound of each phoneme in the base language. It may be speaker-dependent or speaker-independent, and can be created via training using recorded spoken words collected with respect to the underlying population (either a particular speaker or a predetermined population). For example, a phonetic dictionary may describe the phonetic properties of different phonemes in terms of expected rate, tonal pitch and volume. When based on American English, there are a set of 40 different phonemes, according to the International Phoneme Association (24 consonants and 16 vowels). 
     What is known as a “voice font” may be the phoneme patterns for all 40 phonemes stored in the phoneme dictionary. However, for higher quality voice fonts, sub-phoneme units, such as, for example, bi-phones or even smaller units are typically stored as the voice font. Thus, there can be an essentially unlimited number of voice fonts that can be created, by modifying one or more of the phoneme or sub-phoneme patterns in a stored set. 
     There may arise situations where an individual may desire to select a “voice font” other that his/her natural voice for a speech signal transmission. Some systems exist that store a limited number of different voice fonts in a memory associated with an individual&#39;s communication device (e.g., cell phone, computer, etc.). However, as the number of voice fonts increases, the ability to store and/or update a listing of voice fonts has become problematic. 
     SUMMARY OF THE INVENTION 
     Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth herein. 
     In a first aspect of the invention, a method for utilizing a network repository having stored voice font data is provided. A request for a response, including the voice font data stored in the network repository; is received via a network. The voice font data stored in the network repository is accessed. The response, including the voice font data, is sent via the network. 
     In a second aspect of the invention, a machine-readable medium having instructions recorded thereon for at least one processor is provided. The machine-readable medium includes instructions for receiving, via a network, a request for a response including voice font data stored in a network repository, instructions for accessing the voice font data stored in the network repository, and instructions for sending the response including the voice font data via the network. 
     In a third aspect of the invention, a system is provided. The system includes at least one processor, a memory, storage arranged to store voice font data for voice synthesis, a network communication device arranged to communicate via a network, and a bus for connecting the at least one processor, the memory, the storage, and the network communication device. The at least one processor is arranged to receive a request, via a network, for the voice font data stored in the storage, access the voice font data stored in the storage, and send the response including the voice font data via the network. 
     In a fourth aspect of the invention, an apparatus is provided. The apparatus includes means for receiving, via a network, a request for a response including voice font data stored in a network repository, means for accessing the voice font data stored in the network repository, and means for sending the response including the voice font data via the network. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which: 
         FIG. 1  illustrates an exemplary operating environment for implementations consistent with principles of the invention; 
         FIG. 2  is a functional block diagram of an exemplary processing device which may be used in implementations consistent with the principles of the invention; 
         FIG. 3  illustrates an exemplary meta-table which may be employed in a network repository consistent with the principles of the invention; 
         FIG. 4  is a flowchart of an exemplary process which may be performed in implementations consistent with the principles of the invention; and 
         FIG. 5  is a flowchart of another exemplary process which may be performed in implementations consistent with the principles of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Various embodiments of the invention are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the invention. 
     Exemplary System 
       FIG. 1  illustrates an exemplary system  100  in which embodiments of the invention may be implemented. System  100  may include a network  102 , one or more user devices  104 , one or more processing devices, such as, for example, server  105 , and a network repository  106 . Network repository  106  may include a meta-data table  108 , a voice font database  110 , and a subscriber database  112 . 
     Network  102  may include one or more networks, such as, for example, an Internet Protocol (IP) network capable of carrying voice over IP (VoIP) packets or other types of networks capable of carrying synthesized voice messages as well as other data. Network  102  may also include a public switched telephone network (PSTN)  103  and may include a wireless telephone network (not shown). 
     User device  104  may be a conventional telephone (connected to PSTN  103 ), a processor device such as, for example, a personal computer, a handheld computer, a cell phone with a processor, a conventional telephone, or other device capable of receiving voice font data, playing synthesized voice, based at least partly on the received voice font data, or receiving a signal corresponding to synthesized voice and reproducing the corresponding synthesized voice. 
     Server  105  may be a processing device, such as, for example, a personal computer or other processing device capable of receiving voice font data and text and generating synthesized voice data based, at least in part on the voice font data and the text. 
     Network repository  106  may include a processing device with meta-table  108 , which has information describing multiple features of one or more voice fonts stored in voice font database  110 . 
     Voice font database  110  may be a database that includes storage for data with respect to multiple voice fonts and may also include information pertaining to a fee for use of a particular voice font as well as access restriction data pertaining to use of one or more voice fonts. 
     Subscriber database  112  may include information pertaining to a subscriber, such as, for example, userID, password, default voice font, etc. Further, subscriber database  112  may include more than one default voice font for a user&#39;s use. For example, a user may have a default voice font for personal messages and a default voice font for business messages. 
     Exemplary Processing Device 
       FIG. 2  is a block diagram of exemplary processing device  200 , which may be used to implement user device  104 , server  105 , or network repository  106  in various implementations consistent with the principles of the invention. Processing device  200  may include a bus  210 , a processor  220 , a memory  230 , a read only memory (ROM)  240 , a storage device  250 , an input device  260 , an output device  270 , and a communication interface  280 . Bus  210  may permit communication among the components of processing device  200 . 
     Processor  220  may include at least one conventional processor or microprocessor that interprets and executes instructions. Memory  230  may be a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor  220 . Memory  230  may also store temporary variables or other intermediate information used during execution of instructions by processor  220 . ROM  240  may include a conventional ROM device or another type of static storage device that stores static information and instructions for processor  220 . Storage device  250  may include any type of media, such as, for example, magnetic or optical recording media and its corresponding drive, as well as memory, such as, RAM. In some implementations consistent with the principles of the invention, storage device  250  may store and retrieve data according to a database management system. 
     Input device  260  may include one or more conventional mechanisms that permit a user to input information to system  200 , such as a keyboard, a mouse, a pen, a voice recognition device, a microphone, a headset, etc. Output device  270  may include one or more conventional mechanisms that output information to the user, including a display, a printer, one or more speakers, a headset, or a medium, such as a memory, or a magnetic or optical disk and a corresponding disk drive. 
     Communication interface  280  may include any transceiver-like mechanism that enables processing device  100  to communicate via a network. For example, communication interface  280  may include a modem, or an Ethernet interface for communicating via a local area network (LAN). Alternatively, communication interface  180  may include other mechanisms for communicating with other devices and/or systems via wired, wireless or optical connections. 
     Processing device  200  may perform such functions in response to processor  220  executing sequences of instructions contained in a computer-readable medium, such as, for example, memory  230 , a magnetic disk, or an optical disk. Such instructions may be read into memory  230  from another computer-readable medium, such as storage device  250 , or from a separate device via communication interface  280 . 
     When processing device  200  is used as user device  104 , processing device may be, for example, a personal computer (PC), a handheld computer, a cell phone, or any other type of processing device. When processing device  200  is used as server  105  or network repository  106 , processing device  200  may be a personal computer or other processing device. 
     In alternative implementations, such as, for example, a distributed processing implementation, a group of processing devices  200  may communicate with one another via a network such that various processors may perform operations pertaining to different aspects of the particular implementation. 
     Exemplary Meta-Table 
       FIG. 3  illustrates an exemplary meta-table  300  that may be included in network repository  106  in implementations consistent with the principles of the invention. Meta-table  300  may include features pertaining to voice fonts, such as, for example, gender, age, language, accent, tone, quality, restrictions, font name, and a pointer to the voice font data for the particular font in voice font database  110 . Exemplary meta-table  300  has four voice font entries, although an actual meta-table may have fewer or more entries and may have fewer or more features, as well as different features. 
     With respect to each of the exemplary features of meta-table  300 , GENDER may have a value of “MALE” or “FEMALE”, AGE may have a value corresponding to a particular age (in years) or an age range, language may have a value indicating language spoken, accent may have a value indicating a particular accent, such as, for example, a regional accent or an accent pertaining to a particular country, TONE may have a value indicating an emotional tone, such as, for example, “HAPPY”, “ANGRY”, etc., QUALITY may have a value indicating a quality of synthesized voice to be produced based on the particular voice font, such as, for example, “High”, “Medium”, or “Low”, or any other suitable set of values, RESTRICTIONS may have a value indicating whether certain user-restrictions are placed on who may use the particular voice font, or whether the voice font may be used only upon payment of a fee, NAME may be a name for the voice font and may be an alphanumeric value, and POINTER, may be a pointer to the particular voice font in voice font database  110 . 
     Entry  302  of exemplary meta-table  300  describes a voice font for a synthesized voice of a male in his 20&#39;s who speaks English with a southern accent. The tone of the font is energetic and can be used to produce a high quality synthesized voice with no restrictions on use. The voice font name is DREW and pointer 1 points to the corresponding voice font data in voice font database  110 . 
     Entry  304  describes a voice font for a synthesized voice of a female child of about 6 years of age who speaks English with a Midwestern accent and with a happy tone. The quality of the synthesized voice to be produced using the voice font is medium with no restrictions on use. The voice font has a name of LILY and pointer 2 points to the corresponding voice font data in voice font database  110 . 
     Entry  306  describes a voice font for a synthesized voice of a female in her 30&#39;s who speaks English with a French accent and with a playful tone. The quality of the synthesized voice to be produced using the voice font is high and may be used by paying a fee. The voice font has a name of CELEB1 and pointer 3 points to the corresponding voice font data in voice font database  110 . 
     Entry  308  describes a voice font for a synthesized voice of a male in his 40&#39;s who speaks Spanish with a Mexican accent and with an angry tone. The quality of the synthesized voice to be produced using the voice font is medium and use of the font is subject to user access restrictions. The voice font has a name of USER1 and pointer 4 points to the corresponding voice font data in voice font database  110 . 
     Exemplary Processes 
       FIG. 4  shows an exemplary flow chart of a process that may be employed in implementations consistent with the principles of the invention. The process may be implemented in user device  104 , or server  105 . 
     Assuming that user device  104  is a processing device, the process may begin with user device  104  requesting a particular voice font based on a user selection, a previously-defined user-preference, or via another means (act  402 ). In one implementation, a user may browse information in meta-table  300  via, for example, a browser or other means, and may select a voice font from the meta-table via any one of a number of input means, such as, for example, making a selection from a display using a pointing device, such as a computer mouse, an electronic stylus, or a user&#39;s finger on a touch screen display. Other means of indicating a desired voice font may also be used, such as, for example, a microphone and a speech recognizer, whereby a user may provide a verbal indication of a desired voice font. 
     User device  104  may then send a request for the desired voice font to network repository  106  via network  102  (act  404 ). User device  104  may then determine whether the requested voice font is received (act  404 ). If the voice font is not received (which may be determined by a timeout event or an error notification), user device  104  may provide a notification to a user that the desired voice font is currently not available (act  406 ). This may be achieved via a displayed message, an audio signal, or another suitable means. 
     If the voice font is received by user device  104 , the voice font may be stored in memory  230  or storage device  250  (act  408 ). User device  104  may then receive a text message (act  410 ). The text message may be, for example, an e-mail message, an instant message, a text document, keyboard input, or other textual input. User device  104  may then generate synthesized voice data based on the text message and the received voice font (act  412 ). The received voice font data may be in any known voice font data format or may be in a voice font format not yet developed. User device  104  may play a synthesized voice corresponding to the voice font data via output device  270  (act  414 ), such as, for example, a speaker, or a headset and the user will hear a synthesized voice speaking the text message. 
     A variation of the exemplary process of  FIG. 4  may also be implemented in a processing device, such as server  105 . In this example, we assume that user device  104  is a conventional telephone. Acts  402 - 412  may be performed by server  105  essentially as discussed above, with respect to the previous example. Server  105  may then play the synthesized voice data (act  414 ) through a connection from server  105 , via network  102  (including PSTN  103 ) to user device  104  (a conventional telephone, in this example), where a user will hear the synthesized voice speaking the text message. The connection may be established by a user of user device  104  making a call to a message retrieval application or other application. 
     In a variation of the above-mentioned second example, the exemplary process of  FIG. 4  may be implemented in a processing device, such as server  105 . However, in this example, we assume that user device  104  is a stationary processing device or a portable processing device, such as, for example, a cell phone, a handheld computer with a speaker, earphone, or headset, or another portable processing device capable of outputting a voice. 
     Acts  402 - 412  may be performed essentially as discussed above, with respect to the previous examples. Server  105  may then send the generated synthesized voice data to user device  104  (act  416 ), which may play the synthesized voice data so that a user may hear the corresponding synthesized voice speak the test message. Alternatively, server  105  may play the synthesized voice data (act  414 ) through a connection from server  105 , via network  102  to user device  104  via, for example, a wireless connection. The user will subsequently hear the synthesized voice speaking the text message via user device  104 . The connection may be established by a user of user device  104  making a wireless call to a message retrieval application or other application. 
       FIG. 5  is a flowchart that illustrates an exemplary process that may be implemented in network repository  106  consistent with the principles of the invention. First, network repository  106  may receive a request for a particular voice font (act  502 ). Network repository may then access a table, such as, for example, meta-table  300  to determine whether there are any restrictions on the use of the requested voice font (act  504 ). If network repository  106  determines that there are no restrictions on the use of the requested voice font, then network repository  106  may access voice font database  110  to obtain the corresponding voice font data (act  506 ) and may then deliver the voice font data to the requesting device (act  508 ). In an alternative implementation, the requesting device may include delivery data with the voice font request such that network repository  106  may deliver the voice font to a device different from the requesting device. 
     If network repository determines that the requested voice font is restricted (act  504 ), then network repository  106  may determine if the restriction concerns charging a fee for use of the voice font (act  510 ). If the restriction does concern charging a fee for use of the voice font, network repository  106  may access subscriber database  112  to determine whether the particular subscriber, who may have previously been identified by entering a userID/password combination or by another identification means, is authorized to access a pay-for-use voice font and may add the particular fee to the subscriber&#39;s account (act  512 ) before obtaining the particular voice font (act  506 ) and delivering the voice font (act  508 ). 
     If network repository  106  determines that the requested voice font is restricted (act  504 ) and that use of the voice font does not include charging the subscriber a fee (act  510 ), then network repository  106  may determine whether the subscriber is permitted to use the requested voice font (act  514 ). This may be achieved by referring to voice font database  110  which may include access restriction data with respect to particular voice fonts. If network repository  106  determines that the subscriber is not permitted access to the voice font, then network repository  106  may provide a restriction notification to the requesting device (act  516 ). 
     Fees 
     Implementations consistent with the principles of the invention may permit a fee to be charged for use of certain ones of the voice font data. For example, a fee may be charged for voice font data that can be used to synthesize a celebrity voice. The fee a subscriber may be charged may be based on the number of times the particular voice font data is requested, the particular individual or celebrity whose voice is to be synthesized, and/or a quality associated with the synthesized voice to be produced using the voice font. Further, network repository  106  may provide some voice font data, such as, for example, pay-for-use voice font data, such that it can be used only a predetermined number of times, such as, for example, one time, or a specific number of times based on, for example, an amount of a fee to be paid by a subscriber. 
     Miscellaneous 
     In implementations consistent with the principles of the invention, network repository  106  may receive new voice font data from a device and may store the voice font data in voice font database  110 . The voice font data may be received via network  102  or may be received locally along with configuration data, such as, for example, access restrictions, pay-for-use data, and feature information, as well as other information, for a new meta-table entry. 
     CONCLUSION 
     Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, hardwired logic may be used in implementations instead of processors, or one or more application specific integrated circuits (ASICs) may be used in implementations consistent with the principles of the invention. Further, implementations consistent with the principles of the invention may have more or fewer acts than as described, or may implement acts in a different order than as shown. For example, with respect to the exemplary process described in  FIG. 4 , the voice font may be stored after receiving a text message, instead of before receiving the text message, or the text may be received at some other point in the process. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.