Multi-manufacturer voice service configuration method and system, terminal and storage medium

By allocating component slots to the intelligent voice interaction system and activating the voice service components using a unified set of operation functions, the problem of multi-vendor voice services being unable to be used in combination is solved, achieving flexible configuration and rapid adaptation to market changes.

CN121841965APending Publication Date: 2026-04-10SHENZHEN KONKA ELECTRONIC TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-16
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing intelligent voice interaction systems cannot achieve mixed use and flexible switching of voice services from multiple vendors, making it difficult for users to use voice services from different vendors in the same system. This limits the diversity of voice service selection needs and optimization space, and changing vendors requires a complete system replacement, resulting in high development costs and low efficiency.

Method used

By receiving system registration requests, allocating component slots to voice service components based on voice service type, activating desired voice service components using preset unified operation set functions, and defining independent pointers to call voice service components, the configuration and arbitrary combination of different voice services from multiple vendors can be achieved.

Benefits of technology

It enables flexible configuration and arbitrary combination of voice services from multiple vendors, possessing flexibility and scalability, and can quickly adapt to business changes, reducing development costs and improving efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121841965A_ABST
    Figure CN121841965A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of intelligent voice interaction, and discloses a multi-manufacturer voice service configuration method and system, a terminal and a storage medium, and the method comprises the steps: receiving a system registration request, and obtaining voice service components of manufacturers in the system registration request; distributing a component slot position for the voice service component based on a voice service type, and storing the voice service component in the component slot position to complete registration of a voice service component model; acquiring an expected voice service type of the user; using a preset unified operation set function to activate a voice service component corresponding to the expected voice service type in the voice service component model; providing voice service for the user by using the activated voice service component model; according to the invention, different voice service configurations of multiple manufacturers can be realized, random combination is realized, the voice service is activated through the voice service component model, and the method has flexibility and expansibility and can quickly adapt to business changes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of intelligent voice interaction, and in particular relates to a method, system, terminal and storage medium for configuring multi-vendor voice services. Background Technology

[0002] Existing intelligent voice interaction systems can achieve human-computer interaction through voice services such as Automatic Speech Recognition (ASR), Natural Language Processing (NLP), and Text-to-Speech (TTS), and are widely used in embedded devices covering smart homes, in-vehicle systems, and industrial human-computer interaction.

[0003] Currently, most mainstream voice services are provided by a single vendor with a closed full-stack SDK. ASR, NLP, and TTS are highly integrated, making it impossible for users to separate and use them separately. This limits the diversity of voice service selection and optimization possibilities, making it difficult for users to use voice services from different vendors within the same system. When a component of a voice service fails to meet user needs, it is necessary to switch vendors entirely. However, different vendors offer different solutions, and switching vendors requires redesigning and modifying the system, resulting in high development costs, low efficiency, and an inability to quickly respond to market demands.

[0004] Existing technologies attempt to improve the flexibility of voice service systems and address the problem of multiple voice services coexisting. For example, patent CN117376426A uses HTTP and JSON protocols to pre-set vendor configuration files and centrally manages and controls the switching of ASR / TTS service types through a server or other backend. However, this patent does not enable the access of NLP services, nor can it combine different voice services from multiple vendors. In patent CN111147530B, the corresponding voice services are controlled by switching between multiple voice platforms in the cloud. This method is dependent on the environment and has complex scheduling, and it still does not solve the problem of combining voice service modules from any vendor.

[0005] Therefore, existing technologies still have the problem that voice service systems cannot achieve mixed use and flexible switching between different voice services from multiple vendors, and thus, existing technologies need to be improved. Summary of the Invention

[0006] The technical problem to be solved by the present invention is that, in view of the defects of the prior art, the present invention provides a multi-vendor voice service configuration method, system, terminal and storage medium to solve the problem that the existing voice service system cannot achieve flexible mixed use and flexible switching of different voice services from multiple vendors.

