Voice test method and device, electronic equipment and computer readable storage medium

By managing synthesizer instances in parallel testing using a thread pool, the problem of low efficiency in vehicle speech synthesis testing was solved. This enabled independent testing of multiple voice zones and automated report generation, improving testing efficiency and accuracy.

CN116303018BActive Publication Date: 2026-03-31BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-10
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Existing technologies are inefficient in vehicle speech synthesis testing, making it difficult to simultaneously synthesize multiple voice regions independently and simultaneously, and the test results rely on manual verification, which is also inefficient.

Method used

Multiple synthesizer instances are managed using a thread pool. By running synthesizer instances in parallel and listening to test cases, test reports are obtained and automatically generated, reducing manual intervention.

Benefits of technology

It improves the efficiency of in-vehicle speech synthesis testing, enables independent testing of multiple voice zones, generates automated test reports, and reduces labor and time costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116303018B_ABST
    Figure CN116303018B_ABST
Patent Text Reader

Abstract

The present disclosure provides a voice test method and device, electronic equipment and computer readable storage medium, relates to the technical field of artificial intelligence, especially to the technical field of computer vision, image processing, deep learning and the like. The specific implementation scheme is: a plurality of synthesizer instances are initialized through a thread pool, each synthesizer instance corresponds to at least one test case, each test case corresponds to a test requirement, and the voice synthesis process of a to-be-tested object is tested according to the test requirement; a plurality of synthesizer instances are run in parallel on a time sequence through the thread pool to execute the test cases corresponding to the synthesizer instances; and the execution process of the test cases is monitored through the thread pool, and test data is obtained according to the test requirements corresponding to the test cases.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of artificial intelligence technology, and more particularly to the fields of computer vision, image processing, and deep learning. Specifically, this disclosure relates to a speech testing method, apparatus, electronic device, and computer-readable storage medium. Background Technology

[0002] Speech synthesis refers to the technology of converting text into corresponding speech, and it is an indispensable module in in-vehicle voice interaction.

[0003] With the rapid development of in-vehicle voice interaction technology, more complex application scenarios have emerged, such as independent interaction and independent synthesis in different voice zones, which in turn has led to increasingly higher testing requirements for voice synthesis. Summary of the Invention

[0004] This disclosure provides a voice testing method, apparatus, electronic device, and computer-readable storage medium.

[0005] According to a first aspect of this disclosure, a voice testing method is provided, the method comprising:

[0006] Multiple synthesizer instances are initialized through a thread pool. Each synthesizer instance corresponds to at least one test case, and each test case corresponds to a test requirement, which is used to test the speech synthesis process of a test object according to the test requirement.

[0007] Multiple synthesizer instances are run in parallel over a time series using the thread pool to execute the test cases corresponding to the synthesizer instances.

[0008] The execution process of the test cases is monitored through the thread pool, and test data is obtained according to the test requirements corresponding to the test cases.

[0009] According to a second aspect of this disclosure, a voice testing apparatus is provided, the apparatus comprising:

[0010] An initialization module is used to initialize multiple synthesizer instances through a thread pool. Each synthesizer instance corresponds to at least one test case, and each test case corresponds to a test requirement. The module is used to test the speech synthesis process of a test object according to the test requirement.

[0011] An execution module is used to run multiple synthesizer instances in parallel over a time series using the thread pool to execute test cases corresponding to the synthesizer instances;

[0012] The testing module is used to monitor the execution process of the test cases through the thread pool and obtain test data according to the test requirements corresponding to the test cases.

[0013] According to a third aspect of this disclosure, an electronic device is provided, the electronic device comprising:

[0014] At least one processor; and

[0015] A memory communicatively connected to at least one of the aforementioned processors; wherein,

[0016] The memory stores instructions that can be executed by at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the aforementioned voice testing method.

[0017] According to a fourth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause a computer to perform the above-described voice testing method.

[0018] According to a fifth aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the above-described voice testing method.

[0019] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0020] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0021] Figure 1 This is a schematic flowchart of a voice testing method provided in an embodiment of this disclosure;

[0022] Figure 2 This is a flowchart illustrating some steps of another voice testing method provided in this embodiment of the present disclosure;

[0023] Figure 3 This is a flowchart illustrating some steps of another voice testing method provided in this embodiment of the present disclosure;

[0024] Figure 4 This is a flowchart illustrating some steps of another voice testing method provided in this embodiment of the present disclosure;

[0025] Figure 5 This is a flowchart illustrating some steps of another voice testing method provided in this embodiment of the present disclosure;

[0026] Figure 6 This is a flowchart illustrating some steps of another voice testing method provided in this embodiment of the present disclosure;

[0027] Figure 7 This is a schematic diagram of a specific embodiment of a voice testing method provided in this disclosure;

[0028] Figure 8 This is a schematic diagram of the structure of a voice testing device provided in an embodiment of this disclosure;

[0029] Figure 9 This is a block diagram of an electronic device used to implement the voice testing method of the embodiments of this disclosure. Detailed Implementation

[0030] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0031] In some related technologies, a synthesizer instance is created to participate in speech synthesis testing. For test cases under different synthesis conditions, multiple synthesizer instances need to be designed, and tests are performed sequentially for each synthesizer instance.

[0032] The voice testing method, apparatus, electronic device, and computer-readable storage medium provided in this disclosure are intended to solve at least one of the above-mentioned technical problems of the prior art.

