Patent Description:
Vehicle terminals have quite different commonly used response commands as user's driving habits vary. A single cache may be at risk of failure or loss. In case of a cache failure or loss, a third party service may be requested, which can result in heavy traffic or high audio playback latency, affecting the human-machine interaction experience. Moreover, frequent use of third party services may result in increased costs. Documents <CIT>, <CIT>, <CIT> and <CIT> disclose text to speech systems.

A voice interaction method, server, voice interaction system and storage medium are provided in accordance with embodiments of the present invention.

The invention is defined by the appendend claims.

In the voice interaction method, the server, the voice interaction system and the computer-readable storage medium defined in the appendend claims, a search is conducted first in the first cache and the second cache of the server that are able to respond faster, so as to obtain a target audio file more quickly. When neither the first cache nor the second cache contains the target audio file, the target audio file is synthesized online using the third party service. This reduces the use of third party services, and also avoids the failure to obtain the target audio file due to the fact that the target audio file is not present in the first cache and the second cache. The present invention achieves a balance between low cost and fast audio playback, thereby bringing a smoother playback experience to users.

Additional aspects and advantages of the present invention will be set forth in the description below, and will become apparent from the description, or can be understood by practice of the present invention.

The above and/or additional aspects and advantages of the present invention will become apparent and readily understood from the following description of the embodiments in connection with the accompanying drawings, in which:.

The embodiments of the present invention will be described in detail below, examples of which are illustrated in the accompanying drawings, in which like or similar numerals denote like or similar elements or elements having like or similar functions throughout. The embodiments described below with reference to the drawings are illustrative only and are not to be construed as limiting the present invention.

In the description of the embodiments of the present invention, the terms "first", "second" and the like are used for illustration purposes only, and are not to be construed as indicating or implying relative importance or implying the number of technical features following these terms. Accordingly, a feature following a term like "first" or "second" may comprise one or more of such features either explicitly or implicitly. In the description of the embodiments of the present invention, unless specifically indicated, the term "a plurality of" or "multiple" means two or more.

Referring to <FIG>, an embodiment of the present invention provides a voice interaction method, which includes:.

In the voice interaction method, a search is conducted first in the first cache <NUM> and the second cache <NUM> of the server <NUM> that are able to respond faster, so as to obtain a corresponding target audio file more quickly. When neither the first cache <NUM> nor the second cache <NUM> contains the target audio file, the target audio file is synthesized online using the third party service. This reduces the use of third party services, and also avoids the failure to obtain the target audio file due to the fact that the target audio file is not present in the first cache <NUM> and the second cache <NUM>. The present invention achieves a balance between low cost and fast audio playback, thereby bringing a smoother playback experience to users.

In particular, at step S10, the TTS synthesis request may be from a vehicle terminal <NUM> in communication with the server <NUM>, or may be from a mobile terminal in communication with the server <NUM>. The mobile terminal include, but are not limited to, a cell phone, tablet computer, wearable smart device, laptop computer, or the like. The vehicle terminal <NUM> and the mobile terminal may be in wired or wireless connection with the server <NUM> for data and signal transmission. The wireless connection include, but not limited to, WIFI, a mobile communication network, etc. The mobile communication network may include mobile communication means, such as <NUM>, <NUM>, or <NUM>.

In some embodiments, the TTS synthesis request may be a voice command "open the window". The step S20 may include following acts. The TTS synthesis request with "open window" is subject to natural language recognition to recognize the content of the voice command of "open window". Response text data that reads "Okay, it has been opened for you" is obtained in TTS (Text To Speech) fashion based on the result of the natural language recognition. A search is conducted in the first cache <NUM> of the server <NUM> based on the response text data "Okay, it has been opened for you" for the target audio file corresponding to the response text data "Okay, it has been opened for you". The target audio file will be sent to the vehicle terminal for playback thereon.

In some embodiments, the TTS synthesis request may be response text data that reads "Okay, it has been opened for you". The step S20 may include searching the first cache <NUM> of the server <NUM> based on the response text data "Okay, it has been opened for you" for the target audio file corresponding to the response text data "Okay, it has been opened for you". The target audio file will be sent to the vehicle terminal for playback thereon.