[0007] The technical solution adopted by this invention to solve the technical problem is as follows: In a first aspect, the present invention provides a method for configuring multi-vendor voice services, including: Receive a system registration request and obtain the vendor's voice service component from the system registration request; Based on the voice service type, a component slot is allocated to the voice service component, and the voice service component is stored in the component slot to complete the registration of the voice service component model. Obtain the user's desired type of voice service; The voice service component corresponding to the desired voice service type in the voice service component model is activated using a preset unified operation set function. The activated voice service component model is used to provide voice services to the user.

[0008] In one implementation, the voice service type includes any one or a combination of ASR voice service, NLP voice service, and TTS voice service.

[0009] In one implementation, obtaining the vendor's voice service component from the system registration request includes: Determine all voice service types supported by the vendor in the system registration request; Obtain the voice service component corresponding to the given voice service type.

[0010] In one implementation, activating the voice service component in the voice service component model corresponding to the user's desired voice service type using a preset activation function includes: Obtain the voice service component in the voice service component model that corresponds to the user's desired voice service type; Enter the name of the acquired voice service component into the preset activation function to activate the acquired voice service component.

[0011] In one implementation, providing voice services to the user using the activated voice service component model includes: Define a unified set of operation functions to support the operations required for all voice service types; Define an independent pointer to the unified set of functions for each voice service component; Based on the independent pointer, the voice service component is invoked from the activated voice service component model, and the voice service component combination is configured to provide voice services to the user.

[0012] In one implementation, the multi-vendor voice service configuration method further includes: Based on the voice service type, allocate idle component slots to the voice service components of the newly accessed vendor and update the voice service component model.

[0013] In one implementation, the multi-vendor voice service configuration method further includes: Receive the user's voice service switching request and obtain the desired voice service after the switch; The voice service component corresponding to the desired voice service after switching is activated in the voice service component model using a preset unified operation set function.

[0014] Secondly, the present invention provides a multi-vendor voice service configuration system, comprising: The component registration interface module is used to receive system registration requests and obtain the voice service components of the vendors in the system registration requests; The static registration center module is used to allocate component slots to the voice service components based on the voice service type, store the voice service components in the component slots, and complete the registration of the voice service component model. The upper-layer business call module is used to obtain the user's desired voice service type; The component model activation module is used to activate the voice service component in the voice service component model that corresponds to the desired voice service type using a preset unified operation set function; The component model service module is used to provide voice services to the user using the activated voice service component model.

[0015] Thirdly, the present invention provides a terminal, including: a processor and a memory, wherein the memory stores a multi-vendor voice service configuration program, and the multi-vendor voice service configuration program, when executed by the processor, is used to implement the operation of the multi-vendor voice service configuration method as described in the first aspect.

[0016] Fourthly, the present invention also provides a computer-readable storage medium storing a multi-vendor voice service configuration program, which, when executed by a processor, is used to implement the operation of the multi-vendor voice service configuration method as described in the first aspect.

[0017] The present invention, by employing the above technical solution, has the following effects: This invention allocates component slots to voice service components based on voice service type. It registers voice service components corresponding to different voice services from various vendors through pre-registration. By using a pre-defined unified operation set function, the corresponding voice service components in the voice service component model are activated when needed. This enables configurations of different voice services from multiple vendors, allowing for arbitrary combinations. Activating voice services through the voice service component model provides flexibility and scalability, enabling rapid adaptation to business changes. Furthermore, the defined unified operation set function supports operations required for all voice service types. During the configuration of a new vendor's voice service, only the voice service component model and the unified operation set function need to be updated. By defining an independent pointer to the unified operation set function for each voice service component, the corresponding voice service in the voice service component model can be activated through the unified operation set function when a voice service switching request is completed, providing flexibility, scalability, and rapid adaptation to business changes. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the structures shown in these drawings without creative effort.

[0019] Figure 1 This is a flowchart of the multi-vendor voice service configuration method in this invention.

[0020] Figure 2 This is a configuration framework diagram of multi-vendor voice services in one implementation of the present invention.

[0021] Figure 3 This is a functional schematic diagram of the terminal in one implementation of the present invention.

