TECHNICAL FIELD
[0001] The present invention relates to a music piece analyzer, a music piece analysis method,
and a music piece analysis program.
BACKGROUND ART
[0002] There has been typically known a technology of automatically analyzing a music piece
in terms of a beat, a tempo, and a key and a scale of the music piece based on sound
data of the music piece and the like (see, for instance, Patent Literature 1).
[0003] Sound data for a certain period of time is sampled and the inputted waveforms are
analyzed using, for instance, FFT (Fast Fourier Transform).
[0004] Such a sound data analysis also has been used as a technology relating to a BPM (Beats
Per Minute) music piece in a field of a DJ-related device.
[0005] When the sound data analysis is used in the DJ-related device, a music piece can
be comfortably connected to another music piece using the analyzed tempo, key, and
scale and the like. Accordingly, a high DJ-performance can be provided.
CITATION LIST
PATENT LITERATURE(S)
SUMMARY OF THE INVENTION
PROBLEM(S) TO BE SOLVED BY THE INVENTION
[0007] An FFT is typically executed at a fixed interval. Accordingly, in order to analyze
long sound data, the FFT needs to be executed at an increased number of times, so
that it takes time to analyze the sound data.
[0008] An object of the invention is to provide a music piece analyzer, a music piece analysis
method, and a music piece analysis program, which are capable of shortening an analysis
time irrespective of a length of sound data.
MEANS FOR SOLVING THE PROBLEM(S)
[0009] According to an aspect of the invention, a music piece analyzer includes:
a reproduction time detector configured to detect a reproduction time of an inputted
sound data;
an execution interval setting unit configured to set an execution interval of Fast
Fourier Transform (FFT) depending on the reproduction time detected by the reproduction
time detector; and
a sound data analyzing unit configured to execute the FFT at the execution interval
set by the execution interval setting unit to analyze the inputted sound data.
[0010] According to another aspect of the invention, a music piece analyzer includes:
a data length detector configured to detect a data length of an inputted sound data;
an execution interval setting unit configured to set an execution interval of Fast
Fourier Transform (FFT) depending on the data length detected by the data length detector;
and
a sound data analyzing unit configured to execute the FFT at the execution interval
set by the execution interval setting unit to analyze the inputted sound data.
[0011] According to still another aspect of the invention, a music piece analysis method
includes:
detecting a reproduction time of an inputted sound data;
setting an execution interval of Fast Fourier Transform (FFT) depending on the detected
reproduction time; and
executing the FFT at the set execution interval to analyze the inputted sound data.
[0012] According to a further aspect of the invention, a music piece analysis program to
be run on a computer includes:
detecting a reproduction time of an inputted sound data;
setting an execution interval of Fast Fourier Transform (FFT) depending on the detected
reproduction time; and
executing the FFT at the set execution interval to analyze the inputted sound data.
BRIEF DESCRIPTION OF DRAWING(S)
[0013]
Fig. 1 is a block diagram showing a music piece analyzer according to an exemplary
embodiment of the invention.
Fig. 2 is a schematic illustration for explaining copying of sound data in the exemplary
embodiment.
Fig. 3 is a schematic illustration for explaining a window function in the exemplary
embodiment.
Fig. 4 is a schematic illustration for explaining an execution interval of FFT in
the exemplary embodiment.
Fig. 5 is a schematic illustration for explaining an execution interval of sound data
requiring a long reproduction time in the exemplary embodiment.
Fig. 6 is a schematic illustration for explaining an execution interval of sound data
requiring a short reproduction time in the exemplary embodiment.
Fig. 7 is a schematic illustration for explaining a key judgement after the FFT is
executed in the exemplary embodiment.
Fig. 8 is another schematic illustration for explaining a key judgement after the
FFT is executed in the exemplary embodiment.
Fig. 9 is a flowchart for explaining a music piece analysis method in the exemplary
embodiment.
DESCRIPTION OF EMBODIMENT(S)
[0014] An exemplary embodiment of the invention will be described below.
[0015] Fig. 1 shows a music piece analyzer 1 according to the exemplary embodiment. The
music piece analyzer 1 is configured to analyze sound data SD obtained by digitalizing
inputted PCM data and the like, judge a key of the sound data SD, and display the
key as a key display KD of the inputted sound data on a display screen of a display
device and the like.
[0016] The music piece analyzer 1, which is in a form of a software application to be run
in a general computer or a mobile information terminal installed with OS (Operation
System), includes a reproduction time detector 2, a sound data judging unit 3, a sound
data copier 4, a sound data analyzing unit 5, an execution interval setting unit 6,
and a key judging unit 7.
[0017] The reproduction time detector 2 is configured to detect a reproduction time of the
inputted sound data SD. Specifically, the reproduction time detector 2 detects a reproduction
time of the inputted sound data SD by counting the number of sampling times from the
start to the end of the sound data SD. After detecting the reproduction time, the
reproduction time detector 2 outputs the detected reproduction time to the sound data
judging unit 3 and the execution interval setting unit 6.
[0018] The sound data judging unit 3 is configured to judge whether the inputted sound data
SD has the reproduction time equal to or more than a predetermined length based on
the reproduction time detected by the reproduction time detector 2. Specifically,
the sound data judging unit 3 judges whether the sound data SD has the reproduction
time enough for the sound data analyzing unit 5 (later described) to analyze the sound
data SD.
[0019] Whether the sound data SD can be analyzed or not is judged based on whether or not
the sound data SD has the reproduction time equal to or more than the shortest time
required for a window function applied to the sound data analyzing unit 5.
[0020] A time window length of the window function is determined based on a sampling frequency,
a lowest frequency to be detected and a frequency resolution of the sound data SD.
[0021] For instance, in a typical BPM 200 music piece in four-quarter time, it takes 300
msec for one beat and it takes 75 msec for a semiquaver. When the FFT is executed
and the sound data SD of a low sound at 27.5 Hz corresponding to a musical note A0
is analyzed, the sound data SD at least for 1.2 sec is required.
[0022] When judging the reproduction time of the sound data SD is less than the predetermined
length, the sound data judging unit 3 outputs this judgement result to the sound data
copier 4.
[0023] Based on the judgement result of the sound data judging unit 3, the sound data copier
4 is configured to copy the inputted sound data SD and put together the inputted sound
data and the copied sound data so that the reproduction time of the obtained sound
data becomes equal to or more than the predetermined length. Specifically, as shown
in Fig. 2, the sound data copier 4 copies the sound data SD of the inputted reproduction
time t1, pastes the copied data CD posteriorly to the sound data SD to put together,
thereby generating a continuous sound data SD' of a reproduction time t2.
[0024] For instance, when the reproduction time t1 of the sound data SD is shorter than
1.2 sec in the above example, the sound data copier 4 repeats copying the sound data
SD to generate the copied data CD, until the reproduction time t2 of the continuous
sound data SD' becomes equal to or more than 1.2 sec.
[0025] It should be noted that the copying of the sound data SD only needs to be repeated
so that the reproduction time t2 is long enough for the sound data analyzing unit
5 to analyze. The number N of the times of the copying may not always be an integer.
[0026] The sound data copier 4 outputs the sound data SD', the reproduction time of which
is made equal to or more than a predetermined length by the copying, to the sound
data analyzing unit 5.
[0027] The sound data analyzing unit 5 is configured to analyze frequency spectra of the
sound data SD or SD'. In the exemplary embodiment, the analysis is conducted using
the FFT. However, the analysis method is not particularly limited to the method using
the FFT. For instance, an analysis using DCT (Discrete Cosine transform), an analysis
in terms of a time axis, an analysis in terms of a signal level, and an analysis in
terms of a sound volume and an attack may be conducted.
[0028] As shown in Fig. 3, a hamming window HMW (window function) is usually applied to
the FFT. The hamming window HMW is applied in order to soften an increase in a signal
intensity at both ends of the time axis during the FFT execution to be less affected
by a discontinuous joint of the sampled waveforms at the FFT execution.
[0029] Accordingly, since being too weak, the signal intensities at both the end of the
time axis of the FFT-executed data cannot be used as the analysis data.
[0030] For this reason, in the exemplary embodiment, signal intensities in an analysis period
T0, in which the signal intensity is not weakened, during the execution of FFT are
used as analyzable data to analyze the frequency spectra. The analysis period T0 can
be determined as needed. In the exemplary embodiment, the analysis period T0 is set
based on a value obtained by the hamming window HMW being 0.7 (70%).
[0031] Although the hamming window HMW is used in the exemplary embodiment, the window function
is not limited to the hamming window HMW but may be a hanning window, a flat-top window
and the like.
[0032] Based on the reproduction time detected by the reproduction time detector 2, the
execution interval setting unit 6 is configured to set an interval at which the sound
data analyzing unit 5 executes the FFT.
[0033] Specifically, the execution interval setting unit 6 sets, as an execution interval
TI, the start time of the second FFT2 after the first FFT1 is executed. In the exemplary
embodiment, the third FFT3 is started after the elapse of the double execution interval
TI (i.e., a time 2TI). Thus, another FFT is sequentially executed.
[0034] The setting of the execution interval TI depends on the reproduction time of the
sound data SD or SD'.
[0035] For instance, with respect to a long sound data SD having the reproduction time of
30 sec or more, the execution interval setting unit 6 sets the execution interval
TI to be large as shown in Fig. 5. With respect to a short sound data SD having the
reproduction time less than 30 sec, the execution interval setting unit 6 sets the
execution interval TI to be small as shown in Fig. 6. The minimum value of the execution
interval TI is determined so that the analysis period T0 of each of FFT1, FFT2 and
the like is continuous to a subsequent one of the analysis periods T0.
[0036] The execution interval setting unit 6 outputs the set execution interval TI to the
above sound data analyzing unit 5.
[0037] The sound data analyzing unit 5 repeats executing the FFT based on the execution
interval TI. Each time the sound data analyzing unit 5 executes the FFT, the sound
data analyzing unit 5 outputs an analysis result to the key judging unit 7.
[0038] The key judging unit 7 is configured to judge a key of the sound data SD or SD' based
on the analysis result outputted from the sound data analyzing unit 5.
[0039] Specifically, the key judging unit 7 stores reference frequencies of 24 musical notes
including two kinds of keys (i.e., a minor key and a major key) of each of 12 musical
notes in an octave.
[0040] The key judging unit 7 sums up the analysis results inputted each at the execution
interval TI in the time axis direction to provide a total value, selects the reference
frequency close to the frequency having a strong signal intensity based on the obtained
total value, and obtains the signal intensity of each of the musical notes as shown
in Fig. 7.
[0041] Next, as shown in Fig. 8, the key judging unit 7 rearranges the signal intensities
in an order of a higher signal intensity, normalizes the signal intensities, selects
some of the musical notes having high signal intensities, and judges a key of the
sound data SD or SD'. The key judging unit 7 displays key judgement results of the
sound data SD or SD' as a key display KD on a display of a computer or a screen of
a mobile terminal.
[0042] Next, the key judgement of the sound data SD by the music piece analyzer 1 with the
above arrangement will be described with reference to a flowchart shown in Fig. 9.
[0043] First, a user of the computer or the mobile terminal selects the music piece analyzer
1 on the screen to start a program and select the sound data SD that is an analysis
target, the sound data SD is inputted to the music piece analyzer 1 (Step S1).
[0044] After the sound data SD is inputted, the reproduction time detector 2 detects the
reproduction time of the sound data SD (Step S2).
[0045] The sound data judging unit 3 judges whether the reproduction time of the sound data
SD is equal to or more than a predetermined length (Step S3).
[0046] When the reproduction time of the sound data SD is judged to be less than the predetermined
length, the sound data copier 4 copies the sound data SD (Step S4) and pastes the
copied data CD to the sound data SD to generate the continuous sound data SD'.
[0047] When the reproduction time of the initial sound data SD is equal to or more than
the predetermined length, or when the reproduction time of the sound data SD' is equal
to or more than the predetermined length, the execution interval setting unit 6 sets
the execution interval TI at the sound data analyzing unit 5 based on the reproduction
time of the sound data SD or SD' (Step S6).
[0048] The sound data analyzing unit 5 repeats the FFT based on the set execution interval
TI to analyze the frequency spectra of the sound data SD or SD' (Step S7).
[0049] The sound data analyzing unit 5 judges whether the sound data SD or SD' ends (Step
S8). After judging that the sound data SD or SD' ends, the sound data analyzing unit
5 outputs the analysis result to the key judging unit.
[0050] The key judging unit 7 judges a key of the sound data SD or SD' based on the analysis
result (Step S9).
[0051] The key judging unit 7 displays the key of the sound data SD or SD' as the judgement
result on a display of a computer or a screen of a mobile terminal (Step S10).
[0052] The exemplary embodiment provides the following advantages.
[0053] Since the music piece analyzer 1 includes the sound data copier 4, even a very short
sound data SD can be transformed by copying into the sound data SD' having the reproduction
time equal to or more than a predetermined length. Accordingly, irrespective of the
reproduction time of the sound data SD, the sound data analyzing unit 5 can execute
the FFT to analyze the frequency spectra, so that the key of the sound data SD or
SD' can be judged.
[0054] With this arrangement, various sound data SD of DJ-related devices is usable irrespective
of the length of the reproduction time of the sound data SD, so that a high DJ-performance
can be provided.
[0055] Since the music piece analyzer 1 includes the reproduction time detector 2 and the
execution interval setting unit 6, the execution interval TI of the FFT by the sound
data analyzing unit 5 can be changed depending on the reproduction time of the sound
data SD. Accordingly, when the reproduction time of the sound data SD is short, an
analysis accuracy of the sound data SD can be improved by decreasing the execution
interval TI and increasing the number of the FFT execution.
[0056] On the other hand, when the reproduction time of the sound data SD is long, an analysis
time of the sound data SD can be shortened by prolonging the execution interval TI
and decreasing the number of the FFT execution during the reproduction of the sound
data SD. Although the long sound data SD tends to be roughly analyzed since the number
of the FFT execution is relatively decreased, this number of the FFT execution is
sufficient for use for the key judgement and the like, so that a favorable result
can be obtained without any trouble.
[0057] The invention is by no means limited to the above exemplary embodiment, but includes
the following modification(s).
[0058] Although the music piece analyzer 1 of the above exemplary embodiment judges the
key of the sound data SD, the invention is not limited to the music piece analyzer
1 for the key judgement. The music piece analyzer 1 may be used for judging a key
and a scale.
[0059] Although the execution interval setting unit 6 of the above exemplary embodiment
sets the execution interval TI on the basis of the reproduction time of the sound
data SD or SD', the execution interval TI in the invention is not necessarily set
on the basis of the reproduction time. The execution interval may be set on the basis
of a data length of the inputted sound data.
[0060] Any other arrangements compatible with the invention may be applied.
EXPLANATION OF CODE(S)
[0061] 1...music piece analyzer, 2...reproduction time detector, 3...sound data judging
unit, 4... sound data copier, 5... sound data analyzing unit, 6... execution interval
setting unit, 7...key judging unit, CD... copied data, HMW... hamming window, KD...key
display, S1... Step, S2...Step, S3...Step, S4...Step, S6...Step, S7...Step, S8...Step,
S9...Step, S10...Step, SD...sound data, T0...analysis period, t1...reproduction time,
t2...reproduction time, TI... execution interval