[0033] The voice testing method provided in this disclosure can be executed by an electronic device such as a terminal device or a server. The terminal device can be an in-vehicle device, user equipment (UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, in-vehicle device, wearable device, etc. The method can be implemented by a processor calling computer-readable program instructions stored in memory. Alternatively, the method can be executed by a server.

[0034] Figure 1 A flowchart illustrating a voice testing method provided in an embodiment of this disclosure is shown, as follows: Figure 1 As shown, the method mainly includes steps S110, S120, and S130.

[0035] In step S110, multiple synthesizer instances are initialized through a thread pool. Each synthesizer instance corresponds to at least one test case, and each test case corresponds to a test requirement, which is used to test the speech synthesis process of a test object according to the test requirement.

[0036] In step S120, multiple synthesizer instances are run in parallel over the time series using a thread pool to execute the test cases corresponding to the synthesizer instances;

[0037] In step S130, the execution process of the test cases is monitored through a thread pool, and test data is obtained according to the test requirements corresponding to the test cases.

[0038] For example, in step S110, a thread pool is a form of multi-threaded processing that can add tasks to a queue, then automatically start these tasks after creating threads, manage the tasks during execution, and track the lifecycle of the tasks.

[0039] In some possible implementations, the synthesizer instance can be an instance (system process) created to correspond to the speech synthesis process of the object under test.

[0040] In some possible implementations, each synthesizer instance has an instanceid (process identifier) ​​that is different from other synthesizer instances, and each synthesizer instance can be set with different runtime parameters.

[0041] In some possible implementations, the running parameters can be parameters related to the speech synthesis process of the test object, such as synthesis parameters (e.g., volume, pitch, speech rate, emotion, etc. of the synthesized speech) and speaker type parameters corresponding to the synthesized speech (e.g., a collection of the speaker's gender, voice characteristics, etc.).

[0042] In some possible implementations, the running parameters may include at least one of general parameters, offline parameters, and online parameters.

[0043] Among them, general parameters refer to general parameters related to the speech synthesis process of the test object (such as synthesis parameters, speaker type parameters corresponding to the synthesized speech).

[0044] Offline parameters can include interface parameters used to obtain offline resources. By setting offline parameters, the required offline resources can be obtained.

[0045] Online parameters can include parameters used for interaction with the server. By setting online parameters, interaction with the server can be achieved. The server can include remote servers or other devices that can provide services.

[0046] In some possible implementations, runtime parameters include general parameters and offline parameters.

[0047] In some possible implementations, runtime parameters include general parameters and online parameters.

[0048] In some possible implementations, the runtime parameters include general parameters, offline parameters, and online parameters.

[0049] In some possible implementations, setting different runtime parameters for a synthesizer instance can be done before initializing the synthesizer instance. Before setting different runtime parameters for a synthesizer instance, it is also necessary to create the synthesizer instance and the thread pool.

[0050] In some possible implementations, test cases can be generated based on test requirements for testing the speech synthesis process of the object under test, and can be executed on the instance corresponding to the synthesizer instance. Each test case has a case ID that distinguishes it from other test cases.

[0051] In some possible implementations, the testing requirements can be functional testing, performance testing, or stability testing.

[0052] Functional testing can include testing the speech synthesis function of the test subject, such as testing the pause, resume, and release functions of the speech synthesis of the test subject.

[0053] Performance testing can be a test that measures the speed, success rate, and resource consumption of the speech synthesis process of the test object, as well as the performance of the test object.

[0054] Stability testing can be used to test the stability of the speech synthesis function of the test subject.

[0055] In some possible implementations, a synthesizer instance can correspond to a test case, meaning that once a test case is executed, the resources of the synthesizer instance are released.

[0056] In some possible implementations, a single synthesizer instance can correspond to multiple test cases.

[0057] In some possible implementations, these multiple test cases can be test cases that test the speech synthesis process of the same object under test. That is, each synthesizer instance corresponds to one object under test, and the test cases corresponding to each synthesizer instance are used to test the speech synthesis process of the object under test corresponding to the synthesizer instance.

[0058] In some possible implementations, the test object corresponding to each synthesizer instance can be the same.

[0059] In some possible implementations, all synthesizer instances can be set to the same parameters, requiring only a single interface to pass in. This is equivalent to executing a test case multiple times, which is generally suitable for executing important test cases or reproducing bugs (errors) that are not easily triggered.

[0060] In some possible implementations, the test objects corresponding to different synthesizer instances can be different.

[0061] In some possible implementations, the test object can be an in-vehicle speech synthesis device.

[0062] In some possible implementations, different synthesizer instances correspond to in-vehicle speech synthesis devices in different voice zones of the vehicle. The test cases corresponding to different synthesizer instances can be used to test the speech synthesis process of in-vehicle speech synthesis devices in different voice zones of the vehicle.

[0063] The sound zone can be any area of ​​the vehicle that may produce sound. The sound zones of a vehicle can include the driver's cabin sound zone, the rear sound zone, the passenger side sound zone, etc.

[0064] In some possible implementations, the vehicle can be an in-vehicle multi-speech-zone simultaneous synthesis vehicle, that is, the speech collected by the speech acquisition devices of all speech zones is combined for speech synthesis, and the speech synthesis results corresponding to different speech zones are the same.

[0065] In some possible implementations, the vehicle can be an in-vehicle multi-zone independent synthesis vehicle, that is, each zone collects sound and synthesizes it independently. For example, the sound collected in the driver's cab zone is synthesized independently, and the sound collected in the rear zone is synthesized independently. The speech synthesis result of the driver's cab zone is different from the speech synthesis result of the rear zone.

[0066] In step S120, in some possible implementations, running multiple synthesizer instances in parallel over the time series can be achieved by executing multiple processes in parallel through a thread pool, with each process executing the test cases corresponding to that process.

[0067] In step S130, in some possible implementations, the execution process of the test cases corresponding to the synthesizer instance can be monitored by creating a listener instance corresponding to the synthesizer instance.

[0068] In some possible implementations, the listener instance can be used to obtain log data of the execution process of the test case and the resource usage data of the object under test.

[0069] In some possible implementations, after step S130, after obtaining the test data corresponding to the test cases and the test requirements, a test report is automatically generated through the analysis of the test data.

[0070] In some possible implementations, the number of compositor instances managed by the thread pool can be fixed. After a compositor instance is released, a new compositor instance can be created and initialized. This compositor instance can be a different compositor instance from the one being tested that corresponds to the released compositor instance.

[0071] Compared to executing synthesizer instances sequentially in related technologies, executing multiple synthesizer instances in parallel is obviously more efficient.

[0072] Using a thread pool to manage synthesizer instances allows for tracking the lifecycle of a synthesizer instance (from its creation to its destruction) via its instance ID. This enables monitoring of the execution process of test cases corresponding to each synthesizer instance, ensuring that the execution process of each test case is traceable and that test data for each test case can be obtained independently without being affected by the testing processes of other parallel test cases. This guarantees the correspondence between the obtained test data and the execution process of the test cases, and consequently, the correspondence between the test data and the speech synthesis process of the object under test.

[0073] In other words, the speech testing method disclosed herein uses a thread pool to run multiple synthesizer instances in parallel over time, which can improve the efficiency of speech testing while ensuring that test data corresponding to each test case is obtained.

[0074] Meanwhile, thread pools are a widely used form of multi-threaded processing. By managing synthesizer instances through thread pools, the compatibility and application scope of the speech testing method provided in this disclosure can be guaranteed. Furthermore, managing synthesizer instances through thread pools can not only obtain log information of the speech synthesis process, but also obtain resource usage data of the object under test. Multiple types of test data can be obtained in one test, further improving testing efficiency.

[0075] The speech testing method provided in this disclosure will be described in detail below.

[0076] As mentioned above, in some possible implementations, the test object can be an in-vehicle speech synthesis device.

[0077] In some possible implementations, different synthesizer instances correspond to in-vehicle speech synthesis devices in different voice zones of the vehicle. The test cases corresponding to different synthesizer instances can be used to test the speech synthesis process of in-vehicle speech synthesis devices in different voice zones of the vehicle.

[0078] The sound zone can be any area of ​​the vehicle that may produce sound. The sound zones of a vehicle can include the driver's cabin sound zone, the rear sound zone, the passenger side sound zone, etc.

[0079] In some possible implementations, the vehicle can be an in-vehicle multi-speech-zone simultaneous synthesis vehicle, that is, the speech collected by the speech acquisition devices of all speech zones is combined for speech synthesis, and the speech synthesis results corresponding to different speech zones are the same.

[0080] In some possible implementations, the vehicle can be an in-vehicle multi-zone independent synthesis vehicle, that is, each zone collects sound and synthesizes it independently. For example, the sound collected in the driver's cab zone is synthesized independently, and the sound collected in the rear zone is synthesized independently. The speech synthesis result of the driver's cab zone is different from the speech synthesis result of the rear zone.

[0081] The speech testing method provided in this disclosure can be used to test the speech synthesis device of a vehicle that simultaneously synthesizes multiple voice zones.

[0082] In some possible implementations, multiple synthesizer instances are created based on different synthesis conditions of the speech synthesis device, and general parameters, offline parameters, online parameters, etc., are set for the synthesizer instances according to the corresponding synthesis conditions. Based on the testing requirements of the speech synthesis device, multiple test cases are created and run on the created multiple synthesizer instances.

[0083] The speech testing method provided in this disclosure can also be used to test speech synthesis devices for vehicles with multi-zone independent synthesis.

[0084] In some possible implementations, the same number of synthesizers are created based on the number of voice regions, and general parameters, offline parameters, online parameters, etc. are set for the synthesizer instances according to the synthesis conditions of the speech synthesis device for that voice region. Based on the testing requirements of the speech synthesis device, multiple test cases are created and run in the corresponding synthesizer instances.

[0085] In some possible implementations, after executing a test case, it may be necessary to release the created synthesizer instance to completely release the resources occupied by the test case and avoid the execution process of the test case affecting the execution process of subsequent test cases.

[0086] Therefore, after a synthesizer instance is released, a new synthesizer instance can be recreated and initialized based on the synthesis conditions of the speech synthesis device in that voice region.

[0087] Of course, for different synthesis conditions of speech synthesis devices in the same voice range, new synthesizer instances can be innovatively created and initialized to test speech synthesis devices under different synthesis conditions.

[0088] As an important component of autonomous driving, in-vehicle speech synthesis devices are playing an increasingly important role. Applying the speech testing method provided in this disclosure to the testing of in-vehicle speech synthesis devices can improve their efficiency, accelerate their research and development, and play a significant role in promoting the development of autonomous driving.

[0089] The speech testing method provided in this disclosure is particularly suitable for vehicles with simultaneous multi-voice-region synthesis, and can significantly improve the testing efficiency of speech synthesis devices in such vehicles. By associating synthesizer instances with voice regions, it is equivalent to using different processes to test speech synthesis devices in different voice regions, avoiding mutual interference between the testing processes of speech synthesis devices in different voice regions, and realizing independent testing of speech synthesis devices in each voice region.

[0090] As mentioned above, in some possible implementations, each synthesizer instance has an instance ID (process identifier) ​​that is different from other synthesizer instances, and each synthesizer instance can be set with different running parameters.

[0091] In some possible implementations, setting different runtime parameters for a synthesizer instance can be done before initializing the synthesizer instance. Before setting different runtime parameters for a synthesizer instance, it is also necessary to create the synthesizer instance and the thread pool.

[0092] Figure 2 This illustration shows a flowchart illustrating the steps of setting different operating parameters for a synthesizer instance in a speech testing method provided by an embodiment of this disclosure, such as... Figure 2 As shown, this step mainly includes steps S210, S220, and S230.

[0093] In step S210, multiple synthesizer instances are created;

[0094] In step S220, a thread pool is created;

[0095] In step S230, the thread pool sets the running parameters for the synthesizer instance based on the object to be tested.

[0096] In some possible implementations, in step S210, each synthesizer instance corresponds to a test object, and the test cases corresponding to each synthesizer instance are used to test the speech synthesis process of the test object corresponding to the synthesizer instance.

[0097] In some possible implementations, the test object corresponding to each synthesizer instance can be the same.

[0098] In some possible implementations, at least one reference compositor instance exists among multiple compositor instances, and the test object corresponding to the reference compositor instance is different from the test object corresponding to at least one of the other compositor instances besides the reference compositor instance.

[0099] In other words, among multiple synthesizer instances, there are at least two synthesizer instances whose test objects are different.

[0100] By setting up a reference synthesizer instance, parallel testing of multiple objects under test on a time series can be achieved.

[0101] In some possible implementations, the test object corresponding to each synthesizer instance is different.

[0102] In some possible implementations, in step S220, the thread pool is a form of multi-threaded processing that can add tasks to a queue, then automatically start these tasks after creating threads, manage the tasks during execution, and track the lifecycle of the tasks.

[0103] In other words, after creating a thread pool, the parameter setting tasks and running tasks of the compositor instance can be added to the queue of the thread pool, and the thread pool can manage these tasks, especially the running tasks of the compositor instance, and track their lifecycle.

[0104] In some possible implementations, the number of synthesizer instances managed by the thread pool can be fixed.

[0105] By creating a thread pool, you can manage compositor instances, such as setting runtime parameters for compositor instances and controlling the execution of test cases. You can also track the lifecycle of a compositor instance through its instance ID and monitor the execution process of the test cases corresponding to that instance.

[0106] In some possible implementations, in step S230, each synthesizer instance can have its operating parameters set independently.

[0107] In some possible implementations, the running parameters include at least one of general parameters, offline parameters, and online parameters.

[0108] Among them, general parameters refer to general parameters related to the speech synthesis process of the test object (such as synthesis parameters, speaker type parameters corresponding to the synthesized speech).

[0109] Offline parameters can include interface parameters used to obtain offline resources. By setting offline parameters, the required offline resources can be obtained.

[0110] Online parameters can include parameters used for interacting with the server. By setting online parameters, interaction with the server can be achieved.

[0111] After the parameters are set, each synthesizer instance can be initialized. If it is an offline case with offline parameters set, the appid (application identifier), package name, and license are authenticated. If it is an online case with online parameters set, the pid (process identifier) ​​and key are authenticated.

[0112] By setting parameters independently for each synthesizer instance, each synthesizer instance is associated with a test object. This is equivalent to using different processes to test different test objects, avoiding mutual interference between the testing processes of different test objects, and realizing independent testing of each test object.

[0113] As mentioned above, in some possible implementations, test data is obtained by creating listener instances.

[0114] Figure 3 This illustration shows a flowchart illustrating the steps of obtaining test data by creating a listener instance in a voice testing method provided in this embodiment of the present disclosure. Figure 3 As shown, this step mainly includes steps S310 and S320.

[0115] In step S310, a listener instance corresponding to the synthesizer instance is created;

[0116] In step S320, a listener instance is run through a thread pool to monitor the execution process of the test cases.

[0117] In some possible implementations, in step S310, the creation of listener instances corresponding to the synthesizer instances can be performed synchronously with the creation of synthesizer instances. That is, while creating multiple synthesizer instances, listener instances with the same number of synthesizer instances and corresponding one-to-one with the synthesizer instances are created.

[0118] In some possible implementations, the listener instance is used to obtain log data of the execution process of the test cases corresponding to the synthesizer instance, as well as the resource usage data of the object under test.

[0119] In some possible implementations, log data may include log files generated during the execution of test cases corresponding to the synthesizer instance. From the log files, one can obtain speech synthesis progress information, callback information of the speech synthesis process, error code information of the speech synthesis process (time, type, number, etc. of error codes), and fields related to the synthesis process such as synthesis speed and real-time rate (from which synthesis speed information and synthesis success rate can be calculated).

[0120] In some possible implementations, the resource usage data of the test object may include information related to resource usage, such as CPU (central processing unit) usage and memory usage during speech synthesis.

[0121] In some possible implementations, in step S320, a listener instance is run simultaneously with the compositor instance running through a thread pool, so as to monitor the execution process of the test cases and obtain test data through the listener instance.

[0122] By creating listener instances, it is easy and convenient to obtain various types of test data. At the same time, it can ensure the correspondence between the obtained test data and the synthesized instance, thereby ensuring the correspondence between the obtained test data and the object to be tested, and avoiding the occurrence of confusion or mismatch between the obtained test data and the object to be tested.

[0123] In some possible implementations, the way test data is processed varies depending on the testing requirements.

[0124] Figure 4 This illustration shows a flowchart illustrating the steps of processing test data according to test requirements in a voice testing method provided by an embodiment of this disclosure. Figure 4 As shown, this step mainly includes steps S410 and S420.

[0125] In step S410, if the test requirement corresponding to the test case is performance testing, the resource usage data of the object under test and the log data of the test case execution process are obtained.

[0126] In step S420, if the test requirement corresponding to the test case is functional testing or stability testing, log data of the execution process of the test case is obtained.

[0127] In some possible implementations, the test case identifier is used to determine whether the test requirement corresponding to the test case is performance testing, functional testing, or stability testing.

[0128] In some possible implementations, in step S410, if the test requirement corresponding to the test case is performance testing, the log data of the execution process of the test case corresponding to the synthesizer instance and the resource usage data of the object to be tested can be obtained from the listener instance.

[0129] In some possible implementations, in step S420, if the test requirement corresponding to the test case is a functional test or a stability test, the log data of the execution process of the test case corresponding to the synthesizer instance can be obtained only from the listener instance.

[0130] In some possible implementations, after acquiring the relevant data, it is also necessary to process the data and generate a test report.

[0131] Figure 5 This diagram illustrates the steps involved in processing data and generating a test report when the test requirement corresponding to a test case is performance testing. Figure 5 As shown, this step may include steps S510, S520, and S530.

[0132] In step S510, the synthesis speed information and real-time synthesis rate information of the speech synthesis process of the test object are obtained, and the speech synthesis success rate of the test object is calculated.

[0133] In step S520, the central processing unit data and memory data of the object to be tested are obtained;

[0134] In step S530, a test report is generated based on the speech synthesis success rate of the test object, the central processing unit data and memory data of the test object, the identifier of the test case, and the identifier of the synthesizer instance.

[0135] In some possible implementations, in step S510, fields related to the synthesis process, such as synthesis speed (e.g., first packet speed) and synthesis real-time rate information, are read from the log data of the execution process of the test cases corresponding to the obtained synthesizer instance (i.e., the log file). The synthesis success rate is calculated through the obtained fields, and a visualization table of the first packet speed is generated.

[0136] In some possible implementations, in step S520, the raw data files of CPU (Central Processing Unit) and memory are obtained from the resource usage data of the object to be tested, the key data in them are extracted, and a visualized CPU and memory table is generated.

[0137] In some possible implementations, in step S530, the first packet speed visualization table, CPU, memory table, and the identifier of the synthesizer instance (i.e., the corresponding instance id), the identifier of the test case (i.e., the corresponding case id), and the running parameters corresponding to the synthesizer instance are bound and written into the test report.

[0138] Figure 6 This diagram illustrates the steps involved in processing data and generating a test report when the test case corresponds to either functional or stability testing requirements. Figure 6 As shown, this step may include steps S610, S620, and S630.

[0139] In step S610, the callback information and error code information of the speech synthesis process of the object under test are obtained;

[0140] In step S620, the synthesized speech generated by the speech synthesis process of the test object is obtained, and the synthesized speech is compared with the reference speech to generate a comparison result;

[0141] In step S630, a test report is generated based on the comparison results, the callback information of the speech synthesis process of the test object, the error code information, the identifier of the test case, and the identifier of the synthesizer instance.

[0142] In some possible implementations, in step S610, the progress information of speech synthesis, the callback information of the speech synthesis process, and the error code information of the speech synthesis process are obtained from the log data of the execution process of the test case corresponding to the obtained synthesizer instance (i.e., the log file).

[0143] The speech synthesis progress is assessed by checking its progress information. If the speech synthesis progress jumps by more than 10 for synthesizer instances with online parameters set, or by less than 20 for synthesizer instances with offline parameters set, or if the synthesis progress regresses, then the speech synthesis progress is considered abnormal.

[0144] Callback information in the speech synthesis process is used to determine whether the speech synthesis process is correct and its stability, and it is mainly used for functional testing.

[0145] During the speech synthesis process, each speech synthesis operation generates an encoding that represents information such as synthesis progress, engine type, and sampling rate. This information serves as callback information.

[0146] If no errors occur during the synthesis process, the callback information will only contain start callback and end callback, and no error callback. The identifiers for start callback and end callback are the same.

[0147] If an error occurs during speech synthesis, an error callback will be generated, and the relevant information about the error can be obtained from the error callback.

[0148] Alternatively, you can obtain error codes to retrieve relevant information about the errors, and generate error test information by counting the number of times each type of error code appears in the log data.

[0149] In some possible implementations, the synthesized speech generated by the speech synthesis process of the object under test can be obtained. By converting both the reference speech and the test synthesized speech into audio NumPy arrays, the similarity between the two can be calculated. If the similarity is higher than a set threshold, the audio verification passes; otherwise, the audio verification fails.

[0150] In some possible implementations, in step S630, the following are bound to the test report: whether the speech synthesis progress is abnormal, error test information, whether the audio verification is passed, the identifier of the synthesizer instance (i.e., the corresponding instance id), the identifier of the test case (i.e., the corresponding case id), and the running parameters corresponding to the synthesizer instance.

[0151] In some possible implementations, the results and data of functional testing, performance testing, and stability testing of an object under test will be displayed in the same test report.

[0152] In some related technologies, the test results of speech synthesis are usually verified manually. This involves manually checking the synthesis progress in the synthesis log file, the attributes of the audio synthesis, the synthesis callback information, error code information, etc., and listening to each synthesized audio file to check for pronunciation abnormalities, missing words, or other audio anomalies. However, this process is prone to missing issues and is time-consuming and labor-intensive.

[0153] The voice testing method in this embodiment automatically generates a test report based on the acquired test data, reducing manual intervention, achieving a high degree of automation and higher testing efficiency.

[0154] The voice testing method provided in this disclosure is described below with reference to a specific embodiment.

[0155] Figure 7 This is a schematic diagram illustrating a specific embodiment of the voice testing method provided in this disclosure. For example... Figure 7 As shown, the system for performing voice testing using the voice testing method provided in this embodiment includes a TTS_SDK layer, a test execution layer, and a result analysis and display layer.

[0156] The TTS_SDK layer has two types: simultaneous synthesis of multiple in-vehicle audio zones (i.e., single instance) and independent synthesis of multiple in-vehicle audio zones (i.e., multiple instances). The interfaces of these two types will be integrated with the test demo of the test execution layer.

[0157] After integration with TTS_SDK, the test execution layer will choose to create one synthesizer instance or create a synthesizer instance with the same number of audio zones, depending on the type of speech synthesis in the vehicle audio zone. At the same time, it will create a listener instance with the same number of synthesizer instances and a one-to-one correspondence.

[0158] When the number of compositor instances is greater than 1, a thread pool is created to manage these compositor and listener instances.

[0159] Each synthesizer instance supports setting common parameters independently.

[0160] Each synthesizer instance can also obtain the required offline resources by setting the interface parameters for obtaining offline resources, i.e., offline parameters.

[0161] Each synthesizer instance can also have its online parameters set independently, allowing it to interact with the server.

[0162] After the parameters are set, each synthesizer instance is initialized. If the synthesizer instance is set to offline parameters, the appid (application identifier), package name, and license are authenticated. If the synthesizer instance is set to online parameters, the pid (process identifier) ​​and key are authenticated.

[0163] Next, different test cases are executed on the synthesizer instance according to the test requirements, and each test case has its own unique case ID.

[0164] The result analysis and presentation layer is responsible for analyzing the execution outputs (i.e., test files, raw data files, etc.) of the test execution layer, determining the test type, outputting test results, and generating test reports.

[0165] First, the results analysis and presentation layer will distinguish whether the corresponding test requirement is a performance test, a functional test, or a stability test based on the case ID. If it is determined to be a performance test, it will read the original CPU and memory data files, obtain the key data, and generate a visualized CPU and memory table; it will also read the relevant fields of the first packet speed and real-time rate in the log file, calculate the synthesis success rate, and generate a visualized table of the first packet speed.

[0166] If the test is determined to be functional or stability testing, the listener callback information and error codes from the synthesis process will be verified in the log file. For audio verification, a comparison with a benchmark audio file will be used to determine if the audio passes the test. Finally, the results and data from the functional, performance, and stability tests will be displayed in the test report.

[0167] Each synthesizer instance created has its own instance ID, and each instance ID is uniquely bound to its configured parameters (including general parameters, online parameters, and offline parameters) and the executed case ID. The test report will also display the test data and results for each synthesizer instance using the instance ID as an index.

[0168] Based on and Figure 1 The method shown follows the same principle. Figure 8 A schematic diagram of the structure of a voice testing device provided in an embodiment of this disclosure is shown, such as... Figure 8 As shown, the voice testing device 80 may include:

[0169] The initialization module 810 is used to initialize multiple synthesizer instances through a thread pool. Each synthesizer instance corresponds to at least one test case, and each test case corresponds to a test requirement. It is used to test the speech synthesis process of a test object according to the test requirement.

[0170] The execution module 820 is used to run multiple synthesizer instances in parallel over a time series using a thread pool to execute the test cases corresponding to the synthesizer instances;

[0171] Test module 830 is used to monitor the execution process of test cases through a thread pool and obtain test data according to the test requirements corresponding to the test cases.

[0172] Compared to executing synthesizer instances sequentially in related technologies, executing multiple synthesizer instances in parallel is obviously more efficient.

[0173] Using a thread pool to manage synthesizer instances allows for tracking the lifecycle of a synthesizer instance (from its creation to its destruction) via its instance ID. This enables monitoring of the execution process of test cases corresponding to each synthesizer instance, ensuring that the execution process of each test case is traceable and that test data for each test case can be obtained independently without being affected by the testing processes of other parallel test cases. This guarantees the correspondence between the obtained test data and the execution process of the test cases, and consequently, the correspondence between the test data and the speech synthesis process of the object under test.

[0174] In other words, in the speech testing device provided in this disclosure, multiple synthesizer instances can be run in parallel over time using a thread pool, which can improve the efficiency of speech testing while ensuring that test data corresponding to each test case is obtained.

[0175] Meanwhile, thread pools are a widely used form of multi-threaded processing. By managing synthesizer instances through thread pools, the compatibility and application range of the speech testing device provided in this disclosure can be guaranteed. Furthermore, managing synthesizer instances through thread pools can not only obtain log information of the speech synthesis process, but also obtain resource usage data of the object under test. Multiple types of test data can be obtained in one test, further improving testing efficiency.

[0176] It is understood that the above-described modules of the voice testing device in the embodiments of this disclosure have the ability to implement... Figure 1 The embodiments shown illustrate the functionality of the corresponding steps in the voice testing method. This functionality can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described functions. These modules can be software and / or hardware, and each module can be implemented individually or integrated from multiple modules. For a detailed description of the functions of each module in the above-described anomaly handling device, please refer to [link to relevant documentation]. Figure 1 The corresponding descriptions of the voice testing methods in the embodiments shown are not repeated here.

[0177] In some possible implementations, the speech testing device 80 also includes a creation module for: creating multiple synthesizer instances, each synthesizer instance corresponding to a test object, and test cases corresponding to each synthesizer instance being used to test the speech synthesis process of the test object corresponding to the synthesizer instance; creating a thread pool; and setting running parameters for the synthesizer instances according to the test object through the thread pool.

[0178] In some possible implementations, at least one reference compositor instance exists among multiple compositor instances, and the test object corresponding to the reference compositor instance is different from the test object corresponding to at least one of the other compositor instances besides the reference compositor instance.

[0179] In some possible implementations, the runtime parameters include at least one of general parameters, offline parameters, and online parameters; offline parameters include interface parameters for obtaining offline resources; online parameters include parameters for interacting with the server.

[0180] In some possible implementations, the creation module is also used to create a listener instance corresponding to the synthesizer instance; the test module 830 is also used to run the listener instance through a thread pool to monitor the execution process of the test cases. The listener instance is used to obtain log data of the execution process of the test cases and resource usage data of the object to be tested.

[0181] In some possible implementations, test data is obtained based on the test requirements corresponding to the test cases, including: when the test requirement corresponding to the test case is performance testing, obtaining the resource usage data of the object under test and the log data of the test case execution process; when the test requirement corresponding to the test case is functional testing or stability testing, obtaining the log data of the test case execution process.

[0182] In some possible implementations, the resource usage data of the test object includes the CPU data and memory data of the test object; the log data of the test case execution process includes callback information, error code information, synthesis speed information, and synthesis real-time rate information of the speech synthesis process of the test object.

[0183] In some possible implementations, the speech testing device 80 further includes a first module, used for: when the test requirement corresponding to the test case is performance testing, acquiring the synthesis speed information and real-time synthesis rate information of the speech synthesis process of the test object, calculating the speech synthesis success rate of the test object; acquiring the central processing unit data and memory data of the test object; and generating a test report based on the speech synthesis success rate of the test object, the central processing unit data and memory data of the test object, the identifier of the test case, and the identifier of the synthesizer instance.

[0184] In some possible implementations, the speech testing device 80 further includes a second module, used for: obtaining callback information and error code information of the speech synthesis process of the test object when the test requirement corresponding to the test case is functional testing or stability testing; obtaining the synthesized speech generated by the speech synthesis process of the test object, comparing the synthesized speech with the reference speech, and generating a comparison result; and generating a test report based on the comparison result, the callback information and error code information of the speech synthesis process of the test object, the identifier of the test case, and the identifier of the synthesizer instance.

[0185] In some possible implementations, the test object is an in-vehicle speech synthesis device.

[0186] In some possible implementations, each synthesizer instance corresponds to a vehicle audio zone, and the test cases corresponding to each synthesizer are used to test the speech synthesis process of the in-vehicle speech synthesis device in the vehicle audio zone corresponding to the synthesizer instance.

[0187] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0188] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0189] The electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform a voice testing method as provided in the embodiments of this disclosure.

[0190] Compared with existing technologies, this electronic device improves the efficiency of voice testing by running multiple synthesizer instances in parallel over time using a thread pool, while ensuring the acquisition of test data corresponding to each test case.

[0191] The readable storage medium is a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform the voice testing method provided in the embodiments of this disclosure.

[0192] Compared with existing technologies, this readable storage medium improves the efficiency of speech testing by running multiple synthesizer instances in parallel over time using a thread pool, while ensuring the acquisition of test data corresponding to each test case.

[0193] The computer program product includes a computer program that, when executed by a processor, implements the voice testing method provided in the embodiments of this disclosure.

[0194] Compared with existing technologies, this computer program product improves the efficiency of speech testing by running multiple synthesizer instances in parallel over time using a thread pool, while ensuring the acquisition of test data corresponding to each test case.

[0195] Figure 9 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0196] like Figure 9 As shown, device 900 includes a computing unit 901, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 902 or a computer program loaded from storage unit 908 into random access memory (RAM) 903. RAM 903 may also store various programs and data required for the operation of device 900. The computing unit 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.

[0197] Multiple components in device 900 are connected to I / O interface 905, including: input unit 906, such as keyboard, mouse, etc.; output unit 907, such as various types of monitors, speakers, etc.; storage unit 908, such as disk, optical disk, etc.; and communication unit 909, such as network card, modem, wireless transceiver, etc. Communication unit 909 allows device 900 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0198] The computing unit 901 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 901 performs the various methods and processes described above, such as the voice testing method provided in the embodiments of this disclosure. For example, in some embodiments, the voice testing method provided in the embodiments of this disclosure can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed on device 900 via ROM 902 and / or communication unit 909. When the computer program is loaded into RAM 903 and executed by the computing unit 901, one or more steps of the voice testing method provided in the embodiments of this disclosure described above can be performed. Alternatively, in other embodiments, the computing unit 901 may be configured to perform the voice testing method provided in the embodiments of this disclosure by any other suitable means (e.g., by means of firmware).

