Systems and methods for waking voice command systems
The use of multiple microphones and GCC/CNN techniques in voice command systems addresses the challenge of orientation-dependent speech detection, ensuring accurate and efficient activation based on proximity to the user.
Patent Information
- Application Number
- PCT/CN2024/106485
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-22
AI Technical Summary
Existing voice command systems struggle with accurately detecting close-range speech independent of the orientation of the smart device, leading to potential misactivation and inefficient battery usage due to feature confusion caused by overlapping signal magnitude distributions based on distance and direction-of-arrival angles.
Utilizing multiple microphones and a generalized cross-correlation (GCC) process to determine the direction and distance of the sound source, combined with convolutional neural networks (CNN) to distinguish between close and far distances, allowing for accurate detection of close-range speech and enabling device activation only when the user is near.
Enables accurate detection of close-range speech regardless of device orientation, reducing false activations and optimizing battery life by ensuring device activation only when the user is proximal.
Smart Images

Figure CN2024106485_22012026_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR WAKING VOICE COMMAND SYSTEMSTECHNICAL FIELD
[0001] The description herein relates generally to voice command systems and methods. More particularly, the description relates to systems and methods for waking voice command systems and methods.BACKGROUND
[0002] Smart” devices can receive voice commands via a “smart” assistant. In some instances, a user initiates the smart assistant by reciting a wakeup phrase. U.S. Pub. No. 2024 / 0029736 to Xiao et al. discloses a method for voice wakeup, which includes: obtaining original first microphone data; performing first-stage processing based on the first microphone data to obtain first wakeup data, wherein the first-stage processing includes first-stage separation processing and first-stage wakeup processing that are based on a neural network model; performing second-stage processing based on the first microphone data to obtain second wakeup data when the first wakeup data indicates that pre-wakeup succeeds, wherein the second-stage processing includes second-stage separation processing and second-stage wakeup processing that are based on the neural network model; and determining a wakeup result based on the second wakeup data.
[0003] In other instances, the smart assistant can wake up without using the wakeup phrase. Removing the wakeup phrase allows users to more naturally engage in a conversation with the smart assistant. For example, the user brings the microphone of the device close to the mouth and starts talking to the smart assistant directly by asking questions or issuing commands.
[0004] These no-hot-word voice systems focus on detecting whether a speaker is near the smart device.
[0005] Qin, Yue, et al. “Proximic: Convenient voice activation via close-to-mic speech detected by a single microphone. ” Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems. 2021 discloses a close-to-mic (within 5 cm) speech sensing technique using only one microphone. A user keeps a microphone-embedded device close to the mouth and speaks directly to the device without wake-up phrases or button presses. To detect close-to-mic speech, Qin uses the feature from pop noise observed when a user speaks and blows air onto the microphone. Sound input is first passed through a low-pass adaptive threshold filter, then analyzed by a CNN which detects subtle close-to-mic features (mainly pop noise) .
[0006] Chinese App. No. 202211376580.5 to Gao et al. discloses a voice interaction method and related electronic equipment, wherein the method comprises the following steps: receiving a first voice signal; obtaining voice signal data based on the first voice signal under the condition that the first voice signal is determined to be subjected to voice detection; processing the voice signal data through a voice detection model to obtain a first confidence coefficient; acquiring acceleration data of the electronic equipment, and acquiring pose information of the electronic equipment based on the acceleration data; processing the pose information through a pose detection model to obtain a second confidence coefficient; processing the target pose information and the voice data through an audio-pose detection fusion model to obtain a third confidence coefficient; and judging whether to start the voice interaction application or not based on the first confidence coefficient, the second confidence coefficient and the third confidence coefficient. By the method, the voice interaction application of the electronic equipment can be prevented from being awoken by mistake.
[0007] Chinese App. No. 201910475949. X to Shi et al. discloses a smart electronic device with built-in with microphone. The smart electronic device carries out voice interaction with the user. The voice signal from microphones is captured with the presence or absence of voice signal. In response to determining that electronic equipment and user's mouth distance are less than predetermined threshold, the voice signal is used as voice input processing. The spatial position of the speaker relative to the smart device can be estimated by calculating the time difference of the sound signal arriving at different microphones. This allows for the determination of whether the speaker is close to the smart device.SUMMARY
[0008] Any and / or all aspects as described herein in any and / or all combinations.
[0009] According to an aspect, there is provided a device that may have two or more microphones. The two or more microphones may receive one or more incoming sound waves from a sound source. A processor may execute a plurality of instructions from a computer-readable memory. The instructions may configure the processor to: provide a multi-channel audio from at least one incoming sound wave received by at least two microphones from a sound source; perform a generalized cross-correlation (GCC) on the multi-channel audio to produce a GCC vector; encode the multi-channel audio and the GCC vector to determine one or more features; and classify the at least one feature. The instructions may configure the processor to perform one or more of: determine a direction to the sound source based on the generalized cross-correlation; determine the direction to the sound source by locating a peak within the GCC vector; determine a primary microphone from the two or more microphones that is closer to the direction to the sound source; determine an orientation of the device with respect to the sound source based on the direction to the sound source; determine a time delay between the at least two microphones of the at least one incoming sound wave to determine the orientation; encode the multi-channel audio to determine the close distance or the far distance and encode the generalized cross-correlation to determine a direction; preprocess the multi-channel audio into a Mel spectra prior to encoding to determine the at least one feature; wake up the device in response to the at least one feature; and / or waken the device when the at least one feature is classified as the close distance. The one or more features may be classified as a close distance or a far distance. One or more convolutional neural network models may encode the multi-channel audio and the GCC vector to determine the one or more features.
[0010] According to an aspect, the device may have three or more microphones receiving the at least one incoming sound wave from the sound source; and the instructions may configure the processor to: determine a distance from the device to the sound source based on the generalized cross-correlation.
[0011] According to yet another aspect, there is provided a computer-implemented method that may: provide a multi-channel audio from at least one incoming sound wave received by at least two microphones from a sound source; perform a generalized cross-correlation on the multi-channel audio to produce a GCC vector; encode the multi-channel audio and the GCC vector to determine one or more features; and classify the one or more features. The method may further perform one or more of the following: determine a direction to the sound source based on the GCC vector; determine the direction to the sound source by locating a peak within the GCC vector; determine a primary microphone from the two or more microphones that is closer to the direction to the sound source; determine an orientation with respect to the sound source based on the direction to the sound source; determine a time delay between the two or more microphones receiving the at least one incoming soundwave to determine the orientation; encode the multi-channel audio to determine the close distance or the far distance and encoding the generalized cross-correlation to determine the direction; preprocess the multi-channel audio into a Mel spectra prior to encoding to determine the one or more features; wake up a device in response to the one or more features; wake up the device in response to the one or more features being classified as the close distance. The one or more features may be classified as a close distance or a far distance. One or more convolutional neural network models may encode the multi-channel audio and the GCC vector to determine the one or more features.
[0012] According to an aspect, the method may receive the one or more incoming sound waves from the sound source by an additional microphone; and may determine a distance from the device to the sound source based on the GCC vector.
[0013] According to an aspect, there is provided a device comprising a processor executing a plurality of instructions from a computer-readable memory, the instructions to configure the processor to perform any of the methods described herein.
[0014] According to an aspect, there is provided a computer-readable medium (or computer program product) storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform any of the methods described herein.BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The aspects will now be described, by way of example, with reference to the attached Figures, wherein:
[0016] Figure 1 is a schematic illustration of an example communication system;
[0017] Figures 2 (A) to (E) are drawings of different example postures when commanding a smart assistant on a mobile device;
[0018] Figure 3 is a schematic illustration showing an apparatus wirelessly communicating with another apparatus within a communication system;
[0019] Figure 4 illustrates an example end user device with multiple processor cores;
[0020] Figure 5 illustrates an example device;
[0021] Figure 6 illustrates an impact of a direction of arrival angle on a magnitude of an audio signal for a hyper-cardioid microphone shown on a polar plot;
[0022] Figure 7 illustrates various microphone responses;
[0023] Figure 8 illustrates overlapping audio signal magnitude for two example postures at two different distances;
[0024] Figures 9A, 9B, and 9C illustrate an example of analytical signal dependence and interplay between the signal magnitudes of a primary microphone and a secondary microphone;
[0025] Figures 10A and 10B illustrate four examples of time-domain amplitude signals for different orientations and distances for two microphones.
[0026] Figures 11A and 11B illustrate conceptual diagrams showing determination of a direction of arrival (DOA) angle for a pair of microphones;
[0027] Figure 12 illustrates a generalized cross-correlation (GCC) processing structure;
[0028] Figure 13 are four plots illustrating GCC vector changes for various DOA angles;
[0029] Figure 14 illustrates a baseline processing structure for waking up a smart assistant;
[0030] Figure 15 illustrates a GCC processing structure;
[0031] Figure 16 illustrates a combined processing structure;
[0032] Figure 17 illustrates an asynchronous / parallel processing structure;
[0033] Figure 18 illustrates a GCC processing structure according to another aspect.DETAILED DESCRIPTION
[0034] As described herein, the aspects may resolve varying smart device orientation, and may allow a user to place the smart device naturally for interaction with the smart device (e.g. mobile phone, tablet, watch, laptop, personal speaker, and other types of devices wherein voice input may be provided) . The aspects herein may allow the user to speak to either a bottom microphone or a top microphone as a primary microphone. The aspects herein may provide systems and / or methods that detect close-range speech or sound signals independent of the orientation of the smart device to a sound source. The sound signals may comprise one or more sound waves that may form speech.
[0035] A simultaneous dependence of audio signals on both a distance and an orientation may lead to an overlap between signal magnitude distributions for close speech but with direction-of-arrival (DOA) angles greater than 0-degrees with far speech with about a 0-degrees DOA angle. Namely, sound signals at closer distances but larger DOA angles may be of lower magnitudes than signals at larger distances but smaller DOA angles. The magnitude confusion can lead to corresponding feature confusion, where the features are encoded with a custom Convolutional Neural Network (CNN) model that has been trained to distinguish close from far distances based on multi-channel or dual-channel voice audio inputs. As described herein, the feature (s) may be pitches, tones, pops, frequencies, and / or other components of the multi-channel voice audio inputs.
[0036] The techniques herein may allow for arbitrary device orientation for proximal speech detection of no-hot-word smart assistant wakening. In situations with multiple microphones, any of the microphones may be used as a primary microphone through a determination of the DOA angle. The description herein may be particularly focused on CNN modeling, but other types of signal analysis and modelling may employ the determination of the DOA angle using cross-correlation vectors. In aspects, usable smart device orientations (e.g. postures) may be expanded while preserving accuracy and / or robustness of a base posture. The aspects herein may be applied to various proximal speech detection modules on any type of speech commanded device, but particularly to mobile phones.
[0037] FIG. 1, is a schematic illustration of an example communication system according to an implementation of the present disclosure, there is shown a communication system 100 that includes a radio access network (RAN) 120, one or more communication electronic devices (EDs) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (collectively referred to as 110) , a core network 130, a Public Switched Telephone Network (PSTN) 140, the Internet 150, and other networks 160. In some implementations, the term “radio access” may refer to the future generation air interface standards which may include both terrestrial networks (TNs) and non- terrestrial networks (NTNs) .
[0038] The one or more communication EDs 110 (also referred to as “user equipment” ) are configured to connect (e.g., communicatively couple) with each other or to one or more network nodes 170a, 170b (collectively referred to as 170) in the RAN 120. The core network (CN) 130 is a part of the communication system 100 and consists of network nodes (e.g., 170a, 170b) which provide support for the network features and telecommunication services. In some implementations and referring to FIG. 1, the core network 130 also provides the interface towards external networks that may include the PSTN 140, the Internet 150, and other networks 160 in the communication system 100.
[0039] In general, the communication system 100 facilitates interaction between multiple wireless or wired elements. The communication system 100 may transmit different types of content, such as voice, data, video, and / or text, through different transmission methods such as, but not limited to, broadcast, multicast, groupcast, and unicast. Additionally, the communication system 100 operates by allocating and / or sharing resources, such as carrier spectrum bandwidth, among its constituent elements.
[0040] The communication system 100 may provide other services and applications such as, but not limited to, earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility and the like. One or more artificial intelligence (AI) engines may execute on one or more EDs 110. The AI engines may receive one or more voice commands from the same or other EDs 110 and may execute commands and / or provide information related to the received one or more voice commands.
[0041] Turning to FIG. 2, the EDs 110 may be oriented by the end user in several different postures 202, 206, 216, 212, 214 as shown. The EDs 110 may have a top microphone 280 and a bottom microphone 282. The labelling of “top” and “bottom” is merely used for convenience in description where the “top” microphone 280 is generally above the “bottom” microphone 282. In certain postures, the orientation of the “top” microphone 280 and “bottom” microphone 282 may switch positions. Depending on the posture, a sound wave from the end user (e.g. sound source) may be received primarily by the top microphone 280 or the bottom microphone 282. Examples of the sound wave primarily received by the top microphone 280 are shown by postures 214, 216. Examples of the sound wave received primarily by the bottom microphone 282 are shown by postures 202, 212. Some postures 206 may have the sound wave received by both the bottom microphone 282 and the top microphone 280 in proportional amounts to each other depending on an orientation of the ED 110. In some examples, the end user may provide the sound wave directly into the microphone 280, 282, such as postures 202, 216. In other examples, the end user may provide the sound wave generally across the microphone 280, 282, such as postures 212, 214. Although five postures are demonstrated, other postures are contemplated such as holding the EDs 110 with arbitrary pitch, yaw, and / or roll with respect to the sound source. Although the ED 110 shown in FIG. 2 resembles a mobile handset 110h, other aspects may have the ED 110 be a laptop 110f, tablet, watch, personal speaker, or the like.
[0042] FIG. 3 is a schematic illustration showing an apparatus 310 wirelessly communicating with another apparatus 320 within a communication system (e.g., the communication system 100) according to an implementation of the present disclosure. The apparatus 310 may be an electronic device (such as ED 110) . The apparatus 320 may be a network node (e.g., the network node 170) . Although only one apparatus 310, and one apparatus 320 are shown in the figure, the number of apparatus 310 and / or number of apparatuses 320 can vary, potentially including one or more of each.
[0043] The apparatus 310 may include one or more processors 210. For clarity and to avoid overcrowding the illustration, only a single processor 210 is illustrated. The apparatus 310 may further include a transmitter 201 and a receiver 203 coupled to one or more antennas 204. For clarity, only a single antenna 204 is illustrated. One, some, or all of the antennas 204 may alternatively be panels. In some implementations, the transmitter 201 and the receiver 203 are separate from each other. In other implementations, the transmitter 201 and the receiver 203 may be integrated into a single unit, for example, as a transceiver. The transceiver is configured to modulate data or other content for transmission by the one or more antennas 204 or a network interface controller (NIC) . The transceiver may also be configured to demodulate data or other content received by the one or more antennas 204. A transceiver may include any suitable structure for generating signals for wireless or wired transmission and / or for processing signals received through wireless or wired communication. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals. The apparatus 310 may include a memory 208. In some implementations, the apparatus 310 may include multiple memories 208. Only a single transmitter 201, receiver 203, processor 210, memory 208, and antenna 204 are illustrated for simplicity, but the apparatus 310 may include one or more other components. In some implementations of the present disclosure, the transceiver (or transmitter 201 and / or receiver 203) may be viewed as an interface circuit.
[0044] The memory 208 is configured to store instructions used to perform operations described herein. The memory 208 may also be configured to store data that is used, generated, or collected by the apparatus 310. For example, the memory 208 can store software instructions or modules configured to implement some or all of the functionalities and / or operations described herein and that which are executed by the one or more processors 210.
[0045] The apparatus 310 may further include one or more input / output devices (not shown) or interfaces. The input / output devices or interfaces facilitate interaction with a user or other devices in the network. Each input / output device or interface includes suitable components for facilitating transmission of information to a user and reception of information, such as voice commands, from a user, and for various network interface communications. Such components may include, but are not limited to, a speaker, the top microphone 280, the bottom microphone 282, keypad, keyboard, display, touch screen, and the like.
[0046] The processor 210 may be configured to perform (or control the apparatus 310 to perform) operations (or methods) described herein as being performed by the apparatus 310. Although not illustrated, in some implementations, the processor 210 may either be a part of the transmitter 201 or a part of the receiver 203 or a part of both the transmitter 201 and the receiver 203. Although not illustrated, in some implementations, the memory 208 may be a part of the processor 210.
[0047] The processor 210, along with the processing components of the transmitter 201 and the receiver 203 may each be implemented by one or more processors that may be the same or different. These processors are configured to execute instructions stored in a memory (such as in the memory 208) .
[0048] The apparatus 320 includes one or more processors 260 (only one processor 260 is illustrated) . The apparatus 320 may further include one or more transmitters 252 and one or more receivers 254 coupled to one or more antennas 256. Only a single antenna 256 is illustrated to avoid clutter in the illustration. One, some, or all of the antennas 256 may alternatively be panels. In some implementations, the transmitter 252 and the receiver 254 are separate from each other. In other implementations, the transmitter 252 and the receiver 254 may be integrated into a single unit such as, for example, as a transceiver. The apparatus 320 may further include a memory 258. In some implementations, the apparatus 320 may include multiple memories 258. The apparatus 320 may further include a scheduler 253. Only a single transmitter 252, receiver 254, processor 260, memory 258, antenna 256 and scheduler 253 are illustrated for simplicity, the apparatus 320 may include one or more other components. In the present disclosure, in some implementations, the transceiver (or transmitter 252 and / or receiver254) may be viewed as an interface circuit.
[0049] In some implementations, various components of the apparatus 320 may be distributed. For example, some of the modules of the apparatus 320 may be located remotely from the equipment housing the antennas 256 for the apparatus 320 (and therefore also can be viewed as one or more nodes) . These modules, which can be considered as one or more nodes, may be coupled to the equipment that houses the antennas 256 over a communication link (not shown) , sometimes referred to as front haul, such as the Common Public Radio Interface (CPRI) . Therefore, in some implementations, the term apparatus 320 may also refer to network-side nodes that perform processing operations such as, but not limited to, determining the location of the apparatus 310, resource allocation (scheduling) , message generation, and encoding / decoding, and that which are not necessarily part of the equipment that houses the antennas 256 of the apparatus 320. The nodes may also be coupled to other apparatuses 320. In some implementations, the apparatus 320 may be a plurality of nodes that are operating together to serve the apparatus 310 as described herein.
[0050] The processor 260 may be configured to perform other network side processing operations described herein, such as, but not limited to, determining the location of the apparatus 310, determining where to deploy another apparatus 320, and the like. In some implementations, the processor 260 may generate signaling data, to configure one or more parameters of the apparatus 310 and / or one or more parameters of another apparatus 320. Any signaling data generated by the processor 260 is sent by the transmitter 252. The apparatus 320 may further include a memory 258 that is configured to store instructions for performing the operations described herein. The memory 258 may also store data that is used, generated, or collected by the apparatus 320. For example, the memory 258 can store software instructions or modules configured to implement some or all of the functionalities and / or implementations described herein and that which are executed by the processor 260.
[0051] Although not illustrated, the processor 260 may be implemented as part of the transmitter 252 and / or a part of the receiver 254. Although not illustrated, in some implementations, the processor 260 may implement the scheduler 253 and the memory 258 may be implemented as part of the processor 260.
[0052] The processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may each be implemented by the same or different processors that are configured to execute instructions stored in a memory, such as in the memory 258.
[0053] The apparatus 320 and / or the apparatus 310 may include other components, not shown or described herein for the sake of clarity.
[0054] FIG. 4 illustrates an example apparatus 410 according to an implementation of the present disclosure. The apparatus 410 may be a communication device or an apparatus implemented in a communication device such as the ED 110 or the network nodes 170a, 170b. For example, the apparatus 410 implemented in an ED 110 may be an integrated circuit, which in some instances may be referred to as a chip, a modem, a modem chip, a baseband chip, or a baseband processor. In some implementations, one or more integrated circuits can be packaged into a system-on-chip, a system-in-package, or a multi-chip module. The apparatus 410 can include one or more integrated circuits and other discrete components. In some implementations, the apparatus 410 may be a module within the ED 110, or within the apparatus 310. In some implementations, the apparatus 410 may be a module within one of the network nodes 170a, 170b, or the apparatus 320.
[0055] In an example, the apparatus 410 may include one or more processors 411, and an interface circuit 412. The apparatus 410 may further include a memory 413. The one or more processors 411 are configured to process signals and execute one or more communication protocols. The memory 413 is configured to store at least a part of corresponding computer program instructions and / or data. In an example, the one or more processors 411 execute the computer program instructions stored in the memory 413 to implement related operations (for example, inputting, outputting, receiving, and transmitting) in the method embodiments disclosed herein. In some implementations, the memory 413 being configured to store the corresponding computer program instructions and / or data may mean that the memory 413 is configured to store all of the corresponding computer program instructions and / or data for execution by the one or more processors 411. In some implementations, the memory 413 being configured to store the corresponding computer program instructions and / or data may mean that the memory 413 is configured to store a part of the corresponding computer program instructions and / or data. For example, the part of the corresponding computer program instructions and / or data may include computer program instructions and / or data that need to be currently executed by the one or more processors 411. Thus, the memory 413 may store different parts of computer program instructions and / or data for a plurality of times for the one or more processors 411 to perform related operations in the method embodiments disclosed herein. As a communication interface, the interface circuit 412 is configured to implement communication with another component. For example, the interface circuit 412 may communicate a signal with other apparatus / system such as a radio frequency processing apparatus, or processor system. The communication includes transmitting signal (or data, information) to another component or device, or receives signal from another component or device. “Transmitting” includes outputting the signal to a component or device that is directly or indirectly coupled to the interface circuit (transmitting unit) . “Receiving” includes inputting or obtaining a signal from a component or device that is directly or indirectly couped to the interface circuit (receiving unit) . Optionally, to reduce a load of the one or more processors, a baseband signal processing circuit 414 may be also disposed to implement processing of at least a part of baseband signals, including signal demodulation, modulation, encoding, decoding, or the like.
[0056] The apparatus 410 may be the processor 210 (or 260) within the apparatus 310 (or 320) , in some scenarios, or may be included within the processor 210 (or 260) within the apparatus 310 (or 320) in some scenarios. The apparatus 410 may be a baseband chip or may include a baseband chip. In some implementations, the apparatus 410 may be independently packaged into a chip. In some implementations, the apparatus 310 (or 320) includes different types of chips. The apparatus 410 may be packaged into a processor chip (for example, a SoC chip or an SIP chip) with the different types of chips. In some implementations, the apparatus 410 may be packaged into a chip with some or all of circuits of a radio frequency processing system that may further be included in the apparatus 310 (or 320) .
[0057] FIG. 5 illustrates example apparatus 510 according to an implementation of the present disclosure. The apparatus 510 may include corresponding modules or units configured to implement methods and / or implementations described herein. In some implementations, the apparatus 510 includes a processing unit 512 and a communication unit 513. Optionally, the apparatus 510 may further include a storage unit 511 configured to store apparatus program code (or instructions) and / or data.
[0058] The apparatus 510 may be an ED side apparatus, for example, an ED or a module in an ED, or a circuit or a chip responsible for a communication function in an ED. In some implementations, the apparatus 510 may be the apparatus 310. The processing unit 512 may be the processor 210. The communication unit 513 may comprise a receiving unit and / or a transmitting unit. The receiving unit and / or the transmitting unit may be the transmitter 201 and / or the receiver 203 respectively. The storage unit 511 may be the memory 208.
[0059] The apparatus 510 may be a base station side apparatus, for example, a base station or a module in a base station, or a circuit or a chip responsible for a communication function in a base station. In some implementations, apparatus 510 may be apparatus 320. The processing unit 512 may be the processor 260 (the scheduler 253 may also be included) . The communication unit 513 may comprise a receiving unit and / or a transmitting unit. The receiving unit and / or the transmitting unit may be the transmitter 252 and / or the receiver 254 respectively. The storage unit 511 may be the memory 258.
[0060] In some implementations, when the apparatus 510 is an ED 110 or a module in an ED 110, a function of the apparatus 510 may be implemented by one or more processors. Specifically, the processor may include a modem chip, or a system on chip (SoC) chip or an SIP chip that includes a modem core. A function of the communication unit 513 may be implemented by a transceiver circuit.
[0061] In some implementations, when the apparatus 510 is a circuit or a chip that is responsible for a communication function in an ED 110, such as a modem chip, a system on chip (SoC) chip or an SIP chip that includes a modem core, a function of the processing unit 512 may be implemented by a circuit system within the chip which includes one or more processors. A function of the communication unit 513 may be implemented by an interface circuit or a data transceiver circuit on the chip.
[0062] It may be understood that the units in the apparatus 510 may be logical or functional. Each function may correspond to one functional unit, or two or more functions may be integrated into a single functional unit. In actual implementation, all or some of the units may be integrated into a single physical entity or may be distributed across different physical entities. In addition, the functional units may be implemented in the form of hardware, software, or a combination of hardware and software. Whether a function is implemented in the form of hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for specific applications, but it should not be considered that the implementation goes beyond the scope of this disclosure.
[0063] In an example, a functional unit in any one of the apparatuses may be configured as one or more integrated circuits for implementing the methods disclosed herein, for example, as one or more application-specific integrated circuits (application-specific integrated circuits, ASICs) , one or more central processing units (CPUs) , one or more microprocessors or microprocessor units (MPUs) , one or more microcontrollers or microcontroller units (MCUs) , one or more digital signal processors (DSPs) , one or more field programmable gate arrays (FPGAs) , or a combination of these.
[0064] In an example, the storage unit 511 may include a random-access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, and / or a register.
[0065] A processor may be referred to as a processor system, an application processor, a baseband processor, a processor circuit, or a processor core. The processor may include one or a combination of one or more central processing units (CPUs) , one or more digital signal processors (DSPs) , one or more microprocessors (microprocessor units, MPUs) , one or more microcontrollers (microcontroller units, MCUs) , one or more graphics processing units (GPUs) , one or more field programmable gate arrays (FPGAs) , one or more artificial intelligence processors (AI processors) , or one or more neural network processing units (NPUs) .
[0066] Memory or a storage unit may include one or more of the following storage media: a random access memory (RAM) , a static random access memory (static RAM, SRAM) , a dynamic random access memory (dynamic RAM, DRAM) , a phase-change memory (PCM) , a resistive random access memory (resistive RAM, ReRAM) , a magneto-resistive random access memory (magneto-resistive RAM, MRAM) , a ferroelectric random access memory (ferroelectric RAM, FRAM) , a cache, a register, a read-only memory (ROM) , a flash memory (flash memory) , an erasable programmable read-only memory (erasable programmable ROM, EPROM) , a hard disk, and the like. In an example, computer program instructions used to execute embodiments may be stored in a non-volatile memory, for example, at least a part of a memory or storage unit (for example, one or more of a ROM, a flash memory, an EPROM, or a hard disk) . When a terminal runs, a part or all of corresponding computer program instructions may be loaded to a memory that has a higher transmission speed with the processor, for example, at least a part of a memory or a storage unit (for example, one or more of a RAM, an SRAM, a DRAM, a PCM, a RERAM, an MRAM, a FRAM, a cache, or a register) , so that the processor executes the computer program instructions to perform the steps in the method embodiments disclosed herein.
[0067] Returning to FIG. 2, the sound signals, and audio signals in general, may be marked with specific temporal and spectral features, describing signal dynamics, a sound source, and / or medium inherent geometries. A signal power, or magnitude, may be another signal characteristic relevant to proximal speech detection. When EDs 110 comprise two microphones 280, 282, both absolute magnitudes of primary microphones and relative signal magnitudes between the two phone microphones 280, 282 may be used to assess a distance of the speaker (e.g. sound source) to the ED 110. The absolute signal magnitude increases with decreasing a distance of the speaker (e.g. the device user engaged in speech) to the microphone 280, 282, which in case of the primary microphone, in general, equates to a decreasing distance of the speaker to the ED 110. An absolute difference of the magnitudes of the two microphones 280, 282 decreases with an increasing distance of the speaker to the ED 110.
[0068] Signal magnitudes on the microphones 280, 282 may be influenced by an orientation of the ED 110 towards the speaker. Signal magnitude dependence on the orientation may be described with a microphone polar response function. The polar response function may be represented by a sum of a sound pressure, uniform in space, and a pressure gradient, which may be a function of a Direction-of-Arrival (DOA) of an incoming sound wave. The DOA may be an angle between the ED 110 and a normal of the incoming sound wave front. The DOA is further directly related to the orientation, (e.g., pitch / yaw / roll angles) . The pressure gradient is related to signal attenuation with an increasing DOA angle.
[0069] Turning to FIG. 6, an example microphone response 602 for a hyper-cardioid microphone is shown on a polar plot. In this example, when the end user speaks with a direction-of-arrival (DOA) aligned with a microphone axis 604 (e.g., 0-degrees) , a maximum signal (or near maximum signal) may be received by the bottom microphone 282. When the end user speaks with the DOA at an angle (e.g. 50-degrees) , an attenuated signal may be received by the bottom microphone 282. The microphone response 602 may cause errors in determining a primary microphone and / or whether the sound source is close (e.g. 0-cm to 5-cm) or far (e.g. greater than 10-cm) from the respective microphone 280, 282.
[0070] As shown in FIG. 7, the microphone response of different microphones may further complicate the determination of the primary microphone and sound source distance. The microphone responses shown are omnidirectional 702, subcardioid 704, cardioid 706, bidirectional 708, hypocardioid 710, hypercardioid 712, and supercardioid 714. In b) , we show some typical polar patterns. Except for a few exceptions, like for example, the omnidirectional response 702 and the bidirectional response 708, a maximum of the magnitude of the microphone polar response function occurs when the DOA is aligned to the microphone axis and decreases with an increasing DOA angle to the microphone axis.
[0071] A dependence of audio signals on both the distance and the orientation may lead to an overlap between the signal magnitude distributions for close speech but with DOA angles greater than 0-degrees with far speech with ~0-degrees DOA angle. Namely, signals at closer distances but larger DOA angles may be of lower magnitudes than signals at larger distances but smaller DOA angle. A magnitude confusion may lead to corresponding feature confusion when the features are encoded with a custom Convolutional Neural Network (CNN) model 1404 (shown in further detail with reference to FIGS. 14 to 18 below) , trained to distinguish close from far distances based on multi-channel voice audio inputs. As shown in the examples of FIG. 8, the posture 212 at a distance of 5-cm from the bottom microphone 282 and a DOA angle of around about 60-degrees to about 70-degrees has an overlapping signal magnitude distribution 804 as the posture 202 at a distance of 15-cm from the bottom microphone 282 and a DOA angle of about 0-degrees with signal magnitude distribution 802. This overlapping signal magnitude distribution may lead to erroneous waking of the smart assistant thereby reducing battery life of the ED 110 and / or processing of commands that were not initiated by the user of the ED 110.
[0072] FIGS. 9A to 9C illustrate an example of analytical signal dependence and interplay between the signal magnitudes of a primary microphone (e.g. bottom microphone 282 closer to the sound source in this example) and a secondary microphone (e.g. top microphone 280 further from the sound source in this example) . In this example, both microphones, 280, 282 on the same phone exhibit a same functional polar pattern. Generally, with an increasing angle between the DOA and the bottom microphone axis, θ, an angle between the DOA and the top microphone axis, α decreases. A magnitude r (θ) of the primary microphone signal decreases, while similarly, a magnitude r (α) of the secondary microphone signal increases. At θ = 0-degrees, the bottom microphone signal magnitude is maximal, and the relative delay τ between the bottom and top microphone signals is maximal. Two example polar response patterns are presented in FIGS. 9B and 9C for a hypercardiod microphone and a subcardioid microphone respectively. A calculation of a delay, τ, is provided below in reference to FIGS. 11A and 11B.
[0073] Turning to FIGS. 10A and 10B, amplitudes for the primary microphone 282 (mic0) and secondary microphone 280 (mic1) are shown for the example postures 202, 212. FIG. 10A shows the variation in amplitude as the orientation of the ED 110 changes from about 0-degrees to about 70-degrees for the same distance (e.g. 5-cm) of the sound source to the microphones 280, 282. FIG. 10B shows the variation in amplitude for the same orientation of the ED 110 as the distance changes from 5-cm to 15-cm. In both situations, the amplitude of the secondary microphone 280 (mic1) does not significantly change whereas the amplitude of the primary microphone 282 (mic0) can significantly change. These variations in amplitude may indicate an intricate mode of the multi-channel signal dependence on the microphone polar response for both the signal distance and the phone orientation and may suggest a complex pattern of multi-channel signal attenuation and the change in the relative signal magnitudes of the primary microphone 282 and the secondary microphone 280.
[0074] With reference to FIGS. 11A and 11B, the DOA angle, θ, may be determined with a time delay between the two signals, t, where t∈ [-τ, τ] and θ∈ [0-degrees, 180-degrees] . A maximum possible delay, τ, is where c0 is a speed of sound in air and d is a known distance between the bottom microphone 282 and top microphone 280. In some aspects, the distance between the microphones 280, 282 may be retrieved based on the type of ED 110. In this example using the top microphone 280 as a reference, a bottom microphone delay is: As shown in FIG. 11B, the time delay between the two signals ranges from 0 to -τ when the sound source is closer to the bottom microphone 282 and the time delay between the two signals ranges from 0 to τwhen the sound source is closer to the top microphone 280. The time delay between the two signals may be equal to 0 when the sound source is equidistant to both the top microphone 280 and the bottom microphone 282. When the bottom microphone 282 is used as a reference, the time delay between the two signals is opposite to what is shown in FIG. 11B.
[0075] In an aspect, the time delay between the two signals and / or the DOA may be calculated to determine the primary microphone from the secondary microphone. In an aspect, the time delay between the two signals and / or the DOA may be used to disentangle the variations in amplitude caused by the distance of the sound source to the microphone from the variations in amplitude caused by the orientation of the ED 110 with respect to the sound source.
[0076] As the time delay between the two signals and / or the DOA may be noisy, aspects described herein may use a cross-correlation processing structure 1200 between the bottom microphone 282 and the top microphone 280. The cross-correlation processing structure 1200 may be performed by the processor 210 within the ED 110. The example described herein uses generalized cross-correlation (GCC) vectors as shown in FIG. 12. Each microphone 280, 282 may provide a time-domain microphone signal 1202, 1204. In this aspect, the signals 1202, 1204 may be sampled at a frequency of 16-kHz and be between about 0.5-seconds to about 1-second long. In some aspects, the time-domain microphone signals 1202, 1204 may be filtered with a filter (e.g. band-pass filter, low-pass filter, high-pass filter) . Each of the time-domain microphone signals 1202, 1204 may be processed by a windowed Fast Fourier Transform (FFT) 1206, 1208 to obtain frequency domain signals X1 (f) , X2 (f) , for each respective microphone 280, 282. A generalized cross-correlation with phase transform (GCC-PHAT) 1210 between the two frequency domain signals X1 (f) , X2 (f) , according to: Following the GCC-PHAT 1210, an inverse FFT 1212 may be performed with interpolation to provide a GCC vector. In some aspects, the GCC vector may be normalized (e.g. max-scaling) 1214. Using the full GCC vectors may provide additional resolution over the explicit calculation provided with reference to FIGS. 11A and 11B above. The GCC vectors may encode the DOA angle as well as additional signal information on the orientation of the ED 110 and / or multi-path signal reflections.
[0077] FIG. 13 demonstrates some examples of the GCC vector changes as the DOA angle varies from about 0-degrees in plot 1320, about 50-degrees in plot 1340, about 125-degrees in plot 1360, and about 175-degrees in plot 1380 with respect to an axis of the bottom microphone 282. A peak 1302, 1304, 1306, 1308 generally corresponds to the DOA angle in each instance. For example, when the DOA angle is 0-degrees, the peak 1302 is at or near 0-degrees in the GCC vector plot. When the DOA angle is about 50-degrees, the peak 1304 is at or near 50-degrees in the GCC vector plot. From the GCC vector, a primary microphone and a secondary microphone may be selected based at least on a peak angle where the peaks 1302, 1304, 1306, 1308 occur in the GCC vector.
[0078] With reference to FIG. 14, a baseline processing structure 1400 may process the multi-channel audio signal from the microphones 280, 282. The baseline processing structure 1400 may be performed by the processor 210 within the ED 110. The multi-channel audio signal may be pre-processed into a multi-channel Mel spectra at step 1402. The pre-processing 1402 may involve sub-sampling (or up-sampling) the multi-channel audio signal; may perform a Short-time Fourier Transform (STFT) on a windowed signal with a predefined frame duration and hop step; may calculate a STFT magnitude; may convert the magnitude to a power dB scale, may calculate one or more filters that may include both linear or Mel-scale filters; may apply these filters to the dB magnitude. In an aspect, an Mel-frequency cepstral coefficients (MFCC) or other features may be performed. The Mel spectra may be provided to a feature encoder 1404, such as a Convolutional Neural Network (CNN) model, a deep neural network (DNN) , a long short-term memory (LSTM) network, a fully convolutional time-domain audio separation network (ConTasNet) , Transformer, and / or a dual-path recurrent neural network (DPRNN) . A two-way classifier may then determine when the sound source is close (e.g. about 5-cm versus about 15-cm or greater) to one of the microphones 280, 282. When the sound source is close to one of the microphones 280, 282, then the smart assistant may be initialized to further process the multi-channel audio (or the Mel spectra) to execute commands. The processor 210 in the ED 110 may provide the multi-channel audio to an external processor that may be executing the smart assistant. In some aspects, shown in FIGS. 15 to 18, the baseline processing structure 1400 may be adapted to receive the GCC vectors.
[0079] As shown in FIG. 15, the baseline processing structure 1400 is similar to that of FIG. 14 in that the pre-processor 1402 produces the multi-channel Mel spectra, the feature encoder 1404 processes the Mel spectra to determine one or more features, and the classifier 1406 determines when the sound source is close to one of the microphones 280, 282. The GCC processing structure 1500 may be added to the baseline processing structure 1400. The GCC processing structure 1500 may be performed by the processor 210 within the ED 110. The GCC vectors may be determined by the cross-correlation processing structure 1200 previously described. The GCC vectors may then be provided to a GCC feature encoder 1504, such as a CNN, a DNN, a LSTM network, a ConTasNet, Transformer and / or a DPRNN to produce GCC features. A fusion process 1506 may then process both the features from the feature encoder 1404 and the GCC feature encoder 1504 into fused features. The fusion process 1506 may concatenate the features, may sum the features, may perform an outer product on features, may introduce an attention mechanism between the baseline feature and GCC feature, etc. In some aspects, the fusion process 1506 may add some convolution, fully connected (FC) , and / or attention (Attn) layers on the concatenated, summed, or ‘multiplied’ features. In another aspect, the GCC features may modulate the baseline features, which can be done through an attention mechanism by modifying one or more batchnorm coefficients in dependence on the GCC features. In some aspects, the classifier 1406 may be modified to classify the fused features from the fusion process 1506. In other aspects, the fusion process 1506 may provide fused features that may be used by the classifier 1406 without modification. In this manner, the GCC processing structure 1500 may be flexibly added to the baseline processing structure 1400 and enabled / disabled. When the sound source is close to one of the microphones 280, 282, then the smart assistant may be initialized to further process the multi-channel audio (or the Mel spectra) to execute commands.
[0080] Turning to FIG. 16, a combined processing structure 1600 may replace the baseline processing structure 1400. The combined processing structure 1600 may be performed by the processor 210 within the ED 110. The combined processing structure 1600 may be less flexible than the structure of FIG. 15 but may provide for efficient processing of the multi-channel audio signal. For example, the combined processing structure 1600 may process the multi-channel audio signal into the Mel spectra and the GCC vectors together 1602 and may exhibit efficient processing by using the same windowed FFT to obtain frequency domain signals. Similarly, a shared feature encoder 1604 may receive both the Mel spectra and the GCC vectors which are subsequently classified by the classifier 1406. When the sound source is close to one of the microphones 280, 282, then the smart assistant may be initialized to further process the multi-channel audio (or the Mel spectra) to execute commands.
[0081] In some aspects as shown in FIG. 17, the baseline processing structure 1400 and the GCC processing structure 1500 may each have a respective feature encoder 1404, 1504. These feature encoders 1404, 1504 may provide input into a partially shared encoder 1702 that receives at least a portion of the output from the feature encoders 1404, 1504. The output from the partially shared encoder 1702 may then be fused by the baseline and GCC feature fusions process 1506 before being classified by the classifier 1406. When the sound source is close to one of the microphones 280, 282, then the smart assistant may be initialized to further process the multi-channel audio (or the Mel spectra) to execute commands. This structure 1700 may enable portions of the processing to be performed asynchronously and / or in parallel. The structure 1700 may be performed by the processor 210 within the ED 110.
[0082] With regard to FIG. 18, the baseline processing structure 1400 and the GCC processing structure may each have a respective feature encoder 1404, 1504. Rather than a fusion process 1506, the GCC feature encoder 1504 may provide input directly into the feature encoder 1404. The output from the feature encoder 1404 may then be classified by the classifier 1406. When the sound source is close to one of the microphones 280, 282, then the smart assistant may be initialized to further process the multi-channel audio (or the Mel spectra) to execute commands.
[0083] The tables below provide comparative results between the baseline processing structure 1400 and the baseline plus GCC processing structure 1500 under a music noise condition and a voice noise condition. Accuracy is determined based on a successful wakeup for a distance of between 2-cm to 5-cm or a rejected wakeup for a distance over 5-cm. As may be observed, the baseline processing structure 1400 has an average accuracy of 86.2%and 86.4%for music noise and voice noise respectively. The baseline plus GCC processing structure 1500 has an average accuracy of 94.2%and 94.4%for music noise and voice noise respectively.
[0084] According to another aspect, when the ED 110 comprises three or more microphones, the GCC vectors between each pair of microphones may be used to triangulate to the sound source thereby determining a distance and a direction to the sound source with reference to the ED 110.
[0085] Although the aspects herein describe two microphones, the techniques may be expanded to more than two microphones. Multi-channel audio may be dual-channel audio, triple-channel audio, or any number of channels audio.
[0086] Although the aspects herein describe particular processing structures, other aspects may employ cross-correlation vectors in different manners, explicitly or implicitly, for close-to-microphone speech detection.
[0087] In the present disclosure, the terms “a” or “an” are defined to mean “at least one” , that is, these terms do not exclude a plural number of items, unless stated otherwise.
[0088] In the present disclosure, terms such as “substantially” , “generally” and “about” , which modify a value, condition, or characteristic of a feature of an example aspect, should be understood to mean that the value, condition or characteristic is defined within tolerances that are acceptable for the proper operation of the example aspect for its intended application.
[0089] In the present disclosure, unless stated otherwise, the terms “connected” and “coupled” , and derivatives and variants thereof, refer herein to any structural or functional connection or coupling, either direct or indirect, between two or more elements. For example, the connection or coupling between the elements can be acoustical, mechanical, optical, electrical, thermal, logical, or any combinations thereof.
[0090] In the present disclosure, expressions such as “match” , “matching” and “matched” , including variants and derivatives thereof, are intended to refer herein to a condition in which two or more elements are either the same or within some predetermined tolerance of each other. That is, these terms are meant to encompass not only “exactly” or “identically” matching the two elements but also “substantially” , “approximately” or “subjectively” matching the two or more elements, as well as providing a higher or best match among a plurality of matching possibilities.
[0091] In the present disclosure, the expression “based on” is intended to mean “based at least partly on” , that is, this expression can mean “based solely on” or “based partially on” , and so should not be interpreted in a limited manner. More particularly, the expression “based on” could also be understood as meaning “depending on” , “representative of” , “indicative of” , “associated with” or similar expressions.
[0092] In the present disclosure, the terms "system" and "network" may be used interchangeably in different embodiments of this application. "At least one" means one or more, and "a plurality of" means two or more. The term "and / or" describes an association relationship of associated objects, and indicates that three relationships may exist. For example, A and / or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists, where A and B may be singular or plural. The character " / " indicates an "or" relationship between associated objects. "At least one of the following items (pieces) " or a similar expression thereof indicates any combination of these items, including a single item (piece) or any combination of a plurality of items (pieces) . For example, "at least one of A, B, or C" includes: only A; only B; only C; A and B; A and C; B and C; or A, B, and C, and "at least one of A, B, and C" may also be understood as including: only A; only B; only C; A and B; A and C; B and C; or A, B, and C. In addition, unless otherwise specified, ordinal numbers such as "first" and "second" in embodiments of this application are used to distinguish between a plurality of objects, and are not used to limit a sequence, a time sequence, priorities, or importance of the plurality of objects.
[0093] A person skilled in the art should understand that embodiments of this application may be provided as a method, an apparatus (or system) , computer-readable storage medium, or a computer program product. Therefore, this application may use a form of a hardware-only aspect, a software-only aspect, or an aspect with a combination of software and hardware. Moreover, this application may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, an optical memory, and the like) that include computer-usable program code.
[0094] This application is described with reference to the flowcharts and / or block diagrams of the method, the device (system) , and the computer program product according to this application. It should be understood that computer program instructions may be used to implement each process and / or each block in the flowcharts and / or the block diagrams and a combination of a process and / or a block in the flowcharts and / or the block diagrams. The computer program instructions may be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of another programmable data processing device and enable a machine to execute the instructions. When executed by any computer or the processor of a programmable data processing device, the instructions cause the apparatus to implement specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams. The computer program instructions may alternatively be stored in a computer-readable memory that can indicate a computer or another programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0095] The computer program instructions may alternatively be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, so that computer-implemented processing is generated. Therefore, the instructions executed on the computer or on another programmable device provide steps for implementing specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0096] It is clear that a person skilled in the art can make various modifications and variations to this application without departing from the scope of this disclosure. This disclosure is intended to cover these modifications and variations of this application provided that they fall within the scope of protection defined by the following claims and their equivalent technologies.
Claims
1.A computer-implemented method comprising:providing a multi-channel audio from at least one incoming sound wave received by at least two microphones from a sound source;performing a generalized cross-correlation (GCC) on the multi-channel audio to produce a GCC vector;encoding the multi-channel audio and the GCC vector to determine at least one feature; andclassifying the at least one feature.2.The computer-implemented method according to claim 1, further comprising: determining a direction to the sound source based on the GCC vector.3.The computer-implemented method according to claim 2, further comprising:determining the direction to the sound source by locating a peak within the GCC vector.4.The computer-implemented method according to claim 2, further comprising:determining a primary microphone from the at least two microphones that is closer to the direction to the sound source.5.The computer-implemented method according to claim 2, further comprising:determining an orientation with respect to the sound source based on the direction to the sound source.6.The computer-implemented method according to claim 5, further comprising determining a time delay between the at least two microphones receiving the at least one incoming sound wave to determine the orientation.7.The computer-implemented method according to claim 1, wherein the at least one feature is classified as a close distance or a far distance.8.The computer-implemented method according to claim 7, further comprising:encoding the multi-channel audio to determine the close distance or the far distance and encoding the generalized cross-correlation to determine a direction.9.The computer-implemented method according to claim 1, wherein at least one convolutional neural network model encodes the multi-channel audio and the GCC vector to determine the at least one feature.10.The computer-implemented method according to claim 1, further comprising:preprocessing the multi-channel audio into a Mel spectra prior to encoding to determine the at least one feature.11.The computer-implemented method according to claim 1, further comprising:waking up a device in response to the at least one feature.12.The computer-implemented method according to claim 11, further comprising wakening the device when the at least one feature is classified as the close distance.13.The computer-implemented method according to claim 1, further comprising:providing the multi-channel audio from the at least one incoming sound wave received by an additional microphone from the sound source; anddetermining a distance from the microphones to the sound source based on the GCC vector.14.A device comprising a processor executing a plurality of instructions from a computer-readable memory, the instructions to configure the processor to perform the method of any one of claims 1 to 13.15.A computer-readable medium storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform the method of any one of claims 1 to 13.
Citation Information
Patent Citations
Sound source detection and positioning method
CN115267672A
Vehicle fault acoustic event detection method
CN117268796A
Voice wake-up method and related equipment
CN117711410A