A vibration feedback method, apparatus and electronic device

By detecting the target vibration mode selected by the user, collecting audio data and performing preset processing, the driving parameters are determined to drive the motor to vibrate. This solves the problem that the vibration scheme in the existing technology cannot match user preferences and music changes, thus improving the user experience.

CN116077925BActive Publication Date: 2026-06-02SHANGHAI AWINIC TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI AWINIC TECH CO LTD
Filing Date
2023-02-14
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing vibration solutions cannot take into account the user's preferred vibration mode and changes in music frequency, resulting in a poor user experience.

Method used

By detecting the target vibration mode selected by the user, collecting audio data and performing preset processing, determining the driving parameters to drive the motor vibration, and matching the vibration frequency and amplitude by combining user preferences and audio characteristics.

Benefits of technology

It enables personalized vibration feedback based on user preferences and audio characteristics, thus enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116077925B_ABST
    Figure CN116077925B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of electronic equipment, in particular to a vibration feedback method and device and electronic equipment. The method comprises the following steps: detecting a request indicating switching to a target vibration mode to play audio, and switching to the target vibration mode; collecting first audio data; performing preset processing on the collected first audio data in the target vibration mode, and determining first driving parameters corresponding to the first audio data, wherein the first driving parameters at least comprise a first amplitude parameter; obtaining second driving parameters corresponding to the target vibration mode, wherein the second driving parameters at least comprise a vibration time length corresponding to a preset and a second amplitude parameter; determining third driving parameters for driving a motor to vibrate based on the first driving parameters and the second driving parameters, wherein the third driving parameters at least comprise the preset vibration time length and a third amplitude parameter determined based on the first amplitude parameter and the second amplitude parameter; and driving the motor to vibrate by using the determined third driving parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic equipment technology, and in particular to a vibration feedback method, device and electronic equipment. Background Technology

[0002] With the continuous development of electronic device technology, smartphones and other electronic devices have become widely popular and used, allowing users to engage in entertainment and work through various software. However, simply experiencing images and sounds through sight and hearing alone may not provide a truly immersive experience. Therefore, electronic devices need to simultaneously generate vibrations, combining visuals and sound to create a more immersive user experience.

[0003] However, existing vibration solutions can only match a uniform preset vibration frequency and amplitude to different vibration scenarios, failing to consider the user's selected vibration mode preferences and changes in music frequency to determine the appropriate vibration frequency and amplitude. This results in a poor user experience for some users. Therefore, how to provide a vibration feedback solution that can differentiate based on the user's selected vibration mode preferences is a problem that urgently needs to be solved. Summary of the Invention

[0004] This application provides a vibration feedback method, apparatus, and electronic device. The vibration feedback method provided in this application can differentiate vibration feedback based on user-preferred vibration modes.

[0005] In a first aspect, embodiments of this application provide a vibration feedback method, the method comprising: detecting a request to switch to a target vibration mode for playing audio, and switching to the target vibration mode; acquiring first audio data; performing preset processing on the acquired first audio data in the target vibration mode to determine a first driving parameter corresponding to the first audio data, wherein the first driving parameter includes at least a first amplitude parameter; acquiring a second driving parameter corresponding to the target vibration mode, wherein the second driving parameter includes at least a corresponding preset vibration duration and a second amplitude parameter; determining a third driving parameter for driving motor vibration based on the first driving parameter and the second driving parameter, wherein the third driving parameter includes at least a preset vibration duration and a third amplitude parameter determined based on the first amplitude parameter and the second amplitude parameter; and driving motor vibration using the determined third driving parameter.

[0006] It is understandable that the system detects the user's selection of a target vibration mode that matches the current scene and switches to that mode. It is also understandable that the user can choose a vibration mode that best suits their needs in the current scenario. For example, in a party setting, the user might choose "Dynamic Mode." First audio data is collected; this first audio data can be an audio data stream output from various audio file formats after decoding. The first audio data includes at least amplitude parameters. Preset processing is performed on the collected first audio data under the target vibration mode to determine the first driving parameters corresponding to the first audio data. Based on the switched target vibration mode, corresponding preset duration and second amplitude parameters are obtained. Based on the aforementioned first and second driving parameters, a third driving parameter for driving the motor vibration is obtained.

[0007] In one possible implementation of the first aspect above, the method further includes: obtaining the target vibration mode by any of the following methods: receiving an operation from a user selecting a target vibration mode through a vibration mode selection control on an electronic device, and detecting a request to switch to the target vibration mode; receiving an operation from a user selecting a target vibration mode on a human-computer interaction interface displayed on an electronic device, and detecting a request to switch to the target vibration mode.

[0008] In one possible implementation of the first aspect above, the method further includes: the target vibration mode is a first vibration mode, and the acquired first audio data is subjected to preset processing under the target vibration mode, including: acquiring second audio data; dividing the second audio data into multiple audio units that are sequentially continuous; and filtering the multiple audio units to obtain the first audio data.

[0009] In one possible implementation of the first aspect above, the method further includes: filtering multiple audio units, including: performing low-pass filtering on the multiple audio units to obtain first audio data.

[0010] In one possible implementation of the first aspect above, the method further includes: determining a first driving parameter corresponding to the first audio data, including: obtaining the corresponding peak point in the audio waveform diagram corresponding to each audio unit; determining the maximum value among the peak points based on the corresponding peak point in the audio waveform diagram corresponding to each audio unit; determining the first driving parameter corresponding to the first audio data as the maximum value among the peak points; wherein the maximum value among the peak points is used to indicate the maximum amplitude in the first audio data.

[0011] For example, the peak point of each audio unit of the first audio data is determined, for example by sampling the data of the current frame data[k], the data of the previous frame data[k-1], and the data of the next frame data[k+1]. If data[k-1] < data[k] > data[k+1] and data[k] > 3000, then data[k] is considered to be the peak point, and data[k] is stored in the storage location specified by the control module, and this point is recorded as peak[1]. The next peak point is determined according to this method, and so on, recorded as peak[2], peak[3], etc., where there can be three or more peak points. Further, based on the comparison results of the peak points, the maximum amplitude in the first audio is obtained.

[0012] In one possible implementation of the first aspect above, the method further includes: obtaining a second driving parameter corresponding to the target vibration mode, including: obtaining a second driving parameter corresponding to the first vibration mode; wherein the first vibration duration corresponding to the first vibration mode is determined as a preset vibration duration.

