A method, system and storage medium for predicting drum hit points

By comparing the actual and predicted beat points of the electronic drums and dynamically adjusting the weights of the prediction model, the problem of electronic drum latency was solved, the prediction accuracy was improved in cases of unstored tracks and mistakes, and the performance experience was enhanced.

CN116153278BActive Publication Date: 2026-05-08SHENZHEN MOOER AUDIO CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN MOOER AUDIO CO LTD
Filing Date
2023-02-20
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing electronic drums suffer from latency issues during performance, making it difficult to effectively handle situations where performers play unrecorded tracks or make mistakes, thus affecting the audience's experience.

Method used

By comparing actual striking point information with predicted striking point information, different prediction models are used to adjust the weights and obtain future striking point information, including a first prediction model and a second prediction model, which are dynamically adjusted according to the performance to improve accuracy.

Benefits of technology

It improves the predictive accuracy of electronic drums when playing unstored tracks or making mistakes, reduces latency, ensures that electronic drums deliver the beat sounds in time, and enhances the playing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116153278B_ABST
    Figure CN116153278B_ABST
Patent Text Reader

Abstract

The application provides a method and system for predicting a drum hitting point and a storage medium, comprising: obtaining actual hitting point information at a current time and predicted hitting point information corresponding to the current time; determining whether the actual hitting point information is the same as the predicted hitting point information; if yes, using a first prediction model to obtain future hitting point information; if no, obtaining a time difference between an initial time and the current time; determining whether the time difference exceeds a preset time period; if yes, using the first prediction model to obtain the future hitting point information; if no, obtaining a number of times that the actual hitting point information is different from the predicted hitting point information; determining whether the number of times exceeds a preset number of times; if no, using the first prediction model to obtain the future hitting point information; if yes, adjusting a weight of the first prediction model to obtain a second prediction model, and using the second prediction model to obtain the future hitting point information. The application can alleviate the problem of drum delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of predicting the beat points of an electronic drum, and in particular to a method, system, and storage medium for predicting the beat points of an electronic drum. Background Technology

[0002] The drum kit's varied rhythms and the drummer's superb playing skills have made it an indispensable instrument in rock music, popular among young people. However, in today's fast-paced life, the drum kit is relatively difficult to learn, requiring a certain level of skill and considerable practice, making it difficult for most people to dedicate a significant amount of time to practice. With societal development, electronic drums, due to their ease of learning and similar effects to the drum kit, have quickly replaced it. However, electronic drums operate on different principles; they use a sensor to receive signals, resulting in a slight delay when played, which can negatively impact the audience's experience.

[0003] In related technologies, electronic drums have multiple strike points and store predictive models applicable to predicting the strike points for several songs. These models are trained based on the strike points corresponding to the stored songs. When a performer plays a song, the predictive model already determines the strike point to be struck at the next moment, and this strike point is ready to be struck. That is, when a performer plays a stored song, the predictive model, when the performer strikes the strike point corresponding to the current performance, has already predicted the strike point for the next moment, so that the electronic drum immediately emits the sound required for that strike point as soon as the performer begins to touch it. However, performers may make mistakes during performance or play songs not stored, and existing predictive models may not meet the needs of users and cannot solve the existing latency problem of electronic drums. Summary of the Invention

[0004] To alleviate the problem of delay in electronic drum beats, embodiments of this application provide a method, system, and storage medium for predicting the beat points of electronic drum beats.

[0005] In a first aspect, this embodiment provides a method for predicting the striking point of an electric drum, the method comprising:

[0006] Obtain the actual striking point information at the current moment and the predicted striking point information corresponding to the current moment. Determine whether the actual striking point information is the same as the predicted striking point information. If they are the same, use the first prediction model that represents the current performance attribute to obtain the future numerical value of future striking point information that the performer needs to strike at future moments.

[0007] If they are not the same, obtain the time difference between the initial time when the performance started and the current time, and determine whether the time difference exceeds a preset time period. If it does, use the first prediction model to obtain future numerical values ​​and future striking point information.

[0008] If it does not exceed the time difference, obtain the number of times the actual tapping point information differs from the predicted tapping point information within the time difference, determine whether the number of times exceeds the preset number, and if it does not exceed the preset number, use the first prediction model to obtain future numerical future tapping point information.

[0009] If the number of times exceeds a preset limit, the weight of the first prediction model is adjusted based on the actual tapping point information and the predicted tapping point information to obtain a second prediction model that represents the change of performance attributes. The second prediction model is then used to obtain future numerical values ​​of future tapping point information.

[0010] In some embodiments, using a first prediction model representing the current performance attributes to obtain future numerical values ​​and future striking points representing the performer's future striking points includes:

[0011] Obtain the set of past tapping point information corresponding to the current moment, wherein the set of past tapping point information includes the actual tapping point information and a preset number of past tapping point information with the current moment as a reference;

[0012] Using the set of past tapping information as input, a first prediction model is used to replace the future numerical tapping information, wherein the first prediction model is trained based on the tapping information corresponding to the tracks already stored in the electronic drum.

[0013] In some embodiments, using the first prediction model to obtain future numerical values ​​of future tapping point information includes:

[0014] The predicted tapping point information is replaced with the actual tapping point information to obtain an updated set of past tapping point information. The set of past tapping point information is then used as input to obtain future numerical values ​​of future tapping point information using a first prediction model.

[0015] In some embodiments, adjusting the weights of the first prediction model based on the actual tapping point information and the predicted tapping point information includes:

[0016] Obtain the information difference between the actual striking point information and the predicted striking point information, obtain the weight difference representing the weight in the first prediction model and the weight in the prediction model corresponding to the actual performance based on the information difference, and adjust the weight of the first prediction model based on the weight difference.

[0017] In some embodiments, the first prediction model includes a first numerical layer weight, and obtaining the weight difference representing the weights in the first prediction model and the weights in the prediction model corresponding to the actual performance based on the information difference includes:

[0018] Using the current moment as a reference point, obtain the set of past tapping points corresponding to the previous moment, and then obtain the set of intermediate tapping points after subtracting one layer of weights from the first value in the first prediction model.

[0019] The weight error of the last layer weight of the first prediction module at the previous time step is obtained based on the intermediate tapping point information set and the information difference, wherein the weight error is the weight difference.

[0020] In some embodiments, the value after adding one to the preset value is not less than the future value.

[0021] In some embodiments, after determining that the actual striking point information is different from the predicted striking point information, the method further includes generating a prompt signal indicating that the performer has made a mistake.

[0022] Secondly, this embodiment provides a system for predicting the striking points of an electronic drum. The system includes a processing module, which comprises an acquisition unit, a judgment unit, a first prediction unit, an adjustment unit, and a second prediction unit.

[0023] The acquisition unit is used to acquire the actual tapping point information at the current moment, and the predicted tapping point information corresponding to the current moment;

[0024] The judgment unit is used to determine whether the actual tapping point information is the same as the predicted tapping point information;

[0025] The first prediction unit is used to obtain future numerical values ​​of future tapping points that the performer needs to tap at future moments when the actual tapping point information is the same as the predicted tapping point information.

[0026] The acquisition unit is also used to acquire the time difference between the initial time at which the performance started and the current time when the actual striking point information is different from the predicted striking point information.

[0027] The judgment unit is also used to determine whether the time difference exceeds a preset time period;

[0028] The first prediction unit is used to obtain future numerical values ​​and future tapping point information when the time difference exceeds a preset time period using the first prediction model.

[0029] The acquisition module is also used to acquire, within the time difference, the number of times the actual tapping point information differs from the predicted tapping point information when the time difference does not exceed the preset time period.

[0030] The judgment module is also used to determine whether the number of times exceeds a preset number;

[0031] The first prediction unit is further configured to use the first prediction model to obtain future numerical values ​​and future tapping point information if the number of taps does not exceed a preset number of taps.

[0032] The adjustment unit is used to adjust the weight of the first prediction model based on the actual tapping point information and the predicted tapping point information if the number of taps exceeds a preset number of taps, so as to obtain a second prediction model that represents the change of performance attributes.

[0033] The second prediction unit is used to obtain future numerical values ​​and future tapping point information using the second prediction model.

[0034] In some embodiments, the processing module further includes a prompting unit, which generates a prompting signal indicating a performance error by the performer after the actual striking point information differs from the predicted striking point information.

[0035] Thirdly, embodiments of this application provide a storage medium storing a computer program that can run on a processor, wherein the computer program, when executed by the processor, implements a method for predicting the beat of an electric drum as described in the first aspect.

[0036] By employing the above method, this application first determines whether the actual and predicted tapping point information are the same by comparing the actual and predicted tapping point information. If they are the same, a first prediction model trained based on the tapping point information corresponding to the stored pieces is used to obtain the tapping point information for future moments. If they are different, the relationship between the time difference and a preset time period is determined. If the time difference is greater than the preset time period, it indicates that the difference is caused by the performer's playing, and the first prediction model needs to be used again to obtain the tapping point information for future moments. If the time difference is not greater than the preset time period, the relationship between the number of different occurrences within the time difference and a preset number is further determined. If the number is not greater than the predicted number, it indicates that the difference is caused by the performer's playing, and the first prediction model needs to be used again to obtain the tapping point information for future moments. If the number is greater than the predicted number, it indicates that the difference is caused by the performer not playing the stored pieces, and a second prediction model is obtained based on the first prediction model to obtain the tapping point information for future moments. By selecting appropriate prediction models for different situations, the accuracy of future strike point information can be improved, so that the corresponding strike points are ready. This way, when the performer first touches the strike point, the electronic drums will immediately produce the sound that the strike point needs to produce, which helps to alleviate the problem of electronic drum delay. Attached Figure Description

[0037] Figure 1 This is a schematic diagram of the working principle of the electric drum provided in this embodiment.

[0038] Figure 2 This is a flowchart of a method for predicting the striking point of an electric drum provided in this embodiment.

[0039] Figure 3 This is a flowchart of a method for adjusting the weights of the first prediction model provided in this embodiment.

[0040] Figure 4 This is a framework diagram of a predictive electric drum beat point system provided in this embodiment. Detailed Implementation

[0041] To better understand the purpose, technical solutions, and advantages of this application, it has been described and illustrated below with reference to the accompanying drawings and embodiments. However, those skilled in the art should understand that this application can be implemented without these details. It will be apparent to those skilled in the art that various modifications can be made to the embodiments disclosed in this application, and the general principles defined in this application can be applied to other embodiments and application scenarios without departing from the principles and scope of this application. Therefore, this application is not limited to the illustrated embodiments, but is consistent with the broadest scope claimed in this application.

[0042] The embodiments of this application will now be described in further detail with reference to the accompanying drawings.

[0043] An electronic drum set is a sensor that receives signals. When a drumstick strikes the receiver on the drum plate, the sensor transmits the signal via wires to a dedicated drum sound generator that stores the sound. The output sound is then read and sent to the speakers, where it is emitted and heard. An electronic drum set includes hi-hats, crash cymbals, tinkling cymbals, three tom-toms, a snare drum, a bass drum, a pedal, and drumsticks. Each cymbal and each drum has a corresponding striking point, which is the location of the trigger. When the drumstick strikes each striking point, the electronic drum produces the corresponding sound. Figure 1 This is a schematic diagram illustrating the working principle of the electric drum provided in this embodiment. Figure 1 As shown, after the drumstick strikes the drumhead or cymbal at the striking point, the sensor in the trigger at that striking point generates a voltage signal, which is transmitted to the electronic drum sound source via a data cable and converted into a digital MIDI signal. The sound source plays a pre-made sound sample file based on the striking point information carried by the MIDI signal and the force information corresponding to that striking point, so that people can hear the sound of the electronic drum.

[0044] Figure 2 This is a flowchart of a method for predicting the impact point of an electric drum provided in this embodiment. Figure 2 As shown, a method for predicting the impact point of an electric drum includes the following steps:

[0045] Step S100: Obtain the actual tapping point information at the current moment and the predicted tapping point information corresponding to the current moment, and determine whether the actual tapping point information is the same as the predicted tapping point information.

[0046] Each strike point on the electronic drum corresponds to a specific and unique number. The aforementioned actual strike point information represents the strike point number and strike force at the current moment, including the actual strike point number and actual strike force. The predicted strike point information represents the strike point number and strike force predicted from past moments for the current moment, including the predicted strike point number and predicted strike force. Here, "past moments" can be the previous moment relative to the current moment, or several moments prior to the current moment. To obtain more accurate predicted strike point information, in this embodiment, the predicted strike point information represents the strike point information predicted from the previous moment for the current moment.

[0047] Since both the striking point number and the striking point force use the same prediction model, if the striking point number can be accurately predicted, the striking point force can definitely be predicted accurately as well. That is, when the actual striking point number is the same as the predicted striking point number, it indicates that the actual striking point information is the same as the predicted striking point information. Therefore, by simply determining whether the actual striking point number is the same as the predicted striking point number, it is possible to determine whether the actual striking point information is the same as the predicted striking point information.

[0048] A camera is located next to the electronic drum set, and a pressure sensor is installed on the drumstick grip. Both the camera and the pressure sensor are connected to the processing module. When the drumstick is placed on the electronic drum, the pressure sensor can only detect a very small force, that is, the force exerted by the drumhead. At this point, the pressure does not reach the preset pressure value set by the pressure sensor, so the pressure sensor will not send a pressure signal to the processing module. Consequently, the processing module will not send a shooting signal to the camera, keeping the camera in a sleep state.

[0049] When the performer picks up the drumsticks, their hand applies a certain amount of force. The pressure sensor detects this force, and if it reaches a preset pressure value, it sends a pressure signal to the processing module. The processing module receives this signal and sends a shooting signal to the camera, initiating the shooting process to capture an image of the performer playing the drums. This image is then sent to an image processing unit, which is connected to the camera and processing model. The preset pressure value prevents other objects from accidentally sending the signal to the processing module, minimizing unnecessary shooting.

[0050] After receiving an image, the image processing device extracts its features to obtain the position coordinates of the drumstick within the image and sends these coordinates to the processing module. The processing module stores coordinate regions corresponding to several striking points. It compares the obtained coordinate position with each coordinate region. If a coordinate region contains the given coordinate position, it indicates that the position belongs to that region; otherwise, it indicates that the position does not belong to that region. After determining the coordinate region to which the position belongs, the striking point corresponding to that region is identified, and then the striking point number is determined based on the striking point, thus obtaining the actual striking point information at the current moment. Furthermore, the electronic drum is a sensor for receiving signals; therefore, the drum itself can determine the striking force of each striking point.

[0051] The aforementioned predicted striking point information is obtained from past moments by the prediction model. Based on the number of input information corresponding to the prediction model, the numbers and forces corresponding to the striking points that are closest to the present moment and have occurred the same number are used as input information for the prediction model. The prediction model then uses this information to predict the numbers and forces corresponding to the striking points at the current moment. By comparing the numbers corresponding to the actual striking points with the numbers corresponding to the predicted striking points, it can be determined whether the actual striking point information is the same as the predicted striking point information. When the numbers corresponding to the actual striking points are the same as the numbers corresponding to the predicted striking points, it indicates that the actual striking point information is the same as the predicted striking point information; when the numbers corresponding to the actual striking points are different from the numbers corresponding to the predicted striking points, it indicates that the actual striking point information is different from the predicted striking point information.

[0052] Step S200: If the actual striking point information is the same as the predicted striking point information, use the first prediction model corresponding to the current performance attribute to obtain the future numerical value of future striking point information that the performer needs to strike at future moments.

[0053] When the performer first begins playing, since there is no information about past striking points, the initial striking points the performer needs to make are not predicted. After the performer has struck the same number of points as the input information corresponding to the prediction model, several striking points that are closest to the present moment and have already occurred can be obtained. These striking points are then used as input to the prediction model to predict the striking points for future moments.

[0054] Using a first prediction model representing the current performance attributes to obtain information on the future numerical number of future striking points that the performer needs to strike at future moments includes: obtaining a set of past striking point information corresponding to the current moment, wherein the set of past striking point information includes actual striking point information and a preset numerical number of striking point information in the past with reference to the current moment; using the set of past striking point information as input, using the first prediction model to predict the future numerical number of future striking point information, wherein the first prediction model is trained based on the striking point information corresponding to the tracks already stored in the electronic drum.

[0055] The electronic drum unit stores most of the available tracks. When a performer plays a track, it's assumed they will choose one from the stored tracks; that is, the current performance attribute corresponds to a stored track. Each stored track has its own percussion point information, which can be predicted using a deep learning model. In this embodiment, the first prediction model can use a backpropagation (BP) neural network, dividing the intensity into different intensity levels, each with a corresponding numerical value. Therefore, each percussion point can be equivalent to a two-dimensional array, where the two elements are the percussion point number and the percussion point intensity. The percussion point information of all stored tracks is then trained using this BP neural network.

[0056] The process involves training a backpropagation (BP) neural network using the tapping point information of a stored track to obtain a first prediction model. The input to this first prediction model is a set of past tapping point information corresponding to the current moment. This set includes the tapping point information at the current moment and a predicted number of tapping point information points in the past, with the current moment as a reference. The number of input tapping point information points is a preset value plus one. The output of the first prediction model is the tapping point information to be tapped at future moments, and the number of output tapping point information points is the future value.

[0057] To better predict future tapping point information, the preset value plus one should not be less than the future value. That is, it uses a larger number of already occurred tapping point information to predict a smaller number of unoccurred tapping point information. When the future value is not less than two, it indicates that the first prediction model can predict tapping point information at a more distant future time, providing a reference for subsequent tapping points. When the processing model's response time to different requests is greater than the time between two adjacent taps, the future value can be set to not less than two to allow the processing device more preparation time. When the future value is one, it indicates that the first prediction model only predicts the tapping point information at the next moment. Since predicting tapping point information closer to the current moment is more accurate, ensuring the corresponding tapping points are ready and mitigating drum delay, when the processing module's response time to different requests is not greater than the time between two adjacent taps, the future value can be set to one to improve the accuracy of the predicted tapping point information. This embodiment prioritizes prediction accuracy, with the future value set to one.

[0058] Each stored track corresponds to a number of tapping points in a specific order. Using each moment as a reference point, the tapping points corresponding to the pre-set value plus one and the future values ​​are used as the input and output of the first prediction model. This yields several sets of input and output values ​​for each stored track, with each set having a one-to-one correspondence. 70% of the input and output values ​​are randomly selected from all stored tracks to train a backpropagation (BP) neural network model, resulting in the first prediction model. After each tapping operation by the performer, the processing module stores the tapping information. Therefore, by retrieving the set of past tapping points corresponding to the current moment from the processing model and using this set as the input of the first prediction model, the future values ​​of future tapping points representing the performer's future tapping needs can be obtained.

[0059] Step S300: If the actual striking point information is different from the predicted striking point information, obtain the time difference between the initial time representing the start of the performance and the current time, determine whether the time difference exceeds the preset time period, and if it does, use the first prediction model to obtain future numerical values ​​of future striking point information.

[0060] During a performance, the processing module records each moment. The initial time mentioned above corresponds to the moment the performer first started playing a piece. Subtracting the initial time from the current time gives the time difference, which is the time period during which the performer played that piece. The preset time period is used to distinguish whether the performer is playing a stored piece. For example, if the piece the performer is actually playing is not a stored piece, but the percussion information within this time period is the same as the stored percussion information (but no two pieces are identical), this preset time period can distinguish whether the performer is playing a stored piece. If the actual percussion information differs from the predicted percussion information, and this difference exceeds the time period, it is assumed that the performer made a mistake, and the performer still needs to continue playing the current piece. Therefore, the first prediction model should continue to be used to predict the percussion information for future moments. The preset time period is obtained through big data analysis.

[0061] The process of using the first prediction model to predict future numerical values ​​of future tapping point information includes: replacing the predicted tapping point information with the actual tapping point information to obtain an updated set of past tapping point information, and using the set of past tapping point information as input to obtain future numerical values ​​of future tapping point information using the first prediction model.

[0062] The past beat information set represents the actual beat information. Because the performer's error causes the actual beat information to differ from the predicted beat information (the predicted beat information is correct, while the actual beat information is incorrect), when using the past beat information set to predict the future beat information at the next moment, the erroneous actual beat information should be replaced with the predicted beat information. This results in a correct past beat information set, which is then input into the first prediction model to predict the future beat information at the next moment. In other words, using a correct past beat information set to predict future beat information improves the accuracy of future beat information compared to using a past beat information set containing incorrect information. This ensures that the corresponding beat is prepared, allowing the electronic drums to immediately produce the required sound when the performer first touches the beat, thus mitigating the electronic drum delay problem.

[0063] At any other time in the future, whenever the set of past tapping information contains actual tapping information where the performer played incorrectly, the incorrect actual tapping information should be replaced with the correct predicted tapping information to obtain a new set of past tapping information. This new set of past tapping information is then used as input to predict future tapping information using the first prediction model.

[0064] In addition, after determining that the actual striking point information is different from the predicted striking point information, the system also includes generating a prompt signal that indicates the performer's playing error.

[0065] If the actual striking point information differs from the predicted striking point information, the processing module assumes that the performer has made a mistake. In this case, the processing module will generate a prompt signal and display the prompt information on the electronic drum display screen to remind the performer that there may be a mistake in the performance.

[0066] Step S400: If the time difference does not exceed the preset time period, obtain the number of times the actual tapping point information differs from the predicted tapping point information within the time difference, determine whether the number exceeds the preset number, and if it does not exceed the preset number, use the first prediction model to obtain future numerical values ​​of future tapping point information.

[0067] Even if an electronic drum kit stores most of the available tracks, with the continuous updating of tracks as society progresses, it's impossible to store all tracks. If the time difference doesn't exceed a preset time period, the performer might make a mistake, leading to an incorrect performance, or they might be playing a track not already stored. Therefore, it's necessary to obtain the number of times the actual and predicted tapping points differ within the time difference. If the actual and predicted tapping points are inconsistent, the display will show a warning message to alert the performer of a potential error, allowing them to adjust promptly and reduce the likelihood of further mistakes. Therefore, if the number of discrepancies doesn't exceed a preset limit, it indicates the performer only made mistakes on a few tapping points and played a stored track. In this case, the first prediction model can be used to predict the future tapping points for subsequent moments.

[0068] Step S500: If the number of times exceeds the predicted number of times, adjust the weight of the first prediction model based on the actual tapping point information and the predicted tapping point information to obtain the second prediction model corresponding to the change of performance attributes. Use the second prediction model to obtain future numerical values ​​and future tapping point information.

[0069] Since the display screen provides a prompt to the performer, if the number of attempts still exceeds the predicted number, it indicates that the performer is not playing a stored piece. In this case, the model needs to be adjusted based on the first prediction model to obtain a new prediction model that better predicts the current piece. However, training a new model is very time-consuming, and given the real-time nature of performance, retraining a new prediction model for each unstored piece would also be extremely labor-intensive. Therefore, retraining a new prediction model to predict the current piece is impractical. However, the first prediction model, trained on several pieces, has the basic function of predicting future beat information based on past beat information from different pieces. Adjusting the weights in the first prediction model online to obtain the second prediction model takes less time. This not only satisfies the real-time requirements of performance but also allows for a prediction model more closely aligned with the current piece. Compared to using the first prediction model, the future beat information obtained through the second prediction model is more accurate, ensuring that the corresponding beats are prepared. This allows the electronic drums to immediately produce the required sound when the performer first touches the beat, helping to alleviate the electronic drum latency issue. Both the first prediction model and the second prediction model include the weights of the first numerical layer.

[0070] Figure 3 This is a flowchart illustrating a method for adjusting the weights of the first prediction model provided in this embodiment. For example... Figure 3As shown, adjusting the weights of the first prediction model based on actual and predicted impact point information includes the following steps:

[0071] Step S501: Obtain the information difference between the actual striking information and the predicted striking information.

[0072] Step S502: Using the current moment as a reference point, obtain the set of past tapping point information corresponding to the previous moment, and the set of intermediate tapping point information after subtracting one layer of weight from the first value in the first prediction model.

[0073] Step S503: Obtain the weight error of the last layer weight of the first prediction model at the previous time step based on the intermediate tapping point information set and information difference, where the weight error is the weight difference.

[0074] Step S504: Adjust the weights of the first prediction model according to the weight difference.

[0075] Considering timeliness, the weights of the last layer in the first prediction model are adjusted online to obtain the second prediction model. First, the actual striking point information is subtracted from the predicted striking point information to obtain the information difference representing the actual information and the predicted information at the current moment. If the set of past striking point information involves information differences corresponding to other moments, the actual striking point information is also subtracted from the predicted striking point information to obtain the information difference corresponding to each moment. These information differences are then combined into a set of past striking point information differences, which can be considered as a matrix.

[0076] After obtaining the trained first prediction model, the weight values ​​between each layer in the first prediction model can be obtained. Using the current time as a reference point, the set of past tapping points corresponding to the previous time step, after being weighted by the first value minus one layer in the first prediction model, yields the set of intermediate tapping points input to the last layer. This set of intermediate tapping points can also be considered a matrix. Multiplying the inverse of the intermediate tapping point information set by the set of past tapping point information differences gives the weight error of the last layer of the first prediction model at the previous time step. This weight error is then used as the weight difference of the last layer at the current time step. Adding this weight difference to the original weight value of the last layer in the first prediction model yields the weight value of the last layer in the second prediction model. The weight value of the first value minus one layer in the second prediction model is the same as the weight value of the first value minus one layer in the first prediction model. After obtaining the second prediction model, it is subsequently used to predict future values ​​and future tapping point information.

[0077] Figure 4 This is a framework diagram of a predictive electric drum beat point system provided in this embodiment. Figure 4As shown in the figure, a framework diagram of a system for predicting the striking point of an electric drum includes a processing module, which includes an acquisition unit, a judgment unit, a first prediction unit, an adjustment unit, and a second prediction unit.

[0078] The acquisition unit acquires the actual striking point information at the current moment, as well as the predicted striking point information corresponding to the current moment. The judgment unit determines whether the actual striking point information is the same as the predicted striking point information. The first prediction unit, when the actual striking point information is the same as the predicted striking point information, uses a first prediction model representing the current performance attribute to obtain a future numerical number of future striking points representing the performer's future striking points. The acquisition unit also acquires the time difference between the initial time at the start of the performance and the current moment when the actual striking point information is different from the predicted striking point information. The judgment unit also determines whether the time difference exceeds a preset time period. The first prediction unit, when the time difference exceeds the preset time period, uses the first prediction model to obtain a future numerical number of future striking points. The acquisition module also acquires the number of times the actual striking point information differs from the predicted striking point information within the time difference, when the time difference does not exceed the preset time period. The judgment module also determines whether the number of differences exceeds a preset number. The first prediction unit, if the number of differences does not exceed the preset number, uses the first prediction model to obtain a future numerical number of future striking points. The adjustment unit is used to adjust the weights of the first prediction model based on the actual and predicted tapping point information if the number of taps exceeds a preset number, in order to obtain a second prediction model that represents the change in performance attributes. The second prediction unit is used to obtain future numerical values ​​and future tapping point information using the second prediction model.

[0079] The processing module also includes a prompting unit, which generates a prompting signal indicating that the performer has made a mistake when the actual striking point information is different from the predicted striking point information.

[0080] This application provides a computer-readable storage medium storing a computer program that, when run on a computer, enables the computer to execute the relevant content in the aforementioned method embodiments.

[0081] It should be understood that although the steps in the flowcharts in the accompanying figures are shown sequentially as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order requirement for the execution of these steps, and they can be performed in other orders.

[0082] The above description is only a partial embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method for predicting the striking point of an electric drum, characterized in that, The method includes: Obtain the actual striking point information at the current moment and the predicted striking point information corresponding to the current moment. Determine whether the actual striking point information is the same as the predicted striking point information. If they are the same, use the first prediction model that represents the current performance attribute to obtain the future numerical value of future striking point information that the performer needs to strike at future moments. If they are not the same, obtain the time difference between the initial time when the performance started and the current time, and determine whether the time difference exceeds a preset time period. If it does, use the first prediction model to obtain future numerical values ​​and future striking point information. If it does not exceed the time difference, obtain the number of times the actual tapping point information differs from the predicted tapping point information within the time difference, determine whether the number of times exceeds the preset number, and if it does not exceed the preset number, use the first prediction model to obtain future numerical future tapping point information. If the preset number of times is exceeded, the weight of the first prediction model is adjusted based on the actual tapping point information and the predicted tapping point information to obtain the second prediction model corresponding to the change of performance attributes. The second prediction model is then used to obtain future numerical values ​​of future tapping point information. The current performance attribute corresponds to a stored piece of music. Each stored piece of music has its own percussion point information. A deep learning model is used to predict the percussion point information at future moments. The percussion point information of the stored pieces of music is used to train a backpropagation neural network to obtain a first prediction model. The input of the first prediction model is a set of past percussion point information corresponding to the current moment. This set of past percussion point information includes the percussion point information at the current moment and a predicted number of percussion point information with the current moment as a reference to the past moment direction. The number of percussion point information input to the first prediction model is a preset value plus one. The output of the first prediction model is the percussion point information that needs to be percussed at future moments. The number of percussion point information output is a future value. The first prediction model is trained on several tracks. The first prediction model has the basic function of predicting future tapping information based on the past tapping information set of different tracks. The second prediction model is obtained by adjusting the weights in the first prediction model online. Both the first and second prediction models include the first numerical layer weights.

2. The method according to claim 1, characterized in that, The step of using a first prediction model representing the current performance attributes to obtain future numerical values ​​and future striking points representing the performer's future striking needs includes: Obtain the set of past tapping point information corresponding to the current moment, wherein the set of past tapping point information includes the actual tapping point information and a preset number of past tapping point information with the current moment as a reference; Using the set of past tapping information as input, a first prediction model is used to obtain future numerical tapping information, wherein the first prediction model is trained based on the tapping information corresponding to the tracks already stored in the electronic drum.

3. The method according to claim 2, characterized in that, The step of using the first prediction model to obtain future numerical values ​​of future tapping point information includes: The predicted tapping point information is replaced with the actual tapping point information to obtain an updated set of past tapping point information. The set of past tapping point information is then used as input to obtain future numerical values ​​of future tapping point information using a first prediction model.

4. The method according to claim 1, characterized in that, The adjustment of the weights of the first prediction model based on the actual tapping point information and the predicted tapping point information includes: Obtain the information difference between the actual striking point information and the predicted striking point information, obtain the weight difference representing the weight in the first prediction model and the weight in the prediction model corresponding to the actual performance based on the information difference, and adjust the weight of the first prediction model based on the weight difference.

5. The method according to claim 4, characterized in that, The first prediction model includes a first numerical layer weight. The weight difference, representing the difference between the weights in the first prediction model and the weights in the prediction model corresponding to the actual performance, is obtained based on the information difference. Using the current moment as a reference point, obtain the set of past tapping points corresponding to the previous moment, and then obtain the set of intermediate tapping points after subtracting one layer of weights from the first value in the first prediction model. The weight error of the last layer weight of the first prediction model at the previous time step is obtained based on the intermediate tapping point information set and the information difference, wherein the weight error is the weight difference.

6. The method according to claim 2, characterized in that, The value obtained by adding one to the preset value is not less than the future value.

7. The method according to claim 1, characterized in that, After determining that the actual striking point information is different from the predicted striking point information, the process also includes generating a prompt signal indicating that the performer made a mistake.

8. A system for predicting the beat of an electric drum, characterized in that, The system includes a processing module, which comprises an acquisition unit, a judgment unit, a first prediction unit, an adjustment unit, and a second prediction unit; wherein... The acquisition unit is used to acquire the actual tapping point information at the current moment, and the predicted tapping point information corresponding to the current moment; The judgment unit is used to determine whether the actual tapping point information is the same as the predicted tapping point information; The first prediction unit is used to obtain future numerical values ​​of future tapping points that the performer needs to tap at future moments when the actual tapping point information is the same as the predicted tapping point information. The acquisition unit is also used to acquire the time difference between the initial time at which the performance started and the current time when the actual striking point information is different from the predicted striking point information. The judgment unit is also used to determine whether the time difference exceeds a preset time period; The first prediction unit is used to obtain future numerical values ​​and future tapping point information when the time difference exceeds a preset time period using the first prediction model. The acquisition unit is also used to acquire, within the time difference, the number of times the actual tapping point information differs from the predicted tapping point information when the time difference does not exceed the preset time period. The judgment unit is also used to determine whether the number of times exceeds a preset number; The first prediction unit is further configured to use the first prediction model to obtain future numerical values ​​and future tapping point information if the number of taps does not exceed a preset number of taps. The adjustment unit is used to adjust the weight of the first prediction model based on the actual tapping point information and the predicted tapping point information if the number of taps exceeds a preset number of taps, so as to obtain a second prediction model that represents the change of performance attributes. The second prediction unit is used to obtain future numerical values ​​and future tapping point information using the second prediction model; The current performance attribute corresponds to a stored piece of music. Each stored piece of music has its own percussion point information. A deep learning model is used to predict the percussion point information at future moments. The percussion point information of the stored pieces of music is used to train a backpropagation neural network to obtain a first prediction model. The input of the first prediction model is a set of past percussion point information corresponding to the current moment. This set of past percussion point information includes the percussion point information at the current moment and a predicted number of percussion point information with the current moment as a reference to the past moment direction. The number of percussion point information input to the first prediction model is a preset value plus one. The output of the first prediction model is the percussion point information that needs to be percussed at future moments. The number of percussion point information output is a future value. The first prediction model is trained on several tracks. The first prediction model has the basic function of predicting future tapping information based on the past tapping information set of different tracks. The second prediction model is obtained by adjusting the weights in the first prediction model online. Both the first and second prediction models include the first numerical layer weights.

9. The system according to claim 8, characterized in that, The processing module also includes a prompting unit, which is used to generate a prompting signal indicating that the performer has made a mistake when the actual striking point information is different from the predicted striking point information.

10. A computer-readable storage medium having a computer program stored thereon that can run on a processor, characterized in that, When the computer program is executed by the processor, it implements a method for predicting the beat of an electric drum as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Rhythm point detection method and device and electronic equipment

    CN111128100A

  • Training method of beat re-shooting joint detection model and beat re-shooting joint detection method

    CN114154574A