[0199] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0200] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0201] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0202] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0203] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0204] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0205] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0206] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A voice test method, comprising: creating a plurality of synthesizer instances, each of the synthesizer instances corresponding to a to-be-tested object, each of the synthesizer instances corresponding to a test case for testing a voice synthesis process of the to-be-tested object corresponding to the synthesizer instance; different synthesizer instances corresponding to vehicle voice synthesis devices in different sound zones of a vehicle, and the test cases corresponding to the different synthesizer instances being used for testing voice synthesis processes of the vehicle voice synthesis devices in different sound zones of the vehicle; creating a thread pool; setting running parameters for the synthesizer instances by the thread pool according to the to-be-tested objects; the running parameters comprising at least one of a general parameter, an offline parameter, and an online parameter; the offline parameter comprising an interface parameter for obtaining offline resources; and the online parameter comprising a parameter for interacting with a server; initializing the plurality of synthesizer instances by the thread pool, each of the synthesizer instances corresponding to at least one test case, each of the test cases corresponding to a test requirement, and each of the test cases being used for testing a voice synthesis process of a to-be-tested object according to the test requirement; running the plurality of synthesizer instances in parallel on a time sequence by the thread pool to execute the test cases corresponding to the synthesizer instances; monitoring execution processes of the test cases by the thread pool, and in a case where the test requirement corresponding to the test case is performance testing, obtaining resource occupation data of the to-be-tested object and log data of the execution processes of the test cases; the resource occupation data of the to-be-tested object comprising central processing unit data and memory data of the to-be-tested object; and the log data of the execution processes of the test cases comprising callback information, error code information, synthesis speed information, and synthesis real-time rate information of the voice synthesis process of the to-be-tested object; obtaining the synthesis speed information and the synthesis real-time rate information of the voice synthesis process of the to-be-tested object, and calculating a voice synthesis success rate of the to-be-tested object; obtaining the central processing unit data and the memory data of the to-be-tested object, and generating a test report according to the voice synthesis success rate of the to-be-tested object, the central processing unit data and the memory data of the to-be-tested object, an identifier of the test case, and an identifier of the synthesizer instance; in a case where the test requirement corresponding to the test case is function testing or stability testing, obtaining the log data of the execution processes of the test cases.

2. The method of claim 1, wherein, At least one of the plurality of synthesizer instances is a reference synthesizer instance, the to-be-tested object corresponding to the reference synthesizer instance being different from the to-be-tested object corresponding to at least one of the other synthesizer instances except the reference synthesizer instance.

3. The method of claim 1, wherein, Before the plurality of synthesizer instances are initialized by the thread pool, the method further comprises: creating a listener instance corresponding to the synthesizer instance; the monitoring of the execution processes of the test cases by the thread pool comprises: The listener instance is run through the thread pool to monitor the execution process of the test case, and the listener instance is used to acquire log data of the execution process of the test case and resource occupation data of the to-be-tested object.

4. The method of claim 1, wherein, After the execution process of the test case is monitored through the thread pool, the method further includes: In a case where the test requirement corresponding to the test case is a function test or a stability test, callback information and error code information of a speech synthesis process of the to-be-tested object are acquired; Synthesized speech generated by the speech synthesis process of the to-be-tested object is acquired, and the synthesized speech is compared with reference speech to generate a comparison result; A test report is generated according to the comparison result, the callback information and the error code information of the speech synthesis process of the to-be-tested object, an identifier of the test case, and an identifier of the synthesizer instance.

5. The method of claim 1, wherein, The to-be-tested object is a vehicle-mounted speech synthesis device.

