CN111506291A - Audio data acquisition method and device, computer equipment and storage medium - Google Patents

Audio data acquisition method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN111506291A
CN111506291A CN202010148208.3A CN202010148208A CN111506291A CN 111506291 A CN111506291 A CN 111506291A CN 202010148208 A CN202010148208 A CN 202010148208A CN 111506291 A CN111506291 A CN 111506291A
Authority
CN
China
Prior art keywords
audio data
inux
management system
channel audio
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010148208.3A
Other languages
Chinese (zh)
Other versions
CN111506291B (en
Inventor
王杰
李智勇
常乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing SoundAI Technology Co Ltd
Original Assignee
Beijing SoundAI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing SoundAI Technology Co Ltd filed Critical Beijing SoundAI Technology Co Ltd
Priority to CN202010148208.3A priority Critical patent/CN111506291B/en
Publication of CN111506291A publication Critical patent/CN111506291A/en
Application granted granted Critical
Publication of CN111506291B publication Critical patent/CN111506291B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

The method comprises the steps of obtaining multi-channel audio data, conveying the multi-channel audio data to an L inux audio management system, reading the multi-channel audio data conveyed to a L inux audio management system through an application layer, calling JNI to input the read multi-channel audio data to a Java layer of the application layer, reducing the complexity and operation difficulty of multi-channel audio data collection in the multi-channel audio data collection process, and optimizing the audio data collection process while meeting the requirements of far-field voice interaction scenes.

Description

Audio data acquisition method and device, computer equipment and storage medium
Technical Field
The present disclosure relates to the field of speech recognition technologies, and in particular, to an audio data acquisition method and apparatus, a computer device, and a storage medium.
Background
With the continuous development of artificial intelligence, voice interaction becomes a field which is emphasized in many artificial intelligence fields, and in the process of realizing voice interaction, the accuracy of audio data acquisition influences a series of steps such as subsequent voice recognition.
In the related technology, in order to meet the acquisition requirement of multi-channel Audio data in a far-field interaction scene, when the multi-channel Audio data is acquired and transmitted, firstly, the multi-channel Audio data is acquired by a plurality of microphones, then compressed by an HA L layer (Hardware Abstraction layer) of an Android system (Android), transmitted to an Android application layer through an original Audio channel (Audio channel) of the Android frame layer, and decompressed by the application layer for analysis processing of the intelligent voice processing algorithm.
In the above related art, the multi-channel audio data needs to be compressed at the HA L layer of the Android system, in order to implement the above process, the system source code of the HA L layer at the bottom of the Android system needs to be changed, there is a certain technical threshold for changing the system source code, different Android systems need to be adapted separately, and the native Android system needs to be changed, so that the complexity of acquiring the multi-channel audio data is high, and the operation difficulty is high.
Disclosure of Invention
The disclosure provides an audio data acquisition method, an audio data acquisition device, computer equipment and a storage medium. The complexity and the operation difficulty of acquiring multi-channel audio data can be reduced, and the technical scheme is as follows:
according to a first aspect of embodiments of the present disclosure, there is provided an audio signal processing method, the method comprising:
acquiring multi-channel audio data, wherein the multi-channel audio data are audio data acquired by a plurality of microphones;
the multi-channel audio data are transmitted to an audio management system of L inux;
reading the multi-channel audio data transmitted to the L inux audio management system through an application layer;
and calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
In one possible implementation manner, the acquiring the multiple channels of audio data includes:
and acquiring the multi-channel audio data by calling microphone drivers to drive a plurality of microphones.
In one possible implementation manner, the audio management system that delivers the multiple channels of audio data to L inux includes:
and the microphone drives an audio management system which transmits the multi-channel audio data to L inux.
In one possible implementation manner, the reading, by the application layer, the multi-channel audio data delivered to the L inux audio management system includes:
obtaining, by the application layer, a node handle from a virtual device node of the L inux audio management system, the virtual device node being the microphone-driven map;
and reading the multi-channel audio data transmitted to the L inux audio management system in a file reading and writing mode according to the node handle.
In one possible implementation, the audio management system of L inux is Tinyalsa.
In one possible implementation, the method further includes:
adjusting the parameters for acquiring the multi-channel audio data by setting the parameters of the audio management system of L inux;
wherein, collecting the parameters of the multi-channel audio data comprises: the number of microphone channels, sampling rate, sampling bit depth, sampling nodes, etc.
According to a second aspect of embodiments of the present disclosure, there is provided an audio data acquisition apparatus, the apparatus comprising:
the acquisition module is used for acquiring multi-channel audio data, and the multi-channel audio data are audio data acquired by a plurality of microphones;
the transmission module is used for transmitting the multi-channel audio data to an L inux audio management system;
the reading module is used for reading the multi-channel audio data transmitted to the L inux audio management system through an application layer;
and the input module is used for calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
In a possible implementation manner, the obtaining module is configured to obtain the multiple channels of audio data by invoking microphone drivers to drive a plurality of microphones.
In a possible implementation manner, the delivery module is configured to deliver the multiple channels of audio data to an audio management system of L inux through the microphone driver.
In one possible implementation manner, the reading module includes:
an obtaining submodule, configured to obtain, by the application layer, a node handle from a virtual device node of the L inux audio management system, where the virtual device node is a mapping of the microphone driver;
and the reading submodule is used for reading the multi-channel audio data transmitted to the L inux audio management system in a file reading and writing mode according to the node handle.
In one possible implementation, the audio management system of L inux is Tinyalsa.
In one possible implementation, the apparatus further includes:
the adjusting module is used for adjusting the parameters of the collected multi-channel audio data by setting the parameters of the L inux audio management system;
wherein, collecting the parameters of the multi-channel audio data comprises: the number of microphone channels, sampling rate, sampling bit depth, sampling nodes, etc.
According to a third aspect of embodiments of the present disclosure, there is provided an audio data acquisition apparatus, the apparatus comprising:
a processor;
a memory for storing executable instructions of the processor;
wherein the processor is configured to:
acquiring multi-channel audio data, wherein the multi-channel audio data are audio data acquired by a plurality of microphones;
the multi-channel audio data are transmitted to an audio management system of L inux;
reading the multi-channel audio data transmitted to the L inux audio management system through an application layer;
and calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
According to a fourth aspect of embodiments of the present disclosure, there is provided an apparatus comprising a processor and a memory, the memory having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by the processor to implement the audio data acquisition method of any one of the alternatives of the first aspect.
According to a fifth aspect of embodiments of the present disclosure, there is provided a computer readable storage medium having stored therein at least one instruction, at least one program, set of codes, or set of instructions, which is loaded and executed by a processor to implement the audio data acquisition method of any one of the alternatives of the first aspect.
The technical scheme provided by the disclosure can comprise the following beneficial effects:
the method comprises the steps of obtaining multi-channel audio data, transmitting the multi-channel audio data to an L inux audio management system, reading the multi-channel audio data transmitted to the L inux audio management system through an application layer, and calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
Fig. 1 illustrates a schematic structural diagram of a terminal provided in an exemplary embodiment of the present disclosure;
fig. 2 illustrates a system architecture diagram of Android shown in an exemplary embodiment of the present disclosure;
FIG. 3 illustrates a flow chart of an audio data acquisition method shown in an exemplary embodiment of the present disclosure;
FIG. 4 shows a schematic diagram of an audio data collection flow architecture shown in an exemplary embodiment of the present disclosure;
FIG. 5 illustrates a flow chart of an audio data acquisition method shown in an exemplary embodiment of the present disclosure;
FIG. 6 illustrates a block diagram of an audio data acquisition device according to an exemplary embodiment of the present disclosure;
FIG. 7 is a block diagram illustrating the structure of a computer device in accordance with an exemplary embodiment;
FIG. 8 is a block diagram illustrating the structure of a computer device according to an example embodiment.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
It is to be understood that reference herein to "a number" means one or more and "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
With the research and progress of artificial intelligence technology, the artificial intelligence technology is developed and applied in a plurality of fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, automatic driving, unmanned aerial vehicles, robots, smart medical care, smart customer service, and the like.
The disclosure relates to the technical field of smart home, in particular to an audio signal processing method.
First, some nouns to which the present disclosure relates are explained.
1) Artificial Intelligence (AI)
Artificial intelligence is a theory, method, technique and application system that uses a digital computer or a machine controlled by a digital computer to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use the knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technique of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a manner similar to human intelligence. Artificial intelligence is the research of the design principle and the realization method of various intelligent machines, so that the machines have the functions of perception, reasoning and decision making.
The artificial intelligence technology is a comprehensive subject and relates to the field of extensive technology, namely the technology of a hardware level and the technology of a software level. The artificial intelligence infrastructure generally includes technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technologies, operation/interaction systems, mechatronics, and the like. The artificial intelligence software technology mainly comprises a computer vision technology, a voice processing technology, a natural language processing technology, machine learning/deep learning and the like.
2) Speech Technology (Speech Technology)
The key technologies of the Speech technology are Automatic Speech Recognition (ASR), Text To Speech (TTS), and voiceprint Recognition. The computer can listen, see, speak and feel, and the development direction of the future human-computer interaction is provided, wherein the voice becomes one of the best viewed human-computer interaction modes in the future.
3) Android (Android system)
Android is a L inux-based free and open source code-based operating system which is led and developed by Google corporation and open mobile phone alliance, and is mainly used in computer equipment, wherein the computer equipment can be a terminal, such as a smart phone, a tablet computer, a smart watch and the like, and also can be intelligent equipment with a voice interaction function, such as a smart sound box, a smart television set-top box, a smart robot and the like.
Referring to fig. 1, a schematic structural diagram of a terminal according to an exemplary embodiment of the present disclosure is shown.
As shown in fig. 1, the terminal includes a main board 110, an external input/output device 120, a memory 130, an external interface 140, a capacitive touch system 150, and a power supply 160.
The main board 110 has integrated therein processing elements such as a processor and a controller.
The external input/output device 120 may include a display component (e.g., a display screen), a sound playing component (e.g., a speaker), a sound collecting component (e.g., a microphone), various keys, and the like.
The memory 130 has program codes and data stored therein.
The external interface 140 may include a headset interface, a charging interface, a data interface, and the like.
The capacitive touch system 150 may be integrated into a display component or a key of the external input/output device 120, and the capacitive touch system 150 is used to detect a touch operation performed by a user on the display component or the key.
The power supply 160 is used to power the various other components in the terminal.
As shown in fig. 2, the Android system architecture includes an Application layer (Application)210, an Application framework layer (Application framework)220, a system Runtime library layer (Android run) 230, and an L inux kernel layer (L ibraries)240, where:
the application layer 210, which is mainly an application in the system, includes a program written in Java language and running on a virtual machine, and Android is published together with a series of core application packages, which may include a client, an SMS short message program, a calendar, a map, a browser, a contact management program, and the like.
The Application framework layer 220 mainly provides various APIs (Application Programming interfaces) that may be used when an Application is built. The application framework layer is the core of an application program, is a common use and abiding convention, and then is jointly expanded on the convention, but the main structure of the program is kept consistent, and the function of the application framework layer is to ensure that the programs are kept clear, meet different requirements and simultaneously do not influence each other.
The Framework layer can be called a layer realized by Java language, and APIs defined in the layer are all written by Java language, but the Framework layer also comprises a method of JNI, the JNI is written by C/C + +, a bottom layer method in a core library layer is inquired and called according to a function table, and finally an L inux kernel is accessed, so the Framework layer can be used for:
1. and writing some standardized modules by using Java language, and packaging the modules into a framework for an APP layer developer to call and develop an application program with special services.
2. And calling a local method of the core lib layer by using Java Native Interface, wherein a JNI library is loaded when a Dalvik virtual machine is started, and Dalvik directly addresses the JNI method and then calls the JNI method.
The system runtime library layer 230, Android, contains some C/C + + libraries that can be used by different components in the Android system to provide services to developers through the Android application framework.
L inux kernel layer 240, which provides the underlying drivers for various Android devices hardware (e.g. display, audio, camera, bluetooth, WiFi, Power Management, etc.), such as enhanced display driver, keyboard driver, Flash memory driver, camera driver, audio driver, bluetooth driver, WiFi (Wireless Fidelity, Wireless internet) driver, Binder IPC driver, Power Management, including hardware clock, memory allocation and sharing, low memory Management, kernel debug, log device, Android IPC mechanism, etc.
4) HA L layer (Hardware Abstraction L eye, Hardware Abstraction layer)
The HA L is primarily designed to handle the problem of migration compatibility between different platforms, which can represent the rest of the system as an abstract hardware device, and in particular removes the flaws and peculiarities that are rich in real hardware.
5) A L SA (Advanced L inux Sound Architecture, Advanced L inux Sound System)
A L SA is a L inux kernel component that provides drivers for sound cards to replace the original OSS (open sound system), which provides audio and MIDI (Musical Instrument Digital Interface) support over the L inux operating system.
6) Tinyalsa (tiny advanced L inux Sound Architecture, reduced edition of advanced L inux Sound system)
Tinyalsa is a lightweight library that encapsulates the a L SA interface of the kernel for simplifying a L SA programming of user space.
7) JNI (Java Native Interface )
JNI provides several APIs, enabling communication between Java and other languages (mainly C and C + +) in Android.
One way to solve the problem of Java's native operations is JNI. Java calls native methods through JNI, which are stored as library files (D LL file on Windows platform, SO file on UNIX machine).
In a voice interaction scene, interference noise often exists in sound environments of a far field and a complex scene, accuracy of voice recognition is affected, a plurality of microphones are needed to cooperate to provide multi-position voice data for more accurately recognizing an effective sound source, correspondingly, a terminal provided with the plurality of microphones acquires multi-channel audio data, and the multi-channel audio data is processed and analyzed through an intelligent voice algorithm to acquire information in the multi-channel audio data, so that voice interaction of the far field or the complex scene is achieved. In order to meet the acquisition requirement of multi-channel audio data, the traditional single-channel and two-channel data acquisition in the terminal cannot meet the current far-field interaction requirement.
The method comprises the steps that a terminal uses an Audio driver to acquire multi-channel original Audio data through a microphone, an HA L layer at the bottom of the Android is changed, the multi-channel original Audio data acquired by the Audio driver are input into an HA L layer, the HA L layer adopts a compression algorithm to compress the multi-channel original Audio data into two paths, the two paths of compressed Audio data are uploaded to an Android frame layer and are uploaded to an Android application layer through an original Audio channel of the Android frame layer, and the Android application layer acquires the two paths of compressed Audio data and then decompresses the two paths of compressed Audio data into original multi-channel Audio data by adopting a corresponding decompression algorithm to serve as far-field Audio data to be processed.
In order to implement the method in the related art, developers need to modify the Android system source code of the terminal, so that the workload is high, the working difficulty is high, and a high technical threshold is achieved; since Android systems in different terminals are not completely consistent, individual code adaptation needs to be performed for each Android system, and universality cannot be realized; in the Android system development process, a plurality of teams are required to collaboratively develop, a longer development period and higher integration cost are required; for the application layer in the above method, to implement the decoding function, additional function setting is required, so that the complexity of the application program is increased; in the method, the native Android system needs to be modified, which may cause a certain influence on the stability of the system, resulting in the reduction of the system stability.
In order to solve the problems in the related art, the present disclosure provides an audio data acquisition method, which can reduce the complexity and operation difficulty of acquiring multi-channel audio data, and optimize the audio data acquisition process while meeting the requirements of far-field voice interaction scenarios. Referring to fig. 3, a flowchart of an audio data collection method shown in an exemplary embodiment of the present disclosure is shown, where the method may be performed by a computer device, where the computer device may be a terminal or an intelligent device with a voice interaction function, and the terminal may be implemented as the terminal shown in fig. 1, where the method includes:
in step 310, multiple channels of audio data are obtained, where the multiple channels of audio data are obtained by a computer device through multiple microphones.
For example, if the number of the microphones included in the microphone assembly is 4, the sound input by the microphone assembly to the computer device is a 4-channel sound source signal, and the sound source signal may be a sound signal emitted by an object issuing a voice command.
When the microphone array in the voice interaction device collects the sound in the environment, the sound is sent to the microphone driver, the microphone driver realizes the conversion from the sound to the sound signal, and the sound wave is converted into the digital signal. Since the sound input into the voice interaction device is multi-channel, the microphone driver processes the sound and the output sound signal is also multi-channel, i.e. multi-channel audio signal.
In the Android system, underlying drivers are provided for various hardware of the Android device, wherein the underlying drivers include a microphone driver, which is also called a sound card driver. The microphone drive is a special drive of a microphone of common audio output equipment, so that the microphone can play a role on computer equipment, outputs smooth audio and ensures the tone quality effect.
In step 320, the multiple channels of audio data are delivered to the audio management system of L inux.
The Android system is a constructed system based on L inux, so the L inux audio management system is integrated in the Android system, wherein the L inux audio management system is implemented in an Android system runtime library layer.
And step 330, reading the multi-channel audio data transmitted to the audio management system of L inux through the application layer.
In the disclosed embodiment, the application layer includes an application layer and an application framework layer.
In the Android system, the application layer can call the data file in the audio management system of L inux in a non-standard interface mode, so that multiple paths of audio data transmitted to the audio management system of L inux are read.
And step 340, calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
In an Android system, an application program in an application layer is generally written based on a Java language, a library contained in a system operation library layer is built through a C language or a C + + language, that is, an audio management system of L inux is built through the C language or the C + + language, in order to realize call transition between the application program layer and the audio management system of L inux, transition between the application program layer and the audio management system of L inux can be realized through JNI, which provides a plurality of APIs, and realizes intercommunication between Java and C + + languages in Android.
Therefore, the computer device needs to input the multiple channels of audio data read by the application layer into a Java layer (Android application) of the application layer by calling JNI, so as to be used by an Android application developer.
Please refer to fig. 4, which illustrates a schematic diagram of an audio data acquisition flow architecture according to an exemplary embodiment of the present disclosure, and as shown in fig. 4, a JNI and a Java layer are located in an application layer of an Android system of a computer device, where the application layer includes an application layer and an application framework layer, the application layer may input read multiple channels of audio data into Java by calling the JNI, so as to be used by an Android application developer, and descriptions of other parts may refer to the above description, which is not repeated herein.
In one possible implementation, the acquiring the multiple channels of audio data includes:
and acquiring multi-channel audio data by calling the microphone driver to drive the plurality of microphones.
In one possible implementation, an audio management system for delivering multiple channels of audio data to L inux includes:
and the multi-channel audio data is transmitted to an audio management system of L inux through a microphone driver.
In one possible implementation, the reading, by the application layer, of the multiple channels of audio data delivered to the audio management system of L inux includes:
obtaining, by the application layer, a node handle from a virtual device node of the audio management system at L inux, the virtual device node being a microphone-driven map;
and reading the multi-channel audio data from the node handle in a file reading and writing mode.
In one possible implementation, the audio management system of L inux is tinyalsa.
In one possible implementation, the method further includes:
adjusting parameters of the collected multi-channel audio data by setting L inux parameters of the audio management system;
wherein, gather the parameter of multichannel audio data and include: the number of microphone channels, the sampling rate, the sampling bit depth, the sampling nodes, etc.
In summary, according to the audio data acquisition method provided by the disclosure, the multi-channel audio data are acquired, the multi-channel audio data are transmitted to the L inux audio management system, the multi-channel audio data transmitted to the L inux audio management system are read through the application layer, and the read multi-channel audio data are input to the Java layer of the application layer by calling the JNI.
Referring to fig. 5, a flowchart of an audio data collection method shown in an exemplary embodiment of the present disclosure is shown, where the method may be performed by a computer device, where the computer device may be a terminal or an intelligent device with a voice interaction function, and the terminal may be implemented as the terminal shown in fig. 1, where the method includes:
and step 510, acquiring multi-channel audio data by calling microphone drivers to drive a plurality of microphones.
Drivers, i.e., drivers, are configuration files written by a hardware vendor according to an operating system, which contain information about hardware devices that enable a computer to communicate with the corresponding devices. A driver is a special program added to an operating system, and hardware in a computer cannot work without the driver.
The microphone driver is a configuration file which can be used by the computer to communicate with the microphone, and the computer can call the microphone driver to realize the control of the microphone component so as to acquire multi-channel audio data.
And step 520, transmitting the multi-channel audio data to an audio management system of L inux through a microphone driver.
In one possible implementation, the audio management system of L inux is Tinyalsa.
Tinyalsa is a user-layer audio interface based on an a L SA kernel, is integrated in an Android system, and can be called by an application layer in a non-standard interface mode.
In one possible implementation manner, the parameters of the audio management system for acquiring the multiple channels of audio data may be adjusted by setting L inux;
wherein, gather the parameter of multichannel audio data and include: the number of microphone channels, the sampling rate, the sampling bit depth, the sampling nodes, etc.
That is, the multi-channel audio data collection mode can be changed by setting L inux parameters of the audio management system, for example, different numbers of channels of audio data can be recorded by setting L inux parameters of the audio management system, the sampling rate can be adjusted, the sampling bit depth can be adjusted, and the sampling node can be changed to collect different audio data.
At step 530, the node handle is obtained by the application layer from the L inux's virtual device node of the audio management system, which is a microphone-driven map.
And 540, reading the multi-channel audio data transmitted to the L inux audio management system in a file reading and writing mode according to the node handle.
At L inux, all devices are stored in file form in/dev directory and are accessed by file, the device node is L inux kernel to abstract the device, one device node is one device.
Where a virtual device node corresponds to a mapping, in the disclosed embodiment, a mapping of microphone drivers, through which the microphone drivers themselves may be operated, the virtual device node may be located in Tinyalsa.
The node handle may be regarded as a device number or a name of the virtual device node, and the object to be operated may be correspondingly obtained by obtaining the node handle, for example, the application program may obtain the node handle from the virtual device node of Tinyalsa and correspond to the microphone driver according to the node handle, so that the microphone driver may be operated on the virtual device node.
And step 550, calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
The description of step 550 may refer to the related description in the embodiment shown in fig. 3, and is not repeated here.
In summary, according to the audio data acquisition method provided by the disclosure, the multi-channel audio data are acquired, the multi-channel audio data are transmitted to the L inux audio management system, the multi-channel audio data transmitted to the L inux audio management system are read through the application layer, and the read multi-channel audio data are input to the Java layer of the application layer by calling the JNI.
Referring to fig. 6, a block diagram of an audio data acquisition apparatus according to an exemplary embodiment of the present disclosure is shown, where the apparatus may be applied to a computer device, which may be a terminal or an intelligent device with a voice interaction function, to perform all or part of the steps of the method according to any one of the embodiments shown in fig. 3 and fig. 4, and the terminal may be implemented as the terminal shown in fig. 1, and the apparatus includes:
an obtaining module 610, configured to obtain multiple channels of audio data, where the multiple channels of audio data are audio data obtained by a computer device through multiple microphones;
a delivery module 620, configured to deliver multiple channels of audio data to the audio management system of L inux;
a reading module 630, configured to read, by the application layer, multiple channels of audio data that are delivered to the audio management system of L inux;
and the input module 640 is used for calling the JNI to input the read multi-channel audio data to a Java layer of the application layer.
In one possible implementation, the obtaining module 610 is configured to obtain multiple channels of audio data by invoking microphone drivers to drive multiple microphones.
In one possible implementation, the delivering module 620 is configured to deliver multiple channels of audio data to the audio management system of L inux through a microphone driver.
In one possible implementation, the reading module 630 includes:
an acquisition submodule, configured to acquire, by an application layer, a node handle from a virtual device node of the L inux audio management system, where the virtual device node is a microphone-driven map;
and the reading submodule is used for reading the multi-channel audio data transmitted to the L inux audio management system in a file reading and writing mode according to the node handle.
In one possible implementation, the audio management system of L inux is Tinyalsa.
In one possible implementation, the apparatus further includes:
the adjusting module is used for adjusting the parameters of the collected multi-channel audio data through setting L inux parameters of the audio management system;
wherein, gather the parameter of multichannel audio data and include: the number of microphone channels, the sampling rate, the sampling bit depth, the sampling nodes, etc.
In summary, the audio data acquisition device provided by the disclosure is applied to computer equipment, and is used for acquiring multi-channel audio data, transmitting the multi-channel audio data to an L inux audio management system, reading the multi-channel audio data transmitted to the L inux audio management system through an application layer, and calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
An exemplary embodiment of the present disclosure provides an audio signal processing apparatus, which can implement all or part of the steps of the method in any one of the above-mentioned fig. 3 and fig. 5 of the present disclosure, where the apparatus is used in a computer device, the computer device may be a terminal or an intelligent device with a voice interaction function, the terminal may be implemented as the terminal shown in fig. 1, and the apparatus may include:
a processor;
a memory for storing executable instructions of the processor;
wherein the processor is configured to:
acquiring multi-channel audio data, wherein the multi-channel audio data are audio data acquired by a computer device through a plurality of microphones;
the multi-channel audio data is transmitted to an audio management system of L inux;
reading multi-channel audio data transmitted to an audio management system of L inux through an application layer;
and calling the JNI to input the read multi-channel audio data into a Java layer of the application layer.
In one possible implementation, the acquiring the multiple channels of audio data includes:
and acquiring multi-channel audio data by calling the microphone driver to drive the plurality of microphones.
In one possible implementation, an audio management system for delivering multiple channels of audio data to L inux includes:
and the multi-channel audio data is transmitted to an audio management system of L inux through a microphone driver.
In one possible implementation, the reading, by the application layer, of the multiple channels of audio data delivered to the audio management system of L inux includes:
obtaining, by the application layer, a node handle from a virtual device node of the audio management system at L inux, the virtual device node being a microphone-driven map;
and reading the multi-channel audio data from the node handle in a file reading and writing mode.
In one possible implementation, the audio management system of L inux is tinyalsa.
In one possible implementation, the method further includes:
adjusting parameters of the collected multi-channel audio data by setting L inux parameters of the audio management system;
wherein, gather the parameter of multichannel audio data and include: the number of microphone channels, the sampling rate, the sampling bit depth, the sampling nodes, etc.
In summary, the audio data acquisition device provided by the disclosure is applied to computer equipment, and is used for acquiring multi-channel audio data, transmitting the multi-channel audio data to an L inux audio management system, reading the multi-channel audio data transmitted to the L inux audio management system through an application layer, and calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
FIG. 7 is a block diagram illustrating the structure of a computer device 700 according to an example embodiment. The computer device can be realized as an intelligent device with a voice interaction function in the above scheme of the present disclosure. The computer device 700 includes a Central Processing Unit (CPU) 701, a system Memory 704 including a Random Access Memory (RAM) 702 and a Read-Only Memory (ROM) 703, and a system bus 705 connecting the system Memory 704 and the CPU 701. The computer device 700 also includes a basic Input/Output system (I/O system) 706, which facilitates transfer of information between devices within the computer, and a mass storage device 707 for storing an operating system 713, application programs 714, and other program modules 715.
The basic input/output system 706 comprises a display 708 for displaying information and an input device 709, such as a mouse, keyboard, etc., for a user to input information. Wherein the display 708 and input device 709 are connected to the central processing unit 701 through an input output controller 710 coupled to the system bus 705. The basic input/output system 706 may also include an input/output controller 710 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, input-output controller 710 may also provide output to a display screen, a printer, or other type of output device.
The mass storage device 707 is connected to the central processing unit 701 through a mass storage controller (not shown) connected to the system bus 705. The mass storage device 707 and its associated computer-readable media provide non-volatile storage for the computer device 700. That is, the mass storage device 707 may include a computer-readable medium (not shown) such as a hard disk or Compact Disc-Only Memory (CD-ROM) drive.
Without loss of generality, the computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), flash Memory or other solid state Memory technology, CD-ROM, Digital Versatile Disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices. Of course, those skilled in the art will appreciate that the computer storage media is not limited to the foregoing. The system memory 704 and mass storage device 707 described above may be collectively referred to as memory.
The computer device 700 may also operate as a remote computer connected to a network via a network, such as the internet, in accordance with various embodiments of the present disclosure. That is, the computer device 700 may be connected to the network 712 through the network interface unit 711 connected to the system bus 705, or may be connected to other types of networks or remote computer systems (not shown) using the network interface unit 711.
The memory further includes one or more programs, the one or more programs are stored in the memory, and the central processing unit 701 implements all or part of the steps performed by the voice interaction device in the method shown in fig. 3 or fig. 5 by executing the one or more programs.
The disclosed embodiment also provides a computer readable storage medium for storing computer software instructions for the computer device, which contains a program designed for executing the audio signal processing method. For example, the computer readable storage medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
Fig. 8 is a block diagram illustrating the structure of a computer device 800 according to an example embodiment. The computer device can be implemented as a terminal in the above-mentioned aspects of the present disclosure. The terminal may be, for example, the terminal shown in fig. 1.
Generally, the computer device 800 includes: a processor 801 and a memory 802.
The processor 801 may include one or more Processing cores, such as a 4-core processor, an 8-core processor, etc. the processor 801 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), a P L a (Programmable L organic Array).
Memory 802 may include one or more computer-readable storage media, which may be non-transitory. Memory 802 may also include high speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 802 is used to store at least one instruction for execution by processor 801 to implement the key verification method provided by method embodiments in the present disclosure.
In some embodiments, the electronic device 800 may further optionally include: a peripheral interface 803 and at least one peripheral. The processor 801, memory 802 and peripheral interface 803 may be connected by bus or signal lines. Various peripheral devices may be connected to peripheral interface 803 by a bus, signal line, or circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 804, a touch screen display 805, a camera 806, an audio circuit 807, a positioning component 808, and a power supply 809.
The peripheral interface 803 may be used to connect at least one peripheral related to I/O (Input/Output) to the processor 801 and the memory 802. In some embodiments, the processor 801, memory 802, and peripheral interface 803 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 801, the memory 802, and the peripheral interface 803 may be implemented on separate chips or circuit boards, which are not limited by this embodiment.
The Radio Frequency circuit 804 is used for receiving and transmitting RF (Radio Frequency) signals, also called electromagnetic signals.
In some embodiments, the electronic device 800 also includes one or more sensors 810. The one or more sensors 810 include, but are not limited to: acceleration sensor 811, gyro sensor 812, pressure sensor 813, fingerprint sensor 814, optical sensor 815 and proximity sensor 816.
Those skilled in the art will appreciate that the configuration shown in fig. 8 does not constitute a limitation of electronic device 800, and may include more or fewer components than shown, or combine certain components, or employ a different arrangement of components.
The memory further includes one or more programs, the one or more programs are stored in the memory, and the central processing unit 801 executes the one or more programs to implement all or part of the steps of the method shown in fig. 3 or fig. 5.
The embodiment of the present disclosure further provides a computer-readable storage medium for storing computer software instructions for the computer device, where the storage medium stores at least one instruction, at least one program, a code set, or an instruction set, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the audio data acquisition method executed by the computer device. For example, the computer readable storage medium may be a ROM, a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.
The disclosed embodiments also provide a computer-readable storage medium having at least one instruction, at least one program, a set of codes, or a set of instructions stored therein, which is loaded and executed by the processor to implement all or part of the steps of the audio data acquisition method as described above.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (15)