Referring to <FIG>, in some embodiments, the voice interaction method comprises:.

In this way, the preset audio file data for the first cache <NUM> and/or for the second cache <NUM> may be obtained based on the inventory data in the specified period of time. Setting the preset audio file data allows the first cache <NUM> and/or the second cache <NUM> to quickly accumulate stored audio file data, increasing cache hit rate.

Specifically, the inventory data may be the text content of each of the TTS synthesis requests acquired within the specified period of time and the number of occurrences of each of the TTS synthesis requests. The specified period of time may be <NUM> day, <NUM> days, <NUM> days, <NUM> days, <NUM> days, <NUM> days, <NUM> days, or <NUM> days. The specific period of time is not limited herein. The inventory data may be the text content of each of TTS synthesis requests acquired within a latest period of time and the number of occurrences of each of the TTS synthesis requests. The inventory data may also be the text content of each of TTS synthesis requests acquired within a previous period of time and the number of occurrences of each of the TTS synthesis requests. In some embodiments, for example, the specified period of time may be <NUM> days. The inventory data may include the text content of each of TTS synthesis requests in the last <NUM> days and the number of occurrences of each of the TTS synthesis requests. In some embodiments, for another example, the specified period of time may be <NUM> days randomly selected within the previous six months. The inventory data may include the text content of each of TTS synthesis requests in <NUM> days and the number of occurrences of each of the TTS synthesis requests.

It should be noted that the inventory data may be obtained by the server <NUM> of the embodiments based on the text content of each of TTS synthesis requests and the number of occurrences of each of the TTS synthesis requests, or may be obtained by the manufacturer through such as simulation or statistics according to users' habits, or may be obtained in other ways which will not be illustrated herein. In some embodiments, the inventory data is obtained by the server <NUM> in the embodiments according to TTS synthesis requests of a user, so that the first cache <NUM> and the second cache <NUM> are updated according to the habits of the user using the server <NUM>. In some embodiments, the inventory data is obtained by the manufacturer through such as simulation or statistics according to users' habits, such that the first cache <NUM> and the second cache <NUM> are set with factory settings based on the inventory data before the server <NUM> is sold or traded.

It should be noted that the step S51, step S53 and step S55 may be repeated every specified time period. The specified time period may be, but not limited to, <NUM> days, <NUM> days, or <NUM> days. In this way, the stored data can be updated from the text content of each of TTS synthesis requests within a specified period of time and the number of occurrences of each of the TTS synthesis requests. The preset audio file data of the first cache <NUM> and/or the preset audio file data of the second cache <NUM> may also be updated based on the updated stored data. This allows for the preset audio file data of the first cache <NUM> and/or the preset audio file data of the second cache <NUM> to be as realistic as possible, to improve user experience.

In some embodiments, for example, the inventory data is obtained each day based on the text content of each of TTS synthesis requests within the last <NUM> days and the number of occurrences of each of the TTS synthesis requests, so that the preset audio file data of the first cache <NUM> and/or the preset audio file data of the second cache <NUM> are updated each day based on the newest inventory data.

In the embodiments, the first cache <NUM> is configured to store frequently used audio files, i.e., audio files used in high frequency. For example, in a case where the server <NUM> is used for vehicle interaction, the first cache <NUM> may be configured to store audio files of commonly used responses such as "OK", "I do not understand", "Would you say it in another way?", "The first route has been chosen for you", and the like.

In the embodiments, it may be that audio streams are pre-synthesized using a third party service based on the inventory data, and the audio streams are stored into the first cache <NUM> to obtain the preset audio file data of the first cache <NUM>. It may also be that audio streams are pre-synthesized using a third party service based on the inventory data, and the audio streams are stored into the second cache <NUM> to obtain the preset audio file data of the second cache <NUM>. It may further be that audio streams are pre-synthesized using a third party service based on the inventory data, and the audio streams are stored into the first cache <NUM> and the first cache <NUM>.