6. The method of claim 5, wherein, Each synthesizer instance corresponds to a vehicle audio zone, and a test case corresponding to each synthesizer is used to test a speech synthesis process of a vehicle-mounted speech synthesis device of the vehicle audio zone corresponding to the synthesizer instance.

7. A speech test device, comprising: A creating module is configured to create a plurality of synthesizer instances, each of which corresponds to a to-be-tested object, and a test case corresponding to each synthesizer instance is used to test a speech synthesis process of the to-be-tested object corresponding to the synthesizer instance. Different synthesizer instances correspond to vehicle-mounted speech synthesis devices of different audio zones of a vehicle, and test cases corresponding to different synthesizer instances are used to test speech synthesis processes of vehicle-mounted speech synthesis devices of different audio zones of the vehicle. A thread pool is created. The thread pool is used to set running parameters for the synthesizer instances according to the to-be-tested objects; the running parameters include at least one of general parameters, offline parameters, and online parameters; the offline parameters include interface parameters for acquiring offline resources; and the online parameters include parameters for interacting with a server. An initializing module is configured to initialize the plurality of synthesizer instances through the thread pool, each of which corresponds to at least one test case, and each test case corresponds to a test requirement and is used to test a speech synthesis process of a to-be-tested object according to the test requirement. An executing module is configured to run the plurality of synthesizer instances in parallel on a time sequence through the thread pool to execute the test cases corresponding to the synthesizer instances. A testing module is configured to monitor execution processes of the test cases through the thread pool, and in a case where a test requirement corresponding to the test case is a performance test, resource occupation data of the to-be-tested object and log data of the execution process of the test case are acquired; the resource occupation data of the to-be-tested object includes central processing unit data and memory data of the to-be-tested object; and the log data of the execution process of the test case includes callback information, error code information, synthesis speed information, and synthesis real-time rate information of a speech synthesis process of the to-be-tested object. obtaining synthesis speed information and synthesis real-time rate information of a speech synthesis process of the to-be-tested object, and calculating a speech synthesis success rate of the to-be-tested object; obtaining central processor data and memory data of the to-be-tested object, and generating a test report according to the speech synthesis success rate of the to-be-tested object, the central processor data and the memory data of the to-be-tested object, an identifier of the test case, and an identifier of the synthesizer instance; and in a case where the test requirement corresponding to the test case is a function test or a stability test, obtaining log data of an execution process of the test case. 8.An electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.

9. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable the computer to perform the method according to any one of claims 1-7. 10.A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Vehicle-mounted voice SDK test method, device and system

    CN113485914A

  • Voice interaction program test method and device and electronic equipment

    CN114974211A