(57)【要約】  従来に比して楽曲における発音位置の検出精度を向上させて楽器の種類の検出率を向上させることを可能とする。  楽曲に相当する楽曲データＳinをＬＰＣ分析して得られる残差パワー値の差分値を用いて当該楽曲を演奏する楽器の発音位置を検出するに当たり、当該楽曲の速度（テンポ）に基づいて可変とされる検出用閾値を用いる発音位置検出部３を備える。
2010021035.tif 000002
【特許請求の範囲】
【請求項１】
楽曲を演奏する楽器の種類の検出に用いられる種類検出用情報を生成する情報生成装置において、
前記楽曲に相当する楽曲信号を、予め設定された単位時間毎のフレーム信号に分割する分割手段と、
前記分割されたフレーム信号に対して線形予測分析処理を施し、当該各フレーム信号毎に前記線形予測分析処理に係る残差信号のパワー値を算出するパワー値算出手段と、
一のフレーム信号に対応する前記パワー値と、前記楽曲信号において前記一のフレーム信号の直前に位置する他の前記フレーム信号に対応する前記パワー値と、の差を算出するパワー値差検出手段と、
前記算出された差に基づき、当該差についての閾値であって前記楽曲における前記楽器の発音位置の検出に用いられる閾値を算出する閾値算出手段と、
前記算出された閾値と、各前記フレーム信号に対応する各差と、を夫々比較し、前記閾値より前記差が大きい前記フレーム信号の期間内に前記発音位置が含まれていると検出する発音位置検出手段と、
前記検出された発音位置に基づいて、当該発音位置が含まれている前記期間に対応する前記種類検出用情報を生成する生成手段と、
を備えることを特徴とする情報生成装置。
【請求項２】
請求項１に記載の情報生成装置において、
各前記フレーム信号における前記パワー値の平均値を算出する平均値算出手段を更に備え、
前記発音位置検出手段は、前記パワー値が前記算出された平均値以上である前記フレーム信号に対応する前記差のみを用いて前記算出された閾値との比較を行い、当該差が前記閾値より大きい前記フレーム信号の期間内に前記発音位置が含まれていると検出することを特徴とする情報生成装置。
【請求項３】
請求項１又は２に記載の情報生成装置において、
前記発音位置検出手段は、
前記算出された閾値と、各前記フレーム信号に対応する各差と、を夫々比較し、前記閾値より前記差が大きい前記フレーム信号を発音位置候補フレーム信号として検出する候補検出手段と、
前記発音位置候補フレーム信号が複数検出されたとき、当該各発音位置候補フレーム信号間の時間間隔を夫々検出する間隔検出手段と、
を備え、
予め設定されている最低音長より短い時間間隔が各前記検出された時間間隔に含まれているとき、前記最低音長としての時間内に含まれている前記発音位置候補フレーム信号のうち前記差が最も大きい当該発音位置候補フレーム信号の期間内に前記発音位置が含まれていると検出することを特徴とする情報生成装置。
【請求項４】
請求項１から３のいずれか一項に記載の情報生成装置において、
前記算出手段は、前記検出された差が小さくなるほど前記閾値が小さくなるように当該閾値を算出することを特徴とする情報生成装置。
【請求項５】
請求項１から４のいずれか一項に記載の情報生成装置において、
前記算出手段は、前記検出された差が大きくなるほど前記閾値が大きくなるように当該閾値を算出することを特徴とする情報生成装置。
【請求項６】
請求項１又は２に記載の情報生成装置において、
前記閾値算出手段は、前記他のフレーム信号に対応する前記差に基づいて前記一のフレーム信号の期間内における前記発音位置の検出に用いられる前記閾値を算出し、
前記発音位置検出手段は、前記算出された閾値と、前記一のフレーム信号に対応する前記差と、を比較することを特徴とする情報生成装置。
【請求項７】
請求項１から６のいずれか一項に記載の情報生成装置において、
前記閾値算出手段は、前記算出された差と、前記発音位置の検出に供される前記フレーム信号の数と、に基づいて、前記閾値を算出することを特徴とする情報生成装置。
【請求項８】
請求項７に記載の情報生成装置において、
前記閾値算出手段は、前記フレーム信号の数が大きくなるほど前記閾値が小さくなるように当該閾値を算出することを特徴とする情報生成装置。
【請求項９】
請求項７又は８に記載の情報生成装置において、
前記閾値算出手段は、前記フレーム信号の数が小さくなるほど前記閾値が大きくなるように当該閾値を算出することを特徴とする情報生成装置。
【請求項１０】
楽曲を演奏する楽器の種類の検出に用いられる種類検出用情報を生成する情報生成方法において、
前記楽曲に相当する楽曲信号を、予め設定された単位時間毎のフレーム信号に分割する分割工程と、
前記分割されたフレーム信号に対して線形予測分析処理を施し、当該各フレーム信号毎に前記線形予測分析処理に係る残差信号のパワー値を算出するパワー値算出工程と、
一のフレーム信号に対応する前記パワー値と、前記楽曲信号において前記一のフレーム信号の直前に位置する他の前記フレーム信号に対応する前記パワー値と、の差を算出するパワー値差検出工程と、
前記算出された差に基づき、当該差についての閾値であって前記楽曲における前記楽器の発音位置の検出に用いられる閾値を算出する閾値算出工程と、
前記算出された閾値と、各前記フレーム信号に対応する各差と、を夫々比較し、前記閾値より前記差が大きい前記フレーム信号の期間内に前記発音位置が含まれていると検出する発音位置検出工程と、
前記検出された発音位置に基づいて、当該発音位置が含まれている前記期間に対応する前記種類検出用情報を生成する生成工程と、
を含むことを特徴とする情報生成方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか一項に記載の情報生成装置として機能させることを特徴とする情報生成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、情報生成装置及び情報生成方法並びに情報生成用プログラムの技術分野に属する。より詳細には、楽曲を演奏している楽器の種類等を検出するために用いられる発音位置を示す発音信号を生成する情報生成装置及び情報生成方法並びに情報生成用プログラムの技術分野に属する。
【背景技術】
【０００２】
近年、いわゆるホームサーバや携帯型オーディオ機器等のように、楽曲に相当する多数の楽曲データを電子的に記録し、これを再生して音楽を楽しむことが広く一般化しつつある。そして、当該音楽を楽しむに当たっては、多数の楽曲の中から所望する楽曲を迅速に検索することが望まれる。【０００３】
ここで、当該検索に際しては色々な検索方法があるが、その中の一つに、例えば、「ピアノの演奏が含まれている楽曲」又は「ギターの演奏が含まれている楽曲」の如く、その楽曲の演奏に用いられている楽器をキーワードとして検索する検索方法がある。そして、この検索方法が実現されるためには、上記ホームサーバ等に記録されている楽曲夫々について、どのような種類の楽器により演奏されているものかを迅速且つ正確に検出することが必要になる。【０００４】
一方、当該楽器の種類を検出するに当たっては、その楽曲における音の発音位置を各々検出し、その発音位置において検出される楽曲信号を解析することで、その発音位置から発音されている楽器の種類を特定することが行われている。【０００５】
ここで、当該「発音位置」とは、複数の音が時間軸上で連続することにより構成される上記楽曲において、一の音がそれを発する楽器により発せられたタイミングを言う。具体的に例えば、ピアノであれば、その鍵盤が演奏者の指で押下されることにより対応するハンマーが弦を叩くことで対応する音が発せられたタイミングを言い、ギターであれば、弦が演奏者の指で弾かれることにより対応する音が発せられたタイミングを言う。【０００６】
ここで、楽曲に相当する信号から当該発音位置を検出するための従来の技術としては、
（１）当該信号における音の音響パワーの値の時間的変化を利用して発音位置を検出する方法（下記特許文献１参照）、
（２）当該信号における音を線形予測分析（ＬＰＣ（Linear Predictive Coding））法により分析することで求められる線形予測パワー値の時間変化を利用し、発音位置を検出する方法、
又は、
（３）当該信号における音の周波数重心をフーリエ変換法により求め、その周波数重心の変化を利用して発音位置を検出する方法（下記非特許文献１参照）
などがあった。【０００７】
なおこのとき、上記ＬＰＣ法とは、楽曲に相当する楽曲信号が全極形の伝達関数を有する調音フィルタの出力であることを前提として、その楽曲信号のスペクトル密度関数をモデル化することで、いわゆる線形予測の考え方を用いて効率的に当該楽曲信号のスペクトルの概形を求めようとする手法である。
【特許文献１】特許第２９６６４６０号公報
【非特許文献１】P. Masri, Computer Modeling of Sound for Transformation and Synthesis of Musical Signal, PhD thesis, University of Bristol, Dec. 1996
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した特許文献又は非特許文献に記載された従来技術では、分析対象たる楽曲の速度（いわゆる「テンポ」）については、一切考慮されていない。この結果、上記従来技術では、楽曲の発音位置の検出精度が低下し、結果として楽器の種類の検出自体もその精度（検出率）が低下するという問題点があった。【０００９】
そこで、本願は上記の問題点に鑑みて為されたもので、その課題の一例は、上記従来に比して楽曲における発音位置の検出精度を向上させて楽器の種類の検出率を向上させることが可能な情報生成装置及び情報生成方法並びに情報生成用プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、請求項１に記載の発明は、楽曲を演奏する楽器の種類の検出に用いられる種類検出用情報を生成する情報生成装置において、前記楽曲に相当する楽曲信号を、予め設定された単位時間毎のフレーム信号に分割する単一楽器音区間検出部等の分割手段と、前記分割されたフレーム信号に対して線形予測分析処理を施し、当該各フレーム信号毎に前記線形予測分析処理に係る残差信号のパワー値を算出する単一楽器音区間検出部等のパワー値算出手段と、一のフレーム信号に対応する前記パワー値と、前記楽曲信号において前記一のフレーム信号の直前に位置する他の前記フレーム信号に対応する前記パワー値と、の差を算出する単一楽器音区間検出部等のパワー値差検出手段と、前記算出された差に基づき、当該差についての閾値であって前記楽曲における前記楽器の発音位置の検出に用いられる閾値を算出する閾値更新部等の閾値算出手段と、前記算出された閾値と、各前記フレーム信号に対応する各差と、を夫々比較し、前記閾値より前記差が大きい前記フレーム信号の期間内に前記発音位置が含まれていると検出する発音位置検出部等の発音位置検出手段と、前記検出された発音位置に基づいて、当該発音位置が含まれている前記期間に対応する前記種類検出用情報を生成する発音位置検出部等の生成手段と、を備える。【００１１】
上記の課題を解決するために、請求項１０に記載の発明は、楽曲を演奏する楽器の種類の検出に用いられる種類検出用情報を生成する情報生成方法において、前記楽曲に相当する楽曲信号を、予め設定された単位時間毎のフレーム信号に分割する分割工程と、前記分割されたフレーム信号に対して線形予測分析処理を施し、当該各フレーム信号毎に前記線形予測分析処理に係る残差信号のパワー値を算出するパワー値算出工程と、一のフレーム信号に対応する前記パワー値と、前記楽曲信号において前記一のフレーム信号の直前に位置する他の前記フレーム信号に対応する前記パワー値と、の差を算出するパワー値差検出工程と、前記算出された差に基づき、当該差についての閾値であって前記楽曲における前記楽器の発音位置の検出に用いられる閾値を算出する閾値算出工程と、前記算出された閾値と、各前記フレーム信号に対応する各差と、を夫々比較し、前記閾値より前記差が大きい前記フレーム信号の期間内に前記発音位置が含まれていると検出する発音位置検出工程と、前記検出された発音位置に基づいて、当該発音位置が含まれている前記期間に対応する前記種類検出用情報を生成する生成工程と、を含む。【００１２】
上記の課題を解決するために、請求項１１に記載の発明は、コンピュータを、請求項１から９のいずれか一項に記載の情報生成装置として機能させる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る楽曲再生装置の概要構成を示すブロック図である。
【図２】実施形態に係る発音位置検出部の細部構成を示すブロック図である。
【図３】実施形態に係る発音位置検出処理の全体を示すフローチャートである。
【図４】実施形態に係る閾値算出処理を示すフローチャートである。
【図５】実施形態に係る発音位置補正処理の細部を示すフローチャートである。
【図６】実施形態に係る発音位置補正処理を模式的に示す図であり、（ａ）及び（ｂ）は第一の例を示すタイミングチャートであり、（ｃ）乃至（ｆ）は第二の例を示すタイミングチャートである。
【図７】変形形態に係る発音位置検出処理の全体を示すフローチャートである。
【図８】変形形態に係る閾値算出処理を示すフローチャートである。
【図９】本願の効果を示す図であり、（ａ）は従来の発音位置検出処理の精度を例示する第一の図であり、（ｂ）は従来の発音位置検出処理の精度を例示する第二の図であり、（ｃ）は本願に係る発音位置検出処理の精度を例示する図である。
【符号の説明】
【００１４】
１    データ入力部
２    単一楽器音区間検出部
３    発音位置検出部
３Ａ    発音特徴量算出部
３Ｂ    閾値判別部
３Ｃ    発音位置補正部
４    特徴量算出部
５    比較部
６    条件入力部
７    結果記憶部
８    再生部
１０    閾値更新部
Ｄ    楽器検出部
Ｓ    楽曲再生装置
ＤＢ    モデル蓄積部
【発明を実施するための最良の形態】
【００１５】
次に、本願を実施するための最良の形態について、図１乃至図６を用いて説明する。なお、以下に説明する実施形態及び変形形態は、楽曲が多数記録されている記録媒体から所望の楽器により演奏されている楽曲を検索して再生する、例えば音楽ＤＶＤ（Digital Versatile Disc）や音楽サーバ等の楽曲再生装置に対して本願を適用した場合の実施形態及び変形形態である。
（Ａ）実施形態
初めに、実施形態に係る楽曲再生装置の構成について、図１及び図２を用いて説明する。なお図１は実施形態に係る楽曲再生装置の全体構成を示すブロック図であり、図２は実施形態に係る発音位置検出部の細部構成を示すブロック図である。【００１６】
図１に示すように、実施形態に係る楽曲再生装置Ｓは、データ入力部１と、分割手段及び振幅算出手段としての単一楽器音区間検出部２と、楽器検出部Ｄと、操作ボタン或いはキーボード及びマウス等からなる条件入力部６と、ハードディスクドライブ等からなる結果記憶部７と、液晶ディスプレイ等からなる図示しない表示部及び図示しないスピーカ等からなる再生部８と、により構成されている。また、楽器検出部Ｄは、発音位置検出手段、生成手段及びパワー値差検出手段としての発音位置検出部３と、特徴量算出部４と、比較部５と、モデル蓄積部ＤＢと、により構成されている。【００１７】
次に動作を説明する。【００１８】
実施形態に係る楽器検出処理の対象となる楽曲に相当する楽曲データは、上記音楽ＤＶＤ等から出力され、データ入力部１を介して楽曲データＳinとして単一楽器音区間検出部２に出力される。【００１９】
これにより、単一楽器音区間検出部２は、後述する方法により、単一の楽器音又は単一人による歌唱音のいずれかにより構成されていると聴感上見なすことができる当該楽曲データＳinの時間的区間である単一楽器音区間に属する当該楽曲データＳinを、元の当該楽曲データＳin全体の中から抽出する。そして、当該抽出結果は、単一楽器音データＳtonalとして楽器検出部Ｄに出力される。ここで、この単一楽器音区間には、例えばピアノ又はギター等の楽器が単一で演奏されている時間的区間の他に、例えばバックでドラムスが小さくリズムを取りつつギターがメイン楽器として演奏されている時間的区間も含まれる。【００２０】
これに加えて単一楽器音区間検出部２は、従来の方法、例えばＬＰＣ法を用いた楽曲データＳinの分析処理等を用いて、当該楽曲データＳinを分析した結果としての分析データＳaを楽器検出部Ｄに出力する。この分析データＳaには、上記ＬＰＣ法を用いた楽曲データＳinの分析処理によって算出されたＬＰＣ残差値である残差値Ｓlpcと、上記単一楽器音区間を示す後述する単一楽器音区間情報Ｓtaと、が含まれている。【００２１】
次に、楽器検出部Ｄは、単一楽器音区間検出部２から入力された単一楽器音データＳtonal並びに分析データＳaに基づいて、当該単一楽器音データＳtonalに相当する時間的区間の楽曲を演奏している楽器を検出し、当該検出された結果を示す検出結果信号Ｓcompを生成して結果記憶部７に出力する。【００２２】
これにより、結果記憶部７は、当該検出結果信号Ｓcompとして出力されて来る楽器の検出結果を、元の楽曲データＳinに相当する楽曲の楽曲名及び演奏者名等を示す情報と共に不揮発性に記憶する。なお、当該楽曲名及び演奏者名等を示す情報は、楽器検出の対象とされた楽曲データＳinに対応付けて図示しないネットワーク等を介して取得される。【００２３】
次に、条件入力部６は、楽曲の再生を所望する使用者により操作されるものであり、聞きたい楽器名等を含む楽曲の検索条件等を示す条件情報Ｓconを当該操作に対応して生成し、結果記憶部７に出力する。【００２４】
そして結果記憶部７は、楽器検出部Ｄから出力されて来た各楽曲データＳin毎の検出結果信号Ｓcompにより示される楽器と、上記条件情報Ｓconに含まれている楽器と、を比較する。これにより、結果記憶部７は、当該条件情報Ｓconに含まれている楽器に合致した楽器を含む検出結果信号Ｓcompに対応する楽曲の楽曲名及び演奏者名等を含む再生情報Ｓplayを生成して再生部８へ出力する。【００２５】
最後に、再生部８は、再生情報Ｓplayの内容を図示しない表示部に表示する。これにより、上記使用者により再生すべき楽曲（その使用者が聞きたい楽器の演奏部分を含む楽曲）が選択されると、再生部８は、当該選択された楽曲に対応する楽曲データＳinを図示しないネットワーク等を介して取得して再生／出力する。【００２６】
次に、上記楽器検出部Ｄの動作について、図１を用いて説明する。【００２７】
図１に示すように、楽器検出部Ｄに入力された上記分析データＳaは発音位置検出部３に出力され、また上記単一楽器音データＳtonalは特徴量算出部４に出力される。【００２８】
そして、発音位置検出部３は、後述する方法により、当該分析データＳaに含まれている単一楽器音区間情報Ｓta及び残差値Ｓlpcに基づいて、単一楽器音データＳtonalとしてその演奏が検出された楽器が、当該単一楽器音データＳtonalに相当する楽譜における一つの音符に相当する音を発音したタイミングと、当該タイミングを起点としたその発音している時間と、を夫々検出する。この検出結果は、発音信号Ｓmpとして特徴量算出部４に出力される。【００２９】
これにより、特徴量算出部４は、従来から知られている特徴量算出方法により、発音信号Ｓmpにより示される発音位置毎に単一楽器音データＳtonalの音響的特徴量を算出し、特徴量信号Ｓtとして比較部５に出力する。このとき、上記特徴量算出方法は、比較部５におけるモデル比較方法に対応した方法である必要がある。この特徴量算出部４により、単一楽器音データＳtonalにおける一音（一つの音符に相当する音）毎に特徴量信号Ｓtが生成される。【００３０】
次に、比較部５は、特徴量信号Ｓtにより示される一音毎の音響的特徴量と、モデル蓄積部ＤＢに蓄積されており且つモデル信号Ｓmodとして比較部５に出力されている楽器毎の音響モデルとを比較する。【００３１】
ここで、モデル蓄積部ＤＢには、例えばＨＭＭ（Hidden Markov Model（隠れマルコフモデル））を用いた楽器音モデルに相当するデータが、各楽器毎に蓄積され、夫々の楽器音モデル毎にモデル信号Ｓmodとして比較部５に出力される。【００３２】
そして、比較部５では、例えばいわゆるビタビアルゴリズムを用いて楽器音の認識処理を一音毎に行う。より具体的には、楽器音モデルに対して一音毎の特徴量との対数尤度を計算し、その対数尤度が最大となる楽器音モデルがその一音を演奏する楽器に相当する楽器音モデルであるとして、この楽器を示す上記検出結果信号Ｓcompが結果記憶部７に出力される。なお、信頼度が低い認識結果を除外するべく、上記対数尤度に閾値を設定し、閾値以下の対数尤度をもつ認識結果は除外するように構成することも可能である。【００３３】
次に、上記単一楽器音区間検出部２の動作について、より具体的に説明する。【００３４】
実施形態に係る単一楽器音区間検出部２は、詳細には後述するが、いわゆる（単一）音声生成機構モデルを楽器生成機構モデルへ応用することを原理として上記単一楽器音区間を検出する。【００３５】
すなわち、一般に、ピアノのような打弦楽器やギターのような撥弦楽器では、音源となる弦に振動を与えると、その直後から音としてのパワーが減衰し、その後共鳴音が主となって終音する。この結果、当該打弦楽器や撥弦楽器の場合、上記残差値Ｓlpcを用いて、
残差パワー値＝（対応する残差値Ｓlpc）２
なる式により算出される線形予測（ＬＰＣ）残差パワー値が小さくなる（なお、当該線形予測（ＬＰＣ）残差パワー値を、以下単に残差パワー値と称する）。【００３６】
これに対し、複数の楽器が同時に演奏されている場合、上述した音声生成機構モデルを応用した楽器生成機構モデルが適用できないため、上記残差パワー値としては大きくなる。【００３７】
そして、単一楽器音区間検出部２は、楽曲データＳinにおけるこの残差パワー値の大小に基づき、予め実験的に設定されている当該残差パワー値の閾値を超えた残差パワー値を有する当該楽曲データＳinの時間的区間については、打弦楽器や撥弦楽器についての単一楽器音区間でないと判定して無視する。これに対し、当該閾値を超えない残差パワー値を有する楽曲データＳinの時間的区間については、当該単一楽器音区間であると判定する。これにより、単一楽器音区間検出部２は、当該単一楽器音区間であると判定された時間的区間に属する楽曲データＳinを抽出し、単一楽器音データＳtonalとして楽器検出部Ｄに出力する。【００３８】
なお、上述した単一楽器音区間検出部２の動作は、本出願人により出願番号ＰＣＴ／ＪＰ２００７／５５８９９として国際出願済の内容であり、より詳細には、当該特許出願における第５図並びに明細書段落番号［００７１］乃至［００８１］等に記載されている技術である。【００３９】
これと並行して単一楽器音区間検出部２は、楽曲データＳinを予め設定された下記の情報量を有するフレームに分割し、そのフレーム毎に、上記単一楽器音区間であると判定された時間的区間を示す上記単一楽器音区間情報Ｓtaを生成し、上記残差値Ｓlpcと共に分析データＳaを構成して楽器検出部Ｄに出力する。【００４０】
ここで、具体的に単一楽器音区間情報Ｓtaには、単一楽器音区間であると判定された時間的区間の開始タイミングを示す開始タイミング情報と、当該時間的区間の終了タイミングを示す終了タイミング情報と、が含まれている。【００４１】
このとき、当該開始タイミング情報及び終了タイミング情報は、一の曲を構成するサンプルのうち、どのサンプルが単一楽器音区間の開始サンプル及び終了サンプルであるかを示す情報である。【００４２】
より具体的に例えば、長さが１０秒の曲があり、その曲内で単一楽器音区間の開始タイミングが曲の最初から３秒経過したタイミングであり、またその区間の終了タイミングが曲の最初から７秒経過したタイミングであるとする。この場合、上記開始サンプル情報は、楽曲データＳinにおけるサンプリング周波数を「ｆs」とすると、
開始サンプル情報＝ｆs×３サンプル
となり、一方上記終了サンプル情報は、
終了サンプル情報＝ｆs×７サンプル
となる。そして「ｆs×７−ｆs×３」サンプルの時間的区間が上記単一楽器音区間となり、単一楽器音区間検出部２は上述したように、その区間をフレーム分割する。これにより、一の単一楽器音区間は、一又は複数のフレームにより構成されることとなる。また、一フレーム分の上記情報量としては、例えば、上記サンプリング周波数が４４．１キロヘルツであった場合には５１２サンプル（時間にして１１．６ミリ秒）とされる。【００４３】
次に、上記発音位置検出部３の細部構成及び動作について、図２を用いてより具体的に説明する。【００４４】
図２に示すように、上記分析データＳaとして単一楽器音区間情報Ｓta及び残差値Ｓlpcが入力される発音位置検出部３は、発音特徴量検出部３Ａと、閾値算出手段としての閾値更新部１０を含む閾値判別部３Ｂと、発音位置補正部３Ｃと、により構成されている。【００４５】
この構成において、発音特徴量算出部３Ａは、単一楽器音区間情報Ｓta及び残差値Ｓlpcに基づき、上記各フレームに相当する単一楽器音データＳtonalに対応する残差パワー値毎に、直前のフレームにおける単一楽器音データＳtonalの残差パワー値（当該直前のフレームに係る残差値Ｓlpcを用いて算出される残差パワー値）との差分値を算出し、これを示す差分値Ｓdiffとして閾値判別部３Ｂに出力する。【００４６】
これにより、閾値判別部３Ｂは、閾値更新部１０により後述する如く逐次更新される差分値Ｓdiffの閾値（以下、単に閾値と称する）と上記差分値Ｓdiffとを比較し、当該差分値Ｓdiffが当該閾値以上であったとき、その差分値Ｓdiffに対応するフレームに相当する期間内に発音位置があるとして当該フレームを発音位置候補とする。その後、当該発音位置候補を示す候補データＳpを生成して発音位置補正部３Ｃに出力する。【００４７】
最後に発音位置補正部３Ｃは、複数の候補データＳpにより示される発音位置候補から、後述する動作により真の発音位置を含むと推定される発音位置候補を抽出し、当該抽出された発音位置候補を上記発音信号Ｓmpとして上記特徴量算出部４に出力する。【００４８】
なお、上述した閾値判別部３Ｂ及び発音位置補正部３Ｃの動作から明らかなように、実施形態に係る発音位置の検出における最小単位は、フレームであることになる。すなわち、発音位置検出部３としては、一フレームを時間の最小単位として発音位置を検出し、その結果を上記発音信号Ｓmpとして出力する。【００４９】
次に、実施形態に係る発音位置検出部３における発音位置検出動作について、より詳細に図３乃至図６を用いて説明する。なお、図３は当該発音位置検出動作の全体を単一楽器音区間検出部２の動作と共に示すフローチャートであり、図４は閾値更新部１０において実行される閾値算出動作を示すフローチャートであり、図５は発音位置補正部３Ｃにおいて実行される発音位置補正動作の細部を示すフローチャートである。また図６は、当該発音位置補正動作を模式的に示す図である。
（Ｉ）発音位置検出動作の全体動作
初めに、当該発音位置検出動作の全体について、図３を用いて説明する。なお図３において、単一楽器音区間検出部２の動作はステップＳ１乃至Ｓ７として示されており、また発音位置検出部３の動作はステップＳ１０乃至Ｓ２１として示されている。【００５０】
図３に示すように、実施形態に係る発音位置検出動作としては、先ず単一楽器音区間検出部２において、入力されて来る楽曲データＳinを上記フレームに分割し（ステップＳ１）、そのフレームに含まれる楽曲データＳinの各々について、各フレーム毎に線形予測分析処理を施す（ステップＳ２）。【００５１】
そして単一楽器音区間検出部２は、当該線形予測分析処理の結果を、対応するフレームに係る元の楽曲データＳinから減算し、実施形態に係る残差値（残差パワー値を算出する基となる残差値）Ｓlpcを、各フレーム毎に算出する。その後、当該算出した残差値Ｓlpcを、一時的に図示しないメモリ内に格納する（ステップＳ３）。【００５２】
次に単一楽器音区間検出部２は、複数のフレームにより構成されるセグメント全体について上記ステップＳ１乃至Ｓ３の動作が完了したか否かを確認する（ステップＳ４）。なおこのセグメントの概念は、上記フレームの概念と同じく従来と同様のものである。【００５３】
このステップＳ４の判定において対象セグメント内にステップＳ１乃至Ｓ３の動作について未処理のフレームがある場合は（ステップＳ４；ＮＯ）、当該未処理のフレームに含まれる楽曲データＳinについて上記ステップＳ１乃至Ｓ３の動作を実行すべく、ステップＳ１に戻る。【００５４】
一方、ステップＳ４の判定において、対象セグメント内の全てのフレームについてステップＳ１乃至Ｓ３の動作が実行されている場合（ステップＳ４；ＹＥＳ）、次に単一楽器音区間検出部２は、上述した手法により一のセグメント内の楽曲データＳinを対象として単一楽器音区間の検出動作を実行し（ステップＳ５）、その結果を単一楽器音区間情報Ｓtaとして一時的に図示しないメモリ内に格納する（ステップＳ６）。【００５５】
その後単一楽器音区間検出部２は、一の曲に相当する楽曲データＳinの全てについて上記ステップＳ１乃至Ｓ６の動作が実行されたか否かを確認し（ステップＳ７）、当該全てについて上記ステップＳ１乃至Ｓ６の動作が終了してないときは（ステップＳ７；ＮＯ）、残りの楽曲データＳinについて上記ステップＳ１乃至Ｓ６の動作を実行すべく、ステップＳ１に戻る。【００５６】
一方、ステップＳ７の判定において当該全てについてステップＳ１乃至Ｓ６の動作が実行されている場合（ステップＳ７；ＹＥＳ）、単一楽器音区間検出部２としての動作を終了して、次に発音位置検出部３における動作に移行する（ステップＳ１０乃至Ｓ２１）。【００５７】
すなわち先ず、発音位置検出部３内の発音特徴量検出部３Ａには、上記ステップＳ３の動作の結果としてメモリ内に格納されているフレーム毎の残差値が、上記残差値Ｓlpcとして逐次出力される。また上記ステップＳ６の動作の結果としてメモリ内に格納されているセグメント毎の単一楽器音区間情報Ｓtaもまた、逐次出力される。【００５８】
そして、これらを取得する発音特徴量検出部３Ａは、初めに単一楽器音区間検出部２から出力されて来た単一楽器音区間情報Ｓtaを読み込み、これに基づいて発音位置の検出を行う対象となる楽曲データＳinの区間である解析区間を設定する（ステップＳ１０）。次に発音特徴量検出部３Ａは、単一楽器音区間検出部２から出力されて来た残差値Ｓlpcのうち当該解析区間に含まれる各フレーム対応する残差値Ｓlpcを夫々読み込む（ステップＳ１１）。【００５９】
ここで、上記ステップＳ１０の処理に係る解析区間の具体的な長さは、上記単一楽器音区間情報Ｓtaに含まれるタイミング情報及び時間情報を用いて、予め設定されている従来の方法により設定される。そして上記ステップＳ１０の動作においては、この解析区間に含まれることとなるフレームを設定する。なおこの解析区間の長さに応じて、上記閾値が後述するように可変とされている。【００６０】
解析区間に対応する残差値Ｓlpcが読み込まれると（ステップＳ１１）、発音特徴量検出部３Ａは、当該読み込んだフレーム（一の解析区間に属する複数のフレーム）毎の残差値Ｓlpcを用いて各フレーム毎の残差パワー値を算出し、当該得られた残差パワー値を一時的に図示しないメモリ内に格納する（ステップＳ１２）。次に発音特徴量検出部３Ａは、一の解析区間に含まれる全てのフレームの夫々について、当該算出された残差パワー値を平均化した平均残差パワー値を算出して一時的に上記メモリ内に格納する（ステップＳ１３）。【００６１】
このステップＳ１３の処理と並行して発音特徴量検出部３Ａは、上記ステップＳ１２の動作により算出された各フレーム毎の残差パワー値を上記図示しないメモリから読み出し（ステップＳ１４）、この読み出した残差パワー値と、上記ステップＳ１３の動作により算出された平均残差パワー値と、を比較する（ステップＳ１５）。そして発音特徴量検出部３Ａは、平均残差パワー値未満の残差パワー値を有するフレームについては（ステップＳ１５；ＮＯ）、そのフレームに係る残差パワー値を「０」と設定して（ステップＳ１６）、以下のステップＳ１７の動作に移行する。【００６２】
これに対し、ステップＳ１５の判定において平均残差パワー値以上の残差パワー値を有するフレームについては（ステップＳ１５；ＹＥＳ）、発音特徴量検出部３Ａは、そのまま、そのフレームに対応する残差パワー値と、当該フレームの直前に位置するフレームに対応する残差パワー値と、の差分値を算出し（ステップＳ１７）、これを上記差分値Ｓdiffとして閾値判別部３Ｂに出力する。【００６３】
次に、これを受けた閾値判別部３Ｂは、閾値更新部１０により後述するように逐次更新されている閾値と、取得した差分値Ｓdiffと、を比較する（ステップＳ１８）。そして、差分値Ｓdiffがその時の閾値以上であるとき（ステップＳ１８；ＹＥＳ）、閾値判別部３Ｂは、その差分値Ｓdiffに対応するフレームを発音位置候補とし、当該発音位置候補を示す候補データＳpを生成して発音位置補正部３Ｃに出力する。【００６４】
ここで、発音位置候補としての発音時刻は、上述した如く単一楽器音区間の開始サンプル情報が予め判明しているので、その開始サンプルの値を起点として、発音位置として検出されたフレーム番号の分（より具体的には、「発音位置として検出されたフレームの番号−１」のサンプル数）を上記起点の値に加算することで算出される。すなわち、
発音位置候補としての発音時刻
＝開始サンプルの値（番号）＋｛（発音位置として検出されたフレームの番号−１）フレーム×一フレーム分のサンプル数｝／サンプリング周波数ｆs
となる。例えば、発音位置として検出されたフレームが第２フレームと第５フレームであった場合、発音時刻は、サンプリング周波数を４４．１キロヘルツ、一フレームを５１２サンプルとし、更に開始サンプルの値が「１」とすると、第２フレーム内に相当する発音時刻は、
当該発音時刻＝〔１＋｛（２−１）フレーム×５１２｝〕／４４１００
＝２２．６マイクロ秒
となる。すなわち、単一楽器音区間の先頭を起点として２２．６マイクロ秒経過後のタイミングが第２フレーム内に相当する発音時刻であることになる。一方、第５フレーム内に相当する発音時刻は、
当該発音時刻＝〔１＋｛（５−１）フレーム×５１２｝〕／４４１００
＝４６．４マイクロ秒
となる。すなわち、単一楽器音区間の先頭を起点として４６．４マイクロ秒経過後がタイミングが第５フレーム内に相当する発音時刻であることになる。【００６５】
次に発音位置補正部３Ｃは、解析区間に対応する複数の候補データＳpにより示される発音位置候補たる発音時刻から真の発音位置を含むと推定される発音位置候補を抽出し、当該抽出された発音位置候補を上記発音信号Ｓmpとして特徴量算出部４に出力して（ステップＳ１９）、後述するステップＳ２０の動作に移行する。【００６６】
一方、ステップＳ１８の判定において、差分値Ｓdiffがその時の閾値未満であるときには（ステップＳ１８；ＮＯ）、その差分値Ｓdiffに対応するフレームは発音位置候補とせず、次に閾値判別部３Ｂは、ステップＳ１０において設定された一の解析区間に含まれるフレームの全てについて、上記ステップＳ１４乃至Ｓ１９の動作が実行されたか否かを確認する（ステップＳ２０）。そして、当該全てについて上記ステップＳ１４乃至Ｓ１９の動作が終了してないとき（ステップＳ２０；ＮＯ）、閾値判別部３Ｂは、当該解析区間内の残りのフレームについて上記ステップＳ１４乃至Ｓ１９の動作を実行すべく、上記ステップＳ１４に戻る。【００６７】
一方、ステップＳ２０の判定において当該全てについてステップＳ１４乃至Ｓ１９の動作が実行されている場合（ステップＳ２０；ＹＥＳ）、閾値判別部３Ｂは次に、一の曲に相当する楽曲データＳinの全てについて上記ステップＳ１０乃至Ｓ２０の動作が実行されたか否かを確認し（ステップＳ２１）、当該全てについて上記ステップＳ１０乃至Ｓ２０の動作が終了してないときは（ステップＳ２１；ＮＯ）、その曲内の残りの楽曲データＳinについて上記ステップＳ１０乃至Ｓ２０の動作を実行すべく、ステップＳ１０に戻る。【００６８】
他方、ステップＳ２１の判定において一の曲内の全ての楽曲データＳinについてステップＳ１０乃至Ｓ２０の動作が実行されている場合（ステップＳ２１；ＹＥＳ）、閾値判別部３Ｂは、当該閾値判別部３Ｂ及び閾値更新部１０としての動作を終了する。
（II）閾値更新部の動作
次に、実施形態に係る閾値更新部１０としての動作を、より詳細に図４を用いて説明する。【００６９】
図４に示すように、実施形態に係る閾値更新部１０は、新たなフレーム（当該新たなフレームを、以下対象フレームと称する）についての発音位置検出部３における残差パワー値の読み出し動作（図３ステップＳ１４）が開始される度に、先ず図３ステップＳ１０の動作において設定された解析区間長を読み込む（ステップＳ３０）。次に閾値更新部１０は、図３ステップＳ１２で格納された残差パワー値を、当該対象フレームを中心として±Ｎフレーム分だけ読み込む（ステップＳ３１）。ここで、ステップＳ３１の動作において読み込まれるフレームの数を示すパラメータＮ（すなわち、後述する残差パワー値の中央値を算出する区間を設定するためのパラメータＮ）は、例えば最低検出音長に基づいて予め設定されているパラメータである。【００７０】
次に閾値更新部１０は、図３ステップＳ１３の動作により得られた平均残差パワー値を読み込む読込動作（ステップＳ３２）と、対象フレームを含め±Ｎフレームについての上記残差パワー値の中央値（いわゆるmedian）を抽出する動作（ステップＳ３３）と、解析区間の長さに応じた閾値の補正値の設定動作（ステップＳ３４乃至Ｓ３８）と、を夫々並行して実行し、その後に後述するステップＳ３９の動作に移行する。【００７１】
ここで、上記ステップＳ３３の動作に係る中央値の算出動作は、具体的には、対象フレームを含めた±Ｎフレーム分の残差パワー値から、時系列上でその中央に位置している残差パワー値を抽出する動作である。【００７２】
また、上記補正値の設定動作において、閾値更新部１０は、先ず解析区間の長さが予め設定されているフレーム数Ｍ１以上と設定されているか否かを確認し（ステップＳ３４）、当該長さがＭ１フレーム以上と設定されているときは（ステップＳ３４；ＹＥＳ）、上記補正値を、解析区間の長さがＭ１（Ｍ１＞１）フレーム以上と設定されている場合について予め設定されている値「Ｃ_High」とする（ステップＳ３６）。一方、ステップＳ３４の判定において解析区間の長さがＭ１フレーム以上と設定されていないとき（ステップＳ３４；ＮＯ）、次に閾値更新部１０は、解析区間の長さが予め設定されており且つ「１」より大きくＭ１より小さいフレーム数Ｍ２以上と設定されているか否かを確認し（ステップＳ３５）、当該長さがＭ２フレーム以上と設定されているときは（ステップＳ３５；ＹＥＳ）、上記補正値を、解析区間の長さがＭ１フレーム未満且つＭ２フレーム以上と設定されている場合について予め設定されている値「Ｃ_Middle」とする（ステップＳ３７）。他方、ステップＳ３５の判定において解析区間の長さがＭ２フレーム以上と設定されていないとき（ステップＳ３５；ＮＯ）、閾値更新部１０は、上記補正値を、解析区間の長さがＭ２フレーム未満と設定されている場合について予め設定されている値「Ｃ_Low」とする（ステップＳ３８）。【００７３】
そして、上記ステップＳ３２乃至Ｓ３８の動作により夫々算出又は設定された値を用いて、閾値更新部１０は次に、新たな上記閾値を算出する動作を行う（ステップＳ３９）。この後閾値更新部１０は、当該算出された閾値を上記ステップＳ１８の動作に供させる。【００７４】
ここで、実施形態に係る上記閾値Ｔdは、具体的には、
Ｔd＝δ＋λ×（中央値としての残差パワー値）      …  （１）
として、対象フレームについての発音位置検出部３としての動作が開始される度に更新される閾値である（ステップＳ３９）。このとき、定数λは予め設定されている固定値であり、例えば経験的に、λ＝１とされる。【００７５】
ここで、当該定数λを式（１）に用いる目的は、残差パワー値の小さな部分から残差パワー値の大きな部分の遷移区間の影響、又は残差パワー値の大きな部分から残差パワー値の小さな部分の遷移区間の影響を夫々補正するためである。【００７６】
具体的に例えば、残差パワー値が小さいフレームとそれが大きいフレームとに跨る期間で上記中央値を算出した場合、残差パワー値によっては閾値Ｔdが大きくなり、その結果として残差パワー値が小さいフレームにおける発音時刻の検出ができない（検出ミスとなる）可能性がある。この可能性を軽減するために上記定数λを用いるのであり、当該定数λの値を小さくすることで、閾値Ｔdの値を小さくすることができる。これにより、残差パワー値が小さいフレームにおける発音時刻の検出ミスが低減できる。【００７７】
更に値δは、上記ステップＳ３６乃至Ｓ３８に係る解析区間の長さに応じ、残差パワー値が「０」であるフレームを対象外として、
δ＝（ステップＳ３６乃至Ｓ３８のいずれか一つにより設定された補正値）＋（解析区間中の全フレームに対応する残差パワー値／解析区間中の全フレーム数）                                              …  （２）
によりその都度算出される値である。【００７８】
更に、上記補正値切り換え（ステップＳ３６乃至Ｓ３８参照）の閾値となる解析区間の長さ（フレーム数）については、実施形態では、経験に基づき、
Ｍ１＝４００（フレーム）、Ｍ２＝３００（フレーム）
として予め設定しており、更に切り換えられる補正値としては、実施形態では、
Ｃ_High＝０、Ｃ_middle＝０．０５、Ｃ_Low＝０．１
としている。【００７９】
なお、上述したように補正値切り換えの閾値となる解析区間の長さ（フレーム数）を「Ｍ１」又は「Ｍ２」としてを設けた理由は、解析区間の長さ（解析時間長）が長いほど補正値を小さくする（ステップＳ３４乃至Ｓ３８参照）ことにより、解析フレームの時間長の閾値Ｔdの更新に与える影響を少なくするためである。また、上記パラメータＮについては、実施形態では、最低検出音長を１６分音符に相当する時間（すなわち１２５ミリ秒）としたため、その値を「５」としている。【００８０】
最後に、上記発音位置補正部３Ｃにおける発音位置補正動作（図３ステップＳ１８参照）について、具体的に図５及び図６を用いて説明する。【００８１】
図５に示すように、発音位置補正部３Ｃは、先ず、当該発音位置補正動作に係る最低検出音長を、使用者の操作等により予め設定する。この最低検出音長として具体的には、例えば１６部音符に相当する時間（すなわち１２５ミリ秒）が用いられる。【００８２】
そして発音位置補正部３Ｃは、閾値判別部３Ｂから入力されてくる複数の候補データＳp（当然ながらその差分値Ｓdiffは閾値Ｔd以上となっている）により示される発音位置候補のうち、現在発音位置の補正の対象となっている発音位置候補（以下、現発音位置候補と称する）と、その直前の発音位置候補（以下、前発音位置候補と称する）と、の間の時間差を算出する（ステップＳ１８０）。次に発音位置補正部３Ｃは、求めた時間差が上記最低検出音長（図６（ａ）において符号ＴＴＨにより示す）以上である否かを確認する（ステップＳ１８１。図６（ａ）参照）。【００８３】
この結果、求めた時間差が上記最低検出音長以上であるとき（ステップＳ１８１；ＹＥＳ）、発音位置補正部３Ｃは、当該前発音位置候補に対応するフレームの期間に発音位置が含まれていると決定し、これを上記発音信号Ｓmpとして上記特徴量算出部４に出力する（ステップＳ１８２。図６（ｂ）符号ｔ１参照）と共に、その時の現発音位置候補を次の発音位置補正動作に係る前発音位置候補とする（図６（ｂ）符号ｔ２参照）。【００８４】
一方、ステップＳ１８１の判定において、求めた時間差が上記最低検出音長未満であるとき（ステップＳ１８１；ＮＯ）、発音位置補正部３Ｃは次に、その時の前発音位置候補との比較においてステップＳ１８０の動作において算出された時間差が上記最低検出音長以上となる発音位置候補を検索する（ステップＳ１８３。図６（ｃ）及び（ｄ）符号ｔ１乃至ｔ４参照）。【００８５】
そして、当該発音位置候補が複数検索できたとき（ステップＳ１８３；ＹＥＳ。図６（ｃ）及び（ｄ）符号ｔ１乃至ｔ４参照）、発音位置補正部３Ｃは次に、検索された複数の発音位置候補のうち、対応する差分値Ｓdiffが最大である発音位置候補に対応するフレームの期間に発音位置が含まれていると決定し、これを上記発音信号Ｓmpとして上記特徴量算出部４に出力する（ステップＳ１８４。図６（ｅ）符号ｔ２参照）。次に発音位置補正部３Ｃは、ステップＳ１８４の動作によって得られた発音位置から見て最初に上記最低検出音長を越える時間的位置に相当する発音位置候補を、次の発音位置補正動作に係る前発音位置候補とする（ステップＳ１８５。図６（ｆ）符号ｔ５参照）。そして発音位置補正部３Ｃとしての一フレーム分の動作を終了し図３に示すステップＳ１９の動作に移行する。
（Ｂ）変形形態
次に、本願に係る変形形態について、図７及び図８を用いて説明する。なお図７は変形形態に係る発音位置検出動作の全体を単一楽器音区間検出部２の動作と共に示すフローチャートであり、図８は変形形態に係る閾値更新部１０において実行される閾値算出動作を示すフローチャートである。また、図７において、実施形態に係る発音位置検出動作として図３において示した処理と同一の処理については同一のステップ番号を付して細部の説明は省略する。更に図８において、実施形態に係る閾値算出動作として図４において示した処理と同一の処理については同一のステップ番号を付して細部の説明は省略する。【００８６】
上述してきた実施形態では、フレーム信号に対応する残差パワー値に基づいて閾値Ｔdを算出することとしたが、これ以外に、直前のフレームに対応する残差パワー値と対象フレームに対応する残差パワー値との差分値Sdiffに基づいて閾値Ｔdを算出することもできる。【００８７】
この場合、上記式（１）に代えて、
Ｔd＝δ＋λ×（解析期間内の中央値としての差分値Ｓdiff）      …  （１）’
δ＝（ステップＳ３６乃至Ｓ３８のいずれか一つにより設定された補正値）＋（解析区間中の全フレームに対応する差分値Ｓdiff／解析区間中の全フレーム数）  …  （２）’
なる式を用いて閾値Ｔdを算出することとなる。この式（１）’において、「δ」及び「λ」の値は、上記式（１）に係るものと同様である。【００８８】
次に、この変形形態に係る発音位置検出動作及び閾値算出動作について詳説する。【００８９】
先ず、変形形態に係る発音位置検出動作として具体的には、図７に示すように、先ず図３に示した実施形態に係る発音位置検出動作の全体におけるものと同様のステップＳ１乃至Ｓ７の動作を変形形態に係る単一楽器音区間検出部において実行し、更に同ステップＳ１０乃至Ｓ１２の動作を変形形態に係る発音位置検出部において実行する。【００９０】
次に変形形態に係る発音特徴量検出部は、一の解析区間に含まれる全てのフレームの夫々について、当該算出された残差パワー値を用いて上記差分値Ｓdiffを算出し、それを一時的に図示しないメモリ内に格納する（ステップＳ１１２）。【００９１】
これにより変形形態に係る発音特徴量検出部は、一の解析区間に含まれる全てのフレームの夫々について、当該算出された差分値Ｓdiffを平均化した平均差分値を算出する（ステップＳ１１３）。【００９２】
このステップＳ１１３の処理と並行して変形形態に係る発音特徴量検出部は、上記ステップＳ１１２の動作により算出された各フレーム毎の差分値Ｓdiffを上記図示しないメモリから読み出し（ステップＳ１１４）、この読み出した差分値Ｓdiffと、上記ステップＳ１１３の動作により算出された平均差分値と、を比較する（ステップＳ１１５）。そして変形形態に係る発音特徴量検出部は、平均残差値未満の差分値Ｓdiffを有するフレームについては（ステップＳ１１５；ＮＯ）、そのフレームに係る差分値Ｓdiffを「０」と設定して（ステップＳ１１６）、以下のステップＳ１８の動作に移行する。【００９３】
これに対し、ステップＳ１１５の判定において平均差分値以上の差分値Ｓdiffを有するフレームについては（ステップＳ１１５；ＹＥＳ）、変形形態に係る発音特徴量検出部は、そのまま、当該差分値Ｓdifを変形形態に係る閾値判別部に出力する。【００９４】
次に、これを受けた変形形態に係る閾値判別部は、実施形態に係る閾値判別部３Ｂと同様のステップＳ１８及びＳ１９の動作を実行し、次に変形形態に係る閾値判別部は、ステップＳ１０において設定された一の解析区間に含まれるフレームの全てについて、上記ステップＳ１１４乃至Ｓ１１６並びにＳ１８及びＳ１９の動作が実行されたか否かを確認する（ステップＳ１１７）。そして、当該全てについて上記ステップＳ１１４乃至Ｓ１１６並びにＳ１８及びＳ１９の動作が終了してないとき（ステップＳ１１７；ＮＯ）、変形形態に係る閾値判別部は、当該解析区間内の残りのフレームについて上記ステップＳ１１４乃至Ｓ１１６並びにＳ１８及びＳ１９の動作を実行すべく、上記ステップＳ１１４に戻る。【００９５】
一方、ステップＳ１１７の判定において当該全てについてステップＳ１１４乃至Ｓ１１６並びにＳ１８及びＳ１９の動作が実行されている場合（ステップＳ１１７；ＹＥＳ）、変形形態に係る閾値判別部は次に、実施形態に係る閾値判別部３Ｂと同様のステップＳ２１の動作を実行して、変形形態に係る閾値判別部及び同閾値更新部としての動作を終了する。【００９６】
次に、変形形態に係る閾値算出動作として具体的には、図８に示すように、先ず図４に示した実施形態に係る閾値算出動作におけるものと同様のステップＳ３０の動作を変形形態に係る閾値更新部において実行する。次に変形形態に係る閾値更新部は、図７ステップＳ１１２で格納された差分値Ｓdiffを、当該対象フレームを中心として±Ｎフレーム分だけ読み込む（ステップＳ１３１）。ここで、ステップＳ１３１の動作において読み込まれるフレームの数を示すパラメータＮは、実施形態に係る当該パラメータＮと同様のものである。【００９７】
次に変形形態に係る閾値更新部は、図７ステップＳ１１３の動作により得られた平均差分値を読み込む読込動作（ステップＳ１３２）と、対象フレームを含め±Ｎフレームについての上記差分値Ｓdiffの中央値を抽出する動作（ステップＳ１３３）と、解析区間の長さに応じた閾値の補正値の設定動作（ステップＳ３４乃至Ｓ３８）と、を夫々並行して実行し、その後に後述するステップＳ３９の動作に移行する。【００９８】
ここで、上記ステップＳ１３３の動作に係る中央値の算出動作は、具体的には、対象フレームを含めた±Ｎフレーム分の差分値Ｓdiffから、時系列上でその中央に位置している差分値Ｓdiffを抽出する動作である。【００９９】
そして、上記ステップＳ１３２及びＳ１３３並びにＳ３４乃至Ｓ３８の動作により夫々算出又は設定された値を用いて、変形形態に係る閾値更新部は次に、新たな上記閾値を算出する動作を行う（ステップＳ１３９）。この後変形形態に係る閾値更新部は、当該算出された閾値を上記ステップＳ１８の動作に供させる。【０１００】
ここで、変形形態に係る閾値Ｔdは、具体的には、上記式（１）’及び式（２）’を用いて算出されることとなる。【０１０１】
以上説明した変形形態に係る動作の場合、上記式（１）’、（２）’を用いることから、残差パワーの算出と差分値Ｓdiffの算出という二つの動作を実行する必要がないことから、発音位置検出部としての構成を簡素化することができることとなる。
【実施例】
【０１０２】
次に、上述してきた実施形態及び変形形態に係る発音位置検出部３の動作による発音位置検出の精度向上について、図９を用いて実際の実験値を例示する。なお、図９（ａ）は従来の発音位置検出処理（閾値Ｔdが楽曲の速度によらず一定）の精度を例示する第一の図であり、図９（ｂ）は本願に係る発音位置検出処理の精度を例示する図である。また、図９において、一点鎖線は閾値Ｔdの変化（図９（ａ）に示す場合は一定）であり、縦の太い実線は検出された発音位置を示し、細かく変化する破線の波形は差分値Ｓdiffの変化を示している。【０１０３】
この図９からも明らかなように、実施形態に係る発音位置検出動作を実行することにより、図９（ａ）において破線円で示す部分における検出ミスが全く生じなくなり、これにより発音位置検出の精度が１０％以上（１５％程度）向上することが確認できた。【０１０４】
以上説明したように、実施形態及び変形形態並びに実施例に係る発音位置検出部の動作によれば、楽器の発音位置の検出に用いられる閾値Ｔdを各フレーム毎の線形予測分析処理に係る残差パワー値の差分値Ｓdiffに基づいて算出し、その算出された閾値Ｔdと当該差分値Ｓdiffとを比較して発音位置を検出する。このことは、一般に残差パワー値が高いほど対応する楽曲の速度（テンポ）が速く、また残差パワー値が低いほど対応する楽曲の速度が遅くなることから、その楽曲の速度を発音位置の検出に反映させることとなる。これにより、フレーム毎の楽器の発音位置の検出精度をより向上させて発音信号Ｓmpを生成することができる。【０１０５】
従って、楽器の発音位置の検出精度が向上することで、結果的に楽器の種類の検出率をも向上させることができる。【０１０６】
また、差分値Ｓdiffがその平均値より大きい場合のみ、当該差分値Ｓdiffを発音位置の検出に用いるので（図３ステップＳ１５乃至Ｓ１８又は図７ステップＳ１１５及びＳ１１６並びにＳ１８参照）、例えば、曲の最後の余韻部のような一の音が減衰していく区間に対して、閾値判別処理（図３又は図７ステップＳ１８）を行うことがなくなり、より正確に発音位置を検出することができる。【０１０７】
更にまた、発音位置補正部３Ｃにより、発音位置候補が複数検出された場合であって当該各発音位置候補間の時間間隔に最低検出音長より短いものが含まれているとき、最低検出音長としての時間内に含まれている発音位置候補のうち差分値Ｓdiffが最も大きい当該発音位置候補の期間内に発音位置が含まれていると検出するので（図５ステップＳ１８４参照）、最低検出音長よりも短い時間間隔の発音位置候補を誤差として除いた上で、正確に発音位置を検出することができる。【０１０８】
また、上記式（１）及び式（２）（又は式（１）’及び式（２）’）に基づいて閾値Ｔdを算出することで、差分値Ｓdiffが小さくなるほど閾値Ｔdが小さくなり、また差分値Ｓdiffが大きくなるほど閾値Ｔdが大きくなるように当該閾値Ｔdを算出することとなるので、より正確に発音位置を検出することができる。【０１０９】
更に、発音位置の検出に供される一解析区間中のフレーム数をも用いて閾値Ｔdを算出するので（図４ステップＳ３４乃至Ｓ３８参照）、より正確に発音位置を検出することができる。具体的には、上記式（２）（又は式（２）’）に基づいて閾値Ｔdを算出することで、当該フレーム数が大きくなるほど閾値Ｔdが小さくなり、また当該フレーム数が小さくなるほど閾値Ｔdが大きくなるように当該閾値Ｔdを算出することとなるので、より正確に発音位置を検出することができる。【０１１０】
また、上述してきた図３乃至図５に記載されたフローチャートに相当するプログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録しておき、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータで読み出して実行することにより、当該コンピュータを実施形態に係る発音位置検出部３として活用することも可能である。
【図１】
2010021035.tif 000003
【図２】
2010021035.tif 000004
【図３】
2010021035.tif 000005
【図４】
2010021035.tif 000006
【図５】
2010021035.tif 000007
【図６】
2010021035.tif 000008
【図７】
2010021035.tif 000009
【図８】
2010021035.tif 000010
【図９】
2010021035.tif 000011
【国際調査報告】
2010021035.tif 000012
2010021035.tif 000013