It should be noted that the preset audio file data may include a plurality of audio streams. That is, a plurality of audio streams are respectively synthesized by the third party service, and every time an audio stream is synthesized, it will be stored into the second cache <NUM>. In an embodiment, for example, the preset audio file data includes "It is warm today", and the audio streams include "today", "it" and "is warm". After the synthesis of the audio stream "today" is completed, the third party service synthesizes the audio stream "it" and then transmits the audio stream "it" to the second cache <NUM> for storage. In this way, the preset audio file data in the second cache <NUM> can quickly obtain some of the audio streams, so as to output the obtained audio streams timely. The principles described in connection with the second cache <NUM> can also applied to the first cache <NUM>, and will not be repeated herein.

It should be noted that the preset audio file data includes a plurality of audio streams, and the plurality of audio streams constitute a plurality of target audio files corresponding to the text content of the TTS synthesis requests in the inventory data.

In some embodiments, the voice interaction method comprises:.

In this way, target audio files that are not in the first cache <NUM> and/or the second cache <NUM> may be backfilled to the first cache <NUM> and/or the second cache <NUM>. When such a target audio file is required in a later time, it may be read directly locally from the server <NUM>, so as to speed up the retrieval of the target audio file.

Specifically, in an embodiment, when a corresponding target audio file is not contained in the first cache <NUM>, the corresponding target audio file will be synthesized online using a third party service based on the TTS synthesis request, and then will be transferred to the first cache <NUM>.

For example, in a case where the server <NUM> is used for vehicle interaction, the backfilling can be performed in an asynchronous fashion. That is, there can be two processes, one of which may be referred to as the main process. In the main process, after the synthesis of the corresponding target audio file synthesized online by the third party service, the target audio file is transmitted to the vehicle terminal <NUM> for playback. In the other process, the server <NUM> obtains the corresponding target audio file from the third party service and stores it in the first cache <NUM>. The two processes will not affect each other, and there are no specific restrictions on the timing or ordering between the two processes.

The backfilling for the second cache <NUM> is similar to the backfilling for the first cache <NUM> described above, and will not be repeated herein.

The absence of the target audio file in the first cache <NUM> and/or the second cache <NUM> of the server <NUM> includes the following. It may be that the target audio file is not present in the first cache <NUM>, and at this point, the target audio file synthesized online using the third party service will be stored to the first cache <NUM>. It may also be that the target audio file is not present in the second cache <NUM>, and at this point, the target audio file synthesized online using the third party service will be stored to the second cache <NUM>. It may further be that the target audio file is not present in neither the first cache <NUM> nor the second cache <NUM>, and at this point, the target audio file synthesized online using the third party service will be stored to the first cache <NUM> and the second cache <NUM> of the server <NUM>.

It should be noted that, when the first cache <NUM> does not contain the target audio file while the second cache <NUM> contains the target audio file, the target audio file found in the second cache <NUM> may also be stored to the first cache <NUM>.

In an embodiment, the first cache <NUM> may be a high-performance cache (such as a high-performance cache container). Use of a high-performance cache container allows for a quick retrieval of a target audio file corresponding to a TTS synthesis request upon receipt of the TTS synthesis request. Moreover, the first cache <NUM> would employ cache eviction policies to provide high performance and control the cost at a certain level.

In some embodiments, the voice interaction method comprises:
controlling, by a switch, whether an audio file is to be stored into the first cache <NUM> and/or whether an audio file is to be stored into the second cache <NUM>.

In this way, whether the first cache <NUM> and/or the second cache <NUM> stores audio files can be controlled based on factors such as the capacity and/or the update strategy of the first cache <NUM> and/or the second cache <NUM>.

Specifically, a switch control module <NUM> is connected to the first cache <NUM> and the second cache <NUM>. In some embodiments, when the audio files in the first cache <NUM> occupy eighty percent of the capacity of the first cache <NUM>, the switch control module <NUM> controls the first cache <NUM> and/or the second cache <NUM> not to store additional audio files.

It should be noted that an audio file controlled by the switch whether to be stored into the first cache <NUM> and/or the second cache <NUM> may be an audio stream pre-synthesized using a third party service based on the inventory data, or may be a target audio file synthesized online by a third party when the target audio files is not present in the first cache <NUM> and/or the second cache <NUM>, or may be an audio stream corresponding to a TTS synthesis request containing a preset keyword in the inventory data, which will not be limited herein.

