WO2019224990A1 - ビート音発生タイミング生成装置 - Google Patents
ビート音発生タイミング生成装置 Download PDFInfo
- Publication number
- WO2019224990A1 WO2019224990A1 PCT/JP2018/020079 JP2018020079W WO2019224990A1 WO 2019224990 A1 WO2019224990 A1 WO 2019224990A1 JP 2018020079 W JP2018020079 W JP 2018020079W WO 2019224990 A1 WO2019224990 A1 WO 2019224990A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- beat
- data
- timing
- bpm
- sound
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/40—Rhythm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10G—REPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
- G10G3/00—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
- G10G3/04—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/076—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of timing, tempo; Beat detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/375—Tempo or beat alterations; Music timing control
- G10H2210/391—Automatic tempo adjustment, correction or control
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/315—Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
- G10H2250/365—Gensound applause, e.g. handclapping; Cheering; Booing
Definitions
- the present invention relates to a beat sound generation timing generation device and a beat sound generation timing generation method.
- Patent Document 1 there is a device that outputs tempo information reflecting the performance tempo.
- Patent Documents 2 and 3 there is a technique that makes it possible to generate a tempo clock synchronized with music included in an audio signal.
- Patent Document 4 There is also a technique for determining a rhythm pattern of an input acoustic signal (for example, Patent Document 4).
- the present invention has been made in view of the above problems, a beat sound generation timing generation device capable of generating timing of the beat with a small amount of calculation, and an object of the invention to provide a beat sound generation timing generation method.
- One aspect of the present invention from the data of the inputted musical composition, and timing information that controls the beat of the music, and a generator for generating a plurality of intensity data indicating the power at that time, using the plurality of intensity data a calculation unit for calculating a beat period and phase of the musical composition, based on the period and the phase of the beat, a beat sound generation timing generating apparatus comprising a detector for detecting the generation timing of the beat sound.
- the beat sound generation timing generation device may further include a reproduction processing unit that performs reproduction processing of the beat sound according to the generation timing of the beat sound.
- the calculating section in the beat sound generation timing generator defines a BPM (Beats Per Minute) for said plurality of intensity data based on the timing at which the plurality of intensity data indicates the period of the beat one cycle of the BPM And the relative position of the beat sound generation timing in the sine wave indicating the BPM is calculated as the beat phase, and the detection unit obtains a count value indicating the beat period and the beat phase. performs counting of the count value using a counter that increments for each sample of sampling rate, the timing of the value of said counter reaches said count value by employing the structure for detecting the generation timing of the beat sound Also good.
- BPM Beats Per Minute
- the calculation unit in the beat sound generation timing generation device calculates one cycle of BPM when the value of Fourier transform data obtained by Fourier transform performed for each of the plurality of intensity data and each of the plurality of BPMs is maximized. You may employ
- the calculation unit when obtaining the Fourier transform data for each of the plurality of intensity data and a first BPM of the plurality of BPMs, the calculation unit is configured to vibrate the first BPM.
- the Fourier transform data for at least one second BPM having a frequency that is an integer multiple of the number is acquired, and the value of the Fourier transform data calculated using the first BPM, and the second BPM are obtained.
- the value of the Fourier transform data calculated using a value obtained by adding a predetermined ratio it may be adopted for use as the value of the Fourier transform data for the first BPM.
- the generation unit acquires a frame including a predetermined number of consecutive sound samples from the input music data, thins out the samples in the frame, and performs high-speed processing on the thinned samples. While performing the Fourier transform and obtaining the data indicating the sum of the power for each frequency bandwidth obtained by the fast Fourier transform at a predetermined interval, the data indicating the sum of the power indicating a value larger than itself does not appear. You may employ
- timing information governing beats of the music and a plurality of intensity data indicating power at the timing are generated from the input music data, and the beats of the music are generated using the plurality of intensity data.
- a beat sound generation timing generation method including calculating a cycle and a phase of the beat and detecting a beat sound generation timing based on the beat cycle and phase.
- FIG. 1 shows a configuration example of a beat sound output timing generator.
- FIG. 2 shows a configuration example of the control unit.
- FIG. 3 is a flowchart illustrating a processing example of the generation unit.
- FIG. 4 (A) shows an example of a digital signal of 12 seconds of the song to be input to the generating unit (also referred to as a music signal),
- FIG. 4 (B) is generated from the music signal shown in FIG. 4 (A)
- An example of Spx data is shown.
- FIG. 5 is a flowchart illustrating a processing example of the calculation unit.
- FIG. 6 is a diagram illustrating an example of a BPM sine wave used for Spx data and Fourier transform.
- FIG. 7 illustrates a relationship between a cosine wave indicating BPM and a beat generation timing.
- FIG. 8 is a flowchart illustrating an example of beat generation timing detection processing by the detection unit 104.
- FIG. 9 is a diagram illustrating spectral intensities of 1
- the configuration of the embodiment is an example. It is not limited to the configuration of the embodiment.
- FIG. 1 shows a configuration example of a beat sound generation timing generation device.
- the beat sound generation timing generation device 1 includes a CPU 10, a ROM (Read Only Memory) 11, a RAM (Random Access Memory) 12, a hard disk drive (HDD) 13, an input device 14, and the like connected to the bus 3.
- a display device 15 and a communication interface (communication I / F) 16 are included.
- the beat sound generation timing generation device 1 further includes a digital / analog converter (D / A) 17 and an analog / digital converter (A / D) 20 connected to the bus 3.
- An amplifier (AMP) 18 is connected to the D / A 17, and a speaker 19 is connected to the AMP 18.
- a microphone (MIC) 21 is connected to the A / D 20.
- the ROM 11 stores various programs executed by the CPU 10 and data used when the programs are executed.
- the RAM 12 is used as a program development area, a work area for the CPU 10, a data storage area, and the like.
- the HDD 13 stores programs, data used when the programs are executed, music data, and the like.
- the music data is sound data having a predetermined audio file format such as MP3 or WAVE format.
- the format of the audio file may be other than MP3 or WAVE format.
- the ROM 11 and RAM 12 are examples of a main storage device, and the HDD 13 is an example of an auxiliary storage device.
- the main storage device and the auxiliary storage device are examples of a storage device or a storage medium.
- the input device 14 is a key, button, touch panel or the like, and is used for inputting information (including instructions and commands).
- the display device 15 is used for displaying information.
- the communication I / F 16 is connected to the network 2 and manages processing related to communication. For example, the CPU 10 can download desired music data (music signal) from the network 2 in accordance with an instruction input from the input device 14 and store it in the HDD 13.
- the CPU 10 performs various processes by executing the program.
- the processing includes processing related to music playback, processing for generating beat sound generation timing of music, and beat sound (for example, clapping sound, particularly hand clapping sound, for example). Etc.) are output.
- CPU 10 when reproducing music data, the execution of the program, to generate a digital data (digital signal) which represents the sound of the music from the read music data from HDD13 the RAM 12, and supplies the D / A17.
- the D / A 17 converts digital data representing sound into an analog signal by digital-analog conversion, and outputs the analog signal to the AMP 18.
- the analog signal whose amplitude is adjusted by the AMP 18 is output from the speaker 19.
- the MIC 21 collects, for example, a singing sound that uses accompaniment (karaoke) as a music sound output from the speaker 19.
- the analog audio signal collected by the MIC 21 is amplified by the AMP 18 and amplified by the speaker 19.
- the singing sound may be mixed with the music sound or may be output from separate speakers.
- the MIC 21 also collects sound from a performance using a musical instrument (so-called live performance) and playback sound of music from an external device to expand the sound (output from the speaker 19) or record the sound. used.
- a performance sound signal collected by the MIC 21 is converted into a digital signal by the A / D 20 and passed to the CPU 10.
- the CPU 10 converts the performance sound signal into a format according to the format of the audio file, generates an audio file, and stores it in the HDD 13.
- a beat sound generation timing generation process may be performed on the sound signal of the music collected by the MIC 21.
- the beat sound generation timing generation device 1 may include a drive device (not shown) for a disk-type recording medium such as a compact disk (CD).
- a digital signal representing the sound of the music read from the disk type recording medium using the drive device may be supplied to the D / A 17 to reproduce the music sound.
- beat sound generation timing generation processing may be performed on the sound signal of the music read from the disk-type recording medium.
- FIG. 2 shows a configuration example of the control unit 100.
- CPU10 is the execution of the program, as shown in FIG. 2, time sparse data: generator 101 of the (labeled "Spx data" corresponding to the intensity data), the buffer 102, the period data and the phase data calculator 103, a beat
- the control unit 100 includes a generation timing detection unit 104 and a beat sound reproduction processing unit 105.
- the buffer 102 is provided, for example, in a predetermined storage area of the RAM 12 or the HDD 13.
- the Spx data generation unit 101 generates and outputs Spx data using digital data representing the sound of the music.
- the buffer 102 stores Spx data (corresponding to a plurality of intensity data) for at least a predetermined time. In the present embodiment, 6 seconds is exemplified as the predetermined time, but the predetermined time may be longer or shorter than 6 seconds.
- the calculation unit 103 calculates beat period data and phase data using a set of Spx data for a predetermined time accumulated in the buffer 102.
- the generation timing detection unit 104 detects the generation timing of the beat sound using the period data and the phase data.
- the reproduction processing unit 105 performs reproduction processing of beat sounds in accordance with the generation timing.
- the generation unit 101 receives a digital signal representing the sound of music data related to reproduction (data sent to the D / A 17 for audio output).
- the digital signal representing the sound (music signal) may be obtained by reproducing the music data stored in the HDD 13 or may be obtained by A / D conversion of the audio signal collected by the MIC 20.
- Digital data representing sound is stored in the RAM 12 and used for processing of the generation unit 101.
- Digital data representing sound is a set of sample data (usually voltage values of an analog signal) collected from an analog signal according to a predetermined sampling rate.
- the sampling rate is 44100 Hz.
- the sampling rate can be appropriately changed as long as a desired FFT resolution is obtained.
- FIG. 3 is a flowchart showing a processing example of the generation unit 101.
- Digital data digital signal representing the sound of the music sent to the D / A 17 for music output (reproduction) is input to the generation unit 101.
- the generation unit 101 acquires a predetermined number of samples (referred to as “frames”) from the input digital data (S01).
- the predetermined number is 1024 in this embodiment, but it may be more or less.
- Sample acquisition is performed at predetermined intervals.
- the predetermined interval is, for example, 5 ms, but may be more or less than this.
- the generation unit 101 performs a thinning process. That is, the generation unit 101 performs 1 ⁇ 4 decimation on 1024 samples to obtain 256 samples. The thinning may be other than 1/4 thinning.
- generator 101, 256 performs a fast Fourier transform (FFT) on the samples, the FFT results (power per frequency bandwidth), data indicating the magnitude of the power of a frame unit (Power Data) (S04). Since power is represented by the square of amplitude, the concept of “power” includes amplitude.
- FFT fast Fourier transform
- the power data is, for example, the sum of power obtained by performing FFT on 256 samples.
- the power value is summed Values that are left for calculation and otherwise (the subtracted value is negative (power is decreasing)) may be ignored. This is because a place where the increase in power is large is likely to be a beat.
- the value used for calculating the sum even in the sum of the power of the current frame, minus the power of the previous frame from the power of the current frame
- the value may be a sum of positive values of power or a difference obtained by subtracting the power of the previous frame from the power of the current frame.
- the above-described difference may be calculated only for a frequency lower than a predetermined frequency. A frequency higher than a predetermined frequency may be cut using a low-pass filter.
- the power data is stored in the RAM 12 or HDD 13 in units of frames. Every time power data in units of frames is created, the generation unit 101 compares the power sum (peak value), leaves the larger one, and discards the smaller one (S05). The generation unit 101 determines whether a sum larger than the sum left in S05 has not appeared for a predetermined time (S06).
- the predetermined time is, for example, 100 ms, but may be longer or shorter than 100 ms.
- the generation unit 101 extracts data indicating the sum of the power as Spx data and stores (saves) the data in the buffer 102 (S07). .
- the Spx data is data obtained by extracting the peak value of the digital data indicating the musical sound at intervals of 100 ms, and is data indicating the timing (timing information) for controlling the beat of the music and the power at the timing. is there.
- a plurality of Spx data is accumulated in the buffer 102.
- the generation unit 101 repeats the processes from S01 to S06.
- FIG. 4 (A) is a digital signal of 12 seconds of the song to be input to generator 101, FIG. 4 (B), Spx data generated from the digital signal of the music shown in FIG. 4 (A)
- An example of The horizontal axis of the graph shown in FIG. 4B is time, and the vertical axis is power.
- a black circle marked with vertical lines in the upper end shows the individual Spx data obtained from the digital signal of the music shown in FIG. 4 (A), the position of the horizontal axis (time axis) indicates the timing, The length of the vertical line indicates power.
- Spx data is generated at intervals of 100 ms, about 10 pieces are generated per second.
- FIG. 5 is a flowchart illustrating a processing example of the calculation unit 103.
- new Spx data generated by the generation unit 101 arrives at the buffer 102 and is accumulated.
- Spx data (corresponding to a plurality of intensity data) for a predetermined time among the Spx data accumulated in the buffer 102 is acquired from the buffer 102.
- the predetermined time is, for example, 6 seconds, but may be longer or shorter than 6 seconds as long as the beat period and phase can be obtained.
- the subsequent processing of S12 to S16 is processing performed using Spx data for 6 seconds acquired in S11.
- the Spx data for 6 seconds is subjected to Fourier transform corresponding to a predetermined number (for example, 20) of BPM (Beats Per Minute), and a beat cycle (one BPM) is obtained. Cycle) and beat phase (beat sound generation timing).
- BPM Beats Per Minute
- the frequency (BPM frequency) corresponding to a predetermined number of Spx data for 6 seconds, for example, 20 corresponding to BPMs 86 to 168 (BPM frequency) f ⁇ 86, 90, 94, ..., 168 ⁇ /
- the product sum is taken for Exp (2 ⁇ jft) (a sine wave oscillating at the BPM frequency, the same amplitude regardless of the frequency). That is, Fourier transform is performed.
- FIG. 6 is a diagram illustrating an example of a sine wave having a BPM frequency used for Spx data and Fourier transform.
- a sine wave of BPM 72 shown by a solid line
- a sine wave of BPM 88 shown by a broken line
- a sine wave of BPM 104 shown by an alternate long and short dash line
- the value of the Fourier transform data c (i) is obtained by the following equation 1. Note that the value of BPM and the number thereof can be changed as appropriate.
- t (k) in Equation 1 is a time position in the past 6 seconds in which Spx data exists, and its unit is seconds.
- x (t (k)) represents the value of Spx data at that moment (the magnitude of the peak value).
- f (i) is a BPM frequency, for example, BPM120 is 2.0 Hz.
- phase value ⁇ By calculating the phase value ⁇ , it is possible to know the relative position of the beat generation timing with respect to the BPM sine wave, that is, how much the beat generation timing is delayed with respect to one cycle of the BPM.
- FIG. 7 illustrates the relationship between the cosine wave indicating BPM (the real part of EXP (2 ⁇ jft)) and the beat generation timing.
- the number of Spx data is 4, and the BPM is 72.
- Each of the Spx data shown in FIG. 7 is a value (phase) of c (i) obtained using Expression 2, and indicates a beat generation timing.
- Spx data form beat generation timing intervals.
- the timing when the beat is generated is a timing delayed by ⁇ / 2 from the cosine wave having the BPM frequency obtained by calculating the phase value ⁇ .
- the calculation unit 103 uses the number of samples in one cycle of BPM as cycle data (S15).
- the calculation unit 103 outputs period data and phase data (S16). Note that the calculation unit 103 repeatedly performs the processing of S11 to S16 every time Spx data for 6 seconds is accumulated. Thereby, the change of the rhythm of a music can be tracked.
- FIG. 8 is a flowchart illustrating an example of beat generation timing detection processing by the detection unit 104.
- the detection unit 104 determines whether new period data and phase data are provided from the calculation unit 103. If new period data and phase data are provided, the process proceeds to S22, and if not, the process proceeds to S23.
- the detection unit 104 employs new cycle data and phase data for detection of beat generation timing, and discards old cycle data and phase data.
- the sample of the frame forming the Spx data is in a state in which a delay of 100 ms is given. Therefore, here, the musical piece and rhythm being played or reproduced, the hand clap sound described later, The time adjustment (phase adjustment) is performed so as to match. Thereafter, the process proceeds to S23.
- a counter is set using the number of samples of periodic data and the number of samples of phase data.
- detector 104 includes a counter that counts up (increments) for each sample of the sample rate (interval checking voltage of the analog signal in accordance with the sampling rate), the count value of the counter for each sample Increment. This waits for the count value to become greater than or equal to a predetermined value (a value indicating the sum of the number of phase data samples (count value) and the number of period data samples (count value)) (S24).
- the detection unit 104 detects the generation timing of the beat sound based on the prediction and outputs an output instruction for the beat sound (S25).
- the reproduction processing unit 105 sends the digital data of the beat sound (for example, hand clap sound) stored in advance in the ROM 11 or the HDD 13 to the D / A 17.
- the digital data is converted into an analog signal by the D / A 17, amplified by the AMP 18, and then output from the speaker 19.
- a hand clap sound is output over the music being played or played.
- a reproduced or performed (past) music is input to the generation unit 101, and the generation unit 101 generates Spx data.
- Such Spx data is accumulated in the buffer 102, and the calculation unit 103 calculates a beat period and phase from a plurality of Spx data for a predetermined time (6 seconds), and a beat sound that matches the music being played or played.
- the detection unit 104 detects and outputs the occurrence timing. As a result, the hand clap sound that matches the rhythm of the music being played back or played by the playback processor 105 can be output.
- the automatic output of the hand clap sound is performed by a simple algorithm with a small amount of calculation such as the generation of the Spx data described above, the calculation of the beat period and phase based on the Fourier transform data, and the count of the counter value. be able to. As a result, it is possible to avoid an increase in load on the execution subject (CPU 10) and an increase in memory resources. Further, since the amount of processing is small, it is possible to output a crap sound without a delay with respect to a reproduced sound or a performance sound (a person cannot recognize it even if there is a delay).
- the processing performed by the control unit 100 may be performed by a plurality of CPUs (processors) or a CPU having a multi-core configuration.
- the processing performed by the control unit 100 is executed by a processor other than the CPU 10 (DSP, GPU, etc.), an integrated circuit other than the processor (ASIC, FPGA, etc.), or a combination of a processor and an integrated circuit (MPU, SoC, etc.). May be.
- FIG. 9 is a diagram illustrating spectral intensities of 1 ⁇ (basic beat) and 2 ⁇ beats. Examples of 1 ⁇ and 2 ⁇ spectra are shown.
- a value obtained by adding the spectrum intensities corresponding to 1 ⁇ , 2 ⁇ , and 4 ⁇ at a predetermined ratio is used for determining the BPM.
- the spectral intensity of BPM91 an example of the first BPM
- the spectral intensity of BPM182 and BPM364 an example of at least one second BPM
- the numerical value is used as the absolute value of c (i) for BPM91.
- Some songs have more power for BPM corresponding to subdivided eighth notes and sixteenth notes than basic beats that are symbolized by quarter notes. By reflecting on the intensity, better BPM can be selected.
- 2 times or 4 times is exemplified as an example of an integer multiple, but the same effect can be obtained even with an integer multiple of 3 times or 5 times or more.
- the configurations shown in the embodiments can be appropriately combined without departing from the object.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
ビート音発生タイミング生成装置は、入力された楽曲のデータから、楽曲のビートを司るタイミング情報と、そのタイミングにおけるパワーを示す複数の強度データを生成する生成部と、複数の強度データを用いて、前記楽曲のビートの周期及びビートの位相を算出する算出部と、ビートの周期及びビートの位相に基づいて、ビート音の発生タイミングを検出する検出部とを含む。
Description
本発明は、ビート音発生タイミング生成装置、及びビート音発生タイミング生成方法に関する。
従来、演奏テンポを反映したテンポ情報を出力する装置がある(例えば、特許文献1)。また、オーディオ信号に含まれる楽曲に同期したテンポクロックを生成することを可能にする技術がある(例えば、特許文献2、3参照)。また、入力音響信号のリズムパターンを決定する技術がある(例えば、特許文献4)。
楽曲の演奏や歌唱の場で、楽曲のリズムに合わせて聴取者が手拍子を加えることがしばしば行われる。このような手拍子を楽曲の演奏又は再生中に自動的に(人手に依らず)付加することが考えられている。ところが、従来技術は、テンポ情報やテンポクロックの生成、或いはリズムパターンの決定に用いられるもので、手拍子の自動出力については想定されておらず、大量且つ複雑な計算を要するものであった。
本発明は、上記問題に鑑みなされたものであり、少ない計算量でビートのタイミングを発生させることのできるビート音発生タイミング生成装置、及びビート音発生タイミング生成方法を提供することを目的とする。
本発明の一側面は、入力された楽曲のデータから、前記楽曲のビートを司るタイミング情報と、そのタイミングにおけるパワーを示す複数の強度データを生成する生成部と、前記複数の強度データを用いて、前記楽曲のビートの周期及び位相を算出する算出部と、前記ビートの周期及び位相に基づいて、ビート音の発生タイミングを検出する検出部とを含むビート音発生タイミング生成装置である。
ビート音発生タイミング生成装置は、前記ビート音の発生タイミングに従って前記ビート音の再生処理を行う再生処理部をさらに含んでもよい。
ビート音発生タイミング生成装置における前記算出部は、前記複数の強度データが示す前記タイミングに基づいて前記複数の強度データについてのBPM(Beats Per Minute)を定め、前記BPMの一周期を前記ビートの周期として算出するともに、前記BPMを示す正弦波における前記ビート音の発生タイミングの相対位置を前記ビートの位相として算出し、前記検出部は、前記ビートの周期及び前記ビートの位相を示すカウント値を求め、サンプリングレートの1サンプル毎にインクリメントを行うカウンタを用いて前記カウント値の計時を行い、前記カウンタの値が前記カウント値に達したタイミングを前記ビート音の発生タイミングとして検出する構成を採用してもよい。
ビート音発生タイミング生成装置における前記算出部は、前記複数の強度データの夫々と複数個のBPMの夫々について行うフーリエ変換によって得られたフーリエ変換データの値が最大となるときのBPMの一周期を前記ビートの周期として算出する構成を採用してもよい。
ビート音発生タイミング生成装置において、前記複数の強度データの夫々と前記複数個のBPMのうちの第1のBPMについて前記フーリエ変換データを得る場合に、前記算出部は、前記第1のBPMの振動数の整数倍の振動数を有する少なくとも1つの第2のBPMについての前記フーリエ変換データを取得し、前記第1のBPMを用いて算出した前記フーリエ変換データの値と、前記第2のBPMを用いて算出した前記フーリエ変換データの値とを、所定の比率で足し合わせた値を、前記第1のBPMについての前記フーリエ変換データの値として用いる構成を採用してもよい。
ビート音発生タイミング生成装置において、前記生成部は、前記入力された楽曲のデータから所定数の連続する音のサンプルからなるフレームを取得し、前記フレーム中のサンプルを間引きし、間引きしたサンプルについて高速フーリエ変換を行い、高速フーリエ変換によって得られた周波数バンド幅毎のパワーの総和を示すデータを求める処理を所定間隔で行う一方で、自身より大きい値を示す前記パワーの総和を示すデータが出現しない状態が所定時間継続した場合の前記パワーの総和を示すデータを前記強度データとして抽出する構成を採用してもよい。
他の側面は、入力された楽曲のデータから、前記楽曲のビートを司るタイミング情報と、そのタイミングにおけるパワーを示す複数の強度データを生成し、前記複数の強度データを用いて、前記楽曲のビートの周期及び位相を算出し、前記ビートの周期及び位相に基づいて、ビート音の発生タイミングを検出することを含むビート音発生タイミング生成方法である。
以下、図面を参照して、実施形態に係るビート音発生タイミング生成装置及びビート音発生タイミング生成方法について説明する。実施形態の構成は例示である。実施形態の構成に限定されない。
図1は、ビート音発生タイミング生成装置の構成例を示す。ビート音発生タイミング生成装置1は、バス3に接続された、CPU10と、ROM(Read Only Memory)11と、RAM(Random Access Memory)12と、ハードディスクドライブ(HDD)13と、入力装置14と、表示装置15と、通信インタフェース(通信I/F)16とを含む。ビート音発生タイミング生成装置1は、さらに、バス3に接続された、ディジタルアナログ変換器(D/A)17と、アナログディジタル変換器(A/D)20とを含む。D/A17にはアンプ(AMP)18が接続され、AMP18にはスピーカ19が接続されている。A/D20には、マイクロフォン(MIC)21が接続されている。
ROM11は、CPU10によって実行される様々なプログラムやプログラムの実行に際して使用されるデータを記憶している。RAM12は、プログラムの展開領域、CPU10の作業領域、データの記憶領域などとして使用される。HDD13は、プログラムやプログラムの実行に際して使用されるデータ、楽曲データなどを記憶する。楽曲データは、例えばMP3やWAVE形式などの所定の音声ファイルのフォーマットを有する音データである。音声ファイルのフォーマット形式は、MP3やWAVE形式以外でもよい。ROM11及びRAM12は、主記憶装置の一例であり、HDD13は補助記憶装置の一例である。主記憶装置及び補助記憶装置は、記憶装置又は記憶媒体の一例である。
入力装置14は、キー、ボタン、タッチパネルなどであり、情報(指示や命令を含む)の入力に使用される。表示装置15は、情報の表示に使用される。通信I/F16は、ネットワーク2に接続されており、通信に係る処理を司る。CPU10は、例えば入力装置14から入力された指示に応じて、ネットワーク2から所望の楽曲データ(楽曲信号)をダウンロードし、HDD13に記憶することができる。
CPU10は、プログラムの実行によって、様々な処理を行う。処理は、上記した楽曲ダウンロードに係る処理の他、楽曲の再生に係る処理、楽曲のビート音発生タイミングを生成する処理、ビート音発生タイミングに合わせてビート音(例えば、クラップ音、特にハンドクラップ音など)を出力する処理などを含む。
例えば、CPU10は、楽曲データを再生する場合、プログラムの実行によって、HDD13からRAM12に読み出した楽曲データから楽曲の音を表すディジタルデータ(ディジタル信号)を生成し、D/A17に供給する。D/A17は、音を表すディジタルデータをディジタルアナログ変換によってアナログ信号に変換し、AMP18に出力する。AMP18によって振幅が調整されたアナログ信号はスピーカ19から出力される。
MIC21は、例えば、スピーカ19から出力される楽曲の音を伴奏(カラオケ)とする歌唱音などを集音する。MIC21で集音されたアナログの音声信号は、AMP18で振幅を増幅され、スピーカ19から増幅される。このとき、歌唱音は楽曲音とミキシングされても、それぞれ別個のスピーカから出力されてもよい。
また、MIC21は、楽器を用いた演奏(いわゆる生演奏)による音声や外部機器からの楽曲の再生音声を集音して音を拡大(スピーカ19から出力)したり、録音したりする場合にも使用される。例えば、MIC21で集音された演奏音の信号は、A/D20によってディジタル信号に変換され、CPU10に渡される。CPU10は、演奏音の信号を音声ファイルのフォーマットに従った形式に変換して音声ファイルを生成し、HDD13に記憶する。MIC21で集音される楽曲の音信号について、ビート音発生タイミングの生成処理が行われてもよい。
なお、ビート音発生タイミング生成装置1がコンパクトディスク(CD)などのディスク型記録媒体のドライブ装置(図示せず)を含んでもよい。この場合、ドライブ装置を用いてディスク型記録媒体から読み出された楽曲の音を表すディジタル信号がD/A17に供給され、楽曲音が再生されてもよい。この場合、ディスク型記録媒体から読み出された楽曲の音信号について、ビート音発生タイミングの生成処理が行われてもよい。
図2は、制御部100の構成例を示す。CPU10は、プログラムの実行によって、図2に示すような、時間スパースデータ(「Spxデータ」と表記:強度データに相当)の生成部101、バッファ102、周期データ及び位相データの算出部103、ビートの発生タイミングの検出部104、及びビート音の再生処理部105を含んだ制御部100として動作する。バッファ102は、例えば、RAM12やHDD13の所定の記憶領域に設けられる。
Spxデータの生成部101は、楽曲の音を表すディジタルデータを用いて、Spxデータを生成して出力する。バッファ102は、少なくとも所定時間分のSpxデータ(複数の強度データに相当)を蓄積する。本実施形態では、所定時間として6秒を例示するが、所定時間は6秒より長くても短くてもよい。算出部103は、バッファ102に蓄積された所定時間分のSpxデータの集合を用いて、ビートの周期データ及び位相データを算出する。発生タイミングの検出部104は、周期データ及び位相データを用いてビート音の発生タイミングを検出する。再生処理部105は、発生タイミングに合わせたビート音の再生処理を行う。
以下、制御部100をなす各部における処理の詳細を説明する。
<Spxデータの生成>
生成部101によるSpxデータの生成について説明する。生成部101には、再生に係る楽曲データ(音声出力のためにD/A17に送られたデータ)の音を表すディジタル信号が入力される。音を表すディジタル信号(楽曲信号)は、HDD13に記憶された楽曲データの再生処理によるものでも、MIC20で集音された音声信号のA/D変換によって得られたものでもよい。
<Spxデータの生成>
生成部101によるSpxデータの生成について説明する。生成部101には、再生に係る楽曲データ(音声出力のためにD/A17に送られたデータ)の音を表すディジタル信号が入力される。音を表すディジタル信号(楽曲信号)は、HDD13に記憶された楽曲データの再生処理によるものでも、MIC20で集音された音声信号のA/D変換によって得られたものでもよい。
音を表すディジタルデータは、RAM12に記憶され、生成部101の処理に使用される。音を表すディジタルデータは、アナログ信号から所定のサンプリングレートに従って採取されたサンプル(標本)データ(通常、アナログ信号の電圧値)の集合である。本実施形態では、一例として、サンプリングレートは44100Hzであるとする。但し、サンプリングレートは、所望のFFT解像度が得られる限りにおいて適宜変更可能である。
図3は、生成部101の処理例を示すフローチャートである。生成部101には、楽音出力(再生)のためにD/A17へ送られた、楽曲の音を表すディジタルデータ(ディジタル信号)が入力される。生成部101は、入力されたディジタルデータから、所定個数のサンプル(「フレーム」と呼ぶ)を取得する(S01)。所定個数は、本実施形態では1024であるがこれより多くても少なくてもよい。サンプルの取得は、所定間隔で行われる。所定間隔は、例えば5msであるが、これより多くても少なくてもよい。
S02では、生成部101は、間引き処理を行う。すなわち、生成部101は、1024個のサンプルに対する1/4間引きを行って、256個のサンプルを得る。間引きは1/4間引き以外でもよい。S03では、生成部101は、256個のサンプルに対して高速フーリエ変換(FFT)を施し、FFTの結果(周波数バンド幅毎のパワー)から、フレーム単位でのパワーの大きさを示すデータ(パワーデータという)を得る(S04)。なお、パワーは振幅の2乗で表されることから、「パワー」との概念には振幅も含まれる。
パワーデータは、例えば、256個のサンプルに対するFFTの実施によって得られるパワーの総和である。但し、今回のフレームの各周波数バンド幅のパワーから前回のフレームにおける、対応するバンド幅のパワーを差し引き、その値が正である(パワーが増加している)場合にはそのパワーの値を総和計算のために残し、そうでない(差し引いた値が負である(パワーが減少している))値は無視してもよい。パワーの増加分が大きいところがビートである可能性が高いからである。
また、他のフレームとの比較対象が同じである限りにおいて、総和の算出に用いる値は、今回のフレームのパワーの総和であっても、今回のフレームのパワーから前回のフレームのパワーを引いた値が正の値のパワーの総和であっても、今回のフレームのパワーから前回のフレームのパワーを差し引いた差分であってもよい。また、FFTの実施によって得られるパワースペクトルにおいて、所定の周波数より低い周波数についてのみ、上記した差分の算出が行われてもよい。所定の周波数以上の周波数については、ローパスフィルタを用いてカットしてもよい。
パワーデータは、フレーム単位で、RAM12やHDD13に記憶される。生成部101は、フレーム単位のパワーデータが作成される毎に、パワーの総和(ピーク値)の大きさを比較して大きい方を残し、小さい方は破棄する(S05)。生成部101は、S05で残した総和より大きい総和が所定時間出現していないか否かを判定する(S06)。所定時間は例えば100msであるが、100msより大きくても小さくてもよい。より大きい総和を示すデータが出現していない状態が所定時間続いた場合に、生成部101は、そのパワーの総和を示すデータをSpxデータとして抽出し、バッファ102に記憶(保存)する(S07)。このように、Spxデータは、楽音を示すディジタルデータのピーク値を100ms間隔で抽出したデータであり、楽曲のビートを司るタイミングを示す情報(タイミング情報)と、そのタイミングにおけるパワーとを示すデータである。Spxデータは、バッファ102に複数個蓄積される。生成部101は、S01からS06までの処理を繰り返し行う。
図4(A)は、生成部101に入力される12秒分の楽曲のディジタル信号であり、図4(B)は、図4(A)に示した楽曲のディジタル信号から生成されたSpxデータの例を示す。図4(B)に示すグラフの横軸は時間で、縦軸はパワーである。このグラフにおいて、上端に黒丸のついた縦線が、図4(A)に示した楽曲のディジタル信号から得られた個々のSpxデータを示し、横軸(時間軸)の位置がタイミングを示し、縦線の長さがパワーを示す。Spxデータは、100ms間隔で生成される場合、1秒間に10個程度生成される。
<周期データ及び位相データの算出>
図5は、算出部103の処理例を示すフローチャートである。S10において、生成部101にて生成された新たなSpxデータがバッファ102に到来し、蓄積される。S11において、バッファ102に蓄積されたSpxデータのうち所定時間分のSpxデータ(複数の強度データに相当)がバッファ102から取得される。所定時間は、例えば6秒間であるが、ビートの周期及び位相を得られる限りにおいて6秒より長くても短くてもよい。以降のS12~S16の処理は、S11で取得した6秒分のSpxデータを用いて行われる処理である。S12では、6秒分のSpxデータについて、所定個数(例えば20個)のBPM(Beats Per Minute:テンポ(リズムの速さ)を示す)に対応したフーリエ変換を施し、ビートの周期(BPMの一周期)とビートの位相(ビート音の発生タイミング)とを算出する。
図5は、算出部103の処理例を示すフローチャートである。S10において、生成部101にて生成された新たなSpxデータがバッファ102に到来し、蓄積される。S11において、バッファ102に蓄積されたSpxデータのうち所定時間分のSpxデータ(複数の強度データに相当)がバッファ102から取得される。所定時間は、例えば6秒間であるが、ビートの周期及び位相を得られる限りにおいて6秒より長くても短くてもよい。以降のS12~S16の処理は、S11で取得した6秒分のSpxデータを用いて行われる処理である。S12では、6秒分のSpxデータについて、所定個数(例えば20個)のBPM(Beats Per Minute:テンポ(リズムの速さ)を示す)に対応したフーリエ変換を施し、ビートの周期(BPMの一周期)とビートの位相(ビート音の発生タイミング)とを算出する。
具体的に説明すると、6秒分のSpxデータについて所定個数、例えばBPM86~168に対応する20個、のBPMに対応する周波数(BPM周波数)f = {86,90,94,…,168}/60 について、Exp(2πjft)(BPM周波数で振動する正弦波、振動数に関係無く振幅は同じ)に対する積和をとる。すなわちフーリエ変換を行う。フーリエ変換の結果をフーリエ変換データc(i) (i=0,1, 2, 3,…,19)とする。
図6は、Spxデータとフーリエ変換に用いるBPM周波数を有する正弦波の例を示す図である。図6の例では、BPM72の正弦波(実線で示す)と、BPM88の正弦波(破線で示す)と、BPM104の正弦波(一点鎖線で示す)とが例示されている。フーリエ変換データc(i)の値は以下の式1により求められる。なお、BPMの値及びその個数は適宜変更することができる。
ここに、式1におけるt(k)は、Spxデータの存在する過去6秒のうちの時間位置であり、単位は秒である。kはそのSpxデータのインデックスであり、k=1,...,Mである(MはSpxデータの個数)。また、x(t(k))は、その瞬間のSpxデータの値(ピーク値の大きさ)を示す。jは虚数単位(j2=-1)である。f(i)はBPM周波数であり、例えばBPM120は2.0Hzである。
算出部103は、c(i)=(c0, 1, c2, c3, ... ,c19)のうち、その絶対値が最大値に対応するBPMをSpxデータ(ビート)のBPMに決定する(S13)。また、その位相値(Phase)φ= Arg(c(i))[rad] を、6秒間分のSpxデータについてのビートタイミングとする。 ビートタイミングは、周期的に到来するビートの発生タイミングに対する相対的な位置を示す。
位相値φの算出によって、BPMの正弦波に対するビートの発生タイミングの相対位置、すなわち、BPMの一周期に対してビート発生タイミングがどのくらい遅れているかがわかる。
図7は、BPMを示す余弦波(EXP(2πjft)の実部)と、ビートの発生タイミングとの関係を図示する。図7に示す例では、Spxデータの個数が4であり、そのBPMが72である。図7に示すSpxデータの夫々は、式2を用いて求められるc(i)の値(位相)であり、ビートの発生タイミングを示す。Spxデータ間がビート発生タイミングの間隔をなす。図7に示す例では、位相値φの計算によって得られる、BPM周波数を有する余弦波からπ/2遅れたタイミングがビートの発生タイミングとなる。算出部103は、BPMの一周期のサンプル数を周期データとする(S15)。
例えば、BPMが104であり、サンプリングレートが44100Hzの場合では、周期データ(サンプル数)は、44100[個]/(104/60)=25442[個]となる。また、周期データが25442[個]の場合において、位相値φが0.34[rad]であった場合、位相データ(サンプル数)は、25442[個]×0.34[rad]/2π[rad]=1377[個]となる。そして、算出部103は、周期データ及び位相データを出力する(S16)。なお、算出部103は、6秒分のSpxデータが蓄積されるごとに、S11~S16の処理を繰り返し行う。これにより、楽曲のリズムの変更に追従することができる。
<ビート発生タイミングの検出>
図8は、検出部104によるビート発生タイミングの検出処理の例を示すフローチャートである。S21において、検出部104は、新しい周期データ及び位相データが算出部103から提供されたかを判定する。新しい周期データ及び位相データが提供された場合には、処理がS22に進み、そうでない場合には、処理がS23に進む。
図8は、検出部104によるビート発生タイミングの検出処理の例を示すフローチャートである。S21において、検出部104は、新しい周期データ及び位相データが算出部103から提供されたかを判定する。新しい周期データ及び位相データが提供された場合には、処理がS22に進み、そうでない場合には、処理がS23に進む。
S22では、検出部104は、新しい周期データ及び位相データをビート発生タイミングの検出に採用し、古い周期データ及び位相データは破棄する。このとき、Spxデータの作成時に、Spxデータをなすフレームのサンプルは、100ms遅延が与えられた状態となっているため、ここで、演奏又は再生中の楽曲とリズムと、後述するハンドクラップ音とが一致するように時間調整(位相調整)が行われる。その後、処理がS23に進む。
S23では、周期データのサンプル数及び位相データのサンプル数を用いたカウンタの設定を行う。例えば、検出部104は、サンプリングレートの1サンプル(サンプリングレートに従ったアナログ信号の電圧チェックの間隔)毎にカウントアップ(インクリメント)を行うカウンタを有し、当該カウンタのカウント値を1サンプル毎にインクリメントする。これによってカウント値が零から所定値(位相データのサンプル数(カウント値)及び周期データのサンプル数(カウント値)の和を示す値)以上になるのを待つ(S24)。
カウンタのカウント値が所定値以上になると、検出部104は、予測に基づく、ビート音の発生タイミングを検出し、ビート音の出力指示を出力する(S25)。再生処理部105は、出力指示に応じて、ROM11又はHDD13に予め記憶していたビート音(例えば、ハンドクラップ音)のディジタルデータをD/A17へ送る。ディジタルデータはD/A17でアナログ信号に変換され、AMP18で振幅増幅された後、スピーカ19から出力される。これによって、再生又は演奏中の楽曲に重ねてハンドクラップ音が出力される。
<実施形態の効果>
実施形態によれば、再生又は演奏済みの(過去の)楽曲が生成部101に入力され、生成部101がSpxデータを生成する。このようなSpxデータがバッファ102に蓄積され、算出部103が所定時間(6秒)分の複数のSpxデータから、ビートの周期及び位相を算出し、再生または演奏中の楽曲に合わせたビート音の発生タイミングを検出部104が検出して出力する。これによって、再生処理部105が再生又は演奏中の楽曲のリズムに合致したハンドクラップ音を出力させることができる。このハンドクラップ音の自動的な出力は、上述したSpxデータの生成や、フーリエ変換データに基づくビートの周期及び位相の算出、並びにカウンタ値のカウントのような、計算量の少ない簡易なアルゴリズムにより行うことができる。これにより、処理の実行主体(CPU10)に対する負荷増大や、メモリリソースの増大を回避することができる。また、処理量が少ないが故に、再生音や演奏音に対する遅延のない(遅延があっても人がそれを認識できない)クラップ音出力が可能となる。
実施形態によれば、再生又は演奏済みの(過去の)楽曲が生成部101に入力され、生成部101がSpxデータを生成する。このようなSpxデータがバッファ102に蓄積され、算出部103が所定時間(6秒)分の複数のSpxデータから、ビートの周期及び位相を算出し、再生または演奏中の楽曲に合わせたビート音の発生タイミングを検出部104が検出して出力する。これによって、再生処理部105が再生又は演奏中の楽曲のリズムに合致したハンドクラップ音を出力させることができる。このハンドクラップ音の自動的な出力は、上述したSpxデータの生成や、フーリエ変換データに基づくビートの周期及び位相の算出、並びにカウンタ値のカウントのような、計算量の少ない簡易なアルゴリズムにより行うことができる。これにより、処理の実行主体(CPU10)に対する負荷増大や、メモリリソースの増大を回避することができる。また、処理量が少ないが故に、再生音や演奏音に対する遅延のない(遅延があっても人がそれを認識できない)クラップ音出力が可能となる。
なお、制御部100が行う処理は、複数のCPU(プロセッサ)によって行うのでも、マルチコア構成のCPUによって行うのでもよい。また、制御部100が行う処理は、CPU10以外のプロセッサ(DSPやGPUなど)、プロセッサ以外の集積回路(ASICやFPGAなど)、或いはプロセッサと集積回路との組み合わせ(MPU、SoCなど)によって実行されてもよい。
<変形例>
上述した実施形態では、周期データの算出に用いるBPMとして、BPM86~168を用いた例を示した。これに対し、BMP86~168(夫々が第1のBPMに相当する)だけでなく、その2倍のBPM172~336や4倍のBPM344~672(第1のBPMの振動数の整数倍の振動数を有する少なくとも1つの第2のBPMに相当)についても、c(i)の絶対値(スペクトル強度)を得る。図9は、1倍(基本ビート)と2倍ビートのスペクトル強度を例示する図である。1倍と2倍のスペクトルの例を示す。そして、1倍、2倍、4倍のそれぞれに係るスペクトル強度を、所定の比で加算した値を、BPMの決定に用いる。例えば、BPM91(第1のBPMの一例)のスペクトル強度と、BPM182及びBPM364(少なくとも1つの第2のBPMの一例)のスペクトル強度を0.34:0.33:0.33の比で足し合わせ、その数値をBPM91についてのc(i)の絶対値として用いる。
上述した実施形態では、周期データの算出に用いるBPMとして、BPM86~168を用いた例を示した。これに対し、BMP86~168(夫々が第1のBPMに相当する)だけでなく、その2倍のBPM172~336や4倍のBPM344~672(第1のBPMの振動数の整数倍の振動数を有する少なくとも1つの第2のBPMに相当)についても、c(i)の絶対値(スペクトル強度)を得る。図9は、1倍(基本ビート)と2倍ビートのスペクトル強度を例示する図である。1倍と2倍のスペクトルの例を示す。そして、1倍、2倍、4倍のそれぞれに係るスペクトル強度を、所定の比で加算した値を、BPMの決定に用いる。例えば、BPM91(第1のBPMの一例)のスペクトル強度と、BPM182及びBPM364(少なくとも1つの第2のBPMの一例)のスペクトル強度を0.34:0.33:0.33の比で足し合わせ、その数値をBPM91についてのc(i)の絶対値として用いる。
楽曲によっては、4分音符に象徴される基本ビートよりも、細分された8分音符、16分音符に対応するBPMに対するパワーが大きいものがあるので、2倍や4倍のパワーを、基本ビートの強度に反映させることで、よりよいBPMを選出可能となる。上記した例では、整数倍の例として2倍や4倍を例示したが、3倍や5倍以上の整数倍でも、同様の効果を得ることができる。実施形態にて示した構成は、目的を逸脱しない範囲で適宜組み合わせることができる。
1・・・ビート音発生タイミング生成装置
2・・・ネットワーク
10・・・CPU
11・・・ROM
12・・・RAM
13・・・HDD
14・・・入力装置
15・・・表示装置
16・・・通信インタフェース
17・・・ディジタルアナログ変換器
18・・・アンプ
19・・・スピーカ
20・・・アナログディジタル変換器
21・・・マイクロフォン
100・・・制御部
101・・・生成部
102・・・バッファ
103・・・算出部
104・・・検出部
105・・・再生処理部
2・・・ネットワーク
10・・・CPU
11・・・ROM
12・・・RAM
13・・・HDD
14・・・入力装置
15・・・表示装置
16・・・通信インタフェース
17・・・ディジタルアナログ変換器
18・・・アンプ
19・・・スピーカ
20・・・アナログディジタル変換器
21・・・マイクロフォン
100・・・制御部
101・・・生成部
102・・・バッファ
103・・・算出部
104・・・検出部
105・・・再生処理部
Claims (7)
- 入力された楽曲のデータから、前記楽曲のビートを司るタイミング情報と、そのタイミングにおけるパワーを示す複数の強度データを生成する生成部と、
前記複数の強度データを用いて、前記楽曲のビートの周期及び位相を算出する算出部と、
前記ビートの周期及び位相に基づいて、ビート音の発生タイミングを検出する検出部と
を含むビート音発生タイミング生成装置。 - 前記ビート音の発生タイミングに従って前記ビート音の再生処理を行う再生処理部をさらに含む
請求項1に記載のビート音発生タイミング生成装置。 - 前記算出部は、前記複数の強度データが示す前記タイミングに基づいて前記複数の強度データについてのBPM(Beats Per Minute)を定め、前記BPMの一周期を前記ビートの周期として算出するともに、前記BPMを示す正弦波における前記ビート音の発生タイミングの相対位置を前記ビートの位相として算出し、
前記検出部は、前記ビートの周期及び前記ビートの位相を示すカウント値を求め、サンプリングレートの1サンプル毎にインクリメントを行うカウンタを用いて前記カウント値の計時を行い、前記カウンタの値が前記カウント値に達したタイミングを前記ビート音の発生タイミングとして検出する
請求項1又は2に記載のビート音発生タイミング生成装置。 - 前記算出部は、前記複数の強度データの夫々と複数個のBPMの夫々について行うフーリエ変換によって得られたフーリエ変換データの値が最大となるときのBPMの一周期を前記ビートの周期として算出する
請求項3に記載のビート音発生タイミング生成装置。 - 前記複数の強度データの夫々と前記複数個のBPMのうちの第1のBPMについて前記フーリエ変換データを得る場合に、前記算出部は、前記第1のBPMの振動数の整数倍の振動数を有する少なくとも1つの第2のBPMについての前記フーリエ変換データを取得し、前記第1のBPMを用いて算出した前記フーリエ変換データの値と、前記第2のBPMを用いて算出した前記フーリエ変換データの値とを、所定の比率で足し合わせた値を、前記第1のBPMについての前記フーリエ変換データの値として用いる
請求項4に記載のビート音発生タイミング生成装置。 - 前記生成部は、前記入力された楽曲のデータから所定数の連続する音のサンプルからなるフレームを取得し、前記フレーム中のサンプルを間引きし、間引きしたサンプルについて高速フーリエ変換を行い、高速フーリエ変換によって得られた周波数バンド幅毎のパワーの総和を示すデータを求める処理を所定間隔で行う一方で、自身より大きい値を示す前記パワーの総和を示すデータが出現しない状態が所定時間継続した場合の前記パワーの総和を示すデータを前記強度データとして抽出する
請求項1から5のいずれか1項に記載のビート音発生タイミング生成装置。 - 入力された楽曲のデータから、前記楽曲のビートを司るタイミング情報と、そのタイミングにおけるパワーを示す複数の強度データを生成し、
前記複数の強度データを用いて、前記楽曲のビートの周期及び位相を算出し、
前記ビートの周期及び位相に基づいて、ビート音の発生タイミングを検出する
ことを含むビート音発生タイミング生成方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/020079 WO2019224990A1 (ja) | 2018-05-24 | 2018-05-24 | ビート音発生タイミング生成装置 |
US17/057,696 US11749240B2 (en) | 2018-05-24 | 2018-05-24 | Beat timing generation device and method thereof |
JP2020520972A JP7105880B2 (ja) | 2018-05-24 | 2018-05-24 | ビート音発生タイミング生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/020079 WO2019224990A1 (ja) | 2018-05-24 | 2018-05-24 | ビート音発生タイミング生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019224990A1 true WO2019224990A1 (ja) | 2019-11-28 |
Family
ID=68617292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/020079 WO2019224990A1 (ja) | 2018-05-24 | 2018-05-24 | ビート音発生タイミング生成装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11749240B2 (ja) |
JP (1) | JP7105880B2 (ja) |
WO (1) | WO2019224990A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021234902A1 (ja) * | 2020-05-21 | 2021-11-25 | ローランド株式会社 | ビート音発生タイミング生成装置、ビート音発生タイミング生成方法、及びプログラム |
US11688377B2 (en) | 2013-12-06 | 2023-06-27 | Intelliterran, Inc. | Synthesized percussion pedal and docking station |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019224990A1 (ja) * | 2018-05-24 | 2019-11-28 | ローランド株式会社 | ビート音発生タイミング生成装置 |
WO2020008255A1 (en) * | 2018-07-03 | 2020-01-09 | Soclip! | Beat decomposition to facilitate automatic video editing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008107569A (ja) * | 2006-10-25 | 2008-05-08 | Korg Inc | テンポ検出装置 |
WO2008129837A1 (ja) * | 2007-03-27 | 2008-10-30 | Ssd Company Limited | タイミング制御装置及びタイミング制御方法 |
JP2011164497A (ja) * | 2010-02-13 | 2011-08-25 | Ryukoku Univ | テンポ値検出装置およびテンポ値検出方法 |
JP2012118417A (ja) * | 2010-12-02 | 2012-06-21 | Ryukoku Univ | 特徴波形抽出システムおよび特徴波形抽出方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3743280B2 (ja) | 2000-11-10 | 2006-02-08 | ティアック株式会社 | 記録媒体再生装置 |
EP1244093B1 (en) * | 2001-03-22 | 2010-10-06 | Panasonic Corporation | Sound features extracting apparatus, sound data registering apparatus, sound data retrieving apparatus and methods and programs for implementing the same |
JP2003289494A (ja) | 2002-01-23 | 2003-10-10 | Konica Corp | 情報記録媒体及びその生産方法 |
US20050117032A1 (en) * | 2002-01-23 | 2005-06-02 | Yutaka Ueda | Image delivery apparatus |
JP3982443B2 (ja) | 2003-03-31 | 2007-09-26 | ソニー株式会社 | テンポ解析装置およびテンポ解析方法 |
JP4542863B2 (ja) | 2004-10-05 | 2010-09-15 | 株式会社アイ・エム・エス | 音楽ゲーム装置、プログラムおよびコンピュータ読取可能な記録媒体 |
JP4622479B2 (ja) | 2004-11-25 | 2011-02-02 | ソニー株式会社 | 再生装置および再生方法 |
JP4940588B2 (ja) * | 2005-07-27 | 2012-05-30 | ソニー株式会社 | ビート抽出装置および方法、音楽同期画像表示装置および方法、テンポ値検出装置および方法、リズムトラッキング装置および方法、音楽同期表示装置および方法 |
JP4465626B2 (ja) * | 2005-11-08 | 2010-05-19 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
JP4949687B2 (ja) * | 2006-01-25 | 2012-06-13 | ソニー株式会社 | ビート抽出装置及びビート抽出方法 |
JP4320782B2 (ja) * | 2006-03-23 | 2009-08-26 | ヤマハ株式会社 | 演奏制御装置、およびプログラム |
JP4561735B2 (ja) | 2006-12-13 | 2010-10-13 | ヤマハ株式会社 | コンテンツ再生装置およびコンテンツ同期再生システム |
JP4916947B2 (ja) | 2007-05-01 | 2012-04-18 | 株式会社河合楽器製作所 | リズム検出装置及びリズム検出用コンピュータ・プログラム |
JP4467601B2 (ja) | 2007-05-08 | 2010-05-26 | ソニー株式会社 | ビート強調装置、音声出力装置、電子機器、およびビート出力方法 |
US8269093B2 (en) * | 2007-08-21 | 2012-09-18 | Apple Inc. | Method for creating a beat-synchronized media mix |
JP4973426B2 (ja) | 2007-10-03 | 2012-07-11 | ヤマハ株式会社 | テンポクロック生成装置およびプログラム |
JP2009098262A (ja) | 2007-10-15 | 2009-05-07 | Yamaha Corp | テンポクロック生成装置およびプログラム |
US8426715B2 (en) * | 2007-12-17 | 2013-04-23 | Microsoft Corporation | Client-side audio signal mixing on low computational power player using beat metadata |
JP5604824B2 (ja) | 2008-07-29 | 2014-10-15 | ヤマハ株式会社 | テンポ情報出力装置、音声処理システム、および電子楽器 |
US8071869B2 (en) * | 2009-05-06 | 2011-12-06 | Gracenote, Inc. | Apparatus and method for determining a prominent tempo of an audio work |
US20130226957A1 (en) * | 2012-02-27 | 2013-08-29 | The Trustees Of Columbia University In The City Of New York | Methods, Systems, and Media for Identifying Similar Songs Using Two-Dimensional Fourier Transform Magnitudes |
EP2867887B1 (en) * | 2012-06-29 | 2016-12-28 | Nokia Technologies Oy | Accent based music meter analysis. |
GB2518663A (en) * | 2013-09-27 | 2015-04-01 | Nokia Corp | Audio analysis apparatus |
JP2017219595A (ja) | 2016-06-05 | 2017-12-14 | 衞 田中 | 音楽生成法 |
JP6705422B2 (ja) | 2017-04-21 | 2020-06-03 | ヤマハ株式会社 | 演奏支援装置、及びプログラム |
JP6729515B2 (ja) * | 2017-07-19 | 2020-07-22 | ヤマハ株式会社 | 楽曲解析方法、楽曲解析装置およびプログラム |
EP3659050A4 (en) * | 2017-07-24 | 2021-04-28 | Medrhythms, Inc. | IMPROVING MUSIC FOR REPEATED MOVEMENT ACTIVITIES |
JP6920445B2 (ja) * | 2017-08-29 | 2021-08-18 | AlphaTheta株式会社 | 楽曲解析装置および楽曲解析プログラム |
WO2019043797A1 (ja) * | 2017-08-29 | 2019-03-07 | Pioneer DJ株式会社 | 楽曲解析装置および楽曲解析プログラム |
WO2019224990A1 (ja) * | 2018-05-24 | 2019-11-28 | ローランド株式会社 | ビート音発生タイミング生成装置 |
US20220020348A1 (en) * | 2018-11-22 | 2022-01-20 | Roland Corporation | Video control device and video control method |
US20220351707A1 (en) * | 2019-06-27 | 2022-11-03 | Roland Corporation | Method and device for flattening power of musical sound signal, and method and device for detecting beat timing of musical piece |
JP7274082B2 (ja) * | 2021-08-19 | 2023-05-16 | パナソニックホールディングス株式会社 | 音楽生成装置、音楽生成方法、及び音楽生成プログラム |
-
2018
- 2018-05-24 WO PCT/JP2018/020079 patent/WO2019224990A1/ja active Application Filing
- 2018-05-24 JP JP2020520972A patent/JP7105880B2/ja active Active
- 2018-05-24 US US17/057,696 patent/US11749240B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008107569A (ja) * | 2006-10-25 | 2008-05-08 | Korg Inc | テンポ検出装置 |
WO2008129837A1 (ja) * | 2007-03-27 | 2008-10-30 | Ssd Company Limited | タイミング制御装置及びタイミング制御方法 |
JP2011164497A (ja) * | 2010-02-13 | 2011-08-25 | Ryukoku Univ | テンポ値検出装置およびテンポ値検出方法 |
JP2012118417A (ja) * | 2010-12-02 | 2012-06-21 | Ryukoku Univ | 特徴波形抽出システムおよび特徴波形抽出方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11688377B2 (en) | 2013-12-06 | 2023-06-27 | Intelliterran, Inc. | Synthesized percussion pedal and docking station |
WO2021234902A1 (ja) * | 2020-05-21 | 2021-11-25 | ローランド株式会社 | ビート音発生タイミング生成装置、ビート音発生タイミング生成方法、及びプログラム |
JPWO2021234902A1 (ja) * | 2020-05-21 | 2021-11-25 | ||
JP7457111B2 (ja) | 2020-05-21 | 2024-03-27 | ローランド株式会社 | ビート音発生タイミング生成装置、ビート音発生タイミング生成方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210241729A1 (en) | 2021-08-05 |
JP7105880B2 (ja) | 2022-07-25 |
US11749240B2 (en) | 2023-09-05 |
JPWO2019224990A1 (ja) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019224990A1 (ja) | ビート音発生タイミング生成装置 | |
JP4940588B2 (ja) | ビート抽出装置および方法、音楽同期画像表示装置および方法、テンポ値検出装置および方法、リズムトラッキング装置および方法、音楽同期表示装置および方法 | |
JP4949687B2 (ja) | ビート抽出装置及びビート抽出方法 | |
JP4645241B2 (ja) | 音声処理装置およびプログラム | |
WO2007010637A1 (ja) | テンポ検出装置、コード名検出装置及びプログラム | |
JP2011039511A (ja) | 楽譜位置推定装置、楽譜位置推定方法および楽譜位置推定ロボット | |
JP4613923B2 (ja) | 楽音処理装置およびプログラム | |
JP2006215204A (ja) | 音声合成装置およびプログラム | |
WO2020105195A1 (ja) | 映像制御装置、及び映像制御方法 | |
JP4985570B2 (ja) | ディジタル音響信号処理方法及び処理装置 | |
JP5397786B2 (ja) | かぶり音除去装置 | |
JP7158583B2 (ja) | 楽音信号のパワーの平坦化方法及び装置、並びに、楽曲のビートタイミング検出方法及び装置 | |
JP7457111B2 (ja) | ビート音発生タイミング生成装置、ビート音発生タイミング生成方法、及びプログラム | |
Dobrian | Strategies for continuous pitch and amplitude tracking in realtime interactive improvisation software | |
JP4483561B2 (ja) | 音響信号分析装置、音響信号分析方法及び音響信号分析プログラム | |
EP3757984A1 (en) | Electronic musical instrument, method and program | |
JP4433734B2 (ja) | 音声分析合成装置、音声分析装置、及びプログラム | |
JP4973426B2 (ja) | テンポクロック生成装置およびプログラム | |
JP2013015601A (ja) | 音源の識別装置および音源に連動する情報処理装置 | |
JP5879813B2 (ja) | 複数音源の識別装置および複数音源に連動する情報処理装置 | |
JP2009098262A (ja) | テンポクロック生成装置およびプログラム | |
JP2705063B2 (ja) | 楽音信号発生装置 | |
JP2009186762A (ja) | 拍タイミング情報生成装置およびプログラム | |
JP4930608B2 (ja) | 音響信号分析装置、音響信号分析方法及び音響信号分析プログラム | |
Mallick et al. | Using Musical Beats to Segment Videos of Bharatanatyam Adavus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18920083 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020520972 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18920083 Country of ref document: EP Kind code of ref document: A1 |