(57)【特許請求の範囲】
【請求項１】
分析すべき曲データを取得する曲データ取得手段と、
取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出手段と、
求められた平均音符長に基づいて第１閾値を設定する設定手段と、
平均音符長が求められた音符列の最後又は次に位置する音符を着目音符とし、その音符長を第１閾値と比較する比較手段と、
着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出手段、設定手段及び比較手段の動作を繰り返させる動作繰返し手段と、
着目音符の音符長が第１閾値以上に大きい場合には、着目音符を間延び位置と判定する判定手段と
を具備することを特徴とする曲分析装置。
【請求項２】
分析すべき曲データを取得する曲データ取得手段と、
取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出手段と、
求められた平均音符長に基づいて第１閾値を設定する設定手段と、
平均音符長が求められた音符列の最後又は次に位置する音符を第１着目音符とし、その音符長を第１閾値と比較する第１比較手段と、
第１着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出手段、設定手段及び第１比較手段の動作を繰り返させる動作繰返し手段と、
第１着目音符の音符長が第１閾値以上に大きい場合には、第１着目音符の次の音符を第２着目音符とし、少なくとも第１着目音符の前の音符までの平均音符長に基づいて設定される第２閾値と第２着目音符長とを比較する第２比較手段と、
第２着目音符長が第２閾値以上に大きい場合は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出手段、設定手段及び第１比較手段の動作を継続させる動作継続手段と、
第２着目音符長が第２閾値より小さい場合には、第１着目音符を間延び位置に決定する決定手段と
を具備することを特徴とする曲分析装置。
【請求項３】
第２閾値は、第１閾値より小さい値に設定されることを特徴とする請求項２に記載の曲分析装置。
【請求項４】
第１閾値は、平均音符長の長さに応じて変化する値をとるように設定されることを特徴とする請求項１〜３の何れか１項に記載の曲分析装置。
【請求項５】
前記音符列を構成する音符は、後続する休符を含み、
第１閾値は、前記音符列の総時間長に応じて変化する値をとるように設定される
ことを特徴とする請求項１〜４の何れか１項に記載の曲分析装置。
【請求項６】
第１閾値は、ユーザにより変更可能に設定されることを特徴とする請求項１〜５の何れか１項に記載の曲分析装置。
【請求項７】
第２閾値は、ユーザにより変更可能に設定されることを特徴とする請求項２又は３に記載の曲分析装置。
【請求項８】
さらに、
判定又は決定された間延び位置をフレーズの区切りとして曲データを分割する曲データ分割手段
を具備することを特徴とする請求項１〜６の何れか１項に記載の曲分析装置。
【請求項９】
曲分析装置において実行される曲分析方法であって、
曲データ取得手段によって、分析すべき曲データを取得するステップと、
算出手段によって、取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出動作を行う算出ステップと、
設定手段によって、求められた平均音符長に基づいて第１閾値を設定する設定動作を行う設定ステップと、
比較手段によって、平均音符長が求められた音符列の最後又は次に位置する音符を着目音符とし、その音符長を第１閾値と比較する比較動作を行う比較ステップと、
動作繰返し手段によって、着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び比較ステップでの算出動作、設定動作及び比較動作を繰り返させるステップと、
判定手段によって、着目音符の音符長が第１閾値以上に大きい場合には、着目音符を間延び位置と判定するステップと
を具備することを特徴とする曲分析方法。
【請求項１０】
曲分析装置において実行される曲分析方法であって、
曲データ取得手段によって、分析すべき曲データを取得するステップと、
算出手段によって、取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出動作を行う算出ステップと、
設定手段によって、求められた平均音符長に基づいて第１閾値を設定する設定動作を行う設定ステップと、
第１比較手段によって、平均音符長が求められた音符列の最後又は次に位置する音符を第１着目音符とし、その音符長を第１閾値と比較する第１比較動作を行う第１比較ステップと、
動作繰返し手段によって、第１着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び第１比較ステップでの算出動作、設定動作及び第１比較動作を繰り返させるステップと、
第２比較手段によって、第１着目音符の音符長が第１閾値以上に大きい場合には、第１着目音符の次の音符を第２着目音符とし、少なくとも第１着目音符の前の音符までの平均音符長に基づいて設定される第２閾値と第２着目音符長とを比較する第２比較ステップと、
動作継続手段によって、第２着目音符長が第２閾値以上に大きい場合は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び第１比較ステップでの算出動作、設定動作及び第１比較動作を継続させるステップと、
決定手段によって、第２着目音符長が第２閾値より小さい場合には、第１着目音符を間延び位置に決定するステップと
を具備することを特徴とする曲分析方法。
【請求項１１】
分析すべき曲データを取得するステップと、
取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出動作を行う算出ステップと、
求められた平均音符長に基づいて第１閾値を設定する設定動作を行う設定ステップと、
平均音符長が求められた音符列の最後又は次に位置する音符を着目音符とし、その音符長を第１閾値と比較する比較動作を行う比較ステップと、
着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び比較ステップでの算出動作、設定動作及び比較動作を繰り返させるステップと、
着目音符の音符長が第１閾値以上に大きい場合には、着目音符を間延び位置と判定するステップと
から成る手順をコンピュータに実行させるプログラムを記録しているコンピュータ読み取り可能な曲分析のための記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、曲を分析し、曲中の間延びした位置を適切に検出し、検出された間延び位置を基にして曲を複数のフレーズに分割することができるようにするための曲分析装置及び記録媒体に関する。
【０００２】
【従来の技術】
従来、曲を分析し、複数のフレーズに分割する方法としては、曲全体、或いは曲の半分や４小節等の所定の一部区間の音符について、平均音符長を求め、求められた平均音符長を所定値倍し、これと各音符長とを比較して音符長の方が大きい場合に当該音符の位置をフレーズの区切りとし、曲を分割するものがある（例えば、特開平８−２９２７６２号公報参照。）。この方法では、比較的長い音符が存在している位置や、比較的長い休符が存在している位置等、曲の中で間延びしている位置をフレーズの区切り位置として検出している。また、この方法において、休符長は前の音符に吸収させ、長い音符長として扱っている。
【０００３】
しかしながら、曲によっては、曲中の部分部分によって音符の細かさが異なり、平均音符長が変動する場合があり、上述した従来技術による方法では、曲中での音符の細かさの変化に十分に対応することができない。また、上述の方法においては、全体の平均音符長に基づいてフレーズ分割をした後、各フレーズの平均音符長を算出し、これに基づいてフレーズ分割の適否を検証してはいるが、十分ではない。
【０００４】
【発明が解決しようとする課題】
この発明の主たる目的は、このような従来技術の欠点に鑑み、曲の部分部分で音符の細かさが異なる場合にも適切に間延び位置を検出することができる曲分析システムを提供することにある。
【０００５】
【課題を解決するための手段】
この発明の第１の特徴に従うと、分析すべき曲データを取得する曲データ取得手段と、取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出手段と、求められた平均音符長に基づいて第１閾値を設定する設定手段と、平均音符長が求められた音符列の最後又は次に位置する音符を着目音符とし、その音符長を第１閾値と比較する比較手段と、着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出手段、設定手段及び比較手段の動作を繰り返させる動作繰返し手段と、着目音符の音符長が第１閾値以上に大きい場合には、着目音符を間延び位置と判定する判定手段とを具備する曲分析装置（請求項１）、曲分析装置において実行される曲分析方法であって、曲データ取得手段によって、分析すべき曲データを取得するステップと、算出手段によって、取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出動作を行う算出ステップと、設定手段によって、求められた平均音符長に基づいて第１閾値を設定する設定動作を行う設定ステップと、比較手段によって、平均音符長が求められた音符列の最後又は次に位置する音符を着目音符とし、その音符長を第１閾値と比較する比較動作を行う比較ステップと、動作繰返し手段によって、着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び比較ステップでの算出動作、設定動作及び比較動作を繰り返させるステップと、判定手段によって、着目音符の音符長が第１閾値以上に大きい場合には、着目音符を間延び位置と判定するステップとを具備する曲分析方法（請求項９）、並びに、分析すべき曲データを取得するステップと、取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出動作を行う算出ステップと、求められた平均音符長に基づいて第１閾値を設定する設定動作を行う設定ステップと、平均音符長が求められた音符列の最後又は次に位置する音符を着目音符とし、その音符長を第１閾値と比較する比較動作を行う比較ステップと、着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び比較ステップでの算出動作、設定動作及び比較動作を繰り返させるステップと、着目音符の音符長が第１閾値以上に大きい場合には、着目音符を間延び位置と判定するステップとから成る手順をコンピュータに実行させるプログラムを記録しているコンピュータ読み取り可能な曲分析のための記録媒体（請求項１１）が提供される。
【０００６】
この発明の第２の特徴に従うと、分析すべき曲データを取得する曲データ取得手段と、取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出手段と、求められた平均音符長に基づいて第１閾値を設定する設定手段と、平均音符長が求められた音符列の最後又は次に位置する音符を第１着目音符とし、その音符長を第１閾値と比較する第１比較手段と、第１着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出手段、設定手段及び第１比較手段の動作を繰り返させる動作繰返し手段と、第１着目音符の音符長が第１閾値以上に大きい場合には、第１着目音符の次の音符を第２着目音符とし、少なくとも第１着目音符の前の音符までの平均音符長に基づいて設定される第２閾値と第２着目音符長とを比較する第２比較手段と、第２着目音符長が第２閾値以上に大きい場合は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出手段、設定手段及び第１比較手段の動作を継続させる動作継続手段と、第２着目音符長が第２閾値より小さい場合には、第１着目音符を間延び位置に決定する決定手段とを具備する曲分析装置（請求項２）、並びに、曲分析装置において実行される曲分析方法であって、曲データ取得手段によって、分析すべき曲データを取得するステップと、算出手段によって、取得された曲データにおける所定位置の音符に後続音符を加えた音符列について、平均音符長を求める算出動作を行う算出ステップと、設定手段によって、求められた平均音符長に基づいて第１閾値を設定する設定動作を行う設定ステップと、第１比較手段によって、平均音符長が求められた音符列の最後又は次に位置する音符を第１着目音符とし、その音符長を第１閾値と比較する第１比較動作を行う第１比較ステップと、動作繰返し手段によって、第１着目音符の音符長が第１閾値より小さい間は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び第１比較ステップでの算出動作、設定動作及び第１比較動作を繰り返させるステップと、第２比較手段によって、第１着目音符の音符長が第１閾値以上に大きい場合には、第１着目音符の次の音符を第２着目音符とし、少なくとも第１着目音符の前の音符までの平均音符長に基づいて設定される第２閾値と第２着目音符長とを比較する第２比較ステップと、動作継続手段によって、第２着目音符長が第２閾値以上に大きい場合は、平均音符長が求められた音符列の次に位置する音符を当該音符列に加えた新たな音符列について、算出ステップ、設定ステップ及び第１比較ステップでの算出動作、設定動作及び第１比較動作を継続させるステップと、決定手段によって、第２着目音符長が第２閾値より小さい場合には、第１着目音符を間延び位置に決定するステップとを具備する曲分析方法（請求項１０）が提供される。この曲分析装置において、第２閾値は、第１閾値より小さい値に設定され（請求項３）、ユーザにより変更可能に設定される（請求項７）。
【０００７】
この発明による曲分析装置においては、第１閾値は、平均音符長の長さに応じて変化する値をとるように設定される（請求項４）。また、音符列を構成する音符は、後続する休符を含み、第１閾値は、平均音符長が求められる音符列の総時間長に応じて変化する値をとるように設定される（請求項５）。さらに、第１閾値は、ユーザにより変更可能に設定される（請求項６）。
【０００８】
この発明による曲分析装置は、さらに、判定又は決定された間延び位置をフレーズの区切りとして曲データを分割する曲データ分割手段を具備する（請求項８）。
【０００９】
〔作用〕
この発明の第１の特徴によると、曲データにおける所定位置の音符（例えば、曲の先頭音符、或いは、曲中において既に検出されている間延び位置の次に位置する音符）及びその後続音符から成る音符列の平均音符長を求め、求められた平均音符長から第１閾値（例えば、平均音符長の第１の所定値倍の値）を設定する。次いで、平均音符長を求めた音符列の最後又は次に位置する音符を着目音符とし、その音符長を第１閾値とを比較する（或いは、平均音符長と着目音符長の第１閾値分の１とを比較してもよい。）。比較の結果、着目音符長（或いは、着目音符長の第１閾値分の１）の方が小さい間は、次に位置する音符音符（例えば、第１着目音符又は第１着目音符の次の音符）を音符列に加え次の音符を着目音符に切り換えて、平均音符長の算出、第１閾値の設定及び着目音符との比較を繰り返し、着目音符長の方が大きくなると、着目音符を間延び位置と判定するようにしている。このため、間延び位置と判定された位置で平均値の算出がリセットされるので、曲の部分によって音符の細かさが異なる場合にも、適切に間延び位置を検出することができる。
【００１０】
また、この発明の第２の特徴によると、第１閾値を用いる第１比較により第１着目音符が間延び位置と判定された場合、これを検証するために、第１着目音符の次の音符を第２着目音符とし、その音符長を第２閾値〔所定位置の音符から少なくとも第１着目音符の前の音符（例えば、第１着目音符の前の音符、第１着目音符又は第２着目音符）までの音符列における平均音符長を、第２の所定値倍した値〕と比較する（或いは、この平均音符長と第２着目音符長を第２閾値分の１とを比較してもよい）第２比較動作を行う。第２比較の結果、第２着目音符長（或いは、第２着目音符長の第２閾値分の１）の方が大きい場合には、次に位置する音符（例えば、第１着目音符又は第２着目音符）を音符列に加え、第１着目音符の次の音符を第１着目音符に切り換えて、平均音符長の算出、第１閾値の設定、及び、第１着目音符との第１比較を継続するようにし、第１比較により間延び位置が判定されてもこれを無効にする。このため、第１着目音符の更に次に本来の間延び位置が存在するような場合に、第１着目音符を間違って間延び位置として判定してしまうというミスを減らすことができる。
【００１１】
この判定無効に用いられる第２閾値は、第１閾値よりも小さいとするのが好ましい。なぜなら、間延び位置において、第１閾値以上に大きい音符長をもつ音符が連続するとは限らないからである。
【００１２】
この発明においては、第１閾値は、平均音符長の長さに応じて変化する値をとるようにするのが好ましい。なぜなら、平均音符長が短い場合と長い場合とでは、人間が間延びしていると感じる音符長が微妙に変化するからである。
【００１３】
この発明においては、第１閾値は、平均値を取った音符列の総時間長に応じて変化する値をとるようにするのが好ましい。これにより、音符長の変化があまり小さい場合に、間延び位置を全然検出できないという不都合を解消することができる。
【００１４】
この発明においては、第１閾値又は第２閾値をユーザが変更可能に設定することができるように構成しているので、間延び位置の検出特性をユーザが任意に制御することができ、例えば、大まかに曲を分割したり、細かく分割したりするなど、種々の利用態様に応じた最適な間延び検出を行うことができる。
【００１５】
この発明においては、判定又は決定された間延び位置をフレーズの区切りとして曲データを分割するようにしているので、適切な位置で曲を分割することができる。
【００１６】
【発明の実施の形態】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。なお、以下の実施例は単なる一例であって、この発明の精神を逸脱しない範囲で種々の変更が可能である。
【００１７】
〔ハードウエア構成〕
図１は、この発明の一実施例による曲分析システムのハードウエア構成のブロック図を示す。このシステムの例では、パーソナルコンピュータ（ＰＣ）上で間延び位置検出処理を含む曲分析のための各種処理を行わせる構成がとられている。システムは、中央処理装置（ＣＰＵ）１、読出専用メモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３、外部記憶装置４、検出回路５、表示回路６などの外に、音源回路７や効果回路８などを備え、これらの装置１〜８はバス９を介して互いに接続されている。
【００１８】
システム全体を制御するＣＰＵ１は、所定のソフトウエア・プログラムに従いタイマ１０によるクロックを利用して種々の制御を行い、特に、間延び位置検出処理を含む曲データ分析のための各種処理などを中心的に遂行する。ＲＯＭ２には、このシステムを制御するための所定の制御プログラムが記憶されており、これらの制御プログラムには、基本的な情報処理と共に、この発明による曲データ分析のための各種プログラムや各種テーブル、各種データを含ませることができる。ＲＡＭ３は、これらの処理に際して必要なデータやパラメータを記憶し、また、各種レジスタやフラグ、処理中の各種データ等を一時記憶するためのワーク領域として用いられる。
【００１９】
外部記憶装置４は、ハードディスクドライブ（ＨＤＤ）の外に、コンパクトディスク・リード・オンリィ・メモリ（ＣＤ−ＲＯＭ）、フロッピィディスク（ＦＤ）、光磁気（ＭＯ）ディスク、ディジタル多目的ディスク（ＤＶＤ）、半導体メモリ等の着脱可能な可搬型記憶媒体を用いた装置から成り、各種制御プログラムや、曲データなどの各種データを記憶することができ、間延び係数テーブルなどの記憶領域としても用いることができる。従って、間延び位置検出処理などに必要なプログラムや各種データは、ＲＯＭ２を利用するだけでなく、外部記憶装置４からＲＡＭ３内に読み込むことができ、必要に応じて、処理結果を外部記憶装置４に記録しておくこともできる。
【００２０】
検出回路５には操作子装置１１が接続され、操作子装置１１は、キーボードやポインチングデバイス（マウス等）などの操作子を備え、曲データ分析などのために各種の情報をシステムに入力するために用いられる。これらの操作子は、例えば、電子楽器等における鍵盤のような演奏操作子や、処理／操作モードの指定や間延び係数などの数値設定のようなパネル操作子としての機能が割り当てられる。従って、このような演奏操作子或いはパネル操作子により、曲データを鍵盤演奏や音符入力の形でシステムに入力したり、曲データの分析のために、システムに所定の制御入力を与えることができる。
【００２１】
表示回路６はディスプレイ１２や各種インジケータを備えており、ディスプレイ１２上には、操作子装置１１におけるポインチングデバイス等の操作子にて操作可能なカーソルやスイッチボタンが表示される。従って、ディスプレイ１２上に表示されるボタンやスライダ（ツマミ）等を操作子装置１１で操作して間延び係数などを指定する等の各種入力操作を行うことができる。なお、ＰＣに予め装備されたキーボードやポインチングデバイス等とは別個に、専用の演奏操作子（演奏用鍵盤等）やパネル操作子（パネルスイッチ等）を外付けする構成にしてもよい。
【００２２】
音源回路７には、ＤＳＰ等で構成される効果回路８を介して、スピーカを含むサウンドシステム１３が接続されており、操作子装置１１より入力されたり、ＲＡＭ３などに読み出された曲データから、対応する楽音を再生し試聴することができる。
【００２３】
この例では、バス９には通信インターフェイス（Ｉ／Ｆ）１４が接続され、ローカルエリアネットワーク（ＬＡＮ）やインターネット、電話回線等の通信ネットワーク１５を介して、サーバコンピュータ１６や、他のＰＣ、携帯型通信端末装置などから、制御プログラムや曲データなどを外部記憶装置４にストアすることができる。さらに、ＭＩＤＩインターフェイス（Ｉ／Ｆ）１７がバス９に接続され、システムは他のＭＩＤＩ機器１８とも曲データなどの各種データを授受することができる。
【００２４】
なお、図１では、パーソナルコンピュータ（ＰＣ）を用いるものについて説明したが、もちろん、専用の演奏操作子やパネル操作子を備えた電子楽器を用いてもよいし、或いは、他の同等の処理機能を有する装置を用いてもよい。
【００２５】
〔間延び位置検出の概念〕
図２は、この発明の一実施例による間延び位置検出の概念を説明するための図であり、図２の上段には、曲データの一例として、１６個の音休符（１）〜（１６）から成る譜例が示されており〔（１）〜（１６）は、音休符番号を表わす。〕、下段には、これに対応して、間延び位置検出動作に用いられる各種データの変化が示されている。また、この実施形態では、単位として、ｔｉｃｋ（チック）を使っており、四分音符は４８０ｔｉｃｋとする。
【００２６】
図２を用いて、この発明による曲データ分析システムの概要を簡単に説明すると、分析すべき曲データとして音休符（１）〜（１６）からなるデータを取得すると、データ上における所定位置の音符（１）を基準音符とし、この基準音符（１）に後続音符（２）を加えた音符列（１）〜（２）について平均音符長Ｌｍ１を算出する。次いで、平均音符長Ｌｍ１に基づいて間延びボーダー（第１閾値）ＢＳａ１が設定され、平均音符長が求められた音符列（１）〜（２）の次に位置する音符（３）を着目音符とし〔或いは、音符列（１）〜（２）の最後に位置する音符（２）を着目音符としてもよい。〕、その音符長を間延びボーダー（第１閾値）ＢＳａ１とを比較する。この比較において、間延びボーダー（第１閾値）ＢＳａ１の方が大きい間は、音符列（１）〜（２）に、順次、次に位置する音符（３）〜（７）を加えて、平均音符長Ｌｍ１の算出、間延びボーダー（第１閾値）ＢＳａ１の設定及び比較を繰り返す。また、着目音符（７）の音符長が間延びボーダー（第１閾値）ＢＳａ１以上に大きくなると、着目音符（７）を間延び位置と判定する。
【００２７】
この発明による曲データ分析システムでは、さらに、間延びボーダー（第１閾値）ＢＳａを用いた第１比較による間延び位置の判定を仮判定として扱い、第２比較により仮判定の検証を行う。第２比較では、間延び位置と判定された第１着目音符（７）の次の音符（９）を第２着目音符とし、その音符長を間延び後ボーダー（第２閾値）ＢＳｂ１と比較する。ここで、第２着目音符（９）の音符長が間延び後ボーダー（第２閾値）ＢＳｂ１より小さい場合（１回目の場合）は、第１着目音符（７）を間延び位置に決定する。一方、第２着目音符（１４）の音符長が間延び後ボーダー（第２閾値）ＢＳｂ２以上に大きい場合（２回目の場合）には、第１着目音符（１３）を間延び位置とする仮判定を無効として、音符列（９）〜（１２）に次に位置する音符（１３）を加えて、平均音符長の算出、間延びボーダーの設定及び第１比較の各動作を継続する。
【００２８】
より具体的に説明すると、この発明の一実施例による間延び位置の検出処理においては、例えば、曲の先頭音符などを基準音符とし、基準音符から音符長ＬＮの平均値Ｌｍをとり、この音符長平均値Ｌｍに間延び係数Ｋｓ（例えば、“２．０”）を乗算して「間延び判定ボーダー」又は「間延びボーダー」と呼ばれる閾値を算出し、次の音符を第１着目音符として間延びボーダーＢＳａと比較する（第１比較動作）。この第１比較動作の結果、第１着目音符の音符長が間延び判定ボーダーＢＳａ以上であれば、第１着目音符を間延び位置の音符と仮判定する。
【００２９】
一方、第１比較動作を行った結果、第１着目音符の音符長が間延びボーダーＢＳａ未満の場合（つまり、間延び位置と仮判定されなかった場合）は、再び、上述した基準音符から（この第１着目音符まで）の平均値Ｌｍを算出し、第１着目音符を１つ後ろの音符にシフトして間延び判定ボーダーＢＳａとの比較を続ける。これにより、第１比較動作で間延び位置が仮判定されるまで、基準音符から順次、音符長ＬＮの平均値Ｌｍをとり、音符長平均値Ｌｍに応じた間延びボーダーＢＳａを求め、この間延びボーダーＢＳａに対して、平均値Ｌｍをとった音符列の直後にある第１着目音符を比較（第１比較動作）して行く。
【００３０】
次に、第１比較動作において、第１着目音符長が間延び判定ボーダーＢＳａ以上となって、第１着目音符が間延び位置の音符と仮判定された場合は、間延び位置の音符に仮判定された音符の次の音符を第２着目音符として、第２着目音符が間延び後の音符として適するか否かを判定する。この判定動作は「本判定」と呼ばれる。
【００３１】
本判定においては、音符長平均値Ｌｍに間延び後係数Ｋｔ（例えば：“１．５”）を乗算して得られる「間延び後判定ボーダー」又は「間延び後ボーダー」と呼ばれる閾値ＢＳｂが、仮判定の検証に使用され、第２着目音符の音符長を間延び後ボーダーＢＳｂと比較する（第２比較動作）。この第２比較動作で、第２着目音符長が間延び後判定ボーダーＢＳｂ末満であれば、この第２着目音符は間延び後の音符として適する（仮判定は有効）と判定され、第１着目音符を間延び位置の音符に決定する。
【００３２】
これに対して、第２比較動作において、第２着目音符長が間延び後判定ボーダーＢＳｂ以上である場合は、第２着目音符が間延び後音符ではない（仮判定は無効）と本判定され、第１着目音符を１つ後ろの音符にシフトし、第１比較動作で間延び位置が仮判定されるまで、基準音符からの平均値Ｌｍの算出及び間延び判定ボーダーＢＳａとの第１比較動作を継続する。
【００３３】
そして、本判定において、第１着目音符が間延び位置の音符であると決定された場合は、基準音符を当該間延び位置の音符の次の音符に設定して、上述の処理と同様の処理を順次行って行き、曲の最後まで処理が進んだところで、この間延び位置検出を終える。
【００３４】
図２の例では、上段の譜例に対して上述の処理を施すと、下段のように、各データが変化して３回の仮判定及び本判定が行われ、間延び位置が検出される。図３〜図５は、図２の間延び位置検出例に対応して、第１〜３回目の仮判定及び本判定に至る動作状態を数値的に表わしたものである。音符の平均長Ｌｍ（Ｌｍ１〜Ｌｍ３）は、第１着目音符の１つ前の音符までの音符長ＬＮの平均値であり、音符長ＬＮは、休符が後続する場合、後続する休符を取り込んで休符長を含む値とされる。また、これらの図においては、一例として、間延びボーダーＢＳａ（ＢＳａ１〜ＢＳａ３）は、音符平均長Ｌｍの値に間延び係数Ｋｓ＝“２．０”を掛けたものとし、間延び後ボーダーＢＳｂ（ＢＳｂ１〜ＢＳｂ３）は、音符平均長Ｌｍの値に間延び後係数Ｋｔ＝“１．５”を掛けたものとして表わされている。
【００３５】
〔１〕第１回目の状態（図３）：
図２上段の第１音符（１）を基準音符とし、次の第２音符（２）から第６音符（６）までを順次第１着目音符として検出処理を進めて行く間は、各音符長ＬＮが各間延びボーダーＢＳａ１を越えていないので、間延び位置とは仮判定されない。この後、第７音符（７）を第１着目音符としたときには、その音符長ＬＮ＝“９６０”〔第７音符（７）は、後続する第８休符（８）を取り込んだ音符長とされている。〕は、このときの間延びボーダーＢＳａ１＝“８００”を越えているので、第１比較動作により、第７音符（７）が間延び位置と仮判定される（１回目仮判定）。
【００３６】
そこで、次の第９音符（９）を第２着目音符として第２比較動作が行われると、その音符長ＬＮ＝“２４０”は間延び後ボーダーＢＳｂ１＝“６００”未満であるので、このときの第１着目音符である第７音符（７）が間延び音符であると決定される（１回目本判定＝有効）。
【００３７】
〔２〕第２回目の状態（図４参照）：
第１回目の本判定において第７音符（２）が間延び音符であると決定されたので、基準音符をその次の第９音符（９）に設定する。第１０音符（１０）から第１２音符までを第１着目音符として処理を進めて行く間は、各音符長ＬＮが各間延びボーダーＢＳａ２を越えていないので、間延び位置とは仮判定されない。次いで、第１３音符（１３）を第１着目音符としたときには、その音符長ＬＮ＝“９６０”は、このときの間延びボーダーＢＳａ２＝“７２０”を越えているので、第１比較動作によって、第１３音符（１３）が間延び位置と仮判定される（２回目仮判定）。
【００３８】
そこで、次の第１４音符（１４）を第２着目音符として第２比較動作が行われるが、その音符長ＬＮ＝“１９２０”〔第１４音符（１４）は、後続する第１５休符（１５）を取り込んだ音符長とされている。〕は、間延び後ボーダーＢＳｂ２＝“５４０”以上であるので、このときの第１着目音符である第１３音符（１３）は、間延び音符ではないと判定され、仮判定を無効と決定する（２回目本判定＝無効）。
【００３９】
〔３〕３回目の状態（図５参照）：
第２回目の本判定において、第１３音符（１３）が間延び音符ではないと判定されたので、第９音符（９）から第１３音符（１３）までの音符長及び平均長算出動作に引き続き、次の第１４音符（１４）を第１着目音符に設定する。第１４音符（１４）は、音符長ＬＮ＝“１９２０”がこのときの間延びボーダーＢＳａ３＝“９６０”を越えているので、第１比較動作により間延び位置と仮判定される（３回目仮判定）。
【００４０】
そこで、次の第１６音符（１６）を第２着目音符として第２比較動作が行われると、その音符長ＬＮ＝“４８０”は間延び後ボーダーＢＳｂ３＝“７２０”未満であるので、このときの第１着目音符である第１４音符（１４）が間延び音符であると決定される（３回目本判定＝有効）。
【００４１】
〔間延び位置検出処理フロー〕
図６〜図８は、この発明の一実施例による間延び位置検出処理を表わすフローチャートである。この処理フローがスタートすると、ステップＳ１では、直前の音符長に取り込む。例えば、図２上段の譜例において、第８休符（８）や第１５休符（１５）のような休符については、予め、それらの休符長を直前の第７音符（７）や第１４音符の音符長に取り込んでおく。次いで、ステップＳ２で曲（分析対象とした曲データをいう）の先頭音符を基準音符に設定し、続くステップＳ３にて、次の音符が最終音符であるか否か判断する。ここで、次の音符が最終音符であるときは、直ちに、この間延び位置検出処理を終了する。
【００４２】
次の音符が最終音符でないときには、ステップＳ４で次の音符を第１着目音符に設定した後、順次、ステップＳ５〜Ｓ８へと進んで、基準の音符から音符長の平均値Ｌｍをとり、平均値Ｌｍに間延び係数Ｋｓを乗算した間延び判定ボーダーＢＳａと、その次の音符（第１着目音符）の音符長（ＬＮ）とを比較する。つまり、ステップＳ５では、基準音符から第１着目音符の直前の音符までの音符列について平均音符長Ｌｍを算出し、ステップＳ６では、平均音符長Ｌｍと間延び係数Ｋｓを乗算して間延び判定ボーダーＢＳａを算出する。さらに、ステップＳ７（図７）では、第１着目音符長と間延び判定ボーダーＢＳａとを比較し、ステップＳ８において、第１着目音符長の方が短いか否か判定する（第１比較動作）。
【００４３】
ステップＳ８で、第１着目音符長が判定ボーダーＢＳａより短いと判定されたときは、ステップＳ３（図６）に戻り、次の音符が最終音符にならない限り、ステップＳ４〜Ｓ８の処理を繰り返し、次の音符が最終音符になれば、直ちに、この間延び位置検出処理を終了する。
【００４４】
一方、第１着目音符長が間延び判定ボーダーＢＳａ以上であると、ステップＳ８から、順次、ステップＳ９〜Ｓ１３に進んで、間延び位置の音符と判定（仮判定）された音符の次の音符を第２着目音符とし、第２着目音符が間延び後の音符として適するか否かを判定（本判定）する。つまり、ステップＳ９で、第１着目音符を間延び位置の音符に仮判定し、ステップＳ１０で、次の音符を第２着目音符に設定し、ステップＳ１１で、基準音符から第１着目音符の前の音符までの平均音符長Ｌｍと間延び後係数Ｋｔを乗算して間延び後判定ボーダーＢＳｂを算出する。さらに、ステップＳ１２（図８）では、第２着目音符の音符長（ＬＮ）と間延び後判定ボーダーＢＳｂとを比較し、ステップＳ１３において、第２着目音符長の方が短いか否か判定する（第２比較動作）。
【００４５】
ステップＳ１３において、第２着目音符長が間延び後判定ボーダーＢＳｂより短いと判定されたときは、ステップＳ１４で、第１着目音符を間延び位置の音符に決定し、次の間延び位置検出のために、ステップＳ１５で第２着目音符を基準音符に設定した後、ステップＳ３（図６）に戻る。
【００４６】
一方、第２着目音符長が間延び後判定ボーダーＢＳｂ以上であると、ステップＳ１６で仮決定を無効にした上、ステップＳ１７に進む。ステップＳ１７では、次の音符が最終音符であるか否か判定し、次の音符が最終音符でないことを確認すると（ＮＯ）、ステップＳ１８で第２着目音符を第１着目音符に設定した上、間延び位置を仮判定し直すために、ステップＳ５に戻る。また、ステップＳ１７で次の音符が最終音符であると判断されたときは、この間延び位置検出処理を終了する。
【００４７】
〔間延び係数の設定〕
この発明の一実施例においては、間延びボーダーＢＳａを算出するのに用いられる間延び係数Ｋｓは、以下に説明するように、種々の手法により設定し取得することができる。
【００４８】
〔１〕間延び係数を自動的に設定する方法
（ア）間延び係数を平均音符長に応じて変化させる（図９）：
間延び係数Ｋｓの設定に当たっては、平均音符長Ｌｍが長くなるにつれて、間延び係数Ｋｓを小さくなるように変化させ、間延び位置と判定する度合い（検出頻度）を高めるよう設定することが好ましい。このようにすると、比較的長めの音で構成されるフレーズにおいては、それほど長くない音符であっても、間延び感を感じるという人間の感覚にマッチした間延び位置判定が可能となる。
【００４９】
このように、間延び係数Ｋｓを平均音符長Ｌｍに応じて変化させる場合、例えば、一次式に沿って係数Ｋｓを変化させてもよいし、他の式に沿って係数Ｋｓを変化させてもよい。図９は２つの例を示し、図９（１）は、平均音符長Ｌｍの一次式
Ｋｓ  ＝  Ｋａ−Ｂ×Ｌｍ                                ……（ａ）
により、間延び係数Ｋｓが平均音符長Ｌｍに応じて直線的に変化する場合の例〔Ｋａ＝３．０、ａ＝０．００２〕である。また、図９（２）は、分数式
Ｋｓ  ＝  Ｋｃ＋Ｄ／Ｌｍ                                ……（ｂ）
により、間延び係数Ｋｓが平均音符長Ｌｍに応じて双曲線状に変化する場合の例〔Ｋｃ＝０．８、Ｄ＝３６４〕である。
【００５０】
なお、これら２例の計算式中で使用した定数Ｋａ，Ｋｃや係数Ｂ，Ｄの値は一例であり、実験等により適宜決定すればよい。また、計算式によって係数を求めるのではなく、同等の特性を記録した間延び係数算出テーブルを参照して、平均音符長Ｌｍから、直接、間延び係数Ｋｓを係数を求めるようにしてもよい。
【００５１】
（イ）間延び係数を基準音符からの時間に応じて変化させる（図１０）：
また、基準音符からの時間が経過するにつれて、間延び係数Ｋｓを小さくなるように変化させ、間延び位置と判定する度合い（検出頻度）を高めるよう設定するのもよい方法である。このようにすると、音符長の変化があまり大きくない場合に、間延び位置を全然検出できないという不都合を解消することができる。
【００５２】
このように、間延び係数Ｋｓを基準音符からの経過時間Ｔに応じて変化させる場合、例えば、一次式に沿って係数Ｋｓを変化させてもよいし、他の式に沿って係数Ｋｓを変化させてもよい。図１０は２つの例を示し、図１０（１）は、基準音符からの経過時間Ｔの一次式
Ｋｓ  ＝  Ｋｓｏ−Ｆ×Ｔ                                ……（ｃ）
により、間延び係数Ｋｓが基準音符からの時間Ｔに応じて直線的に変化する場合の例〔Ｋｓｏ（係数基準値）＝２．０、Ｆ＝０．１／４８０〕である。また、図１０（２）は、指数関数式
【数１】
0003752993.tif 000002
により間延び係数Ｋｓが双曲線状に変化する場合の例〔Ｋｓｏ（係数基準値）＝２．０、Ｇ＝０．９、Ｈ＝１／４８０〕である。
【００５３】
なお、これら２例の計算式中で使用した係数基準値Ｋｓｏや係数Ｇ，Ｈの値は一例であり、実験等により適宜決定すればよい。また、計算式によって間延び係数Ｋｓを求めるのではなく、同等の特性を記録した間延び係数算出テーブルを参照して、平均音符長Ｌｍから、直接、係数Ｋｓを求めるようにしてもよい。
【００５４】
上述した（ア）及び（イ）の方法は、何れかの方法を単独に適用しても、或いは、両者を併用してもよい。（ア）及び（イ）の方法を併用する場合、式（ｃ）又は（ｄ）の係数基準値Ｋｓｏには、（ア）の方法で平均音符長Ｌｍから求められる間延び係数Ｋｓの値を適用するのが好ましい。この場合も、各計算式によって間延び係数Ｋｓを求めるのではなく、各間延び係数算出テーブルを順次参照して係数Ｋｓを求めるようにすることができる。
【００５５】
図１１は、計算式或いはテーブルを用いて間延び係数を自動的に取得する場合〔１〕の処理フローを示す。この間延び係数の取得処理〔１〕において、平均音符長Ｌｍに応じて変化する間延び係数Ｋｓを得る場合には、最初のステップＡ１にて、間延び位置検出処理のステップＳ５（図６）で算出された平均音符長Ｌｍを取得する。そして、次のステップＡ２にて、式（ａ），（ｂ）などの計算式に基づいて間延び係数Ｋｓを計算するか、或いは、間延び係数算出テーブルを参照することによって、間延び係数Ｋｓを得る。
【００５６】
なお、基準音符からの経過時間Ｔに応じて変化する間延び係数Ｋｓを得る場合には、第１ステップＡ１で基準音符からの時間Ｔを取得し、第２ステップＡ２で式（ｃ），（ｄ）などを基にした計算式又はテーブルに従って間延び係数Ｋｓを得るようにし、また、間延び係数Ｋｓを平均音符長Ｌｍ及び経過時間Ｔに応答させる場合は、ステップＡ１で必要な原因データＬｍ，Ｔを取得し、ステップＡ２で所要の計算式又はテーブルに従って間延び係数Ｋｓを得るようにすればよい。
【００５７】
〔２〕間延び係数等をユーザにより設定する方法（図１２、図１３）：
間延び係数Ｋｓや、間延び係数算出のための数式に用いる定数・係数等は、必要に応じてユーザにより設定可能とするように構成することができる。図１２は、間延び係数をユーザ設定により取得する場合〔２〕の処理フローを示す。この間延び係数の取得処理〔２〕では、最初のステップＢ１において、操作子装置１１の操作により、例えば、図１３に示すような間延び係数設定画面をディスプレイ１２上に表示する。次いで、ステップＢ２では、ユーザが操作子装置１１を操作し、間延び係数設定画面上に表示された間延び係数設定用スライダ（ツマミ）ＫＮを任意の位置に移動させることによって、設定画面上で間延び係数Ｋｓを入力する。
【００５８】
図１２及び図１３では、間延び係数Ｋｓを画面上に表示された可動画像ＫＮの位置によりユーザ設定する例を示したが、直接、数値にて間延び係数Ｋｓを設定入力してもよいし、分かりやすい用語（例えば、検出頻度の高低等を表わす用語）をユーザが選択し、それにより間接的に値を設定入力してもよい。なお、間延び係数Ｋｓの値は、図１３に例示されるように、およそ“１．５”〜“３．０”の範囲が好ましい。
【００５９】
さらに、式（ａ）〜（ｄ）などの間延び係数算出のための数式に用いられる定数／係数Ａ〜Ｈの値を設定入力できるようにしてもよい。この場合も、可動アイコンの位置、数値入力、用語選択などによって、間延び係数計算式に与える係数等をユーザ設定する構成を採用することができる。
【００６０】
また、予め、同種又は異種の間延び係数計算式或いは間延び係数算出テーブルを複数用意しておき、これらの計算式或いはテーブルから、何れかをユーザが選択することができるようにしてもよい。
【００６１】
〔間延び位置検出結果の利用〕
間延び位置検出処理により得られる検出結果は、例えば、検出した間延び位置に基づいて曲をフレーズ分割したり、検出した間延び位置に基づいて編曲するのに利用することができる。図１４は、検出した間延び位置に基づいて曲をフレーズ分割する場合のフローチャート例である。この例では、最初のステップＣ１で、既に述べた間延び位置検出処理により、フレーズ分割しようとする曲の間延び位置を検出すると、次のステップＣ２において、検出した間延び位置で、この曲を複数のフレーズに分割して行く。
【００６２】
さらに、このようにして複数に分割された各フレーズは、いろいろな用途に利用することができる。例えば、次のような利用法があげられるが、もちろん、これら以外の用途に利用してもよい：
（ア）フレーズごとの類似度を判定して曲の構造を検出する、
（イ）各フレーズを曲演奏の練習フレーズとする、
（ウ）各フレーズを自動作曲のネタ（モチーフメロディ等）にする、
（エ）各フレーズを鍵盤等にアサインし、アドリブ演奏に利用する、等々。
【００６３】
図１５は、検出した間延び位置に基づいて編曲する場合のフローチャート例である。この例では、最初のステップＤ１で、編曲しようとする曲の間延び位置を検出すると、次のステップＢ２において、検出した間延び位置に、伴奏データとして、フィルインセクシヨンやオブリガ−トメロディフレーズを挿入して行く。
【００６４】
このように、検出した間延び位置に伴奏のフィルインセクシヨンを入れることで、伴奏に変化を持たせることができる。また、間延び位置にオブリガートメロディを挿入することで、間延び感をなくすことができる。
【００６５】
〔種々の実施態様〕
以上、この発明による曲データ分析のための各種処理を一実施例に従って説明してきたが、実施形態は例示したものに限らない。例えば、平均値を取る範囲については、図１６に示すような実施形態でもよい。すなわち、着目音符或いは第１着目音符の音符長の判定（間延び判定）については、前述した実施例では．間延び判定の際、着目音符の前までで平均値を求めるようにしたが、図１６（ａ）の実施形態において「平均値を取る範囲」で示されるように、着目音符〔第７音符（７）及び第８休符（８）〕をも含めて平均値を取るようにしてもよい。
【００６６】
また、第２着目音符の音符長の判定（間延び後判定）については、前述した実施例では．間延び後判定の際、第１着目音符の前までで平均値を求めるようにしたが、図１６（ｂ）の実施形態において、「平均値を取る範囲その１」で示すように第１着目音符〔第７音符（７）及び第８休符（８）〕を含めて平均値を求めるようにしてもよいし、或いは、「平均値を取る範囲その２」で示すように、第２着目音符も含めて平均値を求めるようにしてもよい。
【００６７】
間延び係数Ｋｓについては、或る固定した値“２．０”である例を示したが、これに限らず、“１．０”よりも大きい値であればよい。ただし、あまり“１．０”に近すぎると、頻繁に間延び位置と判定され過ぎてしまうので、好ましくない。好ましくは、“１．５”程度以上とするのがよい。また、あまり大きすぎると、全く間延び位置と判定されなくなる場合が生じるので、好ましくない。好ましくは、“３．０”程度以下とするのがよい。間延び係数Ｋｓの最適な値は用途や曲に応じて異なるので、適宜実験により定めればよい。なお、これらは一般的によいと思われる例であって、特殊な場合には、“１．５”より小さくてもよいし、“３．０”より大きくてもよい。
【００６８】
また、間延び後係数Ｋｔが“１．５”（固定）である例を示したが、これに限らず、“１．０”よりも大きく且つ間延び係数Ｋｓよりも小さい値であればよい。間延び後係数Ｋｔも、間延び係数Ｋｓと同様、適宜実験により適当な値を定めればよい。
【００６９】
音符については、所定の最短音符長(例えば、３２分音符や１６分音符）の単位でクオンタイズしておくとよい。また、平均音符長Ｌｍや各音符の音符長ＬＮは、ノートオンからノートオフまでの時間で表わされるゲートタイムで計算してもよいし、或いは、当該ノートのノートオンから次のノートのノートオンまでの時間で表わされるステップタイムで計算してもよいが、ステップタイムのほうが好ましい。
【００７０】
各音符の音符長ＬＮは、「休符を前の音符に取りこむ」としたが、「ノートオンイベント＋ノートオフイベント」や「ゲートタイム付きノートオンイベント」のデータフォーマツトの場合には、「休符」データが存在しないので、「ノートオフから次のノートオンまでの間を休符とする」或いは「ゲートタイムの終わりから次のノートオンまでの間を休符とする」ようにすればよい。
【００７１】
なお、システムの形態については、パーソナルコンピュータ＋アプリケーションソフトウェアや、電子楽器の形態に限らず、カラオケ装置や、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【００７２】
電子楽器の形態を取った場合、その形態は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、ＭＩＤＩや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。通信インターフェース及び通信ネットワークは、有線のものに限らず無線でもよい。また双方を備えていてもよい。
【００７３】
最後に、ＭＩＤＩインターフェースに関連していうと、専用のＭＩＤＩインターフェースに限らず、ＲＳ−２３２Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインターフェースを用いて、ＭＩＤＩインターフェースを構成してもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよい。
【００７４】
【発明の効果】
以上説明したように、この発明によれば、曲データの所定位置の音符及びその後続音符から成る音符列の平均音符長を求め、求められた平均音符長から第１閾値を設定し、平均音符長を求めた音符列の次に位置する音符（或いは音符列の最後に位置する音符）を着目音符とし、その音符長を第１閾値（間延び判定ボーダー）とを比較する。比較の結果、着目音符長の方が小さい間は、次に位置する音符を音符列に加え着目音符の次の音符を着目音符に切り換えて、平均音符長の算出、第１閾値の設定及び着目音符との比較を繰り返し、着目音符長が第１閾値（間延び判定ボーダー）以上に大きくなると、着目音符を間延び位置と判定するようにしている。従って、間延び位置と判定された位置で平均値の算出がリセットされるので、曲の部分部分で音符の細かさが異なる場合にも、当該部分の音符の細かさに則して適切に間延び位置を検出することができる。
【００７５】
また、この発明によれば、第１閾値との第１比較により第１着目音符が間延び位置と仮判定されると、第１着目音符の次の音符を第２着目音符とし、その音符長を第２閾値（間延び後判定ボーダー）と比較する第２比較動作を行い、仮判定を検証する。第２比較の結果、第２着目音符長が第２閾値（間延び後判定ボーダー）以上に大きい場合には、第１比較により間延び位置が仮判定されてもこれを無効にし、次に位置する音符を音符列に加え、第１着目音符の次の音符を第１着目音符に切り換えて、平均音符長の算出、第１閾値の設定、及び、第１着目音符との第１比較動作を継続するようにしている。従って、第１着目音符の更に次に本来の間延び位置が存在する場合に、第１着目音符を間違って間延び位置として判定してしまうというミスを減らすことができる。
【００７６】
この発明によれば、第１閾値を平均音符長の長さに応じて変化させるようにして、平均音符長が短い場合と長い場合とでは、人間が間延びしていると感じる音符長が微妙に変化するという現象にうまく対応することができる。また、第１閾値を音符列の総時間長に応じて変化させることにより、音符長の変化があまり小さい場合に、間延び位置を全然検出できないという不都合を解消することができる。さらに、第１閾値又は第２閾値をユーザが変更可能に設定することができるように構成することにより、間延び位置の検出特性をユーザが任意に制御することができ、例えば、大まかに曲を分割したり、細かく分割したりするなど、種々の利用態様に応じた最適な間延び検出を行うことができる。
【００７７】
この発明によれば、さらに、判定又は決定された間延び位置をフレーズの区切りとして曲データを分割するようにしているので、適切な位置で曲を分割することができる。
【図面の簡単な説明】
【図１】図１は、この発明の一実施例による曲分析システムのハードウエア構成を示すブロック図である。
【図２】図２は、この発明の一実施例による間延び位置検出の概念を説明するための図である。
【図３】図３は、間延び位置検出例における第１回目の状態を表わす図である。
【図４】図４は、間延び位置検出例における第２回目の状態を表わす図である。
【図５】図５は、間延び位置検出例における第３回目の状態を表わす図である。
【図６】図６は、この発明の一実施例による間延び位置検出処理を示すフローチャートの第１部分である。
【図７】図７は、この発明の一実施例による間延び位置検出処理を示すフローチャートの第２部分である。
【図８】図８は、この発明の一実施例による間延び位置検出処理を表わすフローチャートの第３部分である。
【図９】図９は、間延び係数が平均音符長に応じて変化する例を表わす図である。
【図１０】図１０は、間延び係数が基準音符からの時間に応じて変化する例を表わす図である。
【図１１】図１１は、この発明の一実施例による間延び係数を取得するための第１処理例を表わすフローチャートである。
【図１２】図１２は、この発明の一実施例による間延び係数を取得するための第２処理例を表わすフローチャートである。
【図１３】図１３は、間延び係数設定画面の一例を表わす図である。
【図１４】図１４は、この発明の一実施例によるフレーズ分割への利用例におけるフローチャートである。
【図１５】図１５は、この発明の一実施例による編曲への利用例におけるフローチャートである。
【図１６】図１６は、この発明の他の実施形態による平均値を取る範囲を説明するための図である。
【符号の説明】
ＬＮ  音符長、
Ｌｍ（Ｌｍ１，Ｌｍ２，Ｌｍ３）  平均音符長、
ＢＳａ（ＢＳａ１，ＢＳａ２，ＢＳａ３）  間延び〔判定〕ボーダー、
ＢＳｂ（ＢＳｂ１，ＢＳｂ２，ＢＳｂ３）  間延び後〔判定〕ボーダー、
Ｋｓ  間延び係数、
Ｔ  基準音符からの経過時間、
ＫＮ  間延び係数設定用スライダ（ツマミ）。
【図１】
0003752993.tif 000003
【図２】
0003752993.tif 000004
【図３】
0003752993.tif 000005
【図４】
0003752993.tif 000006
【図５】
0003752993.tif 000007
【図６】
0003752993.tif 000008
【図７】
0003752993.tif 000009
【図８】
0003752993.tif 000010
【図９】
0003752993.tif 000011
【図１０】
0003752993.tif 000012
【図１１】
0003752993.tif 000013
【図１２】
0003752993.tif 000014
【図１３】
0003752993.tif 000015
【図１４】
0003752993.tif 000016
【図１５】
0003752993.tif 000017
【図１６】
0003752993.tif 000018