The switch control module may also be configured to maintain an update policy for the first cache <NUM> and the second cache <NUM>.

In the embodiments, it may be that the switch control module <NUM> is configured to control whether an audio file is to be stored into the first cache <NUM>. It may be that the switch control module <NUM> is configured to control whether an audio file is to be stored into the second cache <NUM>. It may also be that the switch control module <NUM> is configured to control whether an audio file is to be stored into the first cache and the second cache <NUM>.

In this way, after the preset audio file data of the first cache <NUM> is obtained and/or the preset audio file data of the second cache <NUM> is obtained based on the inventory data, it is possible to further determine whether the inventory data contains a preset keyword(s), so as to timely update an audio file(s) corresponding to a TTS synthesis request(s) containing the preset keyword(s) in time.

In particular, an audio file corresponding to a TTS synthesis request may be updated in cases such as pronunciation change, tone adjustment, polyphonic word pronunciation modification, etc. Therefore, keywords are set in advance, such that the corresponding audio files can be updated timely through the preset audio file data of the first cache <NUM> and/or the preset audio file data of the second cache <NUM>.

It should be noted that the preset keywords can be set timely based on questions and by such as the vehicle terminal <NUM>, the mobile terminal, or the cloud, which are in communication with the server <NUM>. The preset keywords can also be preset by the manufacturer based on statistics of common typographical errors or frequently interchangeable voices, before putting on the market. The preset keywords can be set in various ways, which will not be listed herein.

In the embodiments, it may be that the inventory data is searched for a TTS synthesis request containing a preset keyword, an audio stream corresponding to the TTS synthesis request is synthesized using a third party service, and is stored into the first cache <NUM> to update the preset audio file data of the first cache <NUM>. It may also be that the inventory data is searched for a TTS synthesis request containing a preset keyword, an audio stream corresponding to the TTS synthesis request is synthesized using a third party service, and is stored into the second cache <NUM> to update the preset audio file data of the second cache <NUM>. It may further be that the inventory data is searched for a TTS synthesis request containing a preset keyword, an audio stream corresponding to the TTS synthesis request is synthesized using a third party service and is stored into the first cache <NUM> and the second cache <NUM>.

In some embodiments, the voice interaction method comprises:
step S65, executing a cache eviction policy when the first cache <NUM> meets a preset condition.

In this way, the first cache <NUM> can be enabled to dynamically store audio files.

In particular, the capacity of the first cache <NUM> is generally static. The first cache <NUM> stores audio files synthesized by a third-party service. If the capacity allocated to the first cache <NUM> has been used up, the audio files stored in the first cache <NUM> cannot be updated. Therefore, when the first cache <NUM> meets the preset condition, the cache eviction policy is executed, so that the first cache <NUM> can store the latest audio file(s).

There are various preset conditions. In some embodiments, for example, a cache eviction policy is executed when the first cache <NUM> has stored data for a specified time period. The specified time period may be <NUM> days. When the first cache <NUM> has stored data for <NUM> days, that is, on the eighth day, the cache eviction policy is executed to delete certain audio files. It will be appreciated that the specified time period may also be, for example, <NUM> days, <NUM> days, <NUM> days, which is not limited herein.

In some embodiments, for another example, the cache eviction policy is executed when the first cache <NUM> has stored audio files for a certain storage space. The certain storage space may be seventy percent of the storage space of the first cache <NUM>. When the first cache <NUM> has stored data of seventy percent of its capacity, the cache eviction policy is executed to delete certain audio files. It will be appreciated that certain storage space may also be of other sizes, such as eighty percent, ninety percent of the storage space of the first cache <NUM>, which is not limited herein.

The preset condition can also be set in connection with the processing speed of the first cache <NUM>, whether different user accounts are logged in, or the like. The preset condition may include one condition or a combination of multiple conditions, which is not limited here.

