JP3837981B2 - Performance data creation method, automatic performance device and recording medium - Google Patents

Performance data creation method, automatic performance device and recording medium Download PDF

Info

Publication number
JP3837981B2
JP3837981B2 JP33125799A JP33125799A JP3837981B2 JP 3837981 B2 JP3837981 B2 JP 3837981B2 JP 33125799 A JP33125799 A JP 33125799A JP 33125799 A JP33125799 A JP 33125799A JP 3837981 B2 JP3837981 B2 JP 3837981B2
Authority
JP
Japan
Prior art keywords
performance data
performance
note
data
notes
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP33125799A
Other languages
Japanese (ja)
Other versions
JP2001147690A (en
Inventor
明 山内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP33125799A priority Critical patent/JP3837981B2/en
Publication of JP2001147690A publication Critical patent/JP2001147690A/en
Application granted granted Critical
Publication of JP3837981B2 publication Critical patent/JP3837981B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、自動演奏等に用いるに好適なゆらぎ性(のりやゆらぎ)を有する演奏データを作成する方法と、作成された演奏データを使用する自動演奏装置と、自動演奏用のプログラムを記録した記録媒体とに関し、特に生演奏等に基づく基準演奏データから所望の音符群の演奏データを抽出すると共に抽出演奏データを音符群に従って修正することにより所望の音符群の演奏データ作成を可能にしたものである。
【0002】
【従来の技術】
従来、所望の楽曲に関するゆらぎ性の演奏データに基づいて楽譜通りの演奏データを修正してゆらぎの程度を変更した自動演奏用の演奏データを作成する方法が知られている(例えば、特開平10−20856号公報参照)。
【0003】
【発明が解決しようとする課題】
上記した従来技術によると、基準演奏データとしてのゆらぎ性の演奏データを参照して演奏データを修正するので、例えば楽曲の一部の音符群にゆらぎ性を付与したり、ゆらぎ性を付与する音符群を変更したりするには新たに基準演奏データを用意する必要があり、処理が複雑となる不都合があった。また、楽曲の一部で音符数や音高が変更された場合にも同様の不都合があった。
【0004】
この発明の目的は、所望の音符群毎にゆらぎ性の演奏データを簡単に作成することができる新規な演奏データ作成方法を提供することにある。
【0005】
この発明の他の目的は、自動演奏される楽曲の一部に簡単にゆらぎ性を付与することができる新規な自動演奏装置を提供することにある。
【0006】
【課題を解決するための手段】
この発明に係る第1の演奏データ作成方法は、
時系列的な音符群を指定するステップと、
前記音符群の構成音符に従う楽器の生演奏に基づいて、各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを作成するステップと、
作成された演奏データから前記音符群の音符数分の演奏データを抽出するステップと、
抽出された演奏データを前記音符群中の少なくとも1つの音符に従って修正するステップと
を含むものである。
【0007】
第1の演奏データ作成方法によれば、時系列的な音符群の構成音符(例えば16分音符)に対応したゆらぎ性の演奏データを生演奏に基づいて作成すると共に、音符群中の音符数(例えば8個)分の演奏データを作成に係る演奏データから抽出する。そして、抽出に係る演奏データを音符群中の少なくとも1つの音符に従って修正する。この結果、生演奏に基づくゆらぎ性を有し且つ音符群に適合した演奏データが得られ、自動演奏等に用いることができる。
【0008】
第1の演奏データ作成方法において、抽出に係る演奏データに基づく演奏区間の長さが音符群で表わされる区間長と一致又は近似するように抽出に係る演奏データ中の演奏タイミング情報(例えば発音タイミング情報、消音タイミング情報等)を修正すると、音符群中の音符数が変更されても、データ抽出の際に音符数を変更するだけで対処することができ、作成に係る演奏データを変更しなくてよい。また、音符群で表わされる音高に従って抽出に係る演奏データ中の音高情報を修正すると、音符群中の音高が変更されても、変更に係る音高に応じて音高情報を修正すればよく、作成に係る演奏データを変更しなくてよい。従って、処理が簡単となる。
【0009】
この発明に係る第2の演奏データ作成方法は、
和音の反復演奏を表わす音符群を指定するステップと、
前記和音を構成する複数音のうちの1音に相当する音符に従う楽器の反復的な生演奏に基づいて、各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを作成するステップと、
作成された演奏データから前記音符群中の和音数分の演奏データを抽出するステップと、
抽出された演奏データに基づく演奏区間の長さが前記音符群で表わされる区間長と一致又は近似するように前記抽出された演奏データ中の演奏タイミング情報を修正する第1の修正ステップと、
この第1の修正ステップで修正を受けた演奏データを前記和音の構成音数より1少ない数分だけ複製するステップと、
複製に係る演奏データ中の音高情報を前記和音を構成する複数音のうちの他の音の音高に従って修正する第2の修正ステップと
を含むものである。
【0010】
第2の演奏データ作成方法によれば、第1の演奏データ作成方法と同様の作用効果が得られる。その上、第1の修正ステップで修正を受けた演奏データを和音の構成音数(例えば2)より1少ない数分だけ複製すると共に、複製に係る演奏データ中の音高情報を対応する和音構成音の音高に従って修正するようにしたので、単音系の少ない演奏データに基づいて和音系の演奏データを作成することができる。
【0011】
この発明に係る第3の演奏データ作成方法は、
発音タイミング及び音高を異にする複数音の反復演奏を表わす音符群を指定するステップと、
前記複数音に相当する複数音符に従う楽器の反復的な生演奏に基づいて、各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを作成するステップと、
作成された演奏データから前記音符群中の前記複数音対応の音符組の組数分の演奏データを抽出するステップと、
抽出された演奏データを前記音符群中の少なくとも1つの音符に従って修正するステップと
を含むものである。
【0012】
第3の演奏データ作成方法によれば、第1の演奏データ作成方法と同様の作用効果が得られる。その上、発音タイミング及び音高を異にする複数音に相当する複数音符に従う反復的な生演奏に基づいてゆらぎ性の演奏データを作成するようにしたので、前後の音が時間的に重なって発音されるような自然なゆらぎ性を有する複音系の演奏データを作成することができる。
【0013】
この発明に係る自動演奏装置は、
楽曲を自動演奏するための演奏データを記憶する第1の記憶手段と、
時系列的な音符群毎に該音符群の構成音符に従う楽器の生演奏に基づいて作成された演奏データであって各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを記憶する第2の記憶手段と、
前記楽曲中で所望の時系列的な音符群を指定する指定手段と、
この指定手段で指定された音符群に対応する演奏データを前記第2の記憶手段から読出す読出手段と、
前記第2の記憶手段から読出された演奏データから、前記指定手段で指定された音符群の音符数分の演奏データを抽出する抽出手段と、
この抽出手段で抽出された演奏データを前記指定手段で指定された音符群中の少なくとも1つの音符に従って修正する第1の修正手段と、
前記第1の記憶手段の演奏データにおいて前記指定手段で指定された音符群に関する演奏データを前記第1の修正手段で修正を受けた演奏データに従って修正する第2の修正手段と、
この第2の修正手段で修正された演奏データを含む前記第1の記憶手段の演奏データに従って前記楽曲の自動演奏を行なう自動演奏手段と
を備えたものである。
【0014】
この発明の自動演奏装置によれば、指定手段で所望の音符群を指定すると、指定に係る音符群に対応する演奏データが第2の記憶手段から読出されると共に、読出しに係る演奏データから指定に係る音符群の音符数分の演奏データが抽出される。抽出された演奏データは、指定に係る音符群に従って修正され、第1の記憶手段の演奏データにおいて指定に係る音符群に関する演奏データが修正に係る演奏データに従って修正される。楽曲の自動演奏は、修正に係る演奏データを含む第1の記憶手段の演奏データに従って行なわれる。この結果、自動演奏される楽曲にあっては、指定に係る音符群に対応する演奏個所に読出しに係る演奏データ(生演奏に基づく演奏データ)に基づくゆらぎ性が付与される。
【0015】
【発明の実施の形態】
以下では、トレモロ演奏を例にとってこの発明を詳細に説明する。楽典によると、トロモロ演奏は、時間的に細かい多数の音符を繰返し演奏するものである。一般に、トレモロ記号は、図1(A)に例示するように音符NにひげHを付して表わされ、図1(B)に示すようなトレモロ演奏用の音符に変換されて演奏される。トレモロ演奏用音符の種類は、ひげHの本数に応じて決定され、ひげHの本数が1本であれば8分音符、2本であれば16分音符、3本であれば32分音符となる。トレモロ演奏用音符の個数は、音符NをひげHの本数に応じた種類の音符に分割した数である。
【0016】
図1の例では、音符Nが2分音符であり、ひげHの本数が2本であるので、トレモロ演奏用音符は、8個の16分音符となる。他の例として、音符Nが4分音符であり、ひげHの本数が3本である場合は、8個の32分音符がトレモロ演奏用音符となる。
【0017】
ところで、自然楽器の生演奏では、トレモロ音の数がトレモロ演奏用音符の数と同じであるとしても、各トレモロ音毎に音長や音量が一定していない場合が多く、その方が自然な演奏に聞こえる。すなわち、生演奏では、演奏者が意識した又はしないテンポのゆらぎ、音量のゆらぎ等の様々な不均一性や不安定性が生々しさや自然らしさに大きく寄与している。
【0018】
図2は、トレモロの生演奏の一例を示すもので、横軸が時間を表わし、縦軸が音高を表わす。B〜Bは、いずれも拍頭タイミングを示し、T,T…T,T…は、図1(B)の音符N,N…N等に対応するトレモロ音を示す。各トレモロ音の音長は、黒バーの長さで表わされる。図2によれば、トレモロ音の音長にばらつきがあることがわかる。図2には示されていないが、トレモロ音の音量にもばらつきがある。
【0019】
楽曲の自動演奏において、自然な演奏、美しい演奏、生々しい演奏を実現するために、生演奏に基づいて自動演奏用のゆらぎ性の演奏データを作成することが考えられる。図3は、図2の生演奏に基づいて作成された演奏データの一例を示すものである。トレモロ音Tに関しては、タイミングデータTM11とノートオンイベントデータNE11とベロシティデータVL11とを含むオンイベントデータの組が配置されると共にオンイベントデータの組の後にタイミングデータTM12とノートオフイベントデータNE12とを含むオフイベントデータの組が配置される。T以降の各トレモロ音に関しても、同様にしてオンイベントデータの組及びオフイベントデータの組が配置される。従って、例えばトレモロ音Tに関するオフイベントデータの組(タイミングデータTM82及びノートオフイベントデータNE82)の後には、トレモロ音Tに関するオンイベントデータの組(タイミングデータTM91、ノートオンイベントデータNE91及びベロシティデータVL91)が配置される。
【0020】
TM11,TM91等のタイミングデータは、対応するトレモロ音の発音タイミングを指示するものである。NE11,NE91等のノートオンイベントデータは、対応するトレモロ音の音高をノートナンバで指示するものである。VL11,VL91等のベロシティデータは、対応するトレモロ音の音量を指示するものである。TM12,TM82等のタイミングデータは、対応するトレモロ音の消音タイミングを指示するものである。NE12,NE82等のノートオフイベントデータは、対応するトレモロ音の音高をノートナンバで指示するものである。各タイミングデータは、前のイベント(前のイベントがなければ拍頭)からの時間を例えば後述するテンポクロック信号のカウント値により表わすものである。
【0021】
図3に示したような演奏データを自動演奏用データとして用いて自動演奏を行なうことも可能である。しかし、トレモロ演奏用音符における音符数や音高の変更に対応して新たに生演奏に基づく演奏データを用意する必要があるので、図3に示したような演奏データをそのまま自動演奏に用いるのは得策でない。そこで、この発明では、図3に示したような演奏データをトレモロ演奏用音符に基づいて適宜加工して新たな演奏データを作成する。
【0022】
次に、図4,5を参照してこの発明に係るトレモロ演奏データ作成方法を詳しく説明する。図5には、処理ステップS〜Sを示す。
【0023】
ステップSでは、例えば楽譜表示画面において図4(A)に示すようなトレモロ記号を指定する。そして、ステップSでは、指定されたトレモロ記号に基づいて図1(B)に示したようにトレモロ演奏用音符の種類と数とを求める。図4(A)の例では、音符種類は16分音符、音符数は8個となる。
【0024】
次に、ステップSでは、ステップSで求めた音符種類に対応した生演奏データを用意する。このためには、予めデータベースに音符種類毎に生演奏に基づく生演奏データを記憶しておき、求めた音符種類に対応する生演奏データをデータベースから読出すようにするとよい。一例として、図4(B)の生演奏に基づいて図3に示したような生演奏データが用意される。
【0025】
次に、ステップSでは、ステップSで用意した生演奏データからステップSで求めた音符数に対応した演奏区間の演奏データを抽出する。図4(C)は、このときの抽出処理の一例を示すもので、図4(B)の生演奏に基づく生演奏データからは、トレモロ音T〜Tに対応する演奏データが抽出される。このようにして抽出された演奏データを図6に示す。図6において、図3と同様の部分には同様の符号を付してあり、T〜Tの区間のデータ及びタイミングデータFTMが抽出された演奏データである。ここで、タイミングデータFTMは、図3に示したようにトレモロ音Tの発音タイミング(TM82の消音タイミングからの時間)を表わすものである。このようにT〜Tの区間の終了タイミングを区間最後のトレモロ音Tの消音タイミングに合わせるのではなく、Tの次のトレモロ音Tの発音タイミングに合わせるようにすると、T〜Tの区間のデータに後続の演奏データを接続する場合に区間最後の無音時間を反映させて自然な感じを出すことができる。また、タイミングデータFTMの後に終端マークデータFMDを付加すると、データ接続時に終端確認が容易となる。
【0026】
次に、ステップSでは、抽出に係る演奏区間の長さをトレモロ演奏用音符の合計長さ(図4(A)の音符の長さに相当)に一致又は近似させるように抽出に係る演奏区間の演奏データ中のタイミング値を修正する。このときに修正されるタイミング値は、発音タイミングや消音タイミング等の演奏タイミングの値であり、図6の例では、タイミングデータTM11,TM12…TM81,TM91の値である。図4(D)は、図4(C)に示すように抽出した区間の長さをステップSで修正した一例を示すもので、修正後の区間長は、2拍に相当する長さになっている。
【0027】
次に、ステップSでは、トレモロ音T〜Tの音高がトレモロ演奏用音符の音高に一致しているか判定し、一致していなければトレモロ演奏用音符の音高に合わせて抽出に係る演奏データ中のノートナンバを修正する。このとき修正されるノートナンバは、図6の例では、イベントデータNE11,NE12…NE81,NE82のノートナンバである。
【0028】
この後、ステップSでは、ベロシティ値(音量レベル)の修正処理を行なう。すなわち、生演奏データ中のベロシティ値は、自動演奏で求められるベロシティ値と必ずしも一致しないので、トレモロ演奏用音符における先頭音符の音量に従って抽出に係る演奏データ中のベロシティ値を修正する。先頭音符の音量は、楽譜上で図4(A)のトレモロ記号に関して表示される。まず、先頭音符の音量に対応したベロシティ値とトレモロ音Tのオンイベントデータ中のベロシティ値との差を求めた後、トレモロ音Tのオンイベントデータ中のベロシティ値を先頭音符の音量に対応したベロシティ値に書換える。そしてT以外のT〜Tの各トレモロ音のオンイベントデータ中のベロシティ値を先に求めたベロシティ値の差に応じて加減算処理により修正する。
【0029】
この結果、例えばトレモロ音Tの音量がベロシティ値にして「20」増大(又は減少)したのであれば、トレモロ音T〜Tの音量もベロシティ値にして「20」増大(又は減少)することになり、しかもT〜Tの区間の演奏データにあっては生演奏時のトレモロ音の音量のばらつき状態が維持される。
【0030】
図7は、短い生演奏データに基づいて長い演奏データを作成する方法の一例を示すものである。この場合、生演奏データとしては、図7(A)に示すようにトレモロ音T〜T12に対応する区間の演奏データが用意される。このとき用意される演奏データは、終端タイミングEDを指示するデータとして、トレモロ音T12の次のトレモロ音の発音タイミングを指示するタイミングデータを含んでいる。
【0031】
図5のステップSでは、用意された生演奏データから図7(B)に示すように先頭のトレモロ音Tから終端タイミングEDまでの全データを抽出した後、先頭のトレモロ音Tに関するデータを除いてトレモロ音 から後の必要数のトレモロ音に関するデータを抽出し、1回目の抽出データと2回目の抽出データとを接続する。図7において、RHは、2回目の抽出データの先頭位置を示す。2回目の抽出処理で先頭のトレモロ音Tを除外するのは、トレモロ演奏で先頭音符が強調されることによるもので、自然さを出すのに役立つ。場合によっては、2回目以降の抽出処理で先頭から2音以上を除外するようにしてもよい。
【0032】
図8は、図7の方法におけるデータ接続状況を示すものである。1回目の抽出データの末尾には、トレモロ音T12のオフイベントデータの組の後タイミングデータFTM(終端タイミングEDを指示するデータ)に続けて終端マークデータFMDが配置されている。2回目の抽出データは、トレモロ音TのタイミングデータTM21を除外してトレモロ音TのノートオンイベントデータNE21を先頭データとして含むものとする。1回目及び2回目の抽出データを接続する際には、終端マークデータFMDの代りにノートオンイベントデータNE21をタイミングデータFTMに接続する。この後は、必要に応じて、上記したと同様の抽出・接続処理を行ない、図5のステップS以降の処理を行なう。
【0033】
図9は、短い生演奏データに基づいて長い演奏データを作成する方法の他の例を示すもので、図7と同様の部分には同様の符号を付して詳細な説明を省略する。
【0034】
図9の方法の特徴は、図9(A)に示すようにトレモロ音T12の発音タイミングを終端タイミングEDとした点にある。この場合、図9(B)に示すように1回目の抽出データ中でトレモロ音T12は発音されない。
【0035】
図10は、図9の方法におけるデータ接続状況を示すものである。1回目の抽出データの末尾には、トレモロ音T11のオフイベントデータの組の後トレモロ音T12のタイミングデータ(発音タイミングを示すもの)TM2に続けてトレモロ音T12のノートオンイベントデータNE2が配置されている。2回目の抽出データは、図8の場合と同様である。1回目及び2回目の抽出データを接続する際には、ノートオンイベントデータNE2の代りにノートオンイベントデータNE21をタイミングデータTM2に接続する。この後は、必要に応じて、上記したと同様の抽出・接続処理を行ない、図5のステップS以降の処理を行なう。
【0036】
次に、複音トレモロに関する演奏データ作成方法を説明する。複音トレモロの場合には、1つのトレモロ記号について複数の演奏形態がありうるので、最初に演奏形態を決定し、演奏形態に応じた生演奏データを用意する必要がある。
【0037】
一例として、図11(A)と図12(A)には、同一の複音トレモロ記号を示す。このトレモロ記号は、図11(B)に示すように和音反復型のトレモロ演奏用音符に変換されて演奏されることもあれば、図12(B)に示すように交互音演奏型のトレモロ演奏用音符に変換されて演奏されることもある。例えばバイオリンのように複音発音が可能で繰返し演奏も容易な楽器の場合には、図11(B)に示すように和音の反復演奏を行なう。一方、管楽器のように複音発音ができない場合やピアノのように複数発音は可能でも複音の繰返し演奏が難しい場合には、図12(B)に示すように和音構成音を交互に演奏するのが一般的である。
【0038】
図11(B)のトレモロ演奏に関して演奏データを作成する場合は、図5に関して前述したと同様の方法を用いることができる。この場合、生演奏データとしては、図11(B)に示すように16分音符の複音トレモロ演奏に基づくデータを用意する。
【0039】
図11(B)のトレモロ演奏に関して演奏データを作成するための他の方法としては、図13に示すように和音を構成する複数音のうちの1音の反復演奏に基づく生演奏データを用いる方法もある。この方法では、用意する生演奏データの量が少なくて済む利点がある。
【0040】
図13(A)のステップでは、所望の複音トレモロ記号を指定する。一例として、2分音符N11,N12と2本のひげとを有する複音トレモロ記号を指定する。そして、指定に係るトレモロ記号に基づいて図11(B)に示したようにトレモロ演奏音符の種類と数とを求める。音符数は、上下音符のいずれか一方の数とする。図11(B)の例では、音符種類が16分音符、音符数が8となる。
【0041】
次に、図13(B)のステップでは、先に求めた音符種類に対応した生演奏データを用意する。この生演奏データは、和音演奏に基づくものではなく、和音を構成する複数音のうちの1音の反復演奏に基づくものとする。図13(B)の例では、音符N11に対応する16分音符のトレモロ演奏に基づく生演奏データを用意する。
【0042】
次に、図13(C)のステップでは、先に用意した生演奏データから先に求めた音符数に対応した演奏区間の演奏データを抽出する。この抽出処理は、図5のステップSに関して前述したと同様にして行ない、生演奏データの方が短ければ図7又は9で述べたと同様に抽出・接続処理を行なう。図13(C)の例では、トレモロ音T〜Tに対応する第1系列の演奏データを抽出する。この演奏データには、トレモロ音Tの次のトレモロ音の発音タイミングを指示するタイミングデータが含まれている。
【0043】
次に、図13(D)のステップでは、図5のステップSに関して前述したと同様にして抽出演奏データ中のタイミング値を修正して抽出に係る演奏区間の長さを調整する。図13(D)の例では、トレモロ音T〜Tを含む演奏区間の長さを2拍に相当する長さに調整する。
【0044】
次に、図13(E)のステップでは、修正を受けた演奏区間の演奏データを和音構成音の数より1少ない数分だけ複製する。図13(E)の例では、和音構成音の数が2であるので、トレモロ音T〜Tに対応する第1系列の演奏データを1回コピーしてトレモロ音t〜tに対応する第2系列の演奏データを得る。
【0045】
この後、複製に係る演奏データ中のノートナンバ(音高)を和音を構成する複数音のうちの他の音の音高に従って修正する。図13(E)の例では、トレモロ音t〜tに対応する演奏データ中のノートナンバを図13(A)の音符N12の音高に従って修正する。また、トレモロ音T〜Tの音高が音符N11の音高に従っていないときは、トレモロ音T〜Tに対応する演奏データ中のノートナンバーを音符N11の音高に従って修正する。
【0046】
上記した処理によれば、図13(E)に示すように和音を構成する2音に対応した2系列の演奏データが得られる。しかしながら、これら2系列の演奏データにあっては、同時に発音される2音毎に音量が同じであると共に発音タイミングが同じであり、和音感が不自然となるのを免れない。そこで、この発明では、2系列の演奏データ間で和音の発音タイミングにてベロシティ値を異ならせるように修正すると共に発音タイミング値を異ならせるように修正する。
【0047】
ベロシティ値修正処理においては、図14に示すように和音を最低音ML、中間音MT及び最高音MHで構成する共に最低音、中間音及び最高音の音量をそれぞれVML、VMT及びVMHとした場合、音量の大小関係をVMH>VML>VMTのように定めると、和音としてのバランスがよくなる傾向がある。例えば、ベロシティ値を0〜127の範囲内の値にして音量制御を行なうときは、最高音に対して最低音のベロシティ値を−5〜−10程度の値に、中間音のベロシティ値を−10〜−20程度の値にそれぞれ設定するとよい。また、常に決められた値だけ音量を小さくするのでなく、小さくなり加減をランダムに変化させるとよい。例えば、最低音のベロシティ値は、最高音に対して−10に設定し、しかも経時的に±10の範囲でランダムに変化させるとよい。
【0048】
上記のようなベロシティ値修正処理でもかなり自然な不均一性を与えることができるが、和音の要素に応じて例えば根音は大きく、3度音は小さくというように音量制御を行なうと、さらに自然な不均一性を与えることができる。
【0049】
図13(E)の2系列の演奏データに対するベロシティ値修正処理においては、まず最高音であるトレモロ音t〜tに対応した第2系列の演奏データについてベロシティ値を修正する。すなわち、音符N12に関して指定された音量(最高音対応のトレモロ演奏用音符における先頭音符の音量)に対応したベロシティ値とトレモロ音tのオンイベントデータ中のベロシティ値との差を求めた後、トレモロ音tのオンイベントデータ中のベロシティ値を先頭音符の音量に対応したベロシティ値に書換える。そして、t以外のt〜tの各トレモロ音のオンイベントデータ中のベロシティ値を先に求めたベロシティ値の差に応じて加減算処理により修正する。
【0050】
次に、最低音T〜T対応した第1系列の演奏データについてベロシティ値を修正する。この場合、音符N11に関して指定された音量(最低音対応のトレモロ演奏用音符における先頭音符の音量)に対応したベロシティ値が音符N12に関して指定された音量に対応するベロシティ値より所定値(例えば10)だけ低いものとする(このように所定値だけ低くなければ、所定値だけ低くする)。そして、音符N11に関して指定された音量に対応したベロシティ値を用いて第2系列の演奏データの場合と同様にして第1系列の演奏データ中のベロシティ値を修正する。この結果、トレモロ音T〜Tに対応するベロシティ値は、トレモロ音t〜tに対応するベロシティ値に比べてそれぞれ所定値(例えば10)だけ低いものとなる。
【0051】
上記した処理によれば、第1系列の演奏データにおける各ベロシティ値は、第2系列の演奏データにおける対応するベロシティ値とは所定値だけ異なるものの、第1系列の演奏データをコピーしたのが第2系列の演奏データであるため、第1及び第2系列の演奏データにあっては、トレモロ音の音量のばらつき状態が同様である。このような音量のばらつき状態を異なるならせるためには、第1又は第2の演奏データのうち少なくとも一方の演奏データに対して前述したようにベロシティ値をランダムに修正する処理を施すことができる。
【0052】
発音タイミング値修正処理においては、第1系列の演奏データ中の発音タイミング値を和音の発音タイミング毎に所定範囲内でランダムに設定すると共に、第2系列の演奏データ中の発音タイミング値を和音の発音タイミング毎に所定範囲内でランダムに設定する。この場合、所定範囲を例えば±5の範囲とすることで時間的なばらつきを表現することができる。時間変化量をあまり大きくすると、時間的なばらつきというより和音に聞こえなくなるので、適当な値を選定する必要がある。4分音符の分解能を480とした場合、4分音符=120程度のテンポのときには時間変化量は、5〜10程度の値とするのが適当である。
【0053】
図12(B)のトレモロ演奏に関して演奏データを作成する場合は、単音の生演奏データを用いてもよいが、複音の生演奏データを用いた方がよい。ピアノを例にとると、単音トレモロは、同音連打であり、前後の音の発音時間が重なることは機構上あり得ない。これに対し、複音トレモロは、前後の音の発音時間が重なることが可能であり、むしろ重なる方が自然である。
【0054】
図15は、複音の生演奏データを用いる演奏データ作成方法を示すものである。図15(A)のステップでは、図13(A)の場合と同様の複音トレモロの記号を指定する。そして、指定に係るトレモロ記号に基づいて図12(B)に示したようにトレモロ演奏用音符の種類と数を求める。音符数は、上下の2音符を1組として組数で求める。図12(B)の例では、音符種類が16分音符、音符数が4組となる。
【0055】
次に、図15(B)のステップでは、先に求めた音符種類に対応した複音の生演奏データを用意する。図15(B)の例では、図12(B)に示すように発音タイミング及び音高を異にする2つの16分音符の反復演奏に基づく生演奏データを用意する。この例では、音高が異なる交互の音(例えばT11とT21、T21とT12等)の発音時間に重なりがあるのがわかる。
【0056】
次に、図15(C)のステップでは、先に用意した生演奏データから先に求めた音符数に対応した演奏区間の演奏データを抽出する。図15(C)の例では、4組の音符に対応した演奏区間の演奏データ(トレモロ音T11〜T14,T21〜T24に関する演奏データ)を抽出する。この演奏データには、トレモロ音T14の次のトレモロ音T15の発音タイミングを指示するタイミングデータが含まれると共に、トレモロ音T24の次のトレモロ音T25の発音タイミングを指示するタイミングデータが含まれている。トレモロ音T24の消音タイミングは、トレモロ音T15の発音タイミングより後になっている。これは、発音時間の重なりによるものである。
【0057】
次に、図5のステップSに関して前述したと同様にして抽出演奏データ中のタイミング値を修正して抽出に係る演奏区間の長さを調整する。図15(C)の例では、トレモロ音T11〜T14を含む演奏区間の長さを2拍に相当する長さとし、トレモロ音T24の消音タイミングが該演奏区間外となるのを許容している。このようにすると、自然感を出すのに役立つ。この後は、必要に応じて、図5のステップS,Sで述べたと同様にして音高や音量の修正処理を行なうことができる。
【0058】
図16は、短い複音トレモロ演奏データに基づいて長い複音トレモロ演奏データを作成する方法を示すものであり、図15と同様の部分には同様の符号を付して詳細な説明を省略する。
【0059】
図16(A)のステップでは、図15(B)で述べたと同様の生演奏データをトレモロ音T11〜T14,T21〜T24に対応する演奏区間分だけ用意する。この生演奏データは、トレモロ音T14の次のトレモロ音T15の発音タイミングを指示するタイミングデータを含むと共に、トレモロ音T24の次のトレモロ音T25の発音タイミングを指示するタイミングデータを含んでいる。ENは、2拍に相当する演奏区間の終了タイミングを表わす。
【0060】
図16(B)のステップでは、用意された生演奏データから先頭組のトレモロ音T11,T21〜末尾組のトレモロ音T14,T24の演奏データ(トレモロ音T15,T25の発音タイミングを指示するタイミングデータを含む)を抽出した後、先頭組のトレモロ音T11,T21に関する演奏データを除いて第2組のトレモロ音T12,T22〜末尾組のトレモロ音T14,T24の演奏データ(トレモロ音T15,T25の発音タイミングを指示するタイミングデータを含む)を抽出する。図16において、RHは、2回目の抽出データの先頭位置を示す。2回目の抽出処理で先頭組のトレモロ音T11,T21を除外するのは、複音トレモロ演奏で先頭組の音符が強調されることによるもので、自然さを出すのに役立つ。
【0061】
1回目の抽出データと2回目の抽出データとは、図17に示すようにして接続する。すなわち、トレモロ音T14のオフイベントデータの組にトレモロ音T12のオンイベントデータの組を接続すると共に、トレモロ音T12のオンイベントデータの組にトレモロ音T24のオフイベントデータの組を接続し、トレモロ音T24のオフイベントデータの組にトレモロ音T22のオンイベントデータの組を接続する。ここで、トレモロ音T12のタイミングデータとしては、トレモロ音T15の発音タイミングTM15を指示するタイミングデータを用い、トレモロ音T22のタイミングデータとしては、トレモロ音T25の発音タイミングTM25を指示するタイミングデータを用いる。このようにすると、末尾組の音符の演奏後の無音時間を反映させて自然な感じを出すことができる。
【0062】
この後は、必要に応じて、上記したと同様の抽出・接続処理を行ない、図15(C)で述べた区間長調整以降の処理を行なう。
【0063】
図18は、種々の複音トレモロ記号について複音トレモロ演奏用音符への変換を例示するものである。
【0064】
図18(A)〜(C)は、いずれも単音と複音の反復によるトレモロ演奏の例である。図18(C)の例では、反復の組合せが楽譜上に明示的に示されているが、図18(A)及び(B)の例では、楽譜に反復の組合せが明示されていない。明示されていなければ、反復の組合せは自由であるが、指の機能上通常の奏法に従うことになる。
【0065】
図18(A)の例では、右手で弾くとすれば、2:1(複音+単音)に分割するのが一般的であり、左手で弾くとすれば、1:2(単音+複音)に分割するのが一般的である。すなわち、親指が単音になり、その他の指が複音になるというのが通例である。親指の方が他の指よりも力が強いので、バランスをとると自然にこのような組合せになるものと考えられる。従って、楽譜全体を見て、特定のトレモロ記号が右手又は左手のいずれで演奏されるのか判定できるときは、その判定結果に従って分割形態を決定する。
【0066】
図18(D)及び(E)には、同一の複音トレモロ記号に基づく2通りのトレモロ演奏用音符を示す。図18(D)の例は、1:3(単音+複音)に分割したものであり、図18(E)の例は、2:2(複音+複音)に分割したものである。右手演奏を想定すれば、一般的には図18(D)のような演奏になる。しかし、ある種の効果を狙って図18(E)のような演奏を行なうことがないわけではない。従って、どの分割形態にするのか予め決定すればよい。
【0067】
楽譜全体を見ただけでは、特定のトレモロが右手又は左手のいずれで演奏するのか不明の場合もありうる。このような場合は、いずれか一方の手を使うという場面であろうから、右手で演奏を行なうものとして分割形態を決定すればよい。
【0068】
上記のように分割形態を決定した後は、決定に係る分割形態に相当するトレモロ演奏用音符に従って生演奏を行ない、生演奏データを用意する。そして、用意した生演奏データを用いて図15,16で述べたようにしてゆらぎ性の演奏データを作成する。
【0069】
図19は、この発明の一実施形態に係る自動演奏装置を備えた電子楽器の回路構成を示すものである。この電子楽器は、パーソナルコンピュータ等の小型コンピュータによって楽音発生、自動演奏等が制御されるようになっている。
【0070】
バス10には、CPU(中央処理装置)12、ROM(リード・オンリィ・メモリ)14、RAM(ランダム・アクセス・メモリ)16、検出回路18,20、表示制御回路22、タイマ24、インターフェース26、記憶装置28、音源装置30、DSP(ディジタル・シグナル・プロセッサ)32、サウンドシステム34等が接続されている。
【0071】
CPU12は、ROM14にストアされたプログラムに従って楽音発生、自動演奏等のための各種処理を実行するもので、これらの処理については図20〜24を参照して後述する。
【0072】
RAM16は、CPU12による各種処理に際してフラグ、レジスタ等として利用される多数の記憶領域を含むもので、この発明の実施に関係する記憶領域としては、走行/停止フラグRUN、ゆらぎ付加フラグUA,ゆらぎ強化フラグUB、楽曲演奏データ記憶部MA,MB、基準演奏データ記憶部RA、抽出演奏データ記憶部RB等が設けられている。
【0073】
検出回路18は、鍵盤36から鍵操作情報を検出するものである。検出回路20は、操作子群38から各種操作子の操作情報を検出するものである。操作子群38は、パネル面に設けられた種々の操作子と、文字及び数字入力可能なキーボードと、ポインティングデバイスとしてのマウスとを含んでいる。この発明の実施に関係する操作子としては、ゆらぎ付加スイッチ、ゆらぎ強化スイッチ、スタート/ストップスイッチ等が設けられている。また、マウスやキーボードは、選曲操作、トレモロ記号指定操作等に用いられる。
【0074】
表示制御回路22は、表示器40の表示動作を制御することにより各種の表示(例えば楽譜表示)を可能にするものである。
【0075】
タイマ24は、与えられるテンポデータTDに対応する周期でテンポクロック信号TCLとしてクロックパルスを発生するものである。テンポクロック信号TCLは、割込命令としてCPU12に供給される。CPU12は、テンポクロック信号TCLとしてのクロックパルスが発生されるたびに図24の割込処理を開始する。この割込処理により記憶部MA又はMBの楽曲演奏データに基づいて自動演奏が行なわれる。
【0076】
インターフェース26は、MIDI(Musical Instrument Digital Interface)規格に適合したもので、MIDI機器等の外部機器42との間で楽音制御情報、演奏情報等の情報通信を行なうために設けられたものである。
【0077】
記憶装置28は、HD(ハードディスク)、FD(フロッピーディスク)、CD(コンパクトディスク)、DVD(ディジタル多目的ディスク)、MO(光磁気ディスク)等のうち1又は複数種類の記憶媒体を着脱可能なものである。記憶装置28に所望の記憶媒体を装着した状態では、記憶媒体からRAM16へデータを転送可能である。また、装着した記憶媒体がHDやFDのように書込可能なものであれば、RAM16のデータを記憶媒体に転送可能である。この実施形態では、多数の楽曲の演奏データを記憶した記憶媒体から所望の楽曲の演奏データを選択して読出して自動演奏を行なうことができる。
【0078】
プログラム記憶手段としては、ROM14の代りに記憶装置28の記憶媒体(前述のHD,CD,DVD,MO等)を用いることができる。この場合、記憶媒体に記憶したプログラムは、記憶装置28からRAM16へ転送する。そして、RAM16に記憶したプログラムに従ってCPU12を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。記憶装置28を通信ネットワークに接続することにより、編集対象とする楽曲演奏データや基準演奏データの取得が可能になると共に、プログラムの更新も容易になる。
【0079】
音源装置30は、多数(例えば64個)の楽音発生チャンネルを有するものである。鍵盤36での押鍵操作及び/又は記憶部MA又はMBからのデータ読出しに基づいて発音要求があると、CPU12は、各発音要求に対応する発音命令信号とノートナンバ(音高情報)とベロシティ値(音量情報)とを空き状態のいずれかの楽音発生チャンネルに割当てる。このため、割当てに係る楽音発生チャンネルからは、ノートナンバに対応した音高を有する楽音信号がベロシティ値に対応した音量で発生される。また、鍵盤36での離鍵操作及び/又は記憶部MA又はMBからのデータ読出しに基づいて消音要求があると、CPU12は、各消音要求に係るノートナンバに対応した楽音信号を発生中の楽音発生チャンネルに消音命令信号を供給して発生中の楽音信号の減衰を開始させる。
【0080】
DSP32は、音源装置30からのディジタル形式の楽音信号に対して音色、音量、音響等の各種効果を付与可能なもので、付与すべき効果は、操作子群38中のパネル操作子の操作に基づいてCPU12により指示される。
【0081】
サウンドシステム34は、ディジタル/アナログ変換器、出力アンプ、スピーカ等を含むもので、DSP32からの楽音信号を音響に変換する。
【0082】
図20,21は、メインルーチンの処理の流れを示すもので、このルーチンは、電源オン等に応じてスタートする。ステップ50では、初期設定処理を行ない、各種のフラグ、レジスタ等を初期設定する。
【0083】
次に、ステップ52では、選曲操作ありか判定する。表示器40の画面には、選択可能な楽曲の曲名等が表示される。ユーザは、表示された楽曲のうち所望の楽曲をマウス操作等により選択することができる。ステップ52の判定結果が肯定的(Y)であればステップ54に移る。
【0084】
ステップ54では、記憶装置28(又はROM14)から選択に係る楽曲の演奏データを読出して記憶部MA,MBに格納する。そして、ステップ56では、記憶部MBの演奏データに基づいて表示器40の画面に楽譜を表示する。なお、記憶装置28(又はROM14)の各楽曲演奏データは、楽譜通りのもので、ゆらぎ性を有していないものとする。
【0085】
ステップ52の判定結果が否定的(N)であったとき又はステップ56の処理が終ったときは、ステップ58でゆらぎ付加スイッチ(SW)の操作ありか判定する。この判定の結果が肯定的(Y)であればステップ60でフラグUAの内容を反転(0ならば1に、1ならば0に)する。
【0086】
ステップ58の判定結果が否定的(N)であったとき又はステップ60の処理が終ったときは、ステップ62でゆらぎ強化スイッチ(SW)の操作ありか判定する。この判定の結果が肯定的(Y)であればステップ64でフラグUBの内容を反転する。
【0087】
ステップ62の判定結果が否定的(N)であったとき又はステップ64の処理が終ったときは、ステップ66でスタート/ストップスイッチ(SW)の操作ありか判定する。この判定の結果が肯定的(Y)であればステップ68でフラグRUNの内容を反転する。
【0088】
ステップ66の判定結果が否定的(N)であったとき又はステップ68の処理が終ったときは、ステップ70でフラグRUNの値が0から1に変化したか判定する。この判定の結果が肯定的(Y)であれば、ステップ72で記憶部MA,MB内の先頭位置に読出位置をセットする。これは、演奏データを読出すための準備処理である。
【0089】
ステップ70の判定結果が否定的(N)であったとき又はステップ72の処理が終ったときは、ステップ74でRUNの値が1から0に変化したか判定する。この判定の結果が肯定的(Y)であればステップ76で自動演奏音の消音処理を行なう。すなわち、音源装置30において自動演奏音信号として発生中のすべての楽音信号を減衰開始させる。
【0090】
ステップ74の判定結果が否定的(N)であったとき又はステップ76の処理が終ったときは、ステップ78でトレモロ記号の指定操作ありか判定する。ユーザは、表示器40の画面に表示された楽譜においてゆらぎ付加を望むトレモロ記号をマウス操作等により指定することができる。ステップ78の判定結果が肯定的(Y)であればステップ80に移る。
【0091】
ステップ80では、フラグUAが1か(ゆらぎ付加モードか)判定する。この判定の結果が肯定的(Y)であればステップ82でゆらぎ付加処理のサブルーチンを実行する。このサブルーチンについては、図22を参照して後述する。
【0092】
ステップ78の判定結果が否定的(N)であったとき、ステップ80の判定結果が否定的(N)であったとき又はステップ82の処理が経ったときは、ステップ84でフラグUA,UBが共に1か判定する。この判定結果が肯定的(Y)であればステップ86で記憶部MBの演奏データを所定範囲内でランダムに修正する。例えば、演奏データ中の発音タイミング値及びベロシティ値をそれぞれ所定範囲内でランダムに修正する。この結果、ステップ82のゆらぎ付加処理でゆらぎ性が付加された演奏データは、ゆらぎ性が一層強化される。
【0093】
ステップ84の判定結果が否定的(Y)であったとき又はステップ86の処理が終ったときは、ステップ88でその他の処理を行なう。その他の処理としては、鍵盤36での鍵操作に基づく楽音発生処理、パネル操作子の操作に基づく各種楽音パラメータ(例えば音色、効果、自動演奏テンポ等)の設定処理等がある。
【0094】
ステップ88の後は、ステップ90で電源オフ等の終了指示ありか判定する。この判定の結果が否定的(N)であればステップ52に戻り、ステップ52以降の処理を上記したと同様に繰返す。ステップ90の判定結果が肯定的(Y)になると、処理エンドとする。
【0095】
図22は、ゆらぎ付加処理の流れを示すものである。ステップ100では、図21のステップ78での指定に係るトレモロ記号に基づいて図5のステップSで述べたと同様にしてトレモロ演奏用音符の種類と数とを求める。
【0096】
次に、ステップ102では、先に求めた音符種類に対応する生演奏データをデータベースから読出して記憶部RAに基準演奏データとして格納する。データベースとしては、記憶装置28(又はROM14)が用いられ、これには予め音符種類毎に生演奏データが記憶されている。図11,12に関して前述したように1つのトレモロ記号に複数通りの演奏形態がある場合には、表示器40の画面に複数通りの演奏形態(トレモロ演奏用音符)を表示し、ユーザによるトレモロ記号の指定時に、ユーザに所望の演奏形態を指定させる。そして、ステップ102では、ユーザの指定した演奏形態に対応する生演奏データを読出して記憶部RAに格納する。このようにすると、作成される演奏データにユーザの好みを一層反映させることができる。
【0097】
次に、ステップ104では、記憶部RAの演奏データから、先に求めた音符数に対応する演奏区間の演奏データを抽出して記憶部RBに格納する。このときの抽出処理は、図5のステップSで述べたと同様にして行なうことができる。
【0098】
次に、ステップ106では、図5のステップS〜Sで述べたと同様にしてトレモロ演奏用音符に従って記憶部RBの演奏データ中の演奏タイミング値、ノートナンバ、ベロシティ値を修正する。この結果、記憶部RBでは、生演奏に基づくゆらぎ性の演奏データの作成が完了したことになる。
【0099】
この後、ステップ108では、記憶部RBの演奏データに従って記憶部MBの演奏データを修正する。演奏データの修正は、一例として図23に示すようにして行なう。
【0100】
すなわち、記憶部MBには、選択に係る楽曲の演奏データが格納されており、指定に係るトレモロ記号に対応する演奏データは、トレモロ音TN1のオンイベントデータの組からトレモロ音TNMのオフイベントデータの組までのデータとする。一方、記憶部RBには、指定に係るトレモロ記号に対応する演奏データとして、トレモロ音Tn1オンイベントデータの組からトレモロ音Tnmのオフイベントデータの組までのデータと、トレモロ音Tnmの次のトレモロ音の発音タイミングを指示するタイミングデータFTMと、終端マークを表わすデータFMDとが格納されている。トレモロ音TN1のタイミングデータは、直前のトレモロ音の消音タイミングから拍頭までの時間を表わし、トレモロ音Tn1のタイミングデータは、拍頭からの時間を表わすものとすると、TN1のタイミング値にTn1のタイミング値を加算したものを新たなTN1のタイミング値とする。また、TN1のノートオンイベントデータからTNMのノートオフイベントデータまでのデータをTn1のノートオンイベントデータからTnmのノートオフイベントデータまでのデータに従って書換える。さらに、TNMの次のトレモロ音TNNのタイミングデータをタイミングデータFTMに従って書換える。これは、区間最後の無音時間を記憶部MBの演奏データに反映させるためである。上記のように演奏データの修正が終ったときは、図20,21のルーチンにリターンする。
【0101】
図24は、自動演奏のための割込処理を示すもので、ステップ100では、フラグRUNが1か判定する。この判定の結果が否定的(N)であれば、以下に述べるような処理が不要であるので、図20,21のルーチンにリターンする。
【0102】
ステップ100の判定結果が肯定的(Y)であったときは、ステップ112に移り、フラグUAが1か(ゆらぎ付加モードか)判定する。この判定の結果が否定的(N)であればステップ114で再生タイミングか判定する。この判定は、記憶部MAにおける読出位置のタイミングデータが示すタイミング値と、テンポクロック信号TCLを計数するテンポカウンタ(RAM16内にある)のカウント値とが一致したか調べることにより行なうことができる。ステップ114の判定結果が否定的(N)であったときは、図20,21のルーチンにリターンする。
【0103】
ステップ114の判定結果が肯定的(Y)であったときは、ステップ116で記憶部MAから再生タイミングであるとされたタイミングデータと組をなすイベントデータを読出す。このとき読出されるイベントデータは、ノートオンイベントデータ及びベロシティデータ、ノートオフイベントデータ又は他のイベント(例えば音色や音量の変更イベント)データである。
【0104】
次に、ステップ118では、読出されたのがノートイベントデータか判定する。この判定の結果が肯定的(Y)であればステップ120でノートオンイベントデータか判定する。この判定結果が肯定的(Y)であればステップ122で発音処理を行なう。すなわち、読出しに係るノートオンイベントデータ中のノートナンバと、ベロシティデータ中のベロシティ値と、発音命令信号とを空き状態の楽音発生チャンネルの1つに割当てて楽音信号を発生させる。そして、図20,21のルーチンにリターンする。
【0105】
ステップ120の判定結果が否定的(N)であったときは、ノートオフイベントであったことになり、ステップ124で消音処理を行なう。すなわち、読出しに係るノートオフイベントデータ中のノートナンバと同じノートナンバに従って楽音信号を発生中である楽音発生チャンネルに対して消音命令信号を供給して該楽音信号を減衰開始させる。そして、図20,21のルーチンにリターンする。
【0106】
ステップ118の判定結果が否定的(N)であったときは、ステップ126で読出データに応じた処理を行なう。例えば、読出データがトータルボリュームに相当する音量の変更を指示するデータであれば、該データに従って音量を変更する。なお、上記したようにイベントデータを読出したときは、読出位置が次のイベントデータ中のタイミングデータの位置に変更される。
【0107】
上記したステップ114〜126の処理によれば、記憶部MAの演奏データに基づいてゆらぎ性のない自動演奏を行なうことができる。
【0108】
ステップ112の判定結果が肯定的(Y)であった(ゆらぎ付加モードであった)ときは、ステップ128で再生タイミングか判定する。この判定は、記憶部MBにおける読出位置のタイミングデータが示すタイミング値と、前述のテンポカウンタのカウント値とが一致したか調べることにより行なうことができる。ステップ128の判定結果が否定的(N)であったときは、図20,21のルーチンにリターンする。
【0109】
ステップ128の判定結果が肯定的(Y)であったときは、ステップ130で記憶部MBから再生タイミングであるとされたタイミングデータと組をなすイベントデータを読出す。このとき読出されるイベントデータは、ステップ116で述べたと同種類のものである。
【0110】
次に、ステップ132では、読出されたのがノートイベントデータか判定する。この判定の結果が肯定的(Y)であればステップ120でノートオンイベントデータか判定する。この判定の結果が肯定的(Y)であれば、ステップ122で前述したと同様に発音処理を行ない、楽音信号を発生させる。
【0111】
ステップ120の判定結果が否定的(N)であったときは、ステップ124で前述したと同様に消音処理を行ない、楽音信号の減衰を開始させる。
【0112】
ステップ132の判定結果が否定的(N)であったときは、ステップ126に移り、前述したと同様に読出データに応じた処理を行なう。
【0113】
上記したステップ128〜132,120〜126の処理によれば、記憶部MBの演奏データ(すなわち、図23で述べたように生演奏に基づいて作成されたゆらぎ性の演奏データをトレモロ部に有する演奏データ)に基づいてトレモロ部のゆらぎ性を強調した自動演奏を行なうことができる。また、ゆらぎ強化モードにすると、トレモロ部のゆらぎ性が一層強化されると共に、トレモロ部以外の部分にもゆらぎ性が付与される。
【0114】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【0115】
(1)記憶部MBの演奏データは、記憶装置28の記憶媒体に転送し、他の機会に本電子楽器又は他の電子楽器で該記憶媒体の演奏データに基づいて自動演奏を行なうようにしてもよい。
【0116】
(2)音量設定のための演算処理としては、加減算処理に限らず、乗除算処
理を用いるようにしてもよい。但し、1個所の処理において、加減算処理と乗除算処理とを併用しない方がよい。
【0117】
(3)演奏データとしては、トレモロの演奏データに限らず、アルペジオ、トリル、グリッサンド等の音符群の演奏データを作成するようにしてもよい。
【0118】
(4)演奏データのフォーマットは、イベントの発生時刻を1つ前のイベントからの相対時間で表わす「イベント+相対時間」方式に限らず、イベントの発生時刻を曲や小節内の絶対時間で表わす「イベント+絶対時間」方式、音符の音高と音符長及び休符と休符長で曲の内容を表す「音高(休符)+符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
【0119】
【発明の効果】
以上のように、この発明によれば、時系列的な音符群中の音符種類に対応したゆらぎ性の基準演奏データを用意すると共に、音符群中の音符数に対応する演奏区間の演奏データを基準演奏データから抽出し、抽出に係る演奏区間の演奏データを音符群中の少なくとも1つの音符に従って修正するようにしたので、所望の音符群毎にゆらぎ性の演奏データを簡単に作成することができると共に同一種類の音符については基準演奏データの変更が不要であり、処理が簡単となる効果が得られる。
【0120】
また、抽出された演奏区間の演奏データ中の演奏タイミング情報や音高情報を音符群の区間長や音高に従ってそれぞれ修正するようにしたので、音符群中の音符数や音高が変更されても、基準演奏データの変更が不要であり、処理が簡単となる効果が得られる。
【0121】
その上、所望の音符群を指定すると共に指定に係る音符群に対応する演奏データをこの発明の方法で作成し、作成に係る演奏データに従って自動演奏用の演奏データの一部を修正するようにしたので、自動演奏される楽曲の一部に簡単にゆらぎ性を付与したり、ゆらぎ性を付与する音符群を簡単に変更したりすることができ、生演奏に近似した自動演奏を手軽に楽しめる効果が得られる。
【図面の簡単な説明】
【図1】 トレモロ記号のトレモロ演奏用音符への変換の一例を示す図である。
【図2】 トレモロの生演奏の一例を示す図である。
【図3】 図2の生演奏に基づいて作成された演奏データの一例を示す図である。
【図4】 この発明に係るトレモロ演奏データ作成方法の一例を示す図である。
【図5】 図4の方法を説明するためのフローチャートである。
【図6】 図4,5の方法で作成された演奏データの一例を示す図である。
【図7】 短い生演奏データに基づいて長い演奏データを作成する方法の一例を示す図である。
【図8】 図7の方法におけるデータ接続状況を示す図である。
【図9】 短い生演奏データに基づいて長い演奏データを作成する方法の他の例を示す図である。
【図10】 図9の方法におけるデータ接続状況を示す図である。
【図11】 複音トレモロ記号のトレモロ演奏用音符への変換の一例を示す図である。
【図12】 複音トレモロ記号のトレモロ演奏用音符への変換の他の例を示す図である。
【図13】 この発明に係る複音トレモロ演奏データ作成方法の一例を示す図である。
【図14】 図13の方法における和音構成音の音量設定を説明するための図である。
【図15】 この発明に係る複音トレモロ演奏データ作成方法の他の例を示す図である。
【図16】 短い複音トレモロ生演奏データに基づいて長い複音トレモロ演奏データを作成する方法の一例を示す図である。
【図17】 図16の方法におけるデータ接続状況を示す図である。
【図18】 種々の複音トレモロ記号について複音トレモロ演奏用音符への変換を例示する図である。
【図19】 この発明の一実施形態に係る自動演奏装置を備えた電子楽器の回路構成を示すブロック図である。
【図20】 メインルーチンの一部を示すフローチャートである。
【図21】 メインルーチンの残部を示すフローチャートである。
【図22】 ゆらぎ付加のサブルーチンを示すフローチャートである。
【図23】 演奏データ修正の一例を示す図である。
【図24】 割込処理を示すフローチャートである。
【符号の説明】
10:バス、12:CPU、14:ROM、16:RAM、18,20:検出回路、22:表示制御回路、24:タイマ、26:インターフェース、28:記憶装置、30:音源装置、32:DSP、34:サウンドシステム、36:鍵盤、38:操作子群、40:表示器、42:外部機器、RUN:走行/停止フラグ、UA:ゆらぎ付加フラグ、UB:ゆらぎ強化フラグ、MA,MB:楽曲演奏データ記憶部、RA:基準演奏データ記憶部、RB:抽出演奏データ記憶部。
[0001]
BACKGROUND OF THE INVENTION
The present invention records a method for creating performance data having fluctuation characteristics suitable for use in automatic performances, an automatic performance device using the created performance data, and a program for automatic performance With respect to recording media, in particular, performance data of a desired note group can be created by extracting performance data of a desired note group from reference performance data based on live performance etc. and correcting the extracted performance data according to the note group It is.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, there is known a method for creating performance data for automatic performance in which performance data according to a musical score is modified based on fluctuation performance data related to a desired music and the degree of fluctuation is changed (for example, Japanese Patent Laid-Open No. Hei 10). -20856 publication).
[0003]
[Problems to be solved by the invention]
According to the above-described prior art, the performance data is corrected by referring to the fluctuation performance data as the standard performance data. For example, a note that gives fluctuation characteristics to a group of musical notes or a note that gives fluctuation characteristics. In order to change the group, it is necessary to prepare new reference performance data, which has the disadvantage of complicated processing. In addition, there is a similar inconvenience when the number of notes and the pitch are changed in a part of the music.
[0004]
An object of the present invention is to provide a novel performance data creation method that can easily create fluctuation performance data for each desired note group.
[0005]
Another object of the present invention is to provide a novel automatic performance apparatus capable of easily imparting fluctuations to a part of music to be automatically performed.
[0006]
[Means for Solving the Problems]
  The first performance data creation method according to the present invention comprises:
  Time series of notesA step of specifying
  Create performance data that includes performance timing information and pitch information for each note and has fluctuations in performance timing based on the live performance of the instrument according to the notes constituting the note groupAnd steps to
  Extract performance data for the number of notes of the note group from the created performance dataAnd steps to
  ExtractedModifying performance data according to at least one note in the note group;
Is included.
[0007]
  According to the first performance data creation method, a time-series note groupComposed of musical notesFluctuation corresponding to (for example, a 16th note)PerformanceLive performance dataTo playOn the basis ofCreateAnd the number of notes in the note group (for example, 8Min)Performance dataRelated to creationExtract from performance data. And involved in the extractionPerformanceThe performance data is corrected according to at least one note in the note group. As a result, live performanceTo playPerformance data having fluctuation characteristics based on it and suitable for a group of notes can be obtained and used for automatic performance and the like.
[0008]
  In the first performance data creation method,Based on performance data related to extractionThe length of the performance section should match or approximate the section length represented by the note groupRelated to extractionIf performance timing information (for example, sounding timing information, mute timing information, etc.) in performance data is corrected, even if the number of notes in the note group is changed, it is possible to cope with it simply by changing the number of notes at the time of data extraction. CanRelated to creationThere is no need to change the performance data. Also, according to the pitch represented by the note groupRelated to extractionIf you correct the pitch information in the performance data, even if the pitch in the note group is changed, you can correct the pitch information according to the pitch related to the change,Related to creationThere is no need to change the performance data. Therefore, the process becomes simple.
[0009]
  A second performance data creation method according to the present invention includes:
  Specifying a group of notes representing repetitive chords;
  Performance data that includes performance timing information and pitch information for each note and has fluctuations in performance timing based on repetitive live performance of the instrument according to a note corresponding to one of the plurality of sounds constituting the chord CreateAnd steps to
  Extract performance data for the number of chords in the note group from the created performance dataAnd steps to
  Based on the extracted performance dataThe length of the performance section matches or approximates the section length represented by the note group.ExtractedCorrecting performance timing information in performance dataFirst modificationSteps,
  Performance that has been modified in this first modification stepReplicating the data by a number one less than the number of constituents of the chord;
  The pitch information in the performance data related to the duplication is corrected according to the pitches of other sounds of the plurality of sounds constituting the chord.Second modificationStep and
Is included.
[0010]
  According to the second performance data creation method, the same effect as the first performance data creation method can be obtained. Moreover,Performance modified in the first modification stepData is one less than the number of chords (for example, 2)Few minutesAnd the pitch information in the performance data related to the duplication is modified according to the pitch of the corresponding chord component.PerformanceBased on the performance data, chord performance data can be created.
[0011]
  A third performance data creation method according to the present invention comprises:
  A group of notes representing repetitive performance of multiple notes with different pronunciation timings and pitchesA step to specify;
  Based on repetitive live performance of a musical instrument according to a plurality of notes corresponding to the plurality of notes, performance data including performance timing information and pitch information for each note and fluctuation in performance timing is created.And steps to
  From the performance data createdOf the note set corresponding to the plurality of notes in the note group.Extract performance data for the number of setsAnd steps to
  ExtractedModifying performance data according to at least one note in the note group;
Is included.
[0012]
  According to the third performance data creation method, the same effect as the first performance data creation method can be obtained. In addition, multiple sounds with different pronunciation timing and pitchFluctuating performance data based on repetitive live performances that follow multiple notesAs a result, it is possible to create multi-sound performance data having natural fluctuations such that sounds before and after are overlaid in time.
[0013]
  The automatic performance device according to the present invention is:
  First storage means for storing performance data for automatically playing music;
  For each time series of notesPerformance data created based on a live performance of an instrument according to the notes constituting the note group, including performance timing information and pitch information for each note, and fluctuation in performance timingSecond storage means for storing performance data;
  Designating means for designating a desired time-series note group in the music;
  It corresponds to the note group specified by this specifying means.PerformanceReading means for reading performance data from the second storage means;
  Read from the second storage meansPerformanceThe note specified by the specifying means from the performance dataThe number of notes of the groupExtraction means for extracting the performance data of
  Extracted by this extraction meansPerformanceFirst correction means for correcting the performance data according to at least one note in the note group designated by the designation means;
  The performance data relating to the note group designated by the designation means in the performance data of the first storage means is corrected by the first correction means.PerformanceSecond correcting means for correcting according to the performance data;
  Automatic performance means for automatically performing the music according to the performance data of the first storage means including performance data modified by the second modification means;
