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

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

Info

Publication number
WO2018016638A1
WO2018016638A1 PCT/JP2017/026526 JP2017026526W WO2018016638A1 WO 2018016638 A1 WO2018016638 A1 WO 2018016638A1 JP 2017026526 W JP2017026526 W JP 2017026526W WO 2018016638 A1 WO2018016638 A1 WO 2018016638A1
Authority
WO
WIPO (PCT)
Prior art keywords
performance
unit
value
musical instrument
time
Prior art date
Application number
PCT/JP2017/026526
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 JP2018528902A priority Critical patent/JP6642714B2/ja
Publication of WO2018016638A1 publication Critical patent/WO2018016638A1/ja
Priority to US16/252,293 priority patent/US10636399B2/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
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G1/00Means for the representation of music
    • 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
    • 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
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • 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
    • 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/071Musical 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 rhythm pattern analysis or rhythm style recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/375Tempo or beat alterations; Music timing control
    • G10H2210/391Automatic tempo adjustment, correction or control
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/325Synchronizing two or more audio tracks or files according to musical features or musical timings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/005Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
    • G10H2250/015Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition

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-mentioned circumstances, and it is one of the problems to be solved to provide a technique for changing the degree of synchronization between a performance by a player and a performance on an automatic musical instrument during the performance. To do.
  • the control method includes a step of accepting a detection result related to a first event in a performance, a step of changing the degree of tracking of the second event in the performance with respect to the first event, and the tracking. And determining the operation mode of the second event based on the degree of
  • control device includes a receiving unit that receives a detection result related to the first event in the performance, and a changing unit that changes the degree of tracking of the second event in the performance with respect to the first event during the performance. And an operation determining unit that determines an operation mode of the second event based on the degree of tracking.
  • 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 change 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 changing unit 132 can change the value of the coupling coefficient ⁇ during the performance of the music.
  • 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.
  • the coefficient changing 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 changing unit 132 sets the acquired value as the value of the coupling coefficient ⁇ .
  • the coefficient changing unit 132 may determine the value of the coupling coefficient ⁇ to, for example, a value according to an instruction from an operator of the timing control device 10 (an example of “user”).
  • 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 coefficient changing unit 132 sets the value of the coupling coefficient ⁇ to a value corresponding to the performance position in the music. That is, the coefficient changing unit 132 according to the present embodiment can change the value of the coupling coefficient ⁇ during the performance of the music.
  • the degree of follow-up of the performance by the performer P with respect to the performance by the performer P can be changed in the middle of the music, and humanity can be given to the performance by the automatic performance instrument 30.
  • 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 Expression (6), thereby performing the performance position x [t] 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. Next, 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.
  • 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, it is possible to deal with problems such as performance errors, omission of repetition in performance, fluctuation of tempo in performance, and uncertainty in pitch or pronunciation time in performance. 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.
  • step S3 the coefficient changing unit 132 determines the value of the coupling coefficient ⁇ used for updating the state variable (step S32). Specifically, the coefficient changing 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 ⁇ .
  • the degree of synchronization between the performance by the player P and the performance by the automatic musical instrument 30 can be adjusted according to the position of the performance in the score. That is, the timing control apparatus 10 according to the present embodiment causes the automatic musical instrument 30 to perform an automatic performance following the performance of the player P in some parts of the music, and the player P in other parts of the music.
  • 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 Equation (6) and Equation (7), and the automatic musical instrument 30 generates the (n + 1) th note.
  • the sound generation time S [n + 1] to be calculated 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 changing unit 132 determines the coupling coefficient ⁇ [n].
  • step S ⁇ b> 33 the state variable updating unit 133 uses the observation value received by the receiving unit 131 and the coupling coefficient ⁇ [n] determined by the coefficient changing 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 of determining the coupling coefficient ⁇ by the coefficient changing unit 132 according to the fifth modification.
  • Each process according to the flowchart is a process executed in the process of step S32 shown in FIG.
  • the coefficient changing 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 changing 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]. Note that a default value may be individually determined according to each performance position in the score.
  • step S32 the coefficient changing 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 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 change 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 changing 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 changing unit 132 advances the process to step S324.
  • the coefficient changing unit 132 advances the process to step S325.
  • step S32 the coefficient changing 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 changing 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). Further, for example, the coefficient changing unit 132 may calculate the updated coupling coefficient ⁇ [n] by multiplying the value indicated by the right side of Expression (12) by a predetermined coefficient larger than 1. Good.
  • the coefficient changing unit 132 may determine the updated coupling coefficient ⁇ [n] to be equal to or less than a predetermined upper limit value.
  • step S32 the coefficient changing 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 changing unit 132 outputs the value of the coupling coefficient ⁇ [n] determined through the processing in steps S321 to S325 to the state variable updating 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 prediction unit 13 predicts the pronunciation time S [n + 1] based on the update result of the state variable using the dynamic model, but the present invention is limited to such an aspect. Instead, the pronunciation time S [n + 1] may be predicted using a regression model. In this case, the prediction unit 13 may predict the sound generation time S [n + 1] by the following equation (14), for example.
  • 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 (15), 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 (16) is used instead of the expression (8), and instead of the expression (9),
  • the following formula (17) may be used.
  • the pronunciation time Z appearing in the following equations (16) and (17) 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 (19) in addition to the equation (18) 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 coefficient changing unit 132 sets the coupling coefficient ⁇ [n] according to a value according to a performance position in a score, a value according to a score analysis result, or according to a user instruction.
  • the value of the coupling coefficient ⁇ [n] was freely changed during the performance of the music piece by setting the value to be, etc., the present invention is not limited to such an aspect, A predetermined limit may be provided for the change of the coefficient ⁇ [n].
  • the coefficient changing unit 132 has the restriction that the absolute value of the amount of change from the coupling coefficient ⁇ [n ⁇ 1] to the coupling coefficient ⁇ [n] is less than or equal to a predetermined amount of change.
  • the coefficient changing unit 132 may set the value of the coupling coefficient ⁇ [n] so that the coupling coefficient ⁇ [n] gradually changes as the performance position in the score changes.
  • the tempo of the performance of the automatic musical instrument 30 can be gradually adjusted to the performance tempo of the player P after the change.
  • the coefficient changing unit 132 changes the value of the coupling coefficient ⁇ [n] during the performance of the music, the time length from the start time of the change to the end time of the change is a predetermined length.
  • the value of the coupling coefficient ⁇ [n] may be set so as to be longer than the time length. Even in this case, the coefficient changing unit 132 can gradually match the tempo of the performance by the automatic musical instrument 30 with the tempo of the performance by the player P after the change.
  • 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 player P such as a dance instead of or in addition to the performance sound.
  • the sensor group 20 includes a camera or a motion sensor.
  • the sensor group 20 may detect a behavior related to an object other than a human such as a robot instead of the behavior of the player P.
  • 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 a score given in advance and a 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 by the single processor 101 executing the control program, but the estimation unit 12, the prediction unit 13, and A plurality of processors corresponding to each of the output units 14 may be provided. 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 relating to the first event in the performance, a step of changing the degree of tracking of the second event in the performance with respect to the first event, during the performance, And determining the operation mode of the second event based on the degree of tracking. According to this aspect, the followability of the second event in the performance with respect to the first event in the performance can be changed during the performance.
  • the control method according to the second aspect of the present invention is the control method according to the first aspect, and in the step of changing the degree of following, the change in the degree of following from the time at which the change in the degree of following is started.
  • the time length until the time of ending is longer than a predetermined time length.
  • the control method according to the third aspect of the present invention is the control method according to the first or second aspect, wherein in the step of changing the degree of following, the degree of following is determined according to the position of the performance in the music. It is characterized by changing. According to this aspect, the followability of the second event in the performance with respect to the first event in the performance can be changed according to the position of the performance in the music.
  • a control method is the control method according to the first to third aspects, and in the step of changing the degree of following, the degree of following is changed according to a user instruction. It is characterized by that. According to this aspect, the followability of the second event in the performance with respect to the first event in the performance can be changed according to a user instruction.
  • the control device includes a receiving unit that receives a detection result related to the first event in the performance, and a changing unit that changes the degree of tracking of the second event in the performance with respect to the first event during the performance. And an operation determining unit that determines the operation mode of the second event based on the degree of tracking. According to this aspect, the followability of the second event in the performance with respect to the first event in the performance can be changed during the performance.

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が操作者であってもよい。
 以上において説明したように、本実施形態に係る係数変化部132は、結合係数γの値を、楽曲における演奏の位置に応じた値に設定する。すなわち、本実施形態に係る係数変化部132は、結合係数γの値を、楽曲の演奏の途中で変化させることができる。これにより、本実施形態では、自動演奏楽器30による演奏の、演奏者Pによる演奏に対する追従の程度を楽曲の途中で変化させ、自動演奏楽器30による演奏に対して人間らしさを与えることができる。
 状態変数更新部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[t]を計算する。より具体的には、予想時刻計算部134は、式(6)に対して、状態変数更新部133により更新された演奏位置xa[n]及び速度va[n]を適用することで、将来の時刻tにおける演奏位置x[n+1]を計算する。次に、予想時刻計算部134は、式(7)を用いて、自動演奏楽器30が(n+1)番目の音符を発音すべき発音時刻S[n+1]を計算する。
 出力部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)に適用し、自動演奏楽器30が(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]の予想に対する影響を抑制することができる。
 また、上述した実施形態及び変形例において、予想部13は、動的モデルを用いた状態変数の更新結果に基づいて発音時刻S[n+1]を予想したが、本発明はこのような態様に限定されるものではなく、回帰モデルを用いて発音時刻S[n+1]を予想してもよい。この場合、予想部13は、例えば、次式(14)により発音時刻S[n+1]を予想してもよい。