[0013] In one possible implementation of the first aspect described above, the method further includes: the second driving parameter further includes the number of driving waveforms, and obtaining the second driving parameter corresponding to the first vibration mode includes: determining that the number of cycles of a preset driving waveform corresponding to the first vibration mode is the number of cycles in the first driving waveform in the second driving parameter. The number of cycles is the number of cycles of the AC driving signal corresponding to the driving waveform.

[0014] In one possible implementation of the first aspect above, the method further includes: determining a third driving parameter for driving motor vibration, including: a first amplitude parameter as the third amplitude parameter in the third driving parameter; determining a preset vibration duration as the first vibration duration based on the second driving parameter; and determining the number of first cycles in the first driving waveform based on the second driving parameter, wherein the number of waveforms in the number of first cycles is the product of the first vibration duration and the vibration frequency, and the vibration frequency is the natural frequency of the motor.

[0015] In one possible implementation of the first aspect above, the method further includes: the first driving waveform includes multiple waveforms with different amplitude parameters and the same vibration frequency, wherein the first driving waveform starts from the second waveform, and the amplitude parameter is successively reduced by the ratio of the first amplitude parameter to the number of first waveforms compared to the amplitude parameter of the previous waveform.

[0016] In one possible implementation of the first aspect described above, the method further includes: the target vibration mode is a second vibration mode, and, under the target vibration mode, a preset processing is performed on the acquired first audio data to determine a first driving parameter corresponding to the first audio data, including: acquiring the first audio data; comparing the absolute value of the amplitude of the first audio data with a predetermined value; counting the number of absolute values ​​of amplitude in the first audio data that are greater than the predetermined value; calculating the percentage of the number of absolute values ​​of amplitude in the first audio data that are greater than the predetermined value in the first audio data; comparing the percentage with a preset percentage; and determining the first driving parameter based on the comparison result.

[0017] In one possible implementation of the first aspect above, the method further includes: comparing the percentage with a preset percentage, including: determining a third driving parameter for driving the motor vibration based on the comparison result and the second driving parameter; wherein the comparison result is a percentage greater than the preset percentage.

[0018] In one possible implementation of the first aspect above, the method further includes: determining a third driving parameter for driving motor vibration, including: determining a first preset amplitude corresponding to the second vibration mode as a second amplitude parameter, wherein the first preset amplitude is used to indicate the maximum amplitude of the driving motor vibration; and determining a second vibration duration corresponding to the second vibration mode as a preset vibration duration.

[0019] In one possible implementation of the first aspect described above, the method further includes: the second driving parameter further includes the number of driving waveforms, and obtaining the second driving parameter corresponding to the second vibration mode includes: determining that the number of cycles of a preset driving waveform corresponding to the second vibration mode is the number of cycles in the second driving waveform in the second driving parameter. The number of cycles is the number of cycles of the AC driving signal corresponding to the driving waveform.

[0020] In one possible implementation of the first aspect above, the method further includes: determining a third driving parameter for driving motor vibration, including: using a second amplitude parameter as the third amplitude parameter in the third driving parameter; determining a preset vibration duration as a second vibration duration based on the second driving parameter, wherein the vibration duration is the period corresponding to a single waveform in the second driving waveform; and determining the number of second periods in the second driving waveform based on the second driving parameter, wherein the number of second periods in the second driving waveform is one period.

[0021] In one possible implementation of the first aspect above, the method further includes: the second driving waveform includes at least one waveform: wherein the amplitude parameter of the second driving waveform is a third amplitude parameter, and the vibration frequency is the natural frequency of the motor.

[0022] In one possible implementation of the first aspect above, the method further includes: driving the motor to vibrate using a determined third driving parameter, comprising: converting and / or amplifying the third driving parameter to determine a vibration voltage for driving the motor to vibrate; and driving the motor to vibrate according to the vibration voltage.

[0023] Secondly, embodiments of this application provide a vibration feedback device, which includes: a control module, a motor drive module, a motor, and a vibration mode selection control; wherein, the vibration mode selection control is used to detect a request indicating switching to a target vibration mode to play audio; the control module is used to acquire the request sent by the vibration mode selection control, switch to the target vibration mode, and acquire first audio data; based on the target vibration mode, perform preset processing on the acquired first audio data to determine a first driving parameter corresponding to the first audio data, the first driving parameter including at least a first amplitude parameter; and acquire a second driving parameter corresponding to the target vibration mode, the second driving parameter including at least a corresponding preset vibration duration and a second amplitude parameter; based on the first driving parameter and the second driving parameter, determine a third driving parameter for driving the motor to vibrate, wherein the third driving parameter includes at least a vibration duration, a third amplitude parameter determined based on the first amplitude parameter and the second amplitude parameter, and the number of driving waveforms; the motor drive module is used to drive the motor to vibrate using the determined third driving parameter; and the motor is used to vibrate according to the control of the motor drive module.

[0024] In one possible implementation of the second aspect above, the device further includes: a vibration feedback device, and a human-machine interface for detecting a request to switch to a target vibration mode for audio playback; wherein the human-machine interface is used to receive an operation by a user selecting a target vibration mode on the human-machine interface displayed on the electronic device, and to detect the request to switch to the target vibration mode. In another possible implementation of the second aspect above, the device further includes: a vibration mode selection control including at least one vibration mode selection control, wherein the vibration mode selection control has a one-to-one correspondence with the target vibration mode.

[0025] In one possible implementation of the second aspect described above, the apparatus further includes: detecting a request to switch to a target vibration mode for playing audio, comprising: detecting a combination of user operations detected by a vibration mode selection control to detect the request to switch to a target vibration mode for playing audio, wherein the combination of user operations includes one or more user operations on the vibration mode selection control.

[0026] In one possible implementation of the second aspect above, the apparatus further includes: driving a motor to vibrate using determined third driving parameters, comprising: a motor drive module converting and / or amplifying the third driving parameters to determine a vibration voltage for driving the motor to vibrate.

[0027] Thirdly, embodiments of this application provide an electronic device, including: one or more processors; one or more memories; the one or more memories storing one or more programs, which, when executed by one or more processors, cause the electronic device to perform the vibration feedback method provided in the first aspect and various possible implementations described above. Attached Figure Description

[0028] Figure 1 The diagram shows a flowchart of an existing vibration feedback scheme.

[0029] Figure 2 A schematic flowchart of a vibration feedback method is shown according to an embodiment of this application.

