(57)【特許請求の範囲】
【請求項１】
聴覚マスキングにおけるマスキー音響信号、マスカー原音音響信号、マスカー加工音響信号の各々を符号化して得られ、音素成分を音の高さ、音の強さ、時間情報を有する形式で表現したマスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃに対して、
前記マスキー符号Ａと前記マスカー原音符号Ｂを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さが低い方を選択する低強度選択に基づく演算により、マスキング対象信号成分ＡＢを作成するとともに、
前記マスキー符号Ａと前記マスカー加工符号Ｃを用いて、前記低強度選択に基づく演算により、マスキング対象信号成分ＡＣを作成する低強度選択演算段階と、
前記マスキング対象信号成分ＡＢおよび前記マスキング対象信号成分ＡＣを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さの差分演算に基づく演算により、聴覚マスキングデータとしてマスキング対象成分の増分ＡＢＣを作成するようにしている差分演算段階と、
を有することを特徴とする聴覚マスキングデータの作成方法。
【請求項２】
聴覚マスキングにおけるマスキー音響信号、マスカー原音音響信号、マスカー加工音響信号の各々を符号化して得られ、音素成分を音の高さ、音の強さ、時間情報を有する形式で表現したマスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃに対して、
前記マスキー符号Ａを構成する全ての音の高さに一律に所定のオフセット値を加え、複数通りのオフセット値に対応して、複数通りの改変マスキー符号Ａ１、改変マスキー符号Ａ２を作成する符号データ改変段階と、
前記マスキー符号Ａおよび前記複数通りの改変マスキー符号Ａ１，Ａ２の各々と前記マスカー原音符号Ｂまたはマスカー加工符号Ｃを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さが低い方を選択する低強度選択に基づく演算により、複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２を作成している低強度選択演算段階と、
前記複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２どうしを各々の群内で２つずつ重複無く順次組み合わせ、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さを加算する加算演算に基づく演算により、合算マスキング対象信号成分ＡＢまたは合算マスキング対象信号成分ＡＣを作成するようにしている加算演算段階と、
前記合算マスキング対象信号成分ＡＢおよび前記合算マスキング対象信号成分ＡＣを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さの差分演算に基づく演算により、聴覚マスキングデータとしてマスキング対象成分の増分ＡＢＣを作成するようにしている差分演算段階と、
を有することを特徴とする聴覚マスキングデータの作成方法。
【請求項３】
請求項２において、
前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、
前記加算演算に基づく演算は、
前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合し、２チャンネル符号データを作成する符号データ統合段階と、
発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さの和を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、一方のチャンネルの発音区間の音の強さを有する新たな発音区間を生成する発音区間更新段階と、
前記発音区間更新段階にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化する演算符号データ符号化段階と、
を有することを特徴とする聴覚マスキングデータの作成方法。
【請求項４】
請求項１から請求項３のいずれか一項において、
前記差分演算段階により得られたマスキング対象成分の増分ＡＢＣを表示手段に画面表示する段階、および／または前記マスキング対象成分の増分ＡＢＣを音響再生手段により音響再生する段階をさらに有することを特徴とする聴覚マスキングデータの作成方法。
【請求項５】
請求項１から請求項４のいずれか一項において、
前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、
前記差分演算に基づく演算は、
前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合し、２チャンネル符号データを作成する符号データ統合段階と、
発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さの差分値を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、元の音の強さを有する新たな発音区間を生成する発音区間更新段階と、
前記発音区間更新段階にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化する演算符号データ符号化段階と、
を有することを特徴とする聴覚マスキングデータの作成方法。
【請求項６】
請求項１から請求項５のいずれか一項において、
前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、
前記低強度選択に基づく演算は、
前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合し、２チャンネル符号データを作成する符号データ統合段階と、
発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さのいずれか小さい方の値を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、発音区間の音の強さを全て０に設定する発音区間更新段階と、
前記発音区間更新段階にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化する演算符号データ符号化段階と、
を有することを特徴とする聴覚マスキングデータの作成方法。
【請求項７】
請求項３、請求項５、請求項６のいずれか一項において、
前記発音区間更新段階は、前記重複区間の音の強さが０の場合、前記重複区間を符号化対象から削除することを特徴とする聴覚マスキングデータの作成方法。
【請求項８】
請求項３、請求項５から請求項７のいずれか一項において、
前記演算符号データ符号化段階にて符号化された演算符号データに対して、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される発音区間を抽出し、前記抽出された全ての発音区間の時間間隔（発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差）の総和値Ｄｕｒａｔｉｏｎ、および前記抽出された全ての発音区間の音の強さと発音区間の時間間隔（発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差）との積の総和値Ｅｎｅｒｇｙを算出し、総和値Ｅｎｅｒｇｙを総和値Ｄｕｒａｔｉｏｎで除した値を前記演算符号データの評価値として出力するようにしていることを特徴とする聴覚マスキングデータの作成方法。
【請求項９】
請求項３、請求項５から請求項８のいずれか一項において、
前記演算符号データ符号化段階は、前記発音区間更新段階により得られた発音区間として、発音開始と発音終了の時刻が同一のものがある場合に、当該発音区間を構成するイベントデータを削除する処理をさらに行うことを特徴とする聴覚マスキングデータの作成方法。
【請求項１０】
請求項３、請求項５から請求項９のいずれか一項において、
前記符号データは、ＭＩＤＩデータであり、前記発音開始の識別はノートオン、前記発音終了の識別はノートオフ、前記時刻はデルタタイム、前記音の高さはノートナンバー、前記音の強さはベロシティ、前記発音区間はノートオン区間で表現されることを特徴とする聴覚マスキングデータの作成方法。
【請求項１１】
聴覚マスキングにおけるマスキー音響信号、マスカー原音音響信号、マスカー加工音響信号の各々を符号化して得られ、音素成分を音の高さ、音の強さ、時間情報を有する形式で表現したマスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃを入力する手段と、
前記マスキー符号Ａと前記マスカー原音符号Ｂを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さが低い方を選択する低強度選択に基づく演算により、マスキング対象信号成分ＡＢを作成するとともに、
前記マスキー符号Ａと前記マスカー加工符号Ｃを用いて、前記低強度選択に基づく演算により、マスキング対象信号成分ＡＣを作成する低強度選択演算手段と、
前記マスキング対象信号成分ＡＢおよび前記マスキング対象信号成分ＡＣを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さの差分演算に基づく演算により、聴覚マスキングデータとしてマスキング対象成分の増分ＡＢＣを作成するようにしている差分演算手段と、
を有することを特徴とする聴覚マスキングデータの作成装置。
【請求項１２】
聴覚マスキングにおけるマスキー音響信号、マスカー原音音響信号、マスカー加工音響信号の各々を符号化して得られ、音素成分を音の高さ、音の強さ、時間情報を有する形式で表現したマスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃを入力する手段と、
前記マスキー符号Ａを構成する全ての音の高さに一律に所定のオフセット値を加え、複数通りのオフセット値に対応して、複数通りの改変マスキー符号Ａ１、改変マスキー符号Ａ２を作成する符号データ改変手段と、
前記マスキー符号Ａおよび前記複数通りの改変マスキー符号Ａ１，Ａ２の各々と前記マスカー原音符号Ｂまたはマスカー加工符号Ｃを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さが低い方を選択する低強度選択に基づく演算により、複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２を作成している低強度選択演算手段と、
前記複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２どうしを各々の群内で２つずつ重複無く順次組み合わせ、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さを加算する加算演算に基づく演算により、合算マスキング対象信号成分ＡＢまたは合算マスキング対象信号成分ＡＣを作成するようにしている加算演算手段と、
前記合算マスキング対象信号成分ＡＢおよび前記合算マスキング対象信号成分ＡＣを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さの差分演算に基づく演算により、聴覚マスキングデータとしてマスキング対象成分の増分ＡＢＣを作成するようにしている差分演算手段と、
を有することを特徴とする聴覚マスキングデータの作成装置。
【請求項１３】
請求項１２において、
前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、
前記加算演算に基づく演算は、
前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合し、２チャンネル符号データを作成する符号データ統合手段と、
発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さの和を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、一方のチャンネルの発音区間の音の強さを有する新たな発音区間を生成する発音区間更新手段と、
前記発音区間更新手段にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化する演算符号データ符号化手段と、
により実行されることを特徴とする聴覚マスキングデータの作成装置。
【請求項１４】
請求項１１から請求項１３のいずれか一項において、
前記差分演算手段により得られたマスキング対象成分の増分ＡＢＣを画面表示する表示手段、および／または前記マスキング対象成分の増分ＡＢＣを音響再生する音響再生手段をさらに有することを特徴とする聴覚マスキングデータの作成装置。
【請求項１５】
請求項１１から請求項１４のいずれか一項において、
前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、
前記差分演算に基づく演算は、
前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合し、２チャンネル符号データを作成する符号データ統合手段と、
発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さの差分値を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、元の音の強さを有する新たな発音区間を生成する発音区間更新手段と、
前記発音区間更新手段にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化する演算符号データ符号化手段と、
により実行されることを特徴とする聴覚マスキングデータの作成装置。
【請求項１６】
請求項１１から請求項１５のいずれか一項において、
前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、
前記低強度選択に基づく演算は、
前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合し、２チャンネル符号データを作成する符号データ統合手段と、
発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さのいずれか小さい方の値を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、発音区間の音の強さを全て０に設定する発音区間更新手段と、
前記発音区間更新手段にて更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化する演算符号データ符号化手段と、
により実行されることを特徴とする聴覚マスキングデータの作成装置。
【請求項１７】
請求項１３、請求項１５、請求項１６のいずれか一項において、
前記発音区間更新手段は、前記重複区間の音の強さが０の場合、前記重複区間を符号化対象から削除することを特徴とする聴覚マスキングデータの作成装置。
【請求項１８】
請求項１３、請求項１５から請求項１７のいずれか一項において、
前記演算符号データ符号化手段にて符号化された演算符号データに対して、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される発音区間を抽出し、前記抽出された全ての発音区間の時間間隔（発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差）の総和値Ｄｕｒａｔｉｏｎ、および前記抽出された全ての発音区間の音の強さと発音区間の時間間隔（発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差）との積の総和値Ｅｎｅｒｇｙを算出し、総和値Ｅｎｅｒｇｙを総和値Ｄｕｒａｔｉｏｎで除した値を前記演算符号データの評価値として出力するようにしていることを特徴とする聴覚マスキングデータの作成装置。
【請求項１９】
請求項１３、請求項１５から請求項１８のいずれか一項において、
前記演算符号データ符号化手段は、前記発音区間更新手段により得られた発音区間として、発音開始と発音終了の時刻が同一のものがある場合に、当該発音区間を構成するイベントデータを削除する処理をさらに行うことを特徴とするマスキングデータの作成装置。
【請求項２０】
請求項１３、請求項１５から請求項１９のいずれか一項において、
前記符号データは、ＭＩＤＩデータであり、前記発音開始の識別はノートオン、前記発音終了の識別はノートオフ、前記時刻はデルタタイム、前記音の高さはノートナンバー、前記音の強さはベロシティ、前記発音区間はノートオン区間で表現されることを特徴とする聴覚マスキングデータの作成装置。
【請求項２１】
請求項１から請求項１０のいずれかに記載の聴覚マスキングデータの作成方法をコンピュータに実行させるためのプログラム。
【請求項２２】
請求項１１から請求項２０のいずれかに記載の聴覚マスキングデータの作成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、聴覚マスキングの性質を利用して、会話音を秘匿化したり、騒音の不快感を和らげたりするマスカー音響信号を作成するため、与えられた音響信号に対して加工を加え、加工により聴覚マスキング度合いや信号劣化度合いを評価するマスカー音響信号の評価技術に関する。
【背景技術】
【０００２】
電車や自動車の音などで会話が聴きづらくなる等、ある音により他の音がかき消されてしまう聴覚マスキングという現象が存在する。この聴覚マスキングについては、E. Zwickerらが提唱した臨界帯域幅ごとにマスキー音（かき消される音）とマスカー音（かき消す音）の音圧比率が所定のレベル以上に達すると発生することが知られており、周波数が高くなるにつれ、臨界帯域幅も大きくなる性質がある（非特許文献１参照）。
【０００３】
この聴覚マスキングの性質を利用して、会話音を秘匿化したり、騒音の不快感を和らげたりする技術も提案されている（特許文献１参照）。特許文献１の公知の手法では、エアコンノイズ（ピンクノイズ）のようなマスキング効果が高い既存の音源をマスカー音響信号として用いる方法を提案しているが、かなり音量の高いエアコンノイズを室内に流すため、室内全体に不快感を与え、本来の会話を行っている当事者どうしで相手の声が聞きとりづらくなるといった問題が指摘されている。そのため、先手法では、エアコンノイズのレベルを低減させ、代わりに鑑賞用の音楽信号を重ねる手法も併せて提案している。しかし、ポップスなど比較的騒がしい音楽は別にして、一般的なクラシック系の音楽のような鑑賞用の音楽信号は白色雑音やピンク雑音成分が少なく、エアコンノイズに比べ音声帯域の周波数成分が弱いため、エアコンノイズと同等なマスキング効果は働かない。従って、室内に快適な音楽を流そうとすると、マスキング効果が弱くなるというジレンマに陥っていた。
【０００４】
これに対して、本願発明者は、与えられた音楽信号及びマスキング対象とする騒音信号や平均的な日本人男女の音声信号に対して周波数解析を行い、前記騒音信号や前記音声信号に多く含まれ、逆に前記音楽信号に余り含まれていない周波数成分を強調させるようなフィルタ関数を算出し、前記音楽信号に対して前記フィルタ関数を用いてフィルタ加工を加え、改変させた音楽信号をマスカー音響信号として使用することにより、前記音楽信号に対してエアコンノイズと同等な会話音や騒音に対する聴覚マスキング効果をもたせるようにする手法を提案している（特許文献２および特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０３１５０１号公報
【特許文献２】特願２０１０−１７４７１６号
【特許文献３】特願２０１０−１９２１３３号
【特許文献４】特許第４１３２３６２号
【特許文献５】特開平１０−２５３４２９号公報
【特許文献６】特開２０００−２５９１３７号公報
【特許文献７】特開２０００−３３０５５４号公報
【０００６】
【非特許文献１】E.Zwicker and E. Terhardt,"Analytical expressions for critical-band rate and critical bandwidth as a function of frequency",Journal of Acoustical Society of America, Vol.68, no.5, pp.1523-1525, November 1980.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記従来の技術では、与えられた音楽信号に対して会話音や騒音に対する聴覚マスキングが効果的に働くように音楽信号にフィルタ加工を加える手法を提案しているが、再生される音楽品質を優先するため、音楽によってはマスキング効果が十分増強できないケースが生じる。この際、フィルタ加工による音楽信号の品質劣化成分によって、ヒト聴覚系内で生理的に働いているマスキング効果については客観的に計測や評価する手段が存在しなかった。
【０００８】
上記課題である会話音声・騒音信号（マスキー音響信号）が別途準備した音楽信号（マスカー音響信号）によって、聴覚マスキングがどの程度働くかを客観的に定量的に評価するための聴覚マスキングデータを作成するためには、非特許文献１に記載されている臨界周波数帯域を用いて、マスカー音響信号とマスキー音響信号との間で対応する臨界周波数帯域に含まれる信号成分を比較すれば良い。マスカー音響信号側の臨界周波数帯域に含まれる信号成分が、対応するマスキー音響信号側の同周波数帯域に含まれる信号成分に比べ、所定の割合（臨界周波数帯域ごとに異なるが平均して振幅で１０倍程度（＋２０ｄＢ））以上に大きければ、当該周波数帯域に含まれるマスキー音響信号側の周波数成分は完全にマスキングされ聴取されないことが知られている。ただし、マスカー音響信号とマスキー音響信号との間で対応する臨界周波数帯域に含まれる信号成分を比較して聴覚マスキングデータを作成することは容易ではない。
【０００９】
本発明は、臨界周波数帯域の幅が非特許文献１に記載されている通り、音楽音階と同様に周波数が高くなるほど広がる特性をもつことに着目し、マスカー音響信号及びマスキー音響信号を平均律音階を基本として記述されるＭＩＤＩ等の形式に符号化することにより、マスカー音響信号とマスキー音響信号との間で対応する臨界周波数帯域に含まれる信号成分の比較処理を、マスカー音響信号とマスキー音響信号に対応する（ＭＩＤＩ等の）符号データどうしの比較演算で簡便に実現する手法を提案することを主眼にしている。
【００１０】
そこで、本発明は、会話音声・騒音信号（マスキー音響信号）が別途準備した音楽信号（マスカー音響信号）によって、聴覚マスキングがどの程度働くかを客観的に定量的に評価するための聴覚マスキングデータを作成することが可能な聴覚マスキングデータの作成方法および装置を提供することを課題とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明第１の態様では、聴覚マスキングにおけるマスキー音響信号、マスカー原音音響信号、マスカー加工音響信号の各々を符号化して得られ、音素成分を音の高さ、音の強さ、時間情報を有する形式で表現したマスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃに対して、前記マスキー符号Ａと前記マスカー原音符号Ｂを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さが低い方を選択する低強度選択に基づく演算により、マスキング対象信号成分ＡＢを作成するとともに、前記マスキー符号Ａと前記マスカー加工符号Ｃを用いて、前記低強度選択に基づく演算により、マスキング対象信号成分ＡＣを作成し、前記マスキング対象信号成分ＡＢおよび前記マスキング対象信号成分ＡＣを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さの差分演算に基づく演算により、聴覚マスキングデータとしてマスキング対象成分の増分ＡＢＣを作成するようにしていることを特徴とする。
【００１２】
本発明第１の態様によれば、マスキー音響信号に対応するマスキー符号Ａ、マスカー原音音響信号に対応するマスカー原音符号Ｂ、マスカー加工音響信号に対応するマスカー加工符号Ｃに対して、マスキー符号Ａとマスカー原音符号Ｂを用いて、低強度選択に基づく演算によりマスキング対象信号成分ＡＢを作成するとともに、マスキー符号Ａとマスカー加工符号Ｃを用いて、低強度選択に基づく演算によりマスキング対象信号成分ＡＣを作成した後、マスキング対象信号成分ＡＢおよびマスキング対象信号成分ＡＣを用いて、差分演算に基づく演算によりマスキング対象成分の増分ＡＢＣを作成するようにしたので、マスカー原音音響信号に対するマスカー加工音響信号のマスキング対象成分の増分を効率的に作成できる。得られたマスキング対象成分の増分ＡＢＣを表示または音響出力することにより、マスキング対象成分の増分を視覚的、聴覚的に確認することが可能となる。
【００１３】
また、本発明第２の態様では、聴覚マスキングにおけるマスキー音響信号、マスカー原音音響信号、マスカー加工音響信号の各々を符号化して得られ、音素成分を音の高さ、音の強さ、時間情報を有する形式で表現したマスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃに対して、前記マスキー符号Ａを構成する全ての音の高さに一律に所定のオフセット値を加え、複数通りのオフセット値に対応して、複数通りの改変マスキー符号Ａ１、改変マスキー符号Ａ２を作成し、前記マスキー符号Ａおよび前記複数通りの改変マスキー符号Ａ１，Ａ２の各々と前記マスカー原音符号Ｂまたはマスカー加工符号Ｃを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さが低い方を選択する低強度選択に基づく演算により、複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２を作成し、前記複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２どうしを各々の群内で２つずつ重複無く順次組み合わせ、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さを加算する加算演算に基づく演算により、合算マスキング対象信号成分ＡＢまたは合算マスキング対象信号成分ＡＣを作成し、前記マスキング対象信号成分ＡＢおよび前記マスキング対象信号成分ＡＣを用いて、音の高さが対応し、時間情報が重複する音素成分に対する、音の強さの差分演算に基づく演算により、聴覚マスキングデータとしてマスキング対象成分の増分ＡＢＣを作成するようにしていることを特徴とする。
【００１４】
本発明第２の態様によれば、マスキー音響信号に対応するマスキー符号Ａ、およびマスキー符号Ａを所定の音の高さだけシフトさせた改変符号データＡ１、Ａ２のそれぞれと、マスカー原音音響信号または
マスカー加工音響信号に対応するマスカー原音符号Ｂまたはマスカー加工符号Ｃに対して、マスキー符号Ａおよび複数通りの改変マスキー符号Ａ１，Ａ２の各々とマスカー原音符号Ｂまたはマスカー加工符号Ｃを用いて、低強度選択に基づく演算により、複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２を作成し、複数通りのマスキング対象信号成分ＡＢ，マスキング対象信号成分ＡＢ１，ＡＢ２またはマスキング対象信号成分ＡＣ，マスキング対象信号成分ＡＣ１，ＡＣ２どうしを各々の群内で２つずつ重複無く順次組み合わせ、加算演算により、合算マスキング対象信号成分ＡＢまたは合算マスキング対象信号成分ＡＣを作成し、マスキング対象信号成分ＡＢおよびマスキング対象信号成分ＡＣを用いて、差分演算により、マスキング対象信号成分の増分ＡＢＣを作成するようにしたので、マスカー原音音響信号に対するマスカー加工音響信号のマスキング対象信号成分の増分を、＋１または−１半音の範囲に拡張させて高精度、かつ効率的に作成できる。得られたマスキング対象信号成分の増分ＡＢＣを表示または音響出力することにより、マスキング対象信号成分の増分を視覚的、聴覚的に確認することが可能となる。
【００１５】
また、本発明第３の態様では、本発明第２の態様において、前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、前記加算演算に基づく演算は、前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合することにより２チャンネル符号データを作成し、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さの和を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、一方のチャンネルの発音区間の音の強さを有する新たな発音区間を生成して更新し、更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化することを特徴とする。
【００１６】
また、本発明第４の態様では、本発明第１から第３のいずれかの態様において、前記差分演算段階により得られたマスキング対象成分の増分ＡＢＣを表示手段に画面表示する段階、および／または前記マスキング対象成分の増分ＡＢＣを音響再生手段により音響再生することを特徴とする。
【００１７】
本発明第４の態様によれば、マスキング対象信号成分の増分ＡＢＣを表示手段に画面表示、および／またはマスキング対象信号成分の増分ＡＢＣを音響再生手段により音響再生するようにしたので、マスキング対象信号成分の増分ＡＢＣを視覚的かつ聴覚的に評価することが可能となる。
【００１８】
また、本発明第５の態様では、本発明第１から第４のいずれかの態様において、前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、前記差分演算に基づく演算は、前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合することにより２チャンネル符号データを作成し、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さの差分値を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、元の音の強さを有する新たな発音区間を生成して更新し、更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化することを特徴とする。
【００１９】
また、本発明第６の態様では、本発明第第１から第５のいずれかの態様において、前記マスキー符号Ａ、マスカー原音符号Ｂ、マスカー加工符号Ｃは時系列に配置されたイベントデータで構成され、各イベントデータは、前記時間情報を規定する発音開始または発音終了の識別および時刻、前記音の高さ、チャンネル番号、前記音の強さの属性情報を備えた符号データであり、前記低強度選択に基づく演算は、前記２つの符号データの各イベントデータに対して互いに異なるチャンネル番号を付与しながら、時刻が早い順にソートして、２つのチャンネル番号を有する１つの時系列な符号データに統合することにより２チャンネル符号データを作成する符号データ統合段階と、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される区間を発音区間としたとき、前記２チャンネル符号データの中で、一方のチャンネルの発音区間が、同一の音の高さをもつ他方のチャンネルの発音区間と時間的に少なくとも一部が重複する場合に、両発音区間が重複する部分を、両発音区間の音の強さのいずれか小さい方の値を新たな音の強さとする新たな発音区間を生成し、前記少なくとも一部が重複する両発音区間のうち、重複しない部分については、発音区間の音の強さを全て０に設定して更新し、更新された発音区間の各々の発音開始のイベントデータと発音終了のイベントデータを時系列にソートし、所定の形式で符号化することを特徴とする。
【００２０】
本発明第３、第５、第６の態様によれば、マスカー原音音響信号とマスカー加工音響信号またはマスカー音響信号とマスキー音響信号に対応する２
つの符号データを１つの２チャンネル符号データに統合し、２つのチャンネルで発音時間が重複する同一ノートナンバーの発音区間を重複する部分と重複しない部分に分割し、重複する部分、重複しない部分のベロシティを、差分演算、低強度選択、加算演算を行うことにより更新し、各発音区間を特定するノートオンのイベントデータとノートオフのイベントデータを時系列にソートし、２つのマスカー音響信号どうしの差分（マスカー原音音響信号の加工に基づく信号劣化成分やマスキング対象信号成分の増分）、マスカー原音音響信号またはマスカー加工音響信号によるマスキー音響信号に対する聴覚マスキングデータ、オフセットを加えた複数のマスキー音響信号どうしの和（音高方向にオフセットを加えた複数のマスキー音響信号どうしの和）またはマスキング対象信号成分どうしの和（音高方向にオフセットを加えた複数のマスキー音響信号に対するマスカー原音信号またはマスカー加工音響信号によるマスキング対象信号成分どうしの和）に対応する演算符号データとして符号化するようにしたので、発音開始または発音終了の識別、時刻、音の高さ、チャンネル番号、音の強さの属性情報を備えた符号データ間の演算を効率的に行うことが可能となる。
【００２２】
また、本発明第７の態様では、本発明第３、第５、第６のいずれかの態様において、前記重複発音区間の演算処理をする際、前記重複区間の音の強さが０の場合、前記重複区間を符号化対象から削除することを特徴とする。
【００２３】
本発明第７の態様によれば、音の強さとして最終的に０が与えられることがなくなり、各発音区間の終了を特定するノートオフのイベントデータを示すベロシティ０と区別することが可能となる。
【００２４】
また、本発明第８のいずれかの態様の態様では、本発明第３、第５から第７のいずれかの態様において、 前記演算符号データ符号化段階にて符号化された演算符号データに対して、発音開始のイベントデータとそれに対応する同一の音の高さをもつ発音終了の２つのイベントデータの対で構成される発音区間を抽出し、前記抽出された全ての発音区間の時間間隔（発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差）の総和値Ｄｕｒａｔｉｏｎ、および前記抽出された全ての発音区間の音の強さと発音区間の時間間隔（発音終了のイベントデータの時刻と発音開始のイベントデータの時刻との差）との積の総和値Ｅｎｅｒｇｙを算出し、総和値Ｅｎｅｒｇｙを総和値Ｄｕｒａｔｉｏｎで除した値を前記演算符号データの評価値として出力するようにしていることを特徴とする。
【００２５】
本発明第８の態様によれば、発音区間の時間間隔の総和値と、抽出された全ての発音区間の音の強さと発音区間の時間間隔との積の総和値をエネルギー総和値として算出し、エネルギー総和値を時間間隔の総和値で除した値を演算符号データの評価値として出力するようにしたので、時間当たりのエネルギー（強さの時間平均値）を用いて前記音響信号を符号化して得られた２つの独立した符号データの関係を客観的に評価することが可能となる。具体的には、マスカー原音音響信号に対するマスカー加工音響信号の信号劣化成分や、マスカー原音音響信号に対するマスカー加工音響信号のマスキー音響信号に対するマスキング対象信号成分の増分を単一の数値パラメータで提示することにより、マスカー原音音響信号に対する加工度合いを効率的に決定することができる。
【００２６】
また、本発明第９の態様では、本発明第３、第５から第８のいずれかの態様において、前記差分符号データの符号化は、発音区間の更新により得られた発音区間として、発音開始と発音終了の時刻が同一のものがある場合に、当該発音区間を構成するイベントデータを削除する処理をさらに行うことを特徴とする。
【００２７】
本発明第９の態様によれば、発音区間の更新後に、発音開始と発音終了の時刻が同一のものがある場合に、値が０をもつ発音区間を構成するイベントデータを削除するようにしたので、画面表示や音響再生において機能的に意味をもたない冗長なイベントの発生を防ぐことが可能となる。
【発明の効果】
【００２８】
本発明によれば、会話音声・騒音信号（マスキー）が別途準備した音楽信号（マスカー）によって、聴覚マスキングがどの程度働くかを客観的に定量的に評価するための聴覚マスキングデータを作成することが可能となるという効果を有する。
【図面の簡単な説明】
【００２９】
【図１】演算符号データ作成装置の一実施形態を示す機能ブロック図である。
【図２】演算符号データの作成方法の概要を示すフローチャートである。
【図３】ＭＩＤＩデータ統合処理の詳細を示すフローチャートである。
【図４】重複ノートオン区間の差分処理の概要を説明するための図である。
【図５】重複ノートオン区間の低強度選択処理の概要を説明するための図である。
【図６】重複ノートオン区間の加算処理の概要を説明するための図である。
【図７】重複ノートオン区間の演算処理の詳細を示すフローチャートである。
【図８】０デュレーションイベント削除処理の詳細を示すフローチャートである。
【図９】０デュレーションイベント削除処理の詳細を示すフローチャートである。
【図１０】本発明に係る聴覚マスキングデータの作成装置の一実施形態を示す機能ブロック図である。
【図１１】本発明第１の実施形態に係る聴覚マスキングデータの作成方法の概要を示すフローチャートである。
【図１２】マスキーＭＩＤＩ符号Ａを＋１または−１半音の範囲に拡張させて合算マスキング対象信号成分ＡＢ、ＡＣを作成する処理の概要を示すフローチャートである。
【図１３】ＭＩＤＩ打ち込みデータを表示出力した状態を示す図である。
【図１４】マスカー原音ＭＩＤＩ符号Ｂを表示出力した状態を示す図である。
【図１５】マスカー加工ＭＩＤＩ符号Ｃを表示出力した状態を示す図である。
【図１６】差分ＭＩＤＩ符号ＢＣを表示出力した状態を示す図である。
【図１７】マスキーＭＩＤＩ符号Ａを表示出力した状態を示す図である。
【図１８】合算マスキング対象成分ＡＢを表示出力した状態を示す図である。
【図１９】合算マスキング対象成分ＡＣを表示出力した状態を示す図である。
【図２０】差分ＭＩＤＩ符号ＡＢＣを表示出力した状態を示す図である。
【発明を実施するための形態】
【００３０】
＜基本となる符号データの演算処理＞
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。まず、本発明で用いる符号データの演算処理について説明する。図１は、符号データの演算処理を実行する演算符号データ作成装置を示す機能ブロック図である。演算符号データ作成装置は、図１に示すように、データ入力部１１、演算処理部１２、表示部１３、音響出力部１４、データ出力部１５、符号データ作成部１６を有すると共に、図示しないハードディスク等の記憶装置、指示入力を行うキーボード、マウス等の入力機器等を有しており、入出力機器が接続された汎用のコンピュータに専用のプログラムを組み込むことにより実現される。
【００３１】
図１において、データ入力部１１は、聴覚マスキング効果の評価の対象であるマスカー原音音響信号、マスカー加工音響信号またはマスキー音響信号などの複数のＷＡＶ形式等（ＷＡＶはＭｉｃｒｏｓｏｆｔ社の音響信号形式）の音響信号を入力するためのものである。マスカー加工音響信号は、上述のように、特許文献２または特許文献３の手法により、与えられた音楽信号及びマスキング対象とする騒音信号や平均的な日本人男女の音声信号に対して周波数解析を行い、マスキー音響信号に多く含まれ、逆にマスカー原音音響信号に余り含まれていない周波数成分を強調させるようなフィルタ関数を算出し、マスカー原音音響信号に対してフィルタ関数を用いてフィルタ加工を加え、改変させて得られるものである。続いて、符号データ作成部１６は、入力された音響信号を特許文献４など公知の手法によりＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）データ等の符号データに変換するためのものである。後続の演算処理部１２と同様に、ＣＰＵ、メモリを有し、記憶装置から専用のプログラムをメモリ上に読み込んで実行することにより本機能を実現する。演算処理部１２は、ＣＰＵ、メモリを有し、記憶装置から専用のプログラムをメモリ上に読み込んで実行し、符号データ作成部１６で作成された複数の符号データどうしで指定された所定の演算を行い、演算符号データを作成する、本発明の演算符号データ作成装置の主要な機能を実現するものである。表示部１３は、液晶ディスプレイ等の表示装置により実現され、演算処理部１２により作成された演算符号データを表示する。音響出力部１４は、ＭＩＤＩ音源、ＭＩＤＩシーケンサ、アンプおよびスピーカにより実現され、演算処理部１２により作成された演算符号データを音響信号に変換して音響出力する。データ出力部１５は、ＭＩＤＩデータ等の演算符号データをＳＭＦ（Ｓｔａｎｄａｒｄ  ＭＩＤＩ  Ｆｉｌｅ）形式などのデータ形式で出力するためのものである。
【００３２】
＜処理概要＞
図２は、図１に示した演算符号データ作成装置による演算符号データの作成方法の概要を示すフローチャートである。演算符号データの作成方法は、図２に示した各ステップ（各段階）の詳細な手順を記録したプログラムを、図１に示した演算符号データ作成装置が実行することにより行われる。
【００３３】
本発明で用いる符号データ作成部１６で作成される符号データとしては、データ入力部１１で入力された音響信号を構成する各音素成分を、その音素成分の強度、高さ、時間情報で表現した形式のものであれば、どのようなものであっても良い。時間情報に関しては、開始時刻と終了時刻で特定する形式であっても、開始時刻と発音時間で特定する形式であっても、何らかの手法により開始時刻、終了時刻、発音時間が特定できるものであれば良い。本実施形態では、符号データとして、発音開始時にノートオン、発音終了時にノートオフのイベントデータを設定し、音の強さとしてベロシティ、音の高さとしてノートナンバーを設定したＭＩＤＩ規格を採用している。したがって、以下においても、ＭＩＤＩデータを例にとって説明していく。
【００３４】
演算符号データの作成方法としては、まず、コンピュータ本体である演算処理部１２が、２つのＭＩＤＩデータをデータ入力部１１から読み込む。ここでは、２つのＭＩＤＩデータＭ１、Ｍ２を読み込むものとする。２つのＭＩＤＩデータＭ１、Ｍ２を読み込んだら、演算処理部１２は、読み込んだ２つのＭＩＤＩデータＭ１、Ｍ２を、１つの時系列な２チャンネルＭＩＤＩデータに統合する（Ｓ１）。
【００３５】
統合に際して、演算処理部１２は、読み込んだ２つのＭＩＤＩデータＭ１、Ｍ２それぞれのＭＩＤＩイベント配列を、Ｅｖｅｎｔ１[]、Ｅｖｅｎｔ２[]とする。２つのＭＩＤＩイベント配列の総ノートイベント数は各々Ｎｅ１、Ｎｅ２とし、各イベント配列には属性として［ｔｉｍｅ，ｃｈａｎｎｅｌ，ｎｏｔｅ−ｎｕｍｂｅｒ，ｖｅｌｏｃｉｔｙ］の４つの値をもつものとする。例えば、Ｅｖｅｎｔ１[]のｔｉｍｅ属性をＥｖｅｎｔ１[]．ｔｉｍｅと表記する。ｔｉｍｅにはノートイベントの絶対値を与え、ＭＩＤＩ規格準拠のＳＭＦ形式（Ｓｔａｎｄａｒｄ  ＭＩＤＩ  Ｆｉｌｅ）で使用されるデルタタイムという相対時刻で指示される値を先頭時刻からの累積値に変換する。絶対時刻の単位は、デルタタイムと同様にユーザ指定の整数値である。ｃｈａｎｎｅｌはＭＩＤＩ規格上０〜１５の値をとり得るが、Ｅｖｅｎｔ１[]は０、Ｅｖｅｎｔ２[]は１とする。ｎｏｔｅ−ｎｕｍｂｅｒとｖｅｌｏｃｉｔｙは０〜１２７の値をとり、ノートオンの場合は、ｖｅｌｏｃｉｔｙとして１以上の値を与え、ノートオフの場合は、ｖｅｌｏｃｉｔｙとして０を与える。
【００３６】
そして、統合先とする配列ＥｖｅｎｔＷ[]を用意する。さらに、Ｅｖｅｎｔ１[]、Ｅｖｅｎｔ２[]、ＥｖｅｎｔＷ[]へのポインタをｐ１、ｐ２、ｐｗとし、初期状態ではｐ１＝ｐ２＝ｐｗ＝０と設定する。ＥｖｅｎｔＷ[]の総ノートイベント数をＮｗとすると、Ｎｗ＝Ｎｅ１＋Ｎｅ２となる。
【００３７】
＜ＭＩＤＩデータ統合＞
配列の準備ができたら、演算処理部１２はＭＩＤＩデータ統合処理を開始する。  Ｓ１におけるＭＩＤＩデータ統合処理の詳細を図３のフローチャートを用いて説明する。まず、演算処理部１２は、ポインタｐ２が総ノートイベント数Ｎｅ２より小さいかどうかを判断する（Ｓ１０１）。後述するように、ｐ２は配列Ｅｖｅｎｔ２[]内のノートイベントが処理される度に１加算されるため、ｐ２がＮｅ２より小さいことは未処理のノートイベントが配列Ｅｖｅｎｔ２[]内に残っていることを意味する。すなわち、Ｓ１０１では、配列Ｅｖｅｎｔ２[]内のノートイベントの処理を終えたかどうかを判断している。
【００３８】
ポインタｐ２が総ノートイベント数Ｎｅ２より小さい場合は、Ｅｖｅｎｔ２[ｐ２]．ｔｉｍｅがＥｖｅｎｔ１[ｐ１]．ｔｉｍｅより小さいかどうかを判断する（Ｓ１０２）。これは、ポインタｐ２で特定されるＥｖｅｎｔ２[ｐ２]内のノートイベントの絶対時刻がポインタｐ１で特定されるＥｖｅｎｔ１[ｐ１]内のノートイベントの絶対時刻よりも早いかどうかを判断している。そして、Ｅｖｅｎｔ２[ｐ２]．ｔｉｍｅがＥｖｅｎｔ１[ｐ１]．ｔｉｍｅより小さい場合は、Ｅｖｅｎｔ２[ｐ２]についての処理を行い（Ｓ１０３）、Ｅｖｅｎｔ２[ｐ２]．ｔｉｍｅがＥｖｅｎｔ１[ｐ１]．ｔｉｍｅ以上の場合は、Ｅｖｅｎｔ１[ｐ１]についての処理を行う（Ｓ１０５）。なお、Ｓ１０１において、ポインタｐ２が総ノートイベント数Ｎｅ２以上である場合は、配列Ｅｖｅｎｔ２[]内のノートイベントの処理を全て終えたことを意味するので、この場合にも、Ｓ１０５に進んで、Ｅｖｅｎｔ１[ｐ１]についての処理を行う。
【００３９】
Ｓ１０３のＥｖｅｎｔ２[ｐ２]についての処理では、演算処理部１２は、以下の〔数式１〕に従った処理を実行する。
【００４０】
〔数式１〕
ＥｖｅｎｔＷ[ｐｗ]．ｔｉｍｅ←Ｅｖｅｎｔ２[ｐ２]．ｔｉｍｅ
ＥｖｅｎｔＷ[ｐｗ]．ｃｈａｎｎｅｌ←１
ＥｖｅｎｔＷ[ｐｗ]．ｎｏｔｅ−ｎｕｍｂｅｒ←Ｅｖｅｎｔ２[ｐ２]．ｎｏｔｅ−ｎｕｍｂｅｒ
ＥｖｅｎｔＷ[ｐｗ]．ｖｅｌｏｃｉｔｙ←Ｅｖｅｎｔ２[ｐ２]．ｖｅｌｏｃｉｔｙ
ｐｗ←ｐｗ＋１
ｐ２←ｐ２＋１
【００４１】
上記〔数式１〕の６つの式のうち、第１式、第３式、第４式では、Ｅｖｅｎｔ２[ｐ２]のノートイベントのｔｉｍｅ、ｎｏｔｅ−ｎｕｍｂｅｒ、ｖｅｌｏｃｉｔｙをＥｖｅｎｔＷ[ｐｗ]のノートイベントのｔｉｍｅ、ｎｏｔｅ−ｎｕｍｂｅｒ、ｖｅｌｏｃｉｔｙとして与えている。また、第２式では、ＥｖｅｎｔＷ[ｐｗ]のノートイベントのｃｈａｎｎｅｌを１に設定している。この４つの式により、ＭＩＤＩデータＭ２に存在していたノートイベントが、統合ＭＩＤＩデータのチャンネル１のノートイベントとして移行されたことになる。第５式、第６式は、ポインタの加算である。
【００４２】
Ｓ１０５のＥｖｅｎｔ１[ｐ１]についての処理では、演算処理部１２は、以下の〔数式２〕に従った処理を実行する。
【００４３】
〔数式２〕
ＥｖｅｎｔＷ[ｐｗ]．ｔｉｍｅ←Ｅｖｅｎｔ１[ｐ１]．ｔｉｍｅ
ＥｖｅｎｔＷ[ｐｗ]．ｃｈａｎｎｅｌ←０
ＥｖｅｎｔＷ[ｐｗ]．ｎｏｔｅ−ｎｕｍｂｅｒ←Ｅｖｅｎｔ１[ｐ１]．ｎｏｔｅ−ｎｕｍｂｅｒ
ＥｖｅｎｔＷ[ｐｗ]．ｖｅｌｏｃｉｔｙ←Ｅｖｅｎｔ１[ｐ１]．ｖｅｌｏｃｉｔｙ
ｐｗ←ｐｗ＋１
ｐ１←ｐ１＋１
【００４４】
上記〔数式２〕は、上記〔数式１〕におけるＥｖｅｎｔ２[ｐ２]の代わりにＥｖｅｎｔ１[ｐ１]が用いられており、ｃｈａｎｎｅｌが０に設定されている。上記〔数式２〕では、第１式〜第４式により、ＭＩＤＩデータＭ１に存在していたノートイベントが、統合ＭＩＤＩデータのチャンネル０のノートイベントとして移行されたことになる。第５式、第６式は、ポインタの加算である。
【００４５】
Ｓ１０５におけるＥｖｅｎｔ１[ｐ１]についての処理後は、ポインタｐ１が総ノートイベント数Ｎｅ１より小さいかどうかを判断する（Ｓ１０６）。判断の結果、ポインタｐ１が総ノートイベント数Ｎｅ１より小さい場合は、Ｓ１０１に戻る。逆に、ポインタｐ１が総ノートイベント数Ｎｅ１以上の場合は、配列Ｅｖｅｎｔ１[ｐ１]内のノートイベントの処理を全て終えたことを意味するので、Ｓ１０３に進んで、Ｅｖｅｎｔ２[ｐ２]についての処理を行う。
【００４６】
Ｓ１０３におけるＥｖｅｎｔ２[ｐ２]についての処理後は、ポインタｐ２が総ノートイベント数Ｎｅ２より小さいかどうかを判断する（Ｓ１０４）。判断の結果、ポインタｐ２が総ノートイベント数Ｎｅ２より小さい場合は、Ｓ１０３に戻って、Ｅｖｅｎｔ２[ｐ２]についての処理を行う。逆に、ポインタｐ２が総ノートイベント数Ｎｅ２以上の場合は、配列Ｅｖｅｎｔ２[ｐ２]内のノートイベントの処理を全て終えたことを意味するので、統合処理を終了する。
【００４７】
＜重複ノートオン区間の演算処理＞
統合処理が終了したら、演算処理部１２は、重複ノートオン区間演算処理を実行する（図２のＳ２）。ノートオン区間（発音区間）とは、ノートオンのイベントデータとそれに対応する同一ノートナンバーをもつノートオフの２つのイベントデータの対で構成される区間である。また、重複ノートオン区間とは、他方のチャンネルのノートオン区間と時間的に全てまたは一部が重複するノートオン区間である。上記Ｓ１の統合処理の結果、ＥｖｅｎｔＷ[]は、２チャンネルのＭＩＤＩイベントで構成されることになり、これに対して、単一チャンネルのＭＩＤＩイベント配列ＥｖｅｎｔＳ[]に変換する処理を行う。ただし、ＥｖｅｎｔＷ[]は、同一時間に同一ノートナンバーのノートオン区間が重複してしまう可能性がある。重複ノートオン区間演算処理では、ノートオン区間が重複する部分について強度値（ベロシティ）の演算を行い、１つのチャンネルに統一することにより、単一チャンネルのＭＩＤＩイベント配列ＥｖｅｎｔＳ[]に変換する。
【００４８】
ここで、重複ノートオン区間演算処理の概要を図４〜図６を用いて説明する。本実施形態では、重複ノートオン区間演算処理として、差分処理、低強度選択処理、加算処理の３つを行っている。図４、図５、図６は、それぞれ差分処理、低強度選択処理、加算処理の様子を示している。まず、差分処理について、図４を用いて説明する。図４（ａ）は２つのＭＩＤＩデータ統合後の１つの２チャンネルＭＩＤＩデータを示し、図４（ｂ）は重複ノートオン区間差分処理後の１チャンネルＭＩＤＩデータを示している。説明の便宜上、図４においては、１つのノートナンバーについてだけ示している。また、各矩形は、左端がノートオンイベントの時刻、右端がノートオフイベントの時刻であり、左右方向の幅がノートオン区間を示している。また、各矩形の上下方向がベロシティを示している。図４（ａ）の例では、全てのノートオン区間が他方のチャンネルのノートオン区間と時間的に全てまたは一部が重複しているため、全てが重複ノートオン区間である。また、ノートオン区間０２のように、その一部が他方のチャンネルのノートオン区間１２と重複している場合は、重複している区間を重複区間、重複していない区間を非重複区間と呼ぶことにする。
【００４９】
図４（ａ）の例では、チャンネル０(図中、ｃｈ：０で示す。)のノートオン区間０１とチャンネル１(図中、Ｃｈ：１で示す。)のノートオン区間１１が重複しているため、差分演算処理が行われ、図４（ｂ）に示すように、チャンネル０に新ノートオン区間が得られる。新ノートオン区間のベロシティは、ノートオン区間０１のベロシティとノートオン区間１１のベロシティの差分となる。ノートオン区間０１とノートオン区間１１は、ノートオンイベントの時刻、ノートオフイベントの時刻が同一であり、ノートオン区間が完全に重複しているため、差分演算処理後の新ノートオン区間のノートオンイベントの時刻、ノートオフイベントの時刻は、ノートオン区間０１、ノートオン区間１１と同一となる。
【００５０】
ノートオン区間０２とノートオン区間１２のように一部が重複している場合、重複している一部についてだけ、差分演算処理が行われる。ノートオン区間０２とノートオン区間１２のベロシティは同じであるので、ノートオン区間０２とノートオン区間１２が重複している区間については、ノートオン区間が存在しなくなる。また、ノートオン区間０２には、チャンネル１のノートオン区間と重複していない部分があるので、重複していない部分については、チャンネル０に新ノートオン区間が得られる。新ノートオン区間のベロシティは、ノートオン区間０２のベロシティがそのまま与えられる。また、新ノートオン区間のノートオン時刻は、ノートオン区間１２のノートオフ時刻が与えられ、新ノートオン区間のノートオフ時刻は、ノートオン区間０２のノートオフ時刻がそのまま与えられる。
【００５１】
次に、低強度選択処理について、図５を用いて説明する。図５（ａ）は２つのＭＩＤＩデータ統合後の１つの２チャンネルＭＩＤＩデータを示しており、図４（ａ）と全く同一である。図５（ｂ）は重複ノートオン区間低強度選択処理後の１チャンネルＭＩＤＩデータを示している。説明の便宜上、図５においても、１つのノートナンバーについてだけ示している。また、各矩形は、左端がノートオンイベントの時刻、右端がノートオフイベントの時刻であり、左右方向の幅がノートオン区間を示している。また、各矩形の上下方向がベロシティを示している。
【００５２】
図５（ａ）の例では、チャンネル０(図中、ｃｈ：０で示す。)のノートオン区間０１とチャンネル１(図中、Ｃｈ：１で示す。)のノートオン区間１１が重複しているため、低強度選択処理が行われ、図５（ｂ）に示すように、チャンネル０に新ノートオン区間が得られる。新ノートオン区間のベロシティは、ノートオン区間０１のベロシティとノートオン区間１１のベロシティのうち低強度のものを選択する。図５（ａ）の例では、ノートオン区間０１のベロシティの方がノートオン区間１１のベロシティよりも小さい（低強度）ため、新ノートオン区間のベロシティとして、ノートオン区間０１のベロシティが選択される。ノートオン区間０１とノートオン区間１１は、ノートオンイベントの時刻、ノートオフイベントの時刻が同一であり、ノートオン区間が完全に重複しているため、差分演算処理後の新ノートオン区間のノートオンイベントの時刻、ノートオフイベントの時刻は、ノートオン区間０１、ノートオン区間１１と同一となる。
【００５３】
ノートオン区間０２とノートオン区間１２のように一部が重複している場合、重複している部分、重複していない部分それぞれについて、低強度選択処理が行われる。ノートオン区間０２とノートオン区間１２のベロシティは同一であるので、ノートオン区間０２とノートオン区間１２が重複している区間については、どちらのベロシティを選択しても同じであるため、新ノートオン区間のベロシティとして、ノートオン区間０２、ノートオン区間１２と同一のベロシティが与えられる。図においては、便宜上新ノートオン区間を０２で示す。新ノートオン区間０２のノートオン時刻は、ノートオン区間０２のノートオン時刻がそのまま与えられ、新ノートオフ区間０２のノートオフ時刻は、ノートオン区間１２のノートオフ時刻が与えられる。また、ノートオン区間０２には、チャンネル１のノートオン区間と重複していない部分があるが、低強度選択処理において重複していない部分については、他方のノートオン区間のベロシティが０であるとみなして、当該区間のベロシティを一律に０に変更する。即ち重複していない区間は削除する。
【００５４】
次に、加算処理について、図６を用いて説明する。図６（ａ）は２つのＭＩＤＩデータ統合後の１つの２チャンネルＭＩＤＩデータを示しており、図４（ａ）図５（ａ）と全く同一である。図６（ｂ）は重複ノートオン区間加算処理後の１チャンネルＭＩＤＩデータを示している。説明の便宜上、図６においても、１つのノートナンバーについてだけ示している。また、各矩形は、左端がノートオンイベントの時刻、右端がノートオフイベントの時刻であり、左右方向の幅がノートオン区間を示している。また、各矩形の上下方向がベロシティを示している。
【００５５】
図６（ａ）の例では、チャンネル０(図中、ｃｈ：０で示す。)のノートオン区間０１とチャンネル１(図中、Ｃｈ：１で示す。)のノートオン区間１１が重複しているため、加算処理が行われ、図６（ｂ）に示すように、チャンネル０に新ノートオン区間が得られる。新ノートオン区間のベロシティは、ノートオン区間０１のベロシティとノートオン区間１１のベロシティを加算したものとなる。ただし、加算後のベロシティの値が上限値１２７を越える場合は、１２７に設定する。ノートオン区間０１とノートオン区間１１は、ノートオンイベントの時刻、ノートオフイベントの時刻が同一であり、ノートオン区間が完全に重複しているため、加算演算処理後の新ノートオン区間のノートオンイベントの時刻、ノートオフイベントの時刻は、ノートオン区間０１、ノートオン区間１１と同一となる。
【００５６】
ノートオン区間０２とノートオン区間１２のように一部が重複している場合、重複している部分、重複していない部分それぞれについて、加算処理が行われる。重複している部分については、ノートオン区間０２とノートオン区間１２のベロシティを加算したものが、新ノートオン区間のベロシティとして与えられる。図においては、便宜上新ノートオン区間を０２＋１２で示す。同様に、加算後のベロシティの値が上限値１２７を越える場合は、１２７に設定する。また、ノートオン区間０２には、チャンネル１のノートオン区間と重複していない部分があるので、重複していない部分については、当該区間の他方のベロシティが０であるとみなして、新ノートオン区間０２のベロシティとして、ノートオン区間０２のベロシティがそのまま与えられる。新ノートオン区間０２＋１２のノートオン時刻は、ノートオン区間０２、１２のノートオン時刻が与えられ、新ノートオン区間０２＋１２のノートオフ時刻は、ノートオフ区間１２のノートオフ時刻が与えられる。新ノートオン区間０２のノートオン時刻は、ノートオン区間１２のノートオフ時刻が与えられ、新ノートオン区間０２のノートオフ時刻は、ノートオン区間０２のノートオフ時刻がそのまま与えられる。
【００５７】
Ｓ２の重複ノートオン区間演算処理に際して、演算処理部１２は、ＥｖｅｎｔＷ[]、ＥｖｅｎｔＳ[]の各配列へのポインタをｐｗ、ｐｓとし、初期状態ではｐｗ＝ｐｓ＝０に設定する。また、ＥｖｅｎｔＳ[]のＣｈａｎｎｅｌ値は全て０に設定する。さらに、演算処理部１２は、０〜１２７のノートナンバーに対応してノートオン時にＭＩＤＩイベント配列へのポインタを格納するノートオンテーブルをＥｖｅｎｔＷ[]のチャンネル０とチャンネル１に対応してｔａｂｌｅＷ[０，]、ｔａｂｌｅＷ[１，]を定義し、ＥｖｅｎｔＳ[]に対応してｔａｂｌｅＳ[]を定義する。そして、ｔａｂｌｅＷ[０，]、ｔａｂｌｅＷ[１，]、ｔａｂｌｅＳ[]の全ての初期値を−１に設定する。また、生成されるＭＩＤＩイベント配列ＥｖｅｎｔＳ[]の総ノートイベント数をＮｓとする。
【００５８】
配列の準備ができたら、演算処理部１２は、重複ノートオン区間演算処理を開始する。この重複ノートオン区間演算処理の詳細を図７のフローチャートを用いて説明する。まず、図７のＳ２０１で演算処理部１２は、ポインタｐｗで特定されるＥｖｅｎｔＷ[]を用いて、以下の〔数式３〕に従った処理を実行し、処理対象のノートナンバーｎｎ、ベロシティｖｅｌ、処理チャンネルｃｈを設定する。
【００５９】
〔数式３〕
ｎｎ←ＥｖｅｎｔＷ[ｐｗ]．ｎｏｔｅ−ｎｕｍｂｅｒ
ｖｅｌ←ＥｖｅｎｔＷ[ｐｗ]．ｖｅｌｏｃｉｔｙ
ｃｈ←ＥｖｅｎｔＷ[ｐｗ]．ｃｈａｎｎｅｌ
【００６０】
続いて、他チャンネルの状態確認としてチャンネル０のノートナンバーｎｎがノートオンになっているか否か、即ちｔａｂｌｅＷ[１−ｃｈ，ｎｎ]が０以上であるかどうかの確認を行う（Ｓ２０２）。すなわち、他方のチャンネル１−ｃｈに同一ノートナンバーのノートオンになっているイベントが存在するかどうかの判断を行う。ｔａｂｌｅＷ[１−ｃｈ，ｎｎ]が０以上である場合は、同一ノートナンバーｎｎのノートオンイベントが少なくとも他方のチャンネル側に存在していることになるので、強制的にノートオフイベントを発行してノートオン区間を中断させる処理を行う（Ｓ２０３）。
【００６１】
具体的には、ｔａｂｌｅＳ[ｎｎ]が０以上であるかどうかを判断し、ｔａｂｌｅＳ[ｎｎ]が０以上である場合は、演算処理部１２は、以下の〔数式４〕に従った処理を実行する。
【００６２】
〔数式４〕
ＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅ←ＥｖｅｎｔＷ[ｐｗ]．ｔｉｍｅ
ＥｖｅｎｔＳ[ｐｓ]．ｃｈａｎｎｅｌ←０
ＥｖｅｎｔＳ[ｐｓ]．ｎｏｔｅ−ｎｕｍｂｅｒ←ｎｎ
ＥｖｅｎｔＳ[ｐｓ]．ｖｅｌｏｃｉｔｙ←０
ｔａｂｌｅＳ[ｎｎ]←−１
ｐｓ←ｐｓ＋１
【００６３】
上記〔数式４〕の６つの式のうち、第１式、第３式では、ＥｖｅｎｔＷ[ｐｗ]のノートイベントのｔｉｍｅ、ｎｏｔｅ−ｎｕｍｂｅｒをＥｖｅｎｔＳ[ｐｓ]のノートイベントのｔｉｍｅ、ｎｏｔｅ−ｎｕｍｂｅｒとして与えている。第２式では、ＥｖｅｎｔＳ[ｐｓ]のノートイベントのｃｈａｎｎｅｌを０に設定している。ＥｖｅｎｔＳ[]内のノートイベントは１つのチャンネルに納められるため、全てチャンネル０に設定される。第４式では、ＥｖｅｎｔＳ[ｐｓ]のノートイベントのｖｅｌｏｃｉｔｙを０に設定している。これは、ノートオフイベントであることを示すものである。この４つの式により、ＥｖｅｎｔＳ[]内に強制的にノートオフが設定される。これにより、概念上は、他方のチャンネルの同一ナンバーのノートオン区間（非重複区間）が終了し、他方のチャンネルの同一ノートナンバーのノートオンまたはノートオフイベントと合わせて重複区間が開始されることになる。（この段階では、２つのチャンネルが当該ノートナンバーで時間的にどのように重複するかがわからない）。第５式は、ノートナンバーｎｎについてのノートオン区間が終了したことを示すための処理である。第６式は、ポインタの加算である。
【００６４】
〔数式４〕に従った処理を実行したら、演算処理部１２は、処理対象のチャンネルｃｈのノートイベントがノートオンかノートオフかを確認する。即ち、ｖｅｌが０より大きいかどうかを確認する（Ｓ２０４）。なお、Ｓ２０３において、ｔａｂｌｅＳ[ｎｎ]が０より小さい場合は他方のチャンネルの同一ナンバーのノートオン区間（非重複区間）は既に終了しているので、〔数式４〕に従った処理を実行せずにＳ２０４に進む。Ｓ２０４において、ｖｅｌが０より大きいと判断された場合には、２つのチャンネルが当該ノートイベントを起点に時間的に重複する区間が開始されると判断され、演算処理部１２は、以下の〔数式５ａ〕〔数式５ｂ〕〔数式５ｃ〕のいずれかに従った重複区間のベロシティ演算処理を実行する（Ｓ２０５）。具体的には、差分処理の場合は〔数式５ａ〕、低強度選択処理の場合は〔数式５ｂ〕、加算処理の場合は〔数式５ｃ〕に従った処理を実行する。
【００６５】
〔数式５ａ〕
ｖｅｌ←｜ｖｅｌ−ＥｖｅｎｔＷ［ｔａｂｌｅＷ［１−ｃｈ，ｎｎ］］．ｖｅｌｏｃｉｔｙ｜
ｔａｂｌｅＷ［ｃｈ，ｎｎ］←ｐｗ
【００６６】
上記〔数式５ａ〕の２つの式のうち、第１式では、他方のチャンネルの同一ノートナンバーのノートイベントとのベロシティの差分を演算し、その差分をｖｅｌとしている。この第１式により重複区間の差分演算処理が行われたことになる。なお、この結果である差分ｖｅｌが０の場合は、ノートオフを示す０と区別するため、ｖｅｌ←−１とする処理を行う。第２式は、処理したノートナンバーが処理チャンネルのノートオン区間に入り、ＥｖｅｎｔＷ[]において何番目のノートイベントでオンになったかを特定する処理である。
【００６７】
〔数式５ｂ〕
ｖｅｌ＞ＥｖｅｎｔＷ［ｔａｂｌｅＷ［１−ｃｈ，ｎｎ］］．ｖｅｌｏｃｉｔｙの場合
ｖｅｌ←ＥｖｅｎｔＷ［ｔａｂｌｅＷ［１−ｃｈ，ｎｎ］］．ｖｅｌｏｃｉｔｙ
常にｔａｂｌｅＷ［ｃｈ，ｎｎ］←ｐｗ
【００６８】
上記〔数式５ｂ〕の２つの式のうち、第１式では、他方のチャンネルの同一ノートナンバーのノートイベントとベロシティを比較し、他方のチャンネルのベロシティが小さい場合に限り、ｖｅｌに他方のチャンネルのベロシティを与えている。この第１式により他方のチャンネルと処理チャンネルのうち、低強度の方の値がベロシティとして選択されることになる。第２式は、上記〔数式５ａ〕の第２式と同一であり、他方のチャンネルと処理チャンネルのベロシティの大小に係らず、常に実行される。
【００６９】
〔数式５ｃ〕
ｖｅｌ←ｖｅｌ＋ＥｖｅｎｔＷ［ｔａｂｌｅＷ［１−ｃｈ，ｎｎ］］．ｖｅｌｏｃｉｔｙ
ｔａｂｌｅＷ［ｃｈ，ｎｎ］←ｐｗ
【００７０】
上記〔数式５ｃ〕の２つの式のうち、第１式では、他方のチャンネルの同一ノートナンバーのノートイベントとのベロシティを加算し、その結果をｖｅｌとしている。この第１式により重複区間の加算演算処理が行われたことになる。なお、この結果である和ｖｅｌが１２７より大きい場合は、ｖｅｌ←１２７とする処理を行う。第２式は、〔数式５ａ〕〔数式５ｂ〕の第２式と同一であり、処理したノートナンバーが処理チャンネルのノートオン区間に入り、ＥｖｅｎｔＷ[]において何番目のノートイベントでオンになったかを特定する処理である。
【００７１】
Ｓ２０４において、ｖｅｌ＝０であると判断された場合には、２つのチャンネルで時間的に重複していた区間の一方のチャンネルｃｈのノートイベントが終了すると判断され、演算処理部１２は、以下の〔数式６ａ〕〔数式６ｂ〕のいずれかに従った重複区間の終了処理を実行する（Ｓ２０６）。具体的には、低強度選択処理の場合は〔数式６ａ〕、差分処理、加算処理の場合は〔数式６ｂ〕に従った処理を実行する。
【００７２】
〔数式６ａ〕
ｖｅｌ←−１
【００７３】
処理チャンネルのノートイベントはノートオフになり、ここで重複区間が終了し、非重複区間が開始されるが、低強度選択処理の場合は非重複区間のベロシティは一律０に設定される。ただし、ノートオフを示すベロシティ０とベロシティ０をもつノートオン区間とを区別するため、ｖｅｌに−１を与える。
【００７４】
〔数式６ｂ〕
ｖｅｌ←ＥｖｅｎｔＷ［ｔａｂｌｅＷ［１−ｃｈ，ｎｎ］］．ｖｅｌｏｃｉｔｙ
ｔａｂｌｅＷ［ｃｈ，ｎｎ］←−１
【００７５】
処理チャンネルのノートイベントはノートオフになり、ここで重複区間が終了し、他方のチャンネルのみの非重複区間が開始される。上記〔数式６ｂ〕の第１式では、開始される非重複区間のベロシティとして、既にノートオンになっている他方のチャンネルのノートイベントのベロシティをｖｅｌに与える。第２式は、処理チャンネルにおけるノートナンバーｎｎについてノートオン区間が終了したことを示すための処理である。
【００７６】
一方、Ｓ２０２において、他方のチャンネルがノートオフ、即ちｔａｂｌｅＷ[１−ｃｈ，ｎｎ]が０より小さい場合は、同一ノートナンバーで他方のチャンネル側はノートオフ状態ではなく処理チャンネル側がノートオンになってもノートオフになっても重複することはないため、非重複区間の開始処理に進む（Ｓ２０７）。Ｓ２０７では、Ｓ２０４と同様な確認を行い、ｖｅｌ＞０（ノートオン状態）の場合、演算処理部１２は、ｔａｂｌｅＷ[ｃｈ，ｎｎ]←ｐｗとし、ｖｅｌ＝０（ノートオフ状態）の場合、ｔａｂｌｅＷ[ｃｈ，ｎｎ]←−１とする処理を実行する。低強度選択処理の場合は、さらに、ｖｅｌ＞０であれば、ｖｅｌ←−１とする処理を実行する。
【００７７】
処理チャンネルに対して、Ｓ２０５、Ｓ２０６、Ｓ２０７のいずれの処理が終了した場合には、出力ノートイベントの書き込みの処理を実行する（Ｓ２１４）。Ｓ２１４では、まず、ｔａｂｌｅＳ[ｎｎ]＝−１かつｖｅｌ＞０、またはｔａｂｌｅＳ[ｎｎ] ＞０かつｖｅｌ＝０の場合、以下の〔数式７〕に従った処理を実行し、出力用の配列ＥｖｅｎｔＳ[]にノートオンイベントまたはノートオフイベントを生成する。ここで、条件となるｔａｂｌｅＳ[ｎｎ]＝−１かつｖｅｌ＞０は、そのノートナンバーｎｎがノートオフ状態であって、現在処理中のノートイベントが、ノートオンイベントであることを示している。また、もう一方の条件であるｔａｂｌｅＳ[ｎｎ] ＞０かつｖｅｌ＝０は、既にそのノートナンバーｎｎがノートオン状態であって、現在処理中のノートイベントが、ノートオフイベントであることを示している。
【００７８】
〔数式９〕
ＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅ←ＥｖｅｎｔＷ[ｐｗ]．ｔｉｍｅ
ＥｖｅｎｔＳ[ｐｓ]．ｃｈａｎｎｅｌ←０
ＥｖｅｎｔＳ[ｐｓ]．ｎｏｔｅ−ｎｕｍｂｅｒ←ｎｎ
ＥｖｅｎｔＳ[ｐｓ]．ｖｅｌｏｃｉｔｙ←ｖｅｌ
ｖｅｌ＞０の場合ｔａｂｌｅＳ[ｎｎ]←ｐｓ、ｖｅｌ＝０の場合ｔａｂｌｅＳ[ｎｎ]←−１
ｐｓ←ｐｓ＋１
【００７９】
上記〔数式９〕の６つの式のうち、第１式、第２式、第３式、第６式は、上記〔数式４〕と同一である。〔数式４〕との違いは、ｖｅｌの値によりノートオフまたはノートオンの双方の場合があるため、第４式において、ＥｖｅｎｔＳ[ｐｓ]のノートイベントのベロシティに現在処理中のベロシティまたは〔数式５〕〜〔数式８〕で補正したベロシティを代入している点である。これは、ノートオンまたはノートオフのいずれの可能性もあり、かつベロシティ値が補正される場合があるためである。第５式では、ｖｅｌの値に応じてｔａｂｌｅＳ[ｎｎ]に設定する値が異なっている。ｖｅｌ＝０の場合は、〔数式４〕と同様、−１を設定するが、ｖｅｌ＞０の場合は、ｐｓの値を設定する。
【００８０】
Ｓ２１４におけるノートオン処理が終わったら、入力側のＥｖｅｎｔＷ[]の格納されている全てのノートイベントの処理が終わったかどうかを判断する（Ｓ２１５）。具体的には、ｐｗ←ｐｗ＋１とした後、ｐｗ＜Ｎｗの場合、全てのノートイベントの処理が終わっていないため、Ｓ２０１に戻って次のノートイベントについての処理を実行する。ｐｗ≧Ｎｗの場合、全てのノートイベントの処理が終わったことになるため、Ｎｓ←ｐｓとして、重複ノートオン区間処理を終了する。
【００８１】
＜０デュレーションイベント削除処理＞
重複ノートオン区間処理が終了したら、演算処理部１２は、０デュレーションイベント削除処理を行う（図２のＳ３）。重複ノートオン区間についての処理が終了すると、図７で作成された単一チャンネルのＭＩＤＩイベント配列ＥｖｅｎｔＳ[]には、同一ノートナンバーで時間的にノートオン区間が重複するようなノートイベントが存在しなくなる。しかし、ＥｖｅｎｔＳ[]には、ノートオンとノートオフが同一時刻となる０デュレーションのノートイベントが含まれている可能性がある。そこで、次に、０デュレーションのノートイベントを削除する処理を行う。
【００８２】
この０デュレーションイベント削除処理の詳細を図８、９のフローチャートを用いて説明する。０デュレーションイベント削除処理に際して、演算処理部１２は、削除処理後の出力する演算ＭＩＤＩイベント配列をＥｖｅｎｔＤ[]として用意し、総ノートイベント数をＮｄ[]とし、ＥｖｅｎｔＳ[]、ＥｖｅｎｔＤ[]の各配列へのポインタをｐｓ、ｐｄとし、初期状態ではｐｓ＝ｐｄ＝０に設定する。また、ＥｖｅｎｔＤ[]のＣｈａｎｎｅｌ値は全て０に設定する。さらに、演算処理部１２は、０〜１２７のノートナンバーに対応してノートオン時にＭＩＤＩイベント配列へのポインタを格納するノートオンテーブルｔａｂｌｅＳ[]を定義する。そして、ｔａｂｌｅＳ[]の全ての初期値を−１に設定する。さらに、定量評価に使用するノートイベントの総エネルギーをＥｎｅｒｇｙ、総デュレーションをＤｕｒａｔｉｏｎとし、初期値はＥｎｅｒｇｙ＝Ｄｕｒａｔｉｏｎ＝０とする（Ｓ３０１）。
【００８３】
配列の準備ができたら、演算処理部１２は、ポインタｐｓで特定されるイベント配列ＥｖｅｎｔＳ[ｐｓ]を参照して、以下の〔数式１０〕に従った処理を実行し、処理対象のノートナンバーｎｎ、ベロシティｖｅｌを設定する（Ｓ３０２）。
【００８４】
〔数式１０〕
ｎｎ←ＥｖｅｎｔＳ[ｐｓ]．ｎｏｔｅ−ｎｕｍｂｅｒ
ｖｅｌ←ＥｖｅｎｔＳ[ｐｓ]．ｖｅｌｏｃｉｔｙ
【００８５】
そして、当該イベントがノートオフ、即ちｖｅｌ＝０であるか否かを確認する（Ｓ３０３）。ノートオン、即ちｖｅｌ＝０でないと確認された場合には、以下の〔数式１１〕に従った処理を実行する（Ｓ３０５）。
【００８６】
〔数式１１〕
ｔａｂｌｅＳ［ｎｎ］←ｐｓ
【００８７】
一方、Ｓ３０３において、ノートオフ、即ちｖｅｌ＝０であると確認された場合には、まず、ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｔｉｍｅとＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅが一致するか、ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｖｅｌｏｃｉｔｙが０より小さいかを確認し（Ｓ３０４）、少なくともいずれか一つの条件を満たす場合に限り、以下の〔数式１２〕に従った処理を実行する（Ｓ３０６）。
【００８８】
〔数式１２〕
ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ] ]．ｎｏｔｅ−ｎｕｍｂｅｒ←−１
ＥｖｅｎｔＳ[ｐｓ]．ｎｏｔｅ−ｎｕｍｂｅｒ←−１
ｔａｂｌｅＳ［ｎｎ］←−１
【００８９】
ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｔｉｍｅとＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅが一致する場合は、デュレーションが０であることを意味するので、そのノートイベントを削除できるようにマーキングする。また、ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｖｅｌｏｃｉｔｙが０より小さい場合は、負値ベロシティイベント（ベロシティが０になるノートオン区間）であることを意味するので、そのノートイベントを削除できるようにするか、ベロシティ０をもつノートイベントを作成できるようにマーキングする。本実施形態では、上記〔数式１２〕の第１式、第２式に示すように、そのノートイベントにノートナンバーとしては無効な負の値（−１）を設定している。Ｓ３０４において、ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｔｉｍｅとＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅが一致せず、ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｖｅｌｏｃｉｔｙが０以上である有効なノートイベントと判断された場合には、上記〔数式１２〕に従った処理は実行しない。代わりに、総エネルギー値と総デュレーション値の更新処理を実行する（Ｓ３０７）。具体的には、以下の〔数式１３〕に従った処理を実行する。
【００９０】
〔数式１３〕
Ｅｎｅｒｇｙ←Ｅｎｅｒｇｙ＋ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ]]．ｖｅｌｏｃｉｔｙ・（ＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅ−ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｔｉｍｅ）
Ｄｕｒａｔｉｏｎ←Ｄｕｒａｔｉｏｎ＋ＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅ−ＥｖｅｎｔＳ[ｔａｂｌｅＳ［ｎｎ］]．ｔｉｍｅ
【００９１】
上記〔数式１３〕の第１式では、ノートオン区間のベロシティにデュレーションを乗じてエネルギー値を算出し、それまでに算出されている総エネルギー値に加算することにより、総エネルギー値Ｅｎｅｒｇｙを更新している。上記〔数式１３〕の第２式では、ノートオン区間のデュレーションを、それまで算出された総デュレーションに加算することにより、総デュレーション値Ｄｕｒａｔｉｏｎを更新している。Ｓ３０５〜Ｓ３０７のいずれかの処理が終了したら、ｐｓの値をインクリメントする（Ｓ３０８）。そして、ｐｓ＜Ｎｓであるかどうかを判断する（Ｓ３０９）。ｐｓ＜Ｎｓである場合は、Ｓ３０２に戻る。一方、ｐｓ≧Ｎｓである場合は、全てのノートイベントについて処理したことを意味するので、総エネルギー値と総デュレーション値を出力し、出力イベント配列の生成に進む。結局、Ｓ３０２〜Ｓ３０９のループにおいては、デュレーションが０のノートイベント、ベロシティが負値であるノートイベントを削除し、総エネルギー値と総デュレーション値を算出する処理を実行していることになる。
【００９２】
全てのノートイベントに対する処理を実行し、デュレーション０のノートイベント・ベロシティが負値のノートイベントの削除、総エネルギー値と総デュレーション値の算出が行われたら、出力イベント配列の生成を行う。まず、ｐｓ＝ｐｄ＝０に設定する（Ｓ３１０）。続いて、ポインタｐｓで特定されるイベント配列ＥｖｅｎｔＳ[ｐｓ]を読み込み（Ｓ３１１）、読み込まれたノートイベントが有効であるか、即ちＥｖｅｎｔＳ[ｐｓ]．ｎｏｔｅ−ｎｕｍｂｅｒ≧０であるかどうかを確認する（Ｓ３１２）。そして、ＥｖｅｎｔＳ[ｐｓ]．ｎｏｔｅ−ｎｕｍｂｅｒ≧０である場合は、無効化されていないノートイベントであることを意味するので、以下の〔数式１４〕に従った処理を実行し、出力イベント配列ＥｖｅｎｔＤ[ｐｄ]に値を出力する（Ｓ３１３）。
【００９３】
〔数式１４〕
ＥｖｅｎｔＤ[ｐｄ]．ｔｉｍｅ←ＥｖｅｎｔＳ[ｐｓ]．ｔｉｍｅ
ＥｖｅｎｔＤ[ｐｄ]．ｃｈａｎｎｅｌ←０
ＥｖｅｎｔＤ[ｐｄ]．ｎｏｔｅ−ｎｕｍｂｅｒ←ＥｖｅｎｔＳ[ｐｓ]．ｎｏｔｅ−ｎｕｍｂｅｒ
ＥｖｅｎｔＤ[ｐｄ]．ｖｅｌｏｃｉｔｙ←ＥｖｅｎｔＳ[ｐｓ]．ｖｅｌｏｃｉｔｙ
ｐｄ←ｐｄ＋１
【００９４】
Ｓ３１２において無効化されているノートイベントであると確認された場合を含め、入力イベント配列のポインタをインクリメントし（Ｓ３１４）、ｐｓ＜Ｎｓであるかどうかを確認する（Ｓ３１５）。ｐｓ＜Ｎｓである場合は、Ｓ３１１に戻る。一方、ｐｓ≧Ｎｓである場合は、全てのノートイベントについて処理したことを意味するので、Ｎｄ←ｐｄとする。さらに、総エネルギー値Ｅｎｅｒｇｙを総デュレーション値Ｄｕｒａｔｉｏｎで除算することにより、単位時間あたりのベロシティＥｎｅｒｇｙ／Ｄｕｒａｔｉｏｎを出力して、処理を終了する。
【００９５】
上記で生成されるＭＩＤＩイベント配列ＥｖｅｎｔＤ[]を求める演算ＭＩＤＩデータとして採用し、それをＭＩＤＩ符号として出力する。
【００９６】
演算ＭＩＤＩデータは、様々な形式で出力することができる。表示用のデータに変換して、表示部１３に画面出力することも可能であるし、音響信号に変換して音響出力部１４に音響出力することも可能であるし、そのまま記憶媒体等のデータ出力部１５にＳＭＦ形式等によりデータ出力することも可能である。表示部１３に画面出力するに際しては、特許文献５から特許文献７などに記載の公知の手法を用いることができ、ノートオンおよびノートオフをノートオン区間に変換して左右幅を決定し、ベロシティに対応する上下方向の幅を決定して矩形を生成し、対応するノートナンバーの位置に配置することにより、表示用データを生成し、表示部１３に出力する。表示部１３と音響出力部１４に同時に出力した場合には、２種の音響信号を視覚的かつ聴覚的に評価することができる。
【００９７】
＜聴覚マスキングデータの作成（マスカー音響信号の評価）（１）＞
上記演算符号データの作成（符号データの演算処理）方法を用いて、聴覚マスキングデータを作成することができる。以下、本発明に係る聴覚マスキングデータの作成方法および装置を、２つの実施形態に基づいて説明する。図１０は、本発明に係る聴覚マスキングデータ作成装置の一実施形態を示す機能ブロック図である。本実施形態における聴覚マスキングデータ作成装置は、図１０に示すように、データ入力部２１、演算処理部２２、表示部２３、音響出力部２４、データ出力部２５、符号データ作成部２６を有すると共に、図示しないハードディスク等の記憶装置、指示入力を行うキーボード、マウス等の入力機器等を有しており、入出力機器が接続された汎用のコンピュータに専用のプログラムを組み込むことにより実現される。
【００９８】
図１０において、データ入力部２１は、聴覚マスキング効果の評価の対象であるマスカー原音音響信号、マスカー加工音響信号またはマスキー音響信号などの複数のＷＡＶ形式等（ＷＡＶはＭｉｃｒｏｓｏｆｔ社の音響信号形式）の音響信号を入力するためのものである。続いて、符号データ作成部２６は、入力された音響信号を特許文献４など公知の手法によりＭＩＤＩデータ等の符号データに変換するためのものである。後続の演算処理部２２と同様に、ＣＰＵ、メモリを有し、記憶装置から専用のプログラムをメモリ上に読み込んで実行することにより本機能を実現する。演算処理部２２は、ＣＰＵ、メモリを有し、記憶装置から専用のプログラムをメモリ上に読み込んで実行し、本発明の聴覚マスキングデータ作成装置の主要な機能を実現するものであり、演算処理部１２の機能も備え、必要に応じて上述した符号データの演算処理も実行する。表示部２３は、液晶ディスプレイ等の表示装置により実現され、演算処理部２２により作成された聴覚マスキングデータを表示する。聴覚マスキングデータとしては、様々なものを用いることができるが、本実施形態では、マスキング対象成分の増分を聴覚マスキングデータとして用いている。音響出力部２４は、ＭＩＤＩ音源、ＭＩＤＩシーケンサ、アンプおよびスピーカにより実現され、演算処理部２２により作成された演算符号データを音響出力する。データ出力部２５は、ＭＩＤＩデータ等の符号データをＳＭＦ形式などのデータ形式で出力するためのものである。
【００９９】
図１１は、第１の実施形態に係る聴覚マスキングデータ作成方法の処理概要を示すフローチャートである。また、図１３〜図２０は、処理過程におけるＭＩＤＩ符号データを表示部２３に出力した状態を示す図である。図１３〜図２０においては、横軸が時間軸、縦軸が音の高さ（ノートナンバー）となっている。また、図１３〜図２０においては、各矩形がノートオン区間を示し、各矩形の横幅がノートオン区間の長さ（Ｄｕｒａｔｉｏｎに対応）、上下の幅がベロシティを示している。したがって、各矩形の面積がＥｎｅｒｇｙに対応している。
事前準備として、必要な符号データを作成する処理を行う。まず、会話音・騒音等のかき消される側の音であるマスキー音響信号、ＢＧＭ等のかき消す側の音であるマスカー音響信号を用意し各々図１０に示すデータ入力部２１に入力され、それぞれ特許文献４など公知の手法により図１０に示す符号データ作成部２６においてＭＩＤＩ符号化し、マスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号Ｂを得る（Ｓ１５、Ｓ１６）。マスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号Ｂをそれぞれ表示出力した状態を図１７、図１４に示す。また、図１４と同一の楽曲について、ＭＩＤＩ打ち込みデータを表示出力した状態を図１３に示す。さらに、マスカー音響信号に対しては、特許文献２または特許文献３に記載のマスキング効果強調処理を実行し（Ｓ１７）、マスカー加工音響信号を得た後、同様に特許文献４など公知の手法によりＭＩＤＩ符号化し（Ｓ１８）、マスカー加工ＭＩＤＩ符号Ｃを得る。マスカー加工ＭＩＤＩ符号Ｃを表示出力した状態を図１５に示す。
【０１００】
本実施形態に係る聴覚マスキングデータ作成方法は、図１１に示した各ステップ（各段階）の詳細な手順を記録したプログラムを、図１０に示した聴覚マスキングデータ作成装置が実行することにより行われる。事前準備により用意されたマスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号Ｂ、マスカー加工ＭＩＤＩ符号Ｃが符号データ出力部２６から出力されると、演算処理部２２は、マスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号Ｂに対して、低強度選択モードによるＭＩＤＩデータの低強度選択演算を実行する（Ｓ１１）。具体的には、マスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号データＢを入力符号データとして、図１〜図３、図５、図７〜図９を用いて説明した演算符号データの作成方法を実行する。この際、重複ノートオン区間についてのベロシティの設定は、低強度選択により行う。すなわち、〔数式５ｂ〕〔数式６ａ〕等に従った処理を実行し、ベロシティを設定することになる。Ｓ１１における演算符号データ作成処理の結果、マスキング対象信号成分ＡＢが得られる。上記図１〜図３、図５、図７〜図９を用いた説明から明らかなように、得られるマスキング対象信号成分ＡＢも１チャンネル形式のＭＩＤＩ符号データとなる。
【０１０１】
さらに、演算処理部２２は、符号データ出力部２６から出力されたマスキーＭＩＤＩ符号Ａ、マスカー加工ＭＩＤＩ符号Ｃに対して、低強度選択モードによる演算符号データ作成処理を実行する（Ｓ１２）。すなわち、図１〜図３、図５、図７〜図９を用いて説明した演算符号データの作成方法を実行し、重複ノートオン区間についての低強度選択によりベロシティの設定を行う。Ｓ１１における処理とＳ１２における処理は、入力データが異なるだけであり、処理自体は全く同一である。Ｓ１２における演算符号データ作成処理の結果、マスキング対象信号成分ＡＣが得られる。マスキング対象信号成分ＡＣも、マスキング対象信号成分ＡＢと同様、１チャンネル形式のＭＩＤＩ符号データとなる。
【０１０２】
マスキング対象信号成分ＡＢ、マスキング対象信号成分ＡＣが得られたら、演算処理部２２は、マスキング対象信号成分ＡＢ、マスキング対象信号成分ＡＣに対して、差分演算モードによる演算符号データ作成処理を実行する（Ｓ１３およびＳ１４）。具体的には、マスキング対象信号成分ＡＢとマスキング対象信号成分ＡＣを第１の入力符号データとして、マスカー原音ＭＩＤＩ符号Ｂとマスカー加工ＭＩＤＩ符号Ｃを第２の入力符号データとして、各々、図１〜図４、図７〜図９を用いて説明した演算符号データの作成方法を実行する。この際、重複ノートオン区間についてのベロシティの設定は、差分演算により行う。すなわち、〔数式５ａ〕〔数式６ｂ〕等に従った処理を実行し、ベロシティを設定することになる。Ｓ１３における演算符号データ作成処理の結果、差分ＭＩＤＩ符号ＡＢＣが得られ、Ｓ１４における演算符号データ作成処理の結果、差分ＭＩＤＩ符号ＢＣが得られる。上記図１〜図４、図７〜図９を用いた説明から明らかなように、得られる差分ＭＩＤＩ符号ＡＢＣおよび差分ＭＩＤＩ符号ＢＣも１チャンネル形式のＭＩＤＩ符号データとなる。
【０１０３】
差分ＭＩＤＩ符号ＡＢＣは、Ｓ１７のマスキング効果強調処理により強調されるマスキング効果の度合いを示す音響マスキングデータの差分量を与え、差分ＭＩＤＩ符号ＢＣは、Ｓ１７のマスキング効果強調処理に伴い品質劣化する信号成分を与え、各々、演算ＭＩＤＩデータであるため、上述のように、様々な形式で出力しマスキング効果や品質劣化の度合いを評価することができる。表示用のデータに変換して、表示部２３に画面出力することも可能であるし、音響信号に変換して音響出力部２４に音響出力することも可能であるし、そのまま記憶媒体等のデータ出力部２５にＳＭＦ形式等によりデータ出力することも可能である。表示部２３に画面出力するに際しては、特許文献５から特許文献７などに記載の公知の手法を用いることができ、ノートオンおよびノートオフをノートオン区間に変換して左右幅を決定し、ベロシティに対応する上下方向の幅を決定して矩形を生成し、対応するノートナンバーの位置に配置することにより、表示用データを生成し、表示部２３に出力する。マスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号Ｂ、マスカー加工ＭＩＤＩ符号Ｃを基に作成した差分ＭＩＤＩ符号ＡＢＣおよび差分ＭＩＤＩ符号ＢＣを出力することにより、聴覚マスキング効果とそれに伴う品質劣化成分を客観的に判断することが可能となり、Ｓ１７のマスキング効果強調処理における強調度合いの調整を効率良く行うことが可能になる。表示部２３と音響出力部２４に同時に出力した場合には、視覚的かつ聴覚的に評価することができる。表示部２３においては、図２０に示すような差分ＭＩＤＩ符号ＡＢＣと図１６に示すような差分ＭＩＤＩ符号ＢＣが出力されることになる。
【０１０４】
＜聴覚マスキングデータの作成（マスカー音響信号の評価）（２）＞
次に、第２の実施形態について説明する。第１の実施形態では、Ｓ１１、Ｓ１２において、単一のマスキーＭＩＤＩ符号Ａを用いて演算を行い、マスキング対象信号成分ＡＢ、ＡＣを作成したが、第２の実施形態では、マスキーＭＩＤＩ符号Ａを＋１または−１半音の範囲に拡張させて演算を行い、合算マスキング対象信号成分ＡＢ、ＡＣを作成する。図１２は、マスキーＭＩＤＩ符号Ａを＋１または−１半音の範囲に拡張させて合算マスキング対象信号成分ＡＢ、ＡＣを作成する処理の概要を示すフローチャートである。第１の実施形態と同様、事前準備として、必要な符号データを作成する処理を行う。図１２では図１１記載のマスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号Ｂ、マスカー加工ＭＩＤＩ符号Ｃが既に準備されているものとする。
【０１０５】
本実施形態に係る聴覚マスキングデータの作成方法は、図１２に示した各ステップ（各段階）の詳細な手順を記録したプログラムを、図１０に示した聴覚マスキングデータ作成装置が実行することにより行われる。事前準備により用意されたマスキーＭＩＤＩ符号Ａ、マスカー原音ＭＩＤＩ符号Ｂ、マスカー加工ＭＩＤＩ符号Ｃが符号データ作成部２６から出力されると、演算処理部２２は、マスキーＭＩＤＩ符号Ａに対して、１半音（１ステップのＭＩＤＩノートナンバーに相当）だけ高い方向にシフトする処理を行う（Ｓ２１）。具体的には、マスキーＭＩＤＩ符号Ａ内の全イベントデータＥｖｅｎｔ[]について、その属性であるｎｏｔｅ−ｎｕｍｂｅｒに“１”だけ加算する処理を実行する。Ｓ２１におけるシフト処理の結果、改変マスキーＭＩＤＩ符号Ａ１が得られる。改変マスキーＭＩＤＩ符号Ａ１は、マスキーＭＩＤＩ符号Ａに比べて全体に半音だけ高くなったデータとなる。
【０１０６】
続いて、演算処理部２２は、マスキーＭＩＤＩ符号Ａに対して、１半音だけ低い方向にシフトする処理を行う（Ｓ２１）。具体的には、マスキーＭＩＤＩ符号Ａ内の全イベントデータＥｖｅｎｔ[]について、その属性であるｎｏｔｅ−ｎｕｍｂｅｒに“１”だけ減算する処理を実行する。Ｓ２２におけるシフト処理の結果、改変マスキーＭＩＤＩ符号Ａ２が得られる。改変マスキーＭＩＤＩ符号Ａ２は、マスキーＭＩＤＩ符号Ａに比べて全体に半音だけ低くなったデータとなる。
【０１０７】
次に、演算処理部２２は、マスキーＭＩＤＩ符号Ａ、改変マスキーＭＩＤＩ符号Ａ１、改変マスキーＭＩＤＩ符号Ａ２、マスカー原音ＭＩＤＩ符号Ｂ、マスカー加工ＭＩＤＩ符号Ｃに対して、低強度選択モードによる演算符号データ作成処理を実行する（Ｓ２３〜Ｓ２５）。具体的には、マスキーＭＩＤＩ符号Ａとマスカー原音ＭＩＤＩ符号Ｂまたはマスカー加工ＭＩＤＩ符号Ｃ、を入力符号データとして、図１〜図３、図５、図７〜図９を用いて説明した演算符号データの作成方法を実行し、マスキング対象信号成分ＡＢまたはマスキング対象信号成分ＡＣを作成する（Ｓ２３）。同様に、改変マスキーＭＩＤＩ符号Ａ１とマスカー原音ＭＩＤＩ符号Ｂまたはマスカー加工ＭＩＤＩ符号Ｃを入力符号データとして、マスキング対象信号成分ＡＢ１またはマスキング対象信号成分ＡＣ１を作成し（Ｓ２４）、改変マスキーＭＩＤＩ符号Ａ２とマスカー原音ＭＩＤＩ符号Ｂまたはマスカー加工ＭＩＤＩ符号Ｃを入力符号データとして、マスキング対象信号成分ＡＢ２またはマスキング対象信号成分ＡＣ２を作成する（Ｓ２５）。この際、重複ノートオン区間についてのベロシティの設定は、低強度選択により行う。すなわち、Ｓ１１、Ｓ１２と同様、〔数式５ｂ〕〔数式６ａ〕等に従った処理を実行し、ベロシティを設定することになる。Ｓ２３〜Ｓ２５における演算符号データ作成処理の結果、マスキング対象信号成分ＡＢ、マスキング対象信号成分ＡＢ１、マスキング対象信号成分ＡＢ２、またはマスキング対象信号成分ＡＣ、マスキング対象信号成分ＡＣ１、マスキング対象信号成分ＡＣ２が得られる。上記図１〜図３、図５、図７〜図９を用いた説明から明らかなように、これら６種のマスキング対象信号成分はいずれも１チャンネル形式のＭＩＤＩ符号データとなる。
【０１０８】
マスキング対象信号成分ＡＢ、ＡＢ１、ＡＢ２またはマスキング対象信号成分ＡＣ、ＡＣ１、ＡＣ２が得られたら、演算処理部２２は、マスキング対象信号成分ＡＢとマスキング対象信号成分ＡＢ１またはマスキング対象信号成分ＡＣとマスキング対象信号成分ＡＣ１に対して、加算演算モードによる演算符号データ作成処理を実行する（Ｓ２６）。具体的には、マスキング対象信号成分ＡＢとマスキング対象信号成分ＡＢ１またはマスキング対象信号成分ＡＣとマスキング対象信号成分ＡＣ１を入力符号データとして、図１〜図３、図６〜図９を用いて説明した演算符号データの作成方法を実行する。この際、重複ノートオン区間についてのベロシティの設定は、加算演算により行う。すなわち、〔数式５ｃ〕〔数式６ｂ〕等に従った処理を実行し、ベロシティを設定することになる。Ｓ２６における演算符号データ作成処理の結果、合算マスキング対象成分ＡＢまたは合算マスキング対象成分ＡＣが得られる。上記図１〜図３、図６〜図９を用いた説明から明らかなように、得られる合算マスキング対象成分ＡＢまたは合算マスキング対象成分ＡＣも１チャンネル形式のＭＩＤＩ符号データとなる。
【０１０９】
次に、演算処理部２２は、合算マスキング対象成分ＡＢとマスキング対象信号成分ＡＢ２または合算マスキング対象成分ＡＣとマスキング対象信号成分ＡＣ２に対して、加算演算モードによる演算符号データ作成処理を実行する（Ｓ２７）。すなわち、図１〜図３、図６〜図９を用いて説明した演算符号データの作成方法を実行し、重複ノートオン区間についての加算演算によりベロシティの設定を行う。Ｓ２６における処理とＳ２７における処理は、入力データが異なるだけであり、処理自体は全く同一である。Ｓ２７における演算符号データ作成処理の結果、新たな合算マスキング対象成分ＡＢまたは合算マスキング対象成分ＡＣが得られる。新たに得られた合算マスキング対象成分ＡＢまたは合算マスキング対象成分ＡＣも、１チャンネル形式のＭＩＤＩ符号データとなる。本実施形態では、上下に１半音ずつシフトすることにより２つの改変マスキーＭＩＤＩ符号を生成したが、さらにシフトした改変マスキーＭＩＤＩ符号を生成し、それらを基に合算マスキング対象成分ＡＣを作成するようにしても良い。
【０１１０】
合算マスキング対象成分ＡＢまたは合算マスキング対象成分ＡＣは、図１１のマスキング対象成分ＡＢまたはマスキング対象成分ＡＣに対応し、図１１に示される手法に比べ、各マスキング対象成分の算出を＋１または−１半音の範囲に拡張させて高精度に算出するようにしたものである。従って、図１１のマスキング対象成分ＡＢまたはマスキング対象成分ＡＣを図１２の合算マスキング対象成分ＡＢまたは合算マスキング対象成分ＡＣに置換すれば、図１１のＳ１３およびＳ１４に基づいて差分ＭＩＤＩ符号ＡＢＣおよび差分ＭＩＤＩ符号ＢＣを高精度に算出することができ、高精度に視覚的かつ聴覚的に評価することができる。合算マスキング対象成分ＡＢ、合算マスキング対象成分ＡＣをそれぞれ表示出力した状態を図１８、図１９に示す。
【産業上の利用可能性】
【０１１１】
本発明は、聴覚マスキングを用いて会話音の秘匿化を行ったり、騒音の快音化を行ったりする際に、マスカー音に対して何らかの信号処理や改変を加え、それにより、マスキー音に対する秘匿化や快音化の効果を評価する産業に利用することができる。秘匿化としては、医療機関（調剤薬局などの受付カウンター）、金融機関・保険会社の相談カウンター、法律事務所などの面談室、携帯電話店のカウンター、会食に使われる飲食店などにおいて交わされる会話音声が待合室や他の面談室や座席に居る人々に聴取されないようにするものがある。快音化としては、トイレの排泄音などがトイレ内外に漏れることを低減したり、オフィス室内に設置される各種騒音源（コンピュータサーバー、プリンター・複写機、断裁機、空調機、送風機）より事務室に漏れる騒音の不快感を和らげ、騒音レベルを心理的に低減化する手法に関するものがある。
【符号の説明】
【０１１２】
１１、２１  データ入力部
１２、２２  演算処理部
１３、２３  表示部
１４、２４  音響出力部
１５、２５  データ出力部
１６、２６  符号データ作成部
【図１】
0005857418.tif 000002
【図２】
0005857418.tif 000003
【図３】
0005857418.tif 000004
【図４】
0005857418.tif 000005
【図５】
0005857418.tif 000006
【図６】
0005857418.tif 000007
【図７】
0005857418.tif 000008
【図８】
0005857418.tif 000009
【図９】
0005857418.tif 000010
【図１０】
0005857418.tif 000011
【図１１】
0005857418.tif 000012
【図１２】
0005857418.tif 000013
【図１３】
0005857418.tif 000014
【図１４】
0005857418.tif 000015
【図１５】
0005857418.tif 000016
【図１６】
0005857418.tif 000017
【図１７】
0005857418.tif 000018
【図１８】
0005857418.tif 000019
【図１９】
0005857418.tif 000020
【図２０】
0005857418.tif 000021