WO2018016637A1 - 制御方法、及び、制御装置 - Google Patents

制御方法、及び、制御装置 Download PDF

Info

Publication number
WO2018016637A1
WO2018016637A1 PCT/JP2017/026525 JP2017026525W WO2018016637A1 WO 2018016637 A1 WO2018016637 A1 WO 2018016637A1 JP 2017026525 W JP2017026525 W JP 2017026525W WO 2018016637 A1 WO2018016637 A1 WO 2018016637A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
performance
coefficient
value
unit
Prior art date
Application number
PCT/JP2017/026525
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
Application filed by ヤマハ株式会社 filed Critical ヤマハ株式会社
Priority to JP2018528901A priority Critical patent/JP6729699B2/ja
Priority to CN201780044768.0A priority patent/CN109478398B/zh
Priority to EP17831153.6A priority patent/EP3489944A4/en
Publication of WO2018016637A1 publication Critical patent/WO2018016637A1/ja
Priority to US16/247,717 priority patent/US10665216B2/en

Links

Images

Classifications

    • 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/0008Associated control or indicating 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
    • 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/061Musical 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 musical phrases, isolation of musically relevant segments, e.g. musical thumbnail generation, or for temporal structure analysis of a musical piece, e.g. determination of the movement sequence of a musical work
    • 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/066Musical 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 pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental

Definitions

  • the present invention relates to a control method and a control device.
  • a technique for estimating a position on a musical score of a performance by a performer based on a sound signal indicating pronunciation in performance is known (for example, see Patent Document 1).
  • the present invention has been made in view of the above-described circumstances, and an object of the present invention is to provide a technique capable of adjusting the degree of synchronization between the performance by the performer and the performance on the automatic musical instrument.
  • the control method includes a step of receiving a detection result related to a first event in a performance, a step of determining a tracking coefficient indicating a degree of tracking of the second event in the performance with respect to the first event, and the tracking coefficient And determining an operation mode of the second event based on the second event.
  • control device includes a reception unit that receives a detection result related to the first event in the performance, a coefficient determination unit that determines a tracking coefficient indicating a degree of tracking of the second event in the performance with respect to the first event, and And an operation determining unit that determines an operation mode of the second event based on the tracking coefficient.
  • FIG. 4 is a block diagram illustrating a functional configuration of the timing control device 10.
  • FIG. 3 is a block diagram illustrating a hardware configuration of the timing control device 10.
  • FIG. 4 is a sequence chart illustrating the operation of the timing control device 10. Explanatory drawing for demonstrating pronunciation position u [n] and observation noise q [n].
  • 10 is a flowchart illustrating a method for determining a coupling coefficient ⁇ according to Modification 5.
  • 5 is a flowchart illustrating the operation of the timing control device 10.
  • FIG. 1 is a block diagram showing a configuration of an ensemble system 1 according to the present embodiment.
  • the ensemble system 1 is a system for a human performer P and an automatic musical instrument 30 to perform an ensemble. That is, in the ensemble system 1, the automatic musical instrument 30 performs in accordance with the performance of the player P.
  • the ensemble system 1 includes a timing control device 10, a sensor group 20, and an automatic musical instrument 30. In this embodiment, the case where the music which the performer P and the automatic musical instrument 30 play is known is assumed. That is, the timing control device 10 stores music data indicating the musical score of music played by the player P and the automatic musical instrument 30.
  • the performer P plays a musical instrument.
  • the sensor group 20 detects information related to the performance by the player P.
  • the sensor group 20 includes, for example, a microphone placed in front of the player P.
  • the microphone collects performance sounds emitted from the musical instrument played by the player P, converts the collected performance sounds into sound signals, and outputs the sound signals.
  • the timing control device 10 is a device that controls the timing at which the automatic musical instrument 30 performs following the performance of the player P. Based on the sound signal supplied from the sensor group 20, the timing control device 10 (1) estimates the performance position in the score (sometimes referred to as “estimation of performance position”), and (2) the automatic performance instrument 30. (3) The output of a performance command to the automatic musical instrument 30 (“Output of performance command”) 3) are performed.
  • the estimation of the performance position is a process of estimating the position of the ensemble by the player P and the automatic musical instrument 30 on the score.
  • the prediction of the pronunciation time is a process for predicting the time at which the automatic musical instrument 30 should perform the next pronunciation using the estimation result of the performance position.
  • the output of a performance command is a process of outputting a performance command for the automatic musical instrument 30 in accordance with an expected pronunciation time.
  • the pronunciation by the player P in the performance is an example of “first event”
  • the pronunciation by the automatic musical instrument 30 in the performance is an example of “second event”.
  • the first event and the second event may be collectively referred to as “events”.
  • the automatic musical instrument 30 is a musical instrument that can perform a performance regardless of a human operation in accordance with a performance command supplied from the timing control device 10, and is an automatic performance piano as an example.
  • FIG. 2 is a block diagram illustrating a functional configuration of the timing control device 10.
  • the timing control device 10 includes a storage unit 11, an estimation unit 12, an estimation unit 13, an output unit 14, and a display unit 15.
  • the storage unit 11 stores various data.
  • the storage unit 11 stores music data.
  • the music data includes at least information indicating the timing and pitch of pronunciation specified by the score.
  • the sound generation timing indicated by the music data is represented, for example, on the basis of a unit time (for example, a 32nd note) set in the score.
  • the music data may include information indicating at least one of the tone length, tone color, and volume specified by the score, in addition to the sounding timing and pitch specified by the score.
  • the music data is data in MIDI (Musical Instrument Digital Interface) format.
  • the estimation unit 12 analyzes the input sound signal and estimates the performance position in the score. First, the estimation unit 12 extracts information on the onset time (sounding start time) and the pitch from the sound signal. Next, the estimation unit 12 calculates a probabilistic estimation value indicating the performance position in the score from the extracted information. The estimation unit 12 outputs an estimated value obtained by calculation.
  • the estimated value output by the estimation unit 12 includes the sound generation position u, the observation noise q, and the sound generation time T.
  • the sound generation position u is a position (for example, the second beat of the fifth measure) in the score of the sound generated in the performance by the player P or the automatic musical instrument 30.
  • the observation noise q is an observation noise (probabilistic fluctuation) at the sound generation position u.
  • the sound generation position u and the observation noise q are expressed with reference to a unit time set in a score, for example.
  • the pronunciation time T is the time (position on the time axis) at which the pronunciation was observed in the performance by the player P.
  • the sound generation position corresponding to the nth note sounded in the performance of the music is represented by u [n] (n is a natural number satisfying n ⁇ 1). The same applies to other estimated values.
  • the predicting unit 13 uses the estimated value supplied from the estimating unit 12 as an observed value, thereby predicting the time when the next sounding should be performed in the performance by the automatic musical instrument 30 (predicting the sounding time).
  • the prediction unit 13 predicts the pronunciation time using a so-called Kalman filter.
  • the prediction of the pronunciation time according to the related art will be described prior to the description of the prediction of the pronunciation time according to the present embodiment. Specifically, prediction of pronunciation time using a regression model and prediction of pronunciation time using a dynamic model will be described as prediction of pronunciation time according to related technology.
  • the regression model is a model for estimating the next pronunciation time using the history of the pronunciation time by the player P and the automatic musical instrument 30.
  • the regression model is represented by the following equation (1), for example.
  • the sound production time S [n] is the sound production time by the automatic musical instrument 30.
  • the sound generation position u [n] is a sound generation position by the player P.
  • the pronunciation time is predicted using “j + 1” observation values (j is a natural number satisfying 1 ⁇ j ⁇ n).
  • the matrix G n and the matrix H n are matrices corresponding to regression coefficients. Shaped n subscript in matrix G n and matrix H n and coefficients alpha n indicates that matrix G n and matrix H n and coefficients alpha n is an element corresponding to notes played in the n-th. That is, when the regression model shown in Expression (1) is used, the matrix G n, the matrix H n , and the coefficient ⁇ n can be set so as to have a one-to-one correspondence with a plurality of notes included in the musical score. .
  • the matrix G n and matrix H n and coefficients alpha n can be set according to the position on the musical score. For this reason, according to the regression model shown in Formula (1), it is possible to predict the pronunciation time S according to the position on the score.
  • a dynamic model updates a state vector V representing a state of a dynamic system to be predicted by the dynamic model, for example, by the following process.
  • the dynamic model firstly uses a state transition model, which is a theoretical model representing a change over time of the dynamic system, from a state vector V before the change to a state vector after the change. Predict V.
  • the dynamic model predicts an observed value from a predicted value of the state vector V based on the state transition model using an observation model that is a theoretical model representing the relationship between the state vector V and the observed value.
  • the dynamic model calculates an observation residual based on the observation value predicted by the observation model and the observation value actually supplied from the outside of the dynamic model.
  • the dynamic model calculates the updated state vector V by correcting the predicted value of the state vector V based on the state transition model using the observation residual. In this way, the dynamic model updates the state vector V.
  • the state vector V is a vector including the performance position x and the velocity v as elements.
  • the performance position x is a state variable that represents an estimated value of the position in the musical score of the performance performed by the player P or the automatic musical instrument 30.
  • the speed v is a state variable representing an estimated value of speed (tempo) in a musical score of a performance by the player P or the automatic musical instrument 30.
  • the state vector V may include state variables other than the performance position x and the speed v.
  • the state transition model is expressed by the following formula (2) and the observation model is expressed by the following formula (3).
  • the state vector V [n] is a k-dimensional vector whose elements are a plurality of state variables including a performance position x [n] and a velocity v [n] corresponding to the nth played note (k). Is a natural number satisfying k ⁇ 2.
  • the process noise e [n] is a k-dimensional vector representing noise accompanying state transition using the state transition model.
  • the matrix An is a matrix indicating coefficients related to the update of the state vector V in the state transition model.
  • Matrix O n is the observation model, the observed value (in this example the sound producing position u) is a matrix showing the relationship between the state vector V.
  • the subscript n attached to various elements such as a matrix and a variable indicates that the element is an element corresponding to the nth note.
  • Expressions (2) and (3) can be embodied as, for example, the following expressions (4) and (5). If the performance position x [n] and the speed v [n] are obtained from the equations (4) and (5), the performance position x [t] at the future time t can be obtained by the following equation (6). By applying the calculation result according to the equation (6) to the following equation (7), it is possible to calculate the pronunciation time S [n + 1] at which the automatic musical instrument 30 should pronounce the (n + 1) th note.
  • the dynamic model has an advantage that the pronunciation time S can be predicted according to the position on the score.
  • the dynamic model has an advantage that parameter tuning (learning) in advance is unnecessary in principle.
  • the ensemble system 1 there may be a desire to adjust the degree of synchronization between the performance by the player P and the performance by the automatic musical instrument 30.
  • the ensemble system 1 there may be a desire to adjust the degree of follow-up of the performance by the performer P of the performance by the automatic musical instrument 30.
  • various changes that can be made when the degree of synchronization between the performance by the player P and the performance by the automatic musical instrument 30 are variously changed. For each degree of synchronization, learning in advance is required. In this case, there is a problem that the processing load in learning in advance increases.
  • the degree of synchronization is adjusted by the process noise e [n] or the like.
  • the sound generation time S [n + 1] is calculated based on the observation value related to the sound generation by the player P such as the sound generation time T [n]
  • the degree of synchronization is flexibly adjusted. There are things that cannot be done.
  • the prediction unit 13 according to the present embodiment is based on a dynamic model related to the related technology, and has a higher degree of follow-up to the performance by the player P of the performance by the automatic musical instrument 30 than the related technology.
  • the pronunciation time S [n + 1] is predicted in a flexible and adjustable manner.
  • the prediction unit 13 according to the present embodiment represents a state vector (referred to as “state vector Vu”) indicating the state of the dynamic system related to the performance by the player P and the state of the dynamic system related to the performance by the automatic musical instrument 30.
  • state vector Va is updated.
  • the state vector Vu is a performance position xu that is an estimated position in the score of the performance performed by the player P, and a speed vu that is a state variable that represents an estimated value of the speed in the score of the performance performed by the player P.
  • the state vector Va is a state variable representing a performance position xa that is an estimated value of a position in a musical score of a performance performed by the automatic musical instrument 30, and an estimated value of speed in a musical score of the performance performed by the automatic musical instrument 30. This is a vector including the velocity va as an element.
  • first state variables the state variables (performance position xu and speed vu) included in the state vector Vu are collectively referred to as “first state variables”, and the state variables (performance position xa and speed va) included in the state vector Va are referred to as “first state variables”.
  • second state variables Collectively referred to as “second state variables”.
  • the prediction unit 13 updates the first state variable and the second state variable using state transition models represented by the following equations (8) to (11).
  • the first state variable is updated by the following equations (8) and (11) in the state transition model.
  • These expressions (8) and (11) are expressions that embody the expression (4).
  • the second state variable is updated by the following equations (9) and (10) instead of the above-described equation (4) in the state transition model.
  • the process noise exu [n] is noise generated when the performance position xu [n] is updated by the state transition model
  • the process noise exa [n] is the performance position xa [n] by the state transition model
  • the process noise eva [n] is a noise generated when the speed va [n] is updated by the state transition model
  • the process noise eva [n] is the speed vu by the state transition model. This is noise generated when [n] is updated.
  • the coupling coefficient ⁇ [n] is a real number that satisfies 0 ⁇ ⁇ [n] ⁇ 1.
  • the value “1- ⁇ [n]” multiplied by the performance position xu, which is the first state variable is an example of the “follow-up coefficient”.
  • the prediction unit 13 uses the performance position xu [n ⁇ 1] and the velocity vu [n ⁇ 1] that are the first state variables, A performance position xu [n] and a speed vu [n], which are first state variables, are predicted.
  • the prediction unit 13 according to the present embodiment as shown in the formulas (9) and (10), the performance position xu [n ⁇ 1] and the speed vu [n ⁇ 1], which are the first state variables, Using one or both of the performance position xa [n-1] and the speed va [n-1] as the second state variable, the performance position xa [n] and the speed va [n] as the second state variable are used. Predict.
  • the prediction unit 13 according to the present embodiment updates the performance position xu [n] and the speed vu [n], which are the first state variables, and the state transition model represented by Expression (8) and Expression (11), The observation model shown in Formula (5) is used.
  • the prediction unit 13 according to the present embodiment uses the state transition model shown in Expression (9) and Expression (10) in updating the performance position xa [n] and the speed va [n], which are the second state variables.
  • the observation model is not used.
  • the prediction unit 13 according to the present embodiment is a value obtained by multiplying the first state variable (for example, the performance position xu [n ⁇ 1]) by the tracking coefficient (1 ⁇ [n]).
  • the prediction unit 13 according to the present embodiment can adjust the degree of follow-up of the performance by the automatic musical instrument 30 with respect to the performance by the player P by adjusting the value of the coupling coefficient ⁇ [n]. .
  • the prediction unit 13 according to the present embodiment can adjust the degree of synchronization between the performance by the player P and the performance by the automatic musical instrument 30 by adjusting the value of the coupling coefficient ⁇ [n]. it can.
  • the tracking coefficient (1- ⁇ [n]) When the tracking coefficient (1- ⁇ [n]) is set to a large value, the tracking performance of the performance by the automatic musical instrument 30 with respect to the performance by the performer P is increased compared to the case where the tracking coefficient (1- ⁇ [n]) is set to a small value. be able to.
  • the coupling coefficient ⁇ [n] when the coupling coefficient ⁇ [n] is set to a large value, the followability of the performance by the automatic musical instrument 30 to the performance by the performer P can be reduced compared to the case where the coupling coefficient ⁇ [n] is set to a small value. it can.
  • the degree of synchronization between the performance by the player P and the performance by the automatic musical instrument 30 is adjusted by changing the value of a single coefficient called the coupling coefficient ⁇ . be able to.
  • the manner of sound generation by the automatic musical instrument 30 in the performance is adjusted. be able to.
  • the prediction unit 13 includes a reception unit 131, a coefficient determination unit 132, a state variable update unit 133, and an expected time calculation unit 134.
  • the accepting unit 131 accepts input of observation values related to performance timing.
  • the observed value related to the performance timing includes the first observed value related to the performance timing by the player P.
  • the observation value related to the performance timing may include the second observation value related to the performance timing of the automatic musical instrument 30 in addition to the first observation value.
  • the first observation value is a general term for a sounding position u (hereinafter referred to as “sounding position uu”) and a sounding time T related to the performance by the player P.
  • the second observation value is a generic name of the sound generation position u (hereinafter referred to as “sound generation position ua”) and the sound generation time S related to performance by the automatic musical instrument 30.
  • the accepting unit 131 accepts input of observation values associated with observation values related to performance timing in addition to observation values related to performance timing.
  • the accompanying observation value is an observation noise q related to the performance of the player P.
  • the accepting unit 131 stores the accepted observation value in the storage unit 11.
  • the coefficient determining unit 132 determines the value of the coupling coefficient ⁇ .
  • the value of the coupling coefficient ⁇ is set in advance according to the performance position on the score, for example.
  • the storage unit 11 stores, for example, profile information in which a performance position in a score is associated with a value of a coupling coefficient ⁇ corresponding to the performance position. Then, the coefficient determination unit 132 refers to the profile information stored in the storage unit 11 and acquires the value of the coupling coefficient ⁇ corresponding to the performance position in the score. Then, the coefficient determination unit 132 sets the value acquired from the profile information as the value of the coupling coefficient ⁇ .
  • the coefficient determination unit 132 may determine the value of the coupling coefficient ⁇ to a value according to an instruction from an operator (an example of “user”) of the timing control device 10, for example.
  • the timing control device 10 has a UI (User Interface) for receiving an operation indicating an instruction from the operator.
  • This UI may be a software UI (UI via a screen displayed by software) or a hardware UI (fader or the like).
  • the operator is different from the player P, but the player P may be the operator.
  • the state variable updating unit 133 updates the state variables (first state variable and second state variable). Specifically, the state variable updating unit 133 according to the present embodiment updates the state variable using the above-described equation (5) and equations (8) to (11). More specifically, the state variable update unit 133 according to the present embodiment updates the first state variable using Expression (5), Expression (8), and Expression (11), and Expression (9) And the second state variable is updated using Equation (10). Then, the state variable update unit 133 outputs the updated state variable. As is clear from the above description, the state variable update unit 133 updates the second state variable based on the coupling coefficient ⁇ having the value determined by the coefficient determination unit 132.
  • the state variable update unit 133 updates the second state variable based on the tracking coefficient (1- ⁇ [n]).
  • the timing control apparatus 10 adjusts the manner of sound generation by the automatic musical instrument 30 in the performance based on the tracking coefficient (1 ⁇ [n]).
  • the predicted time calculation unit 134 calculates the pronunciation time S [n + 1], which is the time of the next pronunciation by the automatic musical instrument 30, using the updated state variable. Specifically, the predicted time calculation unit 134 first applies the state variable updated by the state variable update unit 133 to Equation (6), thereby performing the performance position x [n] at a future time t. Calculate More specifically, the predicted time calculation unit 134 applies the performance position xa [n] and the speed va [n] updated by the state variable update unit 133 to the formula (6), so that the future The performance position x [n + 1] at time t is calculated.
  • the predicted time calculation unit 134 uses the equation (7) to calculate the pronunciation time S [n + 1] at which the automatic musical instrument 30 should pronounce the (n + 1) th note. Note that the predicted time calculation unit 134 applies the performance position xu [n] and the speed vu [n] updated by the state variable update unit 133 to Equation (6), thereby performing the performance at a future time t.
  • the position x [n] may be calculated.
  • the output unit 14 outputs to the automatic performance instrument 30 a performance command corresponding to a note to be generated next by the automatic musical instrument 30 in accordance with the pronunciation time S [n + 1] input from the prediction unit 13.
  • the timing control device 10 has an internal clock (not shown) and measures the time.
  • the performance command is described according to a predetermined data format.
  • the predetermined data format is, for example, MIDI.
  • the performance command includes, for example, a note-on message, a note number, and a velocity.
  • the display unit 15 displays information on the performance position estimation result and information on the predicted result of the next pronunciation time by the automatic musical instrument 30.
  • the information on the performance position estimation result includes, for example, at least one of a score, a frequency spectrogram of an input sound signal, and a probability distribution of performance position estimation values.
  • the information related to the predicted result of the next pronunciation time includes, for example, a state variable.
  • the display unit 15 displays information related to the estimation result of the performance position and information related to the predicted result of the next pronunciation time, so that an operator (user) of the timing control device 10 can grasp the operating state of the ensemble system 1. it can.
  • FIG. 3 is a diagram illustrating a hardware configuration of the timing control device 10.
  • the timing control device 10 is a computer device having a processor 101, a memory 102, a storage 103, an input / output IF 104, and a display device 105.
  • the processor 101 is, for example, a CPU (Central Processing Unit), and controls each unit of the timing control device 10.
  • the processor 101 may include a programmable logic device such as a DSP (Digital Signal Processor) or an FPGA (Field Programmable Gate Array) instead of or in addition to the CPU. .
  • the processor 101 may include a plurality of CPUs (or a plurality of programmable logic devices).
  • the memory 102 is a non-transitory recording medium, and is a volatile memory such as a RAM (Random Access Memory), for example.
  • the memory 102 functions as a work area when the processor 101 executes a control program described later.
  • the storage 103 is a non-transitory recording medium, and is, for example, a nonvolatile memory such as an EEPROM (Electrically Erasable Programmable Read-Only Memory).
  • the storage 103 stores various programs such as a control program for controlling the timing control device 10 and various data.
  • the input / output IF 104 is an interface for inputting / outputting a signal to / from another device.
  • the input / output IF 104 includes, for example, a microphone input and a MIDI output.
  • the display device 105 is a device that outputs various types of information, and includes, for example, an LCD (Liquid Crystal Display).
  • the processor 101 executes the control program stored in the storage 103 and operates according to the control program, thereby functioning as the estimation unit 12, the prediction unit 13, and the output unit 14.
  • One or both of the memory 102 and the storage 103 provide a function as the storage unit 11.
  • the display device 105 provides a function as the display unit 15.
  • FIG. 4 is a sequence chart illustrating the operation of the timing control device 10.
  • the sequence chart of FIG. 4 is started when the processor 101 starts the control program, for example.
  • step S1 the estimation unit 12 receives an input of a sound signal.
  • the sound signal is an analog signal, for example, it is converted into a digital signal by a DA converter (not shown) provided in the timing control device 10, and the sound signal converted into the digital signal is input to the estimation unit 12. Is done.
  • step S2 the estimation unit 12 analyzes the sound signal and estimates the performance position in the score.
  • the process according to step S2 is performed as follows, for example.
  • the transition of the performance position (music score time series) in the score is described using a probability model.
  • a probabilistic model to describe the musical score time series, problems such as performance errors, omission of repetition in performance, fluctuations in tempo in performance, and uncertainty in pitch or pronunciation time in performance can be addressed. it can.
  • a hidden semi-Markov model HSMM
  • the estimation unit 12 obtains a frequency spectrogram by dividing the sound signal into frames and performing constant Q conversion.
  • the estimation unit 12 extracts the onset time and pitch from this frequency spectrogram. For example, the estimation unit 12 sequentially estimates a distribution of probabilistic estimation values indicating the position of the performance in the score by using Delayed-decision, and when the peak of the distribution passes a position considered as an onset on the score, Output a Laplace approximation and one or more statistics of the distribution. Specifically, when the estimation unit 12 detects a pronunciation corresponding to the nth note existing on the music data, the estimation time T [n] at which the pronunciation is detected and the probabilistic occurrence of the pronunciation in the score. The average position and variance on the score in the distribution indicating the position are output. The average position on the score is the estimated value of the pronunciation position u [n], and the variance is the estimated value of the observation noise q [n]. Details of the estimation of the pronunciation position are described in, for example, JP-A-2015-79183.
  • FIG. 5 is an explanatory diagram illustrating the sound generation position u [n] and the observation noise q [n].
  • the estimation unit 12 calculates probability distributions P [1] to P [4] corresponding to four pronunciations corresponding to the four notes included in the one measure and one-to-one. Then, the estimation unit 12 outputs the sound generation time T [n], the sound generation position u [n], and the observation noise q [n] based on the calculation result.
  • step S ⁇ b> 3 the prediction unit 13 predicts the next pronunciation time by the automatic musical instrument 30 using the estimated value supplied from the estimation unit 12 as an observation value.
  • the prediction unit 13 predicts the next pronunciation time by the automatic musical instrument 30 using the estimated value supplied from the estimation unit 12 as an observation value.
  • step S3 the reception unit 131 receives input of observation values (first observation values) such as the sound generation position uu, the sound generation time T, and the observation noise q supplied from the estimation unit 12 (step S31).
  • the receiving unit 131 stores these observation values in the storage unit 11.
  • the coefficient determining unit 132 determines the value of the coupling coefficient ⁇ used for updating the state variable (step S32). Specifically, the coefficient determination unit 132 refers to the profile information stored in the storage unit 11, acquires the value of the coupling coefficient ⁇ corresponding to the current performance position in the score, and uses the acquired value as the coupling coefficient. Set to ⁇ . This makes it possible to adjust the degree of synchronization between the performance by the player P and the performance by the automatic musical instrument 30 according to the performance position in the score. That is, the timing control device 10 according to the present embodiment causes the automatic musical instrument 30 to perform an automatic performance that follows the performance of the player P in some parts of the music, and in the other parts of the music. It is possible to execute an automatic performance independently of the performance of P.
  • the timing control apparatus 10 can give humanity to the performance by the automatic musical instrument 30.
  • the timing control device 10 when the performance tempo of the player P is clear, the timing control device 10 according to the present embodiment performs the performance of the player P rather than following the performance tempo predetermined by the music data. It is possible to cause the automatic musical instrument 30 to perform automatic performance at a tempo at which the followability to the tempo increases. Further, for example, when the performance tempo of the player P is not clear, the timing control device 10 according to the present embodiment is determined in advance by the music data rather than the followability to the performance tempo of the player P. It is possible to cause the automatic musical instrument 30 to perform automatic performance at a tempo that increases the follow-up performance to the tempo of the performance.
  • step S3 the state variable updating unit 133 updates the state variable using the input observation value (step S33).
  • the state variable updating unit 133 updates the first state variable using the equations (5), (8), and (11), and the equations (9) and (9) 10) to update the second state variable.
  • the state variable updating unit 133 updates the second state variable based on the tracking coefficient (1- ⁇ [n]) as shown in Expression (9).
  • step S3 the state variable update unit 133 outputs the state variable updated in step S33 to the expected time calculation unit 134 (step S34). Specifically, the state variable update unit 133 according to the present embodiment outputs the performance position xa [n] and the speed va [n] updated in step S33 to the expected time calculation unit 134 in step S34. .
  • step S3 the predicted time calculation unit 134 applies the state variable input from the state variable update unit 133 to the equations (6) and (7), and the pronunciation time S at which the (n + 1) th note should be pronounced. [N + 1] is calculated (step S35). Specifically, the predicted time calculation unit 134 calculates the pronunciation time S [n + 1] based on the performance position xa [n] and the speed va [n] input from the state variable update unit 133 in step S35. . Then, the expected time calculation unit 134 outputs the pronunciation time S [n + 1] obtained by the calculation to the output unit 14.
  • the output unit 14 sends a performance command corresponding to the (n + 1) th note to be generated next by the automatic musical instrument 30 to the automatic musical instrument 30.
  • Output step S4.
  • the automatic musical instrument 30 sounds according to the performance command supplied from the timing control device 10 (step S5).
  • the prediction unit 13 determines whether or not the performance has been completed at a predetermined timing. Specifically, the prediction unit 13 determines the end of the performance based on the performance position estimated by the estimation unit 12, for example. When the performance position reaches a predetermined end point, the prediction unit 13 determines that the performance has ended. When the prediction unit 13 determines that the performance has ended, the timing control device 10 ends the processing shown in the sequence chart of FIG. On the other hand, when the prediction unit 13 determines that the performance has not ended, the timing control device 10 and the automatic musical instrument 30 repeatedly execute the processes of steps S1 to S5.
  • step S1 the estimation unit 12 receives an input of a sound signal.
  • step S2 the estimation unit 12 estimates the performance position in the score.
  • step S ⁇ b> 31 the reception unit 131 receives an input of an observation value supplied from the estimation unit 12.
  • step S32 the coefficient determination unit 132 determines the coupling coefficient ⁇ [n].
  • step S ⁇ b> 33 the state variable update unit 133 uses the observation value received by the reception unit 131 and the coupling coefficient ⁇ [n] determined by the coefficient determination unit 132 to calculate each state variable included in the state vector V. Update.
  • step S34 the state variable update unit 133 outputs the state variable updated in step S33 to the predicted time calculation unit 134.
  • the predicted time calculation unit 134 calculates the pronunciation time S [n + 1] using the updated state variable output from the state variable update unit 133.
  • the output unit 14 outputs a performance command to the automatic musical instrument 30 based on the sound generation time S [n + 1].
  • control target apparatus An apparatus that is a target of timing control by the timing control apparatus 10 (hereinafter referred to as “control target apparatus”) is not limited to the automatic musical instrument 30. That is, the “event” for which the prediction unit 13 predicts the timing is not limited to the pronunciation by the automatic musical instrument 30.
  • the control target device may be, for example, a device that generates an image that changes in synchronization with the performance of the player P (for example, a device that generates computer graphics that changes in real time), or the performance of the player P. It may be a display device (for example, a projector or a direct-view display) that changes the image in synchronization with the image. In another example, the device to be controlled may be a robot that performs operations such as dancing in synchronization with the performance of the player P.
  • the performer P may not be a human. That is, a performance sound of another automatic musical instrument different from the automatic musical instrument 30 may be input to the timing control device 10. According to this example, in an ensemble with a plurality of automatic musical instruments, the performance timing of one automatic musical instrument can be made to follow the performance timing of the other automatic musical instrument in real time.
  • the numbers of performers P and automatic musical instruments 30 are not limited to those exemplified in the embodiment.
  • the ensemble system 1 may include two (two) or more of at least one of the player P and the automatic musical instrument 30.
  • the functional configuration of the timing control device 10 is not limited to that illustrated in the embodiment. Some of the functional elements illustrated in FIG. 2 may be omitted.
  • the timing control device 10 may not have the expected time calculation unit 134. In this case, the timing control device 10 may simply output the state variable updated by the state variable update unit 133. In this case, the state variable updated by the state variable update unit 133 is input, and the timing of the next event (for example, the sounding time S [n + 1]) is calculated in a device other than the timing control device 10. You may do. In this case, processing other than the calculation of the timing of the next event (for example, display of an image that visualizes the state variable) may be performed in a device other than the timing control device 10. In yet another example, the timing control device 10 may not have the display unit 15.
  • the coefficient determination unit 132 determines the coupling coefficient ⁇ to a value corresponding to the position of the current performance in the score, but the present invention is not limited to such an aspect. .
  • the coefficient determination unit 132 may determine the value of the coupling coefficient ⁇ to a predetermined default value, a value according to the score analysis result, or a value according to an instruction from the user.
  • FIG. 6 is a flowchart illustrating a method for determining the coupling coefficient ⁇ by the coefficient determination unit 132 according to Modification 5.
  • Each process according to the flowchart is a process executed in the process of step S32 shown in FIG.
  • the coefficient determination unit 132 sets the value of the coupling coefficient ⁇ [n] to a default value (step S321).
  • the storage unit 11 stores a default value of the coupling coefficient ⁇ [n] that does not depend on the music (or the performance position in the score).
  • the coefficient determination unit 132 reads the default value of the coupling coefficient ⁇ [n] stored in the storage unit 11, and sets the read default value as the value of the coupling coefficient ⁇ [n].
  • step S32 the coefficient determination unit 132 analyzes the score and sets a value corresponding to the analysis result as the value of the coupling coefficient ⁇ [n] (step S322). Specifically, in step S322, the coefficient determination unit 132 first analyzes the score, and thereby the ratio of the density of the notes indicating the pronunciation of the player P to the density of the notes indicating the pronunciation of the automatic musical instrument 30 ( Hereinafter, it is referred to as “note density ratio”). Next, the coefficient determination unit 132 sets a value corresponding to the calculated note density ratio as the value of the coupling coefficient ⁇ [n]. In other words, the coefficient determination unit 132 determines the tracking coefficient (1 ⁇ [n]) based on the note density ratio.
  • the coefficient determination unit 132 when the note density ratio is higher than a predetermined threshold, the coefficient determination unit 132 reduces the value of the coupling coefficient ⁇ [n] as compared to the case where the note density ratio is equal to or lower than the predetermined threshold.
  • the value of the coupling coefficient ⁇ [n] is set.
  • the coefficient determination unit 132 compares the value of the tracking coefficient (1 ⁇ [n]) as compared with the case where the note density ratio is equal to or lower than the predetermined threshold.
  • the value of the coupling coefficient ⁇ [n] is set so that becomes larger.
  • the coefficient determination unit 132 when the note density ratio is higher than the predetermined threshold value, the coefficient determination unit 132 performs the performance by the automatic musical instrument 30 on the performance by the performer P as compared to the case where the note density ratio is equal to or lower than the predetermined threshold value.
  • the value of the coupling coefficient ⁇ [n] is set so as to increase the followability.
  • the coefficient determination unit 132 as shown in the following equation (12), based on the density DA n of notes indicating the pronunciation of the automatic performance musical instrument 30, and density DU n note indicating the pronunciation of the player P, the Thus, the value of the coupling coefficient ⁇ [n] may be set.
  • DA n may be the density of the sound produced by the automatic musical instrument 30
  • DU n may be the density of the sound produced by the performer P.
  • step S32 the coefficient determination unit 132 analyzes the score and determines whether or not the performance part of the automatic musical instrument 30 is the main melody (step S323).
  • a known technique is used to determine whether or not the performance part of the automatic musical instrument 30 is the main melody.
  • the coefficient determination unit 132 proceeds with the process to step S324.
  • the coefficient determination unit 132 advances the process to step S325.
  • step S32 the coefficient determination unit 132 updates the value of the coupling coefficient ⁇ [n] to a larger value (step S324).
  • the coefficient determination unit 132 updates the value of the coupling coefficient ⁇ [n] to a value larger than the value indicated by the right side of Expression (12).
  • the coefficient determination unit 132 may calculate the updated coupling coefficient ⁇ [n] by adding a predetermined non-negative addition value to the value indicated by the right side of Expression (12).
  • the coefficient determination unit 132 may calculate the updated coupling coefficient ⁇ [n] by multiplying the value indicated by the right side of the equation (12) by a coefficient larger than 1 determined in advance. Good.
  • the coefficient determining unit 132 may determine the updated coupling coefficient ⁇ [n] so as to be equal to or less than a predetermined upper limit value.
  • step S32 the coefficient determination unit 132 updates the value of the coupling coefficient ⁇ [n] in response to a user instruction during rehearsal or the like (step S325).
  • the storage unit 11 stores instruction information indicating the contents of user instructions during rehearsal or the like.
  • the instruction information includes, for example, information for specifying a performance part that takes the initiative in performance.
  • the information for identifying the performance part that has the performance initiative is, for example, information that identifies whether the performance part that has the performance initiative is the player P or the automatic musical instrument 30.
  • the information specifying the performance part that takes the initiative in performance may be set according to the position of the performance in the score.
  • the instruction information may be information indicating that there is no instruction from the user when there is no instruction from the user in rehearsal or the like.
  • step S325 when the instruction information is information indicating that the player P takes the initiative, the coefficient determination unit 132 updates the value of the coupling coefficient ⁇ [n] to a smaller value. On the other hand, when the instruction information is information indicating that the automatic musical instrument 30 takes the initiative, the coefficient determination unit 132 updates the value of the coupling coefficient ⁇ [n] to a larger value. In addition, when the instruction information is information indicating that there is no instruction from the user, the coefficient determination unit 132 does not update the value of the coupling coefficient ⁇ [n].
  • the user instruction content that can be indicated by the instruction information indicates that the performer P takes the initiative, and the automatic musical instrument 30 indicates the initiative. It is assumed that there are three types of content, that is, content indicating that there is no instruction from the user, but the instruction information is not limited to such an example. There may be more than three types of user instruction contents that can be indicated by the instruction information.
  • the instruction content of the user indicated by the instruction information is information that can indicate a plurality of levels (for example, high initiative, medium, and small) indicating the degree of initiative, The content may specify one level from among the levels.
  • step S32 the coefficient determination unit 132 outputs the value of the coupling coefficient ⁇ [n] determined through the processing in steps S321 to S325 to the state variable update unit 133 (step S326).
  • determination factors for determining the coupling coefficient ⁇ [n] “user instruction (rehearsal result)”, “performance part related to main melody”, “note density ratio”, and The four determination elements “default value” are illustrated.
  • the priority of the four determination factors in determining the coupling coefficient ⁇ [n] is “user instruction”> “performance part related to main melody”> “note density ratio”> “ A case where the priority is “default value” is illustrated.
  • the present invention is not limited to such an embodiment.
  • the coefficient determination unit 132 may use only some of the four determination elements described above.
  • the process of determining the coupling coefficient ⁇ [n] by the coefficient determination unit 132 is at least the process of step S321, the process of step S322, the process of steps S323 and S324 among the processes of steps S321 to S326 shown in FIG.
  • at least one of the processes in step S325 and the process in step S326 may be included.
  • the priority order of the determination elements in determining the coupling coefficient ⁇ [n] is not limited to the example shown in FIG. 6, and may be any priority order.
  • the priority of “performance part related to main melody” may be higher than the priority of “user instruction”
  • the priority of “note density ratio” may be higher than the priority of “user instruction”.
  • the priority of the “note density ratio” may be higher than the priority of the “performance part related to the main melody”.
  • the processes in steps S321 to S326 shown in FIG. 6 may be rearranged appropriately.
  • the state variables are updated using the observation values (the sound generation position u [n] and the observation noise q [n]) at a single time.
  • the state variable may be updated using observation values at a plurality of times.
  • the following equation (13) may be used instead of the equation (5) in the observation model of the dynamic model.
  • the matrix On has a plurality of observed values (in this example, pronunciation positions u [n ⁇ 1], u [n-2],..., U [n ⁇ j]) and a performance position x [ n] and the velocity v [n].
  • the observation value is compared with the case of updating the state variable using observation values at a single time. It is possible to suppress the influence of the sudden noise that occurs on the prediction of the pronunciation time S [n + 1].
  • the state variable is updated using the first observation value.
  • the present invention is not limited to such an aspect, and both the first observation value and the second observation value are obtained. May be used to update state variables.
  • Equation (9) only the pronunciation time T, which is the first observation value, is used as the observation value, whereas in Equation (14), the pronunciation time T, which is the first observation value, is used as the observation value.
  • the sound generation time S which is the second observation value, is used.
  • the following expression (15) is used instead of the expression (8), and instead of the expression (9),
  • the following formula (16) may be used.
  • the pronunciation time Z appearing in the following formulas (15) and (16) is a generic term for the pronunciation time S and the pronunciation time T.
  • both the first observation value and the second observation value may be used in the observation model.
  • the state variable may be updated by using the following equation (18) in addition to the equation (17) that embodies the equation (5) according to the above-described embodiment.
  • the state variable update unit 133 receives the first observation value (sound generation position uu and The sound generation time T) may be received, and the second observation value (the sound generation position ua and the sound generation time S) may be received from the expected time calculation unit 134.
  • the timing (timing) of sound generation by the automatic musical instrument 30 is controlled by the timing control device 10, but the present invention is not limited to such an aspect, and the timing control device 10.
  • the volume of the sound produced by the automatic musical instrument 30 may be controlled. That is, the sounding mode of the automatic musical instrument 30 that is the object of control by the timing control device 10 may be the volume of sounding by the automatic musical instrument 30.
  • the timing control device 10 can adjust the followability of the sound volume in the performance by the automatic musical instrument 30 to the sound volume in the performance by the player P by adjusting the value of the coupling coefficient ⁇ . Good.
  • the timing control device 10 may control both the time (timing) of the sound generation by the automatic musical instrument 30 and the sound volume of the sound generation by the automatic musical instrument 30.
  • the expected time calculation unit 134 calculates the performance position x [t] at a future time t using the equation (6), but the present invention is limited to such an aspect. It is not a thing.
  • the state variable update unit 133 may calculate the performance position x [n + 1] using a dynamic model that updates the state variable.
  • the behavior of the player P detected by the sensor group 20 is not limited to the performance sound.
  • the sensor group 20 may detect the movement of the performer P instead of or in addition to the performance sound.
  • the sensor group 20 includes a camera or a motion sensor.
  • the performance position estimation algorithm in the estimation unit 12 is not limited to the algorithm exemplified in the embodiment.
  • the estimation unit 12 may be applied with any algorithm as long as it can estimate the performance position in the score based on the score given in advance and the sound signal input from the sensor group 20.
  • the observation values input from the estimation unit 12 to the prediction unit 13 are not limited to those exemplified in the embodiment. Any observation value other than the sound generation position u and the sound generation time T may be input to the prediction unit 13 as far as the performance timing is concerned.
  • the dynamic model used in the prediction unit 13 is not limited to that exemplified in the embodiment.
  • the prediction unit 13 updates the state vector Va (second state variable) without using the observation model, but the state vector Va is updated using both the state transition model and the observation model. It may be updated.
  • the prediction unit 13 updates the state vector Vu using the Kalman filter.
  • the prediction unit 13 may update the state vector V using an algorithm other than the Kalman filter.
  • the prediction unit 13 may update the state vector V using a particle filter.
  • the state transition model used in the particle filter may be the above-described Expression (2), Expression (4), Expression (8), or Expression (9), or use a state transition model different from these. May be.
  • observation model used in the particle filter may be the above-described equation (3), equation (5), equation (10), or equation (11), or an observation model different from these may be used.
  • other state variables may be used instead of or in addition to the performance position x and the speed v.
  • the mathematical expressions shown in the embodiments are merely examples, and the present invention is not limited to these.
  • each device constituting the ensemble system 1 is not limited to that exemplified in the embodiment. Any specific hardware configuration may be used as long as the required functions can be realized.
  • the timing control device 10 does not function as the estimation unit 12, the prediction unit 13, and the output unit 14 when the single processor 101 executes the control program.
  • a plurality of processors corresponding to each of the prediction unit 13 and the output unit 14 may be included. Further, a plurality of devices may physically cooperate to function as the timing control device 10 in the ensemble system 1.
  • the control program executed by the processor 101 of the timing control device 10 may be provided by a non-transitory storage medium such as an optical disk, a magnetic disk, or a semiconductor memory, or provided by downloading via a communication line such as the Internet. May be. Also, the control program need not include all the steps of FIG. For example, this program may have only steps S31, S33, and S34.
  • the control method includes a step of receiving a detection result related to a first event in performance, a step of determining a tracking coefficient indicating a degree of tracking of the second event in the performance with respect to the first event, and tracking And determining an operation mode of the second event based on the coefficient. According to this aspect, the degree of tracking of the second event with respect to the first event can be adjusted.
  • the control method includes a step of receiving a first observation value relating to a first event in performance, a step of updating a first state variable relating to the first event using the first observation value, Updating the second state variable relating to the second event in the performance using a multiplication value obtained by multiplying the updated first state variable by the follow-up coefficient. According to this aspect, the degree of tracking of the second event with respect to the first event can be adjusted.
  • the control method according to the third aspect of the present invention is the control method according to the first aspect, wherein in the step of determining the tracking coefficient, the tracking coefficient is determined to a value corresponding to the position of the performance in the music. It is characterized by that. According to this aspect, the degree of follow-up of the second event with respect to the first event can be adjusted according to the performance position in the music.
  • the control method according to the fourth aspect of the present invention is the control method according to the first aspect, wherein in the step of determining the follow-up coefficient, the density of notes related to the first event relative to the density of notes related to the second event.
  • the tracking coefficient is determined to be a value corresponding to the ratio. According to this aspect, the degree of tracking of the second event with respect to the first event can be adjusted according to the ratio of the density of the notes of the first event to the second event.
  • the control method according to the fifth aspect of the present invention is the control method according to the fourth aspect, wherein in the step of determining the follow-up coefficient, if the ratio is larger than a predetermined threshold, the ratio is a predetermined threshold. Compared with the following cases, the follow-up coefficient is increased. According to this aspect, the degree of tracking of the second event with respect to the first event can be adjusted according to the ratio of the density of the notes of the first event to the second event.
  • the control method according to the sixth aspect of the present invention is the control method according to the first aspect, and in the step of determining the follow-up coefficient, when the second event is an event related to the main melody, the second event Compared to the case where is not an event related to the main melody, the following coefficient is made small.
  • the degree of tracking of the second event with respect to the first event can be adjusted according to whether or not the second event is an event related to the main melody.
  • a control method is the control method according to the first aspect, wherein in the step of determining the tracking coefficient, the tracking coefficient is determined to a value according to a user instruction.
  • the degree of follow-up of the second event with respect to the first event can be adjusted in accordance with a user instruction.
  • the control method according to an eighth aspect of the present invention is the control method according to the first to seventh aspects, wherein the first event and the second event are sounding events in performance, and the tracking coefficient is the first event.
  • the degree of follow-up of the sounding timing related to the second event with respect to the sounding timing related to the sound, or the degree of follow-up of the sounding volume related to the second event with respect to the sounding sound volume related to the first event is indicated.
  • the degree of follow-up of the second event with respect to the first event can be adjusted with respect to the sound generation timing or sound generation volume.
  • the control method according to a ninth aspect of the present invention is the control method according to the first or third to seventh aspects, wherein the second event is a sounding event by an automatic musical instrument and is based on the determined operation aspect. And a step of causing the automatic musical instrument to produce a sound. According to this aspect, it is possible to adjust the degree of follow-up of the event of pronunciation by the automatic musical instrument with respect to the first event.
  • a control method according to a tenth aspect of the present invention is characterized in that, in the control method according to the second aspect, there is a step of determining a follow-up coefficient according to the performance position in the music. According to this aspect, the degree of follow-up of the second event with respect to the first event can be adjusted according to the performance position in the music.
  • a control method is the control method according to the second aspect, wherein the tracking coefficient is determined according to a ratio of a note density related to the second event to a note density related to the first event. Having a step. According to this aspect, the degree of tracking of the second event with respect to the first event can be adjusted according to the ratio of the density of the notes of the first event to the second event.
  • ⁇ Twelfth aspect> In the control method according to the twelfth aspect of the present invention, in the control method according to the second aspect, when the second event is an event related to the main melody, the second event is not an event related to the main melody. And the step of determining the tracking coefficient so that the tracking coefficient becomes small. According to this aspect, the degree of tracking of the second event with respect to the first event can be adjusted according to whether or not the second event is an event related to the main melody.
  • a control method according to a thirteenth aspect of the present invention is characterized in that, in the control method according to the second aspect, the step of setting the tracking coefficient to a value according to a user instruction. According to this aspect, the degree of follow-up of the second event with respect to the first event can be adjusted in accordance with a user instruction.
  • a control method is the control method according to the second or tenth to thirteenth aspects, wherein the first event and the second event are sounding events in performance, and the first state variable
  • the second state variable is a variable related to the timing or volume of sound generation in performance. According to this aspect, the degree of follow-up of the second event with respect to the first event can be adjusted with respect to the sound generation timing or sound generation volume.
  • the control method according to the fifteenth aspect of the present invention is the control method according to the second or tenth to fourteenth aspects, wherein the second event is an event of pronunciation by an automatic musical instrument, and the updated second state variable And a step of causing the automatic musical instrument to pronounce at a timing determined based on the above. According to this aspect, it is possible to adjust the degree of follow-up of the event of pronunciation by the automatic musical instrument with respect to the first event.
  • the control device includes a reception unit that receives a detection result related to a first event in a performance, and a coefficient determination unit that determines a tracking coefficient indicating a degree of tracking of the second event in the performance with respect to the first event. And an operation determining unit that determines the operation mode of the second event based on the tracking coefficient. According to this aspect, the degree of tracking of the second event with respect to the first event can be adjusted.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