[0030] Figure 3 A waveform diagram of unfiltered audio data is shown according to an embodiment of this application.

[0031] Figure 4 A waveform diagram of filtered audio data is shown according to an embodiment of this application.

[0032] Figure 5 A schematic diagram of the peak point of an audio data point is shown according to an embodiment of this application.

[0033] Figure 6 An embodiment of this application illustrates a motor drive waveform corresponding to audio data.

[0034] Figure 7 An embodiment of this application illustrates a motor drive waveform corresponding to another audio data in the audio data.

[0035] Figure 8 An embodiment of this application illustrates a waveform diagram of irregularly changing audio data.

[0036] Figure 9 An embodiment of this application illustrates a waveform diagram of audio data from continuous shooting in a shooting game.

[0037] Figure 10 An embodiment of this application shows an enlarged audio data waveform of a point marked 1 in a continuous shooting game.

[0038] Figure 11 An embodiment of this application shows an enlarged audio data waveform of point 2 marked as 2 in a continuous shooting game.

[0039] Figure 12 An embodiment of this application shows an enlarged audio data waveform of point 3 marked as 3 in a continuous shooting game.

[0040] Figure 13 An embodiment of this application illustrates a motor drive waveform diagram for continuously shooting a point in a shooting game.

[0041] Figure 14 A schematic diagram of a vibration feedback device is shown according to an embodiment of this application.

[0042] Figure 15 A schematic diagram of another vibration feedback device is shown according to an embodiment of this application.

[0043] Figure 16 The diagram shown is a structural schematic of an electronic device 100 provided in an embodiment of this application. Detailed Implementation

[0044] The specific embodiments of this application will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of this application.

[0045] To facilitate understanding of the solutions in the embodiments of this application, the terms used in the embodiments of this application will be explained below.

[0046] (1) Microcontroller Unit (MCU): Also known as a single-chip microcomputer or microcontroller, it is a chip-level computer that integrates memory, timer, Universal Serial Bus (USB), A / D conversion, Universal Asynchronous Receiver Transmitter (UART), Programmable Logic Controller (PLC), Direct Memory Access (DAM) and LCD driving circuitry on a single chip to achieve different combinations of control for different applications.

[0047] (2) Analog-to-Digital Converter (ADC): This typically refers to an electronic component that converts analog signals into digital signals. A typical ADC converts an input voltage signal into an output digital signal. Since digital signals themselves do not have practical meaning, only representing a relative magnitude, any ADC needs a reference analog quantity as a conversion standard. A common reference standard is the magnitude of the largest convertible signal. The output digital quantity represents the magnitude of the input signal relative to the reference signal.

[0048] (3) Digital-to-analog converter: also known as a D / A converter, it is a device that converts digital quantities into analog quantities. A D / A converter basically consists of four parts: a weighted resistor network, an operational amplifier, a reference power supply, and an analog switch. Analog-to-digital converters generally use analog-to-digital converters.

[0049] (4) Random Access Memory (RAM): Random access memory, also called main memory, is the internal memory that directly exchanges data with the CPU. It can be read and written at any time and is very fast. It is usually used as a temporary data storage medium for the operating system or other running programs.

[0050] (5) Low-pass filter: This is a filtering method. The rule of low-pass filtering is that low-frequency signals can pass normally, while high-frequency signals exceeding a set threshold are blocked or attenuated. However, the extent of blocking or attenuation of high-frequency signals can be changed according to the frequency of different signals and different filtering programs. It is sometimes also called high-cut filter or treble-cut filter. In this application, the set threshold can be the amplitude parameter of the first audio data corresponding to the maximum amplitude parameter of the motor.

[0051] (6) User Interface (UI): It is the medium for interaction and information exchange between the system and the user. It realizes the conversion between the internal form of information and the form that humans can accept. The user interface is the software designed between the user and the hardware to facilitate interaction and communication between them. Its purpose is to enable the user to operate the hardware conveniently and efficiently to achieve two-way interaction and complete the work that the user wants to accomplish with the help of the hardware. The definition of user interface is broad, including human-computer interaction and graphical user interface. User interfaces exist in any field involving information exchange between humans and machines.

[0052] Figure 1A flowchart of an existing vibration feedback scheme is shown. The entity executing each step in this existing vibration feedback scheme can be a game controller, or an electronic device such as a mobile phone.

[0053] like Figure 1 As shown, the process includes the following steps:

[0054] 101: Obtain the scene information of the current electronic device.

[0055] It is understandable that a game controller can obtain current scene information. This scene information includes various types of information such as the current screen and / or sound information of the electronic device.

[0056] 102: Vibration event detected in the current electronic device. The event coordinates of the current vibration event are detected.

[0057] It's understandable that the game controller detects multiple event information entries, filters these entries, and identifies those that meet preset conditions as vibration events. These preset conditions can be either factory-set or user-defined. A coordinate system is pre-established on the electronic device's display interface to further obtain the event coordinates of the current vibration event on the display, i.e., the location of the event that triggers the motor.

[0058] 103: Match the corresponding motor identifier based on the event coordinates of the current vibration event.

[0059] It's understandable that the game controller determines the location of the current vibration event's coordinates within the electronic device's display interface based on these coordinates. This display interface is divided into four areas, each corresponding to a different motor identifier on the game controller. Different areas correspond to different motor identifiers and the number of motors. These motor identifiers can be Motor 1, Motor 2, Motor 3, Motor 4, etc.

[0060] Furthermore, the motor identifier is determined based on the location of the current vibration event's event coordinates within the electronic device.

[0061] 104: The vibration effect is matched with the vibration event to control the motor vibration corresponding to the motor identifier.

[0062] It can be understood that, based on the determination results of steps 101 to 104 above, the motor corresponding to the motor identifier is controlled to vibrate with a matching vibration effect. Specifically, according to a predefined vibration effect library, a corresponding vibration effect is matched for the determined vibration event. The vibration effect varies depending on the event coordinates of the vibration event.

[0063] It is understandable that existing vibration feedback schemes detect vibration events contained in the scene information displayed on the current electronic device's screen by establishing a correspondence between preset vibration effects and event coordinates. Further, the event coordinates corresponding to the vibration event are obtained, and the regional position of the event coordinates on the electronic device's screen is determined. Different regional positions correspond to different motor identifiers. Further, based on the regional position of the current vibration event's event coordinates on the electronic device, the motor identifier is determined, and the motor corresponding to the identified motor identifier is controlled to vibrate with a matching vibration effect.

