WO2022116297A1 - Method and apparatus for generating vibration effect, and terminal device and storage medium - Google Patents
Method and apparatus for generating vibration effect, and terminal device and storage medium Download PDFInfo
- Publication number
- WO2022116297A1 WO2022116297A1 PCT/CN2020/137713 CN2020137713W WO2022116297A1 WO 2022116297 A1 WO2022116297 A1 WO 2022116297A1 CN 2020137713 W CN2020137713 W CN 2020137713W WO 2022116297 A1 WO2022116297 A1 WO 2022116297A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data stream
- vibration
- peak point
- local peak
- vibration data
- Prior art date
Links
- 230000000694 effects Effects 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000001228 spectrum Methods 0.000 claims abstract description 43
- 238000006073 displacement reaction Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 22
- 230000003595 spectral effect Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 abstract description 19
- 230000006870 function Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
Definitions
- the present invention relates to the technical field of terminal device interaction, and in particular, to a method, device, terminal device and storage medium for generating a vibration effect.
- the CoreHaptics interface can add custom haptic feedback to applications, greatly enhancing the richness of human-machine interaction. It is convenient for developers to call down the iOS system to achieve rich vibration effects. Vibration data in the form of any data stream cannot be played through the haptic vibration interface. This requires converting the vibration data into data recognizable by the haptic vibration interface.
- the haptic vibration interface only opens up two degrees of freedom, intensity and sharpness, for the design of vibration effects. In this way, for some long-term known vibration effects, such as vibration data obtained by sound effect conversion, it is necessary to find a kind of parameter description from "point-by-point vibration data" to "intensity + sharpness". conversion method.
- the purpose of the present invention is to provide a method for generating a vibration effect, which is used to solve the problems in the prior art that manual conversion is very time-consuming and labor costs are high.
- a first aspect of the embodiments of the present invention provides a method for testing non-linear parameters of a motor, including:
- the corresponding relationship between the intensity value and the sharpness value is written into a file identifiable by the haptic vibration interface.
- the vibration data stream includes displacement data
- the acquiring the vibration data stream includes:
- the displacement data is normalized to the maximum displacement to obtain relative displacement data.
- the obtaining the position and size of the local peak point on the envelope curve of the vibration data stream includes:
- obtaining the spectral curve of adjacent local peak points according to the position of the local peak point includes:
- the obtaining the sharpness value according to the frequency at which the peak point on the spectrum curve is located includes:
- the corresponding sharpness value is obtained according to the relative frequency value.
- the method before the acquiring the vibration data stream, the method further comprises:
- the current data stream is a non-vibration data stream, converting the non-vibration data stream into the vibration data stream.
- converting the non-vibration data stream to the vibration data stream includes:
- the frequency range of the non-vibration data stream is mapped to the vibration frequency range of the vibration data stream.
- a second aspect of the embodiments of the present invention provides an apparatus for generating a vibration effect, including:
- the first acquisition module is used to acquire the vibration data stream
- the second acquisition module is used for acquiring the position and size of the local peak point on the envelope curve of the vibration data stream
- a third acquiring module configured to acquire the intensity value of the vibration data stream according to the size of the local peak point
- a fourth acquisition module configured to acquire spectrum curves of adjacent local peak points according to the positions of the local peak points
- a fifth acquisition module configured to acquire a sharpness value according to the frequency at which the peak point on the spectrum curve is located
- the writing module is used for writing the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
- a third aspect of the embodiments of the present invention provides a computer-readable storage medium on which a computer program is stored, when the computer program is executed on a computer, the computer is caused to perform the above-mentioned generation of the vibration effect method.
- a fourth aspect of the embodiments of the present invention provides a terminal device, including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes all When the computer program is described, the steps of the method for generating the vibration effect as described above are realized.
- Embodiments of the present invention provide a method, device, terminal device and storage medium for generating a vibration effect, through which the position and size of a local peak point on an envelope curve of a vibration data stream can be obtained. Then, the intensity value of the vibration data stream is obtained according to the size of the local peak point; according to the position of the local peak point, the spectral curve of the adjacent local peak point is obtained. After that, the sharpness value is obtained according to the frequency at which the peak point on the spectrum curve is located. Finally, the corresponding relationship between the intensity value and the sharpness value is written into a file identifiable by the tactile vibration interface. The process of this method is completed automatically and does not require manual conversion.
- the haptic vibration interface can automatically identify the corresponding relationship between the intensity value and the sharpness value in the file, so as to play the vibration effect. Therefore, the embodiments of the present invention can reduce the time-consuming and labor costs of data conversion.
- FIG. 1 is a schematic flowchart of a method for generating a vibration effect according to Embodiment 1 of the present invention
- FIG. 2 is a schematic flowchart of a method for generating a vibration effect according to Embodiment 2 of the present invention
- FIG. 3 is a schematic structural diagram of a device for generating a vibration effect provided in Embodiment 3 of the present invention.
- FIG. 4 is a schematic structural diagram of a terminal device according to Embodiment 4 of the present invention.
- the Haptic Vibration Interface is a brand-new Application Program Interface (API) that can add custom haptic feedback to applications, greatly enhancing the richness of human-computer interaction.
- API Application Program Interface
- the Haptic Vibration interface lets applications play custom haptic patterns made from basic building blocks called haptic events. Events can be transient, like the feedback you get from a toggle switch, or continuous, like a vibration from a bell. Developers can use either transient or continuous modes independently, or build rich modes based on precise combinations of the two. Of course, the haptic vibration interface can also be used to play custom audio content.
- Vibration data in the form of any data stream cannot be played through the haptic vibration interface. This requires converting the vibration data into data recognizable by the haptic vibration interface.
- the haptic vibration interface only opens up two degrees of freedom, intensity and sharpness, for the design of vibration effects. In this way, for some long-term known vibration effects, such as vibration data obtained by sound effect conversion, it is necessary to find a conversion method from "point-by-point vibration data" to "parametric description of intensity + sharpness".
- FIG. 1 is a schematic flowchart of a method for generating a vibration effect provided by Embodiment 1 of the present invention. As shown in FIG. 1 , the method for generating a vibration effect provided by Embodiment 1 may include the following steps:
- Step 101 Acquire a vibration data stream.
- the execution subject of this embodiment is a device for generating a vibration effect
- the device for generating a vibration effect may specifically be a terminal device, such as a smart phone, a tablet computer, a desktop computer, a notebook, and the like.
- the vibration data stream is obtained, and the vibration data stream has a certain frequency range, for example, the bandwidth of the vibration data stream is 30 Hz to 500 Hz. This frequency range characterizes the vibration frequency range that the human hand can perceive. Displacement data is often used to characterize the data flow of vibration.
- Step 102 Obtain the position and size of the local peak point on the envelope curve of the vibration data stream.
- Each event has two properties that control the haptics represented by the haptic event parameter (CHHapticEventParameter).
- Each attribute has a parameter ID and a value between 0 and 1.
- the parameter with ID .hapticIntensity represents the intensity of the feeling; the higher the parameter value, the stronger the intensity of the feeling.
- the parameter with ID .hapticSharpness represents a physical quality, sharpness, that has a precise mechanical feel at the high end of the scale. On the low end, it has a more rounded organic feel. It should be noted that both the intensity value and the sharpness value are relative values, and both are values between 0 and 1.
- haptic vibration interface In the haptic vibration interface, whichever building block is chosen to generate a custom haptic, its strength and sharpness can be controlled. Intensity changes the magnitude or force of a haptic sensation, and sharpness allows the user to characterize the haptic experience. For example, sharpness can be used to convey a clear, precise, and mechanical experience (a sharpness value à 1), or a soft, rounded, and natural experience (a sharpness value à 0).
- the vibration data stream can be a transient data stream, a continuous data stream, or a combined data stream of the transient data stream and the continuous data stream.
- the haptic intensity control point HapticIntensityControl
- the position of the local peak point is the abscissa of the local peak point on the envelope curve, which can be used for the extraction of frequency information in the next step
- the size of the local peak point is the ordinate of the local peak point on the envelope curve, which can be used for extracting intensity information.
- the data processing of this part can be carried out in software, such as in MATLAB software. Using software for data processing can save labor costs while improving data processing efficiency and accuracy.
- Step 103 Obtain the intensity value of the vibration data stream according to the size of the local peak point.
- the intensity value of the vibration data stream can be directly obtained.
- the intensity value is a relative value with a magnitude between 0 and 1. In this way, the intensity value can be limited to a certain range, so as to eliminate the bad influence caused by the singular sample data, and also prevent the data overflow.
- Step 104 Acquire spectral curves of adjacent local peak points according to the positions of the local peak points.
- the haptic sharpness control point HapticSharpnessControl
- the spectral curve of the adjacent local peak point can be obtained according to the position of the local peak point, that is, the local peak point and its adjacent local peak point spectrum curve.
- the spectral curves of two adjacent local peak points can be obtained separately, that is, the spectral curves of every two adjacent local peak points can be obtained in sections. In this way, the sharpness values of multiple different points can be obtained later.
- Step 105 Acquire a sharpness value according to the frequency at which the peak point on the spectrum curve is located.
- Spectrum refers to the representation of a signal in the time domain in the frequency domain. It can be obtained by performing Fourier transform on the signal. The result can be an amplitude spectrum.
- the amplitude spectrum takes the amplitude as the vertical axis and the frequency as the horizontal axis. frequency changes. Based on this, after obtaining the spectral curve of the adjacent local peak points, the frequency corresponding to the peak point on the spectral curve can be found, and the point with the largest absolute value of the amplitude is the peak point. Therefore, according to the point corresponding to the point with the largest absolute value of the amplitude frequency, the frequency corresponding to the peak point on the spectrum curve can be directly obtained.
- Sharpness describes the feeling related to frequency components, which is the comparison of high-frequency energy and total energy in the vibration data stream. Therefore, according to the frequency of the peak point on the spectrum curve, the sharpness value can be obtained. Since the spectrum curve is the spectrum curve of two adjacent local peak points, when there are multiple local peak points, sharpness values of different points will be obtained.
- Step 106 Write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
- haptic parameter curve (CHHapticParameterCurve) to ensure a smooth transition, which is suitable for the design of custom curves.
- Haptic parameter curves define multi-point haptic effects.
- the two parts of information need to be written into a file that can be recognized by the haptic vibration interface by means of a haptic parameter curve, such as a file in .AHAP format, and then the
- a haptic parameter curve such as a file in .AHAP format
- the above-mentioned intensity values and sharpness values that can express the vibration effect are stored in the .AHAP format file in a parameterized form, and the .AHAP format file is described in the form of JSON.
- a simple script is needed to implement this function, which is used to drive the motor of the terminal device to vibrate, so as to play the vibration effect expected by the designer.
- the terminal device can acquire the position and size of the local peak point on the envelope curve of the vibration data stream. Then, the intensity value of the vibration data stream is obtained according to the size of the local peak point; according to the position of the local peak point, the spectral curve of the adjacent local peak point is obtained. After that, the sharpness value is obtained according to the frequency at which the peak point on the spectrum curve is located. Finally, the corresponding relationship between the intensity value and the sharpness value is written into a file identifiable by the tactile vibration interface. The process of this method is completed automatically and does not require manual conversion.
- the haptic vibration interface can automatically identify the corresponding relationship between the intensity value and the sharpness value in the file, so as to play the vibration effect. Therefore, the embodiments of the present invention can reduce the time-consuming and labor costs of data conversion.
- FIG. 2 is a schematic flowchart of a method for generating a vibration effect provided by Embodiment 2 of the present invention. As shown in FIG. 2 , the method for generating a vibration effect provided by Embodiment 2 may include the following steps:
- Step 201 Acquire the current data stream.
- the execution subject of this embodiment is a device for generating a vibration effect
- the device for generating a vibration effect may specifically be a terminal device, such as a smart phone, a tablet computer, a desktop computer, a notebook, and the like.
- the terminal device can acquire the current data stream.
- Step 202 If the current data stream is a non-vibration data stream, convert the non-vibration data stream into a vibration data stream.
- the current data stream After obtaining the current data stream, determine whether the current data stream is a vibration data stream. If the current data stream is a non-vibration data stream, for example, the non-vibration data stream can be an audio data stream or some other effect files, such as Animation effect files, etc.
- the vibration data stream can be displacement data, or other than displacement data. Other vibration data streams other than the data, in order to facilitate the subsequent conversion from the vibration data streams to the two parameters of intensity and sharpness.
- the bandwidth of audio data is usually 20Hz ⁇ 20kHz, while the bandwidth of vibration data stream is 30Hz ⁇ 500Hz.
- the former characterizes the sound range that the human ear can hear, while the latter characterizes the vibration frequency range that the human hand can perceive. Therefore, when converting the non-vibration data stream into the vibration data stream, it is necessary to map the frequency range of the non-vibration data stream to the vibration frequency range of the vibration data stream.
- the vibration data stream can be converted into parameters such as the intensity and sharpness of the vibration effect
- the non-vibration data stream can be converted into After vibrating the data stream, the converted vibration data stream is converted into parameters such as the intensity and sharpness of the vibration effect. Therefore, the present invention is applicable to both non-vibration data streams and vibration data streams, and has a wide range of applications.
- converting the non-vibration data stream into a vibration data stream may include:
- the current data stream is a non-vibration data stream
- Step 203 Normalize the displacement data to the maximum displacement to obtain relative displacement data.
- the intensity parameter in the haptic vibration interface is a relative value, in order to correspond to it, it is necessary to normalize the displacement data with the maximum displacement Xmax to obtain the relative displacement value, that is, convert the displacement data into a value between 0 and 0.
- the relative displacement data between 1. In this way, the displacement data can be limited within a certain range, so as to eliminate the adverse effects caused by the singular sample data, and also prevent data overflow.
- Step 204 Obtain an envelope curve of the relative displacement data.
- the relative displacement data is obtained.
- the information of the envelope curve of the relative displacement data can be extracted.
- the information of the envelope curve of the relative displacement data can be extracted by using the envelope command.
- the envelope function in MATLAB software such as the envelope function, can be used. , directly generate the signal envelope and modify its calculation method. For example, you can adjust the length of the Hilbert filter used to obtain the envelope of the analyzed signal, because using too small a filter length will lead to envelope distortion, Therefore, by adjusting the length of the Hilbert filter, the distortion of the signal envelope can be prevented.
- the envelope curve of the relative displacement data can be obtained.
- Step 205 Obtain the position and size of the local peak point on the envelope curve.
- the local peak point on the envelope curve can be found, and then the position and size of the local peak point on the envelope curve can be obtained, for example, by finding the peak function (findpeaks)
- the abscissa and ordinate of the local peak point on the envelope curve can be obtained, where the abscissa is the time and the ordinate is the intensity value.
- the size represents the intensity information
- the position is used for the extraction of the frequency information in the next step.
- Step 206 Obtain the intensity value of the vibration data stream according to the size of the local peak point.
- the intensity value of the vibration data stream can be obtained according to the size of the local peak point (ie, the ordinate), and the specific embodiment of step 206 can refer to the embodiment of step 103, which will not be repeated here.
- Step 207 Obtain the position of the current local peak point.
- Step 208 Obtain the position of the next local peak point.
- each segment of the spectrum curve is the spectrum curve of two adjacent local peak points. Therefore, after obtaining the position idx_k(i) of the current local peak point, it is necessary to obtain the next local peak point.
- the position idx_k(i+1) of the next local peak point is the local peak point adjacent to the position of the current local peak point. By obtaining the position idx_k(i+1) of the next local peak point, it is easy to find The spectral curve of the two adjacent local peak points.
- Step 209 Acquire a spectrum curve from the current local peak point to the next local peak point according to the position of the current local peak point and the position of the next local peak point.
- the position idx_k(i) of the current local peak point can be obtained to the next local peak point idx_k( i+1) spectrum curve, that is, perform fast Fourier transform:
- X is the spectrum curve
- x( idx_k(i) ) represents the function of the signal at the time of idx_k(i)
- fft is the fast Fourier transform, which is a fast algorithm of discrete Fourier transform, which converts the time domain function into frequency Domain functions
- Laplace transform can also be used to convert time domain functions into frequency domain functions.
- the abscissa is the frequency
- the ordinate is the amplitude (amplitude).
- Step 210 Acquire the frequency at which the peak point on the spectrum curve is located.
- the peak point on the spectrum curve that is, solve the absolute value of X
- find the maximum absolute value and the point corresponding to the maximum absolute value is the peak point.
- the frequency at which the peak point is located that is, the main energy frequency
- there are multiple peak points multiple frequencies corresponding to the multiple peak points can be obtained. Since each spectrum curve has one main energy frequency, multiple main energy frequencies corresponding to the multiple spectrum curves can be obtained.
- Step 211 Normalize the frequency at which the peak point is located according to the range of the sharpness value to obtain a relative frequency value.
- the frequency of the peak point on the spectrum curve normalize the frequency of the peak point based on the range of the sharpness value of the haptic vibration interface, such as mapping the frequency to the frequency range of [80, 230], if the frequency exceeds the upper limit of the frequency
- the frequency of use the upper limit to normalize the frequency to 1, and use the lower limit to normalize the frequency to 0.
- the relative frequency value can be obtained. In this way, the frequency can be limited within a certain range, thereby eliminating the adverse effects caused by singular sample data, and also preventing data overflow.
- Step 212 Obtain a corresponding sharpness value according to the relative frequency value.
- Sharpness describes the feeling related to frequency components, which is the comparison of high-frequency energy and total energy in the vibration data stream. Therefore, according to the relative frequency value corresponding to the frequency at which the peak point on the spectrum curve is located, the sharpness value can be obtained. Since the spectrum curve is the spectrum curve of two adjacent local peak points, when there are multiple local peak points, sharpness values of different points will be obtained.
- Step 213 Write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
- step 213 For the specific embodiment of step 213, reference may be made to the embodiment of step 106, and details are not repeated here.
- the point-by-point vibration data stream (such as displacement data) is converted offline into parameters in the parameter curve type of the haptic vibration interface, and the converted parameters can be written into the AHAP file.
- any vibration data stream (such as displacement data) in the form of a data stream, or a non-vibration data stream
- the vibration data stream must be Convert the data to a certain rule, or, now convert the non-vibration data stream to a vibration data stream, and then convert the vibration data stream to data of a certain rule, such as a haptic parameter curve.
- calculation and conversion are performed from the two dimensions of intensity and sharpness, and finally abstract data that can be recognized by the haptic vibration interface is obtained, which is convenient for playing the vibration effect on the terminal device. The process of this method is completed automatically, and no manual conversion is required.
- the haptic vibration interface can automatically identify the corresponding relationship between the intensity value and the sharpness value in the file, so as to play the vibration effect. Therefore, the embodiments of the present invention can reduce the time-consuming and labor costs of data conversion.
- FIG. 3 is a schematic structural diagram of a device for generating vibration effects provided in Embodiment 3 of the present invention. As shown in FIG. 3 , the device for generating vibration effects provided by this embodiment includes the following modules:
- the first acquisition module 301 is used to acquire the vibration data stream
- the second acquisition module 302 is used to acquire the position and size of the local peak point on the envelope curve of the vibration data stream;
- the third obtaining module 303 is configured to obtain the intensity value of the vibration data stream according to the size of the local peak point;
- a fourth obtaining module 304 configured to obtain spectral curves of adjacent local peak points according to the positions of the local peak points
- the fifth obtaining module 305 is configured to obtain the sharpness value according to the frequency at which the peak point on the spectrum curve is located;
- the writing module 306 is configured to write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
- the third embodiment provides an apparatus for generating a vibration effect, which is used to implement the method for generating a vibration effect described in the first embodiment, wherein the functions of each module can refer to the corresponding description in the method embodiment, and its realization principle and technical effect similar, and will not be repeated here.
- FIG. 4 is a schematic diagram of a terminal device according to Embodiment 4 of the present invention.
- the terminal device 40 of this embodiment includes: a processor 400, a memory 401, and a computer program 402 stored in the memory 401 and executable on the processor 400, such as a program for generating vibration effects .
- the processor 400 executes the computer program 402
- the steps in the foregoing embodiments of the methods for generating vibration effects are implemented, for example, steps 101 to 106 shown in FIG. 1 .
- the functions of the modules in the foregoing device embodiments are implemented, for example, the functions of the modules 301 to 306 shown in FIG. 3 .
- the computer program 402 can be divided into one or more modules/units, and the one or more modules/units are stored in the memory 401 and executed by the processor 400 to complete the this invention.
- the one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 402 in the terminal device 40 .
- the computer program 402 can be divided into a first acquisition module, a second acquisition module, a third acquisition module, a fourth acquisition module, a fifth acquisition module and a writing module (unit modules in a virtual device), each module
- the specific functions are as follows:
- the first acquisition module is used to acquire the vibration data stream
- the second acquisition module is used to acquire the position and size of the local peak point on the envelope curve of the vibration data stream
- the third obtaining module is used to obtain the intensity value of the vibration data stream according to the size of the local peak point;
- a fourth acquisition module used for acquiring the spectral curve of adjacent local peak points according to the position of the local peak point
- the fifth acquisition module is used to acquire the sharpness value according to the frequency at which the peak point on the spectrum curve is located;
- the writing module is used to write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
- the terminal device 40 may be a computing device such as a smart phone, a tablet computer, a desktop computer, and a notebook.
- the terminal device 40 may include, but is not limited to, a processor 400 and a memory 401 .
- FIG. 4 is only an example of the terminal device 40 , and does not constitute a limitation on the terminal device 40 , and may include more or less components than shown, or combine some components, or different components
- the terminal device 40 may further include an input and output device, a network access device, a bus, and the like.
- the so-called processor 400 may be a central processing unit (Central Processing Unit, CPU), other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application-specific integrated circuits (Application Specific Integrated Circuit, ASIC), off-the-shelf Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
- the memory 401 may be an internal storage unit of the terminal device 40 , such as a hard disk or a memory of the terminal device 40 .
- the memory 401 may also be an external storage device of the terminal device 40, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) equipped on the terminal device 40 card, flash card (Flash Card) and so on.
- the memory 401 may also include both an internal storage unit of the terminal device 40 and an external storage device.
- the memory 401 is used to store the computer program and other programs and data required by the terminal device 40 .
- the memory 401 can also be used to temporarily store data that has been output or will be output.
- the disclosed apparatus/terminal device and method may be implemented in other manners.
- the apparatus/terminal device embodiments described above are only illustrative.
- the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units. Or components may be combined or may be integrated into another system, or some features may be omitted, or not implemented.
- the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
- the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
- the integrated modules/units if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
- the present invention can implement all or part of the processes in the methods of the above embodiments, and can also be completed by instructing relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium.
- the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file or some intermediate form, and the like.
- the computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, removable hard disk, magnetic disk, optical disk, computer memory, Read-Only Memory (ROM) , Random Access Memory Memory, RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content contained in the computer-readable media may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, the computer-readable media Electric carrier signals and telecommunication signals are not included.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A method and apparatus for generating a vibration effect, and a terminal device and a storage medium. The method comprises: acquiring a vibration data stream (101); acquiring a position and a size of a local peak point on an envelope curve of the vibration data stream (102); acquiring an intensity value of the vibration data stream according to the size of the local peak point (103); acquiring a spectrum curve of an adjacent local peak point according to the position of the local peak point (104); acquiring a sharpness value according to the frequency at which a peak point on the spectrum curve is located (105); and writing a correlation between the intensity value and the sharpness value into a file that can be identified by a corehaptics interface (106). By means of the method, the time consumption and labor cost of data conversion can be reduced.
Description
本发明要求于2020年12月01日提交中国专利局、申请号为202011392359.X、发明名称为“一种振动效果的生成方法、装置、终端设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本发明中。The present invention requires the priority of the Chinese patent application filed on December 01, 2020 with the application number 202011392359.X and the invention titled "A method, device, terminal device and storage medium for generating a vibration effect", Its entire contents are incorporated herein by reference.
本发明涉及终端设备交互技术领域,尤其涉及一种振动效果的生成方法、装置、终端设备及存储介质。The present invention relates to the technical field of terminal device interaction, and in particular, to a method, device, terminal device and storage medium for generating a vibration effect.
触觉振动(CoreHaptics)接口可以向应用程序添加自定义的触觉反馈,从而大大增强了人机互动的丰富性。方便开发人员在iOS系统下调用以实现丰富的振动效果。对于任意数据流形式的振动数据,其无法通过触觉振动接口进行播放。这样需要将振动数据转换为触觉振动接口可识别的数据。The CoreHaptics interface can add custom haptic feedback to applications, greatly enhancing the richness of human-machine interaction. It is convenient for developers to call down the iOS system to achieve rich vibration effects. Vibration data in the form of any data stream cannot be played through the haptic vibration interface. This requires converting the vibration data into data recognizable by the haptic vibration interface.
对于设计人员而言,触觉振动接口只开放了强度和尖锐度这两个自由度进行振动效果的设计。这样对于一些长时间的已知振动效果,如通过音效转换得到的振动数据,就需要找到一种从“逐点振动数据”到“强度(intensity)+尖锐度(sharpness)的参数化描述”的转换方法。For designers, the haptic vibration interface only opens up two degrees of freedom, intensity and sharpness, for the design of vibration effects. In this way, for some long-term known vibration effects, such as vibration data obtained by sound effect conversion, it is necessary to find a kind of parameter description from "point-by-point vibration data" to "intensity + sharpness". conversion method.
现有技术中,通常这种逐点的振动效果的长度都较大,且采用手动进行转换,而手动转换会非常耗时,且人工成本较高。In the prior art, the length of the point-by-point vibration effect is usually large, and manual conversion is used, which is very time-consuming and labor costs are high.
因此,有必要提供一种自动的转换方法。Therefore, it is necessary to provide an automatic conversion method.
本发明的目的在于提供一种振动效果的生成方法,用于解决现有技术中手动转换会非常耗时,而且人工成本较高的问题。The purpose of the present invention is to provide a method for generating a vibration effect, which is used to solve the problems in the prior art that manual conversion is very time-consuming and labor costs are high.
为达上述之一或部分或全部目的或是其他目的,本发明实施例的第一方面提出了一种马达非线性参数的测试方法,包括:In order to achieve one or part or all of the above purposes or other purposes, a first aspect of the embodiments of the present invention provides a method for testing non-linear parameters of a motor, including:
获取振动数据流;Get the vibration data stream;
获取所述振动数据流的包络曲线上局部峰值点的位置和大小;Obtain the position and size of the local peak point on the envelope curve of the vibration data stream;
根据所述局部峰值点的大小获取所述振动数据流的强度值;Obtain the intensity value of the vibration data stream according to the size of the local peak point;
根据所述局部峰值点的位置,获取相邻局部峰值点的频谱曲线;According to the position of the local peak point, obtain the spectral curve of the adjacent local peak point;
根据所述频谱曲线上峰值点所在的频率,获取尖锐度值;Obtain the sharpness value according to the frequency at which the peak point on the spectrum curve is located;
将所述强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。The corresponding relationship between the intensity value and the sharpness value is written into a file identifiable by the haptic vibration interface.
在其中一个实施例中,所述振动数据流包括位移数据,所述获取振动数据流,包括:In one embodiment, the vibration data stream includes displacement data, and the acquiring the vibration data stream includes:
将所述位移数据进行最大位移归一化,得到相对位移数据。The displacement data is normalized to the maximum displacement to obtain relative displacement data.
在其中一个实施例中,所述获取所述振动数据流的包络曲线上局部峰值点的位置和大小,包括:In one embodiment, the obtaining the position and size of the local peak point on the envelope curve of the vibration data stream includes:
获取所述相对位移数据的包络曲线;obtaining an envelope curve of the relative displacement data;
获取所述包络曲线上局部局部峰值点的位置和大小。Obtain the location and size of the local local peak point on the envelope curve.
在其中一个实施例中,所述根据所述局部峰值点的位置,获取相邻局部峰值点的频谱曲线,包括:In one of the embodiments, obtaining the spectral curve of adjacent local peak points according to the position of the local peak point includes:
获取当前局部峰值点的位置;Get the position of the current local peak point;
获取下一个局部峰值点的位置;Get the position of the next local peak point;
根据所述当前局部峰值点的位置和下一个局部峰值点的位置,获取所述当前局部峰值点到下一个局部峰值点的频谱曲线。According to the position of the current local peak point and the position of the next local peak point, a spectrum curve from the current local peak point to the next local peak point is acquired.
在其中一个实施例中,所述根据所述频谱曲线上峰值点所在的频率,获取尖锐度值,包括:In one embodiment, the obtaining the sharpness value according to the frequency at which the peak point on the spectrum curve is located includes:
获取所述频谱曲线上的峰值点所在的频率;obtaining the frequency at which the peak point on the spectrum curve is located;
将所述峰值点所在的频率按照所述尖锐度值的范围进行归一化,得到相对频率值;Normalize the frequency at which the peak point is located according to the range of the sharpness value to obtain a relative frequency value;
根据所述相对频率值得到对应的尖锐度值。The corresponding sharpness value is obtained according to the relative frequency value.
在其中一个实施例中,在所述获取振动数据流之前,所述方法还包括:In one of the embodiments, before the acquiring the vibration data stream, the method further comprises:
获取当前数据流;Get the current data stream;
若所述当前数据流为非振动数据流,则将所述非振动数据流转换为所述振动数据流。If the current data stream is a non-vibration data stream, converting the non-vibration data stream into the vibration data stream.
在其中一个实施例中,所述若所述当前数据流为非振动数据流,则将所述非振动数据流转换为所述振动数据流,包括:In one embodiment, if the current data stream is a non-vibration data stream, converting the non-vibration data stream to the vibration data stream includes:
若所述当前数据流为非振动数据流,将所述非振动数据流的频率范围映射到所述振动数据流的振动频率范围。If the current data stream is a non-vibration data stream, the frequency range of the non-vibration data stream is mapped to the vibration frequency range of the vibration data stream.
本发明实施例的第二方面提供了一种振动效果的生成装置,包括:A second aspect of the embodiments of the present invention provides an apparatus for generating a vibration effect, including:
第一获取模块,用于获取振动数据流;The first acquisition module is used to acquire the vibration data stream;
第二获取模块,用于获取所述振动数据流的包络曲线上局部峰值点的位置和大小;The second acquisition module is used for acquiring the position and size of the local peak point on the envelope curve of the vibration data stream;
第三获取模块,用于根据所述局部峰值点的大小获取所述振动数据流的强度值;a third acquiring module, configured to acquire the intensity value of the vibration data stream according to the size of the local peak point;
第四获取模块,用于根据所述局部峰值点的位置,获取相邻局部峰值点的频谱曲线;a fourth acquisition module, configured to acquire spectrum curves of adjacent local peak points according to the positions of the local peak points;
第五获取模块,用于根据所述频谱曲线上峰值点所在的频率,获取尖锐度值;a fifth acquisition module, configured to acquire a sharpness value according to the frequency at which the peak point on the spectrum curve is located;
写入模块,用于将所述强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。The writing module is used for writing the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
本发明实施例的第三方面提供了一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如上所述的振动效果的生成方法。A third aspect of the embodiments of the present invention provides a computer-readable storage medium on which a computer program is stored, when the computer program is executed on a computer, the computer is caused to perform the above-mentioned generation of the vibration effect method.
本发明实施例的第四方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上所述的振动效果的生成方法的步骤。A fourth aspect of the embodiments of the present invention provides a terminal device, including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes all When the computer program is described, the steps of the method for generating the vibration effect as described above are realized.
本发明实施例提供了一种振动效果的生成方法、装置、终端设备及存储介质,通过该方法,可以获取振动数据流的包络曲线上局部峰值点的位置和大小。然后,根据局部峰值点的大小获取振动数据流的强度值;根据局部峰值点的位置,获取相邻局部峰值点的频谱曲线。之后,根据频谱曲线上峰值点所在的频率,获取尖锐度值。最后,将强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中,该方法的流程均是自动完成的,不需要手工转换。且本发明实施例中,触觉振动接口能自动识别文件中的强度值和尖锐度值的对应关系,从而将振动效果播放出来。因此,本发明实施例可以降低数据转换的耗时及人工成本。Embodiments of the present invention provide a method, device, terminal device and storage medium for generating a vibration effect, through which the position and size of a local peak point on an envelope curve of a vibration data stream can be obtained. Then, the intensity value of the vibration data stream is obtained according to the size of the local peak point; according to the position of the local peak point, the spectral curve of the adjacent local peak point is obtained. After that, the sharpness value is obtained according to the frequency at which the peak point on the spectrum curve is located. Finally, the corresponding relationship between the intensity value and the sharpness value is written into a file identifiable by the tactile vibration interface. The process of this method is completed automatically and does not require manual conversion. And in the embodiment of the present invention, the haptic vibration interface can automatically identify the corresponding relationship between the intensity value and the sharpness value in the file, so as to play the vibration effect. Therefore, the embodiments of the present invention can reduce the time-consuming and labor costs of data conversion.
图1为本发明实施例一提供的振动效果的生成方法的流程示意图;1 is a schematic flowchart of a method for generating a vibration effect according to Embodiment 1 of the present invention;
图2为本发明实施例二提供的振动效果的生成方法的流程示意图;2 is a schematic flowchart of a method for generating a vibration effect according to Embodiment 2 of the present invention;
图3为本发明实施例三提供的振动效果的生成装置的结构示意图;3 is a schematic structural diagram of a device for generating a vibration effect provided in Embodiment 3 of the present invention;
图4为本发明实施例四提供的终端设备的结构示意图。FIG. 4 is a schematic structural diagram of a terminal device according to Embodiment 4 of the present invention.
下面结合附图和实施方式对本发明作进一步说明。The present invention will be further described below with reference to the accompanying drawings and embodiments.
触觉振动接口是一种全新的应用程序接口(Application Program Interface,API),可以向应用程序添加自定义的触觉反馈,从而大大增强了人机互动的丰富性。通过触觉振动接口,可以让应用程序播放由称为触觉事件的基本构建块制作的自定义触觉模式。事件可以是瞬态的(Transient),如切换开关获得的反馈,也可以是连续的(continuous),如来自铃声的振动。开发人员既可以独立使用瞬态或连续模式,也可以根据两者的精确组合来构建丰富的模式。当然,该触觉振动接口也可以用于播放自定义音频内容。The Haptic Vibration Interface is a brand-new Application Program Interface (API) that can add custom haptic feedback to applications, greatly enhancing the richness of human-computer interaction. The Haptic Vibration interface lets applications play custom haptic patterns made from basic building blocks called haptic events. Events can be transient, like the feedback you get from a toggle switch, or continuous, like a vibration from a bell. Developers can use either transient or continuous modes independently, or build rich modes based on precise combinations of the two. Of course, the haptic vibration interface can also be used to play custom audio content.
对于任意数据流形式的振动数据,其无法通过触觉振动接口进行播放。这样需要将振动数据转换为触觉振动接口可识别的数据。Vibration data in the form of any data stream cannot be played through the haptic vibration interface. This requires converting the vibration data into data recognizable by the haptic vibration interface.
对于设计人员而言,触觉振动接口只开放了强度和尖锐度这两个自由度进行振动效果的设计。这样对于一些长时间的已知振动效果,如通过音效转换得到的振动数据,就需要找到一种从“逐点振动数据”到“强度+尖锐度的参数化描述”的转换方法。For designers, the haptic vibration interface only opens up two degrees of freedom, intensity and sharpness, for the design of vibration effects. In this way, for some long-term known vibration effects, such as vibration data obtained by sound effect conversion, it is necessary to find a conversion method from "point-by-point vibration data" to "parametric description of intensity + sharpness".
现有技术中,通常这种逐点的振动效果的长度都较大,且采用手动进行转换,而手动转换会非常耗时,且人工成本较高。In the prior art, the length of the point-by-point vibration effect is usually large, and manual conversion is used, which is very time-consuming and labor costs are high.
因此,有必要提供一种自动的转换方法,让触觉振动接口可以将期望的振动效果播放出来。Therefore, it is necessary to provide an automatic conversion method, so that the haptic vibration interface can play the desired vibration effect.
图1为本发明实施例一提供的振动效果的生成方法的流程示意图,如图1所示,本实施例一提供的振动效果的生成方法,可以包括如下步骤:FIG. 1 is a schematic flowchart of a method for generating a vibration effect provided by Embodiment 1 of the present invention. As shown in FIG. 1 , the method for generating a vibration effect provided by Embodiment 1 may include the following steps:
步骤101、获取振动数据流。Step 101: Acquire a vibration data stream.
本实施例的执行主体为振动效果的生成装置,该振动效果的生成装置可具体为终端设备,如智能手机、平板电脑、桌上型计算机、笔记本等。The execution subject of this embodiment is a device for generating a vibration effect, and the device for generating a vibration effect may specifically be a terminal device, such as a smart phone, a tablet computer, a desktop computer, a notebook, and the like.
本实施例中,获取振动数据流,振动数据流具有一定的频率范围,比如振动数据流的带宽为30Hz~500Hz。该频率范围表征的是人手能够感知的振动频率范围。通常采用位移数据来表征振动的数据流。In this embodiment, the vibration data stream is obtained, and the vibration data stream has a certain frequency range, for example, the bandwidth of the vibration data stream is 30 Hz to 500 Hz. This frequency range characterizes the vibration frequency range that the human hand can perceive. Displacement data is often used to characterize the data flow of vibration.
步骤102、获取振动数据流的包络曲线上局部峰值点的位置和大小。Step 102: Obtain the position and size of the local peak point on the envelope curve of the vibration data stream.
每个事件都有两个属性,这些属性控制触觉事件参数(CHHapticEventParameter)表示的触觉。每个属性都有一个参数ID和一个介于0和1之间的值,如ID为.hapticIntensity的参数表示感觉的强度;参数值越高,则感觉的强度越强。ID为.hapticSharpness 的参数表示一种物理质量,即尖锐度,该物理质量在比例尺的高端具有精确的机械感。在低端,它具有更圆润的有机感觉。需要说明的是,强度值与尖锐度值均采用相对值,均是介于0和1之间的值。Each event has two properties that control the haptics represented by the haptic event parameter (CHHapticEventParameter). Each attribute has a parameter ID and a value between 0 and 1. For example, the parameter with ID .hapticIntensity represents the intensity of the feeling; the higher the parameter value, the stronger the intensity of the feeling. The parameter with ID .hapticSharpness represents a physical quality, sharpness, that has a precise mechanical feel at the high end of the scale. On the low end, it has a more rounded organic feel. It should be noted that both the intensity value and the sharpness value are relative values, and both are values between 0 and 1.
在触觉振动接口中,无论选择生成自定义触觉的哪种构建块,都可以控制其强度和尖锐度。强度会改变触觉的幅度或力度,尖锐度可以使用户确定触觉体验的特征。例如,可以使用尖锐度来传达清晰、精确和机械的体验(尖锐度值à1),或者传达柔和、圆润和自然的体验(尖锐度值à0)。In the haptic vibration interface, whichever building block is chosen to generate a custom haptic, its strength and sharpness can be controlled. Intensity changes the magnitude or force of a haptic sensation, and sharpness allows the user to characterize the haptic experience. For example, sharpness can be used to convey a clear, precise, and mechanical experience (a sharpness value à 1), or a soft, rounded, and natural experience (a sharpness value à 0).
振动数据流可以是瞬态数据流,也可以是连续数据流,或者瞬态数据流和连续数据流组合的数据流。The vibration data stream can be a transient data stream, a continuous data stream, or a combined data stream of the transient data stream and the continuous data stream.
为了获取振动数据流中不同点的强度值,即触觉强度控制点(HapticIntensityControl)。需要提取振动数据流的包络曲线,在该包络曲线上找到局部峰值点的位置和大小,即找到局部峰值点的横坐标和纵坐标,其中,横坐标为时间,纵坐标为强度值。可知,局部峰值点的位置为局部峰值点在包络曲线上的横坐标,可以用于下一步频率信息的提取,局部峰值点的大小为局部峰值点在包络曲线上的纵坐标,可以用于提取强度信息。该部分的数据处理可以在软件中进行,比如在MATLAB软件中进行。使用软件进行数据处理,可以节省人工成本,同时提高数据处理效率和准确度。In order to obtain the intensity value of different points in the vibration data stream, that is, the haptic intensity control point (HapticIntensityControl). It is necessary to extract the envelope curve of the vibration data stream, and find the position and size of the local peak point on the envelope curve, that is, find the abscissa and ordinate of the local peak point, where the abscissa is the time, and the ordinate is the intensity value. It can be seen that the position of the local peak point is the abscissa of the local peak point on the envelope curve, which can be used for the extraction of frequency information in the next step, and the size of the local peak point is the ordinate of the local peak point on the envelope curve, which can be used for extracting intensity information. The data processing of this part can be carried out in software, such as in MATLAB software. Using software for data processing can save labor costs while improving data processing efficiency and accuracy.
步骤103、根据局部峰值点的大小获取振动数据流的强度值。Step 103: Obtain the intensity value of the vibration data stream according to the size of the local peak point.
在获取到振动数据流的包络曲线上局部峰值点的位置和大小后,根据局部峰值点的大小,即根据局部峰值点在包络曲线上的纵坐标,可以直接得到振动数据流的强度值。该强度值为相对值,其大小介于0和1之间。这样就可以使强度值被限定在一定的范围内,从而消除奇异样本数据导致的不良影响,还可以防止数据溢出。After obtaining the position and size of the local peak point on the envelope curve of the vibration data stream, according to the size of the local peak point, that is, according to the ordinate of the local peak point on the envelope curve, the intensity value of the vibration data stream can be directly obtained. . The intensity value is a relative value with a magnitude between 0 and 1. In this way, the intensity value can be limited to a certain range, so as to eliminate the bad influence caused by the singular sample data, and also prevent the data overflow.
步骤104、根据局部峰值点的位置,获取相邻局部峰值点的频谱曲线。Step 104: Acquire spectral curves of adjacent local peak points according to the positions of the local peak points.
为了获取不同点的尖锐度值,即触觉尖锐度控制点(HapticSharpnessControl)。在获取到振动数据流的包络曲线上局部峰值点的位置和大小后,可以根据局部峰值点的位置,获取相邻局部峰值点的频谱曲线,即该局部峰值点与其相邻的局部峰值点的频谱曲线。当存在多个局部峰值点时,可以分别获取相邻两个局部峰值点的频谱曲线,即分段获取每相邻两个局部峰值点的频谱曲线。这样在后续就可以获取到多个不同点的尖锐度值。In order to obtain the sharpness value of different points, that is, the haptic sharpness control point (HapticSharpnessControl). After obtaining the position and size of the local peak point on the envelope curve of the vibration data stream, the spectral curve of the adjacent local peak point can be obtained according to the position of the local peak point, that is, the local peak point and its adjacent local peak point spectrum curve. When there are multiple local peak points, the spectral curves of two adjacent local peak points can be obtained separately, that is, the spectral curves of every two adjacent local peak points can be obtained in sections. In this way, the sharpness values of multiple different points can be obtained later.
步骤105、根据频谱曲线上峰值点所在的频率,获取尖锐度值。Step 105: Acquire a sharpness value according to the frequency at which the peak point on the spectrum curve is located.
频谱是指一个时域的信号在频域下的表示方式,可以针对信号进行傅立叶变换而得,所得的结果可以是振幅频谱,该振幅频谱以振幅为纵轴,频率为横轴,表示振幅随频率变化的情形。基于此,在获取到相邻局部峰值点的频谱曲线后,可以找到频谱曲线上峰值点对应的频率,振幅的绝对值最大的点为峰值点,因此,根据振幅的绝对值最大的点对应的频率,就可以直接得到频谱曲线上峰值点对应的频率。Spectrum refers to the representation of a signal in the time domain in the frequency domain. It can be obtained by performing Fourier transform on the signal. The result can be an amplitude spectrum. The amplitude spectrum takes the amplitude as the vertical axis and the frequency as the horizontal axis. frequency changes. Based on this, after obtaining the spectral curve of the adjacent local peak points, the frequency corresponding to the peak point on the spectral curve can be found, and the point with the largest absolute value of the amplitude is the peak point. Therefore, according to the point corresponding to the point with the largest absolute value of the amplitude frequency, the frequency corresponding to the peak point on the spectrum curve can be directly obtained.
尖锐度描述的是与频率成分有关的感觉,是振动数据流中高频能量与总能量的对比,尖锐度随振动数据流高频分量的增加而增加,随低频分量的增加而减小。因此,根据频谱曲线上峰值点所在的频率,可以得到尖锐度值。由于频谱曲线是相邻两个局部峰值点的频谱曲线,当存在多个局部峰值点时,则会得到不同点的尖锐度值。Sharpness describes the feeling related to frequency components, which is the comparison of high-frequency energy and total energy in the vibration data stream. Therefore, according to the frequency of the peak point on the spectrum curve, the sharpness value can be obtained. Since the spectrum curve is the spectrum curve of two adjacent local peak points, when there are multiple local peak points, sharpness values of different points will be obtained.
步骤106、将强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。Step 106: Write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
在触觉振动接口中,可以通过触觉参数曲线(CHHapticParameterCurve)在参数值之间进行线性插值以确保其平滑过渡,适合用来进行自定义曲线的设计。触觉参数曲线定义了多点触觉效果。In the haptic vibration interface, linear interpolation can be performed between parameter values through the haptic parameter curve (CHHapticParameterCurve) to ensure a smooth transition, which is suitable for the design of custom curves. Haptic parameter curves define multi-point haptic effects.
在得到了每个点的强度值和尖锐度值之后,需要将这两部分信息通过触觉参数曲线的方式写入到触觉振动接口可以识别的文件中,如可以是.AHAP格式的文件,然后将上述可以表达振动效果的强度值和尖锐度值以参数化的形式存放在.AHAP格式的文件中,.AHAP格式的文件以JSON的形式进行描述。通常需要简单的脚本即可实现该功能,用于驱动终端设备的马达进行振动,从而播放出设计人员期望的振动效果。After obtaining the intensity value and sharpness value of each point, the two parts of information need to be written into a file that can be recognized by the haptic vibration interface by means of a haptic parameter curve, such as a file in .AHAP format, and then the The above-mentioned intensity values and sharpness values that can express the vibration effect are stored in the .AHAP format file in a parameterized form, and the .AHAP format file is described in the form of JSON. Usually a simple script is needed to implement this function, which is used to drive the motor of the terminal device to vibrate, so as to play the vibration effect expected by the designer.
可以理解的是,本发明实施例中,终端设备可以获取振动数据流的包络曲线上局部峰值点的位置和大小。然后,根据局部峰值点的大小获取振动数据流的强度值;根据局部峰值点的位置,获取相邻局部峰值点的频谱曲线。之后,根据频谱曲线上峰值点所在的频率,获取尖锐度值。最后,将强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中,该方法的流程均是自动完成的,不需要手工转换。且本发明实施例中,触觉振动接口能自动识别文件中的强度值和尖锐度值的对应关系,从而将振动效果播放出来。因此,本发明实施例可以降低数据转换的耗时及人工成本。It can be understood that, in this embodiment of the present invention, the terminal device can acquire the position and size of the local peak point on the envelope curve of the vibration data stream. Then, the intensity value of the vibration data stream is obtained according to the size of the local peak point; according to the position of the local peak point, the spectral curve of the adjacent local peak point is obtained. After that, the sharpness value is obtained according to the frequency at which the peak point on the spectrum curve is located. Finally, the corresponding relationship between the intensity value and the sharpness value is written into a file identifiable by the tactile vibration interface. The process of this method is completed automatically and does not require manual conversion. And in the embodiment of the present invention, the haptic vibration interface can automatically identify the corresponding relationship between the intensity value and the sharpness value in the file, so as to play the vibration effect. Therefore, the embodiments of the present invention can reduce the time-consuming and labor costs of data conversion.
图2为本发明实施例二提供的振动效果的生成方法的流程示意图,如图2所示,本实施例二提供的振动效果的生成方法,可以包括如下步骤:FIG. 2 is a schematic flowchart of a method for generating a vibration effect provided by Embodiment 2 of the present invention. As shown in FIG. 2 , the method for generating a vibration effect provided by Embodiment 2 may include the following steps:
步骤201、获取当前数据流。Step 201: Acquire the current data stream.
本实施例的执行主体为振动效果的生成装置,该振动效果的生成装置可具体为终端设备,如智能手机、平板电脑、桌上型计算机、笔记本等。The execution subject of this embodiment is a device for generating a vibration effect, and the device for generating a vibration effect may specifically be a terminal device, such as a smart phone, a tablet computer, a desktop computer, a notebook, and the like.
本实施例中,终端设备可以获取当前数据流。In this embodiment, the terminal device can acquire the current data stream.
步骤202、若当前数据流为非振动数据流,则将非振动数据流转换为振动数据流。Step 202: If the current data stream is a non-vibration data stream, convert the non-vibration data stream into a vibration data stream.
当获取到当前数据流后,判断当前数据流是否为振动数据流,若当前数据流为非振动数据流,比如,该非振动数据流可以是音频数据流,也可以是其它一些效果文件,如动画效果文件等。当判断出当前数据流为非振动数据流后,为了能得到可以让触觉振动接口识别的数据,首先需要将非振动数据流转换为振动数据流,该振动数据流可以是位移数据,或者除位移数据之外的其它振动数据流,以便于后续的由振动数据流向强度和尖锐度两个参数的转换。After obtaining the current data stream, determine whether the current data stream is a vibration data stream. If the current data stream is a non-vibration data stream, for example, the non-vibration data stream can be an audio data stream or some other effect files, such as Animation effect files, etc. When it is determined that the current data stream is a non-vibration data stream, in order to obtain data that can be recognized by the haptic vibration interface, it is first necessary to convert the non-vibration data stream into a vibration data stream. The vibration data stream can be displacement data, or other than displacement data. Other vibration data streams other than the data, in order to facilitate the subsequent conversion from the vibration data streams to the two parameters of intensity and sharpness.
由于非振动数据流与振动数据流的频率范围是不同的,以音频数据流为例,通常音频数据的带宽为20Hz~20kHz,而振动数据流的带宽为30Hz~500Hz。前者表征的是人耳能够听到的声音范围,而后者表征的是人手能够感知的振动频率范围。因此,在将非振动数据流转换为振动数据流时,需要将非振动数据流的频率范围映射到振动数据流的振动频率范围。通过将非振动数据流转换为振动数据流时,可以扩大本发明的适用范围,即振动数据流可以转换为表示振动效果的强度和尖锐度等参数,对于非振动数据流,可以将其转换为振动数据流后,再将转换后的振动数据流转换为表示振动效果的强度和尖锐度等参数。因此本发明既适用于非振动数据流,也可以适用于振动数据流,其应用较为广泛。Since the frequency range of non-vibration data stream and vibration data stream is different, taking audio data stream as an example, the bandwidth of audio data is usually 20Hz~20kHz, while the bandwidth of vibration data stream is 30Hz~500Hz. The former characterizes the sound range that the human ear can hear, while the latter characterizes the vibration frequency range that the human hand can perceive. Therefore, when converting the non-vibration data stream into the vibration data stream, it is necessary to map the frequency range of the non-vibration data stream to the vibration frequency range of the vibration data stream. When the non-vibration data stream is converted into a vibration data stream, the scope of application of the present invention can be expanded, that is, the vibration data stream can be converted into parameters such as the intensity and sharpness of the vibration effect, and the non-vibration data stream can be converted into After vibrating the data stream, the converted vibration data stream is converted into parameters such as the intensity and sharpness of the vibration effect. Therefore, the present invention is applicable to both non-vibration data streams and vibration data streams, and has a wide range of applications.
基于此,在一种实施例方式中,若当前数据流为非振动数据流,则将非振动数据流转换为振动数据流,可以包括:Based on this, in an embodiment, if the current data stream is a non-vibration data stream, converting the non-vibration data stream into a vibration data stream may include:
若当前数据流为非振动数据流,将非振动数据流的频率范围映射到振动数据流的振动频率范围。If the current data stream is a non-vibration data stream, map the frequency range of the non-vibration data stream to the vibration frequency range of the vibration data stream.
在进行频率范围映射时,可以采用特征映射或频率移动等方法进行不同频率范围的数据转换,由于是已有的方法,在此不再赘述。When performing frequency range mapping, methods such as feature mapping or frequency shifting may be used to perform data conversion in different frequency ranges. Since it is an existing method, it will not be repeated here.
步骤203、将位移数据进行最大位移归一化,得到相对位移数据。Step 203: Normalize the displacement data to the maximum displacement to obtain relative displacement data.
需要注意的是,由于触觉振动接口中的强度参数为相对值,为了与其对应,因此需要将位移数据进行最大位移Xmax的归一化,得到相对位移值,也即将位移数据转换为介于0和1之间的相对位移数据。这样就可以使位移数据被限定在一定的范围内,从而消除奇异样本数据导致的不良影响,还可以防止数据溢出。It should be noted that since the intensity parameter in the haptic vibration interface is a relative value, in order to correspond to it, it is necessary to normalize the displacement data with the maximum displacement Xmax to obtain the relative displacement value, that is, convert the displacement data into a value between 0 and 0. The relative displacement data between 1. In this way, the displacement data can be limited within a certain range, so as to eliminate the adverse effects caused by the singular sample data, and also prevent data overflow.
步骤204、获取相对位移数据的包络曲线。Step 204: Obtain an envelope curve of the relative displacement data.
在将位移数据进行归一化后,得到相对位移数据。针对该相对位移数据,可以将相对位移数据的包络曲线的信息提取出来,例如通过envelope命令将相对位移数据的包络曲线的信息提取出来,具体是使用MATLAB软件中的包络函数如envelope函数,直接生成信号包络并修改其计算方式,如可以调整用于求得分析信号包络的希尔伯特(Hilbert)滤波器的长度,因为使用太小的滤波器长度会导致包络失真,因此通过调整希尔伯特滤波器的长度,可以防止信号包络失真。由此,就可以得到相对位移数据的包络曲线。After normalizing the displacement data, the relative displacement data is obtained. For the relative displacement data, the information of the envelope curve of the relative displacement data can be extracted. For example, the information of the envelope curve of the relative displacement data can be extracted by using the envelope command. Specifically, the envelope function in MATLAB software, such as the envelope function, can be used. , directly generate the signal envelope and modify its calculation method. For example, you can adjust the length of the Hilbert filter used to obtain the envelope of the analyzed signal, because using too small a filter length will lead to envelope distortion, Therefore, by adjusting the length of the Hilbert filter, the distortion of the signal envelope can be prevented. Thus, the envelope curve of the relative displacement data can be obtained.
步骤205、获取包络曲线上局部局部峰值点的位置和大小。Step 205: Obtain the position and size of the local peak point on the envelope curve.
当获取到相对位移数据的包络曲线后,可以找到该包络曲线上的局部峰值点,然后,可以获取该包络曲线上的局部峰值点的位置和大小,例如通过寻找峰值函数(findpeaks)来获取局部峰值的位置和大小,即可以获取该包络曲线上的局部峰值点的横坐标和纵坐标,其横坐标为时间,纵坐标为强度值。需要说明的是,当存在多个局部局部峰值点时,可以获取到多个不同局部局部峰值点的位置和大小。其中,大小表示了强度信息,位置用于下一步的频率信息的提取。When the envelope curve of the relative displacement data is obtained, the local peak point on the envelope curve can be found, and then the position and size of the local peak point on the envelope curve can be obtained, for example, by finding the peak function (findpeaks) To obtain the position and size of the local peak, the abscissa and ordinate of the local peak point on the envelope curve can be obtained, where the abscissa is the time and the ordinate is the intensity value. It should be noted that when there are multiple local peak points, the positions and sizes of multiple different local peak points can be obtained. Among them, the size represents the intensity information, and the position is used for the extraction of the frequency information in the next step.
步骤206、根据局部峰值点的大小获取振动数据流的强度值。Step 206: Obtain the intensity value of the vibration data stream according to the size of the local peak point.
根据局部峰值点的大小(即纵坐标)可以获取振动数据流的强度值,步骤206的具体实施例可以参阅步骤103的实施例,在此不再进行赘述。The intensity value of the vibration data stream can be obtained according to the size of the local peak point (ie, the ordinate), and the specific embodiment of step 206 can refer to the embodiment of step 103, which will not be repeated here.
步骤207、获取当前局部峰值点的位置。Step 207: Obtain the position of the current local peak point.
由于获取到的局部峰值点可能存在多个,多个局部峰值点的位置为idx_k,k=1、2、3……。获取当前局部峰值点的位置,比如,当前局部峰值点的位置为第i个位置,即idx_k(i) 。Since there may be multiple acquired local peak points, the positions of multiple local peak points are idx_k, k=1, 2, 3... . Obtain the position of the current local peak point, for example, the position of the current local peak point is the ith position, that is, idx_k(i).
步骤208、获取下一个局部峰值点的位置。Step 208: Obtain the position of the next local peak point.
由于频谱曲线是分段得到的,每一段频谱曲线是相邻两个局部峰值点的频谱曲线,因此,在获取到当前局部峰值点的位置idx_k(i)后,还需要获取下一个局部峰值点的位置idx_k(i+1),该下一个局部峰值点是与当前局部峰值点的位置相邻的局部峰值点,通过获取下一个局部峰值点的位置idx_k(i+1),以便于求取该两个相邻局部峰值点的频谱曲线。Since the spectrum curve is obtained in segments, each segment of the spectrum curve is the spectrum curve of two adjacent local peak points. Therefore, after obtaining the position idx_k(i) of the current local peak point, it is necessary to obtain the next local peak point. The position idx_k(i+1) of the next local peak point is the local peak point adjacent to the position of the current local peak point. By obtaining the position idx_k(i+1) of the next local peak point, it is easy to find The spectral curve of the two adjacent local peak points.
步骤209、根据当前局部峰值点的位置和下一个局部峰值点的位置,获取当前局部峰值点到下一个局部峰值点的频谱曲线。Step 209: Acquire a spectrum curve from the current local peak point to the next local peak point according to the position of the current local peak point and the position of the next local peak point.
在获取到当前局部峰值点的位置idx_k(i)和下一个局部峰值点的位置idx_k(i+1)后,可以求取当前局部峰值点的位置idx_k(i)到下一个局部峰值点idx_k(i+1)的频谱曲线,即进行快速傅氏变换:After obtaining the position idx_k(i) of the current local peak point and the position idx_k(i+1) of the next local peak point, the position idx_k(i) of the current local peak point can be obtained to the next local peak point idx_k( i+1) spectrum curve, that is, perform fast Fourier transform:
X = fft(x(
idx_k(i) : idx_k(i+1) )) X = fft(x(
idx_k(i) : idx_k(i+1) ))
其中,X为频谱曲线,x( idx_k(i) )表示信号为 idx_k(i) 时刻取值的函数,fft为快速傅氏变换,是离散傅氏变换的快速算法,将时域函数转换为频域函数,当然也可以采用拉普拉斯变换将时域函数转换为频域函数。在频谱曲线上,横坐标为频率,纵坐标为幅度(振幅)。Among them, X is the spectrum curve, x( idx_k(i) ) represents the function of the signal at the time of idx_k(i), fft is the fast Fourier transform, which is a fast algorithm of discrete Fourier transform, which converts the time domain function into frequency Domain functions, of course, Laplace transform can also be used to convert time domain functions into frequency domain functions. On the spectrum curve, the abscissa is the frequency, and the ordinate is the amplitude (amplitude).
这里仅仅给出了其中两个相邻局部峰值点频谱曲线的获取方式,由于可能会存在多个局部峰值点,则其它相邻局部峰值点的频谱曲线的获取方式与此相同,即针对不同的相邻局部峰值点,可以分段进行快速傅氏变换,在此不再赘述,这样就可以完成对不同相邻局部峰值点的频谱曲线的分段获取。Only the acquisition method of the spectral curves of two adjacent local peak points is given here. Since there may be multiple local peak points, the acquisition method of the spectral curves of other adjacent local peak points is the same, that is, for different local peak points For the adjacent local peak points, fast Fourier transform can be performed in segments, which will not be repeated here, so that the segmental acquisition of the spectral curves of different adjacent local peak points can be completed.
步骤210、获取频谱曲线上的峰值点所在的频率。Step 210: Acquire the frequency at which the peak point on the spectrum curve is located.
在得到频谱曲线上,找到频谱曲线上的峰值点,即求解X的绝对值,找到最大绝对值,该最大绝对值对应的点就是峰值点。接下来,根据该峰值点的横坐标的位置,可以获取到该峰值点所在的频率,即主能量频率。当存在多个峰值点时,可以得到多个峰值点对应的多个频率,由于每段频谱曲线均会有一个主能量频率,因此可以得到多段频谱曲线对应的多个主能量频率。On the obtained spectrum curve, find the peak point on the spectrum curve, that is, solve the absolute value of X, find the maximum absolute value, and the point corresponding to the maximum absolute value is the peak point. Next, according to the position of the abscissa of the peak point, the frequency at which the peak point is located, that is, the main energy frequency, can be obtained. When there are multiple peak points, multiple frequencies corresponding to the multiple peak points can be obtained. Since each spectrum curve has one main energy frequency, multiple main energy frequencies corresponding to the multiple spectrum curves can be obtained.
步骤211、将峰值点所在的频率按照尖锐度值的范围进行归一化,得到相对频率值。Step 211: Normalize the frequency at which the peak point is located according to the range of the sharpness value to obtain a relative frequency value.
在得到频谱曲线上的峰值点所在的频率后,将峰值点所在的频率基于触觉振动接口的尖锐度值的范围进行归一化,如将频率映射到[80,230]的频率范围,对于超过频率上限的频率,用上限将其归一化频率为1,将低于下限的频率,用下限归一化频率为0,经过归一化后,可以得到相对频率值。这样就可以使频率被限定在一定的范围内,从而消除奇异样本数据导致的不良影响,还可以防止数据溢出。After obtaining the frequency of the peak point on the spectrum curve, normalize the frequency of the peak point based on the range of the sharpness value of the haptic vibration interface, such as mapping the frequency to the frequency range of [80, 230], if the frequency exceeds the upper limit of the frequency The frequency of , use the upper limit to normalize the frequency to 1, and use the lower limit to normalize the frequency to 0. After normalization, the relative frequency value can be obtained. In this way, the frequency can be limited within a certain range, thereby eliminating the adverse effects caused by singular sample data, and also preventing data overflow.
步骤212、根据相对频率值得到对应的尖锐度值。Step 212: Obtain a corresponding sharpness value according to the relative frequency value.
尖锐度描述的是与频率成分有关的感觉,是振动数据流中高频能量与总能量的对比,尖锐度随振动数据流高频分量的增加而增加,随低频分量的增加而减小。因此,根据频谱曲线上峰值点所在的频率对应的相对频率值,可以得到尖锐度值。由于频谱曲线是相邻两个局部峰值点的频谱曲线,当存在多个局部峰值点时,则会得到不同点的尖锐度值。Sharpness describes the feeling related to frequency components, which is the comparison of high-frequency energy and total energy in the vibration data stream. Therefore, according to the relative frequency value corresponding to the frequency at which the peak point on the spectrum curve is located, the sharpness value can be obtained. Since the spectrum curve is the spectrum curve of two adjacent local peak points, when there are multiple local peak points, sharpness values of different points will be obtained.
步骤213、将强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。Step 213: Write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
步骤213的具体实施例可以参阅步骤106的实施例,在此不再进行赘述。For the specific embodiment of step 213, reference may be made to the embodiment of step 106, and details are not repeated here.
作为一个示例,比如,通过定义连续振动(HapticContinuous)的时长0.055625s,其基础强度值为1,基础尖锐度值为0;再定义参数曲线(ParameterCurve)的强度控制点和尖锐度控制点,来进行分段定义:其中每个点的强度值和基础强度值相乘,每个点的尖锐度值和基础尖锐度值相加。这样实现将逐点的振动数据流(如位移数据)离线转换为触觉振动接口的参数曲线类型中的参数,转换后的参数可以写入AHAP文件中。As an example, for example, by defining the duration of the continuous vibration (HapticContinuous) 0.055625s, its basic strength value is 1, and its basic sharpness value is 0; Perform segment definition: where the intensity value of each point is multiplied by the base intensity value, and the sharpness value of each point is added to the base sharpness value. In this way, the point-by-point vibration data stream (such as displacement data) is converted offline into parameters in the parameter curve type of the haptic vibration interface, and the converted parameters can be written into the AHAP file.
可以理解的是,本发明实施例中,对于任意数据流形式的振动数据流(如位移数据),或者非振动数据流,它本身是无法通过触觉振动接口进行播放的,必须要将振动数据流转换为一定规则的数据,或者,现将非振动数据流转换为振动数据流,然后将振动数据流转换为一定规则的数据,如触觉参数曲线。本发明实施例中,从强度和尖锐度两个维度进行了计算和转换,最终得到了触觉振动接口可以识别的抽象化数据,便于在终端设备上播放振动效果。该方法的流程均是自动完成的,不需要手工转换。且本发明实施例中,触觉振动接口能自动识别文件中的强度值和尖锐度值的对应关系,从而将振动效果播放出来。因此,本发明实施例可以降低数据转换的耗时及人工成本。It can be understood that, in this embodiment of the present invention, for any vibration data stream (such as displacement data) in the form of a data stream, or a non-vibration data stream, it cannot be played through the haptic vibration interface itself, and the vibration data stream must be Convert the data to a certain rule, or, now convert the non-vibration data stream to a vibration data stream, and then convert the vibration data stream to data of a certain rule, such as a haptic parameter curve. In the embodiment of the present invention, calculation and conversion are performed from the two dimensions of intensity and sharpness, and finally abstract data that can be recognized by the haptic vibration interface is obtained, which is convenient for playing the vibration effect on the terminal device. The process of this method is completed automatically, and no manual conversion is required. And in the embodiment of the present invention, the haptic vibration interface can automatically identify the corresponding relationship between the intensity value and the sharpness value in the file, so as to play the vibration effect. Therefore, the embodiments of the present invention can reduce the time-consuming and labor costs of data conversion.
图3为本发明实施例三提供的振动效果的生成装置的结构示意图,如图3所示,本实施例提供的振动效果的生成装置,包括以下模块:FIG. 3 is a schematic structural diagram of a device for generating vibration effects provided in Embodiment 3 of the present invention. As shown in FIG. 3 , the device for generating vibration effects provided by this embodiment includes the following modules:
第一获取模块301,用于获取振动数据流;The first acquisition module 301 is used to acquire the vibration data stream;
第二获取模块302,用于获取振动数据流的包络曲线上局部峰值点的位置和大小;The second acquisition module 302 is used to acquire the position and size of the local peak point on the envelope curve of the vibration data stream;
第三获取模块303,用于根据局部峰值点的大小获取振动数据流的强度值;The third obtaining module 303 is configured to obtain the intensity value of the vibration data stream according to the size of the local peak point;
第四获取模块304,用于根据局部峰值点的位置,获取相邻局部峰值点的频谱曲线;a fourth obtaining module 304, configured to obtain spectral curves of adjacent local peak points according to the positions of the local peak points;
第五获取模块305,用于根据频谱曲线上峰值点所在的频率,获取尖锐度值;The fifth obtaining module 305 is configured to obtain the sharpness value according to the frequency at which the peak point on the spectrum curve is located;
写入模块306,用于将强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。The writing module 306 is configured to write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
本实施例三提供的一种振动效果的生成装置,用于实现实施例一所述的振动效果的生成方法,其中各个模块的功能可以参考方法实施例中相应的描述,其实现原理和技术效果类似,此处不再赘述。The third embodiment provides an apparatus for generating a vibration effect, which is used to implement the method for generating a vibration effect described in the first embodiment, wherein the functions of each module can refer to the corresponding description in the method embodiment, and its realization principle and technical effect similar, and will not be repeated here.
图4是本发明实施例四提供的终端设备的示意图。如图4所示,该实施例的终端设备40包括:处理器400、存储器401以及存储在所述存储器401中并可在所述处理器400上运行的计算机程序402,例如振动效果的生成程序。所述处理器400执行所述计算机程序402时实现上述各个振动效果的生成方法实施例中的步骤,例如图1所示的步骤101至106。或者,所述处理器400执行所述计算机程序402时实现上述各装置实施例中各模块的功能,例如图3所示模块301至306的功能。FIG. 4 is a schematic diagram of a terminal device according to Embodiment 4 of the present invention. As shown in FIG. 4 , the terminal device 40 of this embodiment includes: a processor 400, a memory 401, and a computer program 402 stored in the memory 401 and executable on the processor 400, such as a program for generating vibration effects . When the processor 400 executes the computer program 402 , the steps in the foregoing embodiments of the methods for generating vibration effects are implemented, for example, steps 101 to 106 shown in FIG. 1 . Alternatively, when the processor 400 executes the computer program 402, the functions of the modules in the foregoing device embodiments are implemented, for example, the functions of the modules 301 to 306 shown in FIG. 3 .
示例性的,所述计算机程序402可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器401中,并由所述处理器400执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序402在所述终端设备40中的执行过程。例如,所述计算机程序402可以被分割成第一获取模块、第二获取模块、第三获取模块、第四获取模块、第五获取模块和写入模块(虚拟装置中的单元模块),各模块具体功能如下:Exemplarily, the computer program 402 can be divided into one or more modules/units, and the one or more modules/units are stored in the memory 401 and executed by the processor 400 to complete the this invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 402 in the terminal device 40 . For example, the computer program 402 can be divided into a first acquisition module, a second acquisition module, a third acquisition module, a fourth acquisition module, a fifth acquisition module and a writing module (unit modules in a virtual device), each module The specific functions are as follows:
第一获取模块,用于获取振动数据流;The first acquisition module is used to acquire the vibration data stream;
第二获取模块,用于获取振动数据流的包络曲线上局部峰值点的位置和大小;The second acquisition module is used to acquire the position and size of the local peak point on the envelope curve of the vibration data stream;
第三获取模块,用于根据局部峰值点的大小获取振动数据流的强度值;The third obtaining module is used to obtain the intensity value of the vibration data stream according to the size of the local peak point;
第四获取模块,用于根据局部峰值点的位置,获取相邻局部峰值点的频谱曲线;a fourth acquisition module, used for acquiring the spectral curve of adjacent local peak points according to the position of the local peak point;
第五获取模块,用于根据频谱曲线上峰值点所在的频率,获取尖锐度值;The fifth acquisition module is used to acquire the sharpness value according to the frequency at which the peak point on the spectrum curve is located;
写入模块,用于将强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。The writing module is used to write the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
所述终端设备40可以是智能手机、平板电脑、桌上型计算机、笔记本等计算设备。所述终端设备40可包括,但不仅限于,处理器400、存储器401。本领域技术人员可以理解,图4仅仅是终端设备40的示例,并不构成对终端设备40的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备40还可以包括输入输出设备、网络接入设备、总线等。The terminal device 40 may be a computing device such as a smart phone, a tablet computer, a desktop computer, and a notebook. The terminal device 40 may include, but is not limited to, a processor 400 and a memory 401 . Those skilled in the art can understand that FIG. 4 is only an example of the terminal device 40 , and does not constitute a limitation on the terminal device 40 , and may include more or less components than shown, or combine some components, or different components For example, the terminal device 40 may further include an input and output device, a network access device, a bus, and the like.
所称处理器400可以是中央处理单元(Central
Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application
Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The so-called processor 400 may be a central processing unit (Central
Processing Unit, CPU), other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application-specific integrated circuits (Application
Specific Integrated Circuit, ASIC), off-the-shelf Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
所述存储器401可以是所述终端设备40的内部存储单元,例如终端设备40的硬盘或内存。所述存储器401也可以是所述终端设备40的外部存储设备,例如所述终端设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器401还可以既包括所述终端设备40的内部存储单元也包括外部存储设备。所述存储器401用于存储所述计算机程序以及所述终端设备40所需的其他程序和数据。所述存储器401还可以用于暂时地存储已经输出或者将要输出的数据。The memory 401 may be an internal storage unit of the terminal device 40 , such as a hard disk or a memory of the terminal device 40 . The memory 401 may also be an external storage device of the terminal device 40, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) equipped on the terminal device 40 card, flash card (Flash Card) and so on. Further, the memory 401 may also include both an internal storage unit of the terminal device 40 and an external storage device. The memory 401 is used to store the computer program and other programs and data required by the terminal device 40 . The memory 401 can also be used to temporarily store data that has been output or will be output.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述终端设备的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. The module is completed, that is, the internal structure of the terminal device is divided into different functional units or modules, so as to complete all or part of the functions described above. Each functional unit and module in the embodiment may be integrated in one processing unit, or each unit may exist physically alone, or two or more units may be integrated in one unit, and the above-mentioned integrated units may adopt hardware. It can also be realized in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing from each other, and are not used to limit the protection scope of the present invention. For the specific working processes of the units and modules in the above-mentioned system, reference may be made to the corresponding processes in the foregoing method embodiments, which will not be repeated here.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。In the foregoing embodiments, the description of each embodiment has its own emphasis. For parts that are not described or described in detail in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of the present invention.
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。In the embodiments provided by the present invention, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other manners. For example, the apparatus/terminal device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units. Or components may be combined or may be integrated into another system, or some features may be omitted, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access
Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。The integrated modules/units, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium. Based on this understanding, the present invention can implement all or part of the processes in the methods of the above embodiments, and can also be completed by instructing relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium. When the program is executed by the processor, the steps of the foregoing method embodiments can be implemented. Wherein, the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file or some intermediate form, and the like. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, removable hard disk, magnetic disk, optical disk, computer memory, Read-Only Memory (ROM) , Random Access Memory
Memory, RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content contained in the computer-readable media may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, the computer-readable media Electric carrier signals and telecommunication signals are not included.
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should be understood that the size of the sequence numbers of the steps in the above embodiments does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments can be combined arbitrarily. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction in the combination of these technical features It is considered to be the range described in this specification.
以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。The above are only the embodiments of the present invention. It should be pointed out that for those of ordinary skill in the art, improvements can be made without departing from the inventive concept of the present invention, but these belong to the present invention. scope of protection.
Claims (10)
- 一种振动效果的生成方法,其特征在于,包括:A method for generating a vibration effect, comprising:获取振动数据流;Get the vibration data stream;获取所述振动数据流的包络曲线上局部峰值点的位置和大小;Obtain the position and size of the local peak point on the envelope curve of the vibration data stream;根据所述局部峰值点的大小获取所述振动数据流的强度值;Obtain the intensity value of the vibration data stream according to the size of the local peak point;根据所述局部峰值点的位置,获取相邻局部峰值点的频谱曲线;According to the position of the local peak point, obtain the spectral curve of the adjacent local peak point;根据所述频谱曲线上峰值点所在的频率,获取尖锐度值;Obtain the sharpness value according to the frequency at which the peak point on the spectrum curve is located;将所述强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。The corresponding relationship between the intensity value and the sharpness value is written into a file identifiable by the haptic vibration interface.
- 根据权利要求1所述的振动效果的生成方法,其特征在于,所述振动数据流包括位移数据,所述获取振动数据流,包括:The method for generating a vibration effect according to claim 1, wherein the vibration data stream comprises displacement data, and the acquiring the vibration data stream comprises:将所述位移数据进行最大位移归一化,得到相对位移数据。The displacement data is normalized to the maximum displacement to obtain relative displacement data.
- 根据权利要求2所述的振动效果的生成方法,其特征在于,所述获取所述振动数据流的包络曲线上局部峰值点的位置和大小,包括:The method for generating a vibration effect according to claim 2, wherein the obtaining the position and size of the local peak point on the envelope curve of the vibration data stream comprises:获取所述相对位移数据的包络曲线;obtaining an envelope curve of the relative displacement data;获取所述包络曲线上局部局部峰值点的位置和大小。Obtain the location and size of the local local peak point on the envelope curve.
- 根据权利要求3所述的振动效果的生成方法,其特征在于,所述根据所述局部峰值点的位置,获取相邻局部峰值点的频谱曲线,包括:The method for generating a vibration effect according to claim 3, wherein the obtaining the spectral curve of the adjacent local peak points according to the position of the local peak point comprises:获取当前局部峰值点的位置;Get the position of the current local peak point;获取下一个局部峰值点的位置;Get the position of the next local peak point;根据所述当前局部峰值点的位置和下一个局部峰值点的位置,获取所述当前局部峰值点到下一个局部峰值点的频谱曲线。According to the position of the current local peak point and the position of the next local peak point, a spectrum curve from the current local peak point to the next local peak point is acquired.
- 根据权利要求4所述的振动效果的生成方法,其特征在于,所述根据所述频谱曲线上峰值点所在的频率,获取尖锐度值,包括:The method for generating a vibration effect according to claim 4, wherein the obtaining the sharpness value according to the frequency at which the peak point on the spectrum curve is located comprises:获取所述频谱曲线上的峰值点所在的频率;obtaining the frequency at which the peak point on the spectrum curve is located;将所述峰值点所在的频率按照所述尖锐度值的范围进行归一化,得到相对频率值;Normalize the frequency at which the peak point is located according to the range of the sharpness value to obtain a relative frequency value;根据所述相对频率值得到对应的尖锐度值。The corresponding sharpness value is obtained according to the relative frequency value.
- 根据权利要求1所述的振动效果的生成方法,其特征在于,在所述获取振动数据流之前,所述方法还包括:The method for generating a vibration effect according to claim 1, wherein before the acquiring the vibration data stream, the method further comprises:获取当前数据流;Get the current data stream;若所述当前数据流为非振动数据流,则将所述非振动数据流转换为所述振动数据流。If the current data stream is a non-vibration data stream, the non-vibration data stream is converted into the vibration data stream.
- 根据权利要求6所述的振动效果的生成方法,其特征在于,所述若所述当前数据流为非振动数据流,则将所述非振动数据流转换为所述振动数据流,包括:The method for generating a vibration effect according to claim 6, wherein if the current data stream is a non-vibration data stream, converting the non-vibration data stream to the vibration data stream comprises:若所述当前数据流为非振动数据流,将所述非振动数据流的频率范围映射到所述振动数据流的振动频率范围。If the current data stream is a non-vibration data stream, the frequency range of the non-vibration data stream is mapped to the vibration frequency range of the vibration data stream.
- 一种振动效果的生成装置,其特征在于,包括:A device for generating a vibration effect, comprising:第一获取模块,用于获取振动数据流;The first acquisition module is used to acquire the vibration data stream;第二获取模块,用于获取所述振动数据流的包络曲线上局部峰值点的位置和大小;The second acquisition module is used for acquiring the position and size of the local peak point on the envelope curve of the vibration data stream;第三获取模块,用于根据所述局部峰值点的大小获取所述振动数据流的强度值;a third acquiring module, configured to acquire the intensity value of the vibration data stream according to the size of the local peak point;第四获取模块,用于根据所述局部峰值点的位置,获取相邻局部峰值点的频谱曲线;a fourth acquisition module, configured to acquire spectrum curves of adjacent local peak points according to the positions of the local peak points;第五获取模块,用于根据所述频谱曲线上峰值点所在的频率,获取尖锐度值;a fifth acquisition module, configured to acquire a sharpness value according to the frequency at which the peak point on the spectrum curve is located;写入模块,用于将所述强度值和尖锐度值的对应关系写入触觉振动接口可识别的文件中。The writing module is used for writing the corresponding relationship between the intensity value and the sharpness value into a file identifiable by the haptic vibration interface.
- 一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的振动效果的生成方法的步骤。A terminal device, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, when the processor executes the computer program, the process according to claim 1 to Steps of the method for generating a vibration effect according to any one of 7.
- 一种计算机可读的存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上执行时,使得所述计算机执行如权利要求1至7中任一项所述的振动效果的生成方法。A computer-readable storage medium on which a computer program is stored, characterized in that, when the computer program is executed on a computer, the computer is made to execute the vibration according to any one of claims 1 to 7 How to generate the effect.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011392359.XA CN112506341B (en) | 2020-12-01 | 2020-12-01 | Vibration effect generation method and device, terminal equipment and storage medium |
CN202011392359.X | 2020-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022116297A1 true WO2022116297A1 (en) | 2022-06-09 |
Family
ID=74968546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/137713 WO2022116297A1 (en) | 2020-12-01 | 2020-12-18 | Method and apparatus for generating vibration effect, and terminal device and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112506341B (en) |
WO (1) | WO2022116297A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115378302B (en) * | 2021-05-20 | 2023-12-12 | 荣耀终端有限公司 | Control method, device, equipment and readable storage medium for linear motor |
CN115395827A (en) | 2021-05-20 | 2022-11-25 | 荣耀终端有限公司 | Method, device and equipment for adjusting driving waveform and readable storage medium |
WO2022242300A1 (en) * | 2021-05-20 | 2022-11-24 | 荣耀终端有限公司 | Method and device for adjusting vibration waveform of linear motor |
CN116300415A (en) * | 2022-09-07 | 2023-06-23 | 瑞声开泰声学科技(上海)有限公司 | Output consistency control method and device for multiple vibrators and electronic equipment |
CN115390673A (en) * | 2022-09-13 | 2022-11-25 | 武汉市聚芯微电子有限责任公司 | Vibration data generation method and device, electronic equipment and storage medium |
CN116067602B (en) * | 2023-03-06 | 2023-07-14 | 西安航天动力研究所 | Random vibration signal generation method and device and electronic equipment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024481A (en) * | 2009-09-14 | 2011-04-20 | 展讯通信(上海)有限公司 | Method and device for extracting vibration information from audio file and vibrating device |
US20140285329A1 (en) * | 2013-03-21 | 2014-09-25 | Samsung Electronics Co., Ltd. | Terminal device for providing haptic effect using haptic engine and controlling method therefor |
CN110703903A (en) * | 2018-07-09 | 2020-01-17 | 意美森公司 | System and method for providing automatic haptic generation for video content |
CN111111157A (en) * | 2019-12-20 | 2020-05-08 | 瑞声科技(新加坡)有限公司 | Motor tactile signal generation method and motor tactile signal generation interface |
US20200211577A1 (en) * | 2018-12-31 | 2020-07-02 | AAC Technologies Pte. Ltd. | Method and device for audio signal processing, and storage medium |
CN111897427A (en) * | 2020-07-29 | 2020-11-06 | 东南大学 | Hardness touch reappearance method based on touch perception bionic characteristic |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW462900B (en) * | 2000-10-11 | 2001-11-11 | China Steel Corp | Vibration diagnosis method for abnormality or malfunctions of roller of hot rolling machine for steel strip |
US7623114B2 (en) * | 2001-10-09 | 2009-11-24 | Immersion Corporation | Haptic feedback sensations based on audio output from computer devices |
JP3757282B2 (en) * | 2003-03-26 | 2006-03-22 | 国立大学法人広島大学 | Food property measuring method and apparatus |
KR101498623B1 (en) * | 2008-06-25 | 2015-03-04 | 엘지전자 주식회사 | Mobile Terminal Capable of Previewing Different Channel |
CN101394439B (en) * | 2008-11-10 | 2011-11-02 | 华为终端有限公司 | Method and terminal for automatically controlling vibration strength of terminal |
US9576445B2 (en) * | 2013-09-06 | 2017-02-21 | Immersion Corp. | Systems and methods for generating haptic effects associated with an envelope in audio signals |
US9711014B2 (en) * | 2013-09-06 | 2017-07-18 | Immersion Corporation | Systems and methods for generating haptic effects associated with transitions in audio signals |
US9374478B1 (en) * | 2013-12-03 | 2016-06-21 | Marvell International Ltd. | Adaptive image sharpening |
CN105163262B (en) * | 2015-09-30 | 2017-12-19 | 南京师范大学 | A kind of loudspeaker sound detection method and detecting system |
FR3062945B1 (en) * | 2017-02-13 | 2019-04-05 | Centre National De La Recherche Scientifique | METHOD AND APPARATUS FOR DYNAMICALLY CHANGING THE VOICE STAMP BY FREQUENCY SHIFTING THE FORMS OF A SPECTRAL ENVELOPE |
CN109410907B (en) * | 2017-08-18 | 2022-07-15 | 比亚迪股份有限公司 | Cloud rail noise processing method, device, equipment and storage medium |
CN108430003B (en) * | 2018-03-30 | 2020-01-14 | Oppo广东移动通信有限公司 | Sound effect compensation method and device, readable storage medium and terminal |
CN109241838A (en) * | 2018-07-27 | 2019-01-18 | 重庆理工大学 | Speed changer quality evaluating method based on psychologic acoustics objective parameter |
CN111796790B (en) * | 2019-04-09 | 2023-09-08 | 深圳市冠旭电子股份有限公司 | Sound effect adjusting method and device, readable storage medium and terminal equipment |
CN111552378B (en) * | 2020-03-31 | 2023-11-10 | 瑞声科技(新加坡)有限公司 | Vibration signal generation method, device, terminal and storage medium |
-
2020
- 2020-12-01 CN CN202011392359.XA patent/CN112506341B/en active Active
- 2020-12-18 WO PCT/CN2020/137713 patent/WO2022116297A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024481A (en) * | 2009-09-14 | 2011-04-20 | 展讯通信(上海)有限公司 | Method and device for extracting vibration information from audio file and vibrating device |
US20140285329A1 (en) * | 2013-03-21 | 2014-09-25 | Samsung Electronics Co., Ltd. | Terminal device for providing haptic effect using haptic engine and controlling method therefor |
CN110703903A (en) * | 2018-07-09 | 2020-01-17 | 意美森公司 | System and method for providing automatic haptic generation for video content |
US20200211577A1 (en) * | 2018-12-31 | 2020-07-02 | AAC Technologies Pte. Ltd. | Method and device for audio signal processing, and storage medium |
CN111111157A (en) * | 2019-12-20 | 2020-05-08 | 瑞声科技(新加坡)有限公司 | Motor tactile signal generation method and motor tactile signal generation interface |
CN111897427A (en) * | 2020-07-29 | 2020-11-06 | 东南大学 | Hardness touch reappearance method based on touch perception bionic characteristic |
Also Published As
Publication number | Publication date |
---|---|
CN112506341B (en) | 2022-05-03 |
CN112506341A (en) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022116297A1 (en) | Method and apparatus for generating vibration effect, and terminal device and storage medium | |
US10770050B2 (en) | Audio data processing method and apparatus | |
JP6250985B2 (en) | A system to convert sound into haptic effect using mapping | |
US10834503B2 (en) | Recording method, recording play method, apparatuses, and terminals | |
US20080139195A1 (en) | Remote access for mobile devices | |
US10665218B2 (en) | Audio data processing method and device | |
CN112017687B (en) | Voice processing method, device and medium of bone conduction equipment | |
US10783884B2 (en) | Electronic device-awakening method and apparatus, device and computer-readable storage medium | |
CN110070884B (en) | Audio starting point detection method and device | |
CN111785238B (en) | Audio calibration method, device and storage medium | |
WO2020151491A1 (en) | Image deformation control method and device and hardware device | |
CN104967951A (en) | Method and apparatus for reducing noise | |
WO2021147157A1 (en) | Game special effect generation method and apparatus, and storage medium and electronic device | |
US9559658B2 (en) | Filter coefficient group computation device and filter coefficient group computation method | |
CN106162484A (en) | A kind of earphone impedance detecting system, method and portable electric appts | |
WO2020134547A1 (en) | Fixed-point acceleration method and apparatus for data, electronic device and storage medium | |
CN110070885B (en) | Audio starting point detection method and device | |
CN112992167A (en) | Audio signal processing method and device and electronic equipment | |
CN110085214B (en) | Audio starting point detection method and device | |
CN111615045A (en) | Audio processing method, device, equipment and storage medium | |
CN107358943B (en) | Network virtual woodwind instrument | |
US9438195B2 (en) | Variable equalization | |
CN112825245A (en) | Real-time sound modification method and device and electronic equipment | |
CN112289298A (en) | Processing method and device for synthesized voice, storage medium and electronic equipment | |
US9979369B2 (en) | Audio peak limiting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20964142 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20964142 Country of ref document: EP Kind code of ref document: A1 |