1. A method of audio data acquisition, the method comprising:
acquiring multi-channel audio data, wherein the multi-channel audio data are audio data acquired by a plurality of microphones;
the multi-channel audio data are transmitted to an audio management system of L inux;
reading the multi-channel audio data transmitted to the L inux audio management system through an application layer;
and calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
2. The method of claim 1, wherein the obtaining the multiple audio data comprises:
and acquiring the multi-channel audio data by calling microphone drivers to drive a plurality of microphones.
3. The method of claim 2, wherein the delivering the multiple audio data to the audio management system of L inux comprises:
and the microphone drives an audio management system which transmits the multi-channel audio data to L inux.
4. The method according to claim 1, wherein the reading, by an application layer, the multi-channel audio data delivered to the audio management system of L inux comprises:
obtaining, by the application layer, a node handle from a virtual device node of the L inux audio management system, the virtual device node being the microphone-driven map;
and reading the multi-channel audio data transmitted to the L inux audio management system in a file reading and writing mode according to the node handle.
5. The method of claim 1, wherein the audio management system of L inux is Tinyalsa.
6. The method of claim 5, further comprising:
adjusting the parameters for acquiring the multi-channel audio data by setting the parameters of the audio management system of L inux;
wherein, collecting the parameters of the multi-channel audio data comprises: the number of microphone channels, sampling rate, sampling bit depth, sampling nodes, etc.
7. An audio data acquisition apparatus, characterized in that the apparatus comprises:
the acquisition module is used for acquiring multi-channel audio data, and the multi-channel audio data are audio data acquired by a plurality of microphones;
the transmission module is used for transmitting the multi-channel audio data to an L inux audio management system;
the reading module is used for reading the multi-channel audio data transmitted to the L inux audio management system through an application layer;
and the input module is used for calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
8. The apparatus of claim 7, wherein the obtaining module is configured to obtain the multiple channels of audio data by invoking microphone drivers to drive a plurality of microphones.
9. The apparatus of claim 8, wherein the delivering module is configured to deliver the multiple channels of audio data to an audio management system of L inux through the microphone driver.
10. The apparatus of claim 7, wherein the reading module comprises:
an obtaining submodule, configured to obtain, by the application layer, a node handle from a virtual device node of the L inux audio management system, where the virtual device node is a mapping of the microphone driver;
and the reading submodule is used for reading the multi-channel audio data transmitted to the L inux audio management system in a file reading and writing mode according to the node handle.
11. The apparatus of claim 7, wherein the audio management system of L inux is Tinyalsa.
12. The apparatus of claim 11, further comprising:
the adjusting module is used for adjusting the parameters of the collected multi-channel audio data by setting the parameters of the L inux audio management system;
wherein, collecting the parameters of the multi-channel audio data comprises: the number of microphone channels, sampling rate, sampling bit depth, sampling nodes, etc.
13. An audio data acquisition apparatus, for use in a computer device, the apparatus comprising:
a processor;
a memory for storing executable instructions of the processor;
wherein the processor is configured to:
acquiring multi-channel audio data, wherein the multi-channel audio data are audio data acquired by a plurality of microphones;
the multi-channel audio data are transmitted to an audio management system of L inux;
reading the multi-channel audio data transmitted to the L inux audio management system through an application layer;
and calling JNI to input the read multi-channel audio data to a Java layer of the application layer.
14. An apparatus comprising a processor and a memory, the memory having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, the at least one instruction, the at least one program, the set of codes, or the set of instructions being loaded and executed by the processor to implement the audio data acquisition method as claimed in any one of claims 1 to 6.
15. A computer readable storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the audio data acquisition method as claimed in any one of claims 1 to 6.
CN202010148208.3A 2020-03-05 2020-03-05 Audio data acquisition method, device, computer equipment and storage medium Active CN111506291B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010148208.3A CN111506291B (en) 2020-03-05 2020-03-05 Audio data acquisition method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010148208.3A CN111506291B (en) 2020-03-05 2020-03-05 Audio data acquisition method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111506291A true CN111506291A (en) 2020-08-07
CN111506291B CN111506291B (en) 2024-01-09