Figure JPOXMLDOC01-appb-M000014
<3-7.変形例7>
 上述した実施形態及び変形例では、第1観測値を用いて状態変数を更新したが、本発明はこのような態様に限定されるものではなく、第1観測値及び第2観測値の両方を用いて状態変数を更新してもよい。
 例えば、状態遷移モデルによる演奏位置xa[n]の更新において、式(9)に代えて、以下の式(15)を用いてもよい。なお、式(9)では、観測値として、第1観測値である発音時刻Tのみを利用するのに対して、式(15)では、観測値として、第1観測値である発音時刻Tと、第2観測値である発音時刻Sと、を利用する。
Figure JPOXMLDOC01-appb-M000015
 また、例えば、状態遷移モデルによる演奏位置xu[n]及び演奏位置xa[n]の更新において、式(8)に代えて、以下の式(16)を用い、式(9)に代えて、以下の式(17)を用いてもよい。ここで、以下の式(16)及び式(17)に登場する発音時刻Zとは、発音時刻S及び発音時刻Tの総称である。
Figure JPOXMLDOC01-appb-M000016
 また、本変形例のように、状態遷移モデルにおいて、第1観測値及び第2観測値の両方を用いる場合、観測モデルにおいても、第1観測値及び第2観測値の両方を用いてもよい。具体的には、観測モデルにおいて、上述した実施形態に係る式(5)を具体化した式(18)に加え、以下の式(19)を用いることで、状態変数を更新してもよい。