In the embodiments, it may be that, when the first cache <NUM> has stored audio files for the specified time period, the cache eviction policy is executed. It may also be that, when the first cache <NUM> has stored audio files for the certain storage space, the cache eviction policy is executed. It may further be that, when the first cache <NUM> has stored audio files for the specified time period and the first cache <NUM> has stored audio files for the certain storage space, the cache eviction policy is executed.

In an embodiment, the second cache <NUM> may be a high reliability cache. The first cache <NUM> may fail or be abnormal. As a secondary solution for the first cache <NUM>, a storage medium with higher reliability is used, which has a certain loss in performance but is relatively cheap in cost than the first cache <NUM>. For a reliable storage medium, a cache eviction policy is not required.

Specifically, in some embodiments, the step S65 comprises:
step S651, executing the cache eviction policy on audio files based on the Least Recently Used principle and a preset expiration time.

In this way, the cache eviction policy on the first cache <NUM> can be more effective.

In particular, the cache eviction policy may include active eviction and passive eviction. Active eviction evicts audio files in the first cache <NUM> based on a preset expiration time. That is, audio files that have been stored in the first cache <NUM> for a time exceeding the preset expiration time are proactively deleted. For example, the preset expiration time may be <NUM> days. That is, audio files that have been stored in the first cache <NUM> for more than <NUM> days will be deleted. It can be understood that the preset expiration time may also be, for example, <NUM> days, <NUM> days, <NUM> days, which is not limited herein. Passive eviction evicts audio files in the first cache <NUM> based on the Least Recently Used principle. That is, the least recently used audio file or files in the first cache <NUM> are evicted. For example, the audio files in the first cache <NUM> are sorted by frequency of use within the last <NUM> days, and audio files with low frequency of use are deleted. It will be appreciated that the term "recently" in the algorithm may also be other time periods, such as the last <NUM> days, the last <NUM> day, etc., which is not limited herein.

The active eviction and the passive eviction may work together in various ways. For example, the cache eviction policy may be executed on the audio file on a daily basis according to an active eviction rule. When the first cache <NUM> has stored audio files for the certain storage space, the cache eviction policy is executed on the audio file according to a passive eviction rule. For another example, the cache eviction policy may be executed on the audio file on a daily basis according to a passive eviction rule. When the first cache <NUM> has stored audio files for the certain storage space, the cache eviction policy is executed on the audio file according to an active eviction rule. The ways of cooperation of the active eviction and the passive eviction will not be listed herein.

In some embodiments, the voice interaction method comprises:
step S75, updating the target audio file using the third party service when the target audio file corresponding to the TTS synthesis request is found in the second cache <NUM>.

In this way, the target audio file is updated using the third party service based on the TTS synthesis request, so as to update the target audio file in the second cache <NUM> corresponding to the TTS synthesis request.

Specifically, in a case where the server <NUM> is used for vehicle interaction, the target audio file corresponding to the TTS synthesis request may be updated. While the target audio file corresponding to the TTS synthesis request is found in the second cache <NUM> and is sent to the vehicle terminal <NUM> timely, this target audio file may be updated using the third party service. In other words, the TTS synthesis request causes the second cache <NUM> to perform the update by obtaining the target audio file according to the TTS synthesis request. In this way, the second cache <NUM> can update target audio files with a high frequency of use timely, improving the user experience.

<FIG> is a diagram illustrating a scenario of a voice interaction method according to an embodiment of the present invention. In <FIG>, a TTS synthesis request is acquired.

The first cache <NUM> is searched based on the TTS synthesis request and a corresponding target audio file is found for playback, and the method ends.

When the first cache <NUM> misses (namely, the corresponding target audio file is not found therein), the second cache <NUM> is searched, and the corresponding target audio file is found for playback.

When the first cache <NUM> misses and the second cache <NUM> hits, the corresponding target audio file found in the second cache <NUM> is backfilled to the first cache <NUM> asynchronously.

When the second cache <NUM> misses, the target audio file is synthesized online using a third party service for playback.

When the second cache <NUM> misses, the target audio file synthesized online using the third party service is backfilled to the second cache <NUM> asynchronously.