[0022] The objectives, features, and advantages of this invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of this invention clearer and more explicit, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0024] Exemplary methods Currently, most mainstream voice services are provided by a single vendor with a closed full-stack SDK. ASR, NLP, and TTS are highly integrated, making it impossible for users to separate and use them separately. This limits the diversity of voice service selection and optimization possibilities, making it difficult for users to use voice services from different vendors within the same system. When a component of a voice service fails to meet user needs, it is necessary to switch vendors entirely. However, different vendors offer different solutions, and switching vendors requires redesigning and modifying the system, resulting in high development costs, low efficiency, and an inability to quickly respond to market demands.

[0025] To address the above technical issues, this invention provides a method for configuring multi-vendor voice services, comprising: receiving a system registration request and obtaining voice service components from the vendors in the system registration request; allocating component slots to the voice service components based on the voice service type, storing the voice service components in the component slots, and completing the registration of the voice service component model; obtaining the user's desired voice service type; activating the voice service component in the voice service component model corresponding to the desired voice service type using a preset unified operation set function; and providing voice services to the user using the activated voice service component model. This method enables the configuration of different voice services from multiple vendors, allowing for arbitrary combinations, and activates voice services through the voice service component model, providing flexibility and scalability, and enabling rapid adaptation to business changes.

[0026] like Figure 1 As shown, this embodiment of the invention provides a method for configuring multi-vendor voice services, including the following steps: Step S100: Receive a system registration request and obtain the manufacturer's voice service component from the system registration request.

[0027] In this embodiment, a multi-vendor voice service configuration framework is provided, and the multi-vendor voice service configuration method is implemented based on this framework.

[0028] like Figure 2 As shown, this is the multi-vendor voice service configuration framework of this embodiment. The framework includes three parts: upper-layer business calls, component macros, and component model specifications. Upper-layer business calls are used to set up system registration requests and also to set up voice service switching requests. Component macros provide the operations required for executing voice services to upper-layer business calls. Component model specifications are used to complete the registration of vendor voice services and the configuration of voice service component models.

[0029] It should be noted that the voice service type in this embodiment includes, but is not limited to, any one or a combination of ASR voice service, NLP voice service, and TTS voice service. For example, the voice service type can be a standalone ASR service, a voice service combining ASR and NLP, or a voice service combining ASR, NLP, and TTS.

[0030] Common voice service providers in this field include Baidu, iFlytek, Baixiao, and Alibaba. Baidu, iFlytek, and Alibaba all offer ASR, NLP, and TTS services, while Baixiao primarily focuses on NLP. Furthermore, voice service types include, but are not limited to, any combination of one or more of the following from different vendors: ASR, NLP, and TTS. For example, a voice service could be a combination of Baidu ASR and iFlytek NLP; or it could be a combination of Baidu ASR, iFlytek TTS, and Baixiao NLP.

[0031] Specifically, in one implementation of this embodiment, step S100 includes the following steps: Step S101: Receive system registration request.

[0032] In this embodiment, the system registration request is used to register and enroll voice service component models corresponding to different voice service types from multiple vendors. The registered and enrolled voice service models are used to provide corresponding voice services to users.

[0033] Step S102: Determine all voice service types supported by the manufacturer in the system registration request.

[0034] In this embodiment, firstly, based on the received system registration request, the voice service provider that needs to be registered in the system registration request is determined, and then all voice service types supported by that voice service provider are further determined. For example, if the obtained system registration request includes three voice service providers: Baidu, iFlytek, and Baixiao, then it is further determined that the voice service provider Baidu supports three types of voice services: ASR, NLP, and TTS; the voice service provider iFlytek supports three types of voice services: ASR, NLP, and TTS; and the voice service provider Baixiao supports only NLP.

[0035] Step S103: Obtain the voice service component corresponding to the determined voice service type.

[0036] In this embodiment, based on the voice service type determined in step S103, the corresponding voice service components from different vendors are obtained, and the component name (such as baidu_asr, iflytek_tts, bx_nlp) and service type (ASR, TTS, NLP) are filled in according to the component model specification macro COMPONENT to construct the component model of the corresponding service type.

[0037] For example, Baidu's component model construction: COMPONENT_MODE(baidu_asr, ASR) means generating the baidu_asr_comp model; COMPONENT_MODE(baidu_tts, TTS) means generating the baidu_tts_comp model; COMPONENT_MODE(baidu_nlp, NLP) means generating the baidu_nlp_comp model.

[0038] iFlytek component model construction: COMPONENT_MODE(iflytek_asr, ASR) indicates that the iflytek_asr_comp model is generated; COMPONENT_MODE(iflytek_tts, TTS) indicates that the iflytek_tts_comp model is generated; COMPONENT_MODE(iflytek_nlp, NLP) means generating the iflytek_nlp_comp model.

[0039] Baixiao component model construction: COMPONENT_MODE(bx_nlp, NLP) means generating the bx_nlp_comp model.

[0040] It should be noted that before building the component models of the service types of each vendor, the service modules of each voice service vendor are also initialized in parallel.

[0041] like Figure 1 As shown, this embodiment of the invention provides a method for configuring multi-vendor voice services, including the following steps: Step S200: Assign component slots to the voice service components based on the voice service type, store the voice service components in the component slots, and complete the registration of the voice service component model.

[0042] In this embodiment, a static registry center is used to register and enroll voice service component models, so that the corresponding voice service can be activated based on the registered voice service components. In static registration, "static" means that a fixed memory space is allocated for the service type during compilation, forming a static array. This does not rely on runtime dynamic memory allocation, avoids runtime heap operations, ensures operation on devices without a memory management unit (MMU), does not depend on other service scheduling, requires no configuration files, and is completely static.

[0043] like Figure 2As shown, the static registry provides corresponding voice service component slots for each different type of voice service, such as ASR component slots, NLP component slots, and TTS component slots; each different voice service component slot contains multiple free slots, and each free slot is used to store voice service component models from different vendors.

[0044] In this embodiment, corresponding component slots are allocated to the different vendor voice service component models built according to the voice service type. The number of slots can be configured according to the device resources, which is suitable for bare metal or lightweight RTOS environments such as FreeRTOS or RT-ThreadNano. For example, the ASR component slots are allocated with Baidu ASR component slots, iFlytek ASR component slots, and Alibaba ASR component slots.

[0045] In this embodiment, the component slot of the target service component is determined according to the service type, and an empty component slot is found in the component slot. The voice service component is then stored in the empty component slot.

[0046] Specifically, after finding the corresponding free component slot, the voice service component is stored in the component slot to complete the registration of the voice service component model in the static registry center.

[0047] For example, Baidu component model registration: speech_register(baidu_asr_comp); speech_register(baidu_tts_comp); speech_register(baidu_nlp_comp).

[0048] iFlytek component model registration: speech_register(iflytek_asr_comp); speech_register(iflytek_tts_comp); speech_register(iflytek_nlp_comp).

[0049] Baixiao component model registration: speech_register(bx_nlp_comp).

[0050] Furthermore, after completing the registration of the corresponding voice service component model, the operation functions for implementing the corresponding vendor's voice service are defined according to the component model specification.

[0051] For example, the defined Baidu implementation functions include: baidu_asr_feed(), baidu_tts_speak(), baidu_nlp_pasre(), etc. The defined iFlytek implementation functions include: iflytek_asr_feed(), iflytek_tts_speak(), iflytek_nlp_pasre(), etc. The defined functions implemented by Baixiao include: bx_nlp_parse(), bx_nlp_execute(), etc.

[0052] like Figure 1 As shown, this embodiment of the invention provides a method for configuring multi-vendor voice services, including the following steps: Step S300: Obtain the user's desired voice service type.

[0053] In this embodiment, the user's desired voice service type is obtained through a user configuration interface. The desired voice service type includes, but is not limited to, any one or a combination of ASR voice services, NLP voice services, and TTS voice services from different vendors. For example, the user's desired voice service type is a combination of Baidu ASR + iFlytek TTS + Baixiao NLP voice services.

[0054] like Figure 1 As shown, this embodiment of the invention provides a method for configuring multi-vendor voice services, including the following steps: Step S400: Activate the voice service component in the voice service component model that corresponds to the desired voice service type using a preset activation function.

[0055] Specifically, in one implementation of this embodiment, step S400 includes the following steps: Step S401: Obtain the voice service component in the voice service component model that corresponds to the user's desired voice service type.

[0056] In this embodiment, the voice service component corresponding to the user's desired voice service type is obtained from the voice service component model. For example, the voice service components corresponding to the combined voice service of Baidu ASR + iFlytek TTS + Baixiao NLP are: Baidu ASR voice service component, iFlytek TTS voice service component and Baixiao NLP voice service component.

[0057] Step S402: Input the name of the acquired voice service component into the preset activation function to activate the acquired voice service component.

[0058] In this embodiment, the preset activation function is voice_sys_init(), which can activate the registered voice service component according to the name of the voice service component entered.

[0059] For example, the names of the three voice service components—Baidu ASR, iFlytek TTS, and Baixiao NLP—are baidu_asr, iflytek_tts, and bx_nlp, respectively. The obtained voice service components are activated using preset activation functions, as follows: voice_sys_init(baidu_asr, iflytek_tts, bx_nlp); The function means: set "baidu_asr" as the current ASR component, "iflytek_tts" as the current TTS component, and "bx_nlp" as the current NLP component.

[0060] like Figure 1 As shown, this embodiment of the invention provides a method for configuring multi-vendor voice services, including the following steps: Step S500: Use the activated voice service component model to provide voice services to the user.

[0061] It should be noted that, in order to provide voice services to the user by calling the activated voice service component through the unified operation set function, a unified voice service component model needs to be defined before using the unified operation set function. This unified voice component model is COMPONENT_MODE, which is used to abstract the voice service capabilities of all vendors. It includes the component name, service type identifier, private data, and a pointer OPS to the unified operation set function.

[0062] Specifically, the component name Name is used to distinguish different vendors and service types, such as baidu_asr, iflytek_tts, and bx_nlp, which represent Baidu ASR voice service, iFlytek TTS service, and Baixiao NLP service, respectively; the service type identifier Type is used to distinguish whether the service is ASR, NLP, or TTS; the private data Pri is used to implement the private context data of each vendor; and the unified operation set functions define the basic operations that various voice services need to support.

[0063] In the unified voice component model, for operations that are not supported by a certain type of service, the corresponding operation function can be set to null, and this set of functions can be extended at any time according to business needs.

[0064] Specifically, when a business needs to access a new vendor's voice service, an idle component slot is allocated to the new vendor's voice service component based on the voice service type, and the voice service component model is updated.

[0065] In this embodiment, a preset unified operation set function is used to activate the voice service component in the voice service component model corresponding to the desired voice service type. A component model instance macro is constructed, which internally searches for the corresponding component in the registry center by name and updates and activates the current component. The component model retrieval macros include: get_current_asr(), get_current_tts(), and get_current_nlp(), used to obtain the currently activated component model instance, through which the corresponding operation function can be called.

[0066] Specifically, in one implementation of this embodiment, step S500 includes the following steps: Step S501: Define a unified set of operation functions to support the operations required for all voice service types.

[0067] In this embodiment, the unified set of operation functions that support the operations required by all voice service types includes, but is not limited to: initialization (init), deinitiation (deinit), module start (start), and module stop (stop); for ASR module types, it includes audio stream input (feed); for TTS module types, it includes text broadcasting (speak); for NLP types, it includes semantic parsing (parse), and the unified callback operation on_result for various voice services.

[0068] Step S502: Define an independent pointer to the unified operation set function for each voice service component.

[0069] In this embodiment, an independent pointer OPS to a unified set of functions is defined for each voice service component. Specifically, the defined independent pointers to the unified set of functions include, but are not limited to: init: Initializes the service; deint: Deinitialize service; start: Start the service; stop: Stop the service; feed: Input audio data for ASR service type; other types can be left blank. speak: Outputs audio data for use by TTS service types; other types can be left empty. parse: Parses the input text data for use by NLP service types; other types can be left empty. on_result: Process the service result.

[0070] Furthermore, the vendor's operation functions are pointed to the unified operation set function OPS of the component model. Taking Baidu, a voice service provider, as an example, the binding relationship is as follows: ops.init = baidu_asr(tts / nlp)_init; ops.start = baidu_asr(tts / nlp)_start; ops.feed = baidu_asr_feed; ops.speak = baidu_tts_speak; ops.parse = baidu_nlp_parse; ops.stop = baidu_asr(tts / nlp)_stop; ops.deinit = baidu_asr(tts / nlp)_deinit; ops.on_result = baidu_asr(tts / nlp)_on_result.

[0071] Step S503: Based on the independent pointer, call the voice service component from the activated voice service component model, and configure the voice service component combination to provide voice services to the user.

[0072] In one implementation of this embodiment, step S503 includes the following steps: Step S503a: Use the independent pointer to locate the voice service component in the voice service component model that corresponds to the desired voice service type.

[0073] In this embodiment, the user expects a combined voice service of Baidu ASR, iFlytek TTS, and Baixiao NLP. Therefore, the independent pointer OPS is used to locate the voice service components baidu_asr, iflytek_tts, and bx_nlp in the voice service component model.

[0074] Step S503b: Invoke the located voice service component and configure the voice service component combination.

[0075] In this embodiment, the voice service component is located by obtaining the component model macro call. For example, Baidu ASR is called by get_current_asr(baidu_asr); iFlytek TTS is called by get_current_tts(iflytek_tts); and Baixiao NLP is called by get_current_nlp(bx_nlp).

[0076] Furthermore, the system calls the located and activated voice service components, configures the activated component array, and retrieves the voice service components already activated by the `voice_sys_init()` function, recording them in the currently activated component array. This allows for the free combination of different voice service providers' voice services. For example, `voice_sys_init(baidu_asr, iflytek_tts, bx_nlp)` can achieve a free combination of Baidu ASR, iFlytek TTS, and Baixiao NLP. If you don't want to combine them and want to use a single provider to implement the voice service, you can set it to `voice_sys_init(baidu_asr, baidu_tts, baidu_nlp)`.

[0077] Step S503c: Provide voice services to the user based on the configured combination of voice service components.

[0078] In this embodiment, the activated voice service component model is used to provide voice services to the user through a combination of voice service components configured in the voice service component model, including: Call get_current_asr()->ops->feed() to send the acquired audio stream into the current ASR component model; Calling get_current_nlp()->ops->parse() triggers the current NLP component model to start semantic parsing; Calling get_current_tts()->ops->speak() triggers the current TTS component model to broadcast the response content.

[0079] For example, you can use get_current_tts()->ops->speak(“Hello”) to play text-to-speech.

[0080] In this embodiment, the entire routing path is a direct macro expansion plus function pointer call, without any intermediate forwarding or message encapsulation, realizing a zero-overhead call path and ensuring call efficiency and real-time performance.

[0081] Furthermore, in one implementation of this embodiment, step S500 further includes the following steps: Step S504: Receive the user's voice service switching request and obtain the desired voice service after the switch.

[0082] In this embodiment, a user's voice service switching request is received, and the desired voice service after switching is obtained. For example, the user can switch the voice service from the combined voice service of Baidu ASR + iFlytek TTS + Baixiao NLP to the combined voice service of iFlytek ASR + Baidu TTS + Alibaba NLP.

[0083] Step S505: Activate the voice service component in the voice service component model corresponding to the desired voice service after switching using a preset activation function.

[0084] In this embodiment, before executing the activation of the voice service component in the voice service component model corresponding to the desired voice service after switching using a preset activation function, the method further includes: defining a switching component model macro.

[0085] Specifically, the macros for switching component models include `set_current_asr("asrname")`, `set_current_tts("tts_name")`, and `set_current_nlp("nlp_name")`. Users can freely combine any cross-vendor component of the ASR / NLP / TTS framework based on the component name. After switching, all subsequent calls to this type of service will be automatically routed to the newly specified component model without requiring device restarts or modifications to the business code. For example, when `set_current_tts(baidu_tts)` is called, the system searches for a component model instance named "baidu_tts" in the registered TTS slots. If it exists, the system automatically routes to that component model and activates the corresponding voice service component using a preset activation function.

[0086] In this embodiment, a combination of component model, static registration center mechanism, unified operation set function, and macro encapsulation design enables arbitrary cross-vendor combination capabilities for the ASR / NLP / TTS components. When a new vendor joins, only the operation functions need to be implemented according to the component model specification; no changes to the core system code are required. Business logic and underlying implementation are completely decoupled. The same application or the same product integrating this design can be flexibly configured with voice services from different vendors in different deployment environments. Furthermore, the entire framework is designed in pure C language, has a wide range of applications, and is suitable for a full spectrum of voice terminals, from high-end Linux devices to low-end Cortex-M0 MCUs, and can also be extended to Android system smart voice devices.

[0087] This embodiment achieves the following technical effects through the above technical solution: This embodiment uses a static registry center categorized by voice service type (ASR / TTS / NLP). Storage space is allocated at compile time, without relying on dynamic memory allocation, making it suitable for resource-constrained embedded systems or other bare-metal devices. Component registration is statically allocated by the compiler, avoiding runtime heap operations, eliminating memory fragmentation and allocation failure risks, and improving system robustness. By constructing a unified voice component model, including component name, service type identifier, private data, and a unified set of operation functions, the set of function pointers abstracts the basic operations required by all vendor voice services. An explicit registration interface, `speech_register()`, is provided, allowing each voice service to explicitly register and submit its component model during the initialization phase, without requiring configuration files or preset methods. New vendors only need to implement the standard ops operation set functions and call the registration interface to use the service, simplifying integration, eliminating the need to modify system logic, reducing the need to develop custom code for each vendor, improving development efficiency, and reducing integration costs. It provides a configurable voice service interface, `speech_load_config`, to support diverse voice service provider selection needs. It allows ASR, NLP, and TTS voice processing stages to come from different vendors, enabling arbitrary combinations and breaking the vendor-binding limitations of traditional voice services. A macro maintains a currently active component model to record the combination of component instances currently in use for each service type. It provides interfaces `set_current_asr`, `set_current_tts`, and `set_current_nlp` to dynamically switch component service types, enabling dynamic switching of user-desired voice services. This meets the diverse voice service needs of the market and allows for flexible switching between any vendor at runtime without system restarts, enabling rapid response to market business changes.

[0088] Exemplary device Based on the above embodiments, the present invention also provides a multi-vendor voice service configuration system, comprising: The component registration interface module is used to receive system registration requests and obtain the voice service components of the vendors in the system registration requests; The static registration center module is used to allocate component slots to the voice service components based on the voice service type, store the voice service components in the component slots, and complete the registration of the voice service component model. The upper-layer business call module is used to obtain the user's desired voice service type; The component model activation module is used to activate the voice service component in the voice service component model that corresponds to the desired voice service type using a preset unified operation set function; The component model service module is used to provide voice services to the user using the activated voice service component model.

[0089] Based on the above embodiments, the present invention also provides a terminal, the principle block diagram of which can be as follows: Figure 3 As shown.

[0090] The terminal includes: a processor, a memory, an interface, a display screen, and a communication module connected via a system bus; wherein, the processor of the terminal provides computing and control capabilities; the memory of the terminal includes a computer-readable storage medium and internal memory; the computer-readable storage medium stores an operating system and computer programs; the internal memory provides an environment for the operation of the operating system and computer programs in the computer-readable storage medium; the interface is used to connect to external devices; the display screen is used to display relevant information; and the communication module is used to communicate with a cloud server or other devices.

[0091] When executed by the processor, this computer program is used to implement the multi-vendor voice service configuration method.

[0092] It will be understood by those skilled in the art that Figure 3 The block diagram shown is merely a partial structural diagram related to the present invention and does not constitute a limitation on the terminal to which the present invention is applied. A specific terminal may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0093] In one embodiment, a terminal is provided, comprising: a processor and a memory, the memory storing a multi-vendor voice service configuration program, which, when executed by the processor, is used to implement the operation of the multi-vendor voice service configuration method described above.

[0094] In one embodiment, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a multi-vendor voice service configuration program, which, when executed by a processor, is used to implement the operations of the multi-vendor voice service configuration method described above.

[0095] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile storage medium, and when executed, it can include the processes of the embodiments of the methods described above. Any references to memory, storage, database, or other media used in the embodiments provided by this invention can include both non-volatile and volatile memory.

[0096] In summary, this invention provides a method, system, terminal, and storage medium for configuring multi-vendor voice services, including: receiving a system registration request and obtaining the voice service components of the vendors in the system registration request; allocating component slots to the voice service components based on the voice service type, storing the voice service components in the component slots, and completing the registration of the voice service component model; obtaining the user's desired voice service type; activating the voice service component in the voice service component model corresponding to the desired voice service type using a preset unified operation set function; and providing voice services to the user using the activated voice service component model. This invention can realize different voice service configurations from multiple vendors and combine them arbitrarily, and activates voice services through the voice service component model, which has flexibility and scalability and can quickly adapt to business changes.

[0097] It should be understood that the application of the present invention is not limited to the examples above. Those skilled in the art can make improvements or modifications based on the above description, and all such improvements and modifications should fall within the protection scope of the appended claims.

Claims

1. A method for configuring multi-vendor voice services, characterized in that, include: Receive a system registration request and obtain the vendor's voice service component from the system registration request; Based on the voice service type, a component slot is allocated to the voice service component, and the voice service component is stored in the component slot to complete the registration of the voice service component model. Obtain the user's desired type of voice service; Activate the voice service component in the voice service component model that corresponds to the desired voice service type using a preset activation function; The activated voice service component model is used to provide voice services to the user.

2. The multi-vendor voice service configuration method according to claim 1, characterized in that, The voice service types include any one or a combination of ASR voice service, NLP voice service, and TTS voice service.

3. The multi-vendor voice service configuration method according to claim 1, characterized in that, The step of obtaining the vendor's voice service component from the system registration request includes: Determine all voice service types supported by the vendor in the system registration request; And obtain the voice service component corresponding to the determined voice service type.

4. The multi-vendor voice service configuration method according to claim 1, characterized in that, Activating the voice service component in the voice service component model corresponding to the user's desired voice service type using a preset activation function includes: Obtain the voice service component in the voice service component model that corresponds to the user's desired voice service type; Enter the name of the acquired voice service component into the preset activation function to activate the acquired voice service component.

5. The multi-vendor voice service configuration method according to claim 1, characterized in that, The provision of voice services to the user using the activated voice service component model includes: Define a unified set of operation functions to support the operations required for all voice service types; Define an independent pointer to the unified set of functions for each voice service component; Based on the independent pointer, the voice service component is invoked from the activated voice service component model, and the voice service component combination is configured to provide voice services to the user.

6. The multi-vendor voice service configuration method according to claim 1, characterized in that, The multi-vendor voice service configuration method also includes: Based on the voice service type, allocate idle component slots to the voice service components of the newly accessed vendor and update the voice service component model.

7. The multi-vendor voice service configuration method according to claim 1, characterized in that, The multi-vendor voice service configuration method also includes: Receive the user's voice service switching request and obtain the desired voice service after the switch; The voice service component corresponding to the desired voice service after switching is activated in the voice service component model using a preset activation function.

8. A multi-vendor voice service configuration system, characterized in that, include: The component registration interface module is used to receive system registration requests and obtain the voice service components of the vendors in the system registration requests; The static registration center module is used to allocate component slots to the voice service components based on the voice service type, store the voice service components in the component slots, and complete the registration of the voice service component model. The upper-layer business call module is used to obtain the user's desired voice service type; The component model activation module is used to activate the voice service component in the voice service component model that corresponds to the desired voice service type using a preset activation function; The component model service module is used to provide voice services to the user using the activated voice service component model.

9. A terminal, characterized in that, include: The processor and memory, wherein the memory stores a multi-vendor voice service configuration program, which, when executed by the processor, is used to implement the operation of the multi-vendor voice service configuration method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a multi-vendor voice service configuration program, which, when executed by a processor, is used to implement the operation of the multi-vendor voice service configuration method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Multi-voice platform systems, switching methods, smart terminals and storage media

    CN111147530B