Family

ID=71863955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010148208.3A Active CN111506291B (en) 2020-03-05 2020-03-05 Audio data acquisition method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111506291B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214213A (en) * 2020-10-27 2021-01-12 南方电网数字电网研究院有限公司 Linux kernel development and management method and device, computer equipment and storage medium
CN112615853A (en) * 2020-12-16 2021-04-06 瑞芯微电子股份有限公司 Android device audio data access method
CN112883220A (en) * 2021-01-22 2021-06-01 北京雷石天地电子技术有限公司 Audio processing method, audio processing apparatus, and readable storage medium
CN113220261A (en) * 2021-03-26 2021-08-06 西安神鸟软件科技有限公司 Audio data acquisition method based on virtual microphone and terminal equipment
CN113220260A (en) * 2021-03-26 2021-08-06 西安神鸟软件科技有限公司 Multi-application audio data processing method and terminal equipment
CN113220262A (en) * 2021-03-26 2021-08-06 西安神鸟软件科技有限公司 Multi-application audio data distribution method and terminal equipment
CN113286182A (en) * 2021-04-02 2021-08-20 福州智象信息技术有限公司 Method and system for eliminating echo between TV and sound pickup peripheral
CN114879931A (en) * 2022-07-11 2022-08-09 南京芯驰半导体科技有限公司 Onboard audio path management method and system supporting multiple operating systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454181A (en) * 2016-10-14 2017-02-22 青岛海信移动通信技术股份有限公司 Local video recording and synchronously pushing method based on Android platform, and law enforcement recorder
CN107301035A (en) * 2016-04-15 2017-10-27 中兴通讯股份有限公司 A kind of audio sync recording-reproducing system and method based on android system
US20180225080A1 (en) * 2017-02-09 2018-08-09 Hisense Mobile Communications Technology Co., Ltd. Method and apparatus for processing data of a microphone of a terminal, and terminal
CN109378017A (en) * 2018-09-26 2019-02-22 科大讯飞股份有限公司 A kind of way of recording, device, audio system, sound pick-up outfit and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301035A (en) * 2016-04-15 2017-10-27 中兴通讯股份有限公司 A kind of audio sync recording-reproducing system and method based on android system
CN106454181A (en) * 2016-10-14 2017-02-22 青岛海信移动通信技术股份有限公司 Local video recording and synchronously pushing method based on Android platform, and law enforcement recorder
US20180225080A1 (en) * 2017-02-09 2018-08-09 Hisense Mobile Communications Technology Co., Ltd. Method and apparatus for processing data of a microphone of a terminal, and terminal
CN109378017A (en) * 2018-09-26 2019-02-22 科大讯飞股份有限公司 A kind of way of recording, device, audio system, sound pick-up outfit and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭超远: "音频数据采集系统的设计与实施" *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214213A (en) * 2020-10-27 2021-01-12 南方电网数字电网研究院有限公司 Linux kernel development and management method and device, computer equipment and storage medium
CN112214213B (en) * 2020-10-27 2023-10-20 南方电网数字电网科技(广东)有限公司 Linux kernel development and management method and device, computer equipment and storage medium
CN112615853A (en) * 2020-12-16 2021-04-06 瑞芯微电子股份有限公司 Android device audio data access method
CN112883220A (en) * 2021-01-22 2021-06-01 北京雷石天地电子技术有限公司 Audio processing method, audio processing apparatus, and readable storage medium
CN112883220B (en) * 2021-01-22 2023-05-26 北京雷石天地电子技术有限公司 Audio processing method, audio processing device and readable storage medium
CN113220261A (en) * 2021-03-26 2021-08-06 西安神鸟软件科技有限公司 Audio data acquisition method based on virtual microphone and terminal equipment
CN113220260A (en) * 2021-03-26 2021-08-06 西安神鸟软件科技有限公司 Multi-application audio data processing method and terminal equipment
CN113220262A (en) * 2021-03-26 2021-08-06 西安神鸟软件科技有限公司 Multi-application audio data distribution method and terminal equipment
CN113286182A (en) * 2021-04-02 2021-08-20 福州智象信息技术有限公司 Method and system for eliminating echo between TV and sound pickup peripheral
CN114879931A (en) * 2022-07-11 2022-08-09 南京芯驰半导体科技有限公司 Onboard audio path management method and system supporting multiple operating systems