Figure JPOXMLDOC01-appb-M000017
 なお、本変形例のように、第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>
 上述した実施形態及び変形例に係る係数変化部132は、結合係数γ[n]を、楽譜における演奏の位置に応じた値、楽譜の解析結果に応じた値、または、ユーザの指示に応じた値等、となるように設定することで、結合係数γ[n]の値を楽曲の演奏の途中で自由に変化させたが、本発明はこのような態様に限定されるものではなく、結合係数γ[n]の変化には所定の制限が設けられてもよい。
 例えば、係数変化部132は、結合係数γ[n-1]から結合係数γ[n]への変化量の絶対値が、所定の変化量以下であるという制限の下で、結合係数γ[n]の値を設定してもよい。換言すれば、係数変化部132は、楽譜における演奏の位置の変化に伴い、結合係数γ[n]が徐々に変化するように、結合係数γ[n]の値を設定してもよい。この場合、演奏者Pによる演奏のテンポに変化が生じたときに、自動演奏楽器30による演奏のテンポを、変化後の演奏者Pによる演奏のテンポに、徐々に合わせることが可能となる。
 また、例えば、係数変化部132は、楽曲の演奏の途中で結合係数γ[n]の値を変化させる場合に、当該変化の開始時刻から、当該変化の終了時刻までの時間長が、所定の時間長よりも長くなるように、結合係数γ[n]の値を設定してもよい。この場合においても、係数変化部132は、自動演奏楽器30による演奏のテンポを、変化後の演奏者Pによる演奏のテンポに、徐々に合わせることができる。
<3-11.変形例11>
 センサー群20により検知される演奏者Pの挙動は、演奏音に限定されない。センサー群20は、演奏音に代えて、または加えて、ダンス等、演奏者Pの動きを検知してもよい。この場合、センサー群20は、カメラまたはモーションセンサーを有する。また、センサー群20は、演奏者Pの挙動に代えて、ロボット等の人間以外の対象に関する挙動を検知してもよい。
<3-12.他の変形例>
 推定部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として機能するのではなく、推定部12、予想部13、および、出力部14のそれぞれに対応する複数のプロセッサを有してもよい。また、物理的に複数の装置が協働して、合奏システム1におけるタイミング制御装置10として機能してもよい。
 タイミング制御装置10のプロセッサ101により実行される制御プログラムは、光ディスク、磁気ディスク、半導体メモリなどの非一過性の記憶媒体により提供されてもよいし、インターネット等の通信回線を介したダウンロードにより提供されてもよい。また、制御プログラムは、図4のすべてのステップを備える必要はない。例えば、このプログラムは、ステップS31、S33、およびS34のみ有してもよい。
<本発明の好適な態様>
 上述した実施形態及び変形例の記載より把握される本発明の好適な態様を以下に例示する。
<第1の態様>
 本発明の第1の態様に係る制御方法は、演奏における第1イベントに関する検出結果を受け付けるステップと、演奏における第2イベントの第1イベントに対する追従の程度を、演奏の途中で変化させるステップと、追従の程度に基づいて、第2イベントの動作態様を決定するステップと、を有することを特徴とする。
 この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で変化させることができる。
<第2の態様>
 本発明の第2の態様に係る制御方法は、第1の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度の変化を開始させる時刻から、追従の程度の変化を終了させる時刻までの時間長は、所定の時間長よりも長い、ことを特徴とする。
 この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で徐々に変化させることができる。
<第3の態様>
 本発明の第3の態様に係る制御方法は、第1または第2の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度を、楽曲における演奏の位置に応じて変化させる、ことを特徴とする。
 この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、楽曲における演奏の位置に応じて変化させることができる。
<第4の態様>
 本発明の第4の態様に係る制御方法は、第1乃至第3の態様に係る制御方法であって、追従の程度を変化させるステップにおいて、追従の程度を、ユーザの指示に応じて変化させる、ことを特徴とする。
 この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、ユーザの指示に応じて変化させることができる。
<第5の態様>
 本発明の第5の態様に係る制御装置は、演奏における第1イベントに関する検出結果を受け付ける受付部と、演奏における第2イベントの第1イベントに対する追従の程度を、演奏の途中で変化させる変化部と、追従の程度に基づいて、第2イベントの動作態様を決定する動作決定部と、を有することを特徴とする。
 この態様によれば、演奏における第1のイベントに対する、演奏における第2のイベントの追従性を、演奏の途中で変化させることができる。
1…合奏システム、10…タイミング制御装置、11…記憶部、12…推定部、13…予想部、14…出力部、15…表示部、20…センサー群、30…自動演奏楽器、101…プロセッサ、102…メモリ、103…ストレージ、104…入出力IF、105…表示装置、131…受付部、132…係数変化部、133…状態変数更新部、134…予想時刻計算部

Claims (5)

  1.  演奏における第1イベントに関する検出結果を受け付けるステップと、
     前記演奏における第2イベントの前記第1イベントに対する追従の程度を、前記演奏の途中で変化させるステップと、
     前記追従の程度に基づいて、前記第2イベントの動作態様を決定するステップと、
     を有する制御方法。
  2.  前記追従の程度を変化させるステップにおいて、
     前記追従の程度の変化を開始させる時刻から、前記追従の程度の変化を終了させる時刻までの時間長は、所定の時間長よりも長い、
     ことを特徴とする請求項1に記載の制御方法。
  3.  前記追従の程度を変化させるステップにおいて、
     前記追従の程度を、楽曲における前記演奏の位置に応じて変化させる、
     ことを特徴とする請求項1または2に記載の制御方法。
  4.  前記追従の程度を変化させるステップにおいて、
     前記追従の程度を、ユーザの指示に応じて変化させる、
     ことを特徴とする請求項1乃至3に記載の制御方法。
  5.  演奏における第1イベントに関する検出結果を受け付ける受付部と、
     前記演奏における第2イベントの前記第1イベントに対する追従の程度を、前記演奏の途中で変化させる変化部と、
     前記追従の程度に基づいて、前記第2イベントの動作態様を決定する動作決定部と、
     を有する制御装置。
     
PCT/JP2017/026526 2016-07-22 2017-07-21 制御方法、及び、制御装置 WO2018016638A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018528902A JP6642714B2 (ja) 2016-07-22 2017-07-21 制御方法、及び、制御装置
US16/252,293 US10636399B2 (en) 2016-07-22 2019-01-18 Control method and control device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-144350 2016-07-22
JP2016144350 2016-07-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/252,293 Continuation US10636399B2 (en) 2016-07-22 2019-01-18 Control method and control device

Publications (1)

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

Family

ID=60992654

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US10636399B2 (ja)
JP (1) JP6642714B2 (ja)
WO (1) WO2018016638A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016581A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 楽曲データ処理方法およびプログラム
WO2018016639A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 タイミング制御方法、及び、タイミング制御装置
JP6631713B2 (ja) * 2016-07-22 2020-01-15 ヤマハ株式会社 タイミング予想方法、タイミング予想装置、及び、プログラム
JP6737300B2 (ja) * 2018-03-20 2020-08-05 ヤマハ株式会社 演奏解析方法、演奏解析装置およびプログラム

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 (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2071389B (en) * 1980-01-31 1983-06-08 Casio Computer Co Ltd Automatic performing apparatus
US5177311A (en) * 1987-01-14 1993-01-05 Yamaha Corporation Musical tone control apparatus
US5288938A (en) * 1990-12-05 1994-02-22 Yamaha Corporation Method and apparatus for controlling electronic tone generation in accordance with a detected type of performance gesture
US5663514A (en) * 1995-05-02 1997-09-02 Yamaha Corporation Apparatus and method for controlling performance dynamics and tempo in response to player's gesture
US5648627A (en) * 1995-09-27 1997-07-15 Yamaha Corporation Musical performance control apparatus for processing a user's swing motion with fuzzy inference or a neural network
US5952597A (en) * 1996-10-25 1999-09-14 Timewarp Technologies, Ltd. Method and apparatus for real-time correlation of a performance to a musical score
US6166314A (en) * 1997-06-19 2000-12-26 Time Warp Technologies, Ltd. Method and apparatus for real-time correlation of a performance to a musical score
US5913259A (en) * 1997-09-23 1999-06-15 Carnegie Mellon University System and method for stochastic score following
JP3324477B2 (ja) * 1997-10-31 2002-09-17 ヤマハ株式会社 付加音信号生成装置および付加音信号生成機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4626087B2 (ja) * 2001-05-15 2011-02-02 ヤマハ株式会社 楽音制御システムおよび楽音制御装置
JP3948242B2 (ja) * 2001-10-17 2007-07-25 ヤマハ株式会社 楽音発生制御システム
JP2006154526A (ja) * 2004-11-30 2006-06-15 Roland Corp ボコーダ装置
JP4320782B2 (ja) * 2006-03-23 2009-08-26 ヤマハ株式会社 演奏制御装置、およびプログラム
JP5337608B2 (ja) * 2008-07-16 2013-11-06 本田技研工業株式会社 ビートトラッキング装置、ビートトラッキング方法、記録媒体、ビートトラッキング用プログラム、及びロボット
US9171531B2 (en) * 2009-02-13 2015-10-27 Commissariat À L'Energie et aux Energies Alternatives Device and method for interpreting musical gestures
US8660678B1 (en) * 2009-02-17 2014-02-25 Tonara Ltd. Automatic score following
JP5338794B2 (ja) * 2010-12-01 2013-11-13 カシオ計算機株式会社 演奏装置および電子楽器
JP5712603B2 (ja) * 2010-12-21 2015-05-07 カシオ計算機株式会社 演奏装置および電子楽器
WO2014137311A1 (en) * 2013-03-04 2014-09-12 Empire Technology Development Llc Virtual instrument playing scheme
US10418012B2 (en) * 2015-12-24 2019-09-17 Symphonova, Ltd. Techniques for dynamic music performance and related systems and methods
WO2018016581A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 楽曲データ処理方法およびプログラム
EP3489944A4 (en) * 2016-07-22 2020-04-08 Yamaha Corporation CONTROL METHOD AND CONTROL DEVICE
WO2018016639A1 (ja) * 2016-07-22 2018-01-25 ヤマハ株式会社 タイミング制御方法、及び、タイミング制御装置
JP6631713B2 (ja) * 2016-07-22 2020-01-15 ヤマハ株式会社 タイミング予想方法、タイミング予想装置、及び、プログラム

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 ヤマハ株式会社 スコアアライメント装置及びスコアアライメントプログラム

Also Published As

Publication number Publication date
JP6642714B2 (ja) 2020-02-12
US10636399B2 (en) 2020-04-28
US20190172433A1 (en) 2019-06-06
JPWO2018016638A1 (ja) 2019-01-24

Similar Documents

Publication Publication Date Title
JP6729699B2 (ja) 制御方法、及び、制御装置
JP6597903B2 (ja) 楽曲データ処理方法およびプログラム
CN109478399B (zh) 演奏分析方法、自动演奏方法及自动演奏系统
WO2018016638A1 (ja) 制御方法、及び、制御装置
WO2018016639A1 (ja) タイミング制御方法、及び、タイミング制御装置
US10699685B2 (en) Timing prediction method and timing prediction device
JP7448053B2 (ja) 学習装置、自動採譜装置、学習方法、自動採譜方法及びプログラム
US8237042B2 (en) Electronic musical instruments
US11967302B2 (en) Information processing device for musical score data
JP6690181B2 (ja) 楽音評価装置及び評価基準生成装置
JP6175812B2 (ja) 楽音情報処理装置及びプログラム
JP5514965B2 (ja) 弦楽器のバーチャルチューニング
JP2018146782A (ja) タイミング制御方法
JP6838357B2 (ja) 音響解析方法および音響解析装置
WO2023170757A1 (ja) 再生制御方法、情報処理方法、再生制御システムおよびプログラム
Canazza et al. Expressive Director: A system for the real-time control of music performance synthesis
WO2022190403A1 (ja) 信号処理システム、信号処理方法およびプログラム
JP7107427B2 (ja) 音信号合成方法、生成モデルの訓練方法、音信号合成システムおよびプログラム
JP2005308992A (ja) 学習支援システム
JPH06222763A (ja) 電子楽器

Legal Events

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

Ref document number: 2018528902

Country of ref document: JP

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

Ref document number: 17831154

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17831154

Country of ref document: EP

Kind code of ref document: A1