The present invention relates to creating ring tones, and more particularly, to creating downloadable ring tones for a phone device.
A ring tone is the sound that a device emits to notify the user of some event, such as call appearance, message arrival or battery level warning. For example, a cell phone device may allow the user to choose a ring tone that should be played when a call appears or another ring tone that should be played when a short message arrives. Some devices have the capability to receive additional ring tones from an external source. Such ring tones are said to be downloadable. Some devices can play ring tones that closely approximate recorded audio. Recorded audio can be stored as an audio data file. Ring tones created from recorded audio are called real tones, voice tones, true tones or natural tones.
Additionally, a ring tone can be sent to a device that includes a messaging service and a browser. Such a device, when receiving a message containing a URL (Universal Resource Locator), is capable, under control of the user or automatically, of steering the browser to the URL. Usually, a messaging service offers messaging functions such as SMS (Short Message Service), MMS (Multimedia Messaging Service) or WAP (Wireless Application Protocol) push messages. Sending a message containing a URL of a ring tone to a phone is called sending a ring tone to a phone.
Ring tones may be made available for a device to download in a variety of ways. When a browser in the device connects to a URL that contains a ring tone of the right format, the browser will download the ring tone to the device. Alternatively, a user can also create his/her own ring tones in a computer using various software tools. The created ring tones can then be downloaded to the user's device using computer-device connectivity such as a serial cable, a USB cable, infrared or Bluetooth.
However, using a computer running special software tools for ring tone creation may be cumbersome for a user.
A ring tone service creates a downloadable voice ring tone in response to receivng a phone call. The ring tone service detects an incoming phone call from a phone device to a service phone number associated with the ring tone service. An answering message allows a caller to start an audio response to be recorded into an audio data file. A notification message including information to locate the audio, such as a URL link that will cause a phone device to download a ring tone, is sent to the phone number associated with the calling phone device. A properly formatted ring tone is available for the phone device to download following the link information included in the notification message.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
In the following description, numerous specific details are set forth to provide thorough explanation of embodiments of the present invention. It will be apparent, however, to one skilled in the art, that embodiments of the present invention may be practiced without these specific details. In other instances, well-known components, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
The processes depicted in the figures that follow, are performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, etc.), software (such as is run on a general-purpose computer system or a dedicated machine), or a combination of both. Although the processes are described below in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in different order. Moreover, some operations may be performed in parallel rather than sequentially.
Starting with
Subsequently, after the recording is completed, the ring tone service 107 may send a notification message to a messaging module 109 in the phone device through a messaging connection 111. Message connection 111 may be established by the service 107 based on a phone number associated with the phone device 103. The notification message may contain an URL for the phone device 103 to download a ring tone generated from the recording. When presented the received notification message, the caller may select the URL inside the message to activate a phone browser 113 to establish a data connection 115 to a server based on the URL for downloading the ring tone. Alternatively, the messaging module may activate the phone browser automatically. In response to the URL request from the phone browser 113, a server may send a response through the data connection 115 that includes the requested ring tone. When recognizing the content carried inside the response as a ring tone based on, for example, a response header, the phone browser 103 may forward the received content to a ring tone module 117 to complete the downloading.
Turning now to
According to one embodiment, the call hander 215 is coupled with the database 211 and a messaging module 217. In one embodiment, the call handler 215 accepts and answers a phone connection 221 from the phone device 103. In one embodiment, the call handler 215 includes a call answering module 219, an audio recording module 221 and a registration module 223. The call answering module may play an answering message to the phone device. The registration module 223, according to one embodiment, determines a phone number associated with the received phone call from the phone device 103. In one embodiment, the registration module 223 queries the database 211 to determine if the phone has been registered. The audio recording module may assign a unique ID to record the audio signal received from the phone device 103 into the database 211 according to the unique ID. Audio signals may include voice messages, pieces of music or other sounds that are sent through the phone device.
According to one embodiment, the messaging module 217 composes a notification message including a link to locate a recorded ring tone. In one embodiment, the link is a URL with the assigned unique ID. The URL may address the HTTP server 203 corresponding to the ring tone service 107. In one embodiment, the messaging module 217 sends the notification message to the phone device 103 via a message connection 225 established by the messaging module 217 according to the phone number associated with the phone device 103.
The process 400 may answer the incoming call by automatically playing an audio message to the phone device at block 405. In one embodiment, the answering message includes a greeting message followed by a beep. The beep signals the caller placing the call from the phone device to start an audio response. In one embodiment, an automated attendant system answers the incoming call to provide options for the caller to choose. Multiple options may include sending ring tones to friend' phone numbers, different usage pricing structures, or simply an opportunity for a caller to opt out of the service. Subsequently, the caller may start an audio response for creating a voice ring tone. In one embodiment, when receiving the audio response from the phone device at block 407, the process 400 starts recording the audio response into an audio data file at block 409. In one embodiment, the process 400 waits until the presence of an audio response after sending the answering message to start the recording. In another embodiment, the process 400 begins the recording right after sending out the answering message. The recording may complete when the caller hangs up the phone. In one embodiment, the recording completes when the process receives no audio signal from the caller for a predetermined period of time. In some embodiments, a predetermined period of time limit is imposed on the recording.
Referring to block 411 of
Proceeding to block 415, according to one embodiment, the process 400 assigns a unique ID to a recorded audio data file. In one embodiment, the unique ID is the caller's phone number. The audio data file and its unique ID may be stored according to the corresponding registered phone number at block 417. In one embodiment, the audio data file and its unique ID are inserted into a data base indexed by the associated registered phone number. In one embodiment, a web site for the present ring tone service is available for a caller to login to retrieve ring tones associated with the caller's phone number.
Proceeding to block 419, in one embodiment, the process 400 creates a notification message including information to locate the audio data file. In some embodiments, the notification message includes a hypertext content to locate the audio data file. In another embodiment, the notification message contains an address book entry, for example VCard entry, associated with the caller or caller's friends. Additionally, the notification message may contain an explanatory message and a password. The password may be used to log in the ring tone service from a web site hosting the service. The hypertext content may be based on HTML (Hypertext Markup Language), WML (Wireless Markup Language) or XML (Extended Markup Language). In one embodiment, the hypertext content contains information including a link that will cause a phone device to download a ring tone, a form that lets a user name the ring tone, access ring tone libraries, or share ring tones with friends. In one embodiment, the ring tone libraries may include the user's library, friend' libraries and a library available for the general public. The link may be a URL based on the unique ID. In one embodiment, the link is a URL for a generic web site of the present ring tone service. In another embodiment, the link is a URL of a partner web site which has access to the ring tones created through the present ring tone service.
Referring to block 421, in one embodiment, the process 400 sends a notification message to the caller's phone number with information to locate the audio data file. In one embodiment, the notification message is based on a messaging function such as short message or SMS. In another embodiment, the notification message is a text message. In some embodiments, the notification message may be WAP push message or MMS.
Proceeding to block 505, according to one embodiment, the process 500 determines if the request URL addresses a specific ring tone data. In one embodiment, for example, the process 500 identifies “.QCP” (Voice file associated with Qualcomm Pure Voice) extension from the request URL to indicate a specific ring tone data being addressed by the request URL. In one embodiment, the identification is based on a pattern from the request URL. For example, the string pattern “/q” in an example URL string “http://toktu.com/q/123456” is interpreted as a request specifically for a .QCP file. For a specific ring tone request, in one embodiment, the process 500 continues at block 509, otherwise it goes to block 507.
Proceeding to block 507, according to one embodiment, the process 500 determines if the phone device requires a control file according to the extracted device profile to download a ring tone. For example, devices based on the Qualcomm design require a control file, known as a .GCD file, to be downloaded to cause the browser to activate the ring tone download functionality. Upon receiving the control file, the activated ring tone download functionality initiates a second HTTP request, this time specifically requesting a .QCP file. A control file may contain a second URL that indicates the location of a ring tone content. Additionally, a control file may include the name and the length of a ring tone. In one embodiment, a control file is used to implement a two-step process between a phone browser and a web server to serve a CDMA (Code Division Multiple Access) phone device. On receiving the control file, the phone browser may automatically steer itself to the second URL included inside the control file.
Referring to block 509, according to one embodiment, if no control file is needed, the process 500 retrieves an audio data file based on the extracted unique ID. In one embodiment, the audio data file is obtained from a database storing the audio data file indexed by the unique ID. Based on the device profile, the process 500 may format the audio data from the audio data file and generate a ring tone compatible with the corresponding phone device at block 511. For example, many GSM (Global System for Mobile communications) devices accept ring tones in the AMR (Adaptive Multi Rate) format. Other devices, including Palm OS and Windows Mobile devices accept WAV (Windows Wave) files. In some embodiments, a predetermined format of the audio data is applied to all phone devices. Subsequently, the formatted ring tone may be sent to the phone device in response to the URL request at block 513. In one embodiment, a ring tone is sent to the phone device as an HTTP response body.
Referring to block 515, according to one embodiment, if a control file is required, the process 500 creates a control file containing a URI (Uniform Resource Identifier) that is used to construct a second URL and the unique ID from the requesting URL. In one embodiment, the unique ID is embedded inside the second URI according to a predetermined format. Subsequently, the control file may be sent to the requesting phone device as a response to the URL request at block 517. In one embodiment, the process 500 receives a second URL request to determine no control file is needed to serve the second URL request.
As shown in
The mass storage 611 is typically a magnetic hard drive or a magnetic optical drive or an optical drive or a DVD RAM or other types of memory systems which maintain data (e.g. large amounts of data) even after power is removed from the system. Typically, the mass storage 611 will also be a random access memory although this is not required. While
The preceding detailed descriptions are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the tools used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
In addition, the operations described above may be performed by an apparatus. This apparatus may be specially constructed for the required purpose, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), RAMs, EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The processes and displays presented herein are not specifically related to a particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the operations described. The required structure for a variety of these systems will be evident from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
The foregoing discussion merely describes some exemplary embodiments of the present invention. One skilled in the art will readily recognize from such discussion, the accompanying drawings and the claims that various modifications can be made without departing from the scope of the invention.
This application is related to, and claims the benefit of, U.S. Provisional Patent Application No. 60/722,148, filed on Sep. 29, 2005 and entitled “Method and Process to Create Voice Ring Tones,” which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60722148 | Sep 2005 | US |