Also Published As

Publication number Publication date
CN111506291B (en) 2024-01-09

Similar Documents

Publication Publication Date Title
CN111506291B (en) Audio data acquisition method, device, computer equipment and storage medium
CN107423364B (en) Method, device and storage medium for answering operation broadcasting based on artificial intelligence
KR20190024762A (en) Music Recommendation Method, Apparatus, Device and Storage Media
CN113094123A (en) Method and device for realizing functions in application program, electronic equipment and storage medium
US11699073B2 (en) Network off-line model processing method, artificial intelligence processing device and related products
CN112965701A (en) Front-end code generation method and device
JP2021177418A (en) Method of providing electronic device with interpretation function and ear set device
KR20190068133A (en) Electronic device and method for speech recognition
KR102419374B1 (en) Electronic apparatus for processing user utterance for controlling an external electronic apparatus and controlling method thereof
US10976997B2 (en) Electronic device outputting hints in an offline state for providing service according to user context
KR20210001082A (en) Electornic device for processing user utterance and method for operating thereof
CN112102836A (en) Voice control screen display method and device, electronic equipment and medium
WO2023103918A1 (en) Speech control method and apparatus, and electronic device and storage medium
KR20210015234A (en) Electronic apparatus, and method of controlling to execute function according to voice command thereof
KR102393112B1 (en) Method and apparatus for function of translation using earset
CN212624795U (en) Interactive system, voice interaction equipment and control equipment
CN114637531A (en) Method and device for dynamically generating application program interface
CN113035246B (en) Audio data synchronous processing method and device, computer equipment and storage medium
KR20220138669A (en) Electronic device and method for providing personalized audio information
KR20220016552A (en) The method for processing data and the electronic device supporting the same
CN111770236A (en) Conversation processing method, device, system, server and storage medium
CN116483736B (en) Pile inserting position determining method and electronic equipment
KR20230116618A (en) Electronic device generating haptic signal and method thereof
CN115910122A (en) Recording method and related device
KR20240038523A (en) Method for judging false-rejection and electronic device performing the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant