WO2022181477A1 - 音響解析方法、音響解析システムおよびプログラム - Google Patents

音響解析方法、音響解析システムおよびプログラム Download PDF

Info

Publication number
WO2022181477A1
WO2022181477A1 PCT/JP2022/006612 JP2022006612W WO2022181477A1 WO 2022181477 A1 WO2022181477 A1 WO 2022181477A1 JP 2022006612 W JP2022006612 W JP 2022006612W WO 2022181477 A1 WO2022181477 A1 WO 2022181477A1
Authority
WO
WIPO (PCT)
Prior art keywords
tempo
curve
maximum
minimum
analysis
Prior art date
Application number
PCT/JP2022/006612
Other languages
English (en)
French (fr)
Inventor
和彦 山本
Original Assignee
ヤマハ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2021028549A external-priority patent/JP2022129742A/ja
Priority claimed from JP2021028539A external-priority patent/JP2022129738A/ja
Application filed by ヤマハ株式会社 filed Critical ヤマハ株式会社
Priority to CN202280015315.6A priority Critical patent/CN116917981A/zh
Publication of WO2022181477A1 publication Critical patent/WO2022181477A1/ja
Priority to US18/453,196 priority patent/US20230395047A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G3/00Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
    • G10G3/04Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/031Musical 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/051Musical 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 or detection of onsets of musical sounds or notes, i.e. note attack timings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/031Musical 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/076Musical 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/375Tempo or beat alterations; Music timing control
    • G10H2210/381Manual tempo setting or adjustment
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/021Indicator, i.e. non-screen output user interfacing, e.g. visual or tactile instrument status or guidance information using lights, LEDs, seven segments displays
    • G10H2220/081Beat indicator, e.g. marks or flashing LEDs to indicate tempo or beat positions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/005Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
    • G10H2250/015Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation

Definitions

  • the present disclosure relates to technology for analyzing acoustic signals.
  • Patent Literature 1 discloses a technique of estimating the beat and tempo of a piece of music using a probability model such as a hidden Markov model.
  • one aspect of the present disclosure aims to accurately estimate the tempo of a piece of music represented by an acoustic signal.
  • an acoustic analysis system has a maximum tempo curve representing temporal changes in the maximum tempo value and a minimum tempo curve representing temporal changes in the minimum tempo value. , set according to instructions from the user, and by analyzing the acoustic signal representing the performance sound of the music, within the limit range between the maximum value represented by the maximum tempo curve and the minimum value represented by the minimum tempo curve to estimate the tempo of the song.
  • a sound analysis system generates a maximum tempo curve that represents temporal changes in the maximum tempo value and a minimum tempo curve that represents temporal changes in the minimum tempo value in accordance with instructions from the user.
  • the tempo of the music is determined within the limited range between the maximum value represented by the maximum tempo curve and the minimum value represented by the minimum tempo curve by analyzing the curve setting part to be set and the acoustic signal representing the performance sound of the music. and an analysis processing unit for estimating .
  • a program sets a maximum tempo curve representing temporal changes in the maximum tempo value and a minimum tempo curve representing temporal changes in the minimum tempo value in accordance with instructions from a user.
  • the tempo of the music is set within the limited range between the maximum value represented by the maximum tempo curve and the minimum value represented by the minimum tempo curve.
  • the computer system functions as an analysis processing unit for estimation.
  • FIG. 1 is a block diagram illustrating the configuration of an acoustic analysis system according to a first embodiment
  • FIG. 1 is a block diagram illustrating a functional configuration of an acoustic analysis system
  • FIG. FIG. 4 is an explanatory diagram of an operation of generating feature data by a feature extraction unit
  • 4 is a block diagram illustrating the configuration of an estimation model
  • FIG. FIG. 4 is an illustration of machine learning to establish an inference model
  • 9 is a flowchart illustrating a specific procedure of probability calculation processing
  • FIG. 4 is an explanatory diagram of a state transition model
  • FIG. 10 is an explanatory diagram of beat estimation processing
  • FIG. 10 is a flowchart illustrating a specific procedure of beat estimation processing
  • FIG. It is a schematic diagram of an analysis screen.
  • FIG. 1 is a block diagram illustrating a functional configuration of an acoustic analysis system
  • FIG. 4 is an explanatory diagram of an operation of generating feature data by a feature extraction unit
  • 4
  • FIG. 10 is an explanatory diagram of estimation model update processing; 9 is a flowchart illustrating a specific procedure of estimation model update processing; 4 is a flowchart illustrating a specific procedure of processing executed by a control device; 9 is a flowchart illustrating a specific procedure of initial analysis processing; FIG. 11 is a flowchart illustrating a specific procedure of beat update processing; FIG. FIG. 11 is a block diagram illustrating the functional configuration of an acoustic analysis system according to a second embodiment; FIG. FIG. 11 is a schematic diagram of an analysis screen in the second embodiment; FIG. 4 is an explanatory diagram of an estimated tempo curve, maximum tempo curve, and initial tempo curve; FIG. 11 is a flowchart illustrating a specific procedure of beat estimation processing in the second embodiment; FIG. FIG. 11 is an explanatory diagram of processing for generating output data in the third embodiment;
  • FIG. 1 is a block diagram illustrating the configuration of an acoustic analysis system 100 according to a first embodiment.
  • the sound analysis system 100 is a computer system that estimates a plurality of beats of a piece of music by analyzing an acoustic signal A representing performance sounds of the piece of music.
  • the acoustic analysis system 100 includes a control device 11 , a storage device 12 , a display device 13 , an operation device 14 and a sound emitting device 15 .
  • the acoustic analysis system 100 is realized by, for example, a portable information device such as a smart phone or a tablet terminal, or a portable or stationary information device such as a personal computer.
  • the acoustic analysis system 100 can be realized as a single device, or as a plurality of devices configured separately from each other.
  • the control device 11 is composed of one or more processors that control each element of the acoustic analysis system 100 .
  • the control device 11 may be a CPU (Central Processing Unit), an SPU (Sound Processing Unit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), or an ASIC (Application Specific 1 or more types) integrated It consists of a processor.
  • the storage device 12 is a single or multiple memories that store programs executed by the control device 11 and various data used by the control device 11 .
  • the storage device 12 is composed of a known recording medium such as a magnetic recording medium or a semiconductor recording medium, or a combination of a plurality of types of recording media.
  • a portable recording medium that can be attached to and detached from the acoustic analysis system 100, or a recording medium that can be written or read by the control device 11 via a communication network such as the Internet (for example, cloud storage) is stored. You may utilize as the apparatus 12.
  • the storage device 12 stores the acoustic signal A.
  • the acoustic signal A is a sample series representing the waveform of the performance sound of a piece of music. Specifically, the acoustic signal A represents at least one of an instrumental sound and a singing sound of a piece of music.
  • the data format of the acoustic signal A is arbitrary.
  • the acoustic signal A may be supplied to the acoustic analysis system 100 from a signal supply device separate from the acoustic analysis system 100 .
  • the signal supply device is, for example, a playback device that supplies the acoustic signal A recorded on a recording medium to the acoustic analysis system 100, or a distribution device (not shown) that transmits the acoustic signal A received via a communication network to the acoustic analysis system.
  • 100 is a communication device.
  • the display device 13 displays images under the control of the control device 11 .
  • various display panels such as a liquid crystal display panel or an organic EL (Electroluminescence) panel are used as the display device 13 .
  • the display device 13, which is separate from the acoustic analysis system 100, may be connected to the acoustic analysis system 100 by wire or wirelessly.
  • the operating device 14 is an input device that receives instructions from a user.
  • the operation device 14 is, for example, an operator operated by a user or a touch panel that detects contact by the user.
  • the sound emitting device 15 reproduces sound under the control of the control device 11 .
  • a speaker or headphones are used as the sound emitting device 15 .
  • a sound emitting device 15 separate from the acoustic analysis system 100 may be connected to the acoustic analysis system 100 by wire or wirelessly.
  • FIG. 2 is a block diagram illustrating the functional configuration of the acoustic analysis system 100.
  • the control device 11 executes a program stored in the storage device 12 to perform a plurality of functions (analysis processing unit 20, display control unit 24, reproduction control unit 25, instruction reception unit 26) for processing the acoustic signal A. and an estimation model updating unit 27).
  • the analysis processing unit 20 estimates a plurality of beats in the music by analyzing the acoustic signal A. Specifically, the analysis processing unit 20 generates beat data B from the acoustic signal A.
  • the beat data B is data representing each beat in a piece of music.
  • the beat data B is time-series data that designates the time of each of a plurality of beats in a piece of music. For example, the time of each beat based on the start point of the acoustic signal A is specified by the beat data B.
  • the analysis processing section 20 of the first embodiment includes a feature extraction section 21 , a probability calculation section 22 and an estimation processing section 23 .
  • FIG. 3 is an explanatory diagram of the operation of the feature extraction unit 21.
  • Each analysis time point t[m] is a time point set on the time axis at predetermined intervals.
  • the feature quantity f[m] is an index representing the acoustic feature of the acoustic signal A.
  • FIG. Specifically, the feature amount f[m], which tends to fluctuate significantly before and after the beat, is used.
  • Information about the intensity of the acoustic signal A is exemplified as the feature amount f[m].
  • Information on the frequency characteristics (timbre) of the acoustic signal A such as MFCC (Mel-Frequency Cepstrum Coefficients), MSLS (Mel-Scale Log Spectrum), or Constant-Q Transform (CQT), is also included as a feature quantity. It is used as f[m].
  • the types of feature quantity f[m] are not limited to the above examples.
  • the feature amount f[m] may be a combination of multiple types of information about the acoustic signal A.
  • the feature extraction unit 21 generates feature data F[m] at each analysis time point t[m].
  • the feature data F[m] corresponding to an arbitrary analysis time point t[m] is a plurality of feature values f[m] within a period (hereinafter referred to as "unit period") U including the analysis time point t[m].
  • FIG. 3 illustrates a case where one unit period U includes five analysis time points t[m ⁇ 2] to t[m+2] centering on the m-th analysis time point t[m]. there is Therefore, the feature data F[m] is a time series of five feature amounts f[m ⁇ 2] to f[m+2] within the unit period U.
  • the unit period U may include only one analysis time point [m]. That is, the feature data F[m] may consist of only one feature amount f[m].
  • the feature extraction unit 21 generates feature data F[m] including the feature amount f[m] of the acoustic signal A at each analysis time point t[m].
  • the probability calculation unit 22 of FIG. 2 generates output data O[m] representing the probability P[m] that each analysis time point t[m] corresponds to a beat of a piece of music from the feature data F[m].
  • the generation of output data O[m] is repeated at each analysis time t[m].
  • the estimation model 50 is used for generating the output data O[m] by the probability calculator 22 .
  • the estimation model 50 is a statistical model that has learned the above correlations. Specifically, the estimation model 50 is a learned model obtained by learning the relationship between the feature data F[m] and the output data O[m] through machine learning.
  • the estimation model 50 is composed of, for example, a deep neural network (DNN: Deep Neural Network).
  • the estimation model 50 includes a program that causes the control device 11 to execute an operation for generating the output data O[m] from the feature data F[m], and a plurality of variables (specifically, a weight value and a bias value) applied to the operation. ) in combination with A program that implements estimation model 50 and a plurality of variables are stored in storage device 12 . Numerical values for each of the plurality of variables that define the estimation model 50 are set in advance by machine learning.
  • FIG. 4 is a block diagram illustrating a specific configuration of the estimation model 50.
  • the estimation model 50 is composed of a convolutional neural network including an input layer 51 , multiple intermediate layers 52 ( 52 a and 52 b ), and an output layer 53 .
  • a plurality of feature quantities f[m ⁇ 2] to f[m+2] included in one feature data F[m] are input to the input layer 51 in parallel.
  • a plurality of intermediate layers 52 are hidden layers located between the input layer 51 and the output layer 53 .
  • the multiple intermediate layers 52 include multiple intermediate layers 52a and multiple intermediate layers 52b.
  • a plurality of intermediate layers 52a are located between the input layer 51 and a plurality of intermediate layers 52b.
  • Each intermediate layer 52a is composed of, for example, a combination of a convolution layer and a pooling layer.
  • Each intermediate layer 52b is a fully connected layer having, for example, ReLU as an activation function.
  • the output layer 53 outputs output data O[m].
  • the estimation model 50 is divided into a first portion 50a and a second portion 50b.
  • the first part 50a is the part of the estimation model 50 on the input side. Specifically, the first portion 50a is the first half portion composed of the input layer 51 and the plurality of intermediate layers 52a.
  • the second portion 50b is a portion of the estimation model 50 on the output side. Specifically, the second portion 50 b is the latter half portion composed of a plurality of intermediate layers 52 b and the output layer 53 .
  • the first part 50a is a part that generates intermediate data D[m] according to feature data F[m].
  • the intermediate data D[m] is data representing the feature of the feature data F[m]. Specifically, the intermediate data D[m] is data representing features that contribute to outputting statistically valid output data O[m] for the feature data F[m].
  • the second part 50b is a part that generates output data O[m] according to intermediate data D[m].
  • FIG. 5 is an explanatory diagram of machine learning that establishes the estimation model 50.
  • the estimated model 50 is established by machine learning by a machine learning system 200 separate from the acoustic analysis system 100 , and the estimated model 50 is provided to the acoustic analysis system 100 .
  • the estimated model 50 is transmitted from the machine learning system 200 to the acoustic analysis system 100 .
  • a plurality of learning data Z are used for machine learning of the estimation model 50.
  • Each of the plurality of learning data Z is composed of a combination of learning feature data Ft and learning output data Ot.
  • the feature data Ft represents a feature amount at a specific point in time of the acoustic signal A prepared for learning.
  • the feature data Ft is composed of a time series of a plurality of feature amounts corresponding to different points in time on the time axis.
  • the learning output data Ot corresponding to a specific point in time is data (that is, a correct value) representing the probability that the point in time corresponds to the beat of a piece of music.
  • a plurality of learning data Z are prepared for a large number of known songs.
  • the machine learning system 200 generates output data O[m] output by an initial or provisional model (hereinafter referred to as a “provisional model”) 59 when feature data Ft of each learning data Z is input, and the learning data Z An error function representing the error with the output data Ot of is calculated.
  • Provisional model 59 updates the variables of interim model 59 such that the error function is reduced.
  • a provisional model 59 at the time when the above processing is repeated for each of the plurality of learning data Z is determined as the estimated model 50 .
  • the estimation model 50 can generate statistically valid output data for the unknown feature data F[m] under the latent relationship between the feature data Ft and the output data Ot in the plurality of learning data Z.
  • Output O[m] That is, the estimation model 50 is a trained model that has learned the relationship between the learning feature data Ft corresponding to each time point on the time axis and the learning output data Ot representing the probability that the time point corresponds to a beat. is.
  • the probability calculation unit 22 inputs the feature data F[m] at each analysis time point t[m] to the estimation model 50 established by the above procedure, so that the analysis time point t[m] corresponds to a beat. Generate output data O[m] representing the probability P[m].
  • FIG. 6 is a flowchart illustrating a specific procedure of the process (hereinafter referred to as "probability calculation process") Sa executed by the probability calculation unit 22. As shown in FIG. The control device 11 functions as the probability calculation unit 22 to execute the probability calculation process Sa.
  • the probability calculation unit 22 inputs the feature data F[m] corresponding to the analysis time t[m] to the estimation model 50 (Sa1).
  • the probability calculation unit 22 acquires the intermediate data D[m] output by the first part 50a of the estimation model 50, and stores the intermediate data D[m] in the storage device 12 (Sa2). Further, the probability calculation unit 22 acquires the output data O[m] output by the estimation model 50 (second part 50b) and stores the output data O[m] in the storage device 12 (Sa3).
  • the probability calculation unit 22 determines whether or not the above processing has been performed for M analysis time points t[1] to t[M] in the music (Sa4). If the determination result is negative (Sa4: NO), the probability calculation unit 22 generates intermediate data D[m] and output data O[m] (Sa1 to Sa3) for the unprocessed analysis time point t[m]. Run. When the process has been executed for M analysis time points t[1] to t[M] (Sa4: YES), the probability calculation unit 22 terminates the probability calculation process Sa.
  • the estimation processing unit 23 of FIG. 2 estimates a plurality of beats in the music from the M pieces of output data O[m] calculated by the probability calculation unit 22 at different analysis time points t[m]. Specifically, as described above, the estimation processing unit 23 generates the beat data B representing the time of each beat in the music. A state transition model 60 is used for generation of the beat data B by the probability calculator 22 .
  • FIG. 7 is a block diagram illustrating the configuration of the state transition model 60.
  • the state transition model 60 is a statistical model composed of a plurality of (N) states Q.
  • FIG. Specifically, the state transition model 60 is composed of a hidden semi-Markov model (HSMM), and multiple points are estimated by the Viterbi algorithm, which is an example of dynamic programming. .
  • HSMM hidden semi-Markov model
  • Fig. 7 shows beat points on the time axis.
  • the length of time ⁇ between two beat points that are adjacent to each other on the time axis (hereinafter referred to as “beat interval”) is a variable value according to the tempo of the music. Specifically, the faster the tempo, the shorter the beat interval ⁇ .
  • a plurality of time points (hereinafter referred to as “passing points”) Y[j] are set within the beat interval ⁇ .
  • the passing point Y[0] is a time point (beat) corresponding to a beat point
  • the passing points Y[1] to Y[4] are respective time points equally dividing the beat interval ⁇ .
  • Passage point Y[3] is located behind passage point Y[4]
  • passage point Y[2] is located behind passage point Y[3]
  • passage point Y[1] is located behind passage point Y[2].
  • ] is located behind.
  • the progress point Y[0] corresponds to the end point (start point or end point) of the beat interval ⁇ .
  • the length of time from each beat point (passing point Y[0]) to each passing point Y can also be expressed as a phase based on the beat point. For example, time progresses in the order of progress point Y[4] ⁇ progress point Y[3] ⁇ progress point Y[2] ⁇ progress point Y[1]. ] (beat).
  • the N states Q correspond to different combinations of each of the plurality of tempos X[i] and each of the plurality of passing points Y[0] to Y[4]. That is, for each tempo X[i], there is a time series of five states Q corresponding to different progress points Y[j].
  • the state Q corresponding to the combination of the tempo X[i] and the progress point Y[j] may be expressed as "state Q[i,j]".
  • the state Q[i, j] corresponding to each progress point Y[j] other than the progress point Y[0] is the state Q Transition only to [i,j-1].
  • state Q[i,4] transitions to state Q[i,3]
  • state Q[i,3] transitions to state Q[i,2]
  • state Q[i,2] transitions to state Q Transition to [i, 1].
  • the state Q[i,0] corresponding to the beat there are a plurality of states Q[i,1] (Q[1,1], Q[2,1] , Q[3,1], . . . ) occurs.
  • FIG. 8 is an explanatory diagram of a process (hereinafter referred to as "beat estimation process") Sb in which the estimation processing unit 23 uses the state transition model 60 to estimate a plurality of beats in a piece of music.
  • FIG. 9 is a flowchart which illustrates the concrete procedure of the beat estimation process Sb.
  • the control device 11 functions as the estimation processing unit 23 to execute the beat estimation processing Sb.
  • the estimation processing unit 23 calculates the observation likelihood ⁇ [m] for each of the M analysis time points t[1] to t[M] (Sb1).
  • the observation likelihood ⁇ [m] at each analysis time t[m] is set to a numerical value corresponding to the probability P[m] represented by the output data O[m] at the analysis time t[m].
  • the observation likelihood ⁇ [m] is set to the probability P[m] represented by the output data O[m] or a numerical value calculated by a predetermined operation on the probability P[m].
  • the estimation processing unit 23 calculates the path p[i,j] and the likelihood ⁇ [i,j] for each state Q[i,j] of the state transition model 60 at each analysis time point t[m] ( Sb2).
  • a path p[i,j] is a path from another state Q to a state Q[i,j], and the likelihood ⁇ [i,j] is the observed state Q[i,j]. It is an index of certainty.
  • a path p[1, 1] is only the path p from the state Q[1,2] corresponding to the tempo X[1] and the previous progress point Y[2].
  • the likelihood ⁇ [1,1] of the state Q[1,1] at the analysis time t[m] is calculated from the analysis time t[m] by the time length d[1] corresponding to the tempo X[1]. It is set to the likelihood corresponding to the preceding time point t1.
  • the likelihood ⁇ [1,1] of the state Q[1,1] is the observation likelihood ⁇ [mA] at the analysis time t[mA] immediately before the time t1 and It is calculated by interpolation (for example, linear interpolation) with the observation likelihood ⁇ [mB] at the analysis time t[mB].
  • the tempo X[i] may change at the transition point Y[0]. Therefore, as can be seen from FIG. 8, for example, in state Q[1,0] corresponding to tempo X[1] and passing point Y[0], there are multiple states corresponding to different tempos X[i].
  • a separate path p arrives from each of Q[i,1]. For example, in the state Q[1,0], in addition to the path p1 from the state Q[1,1] corresponding to the combination of the tempo X[1] and the previous progress point Y[1], the tempo X[1] 2] and the previous progress point Y[1] is also reached from state Q[2,1].
  • the likelihood ⁇ 1 for the path p1 from the state Q[1,1] to the state Q[1,0] is the observation likelihood ⁇ [mA ] and the observation likelihood ⁇ [mB] at the analysis time t[mB] immediately after the time t1 (for example, linear interpolation).
  • the likelihood ⁇ 2 for the path p2 from state Q[2,1] to state Q[1,0] is only for the time length d[2] corresponding to the tempo X[2] of state Q[2,1]. It is set to the likelihood at time t2 before analysis time t[m].
  • the likelihood ⁇ 2 is the observation likelihood ⁇ [mC] at the analysis time t[mC] immediately before the time t2 and the observation likelihood ⁇ [mA] at the analysis time t[mA] immediately after the time t2. ] (for example, linear interpolation).
  • the estimation processing unit 23 calculates the maximum value of a plurality of likelihoods ⁇ ( ⁇ 1, ⁇ 2, . ⁇ [1,0], and among the plurality of paths p (p1, p2, . Determine the path p[1,0] to [1,0].
  • the process of calculating the path p[i, j] and the likelihood ⁇ [i, j] for each of the N states Q is performed along the forward direction of the time axis at the analysis time t[m]. is executed every time. That is, the path p[i,j] and the likelihood ⁇ [i,j] of each state Q are calculated for each of the M analysis time points t[1] to t[M].
  • the estimation processing unit 23 generates a time series of M states Q (hereinafter referred to as "state series") corresponding to different analysis time points t[m] (Sb3). Specifically, the estimation processing unit 23 calculates from the state Q[i,j] corresponding to the maximum value of the N likelihoods ⁇ [i,j] calculated for the last analysis time point t[M] of the music. , the paths p[i, j] are connected in order along the reverse direction of the time axis, and a state sequence is generated from the M states Q located on the series of paths after connection (that is, the maximum likelihood path). That is, a sequence in which states Q having a large likelihood ⁇ [i, j] among the N states Q are arranged for each analysis time point t[m] is generated as a state sequence.
  • the estimation processing unit 23 estimates, as a beat point, each analysis time point t[m] at which the state Q corresponding to the progress point Y[0] is observed among the M states Q constituting the state series, and Beat point data B specifying the time of the point is generated (Sb4).
  • the output data O[m] at each analysis time point t[m] is generated.
  • a plurality of beats are estimated from the output data O[m]. Therefore, generating statistically valid output data O[m] for unknown feature data F[m] based on the latent relationship between learning feature data Ft and learning output data Ot. can.
  • a specific example of the configuration of the analysis processing unit 20 is as described above.
  • the display control unit 24 in FIG. 2 causes the display device 13 to display an image. Specifically, the display control unit 24 causes the display device 13 to display the analysis screen 70 of FIG. 10 .
  • the analysis screen 70 is an image representing the result of the analysis of the acoustic signal A by the analysis processing unit 20 .
  • the analysis screen 70 includes a first area 71 and a second area 72.
  • a waveform 711 of the acoustic signal A is displayed in the first area 71 .
  • the result of the analysis of the partial period (hereinafter referred to as the "specified period") 712 specified in the first area 71 of the acoustic signal A is displayed.
  • the second area 72 includes a waveform area 73 , a probability area 74 and a beat area 75 .
  • a common time axis is set for the waveform region 73, the probability region 74, and the beat region 75.
  • a waveform 731 of the acoustic signal A within the specified period 712 and sounding points (onsets) 732 in the acoustic signal A are displayed.
  • the probability area 74 displays a time series 741 of the probability P[m] represented by the output data O[m] at each analysis time t[m].
  • the time series 741 of the probability P[m] represented by the output data O[m] may be superimposed on the waveform 731 of the acoustic signal A and displayed in the waveform area 73 .
  • a plurality of beats in the music estimated by analyzing the acoustic signal A are displayed. Specifically, a time series of a plurality of beat images 751 corresponding to different beats in the music is displayed in the beats area 75 .
  • a beat image 751 corresponding to one or more beats that satisfy a predetermined condition (hereinafter referred to as "correction candidate points") among a plurality of beats in the music is displayed in a manner different from the other beat images 751. highlighted.
  • a correction candidate point is a beat that is highly likely to be changed by the user.
  • the reproduction control unit 25 in FIG. 2 controls reproduction of sound by the sound emitting device 15 .
  • the reproduction control unit 25 causes the sound emitting device 15 to reproduce the performance sound represented by the acoustic signal A.
  • FIG. In parallel with the reproduction of the acoustic signal A, the reproduction control unit 25 reproduces a predetermined notification sound at a time point corresponding to each of the plurality of beats.
  • the display control unit 24 displays one beat image 751 corresponding to the point in time when the sound emitting device 15 is reproducing from among the plurality of beat images 751 in the beat area 75, and displays the other beat images 751 in the beat area 75. It is highlighted in a display mode different from the beat image 751 . That is, in parallel with the reproduction of the acoustic signal A, each of the plurality of beat images 751 is sequentially highlighted in chronological order.
  • the user moves any one of the beat images 751 in the beat region 75 in the direction of the time axis, thereby instructing to change the position of the beat corresponding to the beat image 751. .
  • the user instructs to change the position of a correction candidate point among a plurality of beat points, for example.
  • the instruction receiving unit 26 in FIG. 2 receives an instruction (hereinafter referred to as "change instruction”) from the user to change the position of some of the beats in the music.
  • the analysis time t[m1] is the beat initially estimated by the analysis processing unit 20 (that is, the beat before the change due to the change instruction), and the analysis time t[m2] is the change due to the change instruction from the user. It is the beat point after.
  • the estimation model updating unit 27 in FIG. 2 updates the estimation model 50 according to the user's change instruction. Specifically, the estimation model updating unit 27 updates the estimation model 50 so that the change of the beat according to the change instruction is reflected in the estimation of the multiple beats over the entire piece of music.
  • FIG. 11 is an explanatory diagram of the process (hereinafter referred to as "estimation model update process") Sc in which the estimation model update unit 27 updates the estimation model 50.
  • the estimated model update process Sc is a process (additional learning) for updating the estimated model 50 that has been learned by the machine learning system 200 so as to reflect a change instruction from the user.
  • an adaptive block 55 is added between the first part 50a and the second part 50b of the estimation model 50.
  • the adaptation block 55 consists, for example, of attention whose activation function is initialized to the identity function.
  • the initial adaptation block 55 feeds the intermediate data D[m] output from the first portion 50a unchanged to the second portion 50b.
  • the estimation model updating unit 27 updates the feature data F[m1] at the analysis time point t[m1] at which the beat points before change are located, and the feature data F[m2] at the analysis time point t[m2] at which the beat points after change are located. ] are sequentially input to the first part 50a (input layer 51).
  • the first part 50a generates intermediate data D[m1] corresponding to feature data F[m1] and intermediate data D[m2] corresponding to feature data F[m2].
  • Each of intermediate data D[m1] and intermediate data D[m2] is sequentially input to adaptive block 55 .
  • the estimation model update unit 27 sequentially supplies each of the M pieces of intermediate data D[1] to D[M] calculated in the immediately preceding probability calculation process Sa (Sa2) to the adaptation block 55. . That is, the intermediate data D[m] (D[m1], D [m2]) and each of the M pieces of intermediate data D[1] to D[M] covering the entire piece of music are input to the adaptation block 55 .
  • the adaptive block 55 stores the intermediate data D[m] (D[m1], D[m2]) corresponding to the analysis time t[m] related to the change instruction and the intermediate data D[ m].
  • the analysis time t[m2] is the time when it was estimated not to correspond to the beat in the previous probability calculation process Sa, but was instructed to be the beat by the change instruction. That is, the probability P[m2] represented by the output data O[m2] at the analysis time t[m2] was set to a small numerical value in the immediately preceding probability calculation process Sa, but is set to 1 under the user's change instruction. Should be set to a close number.
  • the estimation model updating unit 27 determines that the probability P[m] of the output data O[m] is sufficient.
  • estimation model 50 A number of variables in estimation model 50 are updated to approach a large number (eg, 1) for .
  • the estimation model updating unit 27 updates the probability P[ m] and the numerical value (ie, 1) representing the beat is reduced, the coefficients defining each of the first portion 50a, the adaptive block 55, and the second portion 50b are updated.
  • the analysis time point t[m1] is the time point when it was estimated to correspond to the beat in the previous probability calculation process Sa, but was instructed not to correspond to the beat by the change instruction. That is, the probability P[m1] represented by the output data O[m1] at the analysis time t[m1] was set to a large numerical value in the immediately preceding probability calculation process Sa, but is set to 0 under the user's change instruction. Should be set to a close number.
  • a plurality of variables of the estimation model 50 are updated to approach a small numerical value (eg, 0) for .
  • the estimation model updating unit 27 updates the probability P[ m] and a numerical value (i.e., 0) indicating that it does not correspond to a beat, the coefficients defining each of the first portion 50a, the adaptive block 55, and the second portion 50b are updated so that the error is reduced. .
  • intermediate data D[m1] and the intermediate data D[m2] directly related to the change instruction, but also the M pieces of intermediate data throughout the music Among D[1] to D[M], intermediate data D[m] similar to intermediate data D[m1] or intermediate data D[m2] is also used to update the estimation model 50 . Therefore, even though the beats that the user instructs to change are only a part of the beats in the music, the estimation model 50 after execution of the estimation model updating process Sc reflects the change instruction over the entire music. M pieces of output data O[1] to O[M] can be generated.
  • FIG. 12 is a flowchart illustrating a specific procedure of the estimation model update processing Sc.
  • the control device 11 functions as the estimated model update unit 27 to execute the estimated model update process Sc.
  • the estimation model updating unit 27 determines whether or not the adaptive block 55 has already been added to the estimation model 50 (Sc1). If the adaptive block 55 has not been added to the estimated model 50 (Sc1: NO), the estimated model updating unit 27 inserts the initial adaptive block 55 between the first part 50a and the second part 50b of the estimated model 50. Add new (Sc2). On the other hand, if the adaptive block 55 has been added in the past estimation model update process Sc (Sc1: YES), the addition of the adaptive block 55 (Sc2) is not executed.
  • the estimation model 50 including the new adaptive block 55 is updated by the following process, and when the adaptive block 55 has already been added, the existing adaptive block 55 is included.
  • the estimation model 50 is updated by the following processing. That is, the estimation model updating unit 27 performs additional learning (Sc3 and Sc4) by applying the beat positions before and after the change according to the change instruction from the user in a state where the adaptive block 55 is added to the estimation model 50. to update a plurality of variables of the estimation model 50 . Note that when the user instructs to change the positions of two or more beats, additional learning (Sc3 and Sc4) is executed for each beat according to the change instruction.
  • the estimation model updating unit 27 updates the multiple variables of the estimation model 50 using the feature data F[m1] at the analysis time point t[m1] at which the beat points before the change due to the change instruction are located (Sc3). Specifically, in parallel with supplying the feature data F[m1] to the estimation model 50, the estimation model updating unit 27 sequentially supplies each of the M pieces of intermediate data D[1] to D[M] to the adaptation block 55. so that the probability P[m] of the output data O[m] generated from each intermediate data D[m] similar to the intermediate data D[m1] of the feature data F[m1] approaches 0, A plurality of variables of estimation model 50 are updated. Therefore, the estimation model 50 outputs the output data O[ m].
  • the estimation model updating unit 27 updates a plurality of variables of the estimation model 50 using the feature data F[m2] at the analysis time point t[m2] at which the beat after the change instruction is located (Sc4 ). Specifically, in parallel with supplying the feature data F[m2] to the estimation model 50, the estimation model updating unit 27 sequentially supplies each of the M pieces of intermediate data D[1] to D[M] to the adaptation block 55. so that the probability P[m] of the output data O[m] generated from each intermediate data D[m] similar to the intermediate data D[m2] of the feature data F[m2] approaches 1, A plurality of variables of estimation model 50 are updated. Therefore, the estimation model 50 outputs the output data O[ m].
  • the beat estimation process Sb is executed under the constraint condition according to the change instruction. By doing so, a plurality of updated beats are estimated.
  • the estimation processing unit 23 calculates the likelihood ⁇ [i,0] corresponding to the passing point Y[0] among the N likelihoods ⁇ [i,j] at the analysis time t[m2] as described above. Maintain the value calculated by the method of Therefore, in the generation of the state series (Sb3), the maximum likelihood path that always passes through the state Q of the progress point Y[0] at the analysis time t[m2] is estimated. That is, it is estimated that the analysis time point t[m2] corresponds to a beat.
  • a point estimation process Sb is executed.
  • the estimation processing unit 23 calculates the likelihood ⁇ [i , 0] are forced to 0. Further, the estimation processing unit 23 calculates the likelihood corresponding to the passing point Y[j′] other than the passing point Y[0] among the N likelihoods ⁇ [i,j] at the analysis time point t[m1]. The likelihood ⁇ [i,j′] corresponding to ⁇ [i,j′] is maintained at a significant value calculated in the manner described above.
  • the maximum likelihood path that does not pass through the state Q of the progress point Y[0] at the analysis time t[m1] is estimated. That is, it is estimated that the analysis time point t[m1] does not correspond to a beat.
  • the beat estimation process Sb is performed under the constraint condition that the state Q of the progress point Y[0] is not observed at the analysis time t[m1] before the change due to the change instruction from the user. is executed.
  • the likelihood ⁇ [i,0] of the progress point Y[0] at the analysis time t[m1] is set to 0, and the progress points Y other than the progress point Y[0] at the analysis time t[m2]
  • Setting the likelihood ⁇ [i,j′] of [j′] to 0 changes the maximum likelihood path over the entire piece of music. That is, even though the beats that the user instructs to change are only part of the beats in the song, the change instruction is reflected in a plurality of beats over the entire song.
  • FIG. 13 is a flowchart illustrating a specific procedure of processing executed by the control device 11.
  • the process of FIG. 13 is started with an instruction from the user to the operation device 14 as a trigger.
  • the control device 11 executes a process (hereinafter referred to as "initial analysis process") of estimating a plurality of beats of music by analyzing the acoustic signal A (S1).
  • FIG. 14 is a flowchart illustrating a specific procedure of initial analysis processing.
  • the control device 11 feature extraction unit 21
  • the feature data F[m] is, as described above, a time series of a plurality of feature quantities f[m] within the unit period U including the analysis time t[m].
  • the control device 11 (probability calculation unit 22) generates M pieces of output data O[m] corresponding to different analysis time points t[m] by executing the probability calculation process Sa illustrated in FIG. S12). Also, the control device 11 (estimation processing unit 23) estimates a plurality of beats in the music by executing the beat estimation process Sb illustrated in FIG. 9 (S13).
  • the control device 11 identifies one or more correction candidate points among the plurality of beat points estimated by the beat point estimation process Sb (S14). Specifically, the beat point where the beat interval ⁇ between the beat point immediately before or after the beat point deviates from the average value in the song, or the time length of the beat interval ⁇ is significantly different compared to ⁇ between the beat intervals before and after A beat point to be corrected is specified as a correction candidate point. Also, a beat whose probability P[m] is less than a predetermined value may be specified as a correction candidate point among the plurality of beats.
  • the control device 11 causes the display device 13 to display the analysis screen 70 illustrated in FIG. 10 (S15).
  • the control device 11 Instruction receiving unit 26), as exemplified in FIG. (S2: NO).
  • the control device 11 estimates the positions of the plurality of beats estimated in the initial analysis process according to the change instruction from the user.
  • beat update processing is executed (S3).
  • FIG. 15 is a flowchart illustrating a specific procedure of beat update processing.
  • the control device 11 (estimation model updating unit 27) updates a plurality of variables of the estimation model 50 in accordance with a change instruction from the user by executing the estimation model updating process Sc illustrated in FIG. 12 (S31). .
  • the control device 11 executes the probability calculation process Sa of FIG. O[M] is generated (S32). Further, the control device 11 (analysis processing unit 20) generates the beat data B by executing the beat estimation process Sb of FIG. 9 using the M pieces of output data O[1] to Q[M]. (S33). That is, a plurality of beats within the music are estimated.
  • the beat estimation process Sb in the beat update process is executed under the aforementioned constraint conditions according to the change instruction.
  • the estimation model updating unit 27, the probability calculating unit 22, and the analysis processing unit 20 implement an element (beat updating unit) that updates the positions of the estimated multiple beats.
  • the control device 11 (display control unit 24) identifies one or more correction candidate points among the plurality of beat points estimated by the beat point estimation process Sb (S34), as in step S14 described above.
  • the control device 11 (display control unit 24) causes the display device 13 to display the analysis screen 70 of FIG. 10 including the beat image 751 representing each beat after updating (S35).
  • the control device 11 determines whether or not the end of the process has been instructed by the user, as illustrated in FIG. 13 (S4).
  • the control device 11 shifts to waiting for a change instruction by the user (S2).
  • the control device 11 executes the beat update process in response to another change instruction by the user (S3).
  • the estimation model update process Sc (S31) of the second and subsequent beat update processes since the result of the determination of the presence or absence of the adaptive block 55 (Sc1) is affirmative, no new adaptive block 55 is added. That is, the estimation model 50 to which the adaptive block 55 was added in the first beat update process is cumulatively updated each time the estimation model update process Sc is executed thereafter.
  • the control device 11 ends the process of FIG.
  • some of the beats are The positions of multiple beats in the song, including beats other than , are updated. That is, a change instruction for a part of music is reflected in the entire music. Therefore, compared to the configuration in which the user needs to instruct the change of the positions of all the beats in the music, it is possible to use the system while reducing the user's burden of instructing the change of the positions of the beats. It is possible to acquire a time series of beats according to the intention of the person.
  • estimation model 50 With the adaptive block 55 added between the first part 50a and the second part 50b in the estimation model 50, estimation is performed by additional learning applying the beat positions before and after the change according to the change instruction from the user. Model 50 is updated. Therefore, it is possible to specialize the estimation model 50 to a state capable of estimating beats that match the user's intention or preference.
  • a plurality of beats are estimated using a state transition model 60 composed of a plurality of states Q corresponding to any of a plurality of tempos X[i]. Therefore, it is possible to estimate a plurality of beats so that the tempo X[i] naturally transitions.
  • the plurality of states Q of the state transition model 60 are different combinations of each of the plurality of tempos X[i] and each of the plurality of passing points Y[j] within the beat interval ⁇ .
  • the beat estimation process Sb is performed under the constraint condition that the state Q corresponding to the progress point Y[0] is observed at the analysis time point t[m] of the beat after the change due to the change instruction from the user. is executed. Therefore, it is possible to estimate a plurality of beats including the time points after the change by the change instruction from the user.
  • FIG. 16 is a block diagram illustrating the functional configuration of the acoustic analysis system 100 according to the second embodiment.
  • the control device 11 of the second embodiment has a curve setting function. It functions as part 28 .
  • the analysis processing unit 20 of the second embodiment estimates the tempo T[m] of the song in addition to estimating a plurality of beats in the song. That is, by analyzing the acoustic signal A, the analysis processing unit 20 estimates a time series of M tempos T[1] to T[M] corresponding to different analysis points t[m] on the time axis. do.
  • FIG. 17 is a schematic diagram of the analysis screen 70 in the second embodiment.
  • the analysis screen 70 of the second embodiment includes an estimated tempo curve CT, a maximum tempo curve CH, and a minimum tempo curve CL in addition to the elements similar to those of the first embodiment.
  • the waveform area 73 of the analysis screen 70 the waveform 731 of the acoustic signal A, the estimated tempo curve CT, the maximum tempo curve CH, and the minimum tempo curve CL are displayed under a common time axis. .
  • the display of the sounding point 732 in the acoustic signal A is omitted for the sake of convenience.
  • FIG. 18 is a schematic diagram focusing on the estimated tempo curve CT, maximum tempo curve CH, and minimum tempo curve CL.
  • the estimated tempo curve CT is a curve representing the time series of the tempo T[m] estimated by the analysis processing unit 20 .
  • the maximum tempo curve CH is a curve representing the temporal change of H[m], the maximum value of the tempo T[m] estimated by the analysis processing unit 20 (hereinafter referred to as "maximum tempo"). That is, the maximum tempo curve CH represents a time series of M maximum tempos H[1] to H[M] corresponding to different analysis points t[m] on the time axis.
  • the minimum tempo curve CL is a curve representing the temporal change of the minimum value of the tempo T[m] estimated by the analysis processing unit 20 (hereinafter referred to as "minimum tempo") L[m]. That is, the minimum tempo curve CL represents a time series of M minimum tempos L[1] to L[M] corresponding to different analysis points in time t[m] on the time axis.
  • the analysis processing unit 20 sets the range between the maximum tempo H[m] and the minimum tempo L[m] (hereinafter referred to as "limit range") for each analysis time point t[m]. Estimate the tempo T[m] of the song within R[m]. Therefore, the estimated tempo curve CT is positioned between the maximum tempo curve CH and the minimum tempo curve CL. The position and range width of the limit range R[m] change over time.
  • the curve setting section 28 in FIG. 16 sets a maximum tempo curve CH and a minimum tempo curve CL.
  • the user can indicate a desired shape of the maximum tempo curve CH and a desired shape of the minimum tempo curve CL.
  • the curve setting section 28 sets the maximum tempo curve CH and the minimum tempo curve CL in accordance with instructions from the user on the analysis screen 70 (waveform area 73).
  • the curve setting unit 28 sets a continuous curve passing through a plurality of points specified by the user in the waveform region 73 in time series as the maximum tempo curve CH or the minimum tempo curve. Further, the user can instruct the waveform region 73 to change the set maximum tempo curve CH and minimum tempo curve CL by operating the operation device 14 .
  • the curve setting section 28 changes the maximum tempo curve CH and the minimum tempo curve CL in accordance with the user's instruction for the analysis image (waveform region 73). As understood from the above description, according to the second embodiment, the user can easily change the maximum tempo curve CH and the minimum tempo curve CL while checking the analysis screen 70 .
  • the waveform 731 of the acoustic signal A, the maximum tempo curve CH and the minimum tempo curve CL are displayed under the common time axis, so that the maximum tempo H[m] or the minimum tempo L[ m] and the waveform 731 of the acoustic signal A can be easily grasped visually by the user.
  • the estimated tempo curve CT is displayed together with the maximum tempo curve CH and the minimum tempo curve CL, the temporal change in the tempo T[m] of the song estimated between the maximum tempo curve CH and the minimum tempo curve CL is used. can be grasped visually.
  • FIG. 19 is a flowchart illustrating a specific procedure of the beat estimation process Sb in the second embodiment.
  • the estimation processing unit 23 for each state Q[i, j] of the state transition model 60, Path p[i,j] and likelihood ⁇ [i,j] are calculated for each analysis time point t[m] (Sb2).
  • the estimation processing unit 23 of the second embodiment calculates the likelihood ⁇ [ i,j] and the likelihood ⁇ [i,j] corresponding to each tempo X[i] below the minimum tempo L[m] is set to zero.
  • the estimation processing unit 23 calculates the likelihood ⁇ [i, j] corresponding to each tempo X[i] inside the restricted range R[m] for each analysis time point t[m] as in the first embodiment. Set to a significant number as well. That is, among the N states Q of the state transition model 60, the state Q corresponding to the tempo X[i] inside the restricted range R[m] is set to the valid state.
  • the estimation processing unit 23 generates a state series by the same method as in the first embodiment (Sb3). That is, a sequence in which states Q having a large likelihood ⁇ [i, j] among the N states Q are arranged for each analysis time point t[m] is generated as a state sequence. As described above, the likelihood ⁇ [i,j] of the state Q[i,j] corresponding to the tempo X[i] outside the restricted range R[m] at the analysis time t[m] is set to 0. . Therefore, states Q corresponding to tempos X[i] outside the restricted range R[m] are not selected as elements of the state sequence. As understood from the above description, the invalid state of each state Q means that the state Q is not selected.
  • the estimation processing unit 23 generates the beat data B (Sb4) as in the first embodiment, and identifies the tempo T[m] at each analysis time point t[m] from the state series (Sb5). That is, the tempo X[i] of the state Q corresponding to the analysis time t[m] in the state series is set as the tempo T[m]. As described above, the state Q corresponding to the tempo X[i] outside the restricted range R[m] is not selected as an element of the state series, so the tempo T[m] is a numerical value inside the restricted range R[m]. is limited to
  • the maximum tempo curve CH and the minimum tempo curve CL are set according to instructions from the user. Then, the tempo T[m] of the song is estimated within the limited range R[m] between the maximum tempo H[m] represented by the maximum tempo curve CH and the minimum tempo L[m] represented by the minimum tempo curve CL. . Therefore, the possibility of estimating a tempo that deviates excessively from the tempo intended by the user (for example, a tempo that is twice or half the numerical value assumed by the user) is reduced. That is, the tempo T[m] of the music represented by the acoustic signal A can be estimated with high accuracy.
  • the state transition model 60 composed of a plurality of states Q corresponding to any of a plurality of tempos X[i] is used for estimating a plurality of beats. Therefore, the tempo T[m] that naturally transitions over time is estimated. Moreover, the simple process of setting the state Q corresponding to the tempo X[i] outside the limit range R[m] to the invalid state among the plurality of states Q allows the tempo limited within the limit range R[m]. T[m] can be estimated.
  • the output data O[m] representing the probability P[m] calculated by the probability calculation unit 22 using the estimation model 50 is applied to the beat estimation process Sb by the estimation processing unit 23.
  • the form to be used is exemplified.
  • the probability P[m] calculated by the estimation model 50 (hereinafter referred to as "probability P1[m]") is adjusted according to the user's operation on the operation device 14, and the adjusted probability The output data O[m] representing P2[m] is applied to the beat estimation process Sb.
  • FIG. 20 is an explanatory diagram of the process of generating the output data O[m] by the probability calculation unit 22 of the third embodiment.
  • the user While listening to the performance sound of the music that the reproduction control unit 25 causes the sound emitting device 15 to reproduce, the user operates the operation device 14 at each point that the user recognizes as a beat. For example, the user gives a tap operation to the touch panel of the operation device 14 at the time point of the beat recognized by the user in parallel with the reproduction of the music.
  • operation point hereinafter referred to as "operation point" ⁇ at which the user operates is shown on the time axis.
  • the probability calculation unit 22 sets the unit distribution W for each operation time point ⁇ .
  • a unit distribution W is a distribution of weight values w[m] on the time axis. For example, a probability distribution such as a normal distribution whose variance is set to a predetermined value is used as the unit distribution W.
  • the weight value w[m] becomes maximum at the operation time point ⁇ , and the weight value w[m] decreases as the distance from the operation time point ⁇ increases.
  • the probability calculation unit 22 multiplies the probability P1[m] generated by the estimation model 50 for the analysis time point t[m] by the weighted value w[m] at the analysis time point t[m]. Calculate the probability P2[m] of . Therefore, even at the analysis time t[m] where the probability P1[m] generated by the estimation model 50 is small, if the analysis time t[m] is close to the operation time ⁇ , the adjusted probability P2[m] is large. Set to a numeric value.
  • the probability calculation unit 22 supplies the output data O[m] representing the adjusted probability P2[m] to the estimation processing unit 23 .
  • the procedure of the beat point estimation process Sb in which the estimation processing unit 23 uses the output data O[m] to estimate a plurality of beat points is the same as in the first embodiment.
  • the weighted value w[m] of the unit distribution W set at the user's operation time ⁇ is multiplied by the probability P1[m].
  • the configuration of the estimation model 50 is not limited to the illustration in FIG. For example, a form in which the estimation model 50 includes a recurrent neural network is also assumed. Further, additional elements such as long short-term memory (LSTM: Long Short-Term Memory) may be installed in the estimation model 50 .
  • the estimation model 50 may be configured by combining multiple types of deep neural networks.
  • the specific procedure of the process of estimating a plurality of beats in a piece of music by analyzing the acoustic signal A is not limited to the examples in the above embodiments.
  • the analysis processing unit 20 may estimate the analysis time point t[m] at which the probability P[m] represented by the output data O[m] is maximum as the beat. That is, use of the state transition model 60 is omitted. Further, for example, the analysis processing unit 20 may estimate the time point at which the feature amount f[m] such as the volume of the acoustic signal A increases significantly as the beat point. That is, the use of the estimation model 50 is omitted.
  • the configuration of the first embodiment that updates the plurality of beats estimated by the initial analysis process may be omitted in the second embodiment. That is, the configuration of the first embodiment that updates a plurality of beats over the entire music according to a change instruction for some of the estimated beats, and the limit range according to the instruction from the user
  • the configuration of the second embodiment, which estimates the tempo T[m] of a piece of music within R[m] can be established independently of each other.
  • the acoustic analysis system 100 may be realized by a server device that communicates with an information device such as a smart phone or a tablet terminal.
  • the acoustic analysis system 100 generates the beat data B by analyzing the acoustic signal A received from the information device, and transmits the beat data B to the information device.
  • Acoustic analysis system 100 which communicates with the information device, similarly executes the reception of a change instruction from the user (S2) and the beat update process (S3).
  • the functions of the acoustic analysis system 100 exemplified above are realized by cooperation of one or more processors constituting the control device 11 and programs stored in the storage device 12, as described above.
  • a program according to the present disclosure may be provided in a form stored in a computer-readable recording medium and installed in a computer.
  • the recording medium is, for example, a non-transitory recording medium, and an optical recording medium (optical disc) such as a CD-ROM is a good example.
  • recording media in the form of The non-transitory recording medium includes any recording medium other than transitory, propagating signals, and does not exclude volatile recording media.
  • the storage device 12 that stores the program in the distribution device corresponds to the above-described non-transitory recording medium.
  • a sound analysis method provides a maximum tempo curve representing temporal changes in the maximum tempo value and a minimum tempo curve representing temporal changes in the minimum tempo value from a user.
  • the tempo of the music is set according to the instruction, and the tempo of the music is set within a limited range between the maximum value represented by the maximum tempo curve and the minimum value represented by the minimum tempo curve by analyzing the acoustic signal representing the performance sound of the music. to estimate
  • the maximum tempo curve and the minimum tempo curve are set according to an instruction from the user, and the music piece is played within the limited range between the maximum value represented by the maximum tempo curve and the minimum value represented by the minimum tempo curve. tempo is estimated.
  • the possibility of estimating a tempo that deviates excessively from the tempo assumed by the user for example, a tempo that is double or 1/2 times
  • the tempo of the music represented by the acoustic signal can be estimated with high accuracy.
  • Aspect 2 an analysis screen including the maximum tempo curve and the minimum tempo curve is displayed on a display device, and in setting the maximum tempo curve and the minimum tempo curve, the analysis screen is The maximum tempo curve and the minimum tempo curve are changed according to instructions from the user.
  • the user can easily change the maximum tempo curve and the minimum tempo curve while viewing the analysis screen.
  • the analysis screen is an image in which the waveform of the acoustic signal, the maximum tempo curve and the minimum tempo curve are arranged under a common time axis.
  • the user can visually see the temporal relationship between the temporal change in the maximum tempo value represented by the maximum tempo curve or the temporal change in the minimum tempo value represented by the minimum tempo curve and the waveform of the audio signal. It has the advantage of being easily understood.
  • the analysis screen includes an estimated tempo curve representing temporal changes in tempo estimated by the analysis of the acoustic signal.
  • the user can visually grasp the temporal change in the tempo of the song estimated between the maximum tempo curve and the minimum tempo curve.
  • a state transition model composed of a plurality of states corresponding to any of a plurality of tempos is used to determine the state of the music.
  • a tempo is estimated, and a state corresponding to a tempo outside the limited range among the plurality of states is set to an invalid state.
  • a plurality of beat points are estimated using a state transition model composed of a plurality of states corresponding to any of a plurality of tempos. Therefore, a tempo that naturally transitions over time is estimated.
  • the tempo limited within the limited range can be estimated by a simple process of setting the state corresponding to the tempo outside the limited range to the invalid state among the plurality of states.
  • a sound analysis system provides a maximum tempo curve representing temporal changes in the maximum tempo value and a minimum tempo curve representing temporal changes in the minimum tempo value from a user.
  • a curve setting unit that is set in accordance with an instruction and an analysis of an acoustic signal that represents the performance sound of a piece of music, within a limited range between the maximum value represented by the maximum tempo curve and the minimum value represented by the minimum tempo curve and an analysis processing unit for estimating the tempo of the music.
  • a program according to one aspect (aspect 7) of the present disclosure generates a maximum tempo curve representing temporal changes in the maximum tempo value and a minimum tempo curve representing temporal changes in the minimum tempo value, according to instructions from a user.
  • the maximum value represented by the maximum tempo curve and the minimum value represented by the minimum tempo curve are within the limit range.
  • the computer system functions as an analysis processing unit that estimates the tempo of music.
  • tempo in this specification is an arbitrary numerical value representing performance speed, and is not limited to tempo in the narrow sense of the number of beats per unit time (BPM: Beats Per Minute).
  • the tempo of the music represented by the acoustic signal can be estimated with high accuracy.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

音響解析システム(100)は、テンポの最大値の時間変化を表す最大テンポ曲線(CH)と、テンポの最小値の時間変化を表す最小テンポ曲線(CL)とを、利用者からの指示に応じて設定する曲線設定部(28)と、楽曲の演奏音を表す音響信号Aを解析することで、最大テンポ曲線(CH)が表す最大値と最小テンポ曲線(CL)が表す最小値との間の制限範囲内において楽曲のテンポを推定する解析処理部(20)とを具備する。

Description

音響解析方法、音響解析システムおよびプログラム
 本開示は、音響信号を解析する技術に関する。
 楽曲の演奏音を表す音響信号を解析することで当該楽曲のテンポ(演奏速度)を推定する解析技術が従来から提案されている。例えば特許文献1には、隠れマルコフモデル等の確率モデルを利用して楽曲の拍点およびテンポを推定する技術が開示されている。
日本国特開2015-114361号公報
 しかし、楽曲のテンポを推定する従来の技術においては、例えば楽曲の本来のテンポの2倍または1/2倍のテンポ等が誤推定される場合がある。以上の事情を考慮して、本開示のひとつの態様は、音響信号が表す楽曲のテンポを高精度に推定することをひとつの目的とする。
 以上の課題を解決するために、本開示のひとつの態様に係る音響解析システムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定し、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する。
 本開示のひとつの態様に係る音響解析システムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部と、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部とを具備する。
 本開示のひとつの態様に係るプログラムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部、および、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部、としてコンピュータシステムを機能させる。
第1実施形態に係る音響解析システムの構成を例示するブロック図である。 音響解析システムの機能的な構成を例示するブロック図である。 特徴抽出部が特徴データを生成する動作の説明図である。 推定モデルの構成を例示するブロック図である。 推定モデルを確立する機械学習の説明図である。 確率算定処理の具体的な手順を例示するフローチャートである。 状態遷移モデルの説明図である。 拍点推定処理の説明図である。 拍点推定処理の具体的な手順を例示するフローチャートである。 解析画面の模式図である。 推定モデル更新処理の説明図である。 推定モデル更新処理の具体的な手順を例示するフローチャートである。 制御装置が実行する処理の具体的な手順を例示するフローチャートである。 初期解析処理の具体的な手順を例示するフローチャートである。 拍点更新処理の具体的な手順を例示するフローチャートである。 第2実施形態における音響解析システムの機能的な構成を例示するブロック図である。 第2実施形態における解析画面の模式図である。 推定テンポ曲線,最大テンポ曲線および最初テンポ曲線の説明図である。 第2実施形態における拍点推定処理の具体的な手順を例示するフローチャートである。 第3実施形態において出力データを生成する処理の説明図である。
A:第1実施形態
 図1は、第1実施形態に係る音響解析システム100の構成を例示するブロック図である。音響解析システム100は、楽曲の演奏音を表す音響信号Aの解析により当該楽曲の複数の拍点を推定するコンピュータシステムである。音響解析システム100は、制御装置11と記憶装置12と表示装置13と操作装置14と放音装置15とを具備する。音響解析システム100は、例えばスマートフォンまたはタブレット端末等の可搬型の情報装置、またはパーソナルコンピュータ等の可搬型または据置型の情報装置により実現される。なお、音響解析システム100は、単体の装置として実現されるほか、相互に別体で構成された複数の装置でも実現される。
 制御装置11は、音響解析システム100の各要素を制御する単数または複数のプロセッサで構成される。例えば、制御装置11は、CPU(Central Processing Unit)、SPU(Sound Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、またはASIC(Application Specific Integrated Circuit)等の1種類以上のプロセッサにより構成される。
 記憶装置12は、制御装置11が実行するプログラムと制御装置11が使用する各種のデータとを記憶する単数または複数のメモリである。記憶装置12は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成される。なお、音響解析システム100に対して着脱される可搬型の記録媒体、または例えばインターネット等の通信網を介して制御装置11が書込または読出を実行可能な記録媒体(例えばクラウドストレージ)を、記憶装置12として利用してもよい。
 記憶装置12は、音響信号Aを記憶する。音響信号Aは、楽曲の演奏音の波形を表すサンプル系列である。具体的には、音響信号Aは、楽曲の楽器音および歌唱音の少なくとも一方を表す。音響信号Aのデータ形式は任意である。なお、音響解析システム100とは別体の信号供給装置から音響信号Aが音響解析システム100に供給されてもよい。信号供給装置は、例えば、記録媒体に記録された音響信号Aを音響解析システム100に供給する再生装置、または、配信装置(図示略)から通信網を介して受信した音響信号Aを音響解析システム100に供給する通信機器である。
 表示装置13は、制御装置11による制御のもとで画像を表示する。例えば液晶表示パネルまたは有機EL(Electroluminescence)パネル等の各種の表示パネルが表示装置13として利用される。なお、音響解析システム100とは別体の表示装置13を音響解析システム100に有線または無線により接続してもよい。操作装置14は、利用者からの指示を受付ける入力機器である。操作装置14は、例えば、利用者が操作する操作子、または、利用者による接触を検知するタッチパネルである。
 放音装置15は、制御装置11による制御のもとで音響を再生する。例えばスピーカまたはヘッドホンが放音装置15として利用される。なお、音響解析システム100とは別体の放音装置15を音響解析システム100に有線または無線により接続してもよい。
 図2は、音響解析システム100の機能的な構成を例示するブロック図である。制御装置11は、記憶装置12に記憶されたプログラムを実行することで、音響信号Aを処理するための複数の機能(解析処理部20,表示制御部24,再生制御部25,指示受付部26および推定モデル更新部27)を実現する。
 解析処理部20は、音響信号Aの解析により楽曲内の複数の拍点を推定する。具体的には、解析処理部20は、音響信号Aから拍点データBを生成する。拍点データBは、楽曲内の各拍点を表すデータである。具体的には、拍点データBは、楽曲内の複数の拍点の各々について当該拍点の時刻を指定する時系列データである。例えば、音響信号Aの始点を基準とした各拍点の時刻が拍点データBにより指定される。第1実施形態の解析処理部20は、特徴抽出部21と確率算定部22と推定処理部23とを具備する。
[特徴抽出部21]
 図3は、特徴抽出部21の動作の説明図である。特徴抽出部21は、時間軸上のM個の時点(以下「解析時点」という)t[m]の各々について音響信号Aの特徴量f[m](m=1~M)を生成する。各解析時点t[m]は、所定の間隔で時間軸上に設定された時点である。特徴量f[m]は、音響信号Aの音響的な特徴を表す指標である。具体的には、拍点の前後において顕著に変動する傾向がある特徴量f[m]が利用される。例えば音量および振幅等、音響信号Aの強度に関する情報が、特徴量f[m]として例示される。また、例えばMFCC(Mel-Frequency Cepstrum Coefficients),MSLS(Mel-Scale Log Spectrum)、または定Q変換(CQT:Constant-Q Transform)等、音響信号Aの周波数特性(音色)に関する情報も、特徴量f[m]として利用される。ただし、特徴量f[m]の種類は以上の例示に限定されない。また、特徴量f[m]は、音響信号Aに関する複数種の情報の組合せでもよい。
 特徴抽出部21は、解析時点t[m]毎に特徴データF[m]を生成する。任意の解析時点t[m]に対応する特徴データF[m]は、当該解析時点t[m]を含む期間(以下「単位期間」という)U内の複数の特徴量f[m]の時系列である。図3においては、1個の単位期間Uが、第m番目の解析時点t[m]を中心とする5個の解析時点t[m-2]~t[m+2]を含む場合が例示されている。したがって、特徴データF[m]は、単位期間U内の5個の特徴量f[m-2]~f[m+2]の時系列である。なお、単位期間Uが1個の解析時点[m]のみを含んでもよい。すなわち、特徴データF[m]は1個の特徴量f[m]のみで構成されてもよい。以上の説明から理解される通り、特徴抽出部21は、音響信号Aの特徴量f[m]を含む特徴データF[m]を解析時点t[m]毎に生成する。
[確率算定部22]
 図2の確率算定部22は、各解析時点t[m]が楽曲の拍点に該当する確率P[m]を表す出力データO[m]を特徴データF[m]から生成する。出力データO[m]の生成は、解析時点t[m]毎に反復される。確率P[m]が大きいほど、解析時点t[m]が拍点に該当する尤度が高い。確率算定部22による出力データO[m]の生成には推定モデル50が利用される。
 音響信号Aの各解析時点t[m]の特徴データF[m]と、当該解析時点t[m]が拍点に該当する尤度との間には相関がある。推定モデル50は、以上の相関を学習した統計モデルである。具体的には、推定モデル50は、特徴データF[m]と出力データO[m]との関係を機械学習により学習した学習済モデルである。
 推定モデル50は、例えば深層ニューラルネットワーク(DNN:Deep Neural Network)で構成される。推定モデル50は、特徴データF[m]から出力データO[m]を生成する演算を制御装置11に実行させるプログラムと、当該演算に適用される複数の変数(具体的には加重値およびバイアス)との組合せで実現される。推定モデル50を実現するプログラムおよび複数の変数は、記憶装置12に記憶される。推定モデル50を規定する複数の変数の各々の数値は、機械学習により事前に設定される。
 図4は、推定モデル50の具体的な構成を例示するブロック図である。推定モデル50は、入力層51と複数の中間層52(52a,52b)と出力層53とを含む畳込ニューラルネットワークで構成される。1個の特徴データF[m]に含まれる複数の特徴量f[m-2]~f[m+2]が入力層51に並列に入力される。
 複数の中間層52は、入力層51と出力層53との間に位置する隠れ層である。複数の中間層52は、複数の中間層52aと複数の中間層52bとを含む。複数の中間層52aは、入力層51と複数の中間層52bとの間に位置する。各中間層52aは、例えば畳込層とプーリング層との組合せで構成される。各中間層52bは、例えばReLUを活性化関数とする全結合層である。出力層53は出力データO[m]を出力する。
 推定モデル50は、第1部分50aと第2部分50bとに区分される。第1部分50aは、推定モデル50のうち入力側の部分である。具体的には、第1部分50aは、入力層51と複数の中間層52aとで構成される前半部分である。第2部分50bは、推定モデル50のうち出力側の部分である。具体的には、第2部分50bは、複数の中間層52bと出力層53とで構成される後半部分である。第1部分50aは、特徴データF[m]に応じた中間データD[m]を生成する部分である。中間データD[m]は、特徴データF[m]の特徴を表すデータである。具体的には、中間データD[m]は、特徴データF[m]に対して統計的に妥当な出力データO[m]を出力するために寄与する特徴を表すデータである。第2部分50bは、中間データD[m]に応じた出力データO[m]を生成する部分である。
 図5は、推定モデル50を確立する機械学習の説明図である。例えば音響解析システム100とは別体の機械学習システム200による機械学習で推定モデル50が確立され、当該推定モデル50が音響解析システム100に提供される。例えば、機械学習システム200から音響解析システム100に推定モデル50が送信される。
 推定モデル50の機械学習には複数の学習データZが利用される。複数の学習データZの各々は、学習用の特徴データFtと学習用の出力データOtとの組合せで構成される。特徴データFtは、学習用に用意された音響信号Aのうち特定の時点における特徴量を表す。具体的には、特徴データFtは、前述の特徴データF[m]と同様に、時間軸上の相異なる時点に対応する複数の特徴量の時系列で構成される。特定の時点に対応する学習用の出力データOtは、当該時点が楽曲の拍点に該当する確率を表すデータ(すなわち正解値)である。既知の多数の楽曲について複数の学習データZが用意される。
 機械学習システム200は、各学習データZの特徴データFtを入力したときに初期的または暫定的なモデル(以下「暫定モデル」という)59が出力する出力データO[m]と、当該学習データZの出力データOtとの誤差を表す誤差関数を算定する。そして、機械学習システム200は、誤差関数が低減されるように暫定モデル59の複数の変数を更新する。複数の学習データZの各々について以上の処理が反復された時点の暫定モデル59が、推定モデル50として確定される。
 したがって、推定モデル50は、複数の学習データZにおける特徴データFtと出力データOtとの間に潜在する関係のもとで、未知の特徴データF[m]に対して統計的に妥当な出力データO[m]を出力する。すなわち、推定モデル50は、時間軸上の各時点に対応する学習用の特徴データFtと、当該時点が拍点に該当する確率を表す学習用の出力データOtとの関係を学習した学習済モデルである。確率算定部22は、以上の手順で確立された推定モデル50に各解析時点t[m]の特徴データF[m]を入力することで、当該解析時点t[m]が拍点に該当する確率P[m]を表す出力データO[m]を生成する。
 図6は、確率算定部22が実行する処理(以下「確率算定処理」という)Saの具体的な手順を例示するフローチャートである。制御装置11が確率算定部22として機能することで確率算定処理Saを実行する。
 確率算定処理Saが開始されると、確率算定部22は、解析時点t[m]に対応する特徴データF[m]を推定モデル50に入力する(Sa1)。確率算定部22は、推定モデル50の第1部分50aが出力する中間データD[m]を取得し、当該中間データD[m]を記憶装置12に保存する(Sa2)。また、確率算定部22は、推定モデル50(第2部分50b)が出力する出力データO[m]を取得し、当該出力データO[m]を記憶装置12に保存する(Sa3)。
 確率算定部22は、楽曲内のM個の解析時点t[1]~t[M]について以上の処理を実行したか否かを判定する(Sa4)。判定結果が否定である場合(Sa4:NO)、確率算定部22は、未処理の解析時点t[m]について中間データD[m]および出力データO[m]の生成(Sa1~Sa3)を実行する。M個の解析時点t[1]~t[M]について処理を実行した場合(Sa4:YES)、確率算定部22は確率算定処理Saを終了する。以上の説明から理解される通り、確率算定処理Saの結果、相異なる解析時点t[m]に対応するM個の中間データD[1]~D[M]と、相異なる解析時点t[m]に対応するM個の出力データO[1]~O[M]とが記憶装置12に保存される。
[推定処理部23]
 図2の推定処理部23は、確率算定部22が相異なる解析時点t[m]について算定するM個の出力データO[m]から楽曲内の複数の拍点を推定する。具体的には、推定処理部23は、前述の通り、楽曲内の各拍点の時刻を表す拍点データBを生成する。確率算定部22による拍点データBの生成には状態遷移モデル60が利用される。
 図7は、状態遷移モデル60の構成を例示するブロック図である。状態遷移モデル60は、複数(N個)の状態Qで構成される統計モデルである。具体的には、状態遷移モデル60は、隠れセミマルコフモデル(HSMM:Hidden Semi-Markov Model)で構成され、動的計画法の一例であるビタビ(Viterbi)アルゴリズムにより複数の拍点が推定される。
 図7には、時間軸上の拍点が図示されている。時間軸上で相前後する2個の拍点の間隔(以下「拍間隔」という)δの時間長は、楽曲のテンポに応じた可変値である。具体的には、テンポが速いほど拍間隔δは短い。拍間隔δ内には複数の時点(以下「経過点」という)Y[j]が設定される。各経過点Y[i](i=1~4)は、拍点を基準として時間軸上に設定される時点である。具体的には、経過点Y[0]は拍点に相当する時点(拍頭)であり、経過点Y[1]~Y[4]は、拍間隔δを等分する各時点である。経過点Y[3]は経過点Y[4]の後方に位置し、経過点Y[2]は経過点Y[3]の後方に位置し、経過点Y[1]は経過点Y[2]の後方に位置する。経過点Y[0]は、拍間隔δの端点(始点または終点)に相当する。各拍点(経過点Y[0])から各経過点Yまでの時間長は、拍点を基準とした位相を意味するとも表現できる。例えば経過点Y[4]→経過点Y[3]→経過点Y[2]→経過点Y[1]という順番で時間が進行し、経過点Y[1]の経過後に経過点Y[0](拍点)に到達する。
 状態遷移モデル60のN個の状態Qの各々は、複数のテンポX[i](i=1,2,3,…)の何れかに対応する。具体的には、N個の状態Qは、複数のテンポX[i]の各々と複数の経過点Y[0]~Y[4]の各々との相異なる組合せに対応する。すなわち、各テンポX[i]について、相異なる経過点Y[j]に対応する5個の状態Qの時系列が存在する。以下の説明においては、テンポX[i]と経過点Y[j]との組合せに対応する状態Qを、「状態Q[i,j]」と表記する場合がある。他方、テンポX[i]および経過点Y[j]の区別に特に注目しない場合には単に「状態Q」と表記する。なお、経過点Y[j]による状態Qの区別は省略されてもよい。すなわち、複数の状態Qの各々が相異なるテンポX[i]に対応する形態も想定される。経過点Y[j]を区別しない形態では、例えば隠れマルコフモデル(HMM:Hidden Markov Model)が状態遷移モデル60として利用される。
 第1実施形態においては、時間軸上の拍点(すなわち経過点Y[0])のみでテンポXが変化すると仮定する。以上の仮定のもとでは、経過点Y[0]以外の各経過点Y[j]に対応する状態Q[i,j]は、直後の経過点Y[j-1]に対応する状態Q[i,j-1]のみに遷移する。例えば、状態Q[i,4]は状態Q[i,3]に遷移し、状態Q[i,3]は状態Q[i,2]に遷移し、状態Q[i,2]は状態Q[i,1]に遷移する。他方、拍点に相当する状態Q[i,0]には、相異なるテンポX[i]に対応する複数の状態Q[i,1](Q[1,1],Q[2,1],Q[3,1],…)からの遷移が発生する。
 図8は、推定処理部23が状態遷移モデル60を利用して楽曲内の複数の拍点を推定する処理(以下「拍点推定処理」という)Sbの説明図である。また、図9は、拍点推定処理Sbの具体的な手順を例示するフローチャートである。制御装置11が推定処理部23として機能することで拍点推定処理Sbを実行する。
 拍点推定処理Sbが開始されると、推定処理部23は、M個の解析時点t[1]~t[M]の各々について観測尤度Λ[m]を算定する(Sb1)。各解析時点t[m]の観測尤度Λ[m]は、当該解析時点t[m]の出力データO[m]が表す確率P[m]に応じた数値に設定される。例えば、観測尤度Λ[m]は、出力データO[m]が表す確率P[m]、または当該確率P[m]に対する所定の演算で算定される数値に設定される。
 推定処理部23は、状態遷移モデル60の各状態Q[i,j]について、経路p[i,j]と尤度λ[i,j]とを解析時点t[m]毎に算定する(Sb2)。経路p[i,j]は、他の状態Qから状態Q[i,j]に到達する経路であり、尤度λ[i,j]は、当該状態Q[i,j]が観測される確からしさの指標である。
 前述の通り、任意のテンポX[i]に対応する複数の状態Q[i,0]~Q[i,4]の間では一方向の遷移のみが発生する。したがって、図8から理解される通り、例えばテンポX[1]と経過点Y[1]とに対応する状態Q[1,1]に解析時点t[m]にて到達する経路p[1,1]は、当該テンポX[1]と直前の経過点Y[2]とに対応する状態Q[1,2]からの経路pのみである。また、解析時点t[m]における状態Q[1,1]の尤度λ[1,1]は、当該テンポX[1]に対応する時間長d[1]だけ解析時点t[m]から手前の時点t1に対応する尤度に設定される。具体的には、状態Q[1,1]の尤度λ[1,1]は、時点t1の直前の解析時点t[mA]における観測尤度Λ[mA]と、当該時点t1の直後の解析時点t[mB]における観測尤度Λ[mB]との補間(例えば線形補間)により算定される。
 他方、経過点Y[0]ではテンポX[i]が変化する可能性がある。したがって、図8から理解される通り、例えばテンポX[1]と経過点Y[0]とに対応する状態Q[1,0]には、相異なるテンポX[i]に対応する複数の状態Q[i,1]の各々から別個の経路pが到達する。例えば、状態Q[1,0]には、当該テンポX[1]と直前の経過点Y[1]との組合せに対応する状態Q[1,1]からの経路p1のほか、テンポX[2]と直前の経過点Y[1]との組合せに対応する状態Q[2,1]からの経路p2も到達する。状態Q[1,1]から状態Q[1,0]への経路p1に関する尤度λ1は、前述の例示と同様に、時点t1の直前の解析時点t[mA]における観測尤度Λ[mA]と、当該時点t1の直後の解析時点t[mB]における観測尤度Λ[mB]との補間(例えば線形補間)により算定される。また、状態Q[2,1]から状態Q[1,0]への経路p2に関する尤度λ2は、状態Q[2,1]のテンポX[2]に対応する時間長d[2]だけ解析時点t[m]から手前の時点t2における尤度に設定される。具体的には、尤度λ2は、時点t2の直前の解析時点t[mC]における観測尤度Λ[mC]と、当該時点t2の直後の解析時点t[mA]における観測尤度Λ[mA]との補間(例えば線形補間)により算定される。推定処理部23は、相異なるテンポX[i]について算定された複数の尤度λ(λ1,λ2,…)の最大値を解析時点t[m]における状態Q[1,0]の尤度λ[1,0]として選択し、状態Q[1,0]に到達する複数の経路p(p1,p2,…)のうち当該尤度λ[1,0]に対応する経路pを状態Q[1,0]までの経路p[1,0]として確定する。以上の手順により、N個の状態Qの各々について経路p[i,j]と尤度λ[i,j]とを算定する処理が、時間軸の順方向に沿って解析時点t[m]毎に実行される。すなわち、M個の解析時点t[1]~t[M]の各々について各状態Qの経路p[i,j]および尤度λ[i,j]が算定される。
 推定処理部23は、相異なる解析時点t[m]に対応するM個の状態Qの時系列(以下「状態系列」という)を生成する(Sb3)。具体的には、推定処理部23は、楽曲の最後の解析時点t[M]について算定されたN個の尤度λ[i,j]の最大値に対応する状態Q[i,j]から、時間軸の逆方向に沿って順番に経路p[i,j]を連結し、連結後の一連の経路(すなわち最尤経路)上に位置するM個の状態Qにより状態系列を生成する。すなわち、N個の状態Qのうち尤度λ[i,j]が大きい状態Qを解析時点t[m]毎に配列した系列が、状態系列として生成される。
 推定処理部23は、状態系列を構成するM個の状態Qのうち、経過点Y[0]に対応する状態Qが観測される各解析時点t[m]を拍点として推定し、各拍点の時刻を指定する拍点データBを生成する(Sb4)。以上の説明から理解される通り、出力データO[m]が表す確率P[m]が高く、かつ、聴感的に自然にテンポが遷移する解析時点t[m]が、楽曲内の拍点として推定される。
 以上の通り、第1実施形態においては、解析時点t[m]毎の特徴データF[m]を推定モデル50に入力することで解析時点t[m]毎の出力データO[m]が生成され、当該出力データO[m]から複数の拍点が推定される。したがって、学習用の特徴データFtと学習用の出力データOtとの間に潜在する関係のもとで未知の特徴データF[m]に対して統計的に妥当な出力データO[m]を生成できる。解析処理部20の構成の具体例は以上の通りである。
 図2の表示制御部24は、表示装置13に画像を表示させる。具体的には、表示制御部24は、図10の解析画面70を表示装置13に表示させる。解析画面70は、解析処理部20が音響信号Aを解析した結果を表す画像である。
 解析画面70は、第1領域71と第2領域72とを含む。第1領域71には音響信号Aの波形711が表示される。第2領域72には、音響信号Aのうち第1領域71において指定された一部の期間(以下「指定期間」という)712に関する解析の結果が表示される。第2領域72は、波形領域73と確率領域74と拍点領域75とを含む。
 波形領域73と確率領域74と拍点領域75とには共通の時間軸が設定される。波形領域73には、音響信号Aのうち指定期間712内の波形731と、音響信号Aにおける発音点(オンセット)732とが表示される。確率領域74には、各解析時点t[m]の出力データO[m]が表す確率P[m]の時系列741が表示される。なお、出力データO[m]が表す確率P[m]の時系列741は、音響信号Aの波形731に重ねて波形領域73内に表示されてもよい。
 拍点領域75には、音響信号Aの解析により推定された楽曲内の複数の拍点が表示される。具体的には、楽曲内の相異なる拍点に対応する複数の拍画像751の時系列が拍点領域75には表示される。楽曲内の複数の拍点のうち所定の条件を充足する1個以上の拍点(以下「修正候補点」という)に対応する拍画像751は、他の拍画像751とは別個の表示態様で強調表示される。修正候補点は、利用者が変更を指示する可能性が高い拍点である。
 図2の再生制御部25は、放音装置15による音響の再生を制御する。具体的には、再生制御部25は、音響信号Aが表す演奏音を放音装置15に再生させる。再生制御部25は、音響信号Aの再生に並行して、複数の拍点の各々に対応する時点で所定の通知音を再生する。また、表示制御部24は、拍点領域75内の複数の拍画像751のうち放音装置15が再生している時点に対応する1個の拍画像751を、拍点領域75内の他の拍画像751とは別個の表示態様で強調表示する。すなわち、音響信号Aの再生に並行して複数の拍画像751の各々が時系列の順番で順次に強調表示される。
 ところで、音響信号Aから楽曲内の複数の拍点を推定する処理においては、例えば楽曲の裏拍が拍点として誤推定される可能性がある。また、利用者が表拍の推定を期待している状況で楽曲の裏拍が推定される場合のように、拍点を推定した結果が利用者の意図に適合しない可能性もある。利用者は、操作装置14を操作することで、楽曲内の複数の拍点のうち任意の拍点について時間軸上の位置の変更を指示することが可能である。具体的には、利用者は、拍点領域75内の複数の拍画像751の何れかを時間軸の方向に移動させることで、当該拍画像751に対応する拍点の位置の変更を指示する。利用者は、例えば複数の拍点のうち修正候補点について位置の変更を指示する。
 図2の指示受付部26は、楽曲内の複数の拍点のうち一部の拍点に関する位置の変更の指示(以下「変更指示」という)を利用者から受付ける。以下の説明においては、1個の拍点を時間軸上の解析時点t[m1]から解析時点t[m2]に移動する変更指示を指示受付部26が受付けた場合を想定する(m1,m2=1~M,m1≠m2)。解析時点t[m1]は、解析処理部20が初期的に推定した拍点(すなわち変更指示による変更前の拍点)であり、解析時点t[m2]は、利用者からの変更指示による変更後の拍点である。
 図2の推定モデル更新部27は、利用者による変更指示に応じて推定モデル50を更新する。具体的には、変更指示に係る拍点の変更が楽曲の全体にわたる複数の拍点の推定に反映されるように、推定モデル更新部27は推定モデル50を更新する。
 図11は、推定モデル更新部27が推定モデル50を更新する処理(以下「推定モデル更新処理」という)Scの説明図である。推定モデル更新処理Scは、機械学習システム200による学習済の推定モデル50を、利用者からの変更指示が反映されるように更新する処理(追加学習)である。
 推定モデル更新処理Scにおいては、推定モデル50の第1部分50aと第2部分50bとの間に適応ブロック55が追加される。適応ブロック55は、例えば活性化関数が恒等関数に初期化されたアテンションで構成される。したがって、初期的な適応ブロック55は、第1部分50aから出力される中間データD[m]を変更せずに第2部分50bに供給する。
 推定モデル更新部27は、変更前の拍点が位置する解析時点t[m1]の特徴データF[m1]と、変更後の拍点が位置する解析時点t[m2]の特徴データF[m2]との各々を、第1部分50a(入力層51)に対して順次に入力する。第1部分50aは、特徴データF[m1]に対応する中間データD[m1]と、特徴データF[m2]に対応する中間データD[m2]とを生成する。中間データD[m1]および中間データD[m2]の各々が、適応ブロック55に順次に入力される。
 また、推定モデル更新部27は、直前の確率算定処理Sa(Sa2)で算定されたM個の中間データD[1]~D[M]の各々を、適応ブロック55に対して順次に供給する。すなわち、楽曲内のM個の解析時点t[1]~t[M]のうち変更指示に係る一部の解析時点t[m]に対応する中間データD[m](D[m1],D[m2])と、楽曲の全体にわたるM個の中間データD[1]~D[M]の各々とが、適応ブロック55に入力される。適応ブロック55は、変更指示に係る解析時点t[m]に対応する中間データD[m](D[m1],D[m2])と、推定モデル更新部27から供給される中間データD[m]との類似度を算定する。
 前述の通り、解析時点t[m2]は、直前の確率算定処理Saでは拍点に該当しないと推定されたものの、変更指示により拍点と指示された時点である。すなわち、解析時点t[m2]の出力データO[m2]が表す確率P[m2]は、直前の確率算定処理Saでは小さい数値に設定されたけれども、利用者による変更指示のもとでは1に近い数値に設定されるべきである。さらに、解析時点t[m2]だけでなく、楽曲内のM個の解析時点t[1]~t[M]のうち、解析時点t[m2]の中間データD[m2]に類似する中間データD[m]が観測される各解析時点t[m]についても同様に、当該解析時点t[m]の出力データO[m]が表す確率P[m]は、1に近い数値に設定されるべきである。そこで、推定モデル更新部27は、中間データD[m]と中間データD[m2]との類似度が所定の閾値を上回る場合には、出力データO[m]の確率P[m]が充分に大きい数値(例えば1)に近付くように、推定モデル50の複数の変数を更新する。具体的には、推定モデル更新部27は、中間データD[m2]との類似度が閾値を上回る各中間データD[m]から推定モデル50が生成する出力データO[m]の確率P[m]と、拍点を意味する数値(すなわち1)との誤差が低減されるように、第1部分50aと適応ブロック55と第2部分50bとの各々を規定する係数を更新する。
 他方、解析時点t[m1]は、直前の確率算定処理Saでは拍点に該当すると推定されたものの、変更指示により拍点に該当しないと指示された時点である。すなわち、解析時点t[m1]の出力データO[m1]が表す確率P[m1]は、直前の確率算定処理Saでは大きい数値に設定されたけれども、利用者による変更指示のもとでは0に近い数値に設定されるべきである。さらに、解析時点t[m1]だけでなく、楽曲内のM個の解析時点t[1]~t[M]のうち、解析時点t[m1]の中間データD[m1]に類似する中間データD[m]が観測される各解析時点t[m]についても同様に、当該解析時点t[m]の出力データO[m]が表す確率P[m]は、0に近い数値に設定されるべきである。そこで、推定モデル更新部27は、中間データD[m]と中間データD[m1]との類似度が所定の閾値を上回る場合には、出力データO[m]の確率P[m]が充分に小さい数値(例えば0)に近付くように、推定モデル50の複数の変数を更新する。具体的には、推定モデル更新部27は、中間データD[m1]との類似度が閾値を上回る各中間データD[m]から推定モデル50が生成する出力データO[m]の確率P[m]と、拍点に該当しないこと意味する数値(すなわち0)との誤差が低減されるように、第1部分50aと適応ブロック55と第2部分50bとの各々を規定する係数を更新する。
 以上の説明から理解される通り、第1実施形態においては、変更指示に直接的に関連する中間データD[m1]および中間データD[m2]だけでなく、楽曲の全体にわたるM個の中間データD[1]~D[M]のうち中間データD[m1]または中間データD[m2]に類似する中間データD[m]も推定モデル50の更新に利用される。したがって、利用者が変更を指示する拍点は楽曲内の一部の拍点に過ぎないにも関わらず、推定モデル更新処理Scの実行後の推定モデル50は、楽曲の全体にわたり変更指示が反映されたM個の出力データO[1]~O[M]を生成できる。
 図12は、推定モデル更新処理Scの具体的な手順を例示するフローチャートである。制御装置11が推定モデル更新部27として機能することで推定モデル更新処理Scを実行する。
 推定モデル更新処理Scが開始されると、推定モデル更新部27は、推定モデル50に適応ブロック55が既に追加されているか否かを判定する(Sc1)。推定モデル50に適応ブロック55が追加されていない場合(Sc1:NO)、推定モデル更新部27は、推定モデル50の第1部分50aと第2部分50bとの間に初期的な適応ブロック55を新規に追加する(Sc2)。他方、過去の推定モデル更新処理Scにおいて適応ブロック55が追加済である場合(Sc1:YES)、適応ブロック55の追加(Sc2)は実行されない。
 適応ブロック55が新規に追加された場合には、新規な適応ブロック55を含む推定モデル50が以下の処理により更新され、適応ブロック55が追加済である場合には、既存の適応ブロック55を含む推定モデル50が以下の処理により更新される。すなわち、推定モデル更新部27は、推定モデル50に適応ブロック55が追加された状態において、利用者からの変更指示による変更前および変更後の拍点の位置を適用した追加学習(Sc3およびSc4)を実行することで、推定モデル50の複数の変数を更新する。なお、2個以上の拍点について利用者が位置の変更を指示した場合、変更指示に係る各拍点について追加学習(Sc3およびSc4)が実行される。
 推定モデル更新部27は、変更指示による変更前の拍点が位置する解析時点t[m1]の特徴データF[m1]を利用して、推定モデル50の複数の変数を更新する(Sc3)。具体的には、推定モデル更新部27は、推定モデル50に対する特徴データF[m1]の供給に並行してM個の中間データD[1]~D[M]の各々を適応ブロック55に順次に供給し、特徴データF[m1]の中間データD[m1]に類似する各中間データD[m]から生成される出力データO[m]の確率P[m]が0に近付くように、推定モデル50の複数の変数を更新する。したがって、推定モデル50は、解析時点t[m1]の特徴データF[m1]に類似する特徴データF[m]が入力された場合に、0に近い確率P[m]を表す出力データO[m]を生成するように訓練される。
 また、推定モデル更新部27は、変更指示による変更後の拍点が位置する解析時点t[m2]の特徴データF[m2]を利用して、推定モデル50の複数の変数を更新する(Sc4)。具体的には、推定モデル更新部27は、推定モデル50に対する特徴データF[m2]の供給に並行してM個の中間データD[1]~D[M]の各々を適応ブロック55に順次に供給し、特徴データF[m2]の中間データD[m2]に類似する各中間データD[m]から生成される出力データO[m]の確率P[m]が1に近付くように、推定モデル50の複数の変数を更新する。したがって、推定モデル50は、解析時点t[m2]の特徴データF[m2]に類似する特徴データF[m]が入力された場合に、1に近い確率P[m]を表す出力データO[m]を生成するように訓練される。
 以上に例示した推定モデル更新処理Scにより変更指示に応じて推定モデル50が更新されるほか、第1実施形態においては、変更指示に応じた拘束条件のもとで拍点推定処理Sbが実行されることで、更新後の複数の拍点が推定される。
 前述の通り、拍間隔δ内の5個の経過点Y[0]~Y[4]のうちの経過点Y[0]は拍点に該当し、残余の4個の経過点Y[1]~Y[4]は拍点に該当しない。時間軸上の解析時点t[m2]は、変更指示による変更後の拍点に該当する。そこで、推定処理部23は、解析時点t[m2]において相異なる状態Qに対応するN個の尤度λ[i,j]のうち、経過点Y[0]以外の経過点Y[j’](j’=1~4)に対応する尤度λ[i,j’]を強制的に0に設定する。また、推定処理部23は、解析時点t[m2]にけるN個の尤度λ[i,j]のうち、経過点Y[0]に対応する尤度λ[i,0]を、前述の方法で算定される数値に維持する。したがって、状態系列の生成(Sb3)においては、解析時点t[m2]において経過点Y[0]の状態Qを必ず通過する最尤経路が推定される。すなわち、解析時点t[m2]は拍点に該当すると推定される。以上の説明から理解される通り、利用者からの変更指示による変更後の拍点の解析時点t[m2]において経過点Y[0]の状態Qが観測されるという拘束条件のもとで拍点推定処理Sbが実行される。
 他方、時間軸上の解析時点t[m1]は、変更指示による変更後の拍点に該当しない。そこで、推定処理部23は、解析時点t[m1]において相異なる状態Qに対応するN個の尤度λ[i,j]のうち、経過点Y[0]に対応する尤度λ[i,0]を強制的に0に設定する。また、推定処理部23は、解析時点t[m1]にけるN個の尤度λ[i,j]のうち、経過点Y[0]以外の経過点Y[j’]に対応する尤度λ[i,j’]に対応する尤度λ[i,j’]を、前述の方法で算定される有意な数値に維持する。したがって、状態系列の生成(Sb3)においては、解析時点t[m1]において経過点Y[0]の状態Qを通過しない最尤経路が推定される。すなわち、解析時点t[m1]は拍点に該当しないと推定される。以上の説明から理解される通り、利用者からの変更指示による変更前の解析時点t[m1]において経過点Y[0]の状態Qが観測されないという拘束条件のもとで拍点推定処理Sbが実行される。
 以上の通り、解析時点t[m1]における経過点Y[0]の尤度λ[i,0]が0に設定され、解析時点t[m2]における経過点Y[0]以外の経過点Y[j’]の尤度λ[i,j’]が0に設定されることで、楽曲全体にわたる最尤経路が変化する。すなわち、利用者が変更を指示する拍点は楽曲内の一部の拍点に過ぎないにも関わらず、楽曲の全体にわたる複数の拍点に変更指示が反映される。
 図13は、制御装置11が実行する処理の具体的な手順を例示するフローチャートである。例えば操作装置14に対する利用者からの指示を契機として図13の処理が開始される。処理が開始されると、制御装置11は、音響信号Aの解析により楽曲の複数の拍点を推定する処理(以下「初期解析処理」という)を実行する(S1)。
 図14は、初期解析処理の具体的な手順を例示するフローチャートである。初期解析処理が開始されると、制御装置11(特徴抽出部21)は、時間軸上のM個の解析時点t[1]~t[M]の各々について特徴データF[m]を生成する(S11)。特徴データF[m]は、前述の通り、解析時点t[m]を含む単位期間U内の複数の特徴量f[m]の時系列である。
 制御装置11(確率算定部22)は、図6に例示した確率算定処理Saを実行することで、相異なる解析時点t[m]に対応するM個の出力データO[m]を生成する(S12)。また、制御装置11(推定処理部23)は、図9に例示した拍点推定処理Sbを実行することで、楽曲内の複数の拍点を推定する(S13)。
 制御装置11(表示制御部24)は、拍点推定処理Sbにより推定された複数の拍点のうち1個以上の修正候補点を特定する(S14)。具体的には、直前または直後の拍点との拍間隔δが楽曲内の平均値から乖離する拍点、または、拍間隔δの時間長が前後の拍間隔でδと比較して顕著に相違する拍点が、修正候補点として特定される。また、複数の拍点のうち確率P[m]が所定値を下回る拍点が修正候補点として特定されてもよい。制御装置11(表示制御部24)は、図10に例示した解析画面70を表示装置13に表示させる(S15)。
 以上に例示した初期解析処理を実行すると、制御装置11(指示受付部26)は、図13に例示される通り、楽曲内の複数の拍点のうち一部の拍点に関する変更指示を利用者から受付けるまで待機する(S2:NO)。変更指示を受付けると(S2:YES)、制御装置11(推定モデル更新部27および解析処理部20)は、初期解析処理で推定された複数の拍点の位置を利用者からの変更指示に応じて更新する拍点更新処理を実行する(S3)。
 図15は、拍点更新処理の具体的な手順を例示するフローチャートである。制御装置11(推定モデル更新部27)は、図12に例示した推定モデル更新処理Scを実行することで、推定モデル50の複数の変数を利用者からの変更指示に応じて更新する(S31)。
 制御装置11(確率算定部22)は、推定モデル更新処理Scによる更新後の推定モデル50を利用して図6の確率算定処理Saを実行することで、M個の出力データO[1]~O[M]を生成する(S32)。また、制御装置11(解析処理部20)は、M個の出力データO[1]~Q[M]を利用した図9の拍点推定処理Sbを実行することで、拍点データBを生成する(S33)。すなわち、楽曲内の複数の拍点が推定される。拍点更新処理内の拍点推定処理Sbは、変更指示に応じた前述の拘束条件のもとで実行される。
 以上の説明から理解される通り、推定モデル50を更新する推定モデル更新処理Scと、更新後の推定モデル50を利用した確率算定処理Saと、当該確率算定処理Saにより生成された出力データO[m]を利用した拍点推定処理Sbとにより、更新後の複数の拍点が推定される。すなわち、推定モデル更新部27と確率算定部22と解析処理部20とにより、推定済の複数の拍点の位置を更新する要素(拍点更新部)が実現される。
 制御装置11(表示制御部24)は、前述のステップS14と同様に、拍点推定処理Sbにより推定された複数の拍点のうち1個以上の修正候補点を特定する(S34)。制御装置11(表示制御部24)は、更新後の各拍点を表す拍画像751を含む図10の解析画面70を表示装置13に表示させる(S35)。
 以上に例示した拍点更新処理を実行すると、制御装置11は、図13に例示される通り、利用者から処理の終了が指示されたか否かを判定する(S4)。処理の終了が指示されない場合(S4:NO)、制御装置11は、利用者による変更指示の待機(S2)に移行する。制御装置11は、利用者による再度の変更指示を契機として拍点更新処理を実行する(S3)。第2回目以降の拍点更新処理の推定モデル更新処理Sc(S31)においては、適応ブロック55の有無の判定(Sc1)の結果が肯定となるから、新規な適応ブロック55の追加は実行されない。すなわち、第1回目の拍点更新処理において適応ブロック55が追加された推定モデル50が、以降における推定モデル更新処理Scの実行毎に累積的に更新される。他方、処理の終了が指示された場合(S4:YES)、制御装置11は図13の処理を終了する。
 以上に説明した通り、第1実施形態においては、音響信号Aの解析により推定された複数の拍点のうち一部の拍点に関する利用者からの変更指示に応じて、当該一部の拍点以外の拍点を含む楽曲内の複数の拍点の位置が更新される。すなわち、楽曲の一部に対する変更指示が楽曲の全体に反映される。したがって、楽曲内の全部の拍点の各々について利用者が位置の変更を指示する必要がある構成と比較して、利用者が各拍点の位置の変更を指示する負荷を軽減しながら、利用者の意図に沿った拍点の時系列を取得できる。
 推定モデル50における第1部分50aと第2部分50bとの間に適応ブロック55を追加した状態において、利用者からの変更指示による変更前および変更後の拍点の位置を適用した追加学習により推定モデル50が更新される。したがって、利用者の意図または嗜好に沿った拍点を推定可能な状態に推定モデル50を特化できる。
 また、複数のテンポX[i]の何れかに対応する複数の状態Qで構成される状態遷移モデル60を利用して複数の拍点が推定される。したがって、テンポX[i]が自然に遷移するように複数の拍点を推定できる。第1実施形態においては特に、状態遷移モデル60の複数の状態Qが、複数のテンポX[i]の各々と拍間隔δ内の複数の経過点Y[j]の各々との相異なる組合せに対応し、利用者からの変更指示による変更後の拍点の解析時点t[m]において経過点Y[0]に対応する状態Qが観測されるという拘束条件のもとで拍点推定処理Sbが実行される。したがって、利用者からの変更指示による変更後の時点を拍点として含む複数の拍点を推定できる。
B:第2実施形態
 第2実施形態を説明する。なお、以下に例示する各形態において機能が第1実施形態と同様である要素については、第1実施形態の説明で使用したのと同様の符号を流用して各々の詳細な説明を適宜に省略する。
 図16は、第2実施形態における音響解析システム100の機能的な構成を例示するブロック図である。第2実施形態の制御装置11は、第1実施形態と同様の要素(解析処理部20,表示制御部24,再生制御部25,指示受付部26および推定モデル更新部27)に加えて曲線設定部28として機能する。
 第2実施形態の解析処理部20は、楽曲内の複数の拍点の推定に加えて、当該楽曲のテンポT[m]の推定を実行する。すなわち、解析処理部20は、音響信号Aを解析することで、時間軸上の相異なる解析時点t[m]に対応するM個のテンポT[1]~T[M]の時系列を推定する。
 図17は、第2実施形態における解析画面70の模式図である。第2実施形態の解析画面70は、第1実施形態と同様の要素に加えて、推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとを含む。具体的には、解析画面70の波形領域73には、音響信号Aの波形731と推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとが、共通の時間軸のもとで表示される。なお、図17においては、音響信号Aにおける発音点732の表示が便宜的に省略されている。
 図18は、推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとに着目した模式図である。推定テンポ曲線CTは、解析処理部20が推定するテンポT[m]の時系列を表す曲線である。また、最大テンポ曲線CHは、解析処理部20が推定するテンポT[m]の最大値(以下「最大テンポ」という)H[m]の時間変化を表す曲線である。すなわち、最大テンポ曲線CHは、時間軸上の相異なる解析時点t[m]に対応するM個の最大テンポH[1]~H[M]の時系列を表す。最小テンポ曲線CLは、解析処理部20が推定するテンポT[m]の最小値(以下「最小テンポ」という)L[m]の時間変化を表す曲線である。すなわち、最小テンポ曲線CLは、時間軸上の相異なる解析時点t[m]に対応するM個の最小テンポL[1]~L[M]の時系列を表す。
 以上の説明から理解される通り、解析処理部20は、各解析時点t[m]について、最大テンポH[m]と最小テンポL[m]との間の範囲(以下「制限範囲」という)R[m]内において楽曲のテンポT[m]を推定する。したがって、推定テンポ曲線CTは、最大テンポ曲線CHと最小テンポ曲線CLとの間に位置する。制限範囲R[m]の位置および範囲幅は経時的に変化する。
 図16の曲線設定部28は、最大テンポ曲線CHと最小テンポ曲線CLとを設定する。例えば、利用者は、操作装置14を操作することで、所望の形状の最大テンポ曲線CHと所望の形状の最小テンポ曲線CLとを指示できる。曲線設定部28は、解析画面70(波形領域73)に対する利用者からの指示に応じて最大テンポ曲線CHおよび最小テンポ曲線CLを設定する。例えば、曲線設定部28は、波形領域73内に利用者が指定した複数の地点を時系列に通過する連続的な曲線を最大テンポ曲線CHまたは最小テンポ曲線として設定する。また、利用者は、操作装置14を操作することで、設定済の最大テンポ曲線CHおよび最小テンポ曲線CLの変更を波形領域73に対して指示できる。曲線設定部28は、最大テンポ曲線CHと最小テンポ曲線CLとを、解析画像(波形領域73)に対する利用者からの指示に応じて変更する。以上の説明から理解される通り、第2実施形態によれば、利用者は、解析画面70を確認しながら最大テンポ曲線CHと最小テンポ曲線CLとを容易に変更できる。
 第2実施形態においては、音響信号Aの波形731と、最大テンポ曲線CHおよび最小テンポ曲線CLとが共通の時間軸のもとで表示されるから、最大テンポH[m]または最小テンポL[m]の時間変化と音響信号Aの波形731との関係を利用者が視覚的に把握し易い。また、最大テンポ曲線CHおよび最小テンポ曲線CLとともに推定テンポ曲線CTが表示されるから、最大テンポ曲線CHと最小テンポ曲線CLとの間で推定された楽曲のテンポT[m]の時間変化を利用者が視覚的に把握できる。
 図19は、第2実施形態における拍点推定処理Sbの具体的な手順を例示するフローチャートである。各解析時点t[m]の観測尤度Λ[m]を第1実施形態と同様に設定すると(Sb1)、推定処理部23は、状態遷移モデル60の各状態Q[i,j]について、経路p[i,j]と尤度λ[i,j]とを解析時点t[m]毎に算定する(Sb2)。第2実施形態の推定処理部23は、各解析時点t[m]について、複数のテンポX[i]のうち最大テンポH[m]を上回る各テンポX[i]に対応する尤度λ[i,j]と、最小テンポL[m]を下回る各テンポX[i]に対応する尤度λ[i,j]とを0に設定する。すなわち、状態遷移モデル60のN個の状態Qのうち、制限範囲R[m]の外側のテンポX[i]に対応する状態Qは無効状態に設定される。また、推定処理部23は、各解析時点t[m]について、制限範囲R[m]の内側の各テンポX[i]に対応する尤度λ[i,j]を、第1実施形態と同様に有意な数値に設定する。すなわち、状態遷移モデル60のN個の状態Qのうち、制限範囲R[m]の内側のテンポX[i]に対応する状態Qは有効状態に設定される。
 推定処理部23は、第1実施形態と同様の方法により状態系列を生成する(Sb3)。すなわち、N個の状態Qのうち尤度λ[i,j]が大きい状態Qを解析時点t[m]毎に配列した系列が、状態系列として生成される。前述の通り、解析時点t[m]において制限範囲R[m]の外側のテンポX[i]に対応する状態Q[i,j]の尤度λ[i,j]は0に設定される。したがって、制限範囲R[m]の外側のテンポX[i]に対応する状態Qは、状態系列の要素として選択されない。以上の説明から理解される通り、各状態Qの無効状態は、当該状態Qが選択されない状態を意味する。
 推定処理部23は、第1実施形態と同様に拍点データBを生成し(Sb4)、各解析時点t[m]のテンポT[m]を状態系列から特定する(Sb5)。すなわち、状態系列のうち解析時点t[m]に対応する状態QのテンポX[i]がテンポT[m]として設定される。前述の通り、制限範囲R[m]の外側のテンポX[i]に対応する状態Qは状態系列の要素として選択されないから、テンポT[m]は、制限範囲R[m]の内側の数値に制限される。
 以上に説明した通り、第2実施形態においては、最大テンポ曲線CHと最小テンポ曲線CLとが利用者からの指示に応じて設定される。そして、最大テンポ曲線CHが表す最大テンポH[m]と最小テンポ曲線CLが表す最小テンポL[m]との間の制限範囲R[m]内において楽曲のテンポT[m]が推定される。したがって、利用者が意図したテンポから過度に乖離したテンポ(例えば利用者が想定した数値の2倍または1/2倍のテンポ)が推定される可能性が低減される。すなわち、音響信号Aが表す楽曲のテンポT[m]を高精度に推定できる。
 また、第2実施形態においては、複数のテンポX[i]の何れかに対応する複数の状態Qで構成される状態遷移モデル60が、複数の拍点の推定に利用される。したがって、経時的に自然に遷移するテンポT[m]が推定される。しかも、複数の状態Qのうち制限範囲R[m]の外側のテンポX[i]に対応する状態Qを無効状態に設定する簡便な処理により、制限範囲R[m]内に制限されたテンポT[m]を推定できる。
C:第3実施形態
 第1実施形態においては、確率算定部22が推定モデル50により算定した確率P[m]を表す出力データO[m]が推定処理部23による拍点推定処理Sbに適用される形態を例示した。第3実施形態においては、推定モデル50により算定される確率P[m](以下「確率P1[m]」という)が操作装置14に対する利用者からの操作に応じて調整され、調整後の確率P2[m]を表す出力データO[m]が拍点推定処理Sbに適用される。
 図20は、第3実施形態の確率算定部22が出力データO[m]を生成する処理の説明図である。再生制御部25が放音装置15に再生させる楽曲の演奏音を聴取しながら、利用者は、自身が拍点と認識する各時点において操作装置14を操作する。例えば、利用者は、楽曲の再生に並行して、自身が認識する拍点の時点において操作装置14のタッチパネルに対してタップ操作を付与する。図20には、利用者が操作した時点(以下「操作時点」という)τが時間軸上に図示されている。
 確率算定部22は、操作時点τ毎に単位分布Wを設定する。単位分布Wは、時間軸上における加重値w[m]の分布である。例えば分散が所定値に設定された正規分布等の確率分布が単位分布Wとして利用される。各単位分布Wにおいては、操作時点τにおいて加重値w[m]が最大となり、操作時点τから離間するほど加重値w[m]が減少する。
 確率算定部22は、推定モデル50が当該解析時点t[m]について生成した確率P1[m]と、当該解析時点t[m]における加重値w[m]とを乗算することで、調整後の確率P2[m]を算定する。したがって、推定モデル50が生成した確率P1[m]が小さい解析時点t[m]でも、当該解析時点t[m]が操作時点τに近い場合には、調整後の確率P2[m]は大きい数値に設定される。確率算定部22は、調整後の確率P2[m]を表す出力データO[m]を推定処理部23に供給する。推定処理部23が出力データO[m]を利用して複数の拍点を推定する拍点推定処理Sbの手順は第1実施形態と同様である。
 第3実施形態においても第1実施形態と同様の効果が実現される。また、第3実施形態においては、利用者による操作時点τに設定された単位分布Wの加重値w[m]が確率P1[m]に乗算されるから、利用者の意図または嗜好を充分に反映した拍点を推定できるという利点がある。なお、第2実施形態の構成は第3実施形態にも同様に適用される。
D:変形例
 以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
(1)推定モデル50の構成は、図4の例示に限定されない。例えば、推定モデル50が再帰型ニューラルネットワークを含む形態も想定される。また、長短期記憶(LSTM:Long Short-Term Memory)等の付加的な要素が推定モデル50に搭載されてもよい。複数種の深層ニューラルネットワークの組合せにより推定モデル50が構成されてもよい。
(2)音響信号Aの解析により楽曲内の複数の拍点を推定する処理の具体的な手順は、前述の各形態における例示に限定されない。例えば、解析処理部20は、出力データO[m]が表す確率P[m]が極大となる解析時点t[m]を拍点として推定してもよい。すなわち、状態遷移モデル60の利用は省略される。また、例えば音響信号Aの音量等の特徴量f[m]が顕著に増加する時点を、解析処理部20が拍点として推定してもよい。すなわち、推定モデル50の利用は省略される。
(3)初期解析処理により推定された複数の拍点を更新する第1実施形態の構成は、第2実施形態において省略されてもよい。すなわち、推定済の複数の拍点のうち一部の拍点に対する変更指示に応じて楽曲全体にわたる複数の拍点を更新する第1実施形態の構成と、利用者からの指示に応じた制限範囲R[m]内において楽曲のテンポT[m]を推定する第2実施形態の構成とは、相互に独立に成立し得る。
(4)例えばスマートフォンまたはタブレット端末等の情報装置との間で通信するサーバ装置により音響解析システム100を実現してもよい。例えば、音響解析システム100は、情報装置から受信した音響信号Aの解析により拍点データBを生成し、当該拍点データBを情報装置に送信する。利用者による変更指示の受付(S2)および拍点更新処理(S3)も同様に、情報装置と通信する音響解析システム100が実行する。
(5)以上に例示した音響解析システム100の機能は、前述の通り、制御装置11を構成する単数または複数のプロセッサと、記憶装置12に記憶されたプログラムとの協働により実現される。本開示に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体も包含される。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体も除外されない。また、配信装置が通信網を介してプログラムを配信する構成では、当該配信装置においてプログラムを記憶する記憶装置12が、前述の非一過性の記録媒体に相当する。
E:付記
 以上に例示した形態から、例えば以下の構成が把握される。
 本開示のひとつの態様(態様1)に係る音響解析方法は、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定し、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する。以上の態様においては、最大テンポ曲線と最小テンポ曲線とが利用者からの指示に応じて設定され、最大テンポ曲線が表す最大値と最小テンポ曲線が表す最小値との間の制限範囲内において楽曲のテンポが推定される。したがって、利用者が想定したテンポから過度に乖離したテンポ(例えば2倍または1/2倍のテンポ)が推定される可能性が低減される。すなわち、音響信号が表す楽曲のテンポを高精度に推定できる。
 態様1の具体例(態様2)において、前記最大テンポ曲線と前記最小テンポ曲線とを含む解析画面を表示装置に表示させ、前記最大テンポ曲線および前記最小テンポ曲線の設定においては、前記解析画面に対する前記利用者からの指示に応じて前記最大テンポ曲線および前記最小テンポ曲線を変更する。以上の態様においては、利用者は、解析画面を視認しながら最大テンポ曲線と最小テンポ曲線とを容易に変更できる。
 態様2の具体例(態様3)において、前記解析画面は、前記音響信号の波形と、前記最大テンポ曲線および前記最小テンポ曲線とが、共通の時間軸のもとで配置された画像である。以上の態様によれば、最大テンポ曲線が表すテンポの最大値の時間変化または最小テンポ曲線が表すテンポの最小値の時間変化と、音響信号の波形との時間的な関係を、利用者が視覚的に把握し易いという利点がある。
 態様2または態様3の具体例(態様4)において、前記解析画面は、前記音響信号の解析により推定されたテンポの時間変化を表す推定テンポ曲線を含む。以上の態様によれば、最大テンポ曲線と最小テンポ曲線との間で推定された楽曲のテンポの時間変化を利用者が視覚的に把握できる。
 態様1から態様4の何れかの具体例(態様5)において、前記テンポの推定においては、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して前記楽曲のテンポを推定し、前記複数の状態のうち前記制限範囲の外側のテンポに対応する状態を無効状態に設定する。以上の態様によれば、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して複数の拍点が推定される。したがって、経時的に自然に遷移するテンポが推定される。また、複数の状態のうち制限範囲の外側のテンポに対応する状態を無効状態に設定する簡便な処理により、制限範囲内に制限されたテンポを推定できる。
 本開示のひとつの態様(態様6)に係る音響解析システムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部と、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部とを具備する。
 本開示のひとつの態様(態様7)に係るプログラムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部、および、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部、としてコンピュータシステムを機能させる。
 なお、本明細書における「テンポ」は、演奏速度を表す任意の数値であり、単位時間内の拍数(BPM:Beats Per Minute)という意味の狭義のテンポには限定されない。
 本出願は、2021年2月25日出願の日本出願(特願2021-028539)及び2021年2月25日出願の日本出願(特願2021-028549)に基づくものであり、その内容はここに参照として取り込まれる。
 本開示の音響解析方法、音響解析システムおよびプログラムによれば、音響信号が表す楽曲のテンポを高精度に推定することができる。
 100…音響解析システム
 11…制御装置
 12…記憶装置
 13…表示装置
 14…操作装置
 15…放音装置
 20…解析処理部
 21…特徴抽出部
 22…確率算定部
 23…推定処理部
 24…表示制御部
 25…再生制御部
 26…指示受付部
 27…推定モデル更新部
 28…曲線設定部
 50…推定モデル
 50a…第1部分
 50b…第2部分
 51…入力層
 52(52a,52b)…中間層
 53…出力層
 55…適応ブロック
 59…暫定モデル
 60…状態遷移モデル。

Claims (11)

  1.  テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定し、
     楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する、
     コンピュータシステムにより実現される音響解析方法。
  2.  前記最大テンポ曲線と前記最小テンポ曲線とを含む解析画面を表示装置に表示させ、
     前記最大テンポ曲線および前記最小テンポ曲線の設定においては、前記解析画面に対する前記利用者からの指示に応じて前記最大テンポ曲線および前記最小テンポ曲線を変更する、
     請求項1に記載の音響解析方法。
  3.  前記解析画面は、
     前記音響信号の波形と、前記最大テンポ曲線および前記最小テンポ曲線とが、共通の時間軸のもとで配置された画像である、
     請求項2に記載の音響解析方法。
  4.  前記解析画面は、前記音響信号の解析により推定されたテンポの時間変化を表す推定テンポ曲線を含む、
     請求項2または請求項3の何れか一項に記載の音響解析方法。
  5.  前記テンポの推定においては、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して前記楽曲のテンポを推定し、前記複数の状態のうち前記制限範囲の外側のテンポに対応する状態を無効状態に設定する、
     請求項1から請求項4の何れか一項に記載の音響解析方法。
  6.  テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部と、
     楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部と、
     を具備する音響解析システム。
  7.  前記最大テンポ曲線と前記最小テンポ曲線とを含む解析画面を表示装置に表示させる表示制御部と、
     前記最大テンポ曲線および前記最小テンポ曲線の設定においては、前記解析画面に対する前記利用者からの指示に応じて前記最大テンポ曲線および前記最小テンポ曲線を変更する曲線設定部と、
     をさらに具備する、
     請求項6に記載の音響解析システム。
  8.  前記解析画面は、
     前記音響信号の波形と、前記最大テンポ曲線および前記最小テンポ曲線とが、共通の時間軸のもとで配置された画像である、
     請求項7に記載の音響解析システム。
  9.  前記解析画面は、前記音響信号の解析により推定されたテンポの時間変化を表す推定テンポ曲線を含む、
     請求項7または請求項8に記載の音響解析システム。
  10.  前記解析処理部は、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して前記楽曲のテンポを推定し、前記複数の状態のうち前記制限範囲の外側のテンポに対応する状態を無効状態に設定する、
     請求項6から請求項9の何れか一項に記載の音響解析システム。
  11.  テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部、および、
     楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部、
     としてコンピュータシステムを機能させるプログラム。
PCT/JP2022/006612 2021-02-25 2022-02-18 音響解析方法、音響解析システムおよびプログラム WO2022181477A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280015315.6A CN116917981A (zh) 2021-02-25 2022-02-18 音响解析方法、音响解析系统及程序
US18/453,196 US20230395047A1 (en) 2021-02-25 2023-08-21 Audio analysis method, audio analysis system and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2021-028549 2021-02-25
JP2021-028539 2021-02-25
JP2021028549A JP2022129742A (ja) 2021-02-25 2021-02-25 音響解析方法、音響解析システムおよびプログラム
JP2021028539A JP2022129738A (ja) 2021-02-25 2021-02-25 音響解析方法、音響解析システムおよびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/453,196 Continuation US20230395047A1 (en) 2021-02-25 2023-08-21 Audio analysis method, audio analysis system and program

Publications (1)

Publication Number Publication Date
WO2022181477A1 true WO2022181477A1 (ja) 2022-09-01

Family

ID=83048955

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2022/006612 WO2022181477A1 (ja) 2021-02-25 2022-02-18 音響解析方法、音響解析システムおよびプログラム
PCT/JP2022/006601 WO2022181474A1 (ja) 2021-02-25 2022-02-18 音響解析方法、音響解析システムおよびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/006601 WO2022181474A1 (ja) 2021-02-25 2022-02-18 音響解析方法、音響解析システムおよびプログラム

Country Status (2)

Country Link
US (2) US20230395052A1 (ja)
WO (2) WO2022181477A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007242215A (ja) * 2006-02-13 2007-09-20 Sony Corp コンテンツ再生リスト生成装置、コンテンツ再生リスト生成方法およびプログラムが記録された記録媒体
US20090157203A1 (en) * 2007-12-17 2009-06-18 Microsoft Corporation Client-side audio signal mixing on low computational power player using beat metadata

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5625235B2 (ja) * 2008-11-21 2014-11-19 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP6123995B2 (ja) * 2013-03-14 2017-05-10 ヤマハ株式会社 音響信号分析装置及び音響信号分析プログラム
CN104217729A (zh) * 2013-05-31 2014-12-17 杜比实验室特许公司 音频处理方法和音频处理装置以及训练方法
JP6252147B2 (ja) * 2013-12-09 2017-12-27 ヤマハ株式会社 音響信号分析装置及び音響信号分析プログラム
JP6295794B2 (ja) * 2014-04-09 2018-03-20 ヤマハ株式会社 音響信号分析装置及び音響信号分析プログラム
JP6729515B2 (ja) * 2017-07-19 2020-07-22 ヤマハ株式会社 楽曲解析方法、楽曲解析装置およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007242215A (ja) * 2006-02-13 2007-09-20 Sony Corp コンテンツ再生リスト生成装置、コンテンツ再生リスト生成方法およびプログラムが記録された記録媒体
US20090157203A1 (en) * 2007-12-17 2009-06-18 Microsoft Corporation Client-side audio signal mixing on low computational power player using beat metadata

Also Published As

Publication number Publication date
US20230395052A1 (en) 2023-12-07
US20230395047A1 (en) 2023-12-07
WO2022181474A1 (ja) 2022-09-01

Similar Documents

Publication Publication Date Title
US9672800B2 (en) Automatic composer
CN106023969B (zh) 用于将音频效果应用于音乐合辑的一个或多个音轨的方法
CA2764042C (en) System and method of receiving, analyzing, and editing audio to create musical compositions
US9257053B2 (en) System and method for providing audio for a requested note using a render cache
US8785760B2 (en) System and method for applying a chain of effects to a musical composition
US9177540B2 (en) System and method for conforming an audio input to a musical key
US8779268B2 (en) System and method for producing a more harmonious musical accompaniment
CA2929213C (en) System and method for enhancing audio, conforming an audio input to a musical key, and creating harmonizing tracks for an audio input
US9251773B2 (en) System and method for determining an accent pattern for a musical performance
CA2843438A1 (en) System and method for providing audio for a requested note using a render cache
WO2022181477A1 (ja) 音響解析方法、音響解析システムおよびプログラム
JP2022129742A (ja) 音響解析方法、音響解析システムおよびプログラム
JP2022129738A (ja) 音響解析方法、音響解析システムおよびプログラム
GB2606522A (en) A system and method for generating a musical segment
JP6788560B2 (ja) 歌唱評価装置、歌唱評価プログラム、歌唱評価方法及びカラオケ装置
WO2024004564A1 (ja) 音響解析システム、音響解析方法およびプログラム
WO2022190403A1 (ja) 信号処理システム、信号処理方法およびプログラム
WO2024085175A1 (ja) データ処理方法およびプログラム
WO2022113914A1 (ja) 音響処理方法、音響処理システム、電子楽器およびプログラム
CN117156173A (zh) Vlog生成方法及相关装置
WO2017056885A1 (ja) 楽曲処理方法および楽曲処理装置
JP2008225111A (ja) カラオケ装置及びプログラム

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: 22759513

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280015315.6

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22759513

Country of ref document: EP

Kind code of ref document: A1