The method ends upon completion of the above processing. The embodiment of the invention obtains the corresponding target audio file more quickly by first searching the first cache <NUM> and the second cache <NUM> of the server <NUM> that are able to respond faster, and thus achieves a balance between low cost and fast audio playback, thereby bringing a smoother playback experience to users.

Referring to <FIG>, a server <NUM> in accordance with an embodiment of the present invention comprises a first cache <NUM> and a second cache <NUM>. The server <NUM> is configured to:.

The server <NUM> first searches locally the first cache <NUM> and the second cache <NUM> of the server <NUM> that are able to respond faster, so as to obtain a corresponding target audio file more quickly. When neither the first cache <NUM> nor the second cache <NUM> contains the target audio file, the server <NUM> uses the third party service to synthesize the target audio file online. This reduces the use of third party services, and also avoids the failure to obtain the target audio file due to the fact that the target audio file is not present in the first cache <NUM> and the second cache <NUM>. The present invention achieves a balance between low cost and fast audio playback, thereby bringing a smoother playback experience to users.

Referring to <FIG>, a system in accordance with an embodiment of the present invention includes a vehicle terminal <NUM> and a server <NUM>.

The vehicle terminal <NUM> is configured to acquire a TTS synthesis request, and transmit the TTS synthesis request to the server <NUM>.

The server <NUM> is configured to acquire a TTS synthesis request, search the first cache <NUM> for a target audio file corresponding to the TTS synthesis request based on the TTS synthesis request, search the second cache <NUM> for the target audio file corresponding to the TTS synthesis request when the target audio file is not present in the first cache <NUM>, and synthesize the target audio file using a third party service when the target audio file is not present in the second cache <NUM>, and return the target audio file to the vehicle terminal to accomplish voice interaction.

The voice interaction system <NUM> first searches locally the first cache <NUM> and the second cache <NUM> of the server <NUM> that are able to respond faster, so as to obtain a corresponding target audio file more quickly. When neither the first cache <NUM> nor the second cache <NUM> contains the target audio file, the server <NUM> uses the third party service to synthesize the target audio file online. This reduces the use of third party services, and also avoids the failure to obtain the target audio file due to the fact that the target audio file is not present in the first cache <NUM> and the second cache <NUM>. The present invention achieves a balance between low cost and fast audio playback, thereby bringing a smoother playback experience to users.

Specifically, the vehicle terminal <NUM> may be installed on a vehicle. The vehicle includes, but not limited to, a fuel vehicle, extended-range electric vehicle, electric vehicle, hybrid vehicle, hydrogen energy vehicle, and the like.

Referring to <FIG>, in an embodiment, the vehicle terminal <NUM> may comprise a central control cloud <NUM>, a display screen <NUM>, and a voice interaction terminal <NUM>.

The central control cloud <NUM> is configured to perform natural language understanding processing on a voice command from a user to obtain a corresponding operation instruction and response text data. The central control cloud <NUM> also stores audio files corresponding to response text data. When the central control cloud <NUM> finds an audio file corresponding to the response text data therein, it may directly send the audio file to the voice interaction terminal <NUM> for playback. When the central control cloud <NUM> does not find an audio file corresponding to the response text data, it sends a TTS synthesis request to the server <NUM>. In order to obtain an audio file with better sound quality and better emotion, the central control cloud <NUM> may also directly send a TTS synthesis request to a third party service for online synthesis.

The display screen <NUM> is configured to display a graphical user interface, such as a control panel interface, a navigation interface, a music interface. The display screen <NUM> may be a touch display screen <NUM>. In addition to displaying a graphical user interface associated with the vehicle terminal <NUM>, the display screen <NUM> also provides means for user input. A user inputs a command by touching an associated key on the touch display screen <NUM> or by inputting an associated gesture. In an embodiment, the display screen <NUM> may include at least one of a central control display screen <NUM>, an instrument display screen <NUM>, and a passenger seat display screen <NUM>, and an entertainment screen on the back of the driver seat and the passenger seat. The user may input a relevant command through a key on the vehicle or through a voice, to have the desired graphical user interface to be displayed.

The voice interaction terminal <NUM> is configured to collect user voice requests and play audio files. For example, the voice interaction terminal <NUM> may have a microphone and a speaker. The voice interaction terminal <NUM> collects a user's voice request through the microphone and transmits it to the central control cloud <NUM>. The central control cloud <NUM> performs natural language understanding processing on the voice request to obtain a corresponding operation instruction and text data. The central control cloud <NUM> sends the operation instruction and the text data to the voice interaction terminal <NUM>, such that the voice interaction terminal <NUM> controls the vehicle to perform a corresponding operation(s).

In accordance with an embodiment of the present invention, a computer-readable storage medium is provided, which has stored thereon a computer program that, when executed by a processor, implements any of the embodiments of the voice interaction method.

Specifically, in an embodiment, the computer program, when executed by the processor, implements the voice interaction method comprising:.

The computer readable storage medium may be located in the vehicle or may be located in a cloud server. The vehicle can communicate with the cloud server to obtain a corresponding program. It can be understood that the computer program include computer program codes. The computer program codes may be in the form of source codes, object codes, an executable file or some intermediate form, or the like. The computer-readable storage medium may include any entity or device capable of carrying computer program codes, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer memory, a Read-Only Memory (ROM), a Random-Access Memory (RAM), a software distribution medium, and the like.

The computer-readable storage medium may be any device that can contain, store, communicate, propagate, or transmit a program for use by an instruction execution system, apparatus, or device or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable storage medium may include: an electrical connection (an electronic device) having one or more wires, a portable computer diskette (a magnetic device), a random access memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM or Flash memory), a fiber optic device, and a portable compact disc read-only memory (CDROM). In addition, the computer-readable storage medium could even be paper or other suitable medium upon which a program is printed, as the program can be electronically obtained, for example, by optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.

It will be appreciated that the above discussion of the embodiments and the benefits of the voice interaction method also applies to the server <NUM>, the voice interaction system <NUM>, and the computer-readable storage medium of the present invention, which will not be expanded in detail herein to avoid redundancy.

In the description herein, specific features, structures, materials, or characteristics described in connection with terms such as "an embodiment," "some embodiments," an example," "a specific example," or "some examples," etc. are intended to be comprised in at least one embodiment or example of the present invention. In this specification, references to the above terms are not necessarily intended to refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. In addition, a skilled person can appreciate that the various embodiments, examples, and features of the embodiments and examples described herein may be combined with each other, except to the extent that they might be mutually exclusive.

Additionally, the terms "first", "second" and the like are used for illustration purposes only, and are not to be construed as indicating or implying relative importance or implying the number of technical features following these terms. Accordingly, a feature following a term like "first" or "second" may comprise at least one of such features either explicitly or implicitly. In the description herein, unless specifically indicated, the term "a plurality of" or "multiple" means at least two, for example, two or three.

Any process or method operations in the flowcharts or otherwise described herein may be understood as representing modules, segments, or portions of codes which include one or more executable instructions for implementing specific logical functions or steps of the processes. Moreover, it will be appreciated by those skilled in the art that the scope of the preferred embodiments of the present invention includes additional embodiments, in which functions may be performed out of order from that illustrated or discussed herein, but may instead be performed in substantially the same way or in reverse order depending on the functionality involved.

Claim 1:
A voice interaction method, applicable to a server, characterized by:
acquiring a Text To Speech, TTS, synthesis request;
based on the TTS synthesis request, searching a first cache of the server for a target audio file corresponding to the TTS synthesis request;
searching a second cache of the server for the target audio file corresponding to the TTS synthesis request when the target audio file is not present in the first cache;
synthesizing the target audio file using a third party service when the target audio file is not present in the second cache; and
returning the target audio file to a vehicle terminal for playback as a response to the TTS synthesis request,
wherein the second cache is updated by:
acquiring inventory data, wherein said inventory data is obtained by the server based on text content of each TTS synthesis request acquired within a specified period of time and the number of occurrences of each TTS synthesis request; and
pre-synthesizing audio streams using the third party service based on the inventory data, and storing the audio streams to the second cache to obtain preset audio file data for the second cache, and
the method further comprises updating the target audio file using the third party service when the target audio file is found in the second cache.