(57)【特許請求の範囲】
【請求項１】
曲の旋律を編集するための旋律編集装置であって、該旋律編集装置は、
入力される旋律を音高の時系列データに変換する時系列変換部と、
前記時系列変換部により変換される時系列データをフーリエ変換し、所定の次数のフーリエ係数を生成する第１フーリエ変換部と、
前記第１フーリエ変換部により生成されるフーリエ係数から所定の低次側の次数までのフーリエ係数を抽出し逆フーリエ変換を行うことで、入力される旋律の大まかな時系列データである旋律包絡を生成すると共に、残りの次数のフーリエ係数を保持する旋律包絡生成部と、
前記旋律包絡生成部により生成される旋律包絡を任意に編集可能な旋律包絡編集部と、
前記旋律包絡編集部により編集される旋律包絡をフーリエ変換し、編集後の旋律包絡のフーリエ係数を生成する第２フーリエ変換部と、
前記第２フーリエ変換部により生成される編集後の旋律包絡のフーリエ係数と、旋律包絡生成部により保持される残りの次数のフーリエ係数とを結合し、逆フーリエ変換を行うことで編集後の音高の時系列データを生成する時系列データ生成部と、
前記時系列データ生成部により生成される音高の時系列データに基づき、編集後の旋律を出力する出力部と、
を具備することを特徴とする旋律編集装置。
【請求項２】
請求項１に記載の旋律編集装置において、前記出力部は、入力される旋律の各音符の発音時刻及び消音時刻を基に、時系列データ生成部により生成される編集後の音高の時系列データを、各音符の発音時刻から消音時刻までの音高の平均値を各音符の音高として、編集後の旋律を出力することを特徴とする旋律編集装置。
【請求項３】
請求項１又は請求項２に記載の旋律編集装置において、前記出力部は、曲の調に応じて出現する音高の出現確率に基づき、時系列データ生成部により生成される音高の時系列データを補正した上で、編集後の旋律を出力することを特徴とする旋律編集装置。
【請求項４】
請求項１乃至請求項３の何れかに記載の旋律編集装置において、旋律包絡生成部は、旋律包絡の細かさが調整可能なように、抽出する所定の低次側のフーリエ係数の次数を選択的に調整可能に構成されることを特徴とする旋律編集装置。
【請求項５】
請求項１乃至請求項４の何れかに記載の旋律編集装置をコンピュータで実現するための旋律編集プログラムであって、コンピュータを上記各部として機能させるための旋律編集プログラム。
【請求項６】
曲の旋律を編集するための旋律編集方法であって、該旋律編集方法は、
入力される旋律を音高の時系列データに変換する時系列変換過程と、
前記時系列変換過程により変換される時系列データをフーリエ変換し、所定の次数のフーリエ係数を生成する第１フーリエ変換過程と、
前記第１フーリエ変換過程により生成されるフーリエ係数から所定の低次側の次数までのフーリエ係数を抽出し逆フーリエ変換を行うことで、入力される旋律の大まかな時系列データである旋律包絡を生成すると共に、残りの次数のフーリエ係数を保持する旋律包絡生成過程と、
前記旋律包絡生成過程により生成される旋律包絡を任意に編集可能な旋律包絡編集過程と、
前記旋律包絡編集過程により編集される旋律包絡をフーリエ変換し、編集後の旋律包絡のフーリエ係数を生成する第２フーリエ変換過程と、
前記第２フーリエ変換過程により生成される編集後の旋律包絡のフーリエ係数と、旋律包絡生成過程により保持される残りの次数のフーリエ係数とを結合し、逆フーリエ変換を行うことで編集後の音高の時系列データを生成する時系列データ生成過程と、
前記時系列データ生成過程により生成される音高の時系列データに基づき、編集後の旋律を出力する出力過程と、
を具備することを特徴とする旋律編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は旋律編集装置、旋律編集方法及び旋律編集プログラムに関し、特に、曲の旋律を任意に編集可能な旋律編集装置、旋律編集方法及び旋律編集プログラムに関する。
【背景技術】
【０００２】
従来の曲や音声等の編集を行うための技術としては、例えば特許文献１が挙げられる。これは、曲の各音の周波数、大きさ、時間の長さ等を関数としてデジタル化し、デジタル化した旋律をグラフ形式で表示するものである。編集者はそのグラフを編集することにより、曲を編集（改変）するものである。
【０００３】
また、フーリエ変換及び逆フーリエ変換を用いて音声を編集する従来技術としては、例えば特許文献２が挙げられる。ここでは、所要の音声波形に対し、一周期波形をフーリエ変換し、変換結果の各次数の振動波形の振幅を変えずに位相を一定として逆フーリエ変換を行うものである。このような音声素片データにより合成音声の雑音感を低減するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１７５７８号公報
【特許文献２】国際公開第２０００／６５５７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、曲の各種情報をそのままグラフ化したものをダイレクトに編集するものであり、音符単位で大きく改変されてしまうので、元の曲から著しく変わってしまうものである。音符表現に馴染みのある専門家であれば所望の旋律に改変することが可能であるが、音楽の非専門家が編集した場合には、まったく異なった旋律となってしまう可能性もあり、その編集作業は困難なものであった。
【０００６】
また、特許文献２の技術は、変換結果の各次数の振動波形の振幅を変えずに位相を一定として逆フーリエ変換を行うものであり、このような音声素片データにより合成音声の雑音感を低減するものであるが、曲の旋律を編集するものではなく、また、曲の旋律編集に応用できるようなものでもなかった。
【０００７】
本発明は、斯かる実情に鑑み、音楽の非専門家であっても、大まかなイメージで曲の旋律を容易に編集可能な旋律編集装置、旋律編集方法及び旋律編集プログラムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
上述した本発明の目的を達成するために、本発明による旋律編集装置は、入力される旋律を音高の時系列データに変換する時系列変換部と、時系列変換部により変換される時系列データをフーリエ変換し、所定の次数のフーリエ係数を生成する第１フーリエ変換部と、第１フーリエ変換部により生成されるフーリエ係数から所定の低次側の次数までのフーリエ係数を抽出し逆フーリエ変換を行うことで、入力される旋律の大まかな時系列データである旋律包絡を生成すると共に、残りの次数のフーリエ係数を保持する旋律包絡生成部と、旋律包絡生成部により生成される旋律包絡を任意に編集可能な旋律包絡編集部と、旋律包絡編集部により編集される旋律包絡をフーリエ変換し、編集後の旋律包絡のフーリエ係数を生成する第２フーリエ変換部と、第２フーリエ変換部により生成される編集後の旋律包絡のフーリエ係数と、旋律包絡生成部により保持される残りの次数のフーリエ係数とを結合し、逆フーリエ変換を行うことで編集後の音高の時系列データを生成する時系列データ生成部と、時系列データ生成部により生成される音高の時系列データに基づき、編集後の旋律を出力する出力部と、を具備するものである。
【０００９】
ここで、出力部は、入力される旋律の各音符の発音時刻及び消音時刻を基に、時系列データ生成部により生成される編集後の音高の時系列データを、各音符の発音時刻から消音時刻までの音高の平均値を各音符の音高として、編集後の旋律を出力しても良い。
【００１０】
また、出力部は、曲の調に応じて出現する音高の出現確率に基づき、時系列データ生成部により生成される音高の時系列データを補正した上で、編集後の旋律を出力しても良い。
【００１１】
また、旋律包絡生成部は、旋律包絡の細かさが調整可能なように、抽出する所定の低次側のフーリエ係数の次数を選択的に調整可能に構成されても良い。
【００１２】
また、旋律編集装置をコンピュータで実現するための旋律編集プログラムであって、コンピュータを上記各部として機能させるための旋律編集プログラムであっても良い。
【００１３】
さらに、本発明の旋律編集方法は、入力される旋律を音高の時系列データに変換する時系列変換過程と、時系列変換過程により変換される時系列データをフーリエ変換し、所定の次数のフーリエ係数を生成する第１フーリエ変換過程と、第１フーリエ変換過程により生成されるフーリエ係数から所定の低次側の次数までのフーリエ係数を抽出し逆フーリエ変換を行うことで、入力される旋律の大まかな時系列データである旋律包絡を生成すると共に、残りの次数のフーリエ係数を保持する旋律包絡生成過程と、旋律包絡生成過程により生成される旋律包絡を任意に編集可能な旋律包絡編集過程と、旋律包絡編集過程により編集される旋律包絡をフーリエ変換し、編集後の旋律包絡のフーリエ係数を生成する第２フーリエ変換過程と、第２フーリエ変換過程により生成される編集後の旋律包絡のフーリエ係数と、旋律包絡生成過程により保持される残りの次数のフーリエ係数とを結合し、逆フーリエ変換を行うことで編集後の音高の時系列データを生成する時系列データ生成過程と、時系列データ生成過程により生成される音高の時系列データに基づき、編集後の旋律を出力する出力過程と、を具備するものであっても良い。
【発明の効果】
【００１４】
本発明の旋律編集装置、旋律編集方法及び旋律編集プログラムには、音楽の非専門家であっても、大まかなイメージで曲の旋律を容易に編集可能であるという利点がある。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の旋律編集装置を説明するための概略ブロック図である。
【図２】図２は、入力される旋律と音高の時系列データの具体例である。
【図３】図３は、本発明の旋律編集装置における旋律包絡の一例である。
【図４】図４は、本発明の旋律編集装置における旋律包絡の種々の次数における例である。
【図５】図５は、本発明の旋律編集装置において、ポインティングデバイスによるドラッグ操作で旋律包絡を描き直した一例である。
【図６】図６は、本発明の旋律編集装置における編集後の音高の時系列データの一例である。
【図７】図７は、本発明の旋律編集装置における音高の時系列データの歪部分の拡大図である。
【図８】図８は、本発明の旋律編集装置における音高の時系列データの他の歪部分の拡大図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態を図示例と共に説明する。図１は、本発明の旋律編集装置を説明するための概略ブロック図である。図示の通り、本発明の旋律編集装置は、時系列変換部１０と、第１フーリエ変換部２０と、旋律包絡生成部３０と、旋律包絡編集部４０と、第２フーリエ変換部５０と、時系列データ生成部６０と、出力部７０とから主に構成されている。なお、以下の説明では主に旋律編集装置として説明するが、本発明はこれに限定されず、後述するように、同じような流れに沿って旋律を編集する旋律編集方法や旋律編集プログラムとしても適用可能なものである。
【００１７】
まず、時系列変換部１０は、入力される曲の旋律を音高の時系列データに変換するものである。より具体的に説明すると、入力される旋律は、例えばＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）データである。また、ＷａｖｅデータやＭＰ３データ等、旋律のデータ形式は特に制限はない。時系列変換部１０では、これら入力された旋律を、音高の時系列データ、即ち、時間に対する音階の高低の連続グラフ形式に変換すれば良い。一例として、図２に、入力される旋律（音符データ）と音高の時系列データの具体例を示す。
【００１８】
より具体的に実装状況を説明すると、例えば、図２の例では、入力される旋律として、４／４拍子で４小節の長さの旋律の例を示した。これに対して、時系列変換部１０では、８１９２個の要素からなる配列を用意して４小節の時間長を８１９２個に等分する。例えば、１小節目の１拍目のデータが０〜５１１となるようにする。そして、これらの配列における各音符の発音時刻から消音時刻に相当する要素に、音の高さを表す整数値であるノートナンバーの値を入れる。ノートナンバーとしては、例えば中央の「ド」に対して６０等の整数値を入力する。
【００１９】
第１フーリエ変換部２０は、時系列変換部１０により変換される時系列データをフーリエ変換し、所定の次数ｎのフーリエ係数を生成するものである。即ち、時系列データを周期信号とみなしてフーリエ変換を行う。具体的には、時系列変換部１０から得られる配列に対して、高速フーリエ変換（ＦＦＴ）を行う。これにより、例えば上述の例では８１９２個の次数のフーリエ係数が得られる。
【００２０】
旋律包絡生成部３０は、第１フーリエ変換部により生成されるフーリエ係数から所定の低次側の次数ｋまでのフーリエ係数を抽出し逆フーリエ変換を行うことで、入力される旋律の大まかな時系列データである旋律包絡を生成すると共に、残りの次数ｋ＋１次からｎ次までのフーリエ係数を保持するものである。図１を参照すると、旋律包絡生成部３０には、まず低次側抽出部３１と高次側抽出部３２が含まれている。ここで、高次側抽出部３２は、すべてのフーリエ係数ｎ次から低次側のフーリエ係数ｋを除いた残りの次数のフーリエ係数を抽出するものである。低次側抽出部３１により抽出された所定の低次側の次数ｋのフーリエ係数は、逆フーリエ変換部３３により旋律包絡を生成する。ここで、旋律包絡とは、入力される旋律の大まかな時系列データである。
【００２１】
より具体的には、例えば図３に示されるように、すべてのフーリエ係数が含まれる時系列データ（図２参照）に比較して、旋律包絡は大まかな時系列データとなる。図３に示される旋律包絡は、具体的には１０次の次数までのフーリエ係数を逆フーリエ変換して生成されたものである。より具体的には、低次側抽出部３１は、例えば上述の例ではｎ＝８１９２個のフーリエ係数のうち、次数の低いほうからｋ次（図３に示される例ではｋ＝１０）までを残し、残りのｋ＋１次からｎ次までは０とする。この配列に対して、逆フーリエ変換部３３により逆ＦＦＴを行い、旋律包絡が生成される。そして、高次側抽出部３２により抽出された、低次側抽出部３１の残差である残りの次数（ｋ＋１次からｎ次まで）のフーリエ係数は、蓄積部３４に一旦保持される。
【００２２】
ここで、旋律包絡の大まかさは、低次側の次数ｋにより決定される。即ち、ｋが大きければより細かくなり、ｋが小さければより大まかとなる。図４に、種々の次数における旋律包絡の例を示す。例えば、ｋ＝５次までの旋律包絡は、図４（ａ）に示されるように、図３に示される１０次までの旋律包絡に対してよりなだらかな曲線になっている。そして、ｋ＝２０次までの旋律包絡は、図４（ｂ）に示されるように、１０次までの旋律包絡に対してより細かくなっており、図２に示されるような元の音高の時系列データに近くなっている。さらに、図４（ｃ）に示されるように、ｋ＝５０次までの旋律包絡は、元の音高の時系列データにより近くなっており、１音１音の動きが略忠実に再現されている。このように、旋律包絡生成部では、抽出する所定の低次側のフーリエ係数の次数を選択的に調整できれば良く、例えば編集者に次数ｋを任意に入力できるように構成されれば良い。これにより、ある程度音符を読める編集者であれば、次数ｋを大きめに設定し、より細かい旋律包絡を調整できるようにしても良い。
【００２３】
次の旋律包絡編集部４０は、旋律包絡生成部３０により生成される旋律包絡を任意に編集可能なものである。旋律包絡編集部４０は、例えば表示モニタ等を有し、編集者に対して図３に示されるような旋律包絡を表示可能なものである。そして、表示された旋律包絡に対して、周知のマウス等のポインティングデバイスで編集者が編集可能なように構成されている。即ち、図５に示されるように、ポインティングデバイスによるドラッグ操作で旋律包絡を描き直すことが可能である。編集者は、例えば旋律をもう少し低くしたい、といった感覚を基に、旋律包絡を編集する。
【００２４】
第２フーリエ変換部５０は、旋律包絡編集部４０により編集された旋律包絡をフーリエ変換するものである。そして、第２フーリエ変換部５０は、編集後の旋律包絡のフーリエ係数を生成する。具体的には、所定の低次の次数のフーリエ係数をｋ次まで生成する。即ち、上述の例では、１０次までのフーリエ係数を生成する。
【００２５】
時系列データ生成部６０は、第２フーリエ変換部５０により生成される編集後の旋律包絡のフーリエ係数と、旋律包絡生成部３０により保持される残りの次数のフーリエ係数とを結合し、逆フーリエ変換を行うことで編集後の音高の時系列データを生成するものである。図１を参照すると、時系列データ生成部６０には、結合部６１と逆フーリエ変換部６３とが含まれている。ここで、結合部６１は、第２フーリエ変換部５０からの編集後の旋律包絡のフーリエ係数と、蓄積部３４に保持される高次側のフーリエ係数とを結合するものである。即ち、ｋ次までのフーリエ係数（編集後）と、ｋ＋１からｎ次まで（オリジナル）を結合する。そして、このように結合された配列に対して、逆フーリエ変換部６３により逆ＦＦＴを行い、図６に示されるような、編集後の音高の時系列データが生成される。
【００２６】
まったく編集していない場合には、音高の時系列データは入力されたものと同じものが得られるが、編集した場合には、その編集は低次の次数のフーリエ係数のみに作用することになる。したがって、編集していない部分では、入力された旋律のオリジナルの状態が保持されたまま、編集した部分では編集者の意図に合わせて大まかな改変が行われることになる。このように、本発明の旋律編集装置では、大まかな時系列データである旋律包絡を編集させるようにしているため、音楽の非専門家であっても、大まかなイメージで曲の旋律を容易に編集可能となる。また、細かなイメージについては、旋律包絡生成部の高次側抽出部で抽出され蓄積部にて保持されており、これを編集後の低次側のフーリエ係数と結合させた上で逆ＦＦＴを行うため、編集前の細かなイメージの状態はある程度再現される。したがって、音楽の非専門家が編集した場合であっても、まったく異なった旋律となってしまう可能性も低い。
【００２７】
そして、出力部７０は、時系列データ生成部により生成された音高の時系列データに基づき、編集後の旋律を出力するものである。出力部７０は、入力された旋律のデータ形式に合わせて出力しても良いし、他の形式に変換しても勿論良い。例えば、ＭＩＤＩデータが入力された場合には、時系列データに基づいてＭＩＤＩデータ形式で出力すれば良い。
【００２８】
ここで、例えば各音符の発音時刻や消音時刻、即ち、リズムは、入力された旋律のままを用いた場合、出力部７０では、各音符の音高であるノートナンバーを決定すれば良い。この際、編集後の音高の時系列データの、各音符の発音時刻から消音時刻までの音高に変化が生じた場合には、平均値を用いれば良い。即ち、出力部７０では、入力される旋律の各音符の発音時刻及び消音時刻を基に、編集後の音高の時系列データを、各音符の発音時刻から消音時刻までの音高の平均値を各音符の音高として、編集後の旋律を出力すれば良い。このようにして各音符の音高を決定すれば、入力された旋律のリズムを維持したまま、編集後の旋律を出力することが可能となる。例えば、図７の音高の時系列データの歪部分の拡大図に示されるように、発音時刻から消音時刻までの間の音高の変化に対して、平均値である２４をこの音符のノートナンバーとして決定すれば良い。なお、本明細書中では、説明を簡単にするために、音高の編集についてのみ説明し、各音符のリズムについては入力された旋律のままを用いたものを例に説明したが、本発明はこれに限定されない。音符数や音符の音価についても、音高と同様に編集可能に構成しても良い。
【００２９】
また、単に平均値を各音符の音高とした場合に、音楽的に不適切なノートナンバーとなる可能性もある。そこで、出力部７０は、不適切にならないように所定の条件によって時系列データを補正した上で、編集後の旋律を出力するようにしても良い。例えば、曲の調に応じて出現する音高の出現確率に基づき、時系列データ生成部により生成される音高の時系列データを補正した上で、編集後の旋律を出力しても良い。具体的には、図８の音高の時系列データの歪部分の拡大図に示されるように、編集によって歪んだ部分で単純に平均値を取ると音楽的に不適切となる場合、歪みの小さい部分、即ち、比較的平らな時系列データの部分についてはできるだけその値を採用し、歪みの大きい部分、即ち、急峻に変化する時系列データの部分については、音楽的に適切な音を選ぶようにする。音楽的に適切な音とは、曲の調に合った音という意味である。このような適切な音を、曲の調に応じて出現する音高の出現確率に基づき決定すれば良い。
【００３０】
より具体的には、各音符の発音時刻から消音時刻までの音高の値に対して、平均μ、分散σ２を求め、以下の数１の値ｇ（ｘ）が最大となるノートナンバーｘをその音符の値とする。
【数１】
0005835709.tif 000002
但し、ｐ（ｘ）は曲の調における各音高の出現確率である。
ここで、出現確率とは、例えば、ハ長調であれば、「ド」や「ソ」は「ド＃」や「ソ＃」よりも出現され易いというような傾向を表す確率分布である。また、各音高の出現確率は、実験的に定めても良い。
【００３１】
出力部７０は、このような出現確率を基に、最終的に適切な音となるように、時系列データ生成部により生成される編集後の音高の時系列データを補正した上で、旋律を出力すれば良い。
【００３２】
このように、本発明の旋律編集装置によれば、音楽の非専門家であっても、大まかなイメージで曲の旋律を容易に編集可能となる。
【００３３】
また、本発明は、上述の各部をコンピュータに機能させるためのプログラムであっても良い。即ち、上述の旋律編集装置の時系列変換部１０と、第１フーリエ変換部２０と、旋律包絡生成部３０と、旋律包絡編集部４０と、第２フーリエ変換部５０と、時系列データ生成部６０と、出力部７０とを、それぞれコンピュータ上で実現するための旋律編集プログラムであっても良い。
【００３４】
さらに、本発明は、入力される旋律を上述の各部に沿った手法で編集する旋律編集方法であっても良い。即ち、本発明の旋律編集方法は、時系列変換過程と、第１フーリエ変換過程と、旋律包絡生成過程と、旋律包絡編集過程と、第２フーリエ変換過程と、時系列データ生成過程と、出力過程と、からなるものであっても良い。時系列変換過程は、入力される旋律を音高の時系列データに変換する。第１フーリエ変換過程は、時系列変換過程により変換される時系列データをフーリエ変換し、所定の次数のフーリエ係数を生成する。旋律包絡生成過程は、第１フーリエ変換過程により生成されるフーリエ係数から所定の低次側の次数までのフーリエ係数を抽出し逆フーリエ変換を行うことで、入力される旋律の大まかな時系列データである旋律包絡を生成すると共に、残りの次数のフーリエ係数を保持する。旋律包絡編集過程は、旋律包絡生成過程により生成される旋律包絡を任意に編集可能とする。第２フーリエ変換過程は、旋律包絡編集過程により編集される旋律包絡をフーリエ変換し、編集後の旋律包絡のフーリエ係数を生成する。時系列データ生成過程は、第２フーリエ変換過程により生成される編集後の旋律包絡のフーリエ係数と、旋律包絡生成過程により保持される残りの次数のフーリエ係数とを結合し、逆フーリエ変換を行うことで編集後の音高の時系列データを生成する。そして、出力過程は、時系列データ生成過程により生成される音高の 時系列データに基づき、編集後の旋律を出力する。本発明は、このような旋律編集方法であっても良い。
【００３５】
なお、本発明の旋律編集装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００３６】
１０    時系列変換部
２０    第１フーリエ変換部
３０    旋律包絡生成部
３１    低次側抽出部
３２    高次側抽出部
３３    逆フーリエ変換部
３４    蓄積部
４０    旋律包絡編集部
５０    第２フーリエ変換部
６０    時系列データ生成部
６１    結合部
６３    逆フーリエ変換部
７０    出力部
【図１】
0005835709.tif 000003
【図２】
0005835709.tif 000004
【図３】
0005835709.tif 000005
【図４】
0005835709.tif 000006
【図５】
0005835709.tif 000007
【図６】
0005835709.tif 000008
【図７】
0005835709.tif 000009
【図８】
0005835709.tif 000010