Device wake-up method
By establishing a control policy and detection information transmission mechanism between the device and the server, determining the target device and sending a wake-up instruction, the problem of multiple devices being awakened or unable to wake up at the same time is solved, and the user experience is improved.
Patent Information
- Application Number
- CN202110949891.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-18
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2041-08-18
AI Technical Summary
When the wake-up words of multiple devices are consistent, there is a problem that multiple devices are awakened at the same time or that multiple devices cannot be awakened, resulting in poor user experience.
By obtaining the identification of the control policy, the wake-up voice input by the user is received, and the detection information is determined based on the identification and wake-up voice, and the detection information is sent to the server. The server determines the target device among the multiple intelligent devices based on the detection information sent by the multiple intelligent devices, and sends a wake-up instruction to the target device.
It realizes the problem that only the target device wakes up by wake-up voice, solves the problem that multiple devices are awakened at the same time or that multiple devices cannot be awakened, and improves the user experience.
Smart Images

Figure CN113763950B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of control technology, and in particular to a method for waking up a device. Background Art
[0002] Currently, with the development of industrial Internet technology, users can wake up devices (such as refrigerators) through wake-up words (such as Xiaoice Xiaoice).
[0003] In the related art, when the wake-up words of multiple devices are the same, there is a problem that multiple devices are woken up at the same time or multiple devices cannot be woken up, resulting in a poor user experience. Summary of the invention
[0004] The embodiment of the present application provides a device wake-up method for solving the problem that multiple devices are woken up at the same time or multiple devices cannot be woken up, thereby improving user experience.
[0005] In a first aspect, an embodiment of the present application provides a device wake-up method, which is applied to a target device, and the method includes:
[0006] Get the identification of the control strategy;
[0007] Receive a wake-up voice input by a user, where the wake-up voice includes the same wake-up word for multiple smart devices within a preset range, and the multiple smart devices include a target device;
[0008] Determine detection information based on the identification and the wake-up voice, and send the detection information to the server;
[0009] The receiving server sends a wake-up instruction, and controls the target device to wake up according to the wake-up instruction.
[0010] In one possible design, the detection information includes at least one of the following information:
[0011] Awaken the power of speech;
[0012] The angle of the sound source of the wake-up voice is within a preset angle range in front of the target device; or,
[0013] Information about changes in sound sources.
[0014] In one possible design, the identifier indicates that the detection information includes energy of the wake-up speech; and the detection information is determined according to the identifier and the wake-up speech, including:
[0015] Sampling the wake-up speech to obtain a speech sequence;
[0016] Segment the speech sequence to obtain multiple speech subsequences;
[0017] Performing frequency domain transformation on the multiple speech subsequences respectively to obtain multiple frequency domain subsequences;
[0018] The energies corresponding to the multiple frequency domain subsequences within the preset frequency range are determined, and the average value of the energies corresponding to the multiple frequency domain subsequences is determined as the energy of the wake-up speech.
[0019] In one possible design, the identification indicates that the angle of the sound source including the wake-up voice in the detection information is within a preset angle range in front of the target device;
[0020] Based on the identification and wake-up voice, the detection information is determined, including:
[0021] According to the wake-up voice and angle variables, construct a search function of the angle variable;
[0022] Optimize the search function to obtain the angle corresponding to the maximum function value of the search function;
[0023] The angle corresponding to the maximum function value of the search function is determined as the angle.
[0024] In one possible design, the identification indicates that the detection information includes change information of a sound source of the wake-up voice; and the detection information is determined according to the identification and the wake-up voice, including:
[0025] Determine a first angle corresponding to a first audio frame of the wake-up speech and a second angle corresponding to a last audio frame;
[0026] According to the first angle and the second angle, change information of the sound source is determined.
[0027] In a second aspect, an embodiment of the present application provides a device wake-up method, which is applied to a server, and the method includes:
[0028] Receive detection information sent by multiple smart devices;
[0029] Determine a target device among the multiple smart devices according to the detection information sent by the multiple smart devices;
[0030] And send a wake-up instruction to the target device.
[0031] In one possible design, the detection information includes at least one of the following information:
[0032] Awaken the power of speech;
[0033] The sound source of the wake-up voice is at an angle within a preset angle range in front of the smart device; or
[0034] Information about changes in sound sources.
[0035] In a possible design, the detection information includes energy of the wake-up voice; and determining a target device from among the multiple smart devices according to the detection information sent by the multiple smart devices includes:
[0036] The smart device with the largest energy among the multiple smart devices is determined as the target device.
[0037] In a possible design, the detection information includes energy of the wake-up voice and an angle of a sound source of the wake-up voice within a preset angle range in front of the smart device; determining a target device from the multiple smart devices according to the detection information sent by the multiple smart devices includes:
[0038] Determine whether there is an angle of the first smart device among the multiple smart devices that is the same as a pre-stored preset angle of the first smart device;
[0039] If yes, the first smart device is determined as the target device;
[0040] If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energies and angles corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
[0041] In one possible design, the detection information includes energy of the wake-up voice, an angle of a sound source of the wake-up voice within a preset angle range in front of the smart device, and change information of the sound source;
[0042] According to the detection information sent by multiple smart devices, a target device is determined among the multiple smart devices, including:
[0043] Determine whether there is at least one smart device among the multiple smart devices whose corresponding angle is within a preset angle range;
[0044] If so, determining the device with the smallest sound source change information among the at least one smart device as the target device;
[0045] If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energy, angle and change information corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
[0046] In a third aspect, an embodiment of the present application provides a device for waking up a device, which is applied to a target device, and the device includes: an acquisition module, a receiving module, and a determination module;
[0047] An acquisition module, used to acquire the identification of the control strategy;
[0048] A receiving module, configured to receive a wake-up voice input by a user, wherein the wake-up voice includes the same wake-up word for multiple smart devices within a preset range, and the multiple smart devices include a target device;
[0049] A determination module, used to determine detection information according to the identification and the wake-up voice, and send the detection information to the server;
[0050] The receiving module is also used to receive a wake-up instruction sent by the server and control the target device to wake up according to the wake-up instruction.
[0051] In one possible design, the detection information includes at least one of the following information:
[0052] Awaken the power of speech;
[0053] The angle of the sound source of the wake-up voice is within a preset angle range in front of the target device; or,
[0054] Information about changes in sound sources.
[0055] In one possible design, the identification indicates that the detection information includes energy of the wake-up speech; and the determination module is specifically configured to:
[0056] Sampling the wake-up speech to obtain a speech sequence;
[0057] Segment the speech sequence to obtain multiple speech subsequences;
[0058] Performing frequency domain transformation on the multiple speech subsequences respectively to obtain multiple frequency domain subsequences;
[0059] The energies corresponding to the multiple frequency domain subsequences within the preset frequency range are determined, and the average value of the energies corresponding to the multiple frequency domain subsequences is determined as the energy of the wake-up speech.
[0060] In one possible design, the identification indicates that the angle of the sound source including the wake-up voice in the detection information is within a preset angle range in front of the target device; and the determination module is specifically used to:
[0061] According to the wake-up voice and angle variables, construct a search function of the angle variable;
[0062] Optimize the search function to obtain the angle corresponding to the maximum function value of the search function;
[0063] The angle corresponding to the maximum function value of the search function is determined as the angle.
[0064] In a possible design, the identification indication detection information includes change information of a sound source of the wake-up voice; and the determination module is specifically used to:
[0065] Determine a first angle corresponding to a first audio frame of the wake-up speech and a second angle corresponding to a last audio frame;
[0066] According to the first angle and the second angle, change information of the sound source is determined.
[0067] In a fourth aspect, an embodiment of the present application provides a device for waking up a device, which is applied to a server, and the device includes: a receiving module, a determining module, and a sending module; wherein:
[0068] A receiving module, used for receiving detection information sent by multiple smart devices;
[0069] A determination module, used to determine a target device among multiple smart devices according to detection information sent by multiple smart devices;
[0070] The sending module is used to send a wake-up instruction to the target device.
[0071] In one possible design, the detection information includes at least one of the following information:
[0072] Awaken the power of speech;
[0073] The sound source of the wake-up voice is at an angle within a preset angle range in front of the smart device; or
[0074] Information about changes in sound sources.
[0075] In a possible design, the detection information includes energy of the wake-up speech; and the determination module is specifically used for:
[0076] The smart device with the largest energy among the multiple smart devices is determined as the target device.
[0077] In a possible design, the detection information includes the energy of the wake-up voice and the angle of the sound source of the wake-up voice within a preset angle range in front of the smart device; the determination module is specifically used to include:
[0078] Determine whether there is an angle of the first smart device among the multiple smart devices that is the same as a pre-stored preset angle of the first smart device;
[0079] If yes, the first smart device is determined as the target device;
[0080] If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energies and angles corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
[0081] In a possible design, the detection information includes energy of the wake-up voice, an angle of a sound source of the wake-up voice within a preset angle range in front of the smart device, and change information of the sound source; the determination module is specifically used to:
[0082] Determine whether there is at least one smart device among the multiple smart devices whose corresponding angle is within a preset angle range;
[0083] If so, determining the device with the smallest sound source change information among the at least one smart device as the target device;
[0084] If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energy, angle and change information corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
[0085] In a fifth aspect, an embodiment of the present application provides a smart device, including: a processor and a memory;
[0086] Memory stores computer-executable instructions;
[0087] The processor executes the computer-executable instructions stored in the memory, so that the processor performs any method of the first aspect.
[0088] In a sixth aspect, an embodiment of the present application provides a server, including: a processor and a memory;
[0089] Memory stores computer-executable instructions;
[0090] The processor executes the computer-executable instructions stored in the memory, so that the processor performs any method of the second aspect.
[0091] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and when a processor executes any method as in the first aspect.
[0092] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and when a processor executes any method as in the second aspect.
[0093] In a ninth aspect, an embodiment of the present application provides a computer program product, including a computer program, which implements any method of the first aspect when the computer program is executed by a processor.
[0094] In a tenth aspect, an embodiment of the present application provides a computer program product, including a computer program, which implements any method of the second aspect when the computer program is executed by a processor.
[0095] The embodiment of the present application provides a device wake-up method, the method comprising: obtaining an identifier of a control strategy; receiving a wake-up voice input by a user, the wake-up voice including the same wake-up word of multiple smart devices within a preset range, and the multiple smart devices including a target device; determining detection information according to the identifier and the wake-up voice, and sending the detection information to a server; receiving a wake-up instruction sent by the server, and controlling the target device to wake up according to the wake-up instruction. In this method, the device determines the detection information according to the identifier and the wake-up voice, and sends the detection information to the server. The server determines the target device among the multiple smart devices according to the detection information sent by the multiple smart devices. The server sends a wake-up instruction to the target device, and only controls the target device to wake up, that is, only controls the target device to wake up through the wake-up voice, which solves the problem of multiple devices being woken up at the same time or multiple devices being unable to be woken up, and improves the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0096] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0097] Figure 1 A schematic diagram of an application scenario of the wake-up method for a device provided in an embodiment of the present application;
[0098] Figure 2 The process of the device wake-up method provided in the embodiment of the present application Figure 1 ;
[0099] Figure 3 The process of the device wake-up method provided in the embodiment of the present application Figure 2 ;
[0100] Figure 4 A schematic diagram of a setting interface provided in an embodiment of the present application;
[0101] Figure 5 Application scenario 1 provided for the embodiment of the present application;
[0102] Figure 6 Application scenario 2 provided for the embodiment of this application;
[0103] Figure 7 Application scenario 2 provided for the embodiment of this application;
[0104] Figure 8 The process of the device wake-up method provided in the embodiment of the present application Figure 3 ;
[0105] Fig. 9 Schematic diagram of a wake-up device for a device provided in an embodiment of the present application Figure 1 ;
[0106] Fig.10 Schematic diagram of a wake-up device for a device provided in an embodiment of the present application Figure 2 ;
[0107] Fig.11 A schematic diagram of the hardware structure of the smart device provided in the embodiment of the present application;
[0108] Fig.12 A schematic diagram of the hardware structure of the server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0109] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0110] In order to solve the problem in the related art that when the wake-up words of multiple devices are the same, multiple devices are woken up at the same time or multiple devices cannot be woken up, resulting in a poor user experience, in the present application, the inventors conceived of setting a control strategy. Under this control strategy, the target device to be woken up is determined according to the wake-up voice input by the user, and then the target device is controlled to wake up, thereby solving the problem that multiple devices are woken up at the same time or multiple devices cannot be woken up, and improving the user experience.
[0111] Combine the following Figure 1 The application scenarios of the device wake-up method provided in this application are described.
[0112] Figure 1 Schematic diagram of an application scenario of the device wake-up method provided in the embodiment of the present application. Figure 1 As shown, for example, the application scenario includes: multiple devices, servers, and users. For example, the multiple devices include device 1, device 2, and device 3. The wake-up words of multiple devices are the same, for example, the wake-up words are all "Xiao U Xiao U". The user can set the control policy for multiple devices. After the user sets the control policy, when the user calls "Xiao U Xiao U", multiple devices can receive the wake-up voice "Xiao U Xiao U", and determine the detection information based on the set control policy and wake-up voice, and then send the detection information to the server.
[0113] After receiving the detection information, the server determines a target device to be awakened from among multiple devices according to the detection information, and then sends a wake-up instruction to the target device, so that the target device is awakened according to the wake-up instruction.
[0114] In this application, the control policy set by the user can enable the server to send a wake-up instruction only to the target device to control the target device to be woken up, thereby solving the problem of multiple devices being woken up at the same time or multiple devices being unable to be woken up, and improving the user experience.
[0115] The technical solution of the present application is described in detail with specific embodiments below. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0116] Figure 2 The process of the device wake-up method provided in the embodiment of the present application Figure 1 .like Figure 2 As shown, the method includes:
[0117] S201: The target device obtains an identifier of a control policy.
[0118] The target device may be a smart device such as a TV, a speaker, or a refrigerator, or a smart device with a screen such as a TV or a refrigerator.
[0119] The identifier may be obtained according to a voice instruction input by a user, or may be obtained according to setting information sent by a control device.
[0120] The control device can be a smart phone, tablet computer, etc. with an application installed, or a controller specially designed for IoT application scenarios.
[0121] When the identifier is obtained according to the voice command or setting information, the voice command or setting information includes the identifier, or includes mapping information corresponding to the identifier. It should be noted that the method of obtaining the identifier according to the setting information can be referred to Figure 4 Example.
[0122] When the voice command or setting information includes mapping information, a mapping list is pre-stored in the target device, and the mapping list includes multiple identifiers and mapping information corresponding to each identifier; after receiving the mapping information, the target device searches the mapping list according to the mapping information to obtain the identifier.
[0123] In the present application, there may be multiple identifiers of the control strategy, and each identifier indicates at least one type of information included in the detection information.
[0124] S202: The target device receives a wake-up voice input by a user, where the wake-up voice includes the same wake-up word for multiple smart devices within a preset range, and the multiple smart devices include the target device.
[0125] Optionally, the pre-range may be a range covered by a same wireless local area network, and the multiple smart devices are multiple smart devices located in the wireless local area network.
[0126] For example, the wake-up words may all be "Xiaobing Xiaobing", or "Xiaoxi Xiaoxi", etc. Optionally, the wake-up word for each device may be custom set by the user through an application.
[0127] S203: The target device determines detection information according to the identifier and the wake-up voice.
[0128] The detection information includes at least one of the following information: energy of the wake-up voice; the angle of the sound source of the wake-up voice within a preset angle range in front of the target device; or change information of the sound source.
[0129] Optionally, each piece of detection information may also include an identifier of a device, and the identifier of the device is used to indicate the device to which the server sends the detection information.
[0130] The preset angle range is 0 to 180 degrees from left to right in front of the device.
[0131] For example, when the identifier is "1", it indicates that the detection information includes energy; when the identifier is "2", it indicates that the detection information includes energy and angle; when the identifier is "3", it indicates that the detection information includes energy, angle and change information.
[0132] For example, when the mapping information or voice instruction includes "voice intelligent mode 1", it indicates that the detection information includes energy; when the mapping information or voice instruction includes "voice intelligent mode 2", it indicates that the detection information includes energy and angle; when the mapping information or voice instruction includes "voice intelligent mode 3", it indicates that the detection information includes energy, angle and change information.
[0133] S204: The target device sends detection information to the server.
[0134] S205. The server receives detection information sent by multiple smart devices.
[0135] Each of the multiple smart devices sends detection information to the server. The method for each smart device to send detection information to the server is similar to the method of S201 to S204, which will not be repeated here.
[0136] S206: The server determines a target device from among the multiple smart devices according to the detection information sent by the multiple smart devices.
[0137] For example, when the detection information only includes energy, the server determines the smart device with the largest energy among multiple smart devices as the target device. When the detection information only includes energy, the corresponding application scenario can be as follows: Figure 5 shown.
[0138] For example, when the detection information includes energy and angle, the server determines the smart device with the highest wake-up score among multiple smart devices as the target device. The wake-up score is equal to the product of the energy and the weight corresponding to the energy and the product of the angle and the weight corresponding to the angle. When the detection information includes energy and angle, the corresponding application scenarios can be as follows: Figure 6 shown.
[0139] For example, when the detection information includes the change information of energy, angle and sound source, the server determines the smart device with the largest wake-up score among multiple smart devices as the target device. The wake-up score is equal to the product of energy and the weight corresponding to the energy, the product of angle and the weight corresponding to the angle, and the product of change information and the weight corresponding to the change information. When the detection information includes the change information of energy, angle and sound source, the corresponding application scenario can be as follows: Figure 7 shown.
[0140] S207: The server sends a wake-up instruction to the target device.
[0141] The wake-up instruction is used to instruct the target device to wake up.
[0142] S208: The target device wakes up according to the wake-up instruction.
[0143] For example, when the target device is an air conditioner, the target device is awakened, and the user can adjust the temperature, wind speed, wind direction, etc. of the air conditioner by voice.
[0144] exist Figure 2 In the device wake-up method provided in the embodiment, the device determines detection information based on the identification and the wake-up voice, and sends the detection information to the server. The server determines the target device from multiple smart devices based on the detection information sent by the multiple smart devices. The server sends a wake-up instruction to the target device, and only controls the target device to wake up, that is, only controls the target device to wake up through the wake-up voice, which solves the problem of multiple devices being woken up at the same time or multiple devices cannot be woken up, and improves the user experience.
[0145] The following takes the target device as an example to explain the wake-up method executed by the target setting side. Figure 3 Example.
[0146] Figure 3 The process of the device wake-up method provided in the embodiment of the present application Figure 2 .like Figure 3 As shown, the method includes:
[0147] S301. Obtain an identifier of a control strategy, where the identifier indicates that the detection information includes energy of the wake-up voice, an angle of a sound source of the wake-up voice within a preset angle range in front of a target device, and change information of the sound source.
[0148] S302: Receive a wake-up voice input by a user, where the wake-up voice includes the same wake-up word for multiple smart devices within a preset range, and the multiple smart devices include a target device.
[0149] S303: Sampling the wake-up speech to obtain a speech sequence.
[0150] It should be noted that a microphone array is provided on the target device, the microphone array includes at least one microphone, each microphone can receive the wake-up voice, and the target device can execute the method in S303 only when any one of the at least one microphone receives the wake-up voice.
[0151] The wake-up voice is an analog signal, and the voice sequence is a digital signal.
[0152] Optionally, a preset sampling frequency is used to sample the wake-up speech to obtain a speech sequence.
[0153] For example, the preset sampling frequency may be 16000, or may be other frequencies, and the preset sampling frequency is not limited here.
[0154] S304: Segment the speech sequence to obtain multiple speech subsequences.
[0155] Optionally, the speech sequence is segmented according to a preset data length to form a plurality of speech subsequences, and the length of each speech subsequence may be equal to the preset data length.
[0156] For example, the preset data length may be 512, or other lengths, and the preset data length is not limited here.
[0157] S305 , performing frequency domain transformation on the multiple speech subsequences respectively to obtain multiple frequency domain subsequences.
[0158] Optionally, frequency domain transformation is performed on multiple speech subsequences respectively according to a preset transformation length to obtain multiple frequency domain subsequences.
[0159] For example, the preset transformation length is 257, and can also be other values. The preset transformation length is not limited here.
[0160] S306: Determine the energy corresponding to each of the multiple frequency domain subsequences within a preset frequency range.
[0161] Optionally, the average value of the sum of amplitudes corresponding to each frequency point within a preset frequency range in the frequency domain subsequence may be determined as the energy of the frequency domain subsequence. For details, see Formula 1.
[0162]
[0163] Where E(n) is the energy of the nth frequency domain subsequence, X n (f) is the nth frequency domain subsequence, f is the frequency point, f 1 ~f m is the preset frequency range.
[0164] Optionally, the sum of the amplitudes corresponding to each frequency point within a preset frequency range in the frequency domain subsequence may be determined as the energy of the frequency domain subsequence. For details, see Formula 2.
[0165]
[0166] S307: Determine an average value of the energies corresponding to the multiple frequency domain subsequences as the energy of the wake-up speech.
[0167] Optionally, the average value of the energies corresponding to the partial frequency domain subsequences may be determined as the energy of the wake-up speech. For example, the energy of the wake-up speech may be expressed as Formula 3 below.
[0168]
[0169] Wherein, E is the energy of the wake-up speech, and the partial frequency domain subsequence is from the ath frequency domain subsequence to the bth frequency domain subsequence.
[0170] Optionally, the average value of the energies corresponding to all frequency domain subsequences may be determined as the energy of the wake-up speech. For example, the energy of the wake-up speech may be expressed as Formula 4 below.
[0171]
[0172] S308. Construct a search function of the angle variable according to the wake-up voice and the angle variable.
[0173] It should be noted that the wake-up voice in S308 includes that each microphone in the microphone array can receive the wake-up voice.
[0174] Optionally, the obtained search function may be the following formula 5:
[0175]
[0176] Among them, Aml(θ) is the search function, θ is the angle variable, PA(θ,f) is the directional derivative, and Rxx(f) is the covariance matrix.
[0177] Where Rxx(f)=X(f)*X * (f), X(f) is the frequency domain signal corresponding to the wake-up speech collected by each of the multiple microphones included in the microphone array on the target device, X * (f) is the conjugate matrix of X(f).
[0178] in, d is the distance between the microphones and c is the speed of light.
[0179] S309, optimizing the search function to obtain the angle corresponding to the maximum function value of the search function.
[0180] Specifically, the search function can be optimized and searched by using an ion swarm optimization algorithm to obtain an angle corresponding to a maximum function value of the search function.
[0181] S310. Determine the angle corresponding to the maximum function value of the search function as the angle of the sound source of the wake-up voice within a preset angle range in front of the target device.
[0182] S311. Determine a first angle corresponding to a first audio frame of the wake-up voice and a second angle corresponding to a last audio frame.
[0183] Specifically, the method for determining the first angle and the second angle is the same as the method from S306 to S307, and will not be repeated here.
[0184] S312: Determine change information of the sound source according to the first angle and the second angle.
[0185] Optionally, the difference between the first angle and the second angle may be determined as the change information of the sound source.
[0186] Optionally, the ratio of the first angle to the second angle and the duration of the wake-up voice may be determined as the change information of the sound source.
[0187] exist Figure 3 In the wake-up method of the device provided in the embodiment, the identification indicates that the detection information includes the change information of energy, angle, and sound source, so that the target device determines the change information of energy, angle, and sound source in turn, and sends the detection information (including the determined change information of energy, angle, and sound source) to the server, thereby improving the accuracy of the server in determining the target device.
[0188] Figure 4 This is a schematic diagram of the setting interface provided in the embodiment of the present application. Figure 4As shown, the control device can display a setting interface, which includes: multiple controls of the control strategy. Each control has a corresponding name, for example, the name corresponding to control 1 is control strategy 1, and the name corresponding to control 2 is control strategy 2.
[0189] The setting interface may also include a description corresponding to the control. The description is used to let the user understand how the server determines the target device. For example, the description corresponding to control 1 is "decision based on energy".
[0190] In a specific application, the control device pre-stores an identifier corresponding to each control. When the user clicks one of the controls, the control device searches for the identifier corresponding to the control and sends setting information to the target device according to the identifier.
[0191] It should be noted that each smart device includes two decision modules: an energy decision module and a direction of arrival (DOA) decision module. The energy decision module can be used to execute the above S303 to S307, and the DOA decision module can be used to execute the above S308 to S312.
[0192] The identifier in the present application can control the switch of the energy decision module and / or the DOA decision module. For example, if the identifier indicates that the detection information includes energy, the energy decision module is controlled to be turned on. For example, if the identifier indicates that the detection information includes energy, angle and change information, the energy decision module and the DOA decision module are controlled to be turned on at the same time.
[0193] Optionally, each smart device may also include: a reverberation sound module. The reverberation sound module is used to perform linear dereverberation sound processing on the speech sequence corresponding to each microphone in each microphone array through generalization weighted prediction error (Generalization Weighted Prediction Error, Gwpe) to obtain the frequency domain signal corresponding to each microphone, and further, the frequency signal corresponding to each microphone can be inversely transformed to obtain the speech sequence after linear dereverberation sound processing, and S304~S312 is executed for each speech sequence after linear dereverberation sound processing. Among them, the speech sequence corresponding to the microphone can be obtained through the above S302~S303.
[0194] It should be noted that in the process of using Gwpe for linear dereverberation processing, matrix inversion calculation is involved, which leads to large amount of calculation and long processing time, making the efficiency of reverberation processing low. In this application, the LDLT decomposition algorithm is used instead of the matrix inversion calculation, thereby saving the amount of calculation, reducing the processing time, and improving the efficiency of reverberation processing.
[0195] In practical applications, when using the direct coherence relationship of channels for reverberation suppression, the dependence on smart devices is relatively large. Since the microphone models used by various smart devices in practice are not necessarily the same, the sensitivity and frequency response of the microphones may be different. Therefore, it is not applicable to use the direct coherence relationship of channels for reverberation suppression. If the direct coherence relationship of channels is to be used for reverberation suppression, the microphone needs to be calibrated. Since the calibration method is relatively complicated, the process of reverberation suppression is relatively complicated. In this application, Gwpe belongs to linear prediction, which is less dependent on smart devices, and there is no need to calibrate the microphone, which simplifies the process of reverberation suppression.
[0196] Figure 5 This is the first application scenario provided by the embodiment of the present application. When the detection information only includes energy, such as Figure 5 As shown, the application scenario includes, for example: device 1, device 2, and a user.
[0197] Device 1 and device 2 can be any smart device with or without a screen.
[0198] Both device 1 and device 2 can perform the above Figure 3 The method shown in S301 to S307 in the embodiment obtains detection information and sends the detection information to the server ( Figure 5 not shown).
[0199] If the server determines, based on the detection information, that the energy corresponding to device 2 is greater than the energy corresponding to device 1, then device 2 is determined to be the target device, and a wake-up instruction is sent to device 2 to wake up device 2.
[0200] Figure 6 This is the second application scenario provided by the embodiment of the present application. When the detection information includes energy and angle, such as Figure 6 As shown, the application scenario includes, for example: device 1, device 2, device 3 and a user.
[0201] When device 1 is a smart device with a screen (such as a TV), and device 2 and device 3 are smart devices without a screen (such as speakers), device 1 can perform the above Figure 3 The method shown in S301 to S310 in the embodiment obtains detection information and sends the detection information to the server. Figure 3 The method shown in S301 to S307 in the embodiment obtains detection information (ie, the angle in the detection information is 0), and sends the detection information to the server.
[0202] Optionally, the server may determine the target device by the following method: for the detection information sent by each device, if the angle is a non-zero value, determine whether the angle is within a preset angle range in front of the device; if the angle is within the preset angle range in front of the device, determine the device as the target device. Figure 6 Device 1 can be determined as the target device.
[0203] Figure 7 This is the second application scenario provided by the embodiment of the present application. When the detection information includes the change information of energy, angle and sound source, such as Figure 7 As shown, the application scenario includes, for example: device 1, device 2, and a user.
[0204] Optionally, when device 1 is a smart device with a screen (such as a TV) and device 2 is a smart device with a screen (such as a refrigerator), the screens of device 1 and device 2 are perpendicular to each other. When the user inputs the wake-up voice, the position changes from position 1 to position 2, and both device 1 and device 2 perform the above Figure 3 The method shown in S301 to S312 in the embodiment obtains detection information and sends the detection information to the server.
[0205] Optionally, the server determines the target device through the following two methods.
[0206] Method 1: When the server determines that the angle corresponding to device 1 is within the preset angle range and the angle corresponding to device 2 is within the preset angle range, the device with the smallest sound source change information among device 1 and device 2 is determined as the target device. Figure 7 Device 2 is determined as the target device.
[0207] Method 2: The server determines the wake-up scores of device 1 and device 2 according to the energy, angle and change information of device 1 and device 2, and determines the smart device with the largest wake-up score among device 1 and device 2 as the target device.
[0208] The following uses the server as an example to illustrate the process of the wake-up method executed on the server side. Figure 8 Example.
[0209] Figure 8 The process of the device wake-up method provided in the embodiment of the present application Figure 3 .like Figure 8 As shown, the method includes:
[0210] S801. Receive detection information sent by multiple smart devices, where the detection information includes energy of the wake-up voice, an angle of a sound source of the wake-up voice within a preset angle range in front of the smart device, and change information of the sound source.
[0211] Optionally, the detection information also has the following two designs.
[0212] Design 1, the detection information includes the energy of the wake-up speech.
[0213] Design 2: The detection information includes the energy of the wake-up voice and the angle of the sound source of the wake-up voice within a preset angle range in front of the smart device.
[0214] S802: Determine whether there is at least one smart device among the multiple smart devices whose corresponding angle is within a preset angle range.
[0215] If yes, execute S803, if no, execute S804.
[0216] S803: Determine a device with the smallest sound source change information among the at least one smart device as a target device.
[0217] The minimum change information of the sound source indicates the minimum change of DOA.
[0218] S804: Determine wake-up scores corresponding to the multiple smart devices according to the energy, angle, and change information corresponding to the multiple smart devices, and determine the smart device with the largest wake-up score among the multiple smart devices as the target device.
[0219] Furthermore, with respect to the above-mentioned design 1, the server determines the smart device with the largest energy among the multiple smart devices as the target device.
[0220] Furthermore, for the above-mentioned Design 2, the server determines whether there is a first smart device among multiple smart devices whose angle is the same as a preset angle of the first smart device stored in advance; if so, the first smart device is determined as the target device; if not, the wake-up scores corresponding to the multiple smart devices are determined according to the energies and angles corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
[0221] Optionally, when the smart device is a screenless smart device, the pre-stored preset angle may be empty.
[0222] Optionally, the preset angle may be 90 degrees. Figure 6 In an embodiment, device 1 may be determined as a first smart device.
[0223] exist Figure 8 In the device wake-up method shown, the detection information is different, and the method for the server to determine the target device is also different, thereby improving the diversity and flexibility of determining the target device.
[0224] Fig. 9 Schematic diagram of a wake-up device for a device provided in an embodiment of the present application Figure 1 The awakening device 10 is applied to a target device, and the awakening device 10 comprises: an acquisition module 101, a receiving module 102 and a determination module 103;
[0225] An acquisition module 101 is used to acquire an identifier of a control strategy;
[0226] The receiving module 102 is used to receive a wake-up voice input by a user, where the wake-up voice includes the same wake-up word of multiple smart devices within a preset range, and the multiple smart devices include a target device;
[0227] A determination module 103, configured to determine detection information according to the identifier and the wake-up voice, and send the detection information to a server;
[0228] The receiving module 102 is further configured to receive a wake-up instruction sent by the server, and control the target device to wake up according to the wake-up instruction.
[0229] The wake-up device 10 provided in the embodiment of the present application can execute the method steps executed by the target device in the above method embodiment. Its implementation principles and beneficial effects are similar and will not be repeated here.
[0230] In one possible design, the detection information includes at least one of the following information:
[0231] Awaken the power of speech;
[0232] The angle of the sound source of the wake-up voice is within a preset angle range in front of the target device; or,
[0233] Information about changes in sound sources.
[0234] In a possible design, the identification indicates that the detection information includes energy of the wake-up speech; and the determination module 103 is specifically configured to:
[0235] Sampling the wake-up speech to obtain a speech sequence;
[0236] Segment the speech sequence to obtain multiple speech subsequences;
[0237] Performing frequency domain transformation on the multiple speech subsequences respectively to obtain multiple frequency domain subsequences;
[0238] The energies corresponding to the multiple frequency domain subsequences within the preset frequency range are determined, and the average value of the energies corresponding to the multiple frequency domain subsequences is determined as the energy of the wake-up speech.
[0239] In one possible design, the identifier indicates that the angle of the sound source including the wake-up voice in the detection information is within a preset angle range in front of the target device; and the determination module 103 is specifically configured to:
[0240] According to the wake-up voice and angle variables, construct a search function of the angle variable;
[0241] Optimize the search function to obtain the angle corresponding to the maximum function value of the search function;
[0242] The angle corresponding to the maximum function value of the search function is determined as the angle.
[0243] In a possible design, the identification indication detection information includes change information of the sound source of the wake-up voice; and the determination module 103 is specifically configured to:
[0244] Determine a first angle corresponding to a first audio frame of the wake-up speech and a second angle corresponding to a last audio frame;
[0245] According to the first angle and the second angle, change information of the sound source is determined.
[0246] The wake-up device 10 provided in the embodiment of the present application can execute the method steps executed by the target device in the above method embodiment. Its implementation principles and beneficial effects are similar and will not be repeated here.
[0247] Fig.10 Schematic diagram of a wake-up device for a device provided in an embodiment of the present application Figure 2 The awakening device 20 is applied to the server, and the awakening device 20 includes: a receiving module 201, a determining module 202 and a sending module 203; wherein,
[0248] The receiving module 201 is used to receive detection information sent by multiple smart devices;
[0249] A determination module 202, configured to determine a target device from among the plurality of smart devices according to the detection information sent by the plurality of smart devices;
[0250] The sending module 203 is used to send a wake-up instruction to the target device.
[0251] The wake-up device 20 provided in the embodiment of the present application can execute the method steps executed by the server in the above method embodiment. Its implementation principles and beneficial effects are similar and will not be repeated here.
[0252] In one possible design, the detection information includes at least one of the following information:
[0253] Awaken the power of speech;
[0254] The sound source of the wake-up voice is within a preset angle range in front of the smart device; or,
[0255] Information about changes in sound sources.
[0256] In a possible design, the detection information includes energy of the wake-up speech; and the determination module 102 is specifically configured to:
[0257] The smart device with the largest energy among the multiple smart devices is determined as the target device.
[0258] In a possible design, the detection information includes the energy of the wake-up speech and the angle of the sound source of the wake-up speech within a preset angle range in front of the smart device; the determination module 102 is specifically used to include:
[0259] Determine whether there is an angle of the first smart device among the multiple smart devices that is the same as a pre-stored preset angle of the first smart device;
[0260] If yes, the first smart device is determined as the target device;
[0261] If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energies and angles corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
[0262] In a possible design, the detection information includes the energy of the wake-up voice and the angle of the sound source of the wake-up voice within a preset angle range in front of the smart device and the change information of the sound source; the determination module 102 is specifically used to:
[0263] Determine whether there is at least one smart device among the multiple smart devices whose corresponding angle is within a preset angle range;
[0264] If so, determining the device with the smallest sound source change information among the at least one smart device as the target device;
[0265] If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energy, angle and change information corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
[0266] The wake-up device 20 provided in the embodiment of the present application can execute the method steps executed by the server in the above method embodiment. Its implementation principles and beneficial effects are similar and will not be repeated here.
[0267] Fig.11 Schematic diagram of the hardware structure of the smart device provided in the embodiment of the present application. As shown in 11, the smart device 30 includes: a processor 301 and a memory 302,
[0268] The processor 301 and the memory 302 are connected via a bus 303 .
[0269] In a specific implementation process, the processor 301 executes the computer execution instructions stored in the memory 302, so that the processor 301 executes the method executed by the target device as described above.
[0270] The specific implementation process of the processor 301 can refer to the method executed by the above-mentioned target device. The implementation principle and technical effect are similar, and will not be repeated here in this embodiment.
[0271] Fig.12 The hardware structure diagram of the server provided in the embodiment of the present application is shown in Figure 12. As shown in Figure 12, the server 40 includes: a processor 401 and a memory 402.
[0272] The processor 401 and the memory 402 are connected via a bus 403 .
[0273] In a specific implementation process, the processor 401 executes the computer execution instructions stored in the memory 402, so that the processor 401 executes the method executed by the target device as described above.
[0274] The specific implementation process of the processor 401 can refer to the method executed by the above-mentioned server. Its implementation principle and technical effect are similar, and this embodiment will not be repeated here.
[0275] In the above Figure 11-Figure 12 In the illustrated embodiment, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0276] The memory may include high-speed RAM memory and may also include non-volatile storage NVM, such as disk storage.
[0277] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.
[0278] An embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the method executed by the target device as described above,
[0279] An embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the method executed by the server as described above,
[0280] An embodiment of the present application provides a computer program product, including a computer program, which implements the method executed by the target device as described above when the computer program is executed by a processor.
[0281] An embodiment of the present application provides a computer program product, including a computer program, which implements the method executed by the server as described above when the computer program is executed by a processor.
[0282] The computer-readable storage medium mentioned above can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0283] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0284] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0285] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0286] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0287] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, and other media that can store program codes.
[0288] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0289] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for waking up a device, characterized in that: Applied to a target device, the method comprises: Get the identification of the control strategy; Receiving a wake-up voice input by a user, wherein the wake-up voice includes the same wake-up word for multiple smart devices within a preset range, and the multiple smart devices include the target device; Determine detection information according to the identifier and the wake-up voice, and send the detection information to a server; Receiving a wake-up instruction sent by the server, and controlling the target device to wake up according to the wake-up instruction; If the identifier indicates that the detection information includes change information of the sound source of the wake-up voice, then determining the detection information according to the identifier and the wake-up voice includes: Determine a first angle corresponding to a first audio frame of the wake-up speech and a second angle corresponding to a last audio frame; Change information of the sound source is determined according to the first angle and the second angle.
2. The method according to claim 1, characterized in that The detection information includes at least one of the following information: The energy of the wake-up speech; The sound source of the wake-up voice is at an angle within a preset angle range in front of the target device; or The change information of the sound source.
3. The method according to claim 1 or 2, characterized in that: If the identifier indicates that the detection information includes the energy of the wake-up voice, determining the detection information according to the identifier and the wake-up voice includes: Sampling the wake-up speech to obtain a speech sequence; Segmenting the speech sequence to obtain a plurality of speech subsequences; Performing frequency domain transformation on the multiple speech subsequences respectively to obtain multiple frequency domain subsequences; The energy corresponding to each of the multiple frequency domain subsequences within a preset frequency range is determined, and an average value of the energy corresponding to each of the multiple frequency domain subsequences is determined as the energy of the wake-up speech.
4. The method according to claim 1 or 2, characterized in that: If the identifier indicates that the detection information includes an angle of the sound source of the wake-up voice within a preset angle range in front of the target device, determining the detection information according to the identifier and the wake-up voice includes: According to the wake-up voice and the angle variable, construct a search function of the angle variable; Performing an optimization search on the search function to obtain an angle corresponding to when the function value of the search function is maximum; The angle corresponding to the maximum function value of the search function is determined as the angle.
5. A method for waking up a device, characterized in that: Applied to a server, the method comprises: Receive detection information sent by multiple smart devices; Determine a target device among the multiple smart devices according to the detection information sent by the multiple smart devices; and sending a wake-up instruction to the target device; If the detection information includes the energy of the wake-up voice, the angle of the sound source of the wake-up voice within a preset angle range in front of the smart device, and change information of the sound source, determining a target device from the multiple smart devices according to the detection information sent by the multiple smart devices, including: Determine whether there is at least one smart device among the multiple smart devices whose corresponding angle is within a preset angle range; If yes, determining the device with the smallest sound source change information among the at least one smart device as the target device; If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energy, angle and change information corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
6. The method according to claim 5, characterized in that The detection information includes at least one of the following information: The energy of the wake-up speech; The sound source of the wake-up voice is at an angle within a preset angle range in front of the smart device; or The change information of the sound source.
7. The method according to claim 5 or 6, characterized in that: If the detection information includes the energy of the wake-up voice, determining a target device from among the multiple smart devices according to the detection information sent by the multiple smart devices includes: The smart device with the largest energy among the multiple smart devices is determined as the target device.
8. The method according to claim 5 or 6, characterized in that: If the detection information includes the energy of the wake-up voice and the angle of the sound source of the wake-up voice within a preset angle range in front of the smart device, determining a target device from the multiple smart devices according to the detection information sent by the multiple smart devices includes: Determine whether there is a first smart device among the multiple smart devices whose angle is the same as a pre-stored preset angle of the first smart device; If yes, determining the first smart device as the target device; If not, the wake-up scores corresponding to the multiple smart devices are determined according to the energies and angles corresponding to the multiple smart devices, and the smart device with the largest wake-up score among the multiple smart devices is determined as the target device.
Citation Information
Patent Citations
Voice wake-up method and system for intelligent equipment
CN109461449A
Equipment awakening method, device and equipment
CN113129888A