Musical piece analysis device, musical piece analysis method, and program

The music analysis device improves BPM detection accuracy by synchronously aligning audio waveforms and updating BPM to maximize waveform peaks, addressing DJ mixing precision.

WO2026126481A1PCT designated stage Publication Date: 2026-06-18ALPHATHETA CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ALPHATHETA CORP
Filing Date
2024-12-13
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Existing BPM detection techniques are inadequate for precise synchronization in DJ mixing, leading to auditory discomfort due to slight deviations in music pieces.

Method used

A music analysis device and method that synchronously aligns audio waveforms with temporary beat positions, updates BPM, and identifies the BPM at which the waveform peak is maximized, with a threshold to confirm accuracy.

Benefits of technology

Enhances BPM detection accuracy, minimizing processing and efficiently identifying the correct BPM for seamless music transitions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024044227_18062026_PF_FP_ABST
    Figure JP2024044227_18062026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a musical piece analysis device comprising a processor that executes: a process for synchronously adding audio waveforms, of a plurality of sections including temporary beat positions set in accordance with a temporary BPM in a BPM fixed section of a musical piece, by aligning the temporary beat positions; a process for updating the temporary BPM and re-executing the synchronous addition; and a process for specifying, as the BPM of the BPM fixed section, the temporary BPM at which the peak level of the waveform obtained by the synchronous addition is at a maximum.
Need to check novelty before this filing date? Find Prior Art

Description

Music analysis device, music analysis method, and program

[0001] The present invention relates to a music analysis device, a music analysis method, and a program.

[0002] Techniques for detecting beat positions and BPM (Beats Per Minute) from an audio signal of a music piece are known. For example, Patent Document 1 describes a technique for analyzing an audio signal to detect a beat position and the probability of existence of each musical instrument sound. Patent Document 2 describes a technique for obtaining the beat position and the sounding position of a snare drum in music data, and correcting the BPM value of the music data when it is determined that there is a deviation between the sounding position of the snare drum and the beat position and the sounding interval of the snare drum is one beat.

[0003] Japanese Patent Application Laid-Open No. 2010-134231 International Publication No. 2019 / 053765

[0004] The beat positions and BPM specified by the above techniques can be accurate enough for general purposes. On the other hand, for example, in the case of mixing music in a DJ play, a slight BPM deviation in each music piece may be felt as a sense of discomfort in the auditory sensation, and an improvement in the accuracy of BPM detection is desired.

[0005] Therefore, an object of the present invention is to provide a music analysis device, a music analysis method, and a program capable of further improving the accuracy of BPM detection of music.

[0006] [1] A music analysis device comprising a processor that performs the following steps: 1) Synchronous addition of audio waveforms of multiple sections including a temporary beat position set according to a temporary BPM in a fixed BPM section of a song, aligning the temporary beat positions; 2) Updating the temporary BPM and re-executing the synchronous addition; and 3) Identifying the temporary BPM at which the peak level of the waveform obtained by the synchronous addition is maximized as the BPM of the fixed BPM section. [2] The music analysis device according to [1], wherein if the peak level exceeds a threshold, the temporary BPM is not updated, and the temporary BPM at that time is identified as the BPM. [3] A music analysis method wherein the processor performs the following steps: 1) Synchronous addition of audio waveforms of multiple sections including a temporary beat position set according to a temporary BPM in a fixed BPM section of a song, aligning the temporary beat positions; 2) Updating the temporary BPM and re-executing the synchronous addition; and 3) Identifying the temporary BPM at which the peak level of the waveform obtained by the synchronous addition is maximized as the BPM of the fixed BPM section. [4] A program for causing a computer processor to perform the following processes: synchronously adding together audio waveforms of multiple sections, including a temporary beat position set according to a temporary BPM in a fixed BPM section of a song, while aligning the temporary beat positions; updating the temporary BPM and re-executing the synchronous addition; and identifying the temporary BPM at which the peak level of the waveform obtained by the synchronous addition is maximized as the BPM of the fixed BPM section.

[0007] This figure shows an example of the overall configuration of a system according to an embodiment of the present invention. This is a block diagram showing the schematic functional configuration of the music analysis device in the example of Figure 1. This is a diagram conceptually illustrating the process of identifying BPM by synchronously adding up multiple sections including false beat positions. This is a diagram conceptually illustrating the process of identifying BPM by synchronously adding up multiple sections including false beat positions. This is a diagram to explain that in the example of Figure 4, if the BPM is incorrect, the false beat positions will also not be correct. This is a flowchart showing a first example of the process for identifying BPM in the music analysis device. This is a flowchart showing a second example of the process for identifying BPM in the music analysis device.

[0008] Figure 1 shows an example of the overall configuration of a system according to an embodiment of the present invention. The system 10 according to this embodiment includes a PC (Personal Computer) 100, a DJ controller 200, and a speaker 300. The PC 100 is a device that stores, processes, and plays back audio data, and is not limited to a PC; it may also be a terminal device such as a tablet or smartphone. The PC 100 includes a display 101 that displays information to the user, and an input device such as a touch panel or mouse that acquires user operation input. The DJ controller 200 is connected to the PC 100 via a communication means such as USB (Universal Serial Bus), and acquires user operation input related to music playback via channel faders, crossfaders, performance pads, jog dials, and various knobs and buttons. Audio data is played back using, for example, the speaker 300.

[0009] In this embodiment, the PC 100 functions as a music analysis device in the system 10 described above. For example, the PC 100 performs processing on the stored audio data in response to user input during playback of the audio data. Alternatively, the PC 100 may perform processing on the audio data before playback and save the processed audio data. In this case, the DJ controller 200 and speakers 300 do not need to be connected to the PC 100 at the time the processing is performed. In this embodiment, the PC 100 functions as a music analysis device, but in other embodiments, DJ equipment such as a mixer or an all-in-one DJ system (digital audio player with communication and mixing functions) may function as a music analysis device. Furthermore, a server connected to the PC and DJ equipment via a network may function as a music analysis device.

[0010] Figure 2 is a block diagram showing the schematic functional configuration of the music analysis device in the example shown in Figure 1. The PC 100, which functions as a music analysis device, is a computer equipped with a processor such as a CPU (Central Processing Unit) or a DSP (Digital Signal Processor). The processor performs synchronous addition processing 120, peak level determination processing 130, and BPM identification processing 140 by operating according to a program. The program is read from the storage of the PC 100 or from a tangible and non-temporary medium such as a removable recording medium, or downloaded from a server via a network and loaded into the memory of the PC 100.

[0011] The synchronous addition process 120 synchronously adds the audio waveforms of multiple sections of a song. The input song audio data 110 is time-series data showing the audio waveform of the song, and the provisional beat position and provisional BPM have already been identified by a device other than the PC 100, or by another process performed by the PC 100. Although these are referred to as provisional beat position and provisional BPM because they may be corrected in subsequent processing, the method of identification is the same as for normal beat position and BPM. Various known methods can be used to analyze the song audio data and identify the beat position and BPM. Machine learning may also be used. The synchronous addition process 120 may include preprocessing for synchronously adding the waveforms. Preprocessing may include, for example, conversion from stereo to mono, or filtering to extract frequency bands of percussion sounds that are highly correlated with beat position.

[0012] As shown in Figure 3, the synchronous addition process 120 synchronously adds together the audio waveforms of multiple sections S that include a temporary beat position set according to a temporary BPM in the fixed BPM section of the song, aligning the temporary beat position TB. Here, the fixed BPM section of the song is a section where the BPM is constant and does not change, which is commonly seen in songs produced by programming, such as EDM (Electronic Dance Music). The entire song may be a fixed BPM section, and such a song is also called a fixed BPM song. The sections to be synchronously added may be extracted, for example, from a part or the whole of a fixed BPM song, or they may be extracted from a fixed BPM section of a song that is not a fixed BPM song but contains one or more fixed BPM sections.

[0013] The length ΔT of the interval S is set to include the attack waveform that appears before and after the false beat position TB. Therefore, if the false BPM matches the correct BPM, the waveform obtained by synchronous summation of interval S will have a high peak with the attack waveform added. In the illustrated example, the false beat position TB is shifted from the attack waveform, but in a fixed BPM interval, if the BPM is correct, the time difference d between the false beat position TB and the attack waveform is the same in each interval S, so the waveform obtained by synchronous summation with aligned false beat positions TB will have a high peak with peak level P1.

[0014] In contrast, as shown in Figure 4, if the provisional BPM is different from the correct BPM, even if the provisional beat positions TB are aligned and the interval S is synchronously added, no high peaks will appear. When the provisional BPM is incorrect, the difference between the provisional beat position TB and the attack waveform is different in each interval S, so the waveform obtained by synchronous addition becomes a superposition of peaks at different positions relative to the provisional beat position TB, and no high peaks will appear. As shown in Figure 5, in a fixed BPM interval, if the provisional BPM is incorrect, even if one provisional beat position matches the attack waveform, the interval to the subsequent provisional beat position is different from the interval of the attack waveform, so a discrepancy occurs between the attack waveform and other provisional beat positions, and as a result the provisional beat positions are also incorrect.

[0015] As shown in the example in Figure 4 above, if the provisional BPM differs from the correct BPM, it may be possible to bring the provisional BPM closer to the correct BPM by updating the provisional BPM and re-running the synchronous addition. For example, the provisional BPM may be updated by adding or subtracting a correction value of an appropriate magnitude within a predetermined range, and the synchronous addition may be re-run. As a non-limiting example, a more appropriate BPM may be searched for by increasing or decreasing the initial provisional BPM value by 0.001 increments within a range of ±0.05 and re-running the synchronous addition. When the provisional BPM is updated, the provisional beat position TB is also updated, and the interval S for synchronous addition is reset.

[0016] Referring again to Figure 2, the peak level determination process 130 determines whether the peak level of the waveform obtained by synchronous addition by the synchronous addition process 120 is the maximum, or whether the peak level exceeds a threshold. For example, the peak level determination process 130 may compare the peak levels of the synchronously added waveforms with a series of provisional BPMs updated by adding or subtracting correction values ​​within a predetermined range as described above, and identify the provisional BPM from which the largest peak level was obtained. Alternatively, the peak level determination process 130 may monitor the change in the peak level of the synchronously added waveforms with respect to the updated provisional BPMs and identify the provisional BPM from which a maximum value of the peak level was observed. In this case, the provisional BPMs do not necessarily have to be updated over the entire predetermined range.

[0017] Furthermore, the peak level determination process 130 may determine whether or not the peak level exceeds a threshold. For example, if the peak level of the synchronously added waveform relative to the provisional BPM exceeds the threshold, the peak level determination process 130 may control the BPM identification process 140 to not update the provisional BPM any further and to identify the provisional BPM at that point as the BPM for the fixed BPM section. In this case, as in the example in Figure 3 above, if the initial provisional BPM was correct, the peak level exceeds the threshold, so the provisional BPM is not updated and the synchronous addition is not re-executed.

[0018] The BPM identification process 140 identifies the BPM of the fixed BPM section of the music according to the determination result of the peak level determination process 130. Basically, the BPM identification process 140 identifies the temporary BPM at which the peak level of the waveform is maximized in the synchronous summation performed while updating the temporary BPM as the BPM of the fixed BPM section. As described above, the process of updating the temporary BPM and re-executing the synchronous summation may be terminated if the peak level exceeds a threshold or if the peak level shows a local maximum. This minimizes the amount of processing and allows for efficient searching of an appropriate BPM. The BPM identification process 140 outputs the identified BPM data 150. The BPM data 150 is used, for example, to update the BPM associated as metadata with the music audio data 110. Note that, as shown in Figure 3, if the correct BPM is set, the temporary beat position TB can be corrected using various known methods.

[0019] Figure 6 is a flowchart showing a first example of the processing of the music analysis device. As described above, the temporary beat position and temporary BPM of the music audio data 110 are identified by a device other than the PC 100, or by another process performed by the PC 100 (step S101). The synchronous addition process 120 synchronously adds the audio waveforms of multiple sections S that include the temporary beat position TB (step S102). As shown in Figures 3 and 4, the section S is a section that includes the temporary beat position TB set according to the temporary BPM at that time, and the temporary beat positions TB are aligned and synchronously added. If the range of correction values ​​for the temporary BPM is not covered (NO in step S103), the temporary BPM is updated by adding or subtracting the correction value (step S104), and the synchronous addition is re-executed (step S102). When the predetermined range for changing the provisional BPM by adding or subtracting the correction value is covered (YES in step S103), the re-execution of the synchronous addition ends, and the peak level determination process 130 detects the provisional BPM at which the peak level is maximized (step S105). The BPM identification process 140 identifies the provisional BPM at which the peak level is maximized as the BPM for the fixed BPM section (step S106).

[0020] Figure 7 is a flowchart showing a second example of the processing of the music analysis device. The difference from the example in Figure 6 is that in this example, the peak level determination process 130 determines whether the peak level obtained by synchronous addition exceeds a threshold. Specifically, when multiple sections S including the temporary beat position TB are synchronously added (step S102), it is determined whether the peak level exceeds a threshold (step S107). If the peak level exceeds the threshold, the temporary BPM is not updated, and the temporary BPM at that point is identified as the BPM of the fixed BPM section (step S108). If the peak level does not exceed the threshold, the temporary BPM is updated (step S103), and synchronous addition is re-executed (step S102). If there is no temporary BPM with a peak level exceeding the threshold, the temporary BPM with the maximum peak level is detected (step S105), similar to the example in Figure 5, and identified as the BPM of the fixed BPM section (step S106).

[0021] According to the embodiments of the present invention described above, the BPM can be more accurately determined for a BPM-fixed song by performing the following steps: a process of aligning the temporary beat positions of multiple sections of audio waveforms, including temporary beat positions set according to a temporary BPM in the BPM-fixed section of the song, and synchronously adding them together; a process of updating the temporary BPM and re-executing the synchronous addition; and a process of identifying the temporary BPM at which the peak level of the waveform obtained by the synchronous addition is maximized as the BPM of the BPM-fixed section. If the peak level of the synchronously added waveform exceeds a threshold, the temporary BPM may not be updated, and the temporary BPM at that point may be identified as the BPM. In this case, the amount of processing can be minimized, and an appropriate BPM can be efficiently searched for.

[0022] 10...System, 101...Display, 110...Music audio data, 120...Synchronization addition process, 130...Peak level determination process, 140...BPM identification process, 150...BPM data, 200...DJ controller, 300...Speaker.

Claims

1. A music analysis device comprising a processor that performs the following processes:

1. Synchronous summation of audio waveforms of multiple sections, including a temporary beat position set according to a temporary BPM in a fixed BPM section of a song, by aligning the temporary beat positions; 2. Updating the temporary BPM and re-executing the synchronous summation; and 3. Identifying the temporary BPM at which the peak level of the waveform obtained by the synchronous summation is maximized as the BPM of the fixed BPM section.

2. The music analysis device according to claim 1, wherein if the peak level exceeds a threshold, the provisional BPM is not updated, and the provisional BPM at that time is identified as the BPM.

3. A music analysis method in which a processor performs the following steps: 1) synchronously adding together audio waveforms of multiple sections, each containing a temporary beat position set according to a temporary BPM in a fixed BPM section of a music piece, while aligning the temporary beat positions; 2) updating the temporary BPM and re-executing the synchronous addition; and 3) identifying the temporary BPM at which the peak level of the waveform obtained by the synchronous addition is maximized as the BPM of the fixed BPM section.

4. A program for causing a computer processor to perform the following processes: 1) synchronously adding together audio waveforms of multiple sections, including a temporary beat position set according to a temporary BPM, within a fixed BPM section of a song, while aligning the temporary beat positions; 2) updating the temporary BPM and re-executing the synchronous addition; and 3) identifying the temporary BPM at which the peak level of the waveform obtained by the synchronous addition is maximized as the BPM of the fixed BPM section.