[0064] Specifically, based on a predefined library of vibration effects, a corresponding vibration effect is matched for a given vibration event. The vibration effect varies depending on the event coordinates of the vibration event.

[0065] While existing vibration feedback schemes have solved the problem of a single vibration effect, they can only achieve multiple vibration effects by pre-setting different vibration effects, and cannot detect the user's preference for different vibration modes, and therefore cannot differentiate vibration feedback based on the user's preferred vibration mode.

[0066] To address the aforementioned problems, this application provides a vibration feedback method applied to electronic devices. Specifically, this method detects the target vibration mode to be switched and, in conjunction with the frequency distribution characteristics of the acquired audio signal, comprehensively determines which vibration frequency and frequency change the electronic device will use to control motor vibration under the target vibration mode. The target vibration mode can be one selected from a set of preset vibration modes, and can be, for example, a vibration mode indicated by the user (i.e., the user-selected vibration mode), or a vibration mode matched to the scene by the electronic device based on scene perception capabilities, etc., without limitation.

[0067] It is understood that the vibration feedback method provided in this application can be applied to electronic devices including but not limited to the aforementioned mobile phones, personal computers (PCs) (including laptops, desktop computers, tablets, etc.), servers, wearable devices, mobile email devices, in-vehicle devices, and portable game consoles.

[0068] The following is combined with Figure 2 This application provides a detailed description of the specific implementation process of the vibration feedback method provided in its embodiments.

[0069] Figure 2A schematic flowchart of a vibration feedback method is shown according to an embodiment of this application. It is understood that the entity executing each step of this method can be a vibration feedback device or equipment implementing the vibration feedback method of this application. The specific structure of the vibration feedback device or equipment will be described in detail below and will not be repeated here.

[0070] like Figure 2 As shown, the process includes the following steps:

[0071] 201: A request to switch to the target vibration mode to play audio was detected. Switch to the target vibration mode.

[0072] For example, upon detecting a request to switch to the target vibration mode for audio playback, the system switches to the target vibration mode. It is understood that users can select a vibration mode that best suits their needs in the current scenario. For example, in a party setting, a user might choose "Dynamic Mode." In other embodiments, the electronic device can also perform scene perception and recognition based on preset scene information, and then automatically select a vibration mode that best matches the current scene. Users can select the desired vibration mode using preset vibration mode selection controls on the electronic device. There can be K vibration mode selection controls, each corresponding to a different vibration mode. In other embodiments, only one vibration mode selection control may be provided, and the user can select the target vibration mode by pressing it a certain number of times. For example, pressing once selects the first vibration mode, and pressing twice selects the second vibration mode. When the current vibration mode is the last one, the user presses the vibration mode selection control to switch to the first vibration mode, and then selects the target vibration mode based on the current scenario. Alternatively, the target vibration mode can be selected by the duration of pressing the vibration mode selection control; this is not limited here.

[0073] In other embodiments, users can select the vibration mode corresponding to the current scene through the UI interface of the host computer or the vibration mode selection interface provided by the application software. The host computer can be a software module in an electronic device used to provide vibration mode options to the user, or it can be another electronic device connected to the electronic device. In some embodiments, the host computer can be a mobile phone, and the connected electronic device can be, for example, a speaker or a game controller, etc., without limitation.

[0074] It is understandable that the vibration mode selected by the user and corresponding to the current scene is detected, the selected vibration mode is determined, and the vibration mode is switched.

[0075] 202: Based on the switched target vibration mode, acquire the first audio data.

[0076] For example, the first audio data can be an audio data stream output from an audio file of various formats after being decoded by a decoder. The first audio data includes at least an amplitude parameter.

[0077] It is understandable that different vibration modes correspond to different sampling rates. Based on the target vibration mode after switching, the first audio data is collected and converted into a digital signal.

[0078] 203: Perform preset processing on the acquired first audio data under the target vibration mode to determine the first driving parameters corresponding to the first audio data.

[0079] It is understood that the aforementioned first driving parameter includes at least the first amplitude parameter. Furthermore, to provide users with a better vibration experience, the electronic device can preset different audio data processing methods for different vibration modes. For example, the preset audio data processing method for the first vibration mode may differ from the preset audio data processing method for the second vibration mode.

[0080] Specifically, when the target vibration mode is the first vibration mode, the acquired first audio data is divided into multiple consecutive audio units, and each of the multiple consecutive audio units is subjected to a low-pass filter. The peak value of each audio unit after filtering is obtained, and then the peak values ​​of the audio units are compared to obtain the maximum value of the peak value of each audio unit. This maximum value is used as the first driving parameter.

[0081] When the target vibration mode is the second vibration mode, the collected first audio data is compared with a predetermined value. The number of absolute values ​​of audio data in the first audio data that are greater than the predetermined value is counted, thereby calculating the percentage of the first audio data containing such absolute values. This calculated percentage is then compared with a preset percentage. If the calculated percentage is greater than the preset percentage, it is determined that the first audio data needs vibration. The predetermined value and preset percentage can be adjusted according to actual conditions and requirements, and are not restricted here.

[0082] 204: Obtain the second driving parameters corresponding to the target vibration mode, and determine the third driving parameters for driving the motor vibration based on the first driving parameters and the second driving parameters.

[0083] For example, the second driving parameter includes at least a preset vibration duration and a second amplitude parameter corresponding to the target vibration mode. The third driving parameter includes at least a preset vibration duration corresponding to the target vibration mode, and a third amplitude parameter determined based on the first amplitude parameter and the second amplitude parameter.

[0084] It is understandable that different vibration modes correspond to different vibration durations. When the target vibration mode is the first vibration mode, the first sine wave of the motor drive waveform is generated based on the maximum value of the peak values ​​of each audio unit and the motor's natural frequency FO. Then, the complete motor drive waveform is calculated based on the preset vibration duration, generating the motor drive data, i.e., the third drive parameter. To obtain better vibration feedback, the vibration intensity gradually decreases from strong to weak until it reaches zero. Furthermore, the motor needs to remain stationary between two consecutive audio units, therefore, motor drive data does not need to be generated. The vibration duration corresponding to the first vibration mode can be adjusted according to requirements and is not limited here.

[0085] In this application, the second vibration mode is suitable for audio data that changes irregularly and abruptly. When it is determined that the acquired first audio data requires vibration, a motor drive waveform is generated based on the maximum amplitude and natural frequency F0 that the motor can withstand. To obtain better vibration feedback, in the second vibration mode, the preset vibration duration of the drive motor can be a sine wave period.

[0086] It is understandable that motor drive data, i.e., the third drive parameter, can be obtained from the generated motor drive waveform and motor vibration duration.

[0087] 205: The motor is driven to vibrate using a determined third driving parameter.

[0088] It is understandable that the strength of motor vibration is controlled by the voltage across the motor. Therefore, the motor drive module in the electronic device converts or amplifies the generated motor drive data, that is, it converts or amplifies the third drive parameter to obtain the voltage value used to drive the motor vibration, thereby driving the motor to vibrate according to the obtained voltage value. It is also understandable that different vibration modes correspond to one or more motors, and when driving the motor to vibrate, one or more motors can be driven to vibrate simultaneously.

[0089] The following details the specific implementation process of achieving different vibration feedback effects using the first and second vibration modes in steps 201 to 205 above. It is understood that the first and second vibration modes described above are merely illustrative and do not limit the number of vibration modes in this application. Other vibration modes may be included in other embodiments, which are not limited here.

[0090] In other embodiments, the first vibration mode may be, for example, a gentle mode or a music mode. In this embodiment, the sampling rate of the first vibration mode is 12K, or 12,000 points per second. In other embodiments, the sampling rate can be adjusted according to actual needs, and no limitation is made here. The control module of the electronic device acquires audio data, divides the acquired first audio data into multiple consecutive audio units, and performs a low-pass filtering process on each of the multiple consecutive audio units to remove high-frequency signals. The specific low-pass filtering formula is as follows:

[0091]

[0092] Where y[k] is the first audio data output at the k-th time, y[k-1] is the first audio data output at the (k-1)-th time, and y[k-2] is the first audio data output at the (k-2)-th time; x[k] is the first audio data input at the k-th time, x[k-1] is the first audio data input at the (k-1)-th time, and x[k-2] is the first audio data input at the (k-2)-th time; the coefficients 1.8521, 0.8623, etc. in the formula can be adjusted according to the requirements in actual implementation scenarios, and are not restricted here. The filtered first audio data is referenced. Figure 4 As shown, where Figure 4 The horizontal axis of the waveform graph of the audio data shown represents the sampling time, which can be in milliseconds (ms), such as 500ms, 1000ms, etc.; the vertical axis represents the audio amplitude, which can be in decibels (dB), such as 1.5×10^4dB, etc. Figure 4 Compared to Figure 3 The first audio data waveform without filtering is shown. The filtered audio digital signal removes high-frequency signals. The threshold value for low-pass filtering can be the maximum vibration amplitude of a motor in an electronic device. Therefore... Figure 3 The horizontal axis of the waveform of the audio data shown can also be in dB, and the vertical axis can be in ms.

[0093] Furthermore, the peak point of each audio unit of the first audio data is determined. For example, this can be done by sampling the data of the current frame (data[k]), the data of the previous frame (data[k-1]), and the data of the next frame (data[k+1]). If data[k-1] < data[k] > data[k+1] and data[k] > 3000, then data[k] is considered a peak point. Data[k] is stored in the storage location specified by the control module, and this point is recorded as peak[1]. The next peak point is determined according to this method, and so on, recorded as peak[2], peak[3], etc. There can be three or more peak points, which is not limited here. For example Figure 5 The peak point of an audio unit is shown below, according to Figure 5 It can be seen that when peak[1]<peak[2]> When peak[3] is reached, peak[2] is determined to be the highest point of the audio unit, and also the maximum peak value of the audio unit. This can be understood as follows: Figure 5 The waveform diagram shown can be Figure 4 The waveform diagram shown is an enlarged view of part of the waveform. Figure 5 The vertical axis of the waveform diagram shown can also be in decibels (dB).

[0094] Further, a sine wave with an amplitude equal to the maximum peak point of the first audio data, i.e., peak[2], and a frequency equal to the natural frequency F0 of the motor, is generated. In this embodiment, the first vibration mode, in order to match the corresponding vibration scenario and improve the user's experience, gradually reduces the vibration from strong to weak, and finally reduces it to zero, and the entire vibration process lasts for 300ms. Figure 6 The motor drive waveform shown has a maximum amplitude of approximately 2.1 × 10^4 dB and is a sine wave with a frequency of 170 Hz. In this embodiment, the duration of one sine wave is approximately 1000 / 170 ms, which is approximately 5.882 ms. There will be approximately 51 sine waves in 300 ms. To better obtain a vibration sensation that gradually weakens, the amplitude of each sine wave, starting from the second sine wave, is 2.1 × 10^4 / 51 of the previous amplitude.

[0095] In other embodiments, a corresponding motor drive waveform can be generated based on the actual maximum peak point of the first audio data and the motor's natural frequency. The motor drive waveform for the next audio data is then generated using the method described above. Figure 7 The waveform is a gradually decreasing sine wave with a maximum amplitude of 1.7 × 10^4 dB and a frequency of 170 Hz. To obtain better vibration feedback, the motor needs to remain stationary between two consecutive audio data points during the first vibration mode, at which point no data input is required to the motor drive module.

[0096] It is understandable that the above Figure 6 and Figure 7 The horizontal axis of the waveform graph of the motor drive data shown represents the audio amplitude, which can be in dB, and the vertical axis represents the frequency, which can be in Hz.

[0097] Furthermore, the control module of the electronic device sends the generated motor drive data to the motor drive module. It can be understood that the strength of the motor vibration is controlled by the voltage across the motor terminals. Therefore, the motor drive module in the electronic device converts or amplifies the generated motor drive data to obtain the voltage value used to drive the motor vibration, thereby driving the motor to vibrate according to the obtained voltage value. It can be understood that in the first vibration mode, because the amplitude of each sine wave in the generated drive waveform is different, the amplitude of the voltage waveform used to drive the motor vibration after conversion or amplification by the motor drive module is also different, thus achieving a vibration effect from strong to weak.

[0098] Depend on Figure 8 As can be seen, the changes in the first audio data at this point are quite complex and irregular, making it unsuitable for the audio data processing method of the first vibration mode. Therefore, to obtain a better vibration effect, the user can select the second vibration mode. In other embodiments, the second vibration mode could be, for example, a motion mode or a game mode, and this is not limited here. This vibration mode does not perform filtering processing on the acquired first audio data.

[0099] Understandably, in the second vibration mode, the electronic device can collect first audio data based on a preset collection volume. When the percentage of the number of first audio data points with absolute values ​​greater than a predetermined value exceeds a preset percentage, it is determined that a rhythmic point requiring vibration has appeared in that segment of the first audio data. A motor drive waveform is generated based on the maximum amplitude and natural frequency F0 that the motor can withstand. To obtain better vibration feedback, in the second vibration mode, the vibration duration of the drive motor can be one sine wave period.

[0100] The motor drive waveform is a sine wave with an amplitude corresponding to the maximum amplitude the motor can withstand and a frequency equal to the motor's natural frequency F0. To provide users with a better vibration experience, in the second vibration mode, the motor can be driven to vibrate only one sine wave for each vibration rhythm point.

[0101] Figure 9 The image shows the first audio data graph of a shooting game during continuous shooting.

[0102] like Figure 9 As shown, the points marked 1, 2, and 3 can represent the continuous shooting points detected in a certain shooting game.

[0103] according to Figure 9The first audio data diagram shown can be preset so that the control module in the electronic device collects 1024 first audio data points at a time, with a total acquisition time of approximately 20.33 ms. The acquisition rate of the second vibration mode is 48K, i.e., 48,000 acquisitions per second, and the specified and predetermined amplitude is 2.8 × 10^4 dB, which is 85% of the maximum amplitude that the motor can withstand during vibration. In other embodiments, this predetermined value can be adjusted according to the user's needs.

[0104] Figure 10 for Figure 9 The first audio data image after magnification of the point marked 1 in the middle, and the corresponding... Figure 11 and Figure 12 for Figure 9 The first audio data image after magnification, showing points marked 2 and 3. From the above... Figures 10 to 12 It can be seen that each rhythmic point requiring vibration is composed of several first audio data points. Therefore, when a rhythmic point occurs, the first audio data of each rhythmic point can be collected individually. When the number of collected first audio data points whose absolute values ​​are greater than a predetermined value exceeds 20% of the collected first audio data, it is determined that a point requiring vibration has occurred in the first audio data. Wherein, the above... Figures 8 to 12 The horizontal axis of the waveform graph of the audio data shown represents the audio amplitude in dB, and the vertical axis represents the sampling time in ms.

[0105] Therefore, based on the above determination results, a motor drive waveform with the horizontal axis in dB and the vertical axis in Hz is generated, for example... Figure 13 The waveform shown is a motor drive waveform with an amplitude of 3.2767 × 10^4 dB and a frequency F0 of 170 Hz. To achieve better vibration effects, in the second vibration mode of this embodiment, the motor drive module drives the motor to vibrate only one sine wave with a duration of 1000 / 170 ms, approximately 5.882 ms. Further, the control module sends the generated motor drive data to the motor drive module. The motor drive module converts or amplifies the generated motor drive data to obtain a voltage value used to drive the motor vibration, thereby driving the motor to vibrate according to the obtained voltage value.

[0106] Figure 14 A schematic diagram of a vibration feedback device is shown according to an embodiment of this application.

[0107] like Figure 14As shown, the device includes one or more vibration mode selection controls, a speaker, a control module (MCU), a motor drive module, and one or more motors. When there is only one button, different vibration modes are selected by pressing the button a certain number of times. For example, pressing once selects the first vibration mode, pressing twice selects the second vibration mode. When the current vibration mode is the last one, pressing the button first switches to the first vibration mode, and then the user selects the corresponding vibration mode according to their needs. Alternatively, the selected vibration mode can be determined by pressing and holding the function key for a long time; this is not a limitation.

[0108] When the control module MCU detects that the vibration mode selection control is pressed, it switches the current vibration mode to the vibration mode corresponding to the pressed vibration mode selection control. The MCU's ADC peripheral monitors the speaker in real time. When the speaker is detected to be activated, it acquires first audio data based on the current vibration mode. Different vibration modes correspond to different acquisition methods and acquisition rates. The acquired first audio data is further stored in a designated storage location in the control module MCU, such as RAM. The control module MCU processes the first audio data according to the first audio data processing method corresponding to the current vibration mode, generating motor drive data to drive the motor vibration. This motor drive data includes the motor drive waveform and the motor vibration duration. The control module MCU sends the generated motor drive data to the motor drive module through its built-in 12C / 12S / DAC / GPIO pins. The motor drive module further converts or amplifies the generated motor drive data to obtain the voltage value used to drive the motor vibration, thereby driving the motor to vibrate according to the obtained voltage value. The audio data processing methods for different vibration modes and the motor vibration methods have been combined through... Figures 3 to 13 The details will be explained in conjunction with the text, and will not be repeated here.

[0109] Figure 15 A schematic diagram of another vibration feedback device is shown according to an embodiment of this application.

[0110] like Figure 15 As shown, the device includes a host computer, a communication module, a speaker, a control module (MCU), a motor drive module, and one or more motors. In this embodiment, the host computer may be a software module within the vibration feedback device, used to provide a display screen showing vibration mode selection options. In some embodiments, the host computer may be, for example, a mobile phone, and the vibration feedback device may be, for example, a game controller connected to the mobile phone; no limitation is made herein.

[0111] It is understandable that users can select the vibration mode corresponding to the current situation based on the vibration mode options provided by the host computer's UI interface or application software. The host computer sends the selection result to the vibration feedback device through the communication module, and the external communication module of the control module MCU receives the vibration mode selection information sent by the host computer. The communication module in the host computer and the communication module of the vibration feedback device can communicate via wired or wireless means.

[0112] Based on the received vibration mode selection information, the control module MCU switches the current vibration mode to the user-selected vibration mode. The MCU's ADC peripheral monitors the speaker in real time. When speaker activation is detected, it acquires first audio data based on the current vibration mode. Different vibration modes correspond to different acquisition methods and rates. The acquired first audio data is then stored in a designated storage location within the control module MCU, such as RAM. The control module MCU processes the first audio data according to the first audio data processing method corresponding to the current vibration mode, generating motor drive data to drive the motor. This motor drive data includes the motor drive waveform and motor vibration duration. The control module MCU sends the generated motor drive data to the motor drive module via its built-in I2C / I2S / DAC / GPIO pins. The motor drive module further converts or amplifies the generated motor drive data to obtain the voltage value used to drive the motor vibration, thereby driving the motor to vibrate according to the obtained voltage value. The audio data processing methods for different vibration modes and the motor vibration methods have been combined through... Figures 3 to 13 The details will be explained in conjunction with the text, and will not be repeated here.

[0113] Figure 16 According to some embodiments of this application, a schematic diagram of the structure of an electronic device 100 is shown.

[0114] like Figure 16 As shown, the electronic device 100 includes one or more processors 101, system memory 102, non-volatile memory (NVM) 103, communication interface 104, input / output (I / O) devices 105, and system control logic 106 for coupling the processor 101, system memory 102, non-volatile memory 103, communication interface 104, and input / output (I / O) devices 105. Wherein:

[0115] The processor 101 may include one or more processing units, such as a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a micro-programmed control unit (MCU), an AI (Artificial Intelligence) processor, or a programmable logic device (FPGA), a neural network processing unit (NPU), etc. The data processing unit or processing circuit may include one or more single-core or multi-core processors. In some embodiments, the processor 101 may be used to execute instructions to implement the relevant functions of the aforementioned data processing unit, tagging unit, and data storage unit.

[0116] System memory 102 is volatile memory, such as random-access memory (RAM), double data rate synchronous dynamic random-access memory (DDR SDRAM), etc. System memory is used for temporary storage of data and / or instructions. For example, in some embodiments, system memory 102 can be used to store instructions of data processing unit 21, tagging unit 22, and data storage unit 12, and can also be used to store original data objects and modified data objects.

[0117] The non-volatile memory 103 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. In some embodiments, the non-volatile memory 103 may include any suitable non-volatile memory and / or any suitable non-volatile storage device, such as a hard disk drive (HDD), a compact disc (CD), a digital versatile disc (DVD), a solid-state drive (SSD), etc. In some embodiments, the non-volatile memory 103 may also be a removable storage medium, such as a secure digital (SD) memory card, etc. In other embodiments, the non-volatile memory 103 may be used to store instructions of the data processing unit 21, the tagging unit 22, and the data storage unit 12, and may also be used to store original data objects and modified data objects.

[0118] Specifically, system memory 102 and non-volatile memory 103 may each include a temporary copy and a permanent copy of instruction 107. Instruction 107 may include, when executed by at least one of processors 101, causing electronic device 100 to implement the vibration feedback method provided in the embodiments of this application.

[0119] The communication interface 104 may include a transceiver for providing a wired or wireless communication interface for the electronic device 100, thereby enabling communication with any other suitable device via one or more networks. In some embodiments, the communication interface 104 may be integrated into other components of the electronic device 100, for example, the communication interface 104 may be integrated into the processor 101. In some embodiments, the electronic device 100 may communicate with other devices through the communication interface 104. For example, the electronic device 100 may establish a communication connection with the electronic device 200 through the communication interface 104 to send acquired first audio data and motor drive data to the electronic device 200 via the communication connection.

[0120] Input / output (I / O) device 105 may include input devices such as keyboard, mouse, etc., and output devices such as monitor, etc. Users can interact with electronic device 100 through input / output (I / O) device 105.

[0121] System control logic 106 may include any suitable interface controller to provide any suitable interface to other modules of electronic device 100. For example, in some embodiments, system control logic 106 may include one or more memory controllers to provide an interface to system memory 102 and non-volatile memory 103.

[0122] Understandable. Figure 16 The structure of the electronic device 100 shown is merely an example. In other embodiments, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0123] This application also provides a program product for implementing the vibration feedback methods provided in the above embodiments.

[0124] Various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. Embodiments of this application can be implemented as computer modules or module code executing on a programmable system, the programmable system including at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.

[0125] Module code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a Digital Signal Processor (DSP), a microcontroller, an Application Specific Integrated Circuit (ASIC), or a microprocessor.

[0126] Module code can be implemented using a high-level modular language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used to implement module code when needed. In fact, the mechanisms described in this application are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.

[0127] In the accompanying drawings, some structural or methodological features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.

[0128] It should be noted that in the examples and description of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

[0129] Although this application has been illustrated and described with reference to certain preferred embodiments thereof, those skilled in the art should understand that various changes in form and detail may be made thereto without departing from the spirit and scope of this application.

Claims

1. A vibration feedback method, characterized in that, include: A request to switch to a target vibration mode for audio playback is detected, and the system switches to the target vibration mode, which includes a first vibration mode and a second vibration mode. Collect the first audio data; In the target vibration mode, the first audio data collected is subjected to preset processing to determine the first driving parameter corresponding to the first audio data, wherein the first driving parameter includes at least the first amplitude parameter; Obtain the second driving parameters corresponding to the target vibration mode, wherein the second driving parameters include at least the corresponding preset vibration duration and second amplitude parameters; Based on the first driving parameters and the second driving parameters, a third driving parameter for driving the motor vibration is determined; The motor is driven to vibrate using a determined third driving parameter; When the target vibration mode is the first vibration mode, determining the third driving parameter for driving the motor vibration includes: The first amplitude parameter serves as the third amplitude parameter in the third driving parameters; The preset vibration duration is determined as the first vibration duration based on the second driving parameters; The number of first cycles in the first drive waveform is determined based on the second drive parameters, wherein the number of first cycles is the product of the first vibration duration and the vibration frequency, and the vibration frequency is the natural frequency of the motor. When the target vibration mode is the second vibration mode, determining the third driving parameter for driving the motor vibration includes: The second amplitude parameter is used as the third amplitude parameter in the third driving parameters; The preset vibration duration is determined as the second vibration duration based on the second driving parameters, wherein the second vibration duration is the period duration corresponding to a single waveform in the second driving waveform; The number of second cycles in the second driving waveform is determined based on the second driving parameters, wherein the number of second cycles in the second driving waveform is one cycle.

2. The method according to claim 1, characterized in that, The target vibration mode is obtained through any of the following methods: Upon receiving an operation from a user selecting the target vibration mode via a vibration mode selection control on an electronic device, a request to switch to the target vibration mode is detected; Upon receiving a user's selection of the target vibration mode on the human-computer interaction interface displayed on the electronic device, a request to switch to the target vibration mode is detected.

3. The method according to claim 2, characterized in that, When the target vibration mode is the first vibration mode, and the preset processing is performed on the acquired first audio data under the target vibration mode, the process includes: The first audio data collected is divided into multiple audio units that are sequentially continuous. The multiple audio units are filtered.

4. The method according to claim 3, characterized in that, The filtering process for the plurality of audio units includes: performing low-pass filtering on the plurality of audio units.

5. The method according to claim 4, characterized in that, Determining the first driving parameter corresponding to the first audio data includes: Obtain the corresponding peak point in the audio waveform diagram for each audio unit; The maximum value among the peak points is determined based on the corresponding peak points in the audio waveform diagram corresponding to each audio unit; The first driving parameter corresponding to the first audio data is determined to be the maximum value among the peak points; The maximum value among the peak values ​​is used to indicate the maximum amplitude value in the first audio data.

6. The method according to claim 5, characterized in that, The second driving parameter also includes the number of driving waveforms, and obtaining the second driving parameter corresponding to the target vibration mode includes: The number of cycles of the preset driving waveform corresponding to the first vibration mode is determined to be the number of cycles of the first driving waveform in the second driving parameters, wherein the number of cycles is the number of cycles of the AC driving signal corresponding to the first driving waveform.

7. The method according to claim 6, characterized in that, The first driving waveform includes multiple waveforms with different amplitude parameters but the same vibration frequency. Starting from the second waveform, the amplitude parameter of the first driving waveform decreases sequentially from the amplitude parameter of the previous waveform by the ratio of the first amplitude parameter to the number of first waveforms.

8. The method according to claim 1, characterized in that, The target vibration mode is the second vibration mode, and, The step of performing preset processing on the acquired first audio data under the target vibration mode to determine the first driving parameters corresponding to the first audio data includes: Compare the amplitude of the first audio data with a predetermined value; Count the number of audio data items whose amplitude is greater than a predetermined value; The percentage of absolute amplitude values ​​in the first audio data that are greater than a predetermined value is calculated. Compare the percentage with a preset percentage; The first driving parameter is determined based on the result of the comparison.

9. The method according to claim 8, characterized in that, The step of comparing the percentage with a preset percentage includes: Based on the comparison results and the second driving parameters, a third driving parameter for driving motor vibration is determined; wherein the comparison results are defined as the percentage being greater than the preset percentage.

10. The method according to claim 8, characterized in that, The determination of the third driving parameter used to drive the motor vibration includes: The first preset amplitude corresponding to the second vibration mode is determined as the second amplitude parameter, wherein the first preset amplitude is used to indicate the maximum amplitude of the drive motor vibration; The second vibration duration corresponding to the second vibration mode is determined as the preset vibration duration.

11. The method according to claim 8, characterized in that, The second driving parameter also includes the number of driving waveforms, and obtaining the second driving parameter corresponding to the second vibration mode includes: The number of cycles of the preset driving waveform corresponding to the second vibration mode is determined to be the number of cycles of the second driving waveform in the second driving parameters, wherein the number of cycles of the second driving waveform is the number of cycles of the AC driving signal corresponding to the second driving waveform.

12. The method according to claim 1, characterized in that, The second driving waveform includes at least one waveform: wherein the amplitude parameter of the second driving waveform is used as a third amplitude parameter, and the vibration frequency is the natural frequency of the motor.

13. The method according to claim 1, characterized in that, The method of driving the motor to vibrate using determined third driving parameters includes: The third driving parameter is converted and / or amplified to determine the vibration voltage used to drive the motor vibration; The motor is driven to vibrate based on the vibration voltage.

14. A vibration feedback device, characterized in that, include: The system includes a control module, a motor drive module, a motor, and a vibration mode selection control; wherein the vibration mode selection control is used to detect a request to switch to a target vibration mode for audio playback. The control module is used to acquire the request sent by the vibration mode selection control and switch to the target vibration mode, wherein the target vibration mode includes a first vibration mode and a second vibration mode; Collect the first audio data; Based on the target vibration mode, the first audio data collected is subjected to preset processing to determine the first driving parameter corresponding to the first audio data. The first driving parameter includes at least the first amplitude parameter. And a second driving parameter for obtaining the target vibration mode, wherein the second driving parameter includes at least a corresponding preset vibration duration and a second amplitude parameter; Based on the first driving parameters and the second driving parameters, a third driving parameter for driving the motor vibration is determined; A motor drive module is used to drive a motor to vibrate using determined third drive parameters; A motor, used to vibrate according to the control of the motor drive module; When the target vibration mode is the first vibration mode, determining the third driving parameter for driving the motor vibration includes: The first amplitude parameter serves as the third amplitude parameter in the third driving parameters; The preset vibration duration is determined as the first vibration duration based on the second driving parameters; The number of first cycles in the first drive waveform is determined based on the second drive parameters, wherein the number of first cycles is the product of the first vibration duration and the vibration frequency, and the vibration frequency is the natural frequency of the motor. When the target vibration mode is the second vibration mode, determining the third driving parameter for driving the motor vibration includes: The second amplitude parameter is used as the third amplitude parameter in the third driving parameters; The preset vibration duration is determined as the second vibration duration based on the second driving parameters, wherein the second vibration duration is the period duration corresponding to a single waveform in the second driving waveform; The number of second cycles in the second driving waveform is determined based on the second driving parameters, wherein the number of second cycles in the second driving waveform is one cycle.

15. The apparatus according to claim 14, characterized in that, The vibration feedback device further includes: The human-computer interaction interface is used to detect requests to switch to the target vibration mode to play audio; The human-computer interaction interface is used to receive the user's operation of selecting the target vibration mode on the human-computer interaction interface displayed on the electronic device, and to detect the request to switch to the target vibration mode.

16. The apparatus according to claim 14, characterized in that, The vibration feedback device includes at least one vibration mode selection control, wherein each vibration mode selection control corresponds to a different vibration mode.

17. The apparatus according to claim 14, characterized in that, The method for detecting a request to switch to a target vibration mode for audio playback includes: Based on the user operation combination detected by the vibration mode selection control, a request to switch to the target vibration mode for audio playback is detected, wherein the user operation combination includes one or more user operations on the vibration mode selection control.

18. The apparatus according to claim 14, characterized in that, The method for driving the motor to vibrate using determined third driving parameters includes... The motor drive module converts and / or amplifies the third drive parameter to determine the vibration voltage used to drive the motor vibration.

19. An electronic device, characterized in that, include: One or more processors; One or more memories; the one or more memories storing one or more programs, which, when executed by the one or more processors, cause the electronic device to perform the vibration feedback method according to any one of claims 1 to 13.