It is equipped with.
[0014]
  According to the automatic performance device of the present invention, when a desired note group is specified by the specifying means, it corresponds to the specified note group.PerformancePerformance data is read from the second storage means andPerformanceNotes related to performance dataThe number of notes of the groupPerformance data is extracted. ExtractedPerformanceThe performance data is corrected in accordance with the specified note group, and the performance data related to the specified note group in the performance data of the first storage means is related to the correction.PerformanceIt is corrected according to the performance data. The automatic performance of the music is performed according to the performance data in the first storage means including the performance data related to the correction. As a result, for music that is played automatically, the performance point corresponding to the specified note group isPerformance data for reading (performance data based on live performance)Fluctuation based on is given.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail by taking a tremolo performance as an example. According to the music book, the tromolo performance is a repetitive performance of a large number of fine notes in time. In general, a tremolo symbol is represented by adding a whisker H to a note N as illustrated in FIG. 1A, and is converted into a tremolo performance note as shown in FIG. . The type of tremolo performance notes is determined according to the number of whiskers H. If the number of whiskers H is one, it is an eighth note, if it is two, a sixteenth note, if it is three, a thirty-second note. Become. The number of tremolo performance notes is the number obtained by dividing the note N into notes of a type corresponding to the number of whiskers H.
[0016]
In the example of FIG. 1, note N is a half note and the number of whiskers H is two, so the tremolo performance notes are eight 16th notes. As another example, when the note N is a quarter note and the number of whiskers H is three, eight 32nd notes are tremolo performance notes.
[0017]
By the way, in a live performance of a natural musical instrument, even if the number of tremolo sounds is the same as the number of tremolo performance notes, the length and volume of each tremolo sound are often not constant, which is more natural. Sounds like playing. That is, in live performances, various non-uniformities and instabilities such as fluctuations in tempo and fluctuations in volume, which the player is conscious of or not, greatly contribute to freshness and naturalness.
[0018]
FIG. 2 shows an example of a live tremolo performance, where the horizontal axis represents time and the vertical axis represents pitch. B1~ B7Indicates the beat timing, and T1, T2... T8, T9... indicates the note N in FIG.1, N2... N8The tremolo sound corresponding to etc. is shown. The length of each tremolo sound is represented by the length of a black bar. According to FIG. 2, it can be seen that there is a variation in the length of the tremolo sound. Although not shown in FIG. 2, the tremolo sound volume also varies.
[0019]
In order to realize a natural performance, a beautiful performance, and a live performance in automatic performance of music, it is conceivable to create fluctuation performance data for automatic performance based on the live performance. FIG. 3 shows an example of performance data created based on the live performance of FIG. Tremolo sound T1For timing data TM11And note-on event data NE11And velocity data VL11And a set of on-event data including the timing data TM after the on-event data set.12And note-off event data NE12A set of off-event data including is arranged. T2For each subsequent tremolo sound, a set of on-event data and a set of off-event data are similarly arranged. Thus, for example, tremolo sound T8Off-event data set (timing data TM82And note-off event data NE82) Followed by tremolo sound T9On-event data set (timing data TM91, Note-on event data NE91And velocity data VL91) Is arranged.
[0020]
TM11, TM91The timing data such as indicate the sound generation timing of the corresponding tremolo sound. NE11, NE91The note-on event data such as indicates the pitch of the corresponding tremolo sound with the note number. VL11, VL91The velocity data such as indicate the volume of the corresponding tremolo sound. TM12, TM82The timing data such as indicate the mute timing of the corresponding tremolo sound. NE12, NE82The note-off event data, such as, indicates the pitch of the corresponding tremolo sound with a note number. Each timing data represents a time from a previous event (or a beat if there is no previous event), for example, by a count value of a tempo clock signal described later.
[0021]
It is also possible to perform an automatic performance using performance data as shown in FIG. 3 as automatic performance data. However, since it is necessary to prepare performance data based on live performance in response to changes in the number of notes and pitches in tremolo performance notes, performance data as shown in FIG. 3 is used as it is for automatic performance. Is not a good idea. Therefore, in the present invention, performance data as shown in FIG. 3 is appropriately processed based on tremolo performance notes to create new performance data.
[0022]
Next, the tremolo performance data creation method according to the present invention will be described in detail with reference to FIGS. FIG. 5 shows the processing step S1~ S7Indicates.
[0023]
Step S1Then, for example, a tremolo symbol as shown in FIG. And step S2Then, as shown in FIG. 1B, the type and number of tremolo performance notes are obtained based on the designated tremolo symbol. In the example of FIG. 4A, the note type is a sixteenth note and the number of notes is eight.
[0024]
Next, step S3Then step S2The live performance data corresponding to the note type obtained in step 1 is prepared. For this purpose, live performance data based on the live performance is stored in advance in the database for each note type, and the live performance data corresponding to the obtained note type is read from the database. As an example, live performance data as shown in FIG. 3 is prepared based on the live performance of FIG.
[0025]
Next, step S4Then step S3Step S from the live performance data prepared in2The performance data of the performance section corresponding to the number of notes obtained in step 1 is extracted. FIG. 4C shows an example of the extraction process at this time. From the live performance data based on the live performance of FIG. 4B, tremolo sound T1~ T8Performance data corresponding to is extracted. The performance data extracted in this way is shown in FIG. In FIG. 6, the same parts as those in FIG.1~ T8The performance data is extracted from the data of the section and the timing data FTM. Here, the timing data FTM is obtained as shown in FIG.9Pronunciation timing (TM82Time from the mute timing). T1~ T8The end timing of the section is the tremolo sound T8Rather than adjusting to the mute timing,8The next tremolo sound T9If you match the pronunciation timing of1~ T8When the subsequent performance data is connected to the data of the section, it is possible to reflect the silent time at the end of the section to give a natural feeling. Further, if the end mark data FMD is added after the timing data FTM, it is easy to check the end when connecting data.
[0026]
Next, step S5Then, in the performance data of the performance section related to the extraction, the length of the performance section related to the extraction matches or approximates the total length of the tremolo performance notes (corresponding to the length of the notes in FIG. 4A). Correct the timing value. The timing values corrected at this time are performance timing values such as sound generation timing and mute timing. In the example of FIG.11, TM12... TM81, TM91Is the value of FIG. 4D shows the length of the extracted section as shown in FIG.5This shows an example corrected in the above, and the section length after correction is a length corresponding to 2 beats.
[0027]
Next, step S6Then tremolo sound T1~ T8It is determined whether or not the pitch of the tremolo performance note matches the pitch of the tremolo performance note. If not, the note number in the performance data related to extraction is corrected in accordance with the pitch of the tremolo performance note. The note number corrected at this time is the event data NE in the example of FIG.11, NE12... NE81, NE82Note number.
[0028]
After this, step S7Then, the velocity value (volume level) is corrected. That is, since the velocity value in the live performance data does not necessarily match the velocity value obtained by the automatic performance, the velocity value in the performance data related to the extraction is corrected according to the volume of the first note in the tremolo performance notes. The volume of the first note is displayed with respect to the tremolo symbol in FIG. First, the velocity value corresponding to the volume of the first note and the tremolo sound T1After calculating the difference from the velocity value in the on-event data, tremolo sound T1Rewrite the velocity value in the on-event data to the velocity value corresponding to the volume of the first note. And T1T other than2~ T8The velocity value in the on-event data of each tremolo sound is corrected by addition / subtraction processing according to the difference of the velocity value obtained previously.
[0029]
As a result, for example, tremolo sound T1If the volume of the sound is increased (or decreased) by “20” as the velocity value, the tremolo sound T2~ T8The volume of sound will also increase (or decrease) by “20” as the velocity value, and T2~ T8In the performance data of the interval, the tremolo sound volume variation state during the live performance is maintained.
[0030]
FIG. 7 shows an example of a method for creating long performance data based on short live performance data. In this case, the live performance data includes tremolo sound T as shown in FIG.1~ T12Performance data for the section corresponding to is prepared. The performance data prepared at this time is a tremolo sound T as data indicating the end timing ED.12Timing data indicating the timing of the next tremolo sound.
[0031]
  Step S of FIG.4Then, from the prepared live performance data, as shown in FIG.1After extracting all data from to the end timing ED, the first tremolo sound T1Excluding data on tremolo soundsT 2 After that, data relating to the necessary number of tremolo sounds is extracted, and the first extracted data and the second extracted data are connected. In FIG. 7, RH indicates the leading position of the second extracted data. First tremolo sound T in the second extraction process1This is due to the fact that the first note is emphasized in tremolo performance, which helps to bring out the naturalness. In some cases, two or more sounds may be excluded from the beginning in the second and subsequent extraction processes.