イベントの動作態様の制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、演奏における第2イベントの第1イベントに対する追従の程度を示す追従係数を決定するステップと、追従係数に基づいて、第2イベントの動作態様を決定するステップと、を有する。

Description

制御方法、及び、制御装置
 本発明は、制御方法、及び、制御装置に関する。
 演奏における発音を示す音信号に基づいて、演奏者による演奏の楽譜上における位置を推定する技術が知られている(例えば、特許文献1参照)。
特開2015-79183号公報
 ところで、演奏者と自動演奏楽器等とが合奏をする合奏システムにおいては、例えば、演奏者による演奏の楽譜上における位置の推定結果に基づいて、自動演奏楽器が次の音を発音するイベントのタイミングを予想する処理が行われる。しかし、このような合奏システムでは、演奏者による演奏と自動演奏楽器による演奏との同期の程度を調整することができなかった。
 本発明は、上述した事情を鑑みてなされたものであり、演奏者による演奏と自動演奏楽器におる演奏との同期の程度を調整可能とする技術の提供を、解決課題の一つとする。
 本発明に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定するステップと、前記追従係数に基づいて、前記第2イベントの動作態様を決定するステップと、を有する、ことを特徴とする。
 また、本発明に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定する係数決定部と、前記追従係数に基づいて、前記第2イベントの動作態様を決定する動作決定部と、を有する、ことを特徴とする。
実施形態に係る合奏システム1の構成の一例を示すブロック図。 タイミング制御装置10の機能構成を例示するブロック図。 タイミング制御装置10のハードウェア構成を例示するブロック図。 タイミング制御装置10の動作を例示するシーケンスチャート。 発音位置u[n]及び観測ノイズq[n]を説明するための説明図。 変形例5に係る結合係数γの決定方法を例示するフローチャート。 タイミング制御装置10の動作を例示するフローチャート。
<1.構成>
 図1は、本実施形態に係る合奏システム1の構成を示すブロック図である。合奏システム1は、人間の演奏者Pと自動演奏楽器30とが合奏を行うためのシステムである。すなわち、合奏システム1においては、演奏者Pの演奏に合わせて自動演奏楽器30が演奏を行う。合奏システム1は、タイミング制御装置10、センサー群20、および、自動演奏楽器30を有する。本実施形態では、演奏者P及び自動演奏楽器30が合奏する楽曲が既知である場合を想定する。すなわち、タイミング制御装置10は、演奏者P及び自動演奏楽器30が合奏する楽曲の楽譜を示す楽曲データを記憶している。
 演奏者Pは楽器を演奏する。センサー群20は、演奏者Pによる演奏に関する情報を検知する。本実施形態において、センサー群20は、例えば、演奏者Pの前に置かれたマイクロフォンを含む。マイクロフォンは、演奏者Pにより演奏される楽器から発せられる演奏音を集音し、集音した演奏音を音信号に変換して出力する。
 タイミング制御装置10は、演奏者Pの演奏に追従して自動演奏楽器30が演奏するタイミングを制御する装置である。タイミング制御装置10は、センサー群20から供給される音信号に基づいて、(1)楽譜における演奏の位置の推定(「演奏位置の推定」と称する場合がある)、(2)自動演奏楽器30による演奏において次の発音がなされるべき時刻(タイミング)の予想(「発音時刻の予想」と称する場合がある)、および、(3)自動演奏楽器30に対する演奏命令の出力(「演奏命令の出力」と称する場合がある)、の3つの処理を行う。ここで、演奏位置の推定とは、演奏者Pおよび自動演奏楽器30による合奏の楽譜上の位置を推定する処理である。発音時刻の予想とは、演奏位置の推定結果を用いて、自動演奏楽器30が次の発音を行うべき時刻を予想する処理である。演奏命令の出力とは、自動演奏楽器30に対する演奏命令を、予想された発音時刻に応じて出力する処理である。なお、演奏における演奏者Pによる発音は「第1イベント」の一例であり、演奏における自動演奏楽器30による発音は「第2イベント」の一例である。以下では、第1イベント及び第2イベントを、「イベント」と総称する場合がある。
 自動演奏楽器30は、タイミング制御装置10により供給される演奏命令に応じて、人間の操作によらず演奏を行うことが可能な楽器であり、一例としては自動演奏ピアノである。
 図2は、タイミング制御装置10の機能構成を例示するブロック図である。タイミング制御装置10は、記憶部11、推定部12、予想部13、出力部14、および表示部15を有する。
 記憶部11は、各種のデータを記憶する。この例で、記憶部11は、楽曲データを記憶する。楽曲データは、少なくとも、楽譜により指定される発音のタイミングおよび音高を示す情報を含んでいる。楽曲データが示す発音のタイミングは、例えば、楽譜において設定された単位時間(一例としては32分音符)を基準として表される。楽曲データは、楽譜により指定される発音のタイミングおよび音高に加え、楽譜により指定される音長、音色、および、音量の少なくとも1つを示す情報を含んでもよい。一例として、楽曲データはMIDI(Musical Instrument Digital Interface)形式のデータである。
 推定部12は、入力された音信号を解析し、楽譜における演奏の位置を推定する。推定部12は、まず、音信号からオンセット時刻(発音開始時刻)および音高に関する情報を抽出する。次に、推定部12は、抽出された情報から、楽譜における演奏の位置を示す確率的な推定値を計算する。推定部12は、計算により得られた推定値を出力する。
 本実施形態において、推定部12が出力する推定値には、発音位置u、観測ノイズq、および、発音時刻Tが含まれる。発音位置uは、演奏者Pまたは自動演奏楽器30による演奏において発音された音の楽譜における位置(例えば、5小節目の2拍目)である。観測ノイズqは、発音位置uの観測ノイズ(確率的な揺らぎ)である。発音位置uおよび観測ノイズqは、例えば、楽譜において設定された単位時間を基準として表される。発音時刻Tは、演奏者Pによる演奏において発音が観測された時刻(時間軸上の位置)である。なお以下の説明では、楽曲の演奏においてn番目に発音された音符に対応する発音位置をu[n]と表す(nは、n≧1を満たす自然数)。他の推定値も同様である。
 予想部13は、推定部12から供給される推定値を観測値として用いることで、自動演奏楽器30による演奏において次の発音がなされるべき時刻の予想(発音時刻の予想)を行う。本実施形態では、予想部13が、いわゆるカルマンフィルタを用いて発音時刻の予想を行う場合を、一例として想定する。
 なお、以下では、本実施形態に係る発音時刻の予想についての説明に先立ち、関連技術に係る発音時刻の予想についての説明を行う。具体的には、関連技術に係る発音時刻の予想として、回帰モデルを用いた発音時刻の予想と、動的モデルを用いた発音時刻の予想と、について説明する。
 まず、関連技術に係る発音時刻の予想のうち、回帰モデルを用いた発音時刻の予想について説明する。
 回帰モデルは、演奏者Pおよび自動演奏楽器30による発音時刻の履歴を用いて次の発音時刻を推定するモデルである。回帰モデルは、例えば次式(1)により表される。
Figure JPOXMLDOC01-appb-M000001
 ここで、発音時刻S[n]は、自動演奏楽器30による発音時刻である。発音位置u[n]は、演奏者Pによる発音位置である。式(1)に示す回帰モデルでは、「j+1」個の観測値を用いて、発音時刻の予想を行う場合を想定する(jは、1≦j<nを満たす自然数)。なお、式(1)に示す回帰モデルに係る説明では、演奏者Pの演奏音と自動演奏楽器30の演奏音とが区別可能である場合を想定する。行列Gおよび行列Hは、回帰係数に相当する行列である。行列Gおよび行列H並びに係数αにおける添え字nは、行列Gおよび行列H並びに係数αがn番目に演奏された音符に対応する要素であることを示す。つまり、式(1)に示す回帰モデルを用いる場合、行列Gおよび行列H並びに係数αを、楽曲の楽譜に含まれる複数の音符と1対1に対応するように設定することができる。換言すれば、行列Gおよび行列H並びに係数αを、楽譜上の位置に応じて設定することができる。このため、式(1)に示す回帰モデルによれば、楽譜上の位置に応じて、発音時刻Sの予想を行うことが可能となる。
 次に、関連技術に係る発音時刻の予想のうち、動的モデルを用いた発音時刻の予想について説明する。
 動的モデルは、一般的には、例えば以下の処理により、動的モデルによる予想の対象となる動的システムの状態を表す状態ベクトルVを更新する。
 具体的には、動的モデルは、第1に、動的システムの経時的な変化を表す理論上のモデルである状態遷移モデルを用いて、変化前の状態ベクトルVから、変化後の状態ベクトルVを予測する。動的モデルは、第2に、状態ベクトルVと、観測値との関係を表す理論上のモデルである観測モデルを用いて、状態遷移モデルによる状態ベクトルVの予測値から、観測値を予測する。動的モデルは、第3に、観測モデルにより予測された観測値と、動的モデルの外部から実際に供給される観測値とに基づいて、観測残差を算出する。動的モデルは、第4に、状態遷移モデルによる状態ベクトルVの予測値を、観測残差を用いて補正することで、更新された状態ベクトルVを算出する。このようにして、動的モデルは、状態ベクトルVを更新する。
 本実施形態では、一例として、状態ベクトルVが、演奏位置xと速度vとを、要素として含むベクトルである場合を想定する。ここで、演奏位置xとは、演奏者Pまたは自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である。また、速度vとは、演奏者Pまたは自動演奏楽器30による演奏の楽譜における速度(テンポ)の推定値を表す状態変数である。但し、状態ベクトルVは、演奏位置x及び速度v以外の状態変数を含むものであってもよい。
 本実施形態では、一例として、状態遷移モデルが、以下の式(2)により表現され、観測モデルが、以下の式(3)により表現される場合を想定する。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 ここで、状態ベクトルV[n]は、n番目に演奏された音符に対応する演奏位置x[n]及び速度v[n]を含む複数の状態変数を要素とするk次元ベクトルである(kは、k≧2を満たす自然数)。プロセスノイズe[n]は、状態遷移モデルを用いた状態遷移に伴うノイズを表すk次元のベクトルである。行列Aは、状態遷移モデルにおける状態ベクトルVの更新に関する係数を示す行列である。行列Oは、観測モデルにおいて、観測値(この例では発音位置u)と状態ベクトルVとの関係を示す行列である。なお、行列や変数等の各種要素に付された添字nは、当該要素がn番目の音符に対応する要素であることを示している。
 式(2)および(3)は、例えば、以下の式(4)および式(5)として具体化することができる。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 式(4)および(5)から演奏位置x[n]および速度v[n]が得られれば、将来の時刻tにおける演奏位置x[t]を次式(6)により得ることができる。
Figure JPOXMLDOC01-appb-M000006
 式(6)による演算結果を、以下の式(7)に適用することで、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算することができる。
Figure JPOXMLDOC01-appb-M000007
 動的モデルは、楽譜上の位置に応じた発音時刻Sの予想が可能であるという利点を有する。また、動的モデルは、原則として事前でのパラメータチューニング(学習)が不要であるという利点を有する。
 ところで、合奏システム1においては、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整したいという要望が存在する場合がある。換言すれば、合奏システム1においては、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を調整したいという要望が存在する場合がある。
 しかし、関連技術に係る回帰モデルにおいて、当該要望に対応するためには、例えば、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を様々に変更する場合に、変更されうる様々な同期の程度の各々について、事前での学習を行うことが必要となる。この場合、事前での学習における処理負荷が増大するという問題がある。
 また、関連技術に係る動的モデルにおいて、当該要望に対応するためには、例えば、同期の程度をプロセスノイズe[n]等により調整することになる。しかし、この場合においても、発音時刻S[n+1]は、発音時刻T[n]等の演奏者Pによる発音に係る観測値に基づいて算出されることになるため、同期の程度を柔軟に調整できないことがある。
 これに対し本実施形態に係る予想部13は、関連技術に係る動的モデルをベースとしつつ、関連技術と比較して、自動演奏楽器30による演奏の演奏者Pによる演奏に対する追従の程度をより柔軟に調整可能な態様により、発音時刻S[n+1]を予想する。以下、本実施形態に係る予想部13における処理の一例について説明する。
 本実施形態に係る予想部13は、演奏者Pによる演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVu」と称する)と、自動演奏楽器30による演奏に関する動的システムの状態を表す状態ベクトル(「状態ベクトルVa」と称する)と、を更新する。ここで、状態ベクトルVuは、演奏者Pによる演奏の楽譜における推定位置を表す状態変数である演奏位置xuと、演奏者Pによる演奏の楽譜における速度の推定値を表す状態変数である速度vuと、を要素として含むベクトルである。また、状態ベクトルVaは、自動演奏楽器30による演奏の楽譜における位置の推定値を表す状態変数である演奏位置xaと、自動演奏楽器30による演奏の楽譜における速度の推定値を表す状態変数である速度vaと、を要素として含むベクトルである。なお、以下では、状態ベクトルVuに含まれる状態変数(演奏位置xu及び速度vu)を、「第1状態変数」と総称し、状態ベクトルVaに含まれる状態変数(演奏位置xa及び速度va)を、「第2状態変数」と総称する。
 本実施形態に係る予想部13は、一例として、以下の式(8)~式(11)に示す状態遷移モデルを用いて、第1状態変数及び第2状態変数を更新する。このうち、第1状態変数は、状態遷移モデルにおいて、以下の式(8)及び式(11)により更新される。これら、式(8)及び式(11)は、式(4)を具体化した式である。また、第2状態変数は、状態遷移モデルにおいて、上述した式(4)の代わりに、以下の式(9)及び式(10)により更新される。
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
 ここで、プロセスノイズexu[n]は、状態遷移モデルにより演奏位置xu[n]を更新する場合に生じるノイズであり、プロセスノイズexa[n]は、状態遷移モデルにより演奏位置xa[n]を更新する場合に生じるノイズであり、プロセスノイズeva[n]は、状態遷移モデルにより速度va[n]を更新する場合に生じるノイズであり、プロセスノイズevu[n]は、状態遷移モデルにより速度vu[n]を更新する場合に生じるノイズである。また、結合係数γ[n]は、0≦γ[n]≦1を満たす実数である。なお、式(9)において、第1状態変数である演奏位置xuに乗算される値「1-γ[n]」は、「追従係数」の一例である。
 本実施形態に係る予想部13は、式(8)及び式(11)に示すように、第1状態変数である演奏位置xu[n-1]及び速度vu[n-1]を用いて、第1状態変数である演奏位置xu[n]及び速度vu[n]を予測する。他方、本実施形態に係る予想部13は、式(9)及び式(10)に示すように、第1状態変数である演奏位置xu[n-1]及び速度vu[n-1]と、第2状態変数である演奏位置xa[n-1]及び速度va[n-1]との、一方または両方を用いて、第2状態変数である演奏位置xa[n]及び速度va[n]を予測する。
 また、本実施形態に係る予想部13は、第1状態変数である演奏位置xu[n]及び速度vu[n]の更新において、式(8)及び式(11)に示す状態遷移モデルと、式(5)に示す観測モデルとを用いる。他方、本実施形態に係る予想部13は、第2状態変数である演奏位置xa[n]及び速度va[n]の更新において、式(9)及び式(10)に示す状態遷移モデルを用いるが、観測モデルを用いない。
 式(9)に示すように、本実施形態に係る予想部13は、第1状態変数(例えば、演奏位置xu[n-1])に追従係数(1-γ[n])を乗算した値と、第2状態変数(例えば、演奏位置xa[n-1])に結合係数γ[n]を乗算した値と、に基づいて、第2状態変数である演奏位置xa[n]を予測する。このため、本実施形態に係る予想部13は、結合係数γ[n]の値を調整することにより、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を調整することができる。換言すれば、本実施形態に係る予想部13は、結合係数γ[n]の値を調整することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。なお、追従係数(1-γ[n])を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くすることができる。換言すれば、結合係数γ[n]を大きい値に設定する場合、小さい値に設定する場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を低くすることができる。
 以上において説明したように、本実施形態によれば、結合係数γという単一の係数の値を変更することにより、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することができる。換言すれば、本実施形態によれば、追従係数(1-γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様(「第2イベントの動作態様」の一例)を調整することができる。
 予想部13は、受付部131、係数決定部132、状態変数更新部133、および、予想時刻計算部134を有する。
 受付部131は、演奏のタイミングに関する観測値の入力を受け付ける。本実施形態において、演奏のタイミングに関する観測値には、演奏者Pによる演奏タイミングに関する第1観測値が含まれる。但し、演奏のタイミングに関する観測値には、第1観測値に加え、自動演奏楽器30による演奏タイミングに関する第2観測値が含まれていてもよい。ここで、第1観測値とは、演奏者Pによる演奏に関する発音位置u(以下、「発音位置uu」と称する)、および、発音時刻Tの総称である。また、第2観測値とは、自動演奏楽器30による演奏に関する発音位置u(以下、「発音位置ua」と称する)、および、発音時刻Sの総称である。受付部131は、演奏のタイミングに関する観測値に加え、演奏のタイミングに関する観測値に付随する観測値の入力を受け付ける。本実施形態において、付随する観測値は、演奏者Pの演奏に関する観測ノイズqである。受付部131は、受け付けた観測値を記憶部11に記憶させる。
 係数決定部132は、結合係数γの値を決定する。結合係数γの値は、例えば、楽譜における演奏の位置に応じてあらかじめ設定される。本実施形態に係る記憶部11は、例えば、楽譜における演奏の位置と、当該演奏の位置に対応する結合係数γの値と、を対応付けたプロファイル情報を記憶している。そして、係数決定部132は、記憶部11に記憶されたプロファイル情報を参照し、楽譜における演奏の位置に対応する結合係数γの値を取得する。そして、係数決定部132は、プロファイル情報から取得した値を、結合係数γの値として設定する。
 なお、係数決定部132は、結合係数γの値を、例えば、タイミング制御装置10の操作者(「ユーザ」の一例)による指示に応じた値に決定してもよい。この場合、タイミング制御装置10は、操作者からの指示を示す操作を受け付けるためのUI(User Interface)を有する。このUIは、ソフトウェア的なUI(ソフトウェアにより表示された画面を介したUI)であってもよいし、ハードウェア的なUI(フェーダー等)であってもよい。なお一般的には操作者は演奏者Pとは別人であるが、演奏者Pが操作者であってもよい。
 状態変数更新部133は、状態変数(第1状態変数及び第2状態変数)を更新する。具体的には、本実施形態に係る状態変数更新部133は、上述した式(5)および式(8)~式(11)を用いて、状態変数を更新する。より具体的には、本実施形態に係る状態変数更新部133は、式(5)、式(8)、及び、式(11)を用いて、第1状態変数を更新し、式(9)及び式(10)を用いて、第2状態変数を更新する。そして、状態変数更新部133は、更新された状態変数を出力する。
 なお、上述した説明からも明らかなように、状態変数更新部133は、係数決定部132により決定された値を有する結合係数γに基づいて、第2状態変数を更新する。換言すれば、状態変数更新部133は、追従係数(1-γ[n])に基づいて、第2状態変数を更新する。これにより、本実施形態に係るタイミング制御装置10は、追従係数(1-γ[n])に基づいて、演奏における自動演奏楽器30による発音の態様を調整する。
 予想時刻計算部134は、更新された状態変数を用いて、自動演奏楽器30による次の発音の時刻である発音時刻S[n+1]を計算する。
 具体的には、予想時刻計算部134は、まず、式(6)に対して、状態変数更新部133により更新された状態変数を適用することで、将来の時刻tにおける演奏位置x[n]を計算する。より具体的には、予想時刻計算部134は、式(6)に対して、状態変数更新部133により更新された演奏位置xa[n]及び速度va[n]を適用することで、将来の時刻tにおける演奏位置x[n+1]を計算する。次に、予想時刻計算部134は、式(7)を用いて、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する。
 なお、予想時刻計算部134は、式(6)に対して、状態変数更新部133により更新された演奏位置xu[n]及び速度vu[n]を適用することで、将来の時刻tにおける演奏位置x[n]を計算してもよい。
 出力部14は、予想部13から入力された発音時刻S[n+1]に応じて、自動演奏楽器30が次に発音すべき音符に対応する演奏命令を自動演奏楽器30に対して出力する。タイミング制御装置10は内部クロック(図示略)を有しており、時刻を計測している。演奏命令は所定のデータ形式に従って記述されている。所定のデータ形式とは例えばMIDIである。演奏命令は、例えば、ノートオンメッセージ、ノート番号、およびベロシティを含む。
 表示部15は、演奏位置の推定結果に関する情報と、自動演奏楽器30による次の発音時刻の予想結果に関する情報と、を表示する。演奏位置の推定結果に関する情報は、例えば、楽譜、入力された音信号の周波数スペクトログラム、および、演奏位置の推定値の確率分布のうち少なくとも1つを含む。次の発音時刻の予想結果に関する情報は、例えば、状態変数を含む。表示部15が演奏位置の推定結果に関する情報と次の発音時刻の予想結果に関する情報とを表示することにより、タイミング制御装置10の操作者(ユーザ)が合奏システム1の動作状態を把握することができる。
 図3は、タイミング制御装置10のハードウェア構成を例示する図である。タイミング制御装置10は、プロセッサ101、メモリ102、ストレージ103、入出力IF104、および表示装置105を有するコンピュータ装置である。
 プロセッサ101は、例えば、CPU(Central Processing Unit)であり、タイミング制御装置10の各部を制御する。なお、プロセッサ101は、CPUの代わりに、または、CPUに加えて、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等の、プログラマブルロジックデバイスを含んで構成されるものであってもよい。また、プロセッサ101は、複数のCPU(または、複数のプログラマブルロジックデバイス)を含むものであってもよい。メモリ102は、非一過性の記録媒体であり、例えば、RAM(Random Access Memory)等の揮発性メモリである。メモリ102は、プロセッサ101が後述する制御プログラムを実行する際のワークエリアとして機能する。ストレージ103は、非一過性の記録媒体であり、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性メモリである。ストレージ103は、タイミング制御装置10を制御するための制御プログラム等の各種プログラム、および、各種データを記憶する。入出力IF104は、他の装置との間で信号の入力または出力を行うためのインターフェースである。入出力IF104は、例えば、マイクロフォン入力およびMIDI出力を含む。表示装置105は、各種の情報を出力する装置であり、例えばLCD(Liquid Crystal Display)を含む。
 プロセッサ101は、ストレージ103に記憶された制御プログラムを実行し、当該制御プログラムに従って動作することで、推定部12、予想部13、及び、出力部14として機能する。メモリ102およびストレージ103の一方または双方は、記憶部11としての機能を提供する。表示装置105は、表示部15としての機能を提供する。
<2.動作>
 図4は、タイミング制御装置10の動作を例示するシーケンスチャートである。図4のシーケンスチャートは、例えば、プロセッサ101が制御プログラムを起動したことを契機として開始される。
 ステップS1において、推定部12は、音信号の入力を受け付ける。なお、音信号がアナログ信号である場合、例えば、タイミング制御装置10に設けられたDA変換器(図示略)によりデジタル信号に変換され、当該デジタル信号に変換された音信号が推定部12に入力される。
 ステップS2において、推定部12は、音信号を解析して、楽譜における演奏の位置を推定する。ステップS2に係る処理は、例えば以下のとおり行われる。本実施形態において、楽譜における演奏位置の遷移(楽譜時系列)は確率モデルを用いて記述される。楽譜時系列の記述に確率モデルを用いることにより、演奏の誤り、演奏における繰り返しの省略、演奏におけるテンポの揺らぎ、および、演奏における音高または発音時刻の不確実性等の問題に対処することができる。楽譜時系列を記述する確率モデルとしては、例えば、隠れセミマルコフモデル(Hidden Semi-Markov Model、HSMM)が用いられる。推定部12は、例えば、音信号をフレームに分割して定Q変換を施すことにより周波数スペクトログラムを得る。推定部12は、この周波数スペクトログラムから、オンセット時刻および音高を抽出する。推定部12は、例えば、楽譜における演奏の位置を示す確率的な推定値の分布をDelayed-decisionで逐次推定し、当該分布のピークが楽譜上でオンセットとみなされる位置を通過した時点で、当該分布のラプラス近似および1または複数の統計量を出力する。具体的には、推定部12は、楽曲データ上に存在するn番目の音符に対応する発音を検知すると、当該発音が検知された発音時刻T[n]と、楽譜における当該発音の確率的な位置を示す分布における楽譜上の平均位置および分散と、を出力する。楽譜上の平均位置が発音位置u[n]の推定値であり、分散が観測ノイズq[n]の推定値である。なお、発音位置の推定の詳細は、例えば特開2015-79183号公報に記載されている。
 図5は、発音位置u[n]及び観測ノイズq[n]を例示する説明図である。図5に示す例では、楽譜上の1小節に、4つの音符が含まれている場合を例示している。推定部12は、当該1小節に含まれる4つの音符に応じた4つの発音と1対1に対応する確率分布P[1]~P[4]を計算する。そして、推定部12は、当該計算結果に基づいて、発音時刻T[n]、発音位置u[n]、および、観測ノイズq[n]を出力する。
 再び図4を参照する。ステップS3において、予想部13は、推定部12から供給される推定値を観測値として用いて、自動演奏楽器30による次の発音時刻の予想を行う。以下、ステップS3における処理の詳細の一例について説明する。
 ステップS3において、受付部131は、推定部12から供給される発音位置uu、発音時刻T、及び、観測ノイズq等の観測値(第1観測値)の入力を受け付ける(ステップS31)。受付部131は、これらの観測値を記憶部11に記憶させる。
 ステップS3において、係数決定部132は、状態変数の更新に用いられる結合係数γの値を決定する(ステップS32)。具体的には、係数決定部132は、記憶部11に記憶されているプロファイル情報を参照し、楽譜における現在の演奏の位置に対応する結合係数γの値を取得し、取得した値を結合係数γに設定する。これにより、楽譜における演奏の位置に応じて、演奏者Pによる演奏と自動演奏楽器30による演奏との同期の程度を調整することが可能となる。すなわち、本実施形態に係るタイミング制御装置10は、自動演奏楽器30に対して、楽曲のある部分では演奏者Pの演奏に追従した自動演奏を実行させ、また、楽曲の他の部分では演奏者Pの演奏によらず主体的な自動演奏を実行させたりすることが可能である。これにより、本実施形態に係るタイミング制御装置10は、自動演奏楽器30による演奏に人間らしさを与えることができる。例えば、本実施形態に係るタイミング制御装置10は、演奏者Pの演奏のテンポがはっきりしている場合には、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性よりも、演奏者Pの演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器30に対して自動演奏を実行させることができる。また、例えば、本実施形態に係るタイミング制御装置10は、演奏者Pの演奏のテンポがはっきりしていない場合には、演奏者Pの演奏のテンポに対する追従性よりも、楽曲データによりあらかじめ定められた演奏のテンポに対する追従性が高くなるようなテンポで、自動演奏楽器30に対して自動演奏を実行させることができる。
 ステップS3において、状態変数更新部133は、入力された観測値を用いて状態変数を更新する(ステップS33)。上述のとおり、ステップS33において、状態変数更新部133は、式(5)、式(8)、及び、式(11)を用いて、第1状態変数を更新し、式(9)及び式(10)を用いて、第2状態変数を更新する。また、ステップS33において、状態変数更新部133は、式(9)に示したとおり、追従係数(1-γ[n])に基づいて、第2状態変数を更新する。
 ステップS3において、状態変数更新部133は、ステップS33で更新した状態変数を、予想時刻計算部134に対して出力する(ステップS34)。具体的には、本実施形態に係る状態変数更新部133は、ステップS34において、ステップS33で更新した演奏位置xa[n]及び速度va[n]を、予想時刻計算部134に対して出力する。
 ステップS3において、予想時刻計算部134は、状態変数更新部133から入力された状態変数を、式(6)及び式(7)に適用し、(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する(ステップS35)。具体的には、予想時刻計算部134は、ステップS35において、状態変数更新部133から入力された演奏位置xa[n]及び速度va[n]に基づいて、発音時刻S[n+1]を計算する。そして、予想時刻計算部134は、計算により得られた発音時刻S[n+1]を、出力部14に対して出力する。
 予想部13から入力された発音時刻S[n+1]が到来すると、出力部14は、自動演奏楽器30が次に発音すべき(n+1)番目の音符に対応する演奏命令を、自動演奏楽器30に出力する(ステップS4)。なお、実際には、出力部14および自動演奏楽器30における処理の遅延を考慮して、予想部13により予想された発音時刻S[n+1]よりも早い時刻に演奏命令を出力する必要があるが、ここではその説明を省略する。自動演奏楽器30は、タイミング制御装置10から供給された演奏命令に従って発音する(ステップS5)。
 あらかじめ決められたタイミングで、予想部13は、演奏が終了したか判断する。具体的には、予想部13は、演奏の終了を、例えば、推定部12により推定された演奏位置に基づいて判断する。演奏位置が所定の終点に達した場合、予想部13は、演奏が終了したと判断する。予想部13が、演奏が終了したと判断した場合、タイミング制御装置10は、図4のシーケンスチャートに示される処理を終了する。一方、予想部13が、演奏が終了していないと判断した場合、タイミング制御装置10及び自動演奏楽器30は、ステップS1~S5の処理を繰り返し実行する。
 なお、図4のシーケンスチャートに示されるタイミング制御装置10の動作は、図7のフローチャートとしても表現することができる。すなわち、ステップS1において、推定部12は、音信号の入力を受け付ける。ステップS2において、推定部12は、楽譜における演奏の位置を推定する。ステップS31において、受付部131は、推定部12から供給される観測値の入力を受け付ける。ステップS32において、係数決定部132は、結合係数γ[n]を決定する。ステップS33において、状態変数更新部133は、受付部131が受け付けた観測値と、係数決定部132により決定された結合係数γ[n]と、を用いて、状態ベクトルVの有する各状態変数を更新する。ステップS34において、状態変数更新部133は、ステップS33において更新した状態変数を、予想時刻計算部134に対して出力する。ステップS35において、予想時刻計算部134は、状態変数更新部133から出力された更新後の状態変数を用いて、発音時刻S[n+1]を計算する。ステップS4において、出力部14は、発音時刻S[n+1]に基づいて、演奏命令を自動演奏楽器30に対して出力する。
<3.変形例>
 本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち2つ以上のものが組み合わせて用いられてもよい。
<3-1.変形例1>
 タイミング制御装置10によるタイミングの制御の対象となる装置(以下「制御対象装置」という)は、自動演奏楽器30に限定されない。すなわち、予想部13がタイミングを予想する「イベント」は、自動演奏楽器30による発音に限定されない。制御対象装置は、例えば、演奏者Pの演奏と同期して変化する映像を生成する装置(例えば、リアルタイムで変化するコンピュータグラフィックスを生成する装置)であってもよいし、演奏者Pの演奏と同期して映像を変化させる表示装置(例えば、プロジェクターまたは直視のディスプレイ)であってもよい。別の例で、制御対象装置は、演奏者Pの演奏と同期してダンス等の動作を行うロボットであってもよい。
<3-2.変形例2>
 演奏者Pは人間ではなくてもよい。すなわち、自動演奏楽器30とは異なる他の自動演奏楽器の演奏音をタイミング制御装置10に入力してもよい。この例によれば、複数の自動演奏楽器による合奏において、一方の自動演奏楽器の演奏タイミングを、他方の自動演奏楽器の演奏タイミングにリアルタイムで追従させることができる。
<3-3.変形例3>
 演奏者Pおよび自動演奏楽器30の数は実施形態で例示したものに限定されない。合奏システム1は、演奏者Pおよび自動演奏楽器30の少なくとも一方を2人(2台)以上、含んでいてもよい。
<3-4.変形例4>
 タイミング制御装置10の機能構成は実施形態で例示したものに限定されない。図2に例示した機能要素の一部は省略されてもよい。例えば、タイミング制御装置10は、予想時刻計算部134を有さなくてもよい。この場合、タイミング制御装置10は、状態変数更新部133により更新された状態変数を単に出力するだけでもよい。この場合において、状態変数更新部133により更新された状態変数が入力される装置であって、タイミング制御装置10以外の装置において、次のイベントのタイミング(例えば、発音時刻S[n+1])を計算をしてもよい。また、この場合、タイミング制御装置10以外の装置において、次のイベントのタイミングの計算以外の処理(例えば、状態変数を可視化した画像の表示)を行ってもよい。さらに別の例で、タイミング制御装置10は、表示部15を有さなくてもよい。
<3-5.変形例5>
 上述した実施形態及び変形例において、係数決定部132は、結合係数γを、楽譜における現在の演奏の位置に対応する値に決定したが、本発明はこのような態様に限定されるものではない。係数決定部132は、例えば、結合係数γの値を、予め定められたデフォルト値、楽譜の解析結果に応じた値、または、ユーザからの指示に応じた値、に決定してもよい。
 図6は、変形例5に係る係数決定部132による結合係数γの決定方法を例示するフローチャートである。当該フローチャートに係る各処理は、図4に示すステップS32の処理の中で実行される処理である。
 図6に示すように、ステップS32において、係数決定部132は、結合係数γ[n]の値をデフォルト値に設定する(ステップS321)。
 本変形例において、記憶部11には、楽曲(または楽譜における演奏の位置)によらない結合係数γ[n]のデフォルト値が記憶されている。係数決定部132は、ステップS321において、記憶部11に記憶された結合係数γ[n]のデフォルト値を読み出し、当該読み出されたデフォルト値を結合係数γ[n]の値として設定する。
 ステップS32において、係数決定部132は、楽譜を解析し、当該解析の結果に応じた値を、結合係数γ[n]の値として設定する(ステップS322)。
 具体的には、ステップS322において、係数決定部132は、まず、楽譜を解析することで、自動演奏楽器30の発音を示す音符の密度に対する、演奏者Pの発音を示す音符の密度の比率(以下、「音符密度比」と称する)を算出する。係数決定部132は、次に、算出した音符密度比に応じた値を、結合係数γ[n]の値として設定する。換言すれば、係数決定部132は、音符密度比に基づいて、追従係数(1-γ[n])を決定する。
 例えば、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、結合係数γ[n]の値が小さくなるように、結合係数γ[n]の値を設定する。換言すれば、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、追従係数(1-γ[n])の値が大きくなるように、結合係数γ[n]の値を設定する。すなわち、係数決定部132は、音符密度比が所定の閾値よりも高い場合、音符密度比が所定の閾値以下である場合と比較して、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従性を高くするように、結合係数γ[n]の値を設定する。
 一例として、係数決定部132は、次式(12)に示すように、自動演奏楽器30の発音を示す音符の密度DAと、演奏者Pの発音を示す音符の密度DUと、に基づいて、結合係数γ[n]の値を設定してもよい。なお、式(12)において、DAを、自動演奏楽器30により発音された音の密度とし、DUを演奏者Pにより発音された音の密度としてもよい。
Figure JPOXMLDOC01-appb-M000012
 ステップS32において、係数決定部132は、楽譜を解析し、自動演奏楽器30の演奏パートが主旋律であるか否かを判断する(ステップS323)。自動演奏楽器30の演奏パートが主旋律であるか否かの判断には、周知の技術が用いられる。
 自動演奏楽器30の演奏パートが主旋律であると判断された場合(S323:YES)、係数決定部132は、処理をステップS324に進める。他方、自動演奏楽器30の演奏パートが主旋律でないと判断された場合(S323:NO)、係数決定部132は、処理をステップS325に進める。
 ステップS32において、係数決定部132は、結合係数γ[n]の値をより大きな値に更新する(ステップS324)。
 例えば、係数決定部132は、ステップS324において、結合係数γ[n]の値を、式(12)の右辺が示す値よりも大きな値に更新する。例えば、係数決定部132は、式(12)の右辺が示す値に、あらかじめ決められた非負の加算値を加算することにより、更新後の結合係数γ[n]を算出してもよい。また、例えば、係数決定部132は、式(12)の右辺が示す値に、あらかじめ決められた1よりも大きい係数を乗算することにより、更新後の結合係数γ[n]を算出してもよい。なお、係数決定部132は、更新後の結合係数γ[n]を、所定の上限値以下となるように決定してもよい。
 ステップS32において、係数決定部132は、リハーサル等におけるユーザの指示に応じて、結合係数γ[n]の値を更新する(ステップS325)。
 本変形例において、記憶部11には、リハーサル等におけるユーザの指示の内容を示す指示情報が記憶されている。指示情報は、例えば、演奏の主導権を握る演奏パートを特定する情報を含む。演奏の主導権を握る演奏パートを特定する情報とは、例えば、演奏の主導権を握る演奏パートが、演奏者Pまたは自動演奏楽器30の何れであるかを特定する情報である。なお、演奏の主導権を握る演奏パートを特定する情報は、楽譜における演奏の位置に応じて設定されてもよい。また、指示情報は、リハーサル等におけるユーザの指示が無い場合には、ユーザからの指示が無い旨を示す情報であってもよい。
 ステップS325において、係数決定部132は、指示情報が、演奏者Pが主導権を握ることを示す情報である場合、結合係数γ[n]の値をより小さな値に更新する。他方、係数決定部132は、指示情報が、自動演奏楽器30が主導権を握ることを示す情報である場合、結合係数γ[n]の値をより大きな値に更新する。また、係数決定部132は、指示情報が、ユーザからの指示が無い旨を示す情報である場合、結合係数γ[n]の値を更新しない。
 このように、図6の例では、指示情報により示すことが可能なユーザの指示内容が、演奏者Pが主導権を握ることを指示する内容、自動演奏楽器30が主導権を握ることを指示する内容、及び、ユーザからの指示が無い旨を示す内容、の3種類の内容である場合を想定しているが、指示情報はこのような例に限定されない。指示情報により示すことが可能なユーザの指示内容は、3種類よりも多くてもよい。例えば、指示情報により示されるユーザの指示内容は、主導権の程度を示す複数のレベル(一例としては、主導権大、中、および、小)を示すことが可能な情報であって、当該複数のレベルの中から、一のレベルを指定する内容であってもよい。
 ステップS32において、係数決定部132は、ステップS321~S325の処理を経て決定された結合係数γ[n]の値を、状態変数更新部133に出力する(ステップS326)。
 なお、図6に示す例では、結合係数γ[n]を決定するための判断要素として、「ユーザの指示(リハーサル結果)」、「主旋律に係る演奏パート」、「音符密度比」、及び、「デフォルト値」、という4つの判断要素を例示した。また、図6に示す例では、当該4つの判断要素の、結合係数γ[n]の決定における優先順位が、「ユーザの指示」>「主旋律に係る演奏パート」>「音符密度比」>「デフォルト値」、という優先順位である場合を例示した。
 但し、本発明はこのような態様に限定されるものではない。係数決定部132は、結合係数γ[n]を決定する場合に、上述した4つの判断要素の一部のみを使用してもよい。すなわち、係数決定部132が結合係数γ[n]を決定する処理は、図6に示すステップS321~S326の処理のうち、少なくとも、ステップS321の処理、ステップS322の処理、ステップS323及びS324の処理、並びに、ステップS325の処理うち、少なくとも1つの処理と、ステップS326の処理と、を含めばよい。
 また、結合係数γ[n]の決定における判断要素の優先順位は、図6に示す例に限定されるものではなく、任意の優先順位としてもよい。例えば、「主旋律に係る演奏パート」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「ユーザの指示」の優先順位よりも高くしてもよいし、「音符密度比」の優先順位を「主旋律に係る演奏パート」の優先順位よりも高くしてもよい。換言すれば、図6に示すステップS321~S326の処理は、適宜に並べ替えてもよい。
<3-6.変形例6>
 上述した実施形態に係る動的モデルでは、単一の時刻における観測値(発音位置u[n]及び観測ノイズq[n])を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、複数の時刻における観測値を用いて状態変数を更新してもよい。具体的には、例えば、動的モデルのうち観測モデルにおいて、式(5)に代えて次式(13)が用いられてもよい。
Figure JPOXMLDOC01-appb-M000013
 ここで、行列Onは、観測モデルにおいて、複数の観測値(この例では発音位置u[n-1],u[n-2],…,u[n-j])と、演奏位置x[n]及び速度v[n]との、関係を示す行列である。本変形例のように、複数の時刻における複数の観測値を用いて状態変数を更新することにより、単一の時刻における観測値を用いて状態変数を更新する場合と比較して、観測値に生じる突発的なノイズの、発音時刻S[n+1]の予想に対する影響を抑制することができる。
<3-7.変形例7>
 上述した実施形態及び変形例では、第1観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第1観測値及び第2観測値の両方を用いて状態変数を更新してもよい。
 例えば、状態遷移モデルによる演奏位置xa[n]の更新において、式(9)に代えて、以下の式(14)を用いてもよい。なお、式(9)では、観測値として、第1観測値である発音時刻Tのみを利用するのに対して、式(14)では、観測値として、第1観測値である発音時刻Tと、第2観測値である発音時刻Sと、を利用する。
Figure JPOXMLDOC01-appb-M000014
 また、例えば、状態遷移モデルによる演奏位置xu[n]及び演奏位置xa[n]の更新において、式(8)に代えて、以下の式(15)を用い、式(9)に代えて、以下の式(16)を用いてもよい。ここで、以下の式(15)及び式(16)に登場する発音時刻Zとは、発音時刻S及び発音時刻Tの総称である。
Figure JPOXMLDOC01-appb-M000015
 また、本変形例のように、状態遷移モデルにおいて、第1観測値及び第2観測値の両方を用いる場合、観測モデルにおいても、第1観測値及び第2観測値の両方を用いてもよい。具体的には、観測モデルにおいて、上述した実施形態に係る式(5)を具体化した式(17)に加え、以下の式(18)を用いることで、状態変数を更新してもよい。
Figure JPOXMLDOC01-appb-M000016
 なお、本変形例のように、第1観測値及び第2観測値の両方を用いて状態変数を更新する場合、状態変数更新部133は、受付部131から第1観測値(発音位置uu及び発音時刻T)を受け付け、予想時刻計算部134から第2観測値(発音位置ua及び発音時刻S)を受け付けてもよい。
<3-8.変形例8>
 上述した実施形態及び変形例では、タイミング制御装置10により、自動演奏楽器30による発音の時刻(タイミング)を制御したが、本発明はこのような態様に限定されるものではなく、タイミング制御装置10により、自動演奏楽器30による発音の音量を制御してもよい。すなわち、タイミング制御装置10による制御の対象である、自動演奏楽器30による発音の態様は、自動演奏楽器30による発音の音量であってもよい。換言すれば、タイミング制御装置10は、結合係数γの値を調整することにより、自動演奏楽器30による演奏における発音の音量の、演奏者Pによる演奏における発音の音量に対する追従性を調整してもよい。
 更に、タイミング制御装置10は、自動演奏楽器30による発音の時刻(タイミング)と、自動演奏楽器30による発音の音量との、双方を制御してもよい。
<3-9.変形例9>
 上述した実施形態及び変形例では、予想時刻計算部134が式(6)を用いて、将来の時刻tにおける演奏位置x[t]を計算するが、本発明はこのような態様に限定されるものではない。例えば、状態変数更新部133が、状態変数を更新する動的モデルを用いて、演奏位置x[n+1]を算出してもよい。
<3-10.変形例10>
 センサー群20により検知される演奏者Pの挙動は、演奏音に限定されない。センサー群20は、演奏音に代えて、または加えて、演奏者Pの動きを検知してもよい。この場合、センサー群20は、カメラまたはモーションセンサーを有する。
<3-11.他の変形例>
 推定部12における演奏位置の推定のアルゴリズムは実施形態で例示したものに限定されない。推定部12は、あらかじめ与えられた楽譜、および、センサー群20から入力される音信号に基づいて、楽譜における演奏の位置を推定できるものであれば、どのようなアルゴリズムが適用されてもよい。また、推定部12から予想部13に入力される観測値は、実施形態で例示したものに限定されない。演奏のタイミングに関するものであれば、発音位置uおよび発音時刻T以外のどのような観測値が予想部13に入力されてもよい。
 予想部13において用いられる動的モデルは、実施形態で例示したものに限定されない。上述した実施形態及び変形例において、予想部13は、状態ベクトルVa(第2状態変数)を、観測モデルを用いることなく更新したが、状態遷移モデル及び観測モデルの両方を用いて状態ベクトルVaを更新してもよい。
 また、上述した実施形態及び変形例において、予想部13は、カルマンフィルタを用いて状態ベクトルVuを更新したが、カルマンフィルタ以外のアルゴリズムを用いて状態ベクトルVを更新してもよい。例えば、予想部13は、粒子フィルタを用いて状態ベクトルVを更新してもよい。この場合、粒子フィルタにおいて利用される状態遷移モデルは、上述した式(2)、式(4)、式(8)、または、式(9)でもよいし、これらとは異なる状態遷移モデルを利用してもよい。また、粒子フィルタにおいて用いられる観測モデルは、上述した式(3)、式(5)、式(10)、または、式(11)でもよいし、これらとは異なる観測モデルを利用してもよい。
 また、演奏位置xおよび速度vに代えて、または加えて、これら以外の状態変数が用いられてもよい。実施形態で示した数式はあくまで例示であり、本願発明はこれに限定されるものではない。
 合奏システム1を構成する各装置のハードウェア構成は実施形態で例示したものに限定されない。要求される機能を実現できるものであれば、具体的なハードウェア構成はどのようなものであってもよい。例えば、タイミング制御装置10は、単一のプロセッサ101が制御プログラムを実行することにより推定部12、予想部13、および、出力部14として機能するのではなく、タイミング制御装置10は、推定部12、予想部13、および、出力部14のそれぞれに対応する複数のプロセッサを有してもよい。また、物理的に複数の装置が協働して、合奏システム1におけるタイミング制御装置10として機能してもよい。
 タイミング制御装置10のプロセッサ101により実行される制御プログラムは、光ディスク、磁気ディスク、半導体メモリなどの非一過性の記憶媒体により提供されてもよいし、インターネット等の通信回線を介したダウンロードにより提供されてもよい。また、制御プログラムは、図4のすべてのステップを備える必要はない。例えば、このプログラムは、ステップS31、S33、およびS34のみ有してもよい。
<本発明の好適な態様>
 上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
<第1の態様>
 本発明の第1の態様に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、演奏における第2イベントの第1イベントに対する追従の程度を示す追従係数を決定するステップと、追従係数に基づいて、第2イベントの動作態様を決定するステップと、を有する、ことを特徴とする。
 この態様によれば、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第2の態様>
 本発明の第2の態様に係る制御方法は、演奏における第1イベントに関する第1観測値を受け付けるステップと、第1観測値を用いて、第1イベントに関する第1状態変数を更新するステップと、更新された第1状態変数に追従係数を乗算した乗算値を用いて、演奏における第2イベントに関する第2状態変数を更新するステップと、を有する、ことを特徴とする。
 この態様によれば、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第3の態様>
 本発明の第3の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、追従係数を、楽曲における演奏の位置に応じた値に決定する、ことを特徴とする。
 この態様によれば、楽曲における演奏の位置に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第4の態様>
 本発明の第4の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、第2イベントに係る音符の密度に対する第1イベントに係る音符の密度の比率に応じた値に、追従係数を決定する、ことを特徴とする。
 この態様によれば、第2イベントに対する第1イベントの音符の密度の比率に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第5の態様>
 本発明の第5の態様に係る制御方法は、第4の態様に係る制御方法であって、追従係数を決定するステップにおいて、比率が所定の閾値よりも大きい場合には、比率が所定の閾値以下である場合と比較して、追従係数を大きくする、ことを特徴とする。
 この態様によれば、第2イベントに対する第1イベントの音符の密度の比率に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第6の態様>
 本発明の第6の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、第2イベントが主旋律に係るイベントである場合には、第2イベントが主旋律に係るイベントでない場合と比較して、追従係数を小さくする、ことを特徴とする。
 この態様によれば、第2イベントが主旋律に係るイベントであるか否かに応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第7の態様>
 本発明の第7の態様に係る制御方法は、第1の態様に係る制御方法であって、追従係数を決定するステップにおいて、追従係数を、ユーザの指示に応じた値に決定する、ことを特徴とする。
 この態様によれば、ユーザの指示に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第8の態様>
 本発明の第8の態様に係る制御方法は、第1乃至第7の態様に係る制御方法において、第1イベント及び第2イベントは、演奏における発音のイベントであり、追従係数は、第1イベントに係る発音のタイミングに対する第2イベントに係る発音のタイミングの追従の程度、または、第1イベントに係る発音の音量に対する第2イベントに係る発音の音量の追従の程度を示す、ことを特徴とする。
 この態様によれば、発音のタイミングまたは発音の音量に関して、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第9の態様>
 本発明の第9の態様に係る制御方法は、第1または第3乃至第7の態様に係る制御方法において、第2イベントは自動演奏楽器による発音のイベントであり、決定された動作態様に基づいて、自動演奏楽器に発音させるステップを有する、ことを特徴とする。
 この態様によれば、自動演奏楽器による発音のイベントの第1イベントに対する追従の程度を調整することができる。
<第10の態様>
 本発明の第10の態様に係る制御方法は、第2の態様に係る制御方法において、楽曲における演奏の位置に応じて、追従係数を定めるステップを有する、ことを特徴とする。
 この態様によれば、楽曲における演奏の位置に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第11の態様>
 本発明の第11の態様に係る制御方法は、第2の態様に係る制御方法において、第1イベントに係る音符の密度に対する第2イベントに係る音符の密度の比率に応じて、追従係数を定めるステップを有する、ことを特徴とする。
 この態様によれば、第2イベントに対する第1イベントの音符の密度の比率に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第12の態様>
 本発明の第12の態様に係る制御方法は、第2の態様に係る制御方法において、第2イベントが主旋律に係るイベントである場合には、第2イベントが主旋律に係るイベントでない場合と比較して、追従係数が小さくなるように追従係数を定めるステップを有する、ことを特徴とする。
 この態様によれば、第2イベントが主旋律に係るイベントであるか否かに応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第13の態様>
 本発明の第13の態様に係る制御方法は、第2の態様に係る制御方法において、追従係数を、ユーザの指示に応じた値に設定するステップを有する、ことを特徴とする。
 この態様によれば、ユーザの指示に応じて、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第14の態様>
 本発明の第14の態様に係る制御方法は、第2または第10乃至第13の態様に係る制御方法において、第1イベント及び第2イベントは、演奏における発音のイベントであり、第1状態変数及び第2状態変数は、演奏における発音のタイミングまたは音量に関する変数である、ことを特徴とする。
 この態様によれば、発音のタイミングまたは発音の音量に関して、第2イベントの第1イベントに対する追従の程度を調整することができる。
<第15の態様>
 本発明の第15の態様に係る制御方法は、第2または第10乃至第14の態様に係る制御方法において、第2イベントは自動演奏楽器による発音のイベントであり、更新された第2状態変数に基づいて定められるタイミングで自動演奏楽器に発音させるステップを有する、ことを特徴とする。
 この態様によれば、自動演奏楽器による発音のイベントの第1イベントに対する追従の程度を調整することができる。
<第16の態様>
 本発明の第16の態様に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、演奏における第2イベントの第1イベントに対する追従の程度を示す追従係数を決定する係数決定部と、追従係数に基づいて、第2イベントの動作態様を決定する動作決定部と、を有することを特徴とする。
 この態様によれば、第2イベントの第1イベントに対する追従の程度を調整することができる。
1…合奏システム、10…タイミング制御装置、11…記憶部、12…推定部、13…予想部、14…出力部、15…表示部、20…センサー群、30…自動演奏楽器、101…プロセッサ、102…メモリ、103…ストレージ、104…入出力IF、105…表示装置、131…受付部、132…係数決定部、133…状態変数更新部、134…予想時刻計算部
 

Claims (10)

  1.  演奏における第1イベントに関する検出結果を受け付けるステップと、
     前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定するステップと、
     前記追従係数に基づいて、前記第2イベントの動作態様を決定するステップと、
     を有する、
     ことを特徴とする制御方法。
  2.  演奏における第1イベントに関する第1観測値を受け付けるステップと、
     前記第1観測値を用いて、前記第1イベントに関する第1状態変数を更新するステップと、
     前記更新された第1状態変数に追従係数を乗算した乗算値を用いて、前記演奏における第2イベントに関する第2状態変数を更新するステップと、
     を有する、
     ことを特徴とする制御方法。
  3.  前記追従係数を決定するステップにおいて、
     前記追従係数を、楽曲における前記演奏の位置に応じた値に決定する、
     ことを特徴とする請求項1に記載の制御方法。
  4.  前記追従係数を決定するステップにおいて、
     前記第2イベントに係る音符の密度に対する前記第1イベントに係る音符の密度の比率に応じた値に、前記追従係数を決定する、
     ことを特徴とする請求項1に記載の制御方法。
  5.  前記追従係数を決定するステップにおいて、
     前記比率が所定の閾値よりも大きい場合には、
     前記比率が所定の閾値以下である場合と比較して、
     前記追従係数を大きくする、
     ことを特徴とする請求項4に記載の制御方法。
  6.  前記追従係数を決定するステップにおいて、
     前記第2イベントが主旋律に係るイベントである場合には、
     前記第2イベントが主旋律に係るイベントでない場合と比較して、
     前記追従係数を小さくする、
     ことを特徴とする請求項1に記載の制御方法。
  7.  前記追従係数を決定するステップにおいて、
     前記追従係数を、ユーザの指示に応じた値に決定する、
     ことを特徴とする請求項1に記載の制御方法。
  8.  前記第1イベント及び前記第2イベントは、前記演奏における発音のイベントであり、
     前記追従係数は、
     前記第1イベントに係る発音のタイミングに対する前記第2イベントに係る発音のタイミングの追従の程度、または、
     前記第1イベントに係る発音の音量に対する前記第2イベントに係る発音の音量の追従の程度を示す、
     ことを特徴とする請求項1乃至7に記載の制御方法。
  9.  前記第2イベントは自動演奏楽器による発音のイベントであり、
     前記決定された動作態様に基づいて、前記自動演奏楽器に発音させるステップを有する、
     ことを特徴とする請求項1または請求項3乃至7に記載の制御方法。
  10.  演奏における第1イベントに関する検出結果を受け付ける受付部と、
     前記演奏における第2イベントの前記第1イベントに対する追従の程度を示す追従係数を決定する係数決定部と、
     前記追従係数に基づいて、前記第2イベントの動作態様を決定する動作決定部と、
     を有する制御装置。
     
PCT/JP2017/026525 2016-07-22 2017-07-21 制御方法、及び、制御装置 WO2018016637A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018528901A JP6729699B2 (ja) 2016-07-22 2017-07-21 制御方法、及び、制御装置
CN201780044768.0A CN109478398B (zh) 2016-07-22 2017-07-21 控制方法以及控制装置
EP17831153.6A EP3489944A4 (en) 2016-07-22 2017-07-21 CONTROL METHOD AND CONTROL DEVICE
US16/247,717 US10665216B2 (en) 2016-07-22 2019-01-15 Control method and controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-144349 2016-07-22
JP2016144349 2016-07-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/247,717 Continuation US10665216B2 (en) 2016-07-22 2019-01-15 Control method and controller

Publications (1)

Publication Number Publication Date
WO2018016637A1 true WO2018016637A1 (ja) 2018-01-25

Family

ID=60992633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/026525 WO2018016637A1 (ja) 2016-07-22 2017-07-21 制御方法、及び、制御装置

Country Status (5)

Country Link
US (1) US10665216B2 (ja)
EP (1) EP3489944A4 (ja)
JP (1) JP6729699B2 (ja)
CN (1) CN109478398B (ja)
WO (1) WO2018016637A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019181735A1 (ja) * 2018-03-23 2019-09-26 ヤマハ株式会社 演奏解析方法および演奏解析装置
WO2021187395A1 (ja) * 2020-03-17 2021-09-23 ヤマハ株式会社 パラメータ推論方法、パラメータ推論システム、及びパラメータ推論プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6631714B2 (ja) * 2016-07-22 2020-01-15 ヤマハ株式会社 タイミング制御方法、及び、タイミング制御装置
WO2018016636A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 タイミング予想方法、及び、タイミング予想装置
JP6642714B2 (ja) * 2016-07-22 2020-02-12 ヤマハ株式会社 制御方法、及び、制御装置
JP2022075147A (ja) * 2020-11-06 2022-05-18 ヤマハ株式会社 音響処理システム、音響処理方法およびプログラム
CN112669798B (zh) * 2020-12-15 2021-08-03 深圳芒果未来教育科技有限公司 一种对音乐信号主动跟随的伴奏方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527752A (ja) * 1991-04-05 1993-02-05 Yamaha Corp 自動演奏装置
JP2007241181A (ja) * 2006-03-13 2007-09-20 Univ Of Tokyo 自動伴奏システム及び楽譜追跡システム
JP2011180590A (ja) * 2010-03-02 2011-09-15 Honda Motor Co Ltd 楽譜位置推定装置、楽譜位置推定方法、及び楽譜位置推定プログラム
JP2015079183A (ja) * 2013-10-18 2015-04-23 ヤマハ株式会社 スコアアライメント装置及びスコアアライメントプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5521323A (en) * 1993-05-21 1996-05-28 Coda Music Technologies, Inc. Real-time performance score matching
US5641927A (en) * 1995-04-18 1997-06-24 Texas Instruments Incorporated Autokeying for musical accompaniment playing apparatus
JP3567527B2 (ja) * 1995-04-19 2004-09-22 ヤマハ株式会社 鍵盤楽器
US7297856B2 (en) * 1996-07-10 2007-11-20 Sitrick David H System and methodology for coordinating musical communication and display
EP0999538A4 (en) * 1998-02-09 2000-05-10 Sony Corp METHOD AND DEVICE FOR DIGITAL SIGNAL PROCESSING, METHOD AND DEVICE FOR GENERATING CONTROL DATA AND MEDIUM FOR RECORDING PROGRAMS
WO2000054249A1 (fr) * 1999-03-08 2000-09-14 Faith, Inc. Dispositif de reproduction de donnees, procede de reproduction de donnees et terminal d'informations
JP4334096B2 (ja) * 1999-12-24 2009-09-16 ローランド株式会社 電子楽器の演奏位置検索装置
DE10164686B4 (de) * 2001-01-13 2007-05-31 Native Instruments Software Synthesis Gmbh Automatische Erkennung und Anpassung von Tempo und Phase von Musikstücken und darauf aufbauender interaktiver Musik-Abspieler
US7897865B2 (en) * 2002-01-15 2011-03-01 Yamaha Corporation Multimedia platform for recording and/or reproducing music synchronously with visual images
JP3835324B2 (ja) * 2002-03-25 2006-10-18 ヤマハ株式会社 楽曲再生装置
JP3720004B2 (ja) * 2002-07-22 2005-11-24 ヤマハ株式会社 音楽制御装置
US7863513B2 (en) * 2002-08-22 2011-01-04 Yamaha Corporation Synchronous playback system for reproducing music in good ensemble and recorder and player for the ensemble
JP6191459B2 (ja) * 2012-06-26 2017-09-06 ヤマハ株式会社 オーディオ波形データを使用する自動演奏技術
US9251773B2 (en) * 2013-07-13 2016-02-02 Apple Inc. System and method for determining an accent pattern for a musical performance
JP6296221B2 (ja) 2013-08-12 2018-03-20 ヤマハ株式会社 音響信号のアライメント装置、アライメント方法及びコンピュータプログラム
JP6281211B2 (ja) 2013-08-28 2018-02-21 ヤマハ株式会社 音響信号のアライメント装置、アライメント方法及びコンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527752A (ja) * 1991-04-05 1993-02-05 Yamaha Corp 自動演奏装置
JP2007241181A (ja) * 2006-03-13 2007-09-20 Univ Of Tokyo 自動伴奏システム及び楽譜追跡システム
JP2011180590A (ja) * 2010-03-02 2011-09-15 Honda Motor Co Ltd 楽譜位置推定装置、楽譜位置推定方法、及び楽譜位置推定プログラム
JP2015079183A (ja) * 2013-10-18 2015-04-23 ヤマハ株式会社 スコアアライメント装置及びスコアアライメントプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3489944A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019181735A1 (ja) * 2018-03-23 2019-09-26 ヤマハ株式会社 演奏解析方法および演奏解析装置
JP2019168599A (ja) * 2018-03-23 2019-10-03 ヤマハ株式会社 演奏解析方法および演奏解析装置
US20210005173A1 (en) * 2018-03-23 2021-01-07 Yamaha Corporation Musical performance analysis method and musical performance analysis apparatus
JP7243026B2 (ja) 2018-03-23 2023-03-22 ヤマハ株式会社 演奏解析方法、演奏解析装置およびプログラム
US11869465B2 (en) 2018-03-23 2024-01-09 Yamaha Corporation Musical performance analysis method and musical performance analysis apparatus
WO2021187395A1 (ja) * 2020-03-17 2021-09-23 ヤマハ株式会社 パラメータ推論方法、パラメータ推論システム、及びパラメータ推論プログラム

Also Published As

Publication number Publication date
CN109478398A (zh) 2019-03-15
EP3489944A4 (en) 2020-04-08
JPWO2018016637A1 (ja) 2019-01-24
US10665216B2 (en) 2020-05-26
CN109478398B (zh) 2023-12-26
EP3489944A1 (en) 2019-05-29
JP6729699B2 (ja) 2020-07-22
US20190147837A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
JP6729699B2 (ja) 制御方法、及び、制御装置
WO2018016638A1 (ja) 制御方法、及び、制御装置
JP6597903B2 (ja) 楽曲データ処理方法およびプログラム
JP6614356B2 (ja) 演奏解析方法、自動演奏方法および自動演奏システム
WO2018016639A1 (ja) タイミング制御方法、及び、タイミング制御装置
US10699685B2 (en) Timing prediction method and timing prediction device
JP7448053B2 (ja) 学習装置、自動採譜装置、学習方法、自動採譜方法及びプログラム
JP6690181B2 (ja) 楽音評価装置及び評価基準生成装置
JP6175812B2 (ja) 楽音情報処理装置及びプログラム
Wyse Real-valued parametric conditioning of an RNN for interactive sound synthesis
JP5514965B2 (ja) 弦楽器のバーチャルチューニング
CN110959172B (zh) 演奏解析方法、演奏解析装置以及存储介质
JP2018146782A (ja) タイミング制御方法
JP6838357B2 (ja) 音響解析方法および音響解析装置
Canazza et al. Expressive Director: A system for the real-time control of music performance synthesis
WO2023170757A1 (ja) 再生制御方法、情報処理方法、再生制御システムおよびプログラム
WO2022190403A1 (ja) 信号処理システム、信号処理方法およびプログラム
CN113412513A (zh) 音信号合成方法、生成模型的训练方法、音信号合成系统及程序
JP2005308992A (ja) 学習支援システム
JPH06222763A (ja) 電子楽器

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018528901

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17831153

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017831153

Country of ref document: EP

Effective date: 20190222