[0032]
FIG. 8 shows the data connection status in the method of FIG. At the end of the first extraction data, tremolo sound T12The end mark data FMD is arranged after the post-timing data FTM (data indicating the end timing ED) of the off event data set. The second extraction data is tremolo sound T2Timing data TM21Tremolo sound T2Note-on event data NE21Is included as head data. When connecting the extracted data for the first time and the second time, note-on event data NE is used instead of the end mark data FMD.21Is connected to the timing data FTM. Thereafter, if necessary, the same extraction / connection process as described above is performed, and step S in FIG. 5 is performed.5The subsequent processing is performed.
[0033]
FIG. 9 shows another example of a method for creating long performance data based on short live performance data. The same parts as those in FIG.
[0034]
The method of FIG. 9 is characterized by tremolo sound T as shown in FIG.12Is the end timing ED. In this case, as shown in FIG. 9B, tremolo sound T in the first extracted data.12Is not pronounced.
[0035]
  FIG. 10 shows the data connection status in the method of FIG. At the end of the first extraction data, tremolo sound T11After tremolo sound T12Timing data (indicating pronunciation timing) TM2 followed by tremolo sound T12Note-on event data NE2 is arranged. The second extraction data is the same as in FIG. When connecting the extracted data for the first time and the second time, a note is used instead of the note-on event data NE2.onEvent data NE21Is connected to the timing data TM2. Thereafter, if necessary, the same extraction / connection process as described above is performed, and step S in FIG. 5 is performed.5The subsequent processing is performed.
[0036]
Next, a method for creating performance data relating to a multi-tone tremolo will be described. In the case of a multi-tone tremolo, there can be a plurality of performance forms for one tremolo symbol, so it is necessary to first determine the performance form and prepare live performance data corresponding to the performance form.
[0037]
As an example, the same compound tremolo symbol is shown in FIGS. This tremolo symbol may be played after being converted into a chord-repeating tremolo performance note as shown in FIG. 11B, or as an alternating sound performance tremolo performance as shown in FIG. It may be played after being converted into notes. For example, in the case of a musical instrument such as a violin that can generate multiple sounds and can easily be repeated, a chord is repeatedly played as shown in FIG. On the other hand, when a multi-tone cannot be generated like a wind instrument, or a multi-tone can be played repeatedly but difficult as a piano, a chord component is played alternately as shown in FIG. It is common.
[0038]
When performance data is created for the tremolo performance of FIG. 11B, the same method as described above with reference to FIG. 5 can be used. In this case, as live performance data, data based on a sixteenth note tremolo performance as shown in FIG. 11B is prepared.
[0039]
As another method for creating performance data regarding the tremolo performance of FIG. 11B, as shown in FIG. 13, a method of using live performance data based on repetitive performance of one of a plurality of sounds constituting a chord is used. There is also. This method has an advantage that the amount of live performance data to be prepared is small.
[0040]
In the step of FIG. 13A, a desired compound tremolo symbol is designated. As an example, the half note N11, N12And a two-tone tremolo symbol with two whiskers. Then, based on the tremolo symbol according to the designation, the type and number of tremolo performance notes are obtained as shown in FIG. The number of notes is one of the upper and lower notes. In the example of FIG. 11B, the note type is a sixteenth note and the number of notes is eight.
[0041]
Next, in the step of FIG. 13B, live performance data corresponding to the previously obtained note type is prepared. This live performance data is not based on a chord performance, but based on a repetitive performance of one of the multiple sounds constituting the chord. In the example of FIG. 13B, the note N11The live performance data based on the tremolo performance of the sixteenth notes corresponding to is prepared.
[0042]
Next, in the step of FIG. 13C, performance data for a performance section corresponding to the number of notes previously obtained is extracted from the live performance data prepared previously. This extraction process is performed in step S of FIG.4In the same manner as described above, if the live performance data is shorter, extraction / connection processing is performed in the same manner as described in FIG. In the example of FIG. 13C, the tremolo sound T1~ T8The first series of performance data corresponding to is extracted. This performance data includes tremolo sound T8Timing data indicating the timing of the next tremolo sound is included.
[0043]
Next, in the step of FIG. 13D, step S of FIG.5In the same manner as described above, the timing value in the extracted performance data is corrected to adjust the length of the performance section related to the extraction. In the example of FIG. 13D, tremolo sound T1~ T8Adjust the length of the performance section including the length equivalent to 2 beats.
[0044]
Next, in the step of FIG. 13E, the performance data of the performance section that has been modified is duplicated by a number that is one less than the number of chord constituent sounds. In the example of FIG. 13E, since the number of chord constituent sounds is 2, tremolo sound T1~ T8Copy the first series of performance data corresponding to the tremolo sound t1~ T82nd performance data corresponding to is obtained.
[0045]
Thereafter, the note number (pitch) in the performance data related to the duplication is corrected in accordance with the pitches of other sounds of the plurality of sounds constituting the chord. In the example of FIG. 13E, the tremolo sound t1~ T8The note number in the performance data corresponding to the note N in FIG.12Correct according to the pitch. Tremolo sound T1~ T8Is the note N11When not following the pitch of the tremolo sound T1~ T8The note number in the performance data corresponding to11Correct according to the pitch.
[0046]
According to the above-described processing, two series of performance data corresponding to the two sounds constituting the chord can be obtained as shown in FIG. However, in these two series of performance data, the sound volume is the same for every two sounds that are sounded at the same time and the sounding timing is the same, and it is inevitable that the sense of chords becomes unnatural. Accordingly, in the present invention, the velocity value is corrected to be different at the chord sounding timing between the two series of performance data, and the sounding timing value is also made to be different.
[0047]
In the velocity value correction processing, as shown in FIG. 14, the chord is composed of the lowest sound ML, the intermediate sound MT, and the highest sound MH, and the volumes of the lowest sound, the intermediate sound, and the highest sound are VML, VMT, and VMH, respectively. If the volume relationship is defined as VMH> VML> VMT, the balance as a chord tends to be improved. For example, when performing volume control with a velocity value in the range of 0 to 127, the velocity value of the lowest tone is set to a value of about -5 to -10 with respect to the highest tone, and the velocity value of the intermediate tone is set to-. It may be set to a value of about 10 to -20. Also, instead of always reducing the volume by a predetermined value, it is better to reduce the volume and change the amount randomly. For example, the velocity value of the lowest sound may be set to −10 with respect to the highest sound, and may be changed randomly within a range of ± 10 over time.
[0048]
Even with the velocity value correction processing as described above, fairly natural non-uniformity can be given. However, if the volume control is performed according to the chord element, for example, the root tone is large and the third tone is small, further naturalness is achieved. Non-uniformity can be provided.
[0049]
In the velocity value correction processing for the two series of performance data shown in FIG. 13E, first, the tremolo sound t, which is the highest tone.1~ T8The velocity value of the second series of performance data corresponding to is corrected. That is, note N12Velocity value and tremolo sound t corresponding to the volume specified for (the volume of the first note in the tremolo performance note corresponding to the highest note)1After obtaining the difference from the velocity value in the on-event data, the tremolo sound t1Rewrite the velocity value in the on-event data to the velocity value corresponding to the volume of the first note. And t1Other than t2~ T8The velocity value in the on-event data of each tremolo sound is corrected by addition / subtraction processing according to the difference of the velocity value obtained previously.
[0050]
Next, the lowest note T1~ T8The velocity value is corrected for the corresponding performance data of the first series. In this case, note N11The velocity value corresponding to the volume specified for (the volume of the first note in the tremolo performance note corresponding to the lowest note) is the note N12It is assumed that the velocity value is lower by a predetermined value (for example, 10) than the velocity value corresponding to the designated volume (if it is not lower by the predetermined value, it is lower by the predetermined value). And note N11The velocity value in the first series of performance data is corrected in the same manner as in the case of the second series of performance data, using the velocity value corresponding to the volume specified for. As a result, tremolo sound T1~ T8The velocity value corresponding to is the tremolo sound t1~ T8Is lower by a predetermined value (for example, 10) than the velocity value corresponding to.
[0051]
According to the processing described above, each velocity value in the first series of performance data differs from the corresponding velocity value in the second series of performance data by a predetermined value, but the first series of performance data is copied. Since there are two series of performance data, in the first and second series of performance data, the tremolo sound volume variation state is the same. In order to make such a variation state of the volume different, processing for randomly correcting the velocity value as described above can be performed on at least one of the first or second performance data. .
[0052]
In the sounding timing value correction process, the sounding timing value in the performance data of the first series is randomly set within a predetermined range for each sounding timing of the chord, and the sounding timing value in the performance data of the second series is set as the chord of the chord. Randomly set within a predetermined range for each sounding timing. In this case, temporal variation can be expressed by setting the predetermined range to a range of ± 5, for example. If the amount of time change is too large, it will not sound like a chord rather than a temporal variation, so an appropriate value must be selected. Assuming that the resolution of the quarter note is 480, when the quarter note is about 120, it is appropriate that the time variation is about 5 to 10.
[0053]
When creating performance data for the tremolo performance shown in FIG. 12B, single-tone live performance data may be used, but it is better to use multiple-tone live performance data. Taking a piano as an example, a single-tone tremolo is a continuous hit of the same sound, and it is impossible for the mechanism that sound generation times of the preceding and following sounds overlap. On the other hand, in the sound tremolo, the sound generation times of the preceding and following sounds can overlap, and it is more natural that they overlap.
[0054]
FIG. 15 shows a performance data creation method using raw live music data. In the step of FIG. 15 (A), the same symbol as in the case of FIG. 13 (A) is specified. Based on the designated tremolo symbol, the type and number of tremolo performance notes are obtained as shown in FIG. The number of notes is determined by the number of sets, with two upper and lower notes as one set. In the example of FIG. 12B, the note type is a sixteenth note and the number of notes is four.
[0055]
Next, in the step of FIG. 15 (B), live live music data corresponding to the previously obtained note type is prepared. In the example of FIG. 15B, as shown in FIG. 12B, live performance data based on repetitive performance of two 16th notes having different sounding timings and pitches is prepared. In this example, alternating sounds with different pitches (eg, T11And T21, T21And T12Etc.) It can be seen that there is an overlap in pronunciation time.
[0056]
Next, in the step of FIG. 15C, performance data for a performance section corresponding to the number of notes obtained previously is extracted from the live performance data prepared previously. In the example of FIG. 15C, performance data (tremolo sound T corresponding to four sets of musical notes).11~ T14, T21~ T24Performance data) is extracted. This performance data includes tremolo sound T14The next tremolo sound T15Timing data that indicates the sound generation timing of the tremolo sound T24The next tremolo sound T25Timing data for instructing the sound generation timing is included. Tremolo sound T24The mute timing of the tremolo sound T15It is later than the pronunciation timing. This is due to the overlapping of pronunciation times.
[0057]
Next, step S in FIG.5In the same manner as described above, the timing value in the extracted performance data is corrected to adjust the length of the performance section related to the extraction. In the example of FIG. 15C, the tremolo sound T11~ T14The length of the performance section including the length is equivalent to 2 beats, and the tremolo sound T24Is allowed to be outside the performance section. This will help to give a sense of nature. After this, if necessary, step S in FIG.6, S7The pitch and volume correction processing can be performed in the same manner as described above.
[0058]
FIG. 16 shows a method of creating long multi-tone tremolo performance data based on short multi-tone tremolo performance data. The same parts as in FIG.
[0059]
In the step of FIG. 16A, live performance data similar to that described in FIG.11~ T14, T21~ T24Prepare only for the performance section corresponding to. This live performance data is the tremolo sound T14The next tremolo sound T15Including timing data that indicates the timing of sound generation and tremolo sound T24The next tremolo sound T25Timing data for instructing the sound generation timing. EN represents the end timing of the performance section corresponding to 2 beats.
[0060]
In the step of FIG. 16 (B), the first set of tremolo sounds T is generated from the prepared live performance data.11, T21~ Tremolo sound T14, T24Performance data (Tremolo sound T15, T25The first pair of tremolo sounds T11, T212nd set of tremolo sounds T12, T22~ Tremolo sound T14, T24Performance data (Tremolo sound T15, T25(Including timing data indicating the timing of sound generation). In FIG. 16, RH indicates the leading position of the second extracted data. The first set of tremolo sounds T in the second extraction process11, T21This is due to the fact that the first set of notes is emphasized in a double-tone tremolo performance, which helps to bring out the naturalness.
[0061]
The first extraction data and the second extraction data are connected as shown in FIG. That is, tremolo sound T14Tremolo sound T in the off event data set12Together with a set of on-event data and tremolo sound T12Tremolo sound T in the set of on-event data24Connected off event data set, tremolo sound T24Tremolo sound T in the off event data set22Connect a set of on-event data. Where tremolo sound T12As timing data, tremolo sound T15Tremolo sound T using timing data indicating the sound generation timing TM1522As timing data, tremolo sound T25The timing data indicating the sound generation timing TM25 is used. In this way, it is possible to give a natural feeling by reflecting the silent time after the performance of the last set of notes.
[0062]
Thereafter, if necessary, the same extraction / connection processing as described above is performed, and the processing after the section length adjustment described in FIG.
[0063]
FIG. 18 exemplifies the conversion of various compound tremolo symbols into compound tremolo performance notes.
[0064]
FIGS. 18A to 18C are examples of tremolo performances by repeating single notes and multiple notes. In the example of FIG. 18C, the combination of repetitions is explicitly shown on the score, but in the examples of FIGS. 18A and 18B, the combination of repetitions is not explicitly shown in the score. If not specified, the combination of repetitions is free, but will follow the normal playing style in terms of finger function.
[0065]
In the example of FIG. 18A, when playing with the right hand, it is common to divide it into 2: 1 (compound + single note), and when playing with the left hand, it becomes 1: 2 (single note + multiple note). It is common to divide. That is, it is customary that the thumb becomes a single sound and the other fingers become a complex sound. Since the thumb is stronger than the other fingers, it is considered that such a combination naturally occurs when balanced. Therefore, when it is possible to determine whether a specific tremolo symbol is played with the right hand or the left hand by looking at the entire score, the division form is determined according to the determination result.
[0066]
18D and 18E show two tremolo performance notes based on the same compound tremolo symbol. The example in FIG. 18D is divided into 1: 3 (single sound + compound sound), and the example in FIG. 18E is divided into 2: 2 (compound sound + compound sound). If a right hand performance is assumed, the performance is generally as shown in FIG. However, the performance as shown in FIG. 18E is not without aiming at a certain effect. Therefore, what division form should be determined in advance.
[0067]
It may be unclear whether a particular tremolo is played with the right or left hand just by looking at the entire score. In such a case, since it may be a scene of using either one of the hands, the division form may be determined as performing with the right hand.
[0068]
After the division form is determined as described above, a live performance is performed according to tremolo performance notes corresponding to the division form related to the determination, and live performance data is prepared. Then, using the prepared live performance data, fluctuation performance data is created as described in FIGS.
[0069]
FIG. 19 shows a circuit configuration of an electronic musical instrument provided with an automatic performance device according to an embodiment of the present invention. In this electronic musical instrument, musical tone generation, automatic performance, and the like are controlled by a small computer such as a personal computer.
[0070]
The bus 10 includes a CPU (Central Processing Unit) 12, a ROM (Read Only Memory) 14, a RAM (Random Access Memory) 16, detection circuits 18 and 20, a display control circuit 22, a timer 24, an interface 26, A storage device 28, a sound source device 30, a DSP (digital signal processor) 32, a sound system 34, and the like are connected.
[0071]
The CPU 12 executes various processes for generating musical sounds, automatic performances, and the like according to a program stored in the ROM 14, and these processes will be described later with reference to FIGS.
[0072]
The RAM 16 includes a large number of storage areas that are used as flags, registers, and the like during various processes by the CPU 12. The storage areas related to the implementation of the present invention include a run / stop flag RUN, a fluctuation addition flag UA, and fluctuation enhancement. A flag UB, music performance data storage units MA and MB, a standard performance data storage unit RA, an extracted performance data storage unit RB, and the like are provided.
[0073]
The detection circuit 18 detects key operation information from the keyboard 36. The detection circuit 20 detects operation information of various operators from the operator group 38. The operator group 38 includes various operators provided on the panel surface, a keyboard capable of inputting characters and numbers, and a mouse as a pointing device. As the controls related to the implementation of the present invention, a fluctuation adding switch, a fluctuation strengthening switch, a start / stop switch, and the like are provided. The mouse and keyboard are used for music selection operations, tremolo symbol designation operations, and the like.
[0074]
The display control circuit 22 enables various displays (for example, a score display) by controlling the display operation of the display 40.
[0075]
The timer 24 generates a clock pulse as the tempo clock signal TCL at a period corresponding to the given tempo data TD. The tempo clock signal TCL is supplied to the CPU 12 as an interrupt instruction. The CPU 12 starts the interrupt process of FIG. 24 every time a clock pulse as the tempo clock signal TCL is generated. By this interruption process, an automatic performance is performed based on the music performance data in the storage unit MA or MB.
[0076]
The interface 26 conforms to the MIDI (Musical Instrument Digital Interface) standard and is provided for information communication such as musical tone control information and performance information with an external device 42 such as a MIDI device.
[0077]
The storage device 28 is capable of detaching one or more types of storage media such as HD (hard disk), FD (floppy disk), CD (compact disk), DVD (digital multipurpose disk), MO (magneto-optical disk), etc. It is. When a desired storage medium is mounted on the storage device 28, data can be transferred from the storage medium to the RAM 16. If the mounted storage medium is writable like HD or FD, the data in the RAM 16 can be transferred to the storage medium. In this embodiment, automatic performance can be performed by selecting and reading performance data of a desired music from a storage medium storing performance data of a large number of music.
[0078]
As the program storage means, a storage medium (the aforementioned HD, CD, DVD, MO, etc.) of the storage device 28 can be used instead of the ROM 14. In this case, the program stored in the storage medium is transferred from the storage device 28 to the RAM 16. Then, the CPU 12 is operated according to the program stored in the RAM 16. In this way, it is possible to easily add a program or upgrade a version. By connecting the storage device 28 to the communication network, it is possible to acquire music performance data and reference performance data to be edited, and to easily update the program.
[0079]
The tone generator 30 has a large number (for example, 64) of tone generation channels. When there is a sound generation request based on a key pressing operation on the keyboard 36 and / or data reading from the storage unit MA or MB, the CPU 12 generates a sound generation command signal, note number (pitch information) and velocity corresponding to each sound generation request. A value (volume information) is assigned to one of the free musical tone generation channels. For this reason, a musical tone signal having a pitch corresponding to the note number is generated from the musical tone generating channel related to the allocation at a volume corresponding to the velocity value. When there is a mute request based on a key release operation on the keyboard 36 and / or data reading from the storage unit MA or MB, the CPU 12 generates a musical tone signal that is generating a tone signal corresponding to the note number associated with each mute request. A mute command signal is supplied to the generation channel to start attenuation of the musical sound signal being generated.
[0080]
The DSP 32 can give various effects such as timbre, volume, and sound to the digital musical tone signal from the sound source device 30, and the effect to be given is the operation of the panel operator in the operator group 38. Based on this, the CPU 12 instructs.
[0081]
The sound system 34 includes a digital / analog converter, an output amplifier, a speaker, and the like, and converts a musical sound signal from the DSP 32 into sound.
[0082]
20 and 21 show the flow of processing of the main routine. This routine starts in response to power-on or the like. In step 50, initial setting processing is performed to initialize various flags, registers, and the like.
[0083]
Next, in step 52, it is determined whether there is a music selection operation. On the screen of the display 40, the names of selectable songs are displayed. The user can select a desired music piece from among the displayed music pieces by operating the mouse. If the determination result in step 52 is affirmative (Y), the process proceeds to step 54.
[0084]
In step 54, the performance data of the selected music is read from the storage device 28 (or ROM 14) and stored in the storage units MA and MB. In step 56, the score is displayed on the screen of the display 40 based on the performance data in the storage unit MB. It is assumed that each piece of music performance data in the storage device 28 (or ROM 14) is in accordance with the score and does not have fluctuation characteristics.
[0085]
When the determination result at step 52 is negative (N) or when the processing at step 56 is finished, it is determined at step 58 whether or not the fluctuation addition switch (SW) is operated. If the result of this determination is affirmative (Y), the contents of the flag UA are reversed (1 if 0, 0 if 1) in step 60.
[0086]
When the determination result at step 58 is negative (N) or when the process at step 60 is completed, it is determined at step 62 whether the fluctuation strengthening switch (SW) is operated. If the result of this determination is affirmative (Y), the contents of the flag UB are reversed at step 64.
[0087]
When the determination result at step 62 is negative (N) or when the process at step 64 is completed, it is determined at step 66 whether the start / stop switch (SW) is operated. If the result of this determination is affirmative (Y), the contents of the flag RUN are reversed at step 68.
[0088]
When the determination result at step 66 is negative (N) or when the processing at step 68 is finished, it is determined at step 70 whether the value of the flag RUN has changed from 0 to 1. If the result of this determination is affirmative (Y), in step 72, the reading position is set at the head position in the storage units MA and MB. This is a preparation process for reading performance data.
[0089]
  When the determination result at step 70 is negative (N) or when the process at step 72 is completed, it is determined at step 74 whether the value of RUN has changed from 1 to 0. The result of this decisionPositiveIf (Y), at step 76, the automatic performance sound is silenced. That is, all the musical sound signals generated as automatic performance sound signals in the sound source device 30 are started to attenuate.
[0090]
When the determination result at step 74 is negative (N) or when the processing at step 76 is finished, it is determined at step 78 whether or not there is a tremolo symbol designation operation. The user can specify a tremolo symbol for which a fluctuation is desired to be added in the score displayed on the screen of the display device 40 by operating the mouse or the like. If the determination result in step 78 is affirmative (Y), the process proceeds to step 80.
[0091]
In step 80, it is determined whether the flag UA is 1 (whether the mode is a fluctuation addition mode). If the result of this determination is affirmative (Y), a subroutine for fluctuation addition processing is executed at step 82. This subroutine will be described later with reference to FIG.
[0092]
When the determination result of step 78 is negative (N), when the determination result of step 80 is negative (N), or when the processing of step 82 has passed, the flags UA and UB are set in step 84. Both are determined to be 1. If the determination result is affirmative (Y), in step 86, the performance data in the storage unit MB is randomly corrected within a predetermined range. For example, the sound generation timing value and the velocity value in the performance data are each randomly corrected within a predetermined range. As a result, the performance data to which the fluctuation property is added by the fluctuation addition process in step 82 is further enhanced in the fluctuation property.
[0093]
When the determination result at step 84 is negative (Y) or when the process at step 86 is completed, other processes are performed at step 88. Other processes include a tone generation process based on a key operation on the keyboard 36, a process for setting various tone parameters (for example, tone color, effect, automatic performance tempo, etc.) based on the operation of a panel operator.
[0094]
  After step 88, it is determined in step 90 whether there is an end instruction such as power off. The result of this decision is negative(N)If so, the process returns to step 52, and the processing after step 52 is repeated in the same manner as described above. If the determination result in step 90 is affirmative (Y), the processing ends.
[0095]
FIG. 22 shows the flow of the fluctuation adding process. In step 100, based on the tremolo symbol according to the designation in step 78 in FIG. 21, step S in FIG.2The type and number of notes for tremolo performance are obtained in the same manner as described above.
[0096]
Next, in step 102, live performance data corresponding to the previously determined note type is read from the database and stored as reference performance data in the storage unit RA. As the database, a storage device 28 (or ROM 14) is used, in which live performance data is stored in advance for each note type. As described above with reference to FIGS. 11 and 12, when there are a plurality of performance forms in one tremolo symbol, a plurality of performance forms (tremolo performance notes) are displayed on the screen of the display 40, and the tremolo symbol by the user is displayed. When designating, the user is allowed to designate a desired performance form. In step 102, live performance data corresponding to the performance form designated by the user is read and stored in the storage unit RA. In this way, the user's preference can be further reflected in the performance data to be created.
[0097]
Next, in step 104, the performance data of the performance section corresponding to the number of notes obtained previously is extracted from the performance data in the storage unit RA and stored in the storage unit RB. The extraction process at this time is the same as step S in FIG.4It can be performed in the same manner as described above.
[0098]
Next, in step 106, step S of FIG.5~ S7In the same manner as described above, the performance timing value, note number, and velocity value in the performance data of the storage unit RB are corrected according to the tremolo performance notes. As a result, the storage unit RB has completed the creation of fluctuation performance data based on the live performance.
[0099]
Thereafter, in step 108, the performance data in the storage unit MB is corrected in accordance with the performance data in the storage unit RB. As an example, the performance data is corrected as shown in FIG.
[0100]
  That is, the storage unit MB stores performance data of a music piece to be selected, and the performance data corresponding to the designated tremolo symbol is a tremolo sound TN1Tremolo sound T from a set of on-event dataNMData up to a set of off-event data. On the other hand, the storage unit RB stores a tremolo sound T as performance data corresponding to the designated tremolo symbol.n1ofonTremolo sound T from a set of event datanmUp to off-event data set and tremolo sound TnmThe timing data FTM for instructing the next tremolo sound generation timing and the data FMD representing the end mark are stored. Tremolo sound TN1The timing data of represents the time from the silence timing of the previous tremolo sound to the beginning of the beat, and the tremolo sound Tn1If the timing data of represents the time from the beginning of the beat, TN1The timing value of Tn1A new T is added to the timing value ofN1Timing value. TN1Note-on event data from TNMData up to note-off event data of Tn1Note-on event data from TnmRewrite according to the data up to note-off event data. In addition, TNMThe next tremolo sound TNNAre rewritten in accordance with the timing data FTM. This is to reflect the silent time at the end of the section in the performance data of the storage unit MB. When the performance data is corrected as described above, the routine returns to the routines of FIGS.
[0101]
FIG. 24 shows an interrupt process for automatic performance. In step 100, it is determined whether the flag RUN is 1. If the result of this determination is negative (N), the processing described below is unnecessary, and the routine returns to the routines of FIGS.
[0102]
If the determination result of step 100 is affirmative (Y), the process moves to step 112, and it is determined whether the flag UA is 1 (whether it is a fluctuation addition mode). If the result of this determination is negative (N), it is determined in step 114 whether the playback timing has been reached. This determination can be made by examining whether the timing value indicated by the timing data of the reading position in the storage unit MA matches the count value of the tempo counter (in RAM 16) that counts the tempo clock signal TCL. If the determination result of step 114 is negative (N), the routine returns to the routines of FIGS.
[0103]
If the determination result in step 114 is affirmative (Y), event data that is paired with the timing data determined to be the reproduction timing is read from the storage unit MA in step 116. The event data read at this time is note-on event data and velocity data, note-off event data, or other event (for example, tone color or volume change event) data.
[0104]
Next, in step 118, it is determined whether the read event data is note event data. If the result of this determination is affirmative (Y), it is determined in step 120 whether it is note-on event data. If this determination result is affirmative (Y), sound generation processing is performed in step 122. That is, the note number in the note-on event data for reading, the velocity value in the velocity data, and the sound generation command signal are assigned to one of the empty tone generation channels to generate a tone signal. Then, the process returns to the routines of FIGS.
[0105]
If the determination result in step 120 is negative (N), it means that the event is a note-off event, and the mute process is performed in step 124. That is, a mute command signal is supplied to a tone generation channel that is generating a tone signal in accordance with the same note number as the note number in the note-off event data for reading, and the tone signal is started to attenuate. Then, the process returns to the routines of FIGS.
[0106]
If the determination result in step 118 is negative (N), processing corresponding to the read data is performed in step 126. For example, if the read data is data instructing to change the volume corresponding to the total volume, the volume is changed according to the data. When the event data is read as described above, the read position is changed to the position of the timing data in the next event data.
[0107]
According to the processing of steps 114 to 126 described above, an automatic performance without fluctuation can be performed based on the performance data in the storage unit MA.
[0108]
If the determination result in step 112 is affirmative (Y) (in the fluctuation addition mode), it is determined in step 128 whether the reproduction timing has been reached. This determination can be made by checking whether the timing value indicated by the timing data of the reading position in the storage unit MB matches the count value of the tempo counter described above. If the determination result of step 128 is negative (N), the routine returns to the routines of FIGS.
[0109]
If the determination result in step 128 is affirmative (Y), event data that is paired with the timing data determined to be the reproduction timing is read from the storage unit MB in step 130. The event data read at this time is the same type as described in step 116.
[0110]
Next, in step 132, it is determined whether the read event data is note event data. If the result of this determination is affirmative (Y), it is determined in step 120 whether it is note-on event data. If the result of this determination is affirmative (Y), sound generation processing is performed in the same manner as described above at step 122 to generate a musical sound signal.
[0111]
If the determination result in step 120 is negative (N), the mute process is performed in the same manner as described above in step 124 to start attenuation of the musical sound signal.
[0112]
If the decision result in the step 132 is negative (N), the process moves to a step 126, and the process corresponding to the read data is performed as described above.
[0113]
According to the processing in steps 128 to 132 and 120 to 126 described above, the tremolo unit has performance data stored in the storage unit MB (that is, fluctuation performance data created based on the live performance as described in FIG. 23). Automatic performance emphasizing the fluctuation of the tremolo part based on the performance data). Further, when the fluctuation enhancement mode is set, the fluctuation characteristics of the tremolo portion are further enhanced, and fluctuation characteristics are imparted to portions other than the tremolo portion.
[0114]
The present invention is not limited to the above-described embodiment, and can be implemented in various modifications. For example, the following changes are possible.
[0115]
(1) The performance data in the storage unit MB is transferred to the storage medium of the storage device 28, and the electronic musical instrument or another electronic musical instrument performs automatic performance based on the performance data in the storage medium at other occasions. Also good.
[0116]
(2) The calculation processing for volume setting is not limited to addition / subtraction processing, but multiplication / division processing.
May be used. However, it is better not to use the addition / subtraction process and the multiplication / division process together in one process.
[0117]
(3) The performance data is not limited to tremolo performance data, and performance data of a group of notes such as arpeggio, trill, glissando, etc. may be created.
[0118]
(4) The performance data format is not limited to the “event + relative time” method in which the event occurrence time is expressed as a relative time from the previous event, and the event occurrence time is expressed in absolute time in a song or measure. "Event + absolute time" method, note pitch and note length, rest and rest length "music pitch (rest) + note length" method, memorize every minimum time unit of event occurrence Any method such as a method of securing an area and storing an event in a storage area corresponding to the event occurrence time can be used.
[0119]
【The invention's effect】
As described above, according to the present invention, the reference performance data with fluctuation characteristics corresponding to the note types in the time-series note group is prepared, and the performance data of the performance section corresponding to the number of notes in the note group is prepared. Since the performance data is extracted from the reference performance data and the performance data of the performance section related to the extraction is corrected according to at least one note in the note group, fluctuation performance data can be easily created for each desired note group. In addition, there is no need to change the standard performance data for the same type of notes, and the effect of simplifying the processing can be obtained.
[0120]
In addition, the performance timing information and pitch information in the performance data of the extracted performance sections are corrected according to the section length and pitch of the note group, so the number of notes and pitch in the note group are changed. However, there is no need to change the reference performance data, and the effect of simplifying the processing can be obtained.
[0121]
In addition, a desired note group is designated and performance data corresponding to the designated note group is created by the method of the present invention, and a part of the performance data for automatic performance is corrected according to the created performance data. As a result, it is possible to easily add fluctuations to some of the music that is played automatically, or to easily change the group of notes that add fluctuations, so that you can easily enjoy automatic performances that approximate live music. An effect is obtained.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of conversion of tremolo symbols into tremolo performance notes.
FIG. 2 is a diagram showing an example of a live tremolo performance.
FIG. 3 is a diagram illustrating an example of performance data created based on the live performance of FIG. 2;
FIG. 4 is a diagram showing an example of a tremolo performance data creation method according to the present invention.
FIG. 5 is a flowchart for explaining the method of FIG. 4;
6 is a diagram showing an example of performance data created by the method of FIGS. 4 and 5. FIG.
FIG. 7 is a diagram illustrating an example of a method for creating long performance data based on short live performance data.
FIG. 8 is a diagram showing a data connection status in the method of FIG. 7;
FIG. 9 is a diagram showing another example of a method for creating long performance data based on short live performance data.
FIG. 10 is a diagram showing a data connection status in the method of FIG. 9;
FIG. 11 is a diagram illustrating an example of conversion of a multi-tone tremolo symbol into a tremolo performance note.
FIG. 12 is a diagram illustrating another example of conversion of a multi-tone tremolo symbol into a tremolo performance note.
FIG. 13 is a diagram showing an example of a method for creating multi-tone tremolo performance data according to the present invention.
14 is a diagram for explaining volume setting of a chord constituent sound in the method of FIG. 13;
FIG. 15 is a diagram showing another example of a method of creating multi-tone tremolo performance data according to the present invention.
FIG. 16 is a diagram showing an example of a method of creating long compound tremolo performance data based on short compound tremolo live performance data.
FIG. 17 is a diagram showing a data connection status in the method of FIG. 16;
FIG. 18 is a diagram illustrating conversion of various compound tremolo symbols into compound tremolo performance notes.
FIG. 19 is a block diagram showing a circuit configuration of an electronic musical instrument provided with an automatic performance device according to an embodiment of the present invention.
FIG. 20 is a flowchart showing a part of a main routine.
FIG. 21 is a flowchart showing the remaining part of the main routine.
FIG. 22 is a flowchart showing a subroutine for fluctuation addition.
FIG. 23 is a diagram showing an example of performance data correction.
FIG. 24 is a flowchart showing interrupt processing.
[Explanation of symbols]
10: Bus, 12: CPU, 14: ROM, 16: RAM, 18, 20: Detection circuit, 22: Display control circuit, 24: Timer, 26: Interface, 28: Storage device, 30: Sound source device, 32: DSP , 34: Sound system, 36: Keyboard, 38: Operator group, 40: Display, 42: External device, RUN: Run / stop flag, UA: Fluctuation addition flag, UB: Fluctuation enhancement flag, MA, MB: Music Performance data storage unit, RA: reference performance data storage unit, RB: extracted performance data storage unit.

Claims (15)

時系列的な音符群を指定するステップと、
前記音符群の構成音符に従う楽器の生演奏に基づいて、各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを作成するステップと、
作成された演奏データから前記音符群の音符数分の演奏データを抽出するステップと、
抽出された演奏データを前記音符群中の少なくとも1つの音符に従って修正するステップと
を含む演奏データ作成方法。
Specifying a time-series note group ;
Creating performance data that includes performance timing information and pitch information for each note and has fluctuations in performance timing based on a live performance of the musical instrument according to the notes constituting the note group ;
Extracting performance data for the number of notes of the note group from the created performance data ;
Correcting the extracted performance data according to at least one note in the group of notes.
前記修正するステップでは、前記抽出された演奏データに基づく演奏区間の長さが前記音符群で表わされる区間長と一致又は近似するように前記抽出された演奏データ中の演奏タイミング情報を修正する請求項1記載の演奏データ作成方法。The correcting step corrects performance timing information in the extracted performance data so that a length of a performance section based on the extracted performance data matches or approximates a section length represented by the note group. Item 2. The performance data creation method according to Item 1. 前記修正するステップでは、前記音符群で表わされる音高に従って前記抽出された演奏データ中の音高情報を修正する請求項1又は2記載の演奏データ作成方法。3. The performance data creation method according to claim 1, wherein in the correcting step, pitch information in the extracted performance data is corrected according to a pitch represented by the note group. 前記作成するステップにおいて前記演奏データは各音符毎に前記演奏タイミング情報として発音タイミング情報を含み、前記抽出するステップでは、前記抽出された演奏データに基づく演奏区間の最後の音符の次の音符に関する発音タイミング情報を前記作成された演奏データから抽出して前記抽出された演奏データに含ませる請求項1〜3のいずれかに記載の演奏データ作成方法。 In the creating step, the performance data includes sounding timing information as the performance timing information for each note, and in the extracting step, the sounding related to the note following the last note in the performance section based on the extracted performance data is generated. 4. The performance data creation method according to claim 1, wherein timing information is extracted from the created performance data and included in the extracted performance data. 前記作成するステップでは、前記音符群中の音符数より少ない所定の音符数に対応して前記演奏データを作成し、前記抽出するステップでは、前記作成された演奏データにおいて先頭音符を含めて複数音符分の演奏データを抽出した後該先頭音符を除いて必要音符数分の演奏データを抽出すると共に先に抽出された演奏データと後で抽出された演奏データとを接続することにより前記音符群の音符数分の演奏データを得る請求項1〜4のいずれかに記載の演奏データ作成方法。In the creating step, the performance data is created corresponding to a predetermined number of notes smaller than the number of notes in the note group, and in the extracting step, a plurality of including the first note are included in the created performance data. After extracting the performance data for the notes, the performance data for the required number of notes is extracted by removing the first note, and the performance data extracted earlier and the performance data extracted later are connected to thereby extract the note group. The performance data creation method according to claim 1 , wherein performance data corresponding to the number of notes is obtained . 和音の反復演奏を表わす音符群を指定するステップと、
前記和音を構成する複数音のうちの1音に相当する音符に従う楽器の反復的な生演奏に基づいて、各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを作成するステップと、
作成された演奏データから前記音符群中の和音数分の演奏データを抽出するステップと、
抽出された演奏データに基づく演奏区間の長さが前記音符群で表わされる区間長と一致又は近似するように前記抽出された演奏データ中の演奏タイミング情報を修正する第1の修正ステップと、
この第1の修正ステップで修正を受けた演奏データを前記和音の構成音数より1少ない数分だけ複製するステップと、
複製に係る演奏データ中の音高情報を前記和音を構成する複数音のうちの他の音の音高に従って修正する第2の修正ステップと
を含む演奏データ作成方法。
Specifying a group of notes representing repetitive chords;
Performance data including performance timing information and pitch information for each note and having fluctuations in performance timing based on repetitive live performance of a musical instrument according to a note corresponding to one of a plurality of sounds constituting the chord The steps of creating
Extracting performance data corresponding to the number of chords in the note group from the created performance data ;
A first correction step of correcting performance timing information in the extracted performance data so that a length of a performance section based on the extracted performance data matches or approximates a section length represented by the note group;
Replicating the performance data modified in the first modification step by a number one less than the number of constituents of the chord;
A performance data creation method comprising: a second modification step of modifying pitch information in performance data relating to duplication according to the pitches of other sounds of the plurality of sounds constituting the chord.
前記作成するステップにおいて前記演奏データは各音符毎に音量情報を含み、前記第1の修正ステップで修正を受けた演奏データ中の音量情報と前記複製に係る演奏データ中の音量情報とを前記和音の発音タイミングにて異ならせるように修正するステップを更に含む請求項6記載の演奏データ作成方法。 The performance data in said step of creating includes the volume information for each musical note, the chord and volume information in the performance data according to the replication and the volume information in the performance data that have undergone modifications in the first correction step The performance data creation method according to claim 6, further comprising a step of correcting so as to be different at the sound generation timing. 前記作成するステップにおいて前記演奏データは各音符毎に前記演奏タイミング情報として発音タイミング情報を含み、前記第1の修正ステップで修正を受けた演奏データ中の発音タイミング情報と前記複製に係る演奏データ中の発音タイミング情報とを前記和音の発音タイミングにて異ならせるように修正するステップを更に含む請求項6又は7記載の演奏データ作成方法。 The performance data in said step of creating includes sounding timing information as the play timing information for each note, the performance data in according to the copy and the sound generation timing information in the performance data that have undergone modifications in the first correction step The performance data creation method according to claim 6, further comprising a step of correcting the sound generation timing information so as to be different from the sound generation timing of the chord. 発音タイミング及び音高を異にする複数音の反復演奏を表わす音符群を指定するステップと、
前記複数音に相当する複数音符に従う楽器の反復的な生演奏に基づいて、各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを作成するステップと、
作成された演奏データから前記音符群中の前記複数音対応の音符組の組数分の演奏データを抽出するステップと、
抽出された演奏データを前記音符群中の少なくとも1つの音符に従って修正するステップと
を含む演奏データ作成方法。
Designating a group of notes representing a repetitive performance of multiple notes with different pronunciation timings and pitches ;
Creating performance data including performance timing information and pitch information for each note and having fluctuations in performance timing based on repetitive live performance of an instrument according to a plurality of notes corresponding to the plurality of sounds ;
Extracting performance data for the number of sets of note sets corresponding to the plurality of notes in the note group from the created performance data ;
Correcting the extracted performance data according to at least one note in the group of notes.
前記修正するステップでは、前記抽出された演奏データに基づく演奏区間の長さが前記音符群で表わされる区間長と一致又は近似するように前記抽出された演奏データ中の演奏タイミング情報を修正する請求項9記載の演奏データ作成方法。The correcting step corrects performance timing information in the extracted performance data so that a length of a performance section based on the extracted performance data matches or approximates a section length represented by the note group. Item 10. The performance data creation method according to Item 9. 前記作成するステップにおいて前記演奏データは各音符毎に前記演奏タイミング情報として消音タイミング情報と含み、前記修正するステップでは、前記演奏区間の最後の音符に関する消音タイミング情報が前記演奏区間外の消音タイミングを指示するのを許容する請求項10記載の演奏データ作成方法。 In the creating step, the performance data includes mute timing information as the performance timing information for each note, and in the modifying step, the mute timing information regarding the last note in the performance section indicates a mute timing outside the performance section. 11. The performance data creation method according to claim 10, wherein the instruction data is allowed to be indicated. 前記作成するステップでは、前記音符群中の前記複数音対応の音符組の組数より少ない所定の音符組数に対応して前記演奏データを作成し、前記抽出するステップでは、前記作成された演奏データにおいて先頭組の音符を含めて複数組の音符に関する演奏データを抽出した後該先頭組の音符を除いて必要組数の音符に関する演奏データを抽出すると共に先に抽出された演奏データと後で抽出された演奏データとを接続することにより前記複数音対応の音符組の組数分の演奏データを得る請求項9〜11のいずれかに記載の演奏データ作成方法。Play in the step of the creation, the creating performance data corresponding to said plurality sounds predetermined note sets smaller number notes set of set number of associations in the note group, in the step of extracting, it said created After extracting performance data relating to a plurality of sets of notes including the first set of notes in the data, the performance data relating to the required number of notes is extracted excluding the first set of notes, and the performance data extracted earlier and later The performance data creation method according to any one of claims 9 to 11, wherein performance data corresponding to the number of sets of note pairs corresponding to a plurality of notes is obtained by connecting the extracted performance data. 楽曲を自動演奏するための演奏データを記憶する第1の記憶手段と、
時系列的な音符群毎に該音符群の構成音符に従う楽器の生演奏に基づいて作成された演奏データであって各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを記憶する第2の記憶手段と、
前記楽曲中で所望の時系列的な音符群を指定する指定手段と、
この指定手段で指定された音符群に対応する演奏データを前記第2の記憶手段から読出す読出手段と、
前記第2の記憶手段から読出された演奏データから、前記指定手段で指定された音符群の音符数分の演奏データを抽出する抽出手段と、
この抽出手段で抽出された演奏データを前記指定手段で指定された音符群中の少なくとも1つの音符に従って修正する第1の修正手段と、
前記第1の記憶手段の演奏データにおいて前記指定手段で指定された音符群に関する演奏データを前記第1の修正手段で修正を受けた演奏データに従って修正する第2の修正手段と、
この第2の修正手段で修正された演奏データを含む前記第1の記憶手段の演奏データに従って前記楽曲の自動演奏を行なう自動演奏手段と
を備えた自動演奏装置。
First storage means for storing performance data for automatically playing music;
Performance data created based on the live performance of the musical instrument that follows the notes constituting the note group for each time-series note group , including performance timing information and pitch information for each note, and fluctuations in performance timing Second storage means for storing performance data;
Designating means for designating a desired time-series note group in the music;
And reading reading means musical data that corresponds to the specified note group from the second storage means in this specification means,
From the second musical data read out from the storage means, an extraction means for extracting a number of performance data notes group note designated by said designating means,
A first correction means for correcting in accordance with at least one note in the designated note group in this extracting means and said designation means the musical data extracted in,
A second correction means for correcting in accordance with musical data to the performance data for the specified notes group by the designation unit has received the correction by the first correction means in the performance data in the first storage means,
An automatic performance apparatus comprising: automatic performance means for automatically performing the music in accordance with performance data in the first storage means including performance data modified by the second modification means.
複数の時系列的な音符群に変換可能な演奏記号を前記楽曲中で指示する指示手段と、この指示手段で指示された演奏記号を前記複数の時系列的な音符群に変換する変換手段とを更に備え、前記指定手段では、前記変換手段での変換に係る複数の時系列的な音符群のうち所望の音符群を指定する請求項13記載の自動演奏装置。And instruction means for instructing a plurality of time-series notes convertible playing symbol groups in the music, a converting means for converting the play symbol is instructed by the instruction means to the plurality of time-series notes group 14. The automatic performance device according to claim 13, further comprising: specifying a desired note group among a plurality of time-series note groups related to conversion by the converting means . 楽曲を自動演奏するための演奏データを記憶する第1の記憶手段と、
時系列的な音符群毎に該音符群の構成音符に従う楽器の生演奏に基づいて作成された演奏データであって各音符毎に演奏タイミング情報及び音高情報を含み且つ演奏タイミングにゆらぎのある演奏データを記憶する第2の記憶手段と、
前記楽曲中で所望の時系列的な音符群を指定する指定手段と
を備えたコンピュータにおいて使用される記録媒体であって、
前記指定手段で指定された音符群に対応する演奏データを前記第2の記憶手段から読出すステップと、
前記第2の記憶手段から読出された演奏データから、前記指定手段で指定された音符群の音符数分の演奏データを抽出する抽出ステップと、
この抽出ステップで抽出された演奏データを前記指定手段で指定された音符群中の少なくとも1つの音符に従って修正する第1の修正ステップと、
前記第1の記憶手段の演奏データにおいて前記指定手段で指定された音符群に関する演奏データを前記第1の修正ステップで修正を受けた演奏データに従って修正する第2の修正ステップと、
この第2の修正ステップで修正された演奏データを含む前記第1の記憶手段の演奏データに従って前記楽曲の自動演奏を行なうステップと
コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
First storage means for storing performance data for automatically playing music;
Performance data created based on the live performance of the musical instrument that follows the notes constituting the note group for each time-series note group , including performance timing information and pitch information for each note, and fluctuations in performance timing Second storage means for storing performance data;
A recording medium used in a computer comprising a designation means for designating a desired time-series note group in the music,
A reading step of musical data that corresponds to the specified note group from the second storage means by said designating means,
From the second musical data read out from the storage means, and extracting a number of performance data notes group note designated by said designating means,
A first correction step for correcting the musical data extracted in the extraction step according to at least one note in the note group designated by the designation unit,
A second correction step of correcting according to musical data to the performance data received correction by the first correction step related notes group designated by the designation unit in the performance data in the first storage means,
A computer-readable recording medium having recorded thereon a program for causing a computer to execute the step of automatically performing the music according to the performance data of the first storage means including the performance data corrected in the second correction step .
JP33125799A 1999-11-22 1999-11-22 Performance data creation method, automatic performance device and recording medium Expired - Fee Related JP3837981B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33125799A JP3837981B2 (en) 1999-11-22 1999-11-22 Performance data creation method, automatic performance device and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33125799A JP3837981B2 (en) 1999-11-22 1999-11-22 Performance data creation method, automatic performance device and recording medium

Publications (2)

Publication Number Publication Date
JP2001147690A JP2001147690A (en) 2001-05-29
JP3837981B2 true JP3837981B2 (en) 2006-10-25

Family

ID=18241676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33125799A Expired - Fee Related JP3837981B2 (en) 1999-11-22 1999-11-22 Performance data creation method, automatic performance device and recording medium

Country Status (1)

Country Link
JP (1) JP3837981B2 (en)

Also Published As

Publication number Publication date
JP2001147690A (en) 2001-05-29

Similar Documents

Publication Publication Date Title
JP2000514571A (en) Automatic improvisation system and method
JPH11126074A (en) Arpeggio sounding device, and medium recorded with program for controlling arpeggio sounding
JP2612923B2 (en) Electronic musical instrument
JP3698057B2 (en) Automatic arrangement apparatus and method
JP3915807B2 (en) Automatic performance determination device and program
JP3837981B2 (en) Performance data creation method, automatic performance device and recording medium
JP3812510B2 (en) Performance data processing method and tone signal synthesis method
JP4802947B2 (en) Performance method determining device and program
JPH0683355A (en) Automatic accompaniment device
JP3641955B2 (en) Music data generator and recording medium therefor
JP3620396B2 (en) Information correction apparatus and medium storing information correction program
JP3587133B2 (en) Method and apparatus for determining pronunciation length and recording medium
JP3752859B2 (en) Automatic composer and recording medium
JP2002268637A (en) Meter deciding apparatus and program
JP3669301B2 (en) Automatic composition apparatus and method, and storage medium
JP3812509B2 (en) Performance data processing method and tone signal synthesis method
JP3632551B2 (en) Performance data creation device and performance data creation method
JP3296182B2 (en) Automatic accompaniment device
JP4449370B2 (en) Automatic accompaniment generator and program
JPH08152878A (en) Automatic playing device
JP3637782B2 (en) Data generating apparatus and recording medium
JP3752940B2 (en) Automatic composition method, automatic composition device and recording medium
JP3738634B2 (en) Automatic accompaniment device and recording medium
JP3709820B2 (en) Music information editing apparatus and music information editing program
JPH04257895A (en) Apparatus and method for code-step recording and automatic accompaniment system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060724

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130811

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees