(57)【特許請求の範囲】
【請求項１】
原曲を構成する音列の各音を、発音タイミング、音高、音の大きさ、音長で表現した楽譜を記憶する原曲記憶手段と、
原曲における音の遷移確率データを複数種類記憶する遷移確率記憶手段と、
数値の列を発生する数値列発生手段と、
前記遷移確率記憶手段に記憶された複数種類の遷移確率データのうち、入力装置からの入力によって選択された遷移確率データと前記数値列発生手段で発生された数値の列とに基づき、前記原曲記憶手段に記憶された原曲の楽譜の各音から次に演奏すべき音を決定する演奏音決定手段とを備え、
前記遷移確率記憶手段は、音高と音の大きさと音長の３つの属性で定義された音の状態の原曲における遷移確率を示すデータを含む第１の遷移確率データと、音高と音の大きさと音長のうちの何れか２つの属性で定義された音の状態の原曲における遷移確率を示すデータと残りの１つの音の属性の原曲における遷移確率を示すデータとを含む第２の遷移確率データと、音高の原曲における遷移確率を示すデータと音の大きさの原曲における遷移確率を示すデータと音長の原曲における遷移確率を示すデータとを含む第３の遷移確率データのうち、少なくとも２つの遷移確率データを記憶することを特徴とする自動作曲装置。
【請求項２】
前記数値列発生手段は、塩基配列を表現する文字情報をｎ文字毎に数値に変換した数値の列を発生することを特徴とする請求項１記載の自動作曲装置。
【請求項３】
前記数値列発生手段は、塩基配列を表現する文字情報を３文字毎に４進数３桁の数値に変換した数値の列を発生することを特徴とする請求項２記載の自動作曲装置。
【請求項４】
前記演奏音決定手段で決定された演奏すべき音から構成される楽譜を記憶する編曲記憶手段と、
前記編曲記憶手段に記憶された楽譜に応じた楽音を発生させる楽音発生手段とを備えたことを特徴とする請求項１ないし３の何れか１項に記載の自動作曲装置。
【請求項５】
原曲を構成する音列の各音を、発音タイミング、音高、音の大きさ、音長で表現した楽譜を記憶する原曲記憶手段と、原曲における音の遷移確率データを複数種類記憶する手段であって、音高と音の大きさと音長の３つの属性で定義された音の状態の原曲における遷移確率を示すデータを含む第１の遷移確率データと、音高と音の大きさと音長のうちの何れか２つの属性で定義された音の状態の原曲における遷移確率を示すデータと残りの１つの音の属性の原曲における遷移確率を示すデータとを含む第２の遷移確率データと、音高の原曲における遷移確率を示すデータと音の大きさの原曲における遷移確率を示すデータと音長の原曲における遷移確率を示すデータとを含む第３の遷移確率データのうち、少なくとも２つの遷移確率データを記憶する遷移確率記憶手段と、入力装置とを備えたコンピュータを用いて、楽曲を作成する自動作曲方法であって、
ａ）前記コンピュータが、前記入力装置から選択パラメータを入力するステップと、
ｂ）前記コンピュータが、数値の列を発生するステップと、
ｃ）前記コンピュータが、前記遷移確率記憶手段に記憶された複数種類の遷移確率データのうち、前記入力装置から入力された選択パラメータによって選択された遷移確率データと前記発生された数値の列とに基づき、前記原曲記憶手段に記憶された原曲の楽譜の各音から次に演奏すべき音を決定するステップとを含むことを特徴とする自動作曲方法。
【請求項６】
前記ステップｂにおいて、塩基配列を表現する文字情報をｎ文字毎に数値に変換した数値の列を発生することを特徴とする請求項５記載の自動作曲方法。
【請求項７】
前記ステップｂにおいて、塩基配列を表現する文字情報を３文字毎に４進数３桁の数値に変換した数値の列を発生することを特徴とする請求項６記載の自動作曲方法。
【請求項８】
ｄ）前記コンピュータが、前記ステップｃで決定された演奏すべき音から構成される楽譜を編曲記憶手段に記憶するステップと、
ｅ）前記コンピュータが、前記編曲記憶手段に記憶された楽譜に応じた楽音を発生させるステップとを含むことを特徴とする請求項５ないし７の何れか１項に記載の自動作曲方法。
【請求項９】
原曲を構成する音列の各音を、発音タイミング、音高、音の大きさ、音長で表現した楽譜を記憶する原曲記憶手段と、原曲における音の遷移確率データを複数種類記憶する手段であって、音高と音の大きさと音長の３つの属性で定義された音の状態の原曲における遷移確率を示すデータを含む第１の遷移確率データと、音高と音の大きさと音長のうちの何れか２つの属性で定義された音の状態の原曲における遷移確率を示すデータと残りの１つの音の属性の原曲における遷移確率を示すデータとを含む第２の遷移確率データと、音高の原曲における遷移確率を示すデータと音の大きさの原曲における遷移確率を示すデータと音長の原曲における遷移確率を示すデータとを含む第３の遷移確率データのうち、少なくとも２つの遷移確率データを記憶する遷移確率記憶手段と、入力装置とを備えたコンピュータに、
ａ）前記入力装置から選択パラメータを入力するステップと、
ｂ）数値の列を発生するステップと、
ｃ）前記遷移確率記憶手段に記憶された複数種類の遷移確率データのうち、前記入力装置から入力された選択パラメータによって選択された遷移確率データと前記発生された数値の列とに基づき、前記原曲記憶手段に記憶された原曲の楽譜の各音から次に演奏すべき音を決定するステップとを行わせるためのプログラム。
【請求項１０】
前記ステップｂにおいて、塩基配列を表現する文字情報をｎ文字毎に数値に変換した数値の列を発生することを特徴とする請求項９記載のプログラム。
【請求項１１】
前記ステップｂにおいて、塩基配列を表現する文字情報を３文字毎に４進数３桁の数値に変換した数値の列を発生することを特徴とする請求項１０記載のプログラム。
【請求項１２】
前記コンピュータに、さらに、
ｄ）前記ステップｃで決定された演奏すべき音から構成される楽譜を編曲記憶手段に記憶するステップと、
ｅ）前記編曲記憶手段に記憶された楽譜に応じた楽音を発生させるステップとを行わせることを特徴とする請求項９ないし１１の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動的に楽曲を作成する装置と方法に関し、特にベースとなる曲（原曲）のアレンジ度を利用者が選択できる自動作曲装置および自動作曲方法に関する。
【背景技術】
【０００２】
自動作曲装置として、メロディ素材として各音を発音タイミング、音高、音の大きさ、音長で表現した音列のデータを記憶しておき、音楽背景情報としてコード進行（コードの列）とスケール（スケールタイプとキー）を入力し、素材の各音高を入力音楽背景情報に基づいて変更することにより、メロディを生成する自動作曲装置が提案されている（例えば特許文献１参照）。
【０００３】
【特許文献１】特開平９−１２０２８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された自動作曲装置は、或るメロディ素材の各音高を変更していくため、元の曲をアレンジした楽曲を作成することができる。しかし、各音高を、コード進行（コードの列）やスケール（スケールタイプとキー）といった音楽背景情報によって変更する構成であるため、或る程度の音楽の知識を有する者でなければ、アレンジの程度を調整することは困難であった。
【０００５】
本発明の目的は、音楽に関する知識を殆ど有しない利用者であっても、アレンジの程度を変えながら、ベースとなる曲（原曲）の編曲を楽しむことのできる自動作曲装置および自動作曲方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の自動作曲装置は、原曲を構成する音列の各音を、発音タイミング、音高、音の大きさ、音長で表現した楽譜を記憶する原曲記憶手段と、原曲における音の遷移確率データを複数種類記憶する遷移確率記憶手段と、数値の列を発生する数値列発生手段と、前記遷移確率記憶手段に記憶された複数種類の遷移確率データのうち、入力装置からの入力によって選択された遷移確率データと前記数値列発生手段で発生された数値の列とに基づき、前記原曲記憶手段に記憶された原曲の楽譜の各音から次に演奏すべき音を決定する演奏音決定手段とを備える。
【０００７】
本発明の第１の自動作曲方法は、原曲を構成する音列の各音を、発音タイミング、音高、音の大きさ、音長で表現した楽譜を記憶する原曲記憶手段と、原曲における音の遷移確率データを複数種類記憶する遷移確率記憶手段と、入力装置とを備えたコンピュータを用いて、楽曲を作成する自動作曲方法であって、ａ）前記コンピュータが、前記入力装置から選択パラメータを入力するステップと、ｂ）前記コンピュータが、数値の列を発生するステップと、ｃ）前記コンピュータが、前記遷移確率記憶手段に記憶された複数種類の遷移確率データのうち、前記入力装置から入力された選択パラメータによって選択された遷移確率データと前記発生された数値の列とに基づき、前記原曲記憶手段に記憶された原曲の楽譜の各音から次に演奏すべき音を決定するステップとを含む。
【０００８】
本発明の第１のプログラムは、原曲を構成する音列の各音を、発音タイミング、音高、音の大きさ、音長で表現した楽譜を記憶する原曲記憶手段と、原曲における音の遷移確率データを複数種類記憶する遷移確率記憶手段と、入力装置とを備えたコンピュータに、ａ）前記入力装置から選択パラメータを入力するステップと、ｂ）数値の列を発生するステップと、ｃ）前記遷移確率記憶手段に記憶された複数種類の遷移確率データのうち、前記入力装置から入力された選択パラメータによって選択された遷移確率データと前記発生された数値の列とに基づき、前記原曲記憶手段に記憶された原曲の楽譜の各音から次に演奏すべき音を決定するステップとを行わせる。
【発明の効果】
【０００９】
本発明によれば、音楽に関する知識を殆ど有しない利用者であっても、アレンジの程度を変えながら、ベースとなる曲（原曲）の編曲を楽しむことのできる自動作曲装置および自動作曲方法ならびにプログラムが得られる。その理由は、使用する遷移確率データの選択によってアレンジの程度を変えることができるためである。
【発明を実施するための最良の形態】
【００１０】
図１を参照すると、本発明の実施の形態に係る自動作曲装置は、キーボード等の入力装置１０１と、液晶ディスプレイ等の表示装置１０２と、プリンタ等の印刷装置１０３と、磁気ディスク等で構成された数値列記憶手段１０４、原曲記憶手段１０５、遷移確率記憶手段１０６および編曲記憶手段１０７と、スピーカ等の音響素子１０８と、機能的手段としての数値列発生手段１０９、演奏音決定手段１１０、楽音発生手段１１１および制御手段１１２とから構成されている。
【００１１】
原曲記憶手段１０５は、ベースとなる曲（原曲）の楽譜１０５−１を記憶する。楽譜１０５−１は、原曲を構成する音列の各音を、発音タイミング、音高、音長および音の大きさの４つの属性で表現した音列データである。
【００１２】
遷移確率記憶手段１０６は、原曲の楽譜１０５−１における音の遷移確率を複数種類記憶する。ここで、音の遷移確率とは、発音タイミングを除いた３つの属性（音高、音長、音の大きさ）のうちの少なくとも１つの属性によって音の状態を定義するとき、或る状態から次の状態への遷移確率を意味する。例えば、原曲において、ドの音の次に現れる音がミが３回、ソが７回であったとすると、ドからミへの遷移確率は０．３、ドからソへの遷移確率は０．７、ドからミおよびソ以外の音への遷移確率は０になる。この例は１つの属性（音高）のみで音の状態を定義した遷移確率データであるが、２つの属性（例えば音高と音の大きさ、あるいは音高と音長、あるいは音長と音の大きさ）で音の状態を定義し、それらの状態間の遷移確率を示す遷移確率データを用いても良いし、３つの属性（音高と音の大きさと音長）で音の状態を定義し、それらの状態間の遷移確率を示す遷移確率データを用いるようにしても良い。
【００１３】
本実施の形態の場合、遷移確率記憶手段１０６は、音高と音の大きさと音長の３つの属性で定義された音の状態の原曲における遷移確率データを記憶する第１の遷移確率部１０６−１と、音高と音の大きさと音長のうちの何れか２つの属性で定義された音の状態の原曲における遷移確率データと残りの１つの音の属性の原曲における遷移確率データとを記憶する第２の遷移確率部１０６−２と、音高の原曲における遷移確率データと音の大きさの原曲における遷移確率データと音長の原曲における遷移確率データとを記憶する遷移確率部１０６−３とを有する。
【００１４】
図２を参照すると、第１の遷移確率部１０６−１には、音高と音の大きさと音長の組み合わせで音の状態をＨ×Ｖ×Ｌ通りに定義した状態定義テーブル１０６−１１と、この状態定義テーブル１０６−１で定義された各状態間の遷移確率を記憶した遷移確率テーブル１０６−１２とが記憶されている。
【００１５】
図３を参照すると、第２の遷移確率部１０６−２には、音高と音の大きさの組み合わせで音の状態をＨ×Ｖ通りに定義した状態定義テーブル１０６−２１と、この状態定義テーブル１０６−２１で定義された各状態間の遷移確率を記憶した遷移確率テーブル１０６−２２と、音長で音の状態を定義した状態定義テーブル１０６−２３と、この状態定義テーブル１０６−２３で定義された各状態間の遷移確率を記憶した遷移確率テーブル１０６−２４とが記憶されている。
【００１６】
図４を参照すると、第３の遷移確率部１０６−３には、音高で音の状態をＨ通りに定義した状態定義テーブル１０６−３１と、この状態定義テーブル１０６−３１で定義された各状態間の遷移確率を記憶した遷移確率テーブル１０６−３２と、音の大きさで音の状態をＶ通りに定義した状態定義テーブル１０６−３３と、この状態定義テーブル１０６−３３で定義された各状態間の遷移確率を記憶した遷移確率テーブル１０６−３４と、音長で音の状態をＬ通りに定義した状態定義テーブル１０６−３５と、この状態定義テーブル１０６−３５で定義された各状態間の遷移確率を記憶した遷移確率テーブル１０６−３６とが記憶されている。
【００１７】
遷移確率テーブル１０６−１２、１０６−２２、１０６−２４、１０６−３２、１０６−３４および１０６−３６の一般的なフォーマット例を図５に示す。図５に示されるように、音の状態がｎ通り定義されている場合、遷移確率テーブルには、各状態１〜ｎ毎の状態１〜状態ｎへの遷移確率ｘij（ｉ、ｊ＝１〜ｎ）が記憶される。ここで、原曲において、状態ｉを取る音が最終音以外に少なくとも１つ存在する場合、遷移確率テーブルにおける状態ｉの行に記載される遷移確率ｘi1、ｘi2、…、ｘinの総和は１になる。また、原曲において、状態ｉを取る音が最終音以外に１つも存在しない場合、遷移確率テーブルにおける状態ｉの行に記載される遷移確率ｘi1、ｘi2、…、ｘinの総和は０になる。
【００１８】
再び図１を参照すると、数値列発生手段１０９は、遷移確率によって決まる次の音の状態の複数の候補の中から１つの候補を選択するための数値列を発生する。数値列発生手段１０９は、乱数発生器によって実現することも可能であるが、本実施の形態では、別途与えられた塩基配列を数値の列に変換する手段として構成される。塩基配列は、アデニン（Ａ）、チミン（Ｔ）、グアニン（Ｇ）およびシトシン（Ｃ）の４種類のヌクレオチドが鎖状に重合してできており、この４種類のヌクレオチドの並び方は、個々の生物種によって相違する。相違の程度は、ヒトとサルのような近接種間では小さく、ヒトとバクテリアのように実質的な共通祖先を持たない生物種どうしでは大きくなる。一般に塩基配列は、ＤＮＡの場合はＡ、Ｔ、Ｇ、Ｃの４種類のアルファベットを並べて表現される。数値列発生手段１０９は、図６に示されるように、塩基配列を表現する文字情報を３文字毎に４進数３桁の数値（１０進数表示では０から６３までの数値）に変換していく。
【００１９】
数値列記憶手段１０４は、数値列発生手段１０９によって発生された数値の列１０４−１を記憶する。
【００２０】
演奏音決定手段１１０は、遷移確率記憶手段１０６に記憶された３種類の遷移確率部１０６−１〜１０６−３のうち、入力装置１０１を通じて利用者から入力された選択パラメータによって選択された何れか１つの遷移確率部に記憶された遷移確率と、数値列発生手段１０９で発生された数値の列とに基づき、原曲記憶手段１０５に記憶された原曲の楽譜１０５−１の各音から次に演奏すべき音の音高、音の大きさ及び音長を決定する手段である。なお、音の発生タイミングは原曲と同じとする。
【００２１】
具体的には、第１の遷移確率部１０６−１が選択された場合、演奏音決定手段１１０は、図７に示されるように、原曲中に音１、音２、音３の順で音が並んでいるとすると、音１の音高と音の大きさと音長で特定される状態と図２の遷移確率テーブル１０６−１２と数値の列１０４−１とから、次に演奏すべき音２’の状態（音高と音の大きさと音長）を決定する。音２’の次に演奏する音３’も同様に、直前の原曲の音２をベースに決定される。
【００２２】
また第２の遷移確率部１０６−２が選択された場合、演奏音決定手段１１０は、原曲中の音１の音高と音の大きさで特定される状態と図３の遷移確率テーブル１０６−２２と数値の列１０４−１とから、次に演奏すべき音の状態（音高と音の大きさ）を決定し、また音１の音長で特定される状態と図３の遷移確率テーブル１０６−２４と数値の列１０４−１とから、次に演奏すべき音の状態（音長）を決定し、この決定した音高と音の大きさと音長とを合わせ有する音を、音１の次に演奏すべき音２’の状態（音高と音の大きさと音長）として決定する。音２’の次に演奏する音３’も同様に、直前の原曲の音２をベースに決定される。
【００２３】
さらに第３の遷移確率部１０６−３が選択された場合、演奏音決定手段１１０は、原曲中の音１の音高で特定される状態と図４の遷移確率テーブル１０６−３２と数値の列１０４−１とから、次に演奏すべき音の状態（音高）を決定し、また音１の音の大きさで特定される状態と図４の遷移確率テーブル１０６−３４と数値の列１０４−１とから、次に演奏すべき音の状態（音の大きさ）を決定し、また音１の音長で特定される状態と図４の遷移確率テーブル１０６−３６と数値の列１０４−１とから、次に演奏すべき音の状態（音長）を決定し、この決定した音高と音の大きさと音長とを合わせ有する音を、音１の次に演奏すべき音２’の状態（音高と音の大きさと音長）として決定する。音２’の次に演奏する音３’も同様に、直前の原曲の音２をベースに決定される。
【００２４】
ここで、音の状態を定義する属性の数が多いほど、状態の種類が増える代わりに、遷移確率によって生成される新たな状態の可能性が絞り込まれるため、編曲される曲の多様性も絞り込まれる。逆に、音の状態を定義する属性の数が少ないほど、状態の種類は減る代わりに、遷移確率によって生成される新たな状態の組み合わせの可能性が拡大するため、編曲される曲の多様性も拡大する。例えば、或る原曲において、「音高１、音の大きさ１、音長１」の音Ａの次に現れる音が、「音高２、音の大きさ２、音長２」の音Ｂと、「音高３、音の大きさ３、音長３」の音Ｃの２つしかない場合、第１の遷移確率部１０６−１を選択すると、音Ａの次に演奏すべき音は音Ｂ、音Ｃの２種類の中からしか選ばれない。他方、その原曲において、音高１の音の次に現れる音の音高が、音高１、音高２、音高３の３種類、音の大きさ１の音の次に現れる音の大きさが、大きさ１、大きさ２、大きさ３の３種類、音長１の音の次に現れる音の音長が、音長１、音長２、音長３の３種類とすると、第３の遷移確率部１０６−３を選択すると、音Ａの次に演奏すべき音は、３×３×３＝２７種類の音の中から選ばれることになる。
【００２５】
編曲記憶手段１０７は、演奏音決定手段１１０で決定された演奏音のデータ列を編曲の楽譜１０７−１として記憶する。
【００２６】
楽音発生手段１１１は、楽譜に応じた楽音を音響素子１０８から発生させる手段、すなわち自動演奏手段である。
【００２７】
入力装置１０１は、使用する遷移確率部を指定する選択パラメータなどのデータを利用者が入力するために使用される。表示装置１０２および印刷装置１０３は、生成された楽譜を利用者に対して表示したり、用紙に印刷する場合に利用される。
【００２８】
制御手段１１２は、装置全体の制御を司る手段である。
【００２９】
次に、本実施の形態の自動作曲装置の全体の動作を説明する。
【００３０】
図８を参照すると、まず制御手段１１２は、入力装置１０１を通じて利用者から選択パラメータを入力する（Ｓ１０１）。この選択パラメータによって、遷移確率記憶手段１０６に記憶された複数の遷移確率部１０６−１〜１０６−３のうち、何れか１つの遷移確率部が指定される。具体的な選択の方法として、編曲される曲のアレンジ度の選択画面を表示装置１０２に表示し、利用者が選択画面中からアレンジ度「小」を選択した場合には第１の遷移確率部１０６−１を、アレンジ度「中」を選択した場合には第２の遷移確率部１０６−２を、アレンジ度「大」を選択した場合には第３の遷移確率部１０６−３を、それぞれ選択する方法が考えられる。この時点で制御手段１１２は、選択されたアレンジ度と対応する遷移確率部とを演奏音決定手段１１０に設定する。
【００３１】
次に制御手段１１２は、数値列発生手段１０９によって別途与えられた塩基配列から数値列を生成し、数値列記憶手段１０４に記憶する（Ｓ１０２）。この場合、図示しない塩基配列記憶手段に複数の塩基配列を生物名に対応付けて予め記憶しておき、生物名の一覧を表示装置１０２に表示し、利用者に生物名の一覧から何れかの生物名を選択させ、この選択された生物名に対応する塩基配列を数値列発生手段１０９に与えるように構成しても良い。
【００３２】
次に制御手段１１２は、原曲記憶手段１０５から原曲の楽譜１０５−１における最初の音を編曲の最初の演奏音として編曲記憶手段１０７の編曲の楽譜１０７−１へ出力すると共に、その最初の音に基づいて直前音の状態をセットする（Ｓ１０３）。ここで、直前音の状態のセットは、選択されたアレンジ度に応じて行われる。具体的には、アレンジ度「大」の場合、最初の音の音高、音の大きさ、音長がそれぞれ独立に直前音の状態としてセットされ、アレンジ度「中」の場合、最初の音の音高と音の大きさの組み合わせが直前音の１つの状態としてセットされ、音長が直前音の別の１つの状態としてセットされ、アレンジ度「小」の場合、最初の音の音高と音の大きさと音長の組み合わせが直前音の１つの状態としてセットされる。
【００３３】
次に制御手段１１２は、数値列記憶手段１０４に記憶された数値列１０４−１の先頭から１つの数値を読み出し（Ｓ１０４）、この読み出した数値とセットした直前音の状態とを演奏音決定手段１１０に与え、これらの情報と設定された遷移確率部の情報とから演奏音決定手段１１０で決定された演奏音（音高と音の大きさと音長）を編曲の楽譜１０７−１を構成する次の音として編曲記憶手段１０７に記憶する（Ｓ１０５）。ここで、音の発生タイミングは原曲と同じとする。
【００３４】
次に制御手段１１２は、数値列１０４−１に未入力の数値があるかどうかを判定し（Ｓ１０６）、未入力の数値が残っていれば、原曲の次の音の音高と音の大きさと音長とに基づいて直前音の状態をセットする（Ｓ１０７）。ここでも、直前音の状態のセットは、選択されたアレンジ度に応じて行われる。なお、原曲に次の音が存在しなければ、例えば、原曲の最初の音に戻って処理を続ける。そして、ステップＳ１０４へ戻って数値列１０４−１から未入力の数値を読み出し、この読み出した数値とセットした直前音の状態とに基づいて、演奏音決定手段１１０に次の演奏音を決定させる処理を繰り返す。他方、数値列１０４−１の全てを入力し終えた場合（Ｓ１０６でＮＯ）、制御手段１１２は、編曲記憶手段１０７に記憶された編曲の楽譜１０７−１を読み出して楽音発生手段１１１に入力し、楽音発生手段１１１によって楽譜１０７−１に応じた楽音を音響素子１０８から発生させる（Ｓ１０８）。これと同時に、或いはこれに代えて、制御手段１１２は編曲の楽譜１０７−１を表示装置１０２に表示し、または印刷装置１０３から出力しても良い。
【００３５】
次に、ステップＳ１０５の詳細を説明する。演奏音決定手段１１０は、アレンジ度「小」の場合にはステップＳ１０５において図９のフローチャートに示す処理を実行し、アレンジ度「中」の場合には図１２のフローチャートに示す処理を実行し、アレンジ度「大」の場合には図１３のフローチャートに示す処理を実行する。
【００３６】
まず図９を参照して、アレンジ度「小」の場合の演奏音決定手段１１０の動作を説明する。演奏音決定手段１１０は、まず、入力された塩基配列の数値を６３で割った商を変数ｘmaxに代入する（Ｓ２０１）。塩基配列の数値は４進数３桁の数値で、その値域は１０進数で０〜６３なので、変数ｘmaxの値域は０〜１になる。次に演奏音決定手段１１０は、セットされた直前音の状態（音高、音の大きさ、音長）の番号を変数ｉに代入する（Ｓ２０２）。例えば、セットした音の状態が状態２であれば、その状態の番号は２なので、ｉ＝２とする。そして、演奏音決定手段１１０は、次の演奏音の状態（音高、音の大きさ、音長）を演算によって求め（Ｓ２０３）、出力する（Ｓ２０４）。
【００３７】
ステップＳ２０３の処理の詳細を図１０を参照して説明する。演奏音決定手段１１０は、次の音の状態（音高、音の大きさ、音長）の番号を保持する変数ｊを１に初期化し（Ｓ３０１）、確率の累積値を保持する変数Ｔを０に初期化する（Ｓ３０２）。次に、図２の遷移確率テーブル１０６−１２を参照して、遷移確率ｘi1の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを判定する（Ｓ３０４）。変数Ｔの値がｘmax以上でなければ、変数ｊの値を＋１して、２とし（Ｓ３０５）、遷移確率ｘi2の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを再び判定する（Ｓ３０４）。以上のような動作を、変数Ｔの値がｘmax以上になるまで繰り返し、変数Ｔの値がｘmax以上となった時点のｊの値で特定される状態ｊの音高と音の大きさと音長を図２の状態定義テーブル１０６−１１から取得する（ステップＳ３０６）。この動作を簡略化した例を挙げて説明すると、次のようになる。
【００３８】
今、状態の数を８とし、状態１から他の状態への遷移確率が図１１に示すような値であったとする。このとき、ｉ＝１、塩基配列の入力値が２０でｘmax＝０．３２とすると、ｊ＝４のとき、0.125＋0.0＋0.125＋0.125≧0.32なので、次の音の状態は状態４と決定される。また、塩基配列の入力値が４５でｘmax＝０．７２とすると、ｊ＝５のとき、0.125＋0.0＋0.125＋0.125＋0.5≧0.72なので、次の音の状態は状態５と決定される。
【００３９】
次に図１２を参照して、アレンジ度「中」の場合の演奏音決定手段１１０の動作を説明する。演奏音決定手段１１０は、まず、入力された塩基配列の数値を６３で割った商を変数ｘmaxに代入する（Ｓ４０１）。次に演奏音決定手段１１０は、セットされた直前音の状態（音高、音の大きさ）の番号を変数ｉに代入する（Ｓ４０２）。そして、演奏音決定手段１１０は、次の演奏音の状態（音高、音の大きさ）を演算によって求める（Ｓ４０３）。
【００４０】
ステップＳ４０３の処理の詳細を図１０を参照して説明する。演奏音決定手段１１０は、次の音の状態（音高、音の大きさ）の番号を保持する変数ｊを１に初期化し（Ｓ３０１）、確率の累積値を保持する変数Ｔを０に初期化する（Ｓ３０２）。次に、図３の遷移確率テーブル１０６−２２を参照して、遷移確率ｘi1の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを判定する（Ｓ３０４）。変数Ｔの値がｘmax以上でなければ、変数ｊの値を＋１して、２とし（Ｓ３０５）、遷移確率ｘi2の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを再び判定する（Ｓ３０４）。以上のような動作を、変数Ｔの値がｘmax以上になるまで繰り返し、変数Ｔの値がｘmax以上となった時点のｊの値で特定される状態ｊの音高と音の大きさを図３の状態定義テーブル１０６−２１から取得する（ステップＳ３０６）。
【００４１】
次に演奏音決定手段１１０は、セットされた直前音の状態（音長）の番号を変数ｉに代入する（図１２のＳ４０４）。そして、演奏音決定手段１１０は、次の演奏音の状態（音長）を演算によって求める（Ｓ４０５）。
【００４２】
ステップＳ４０５の処理の詳細を図１０を参照して説明する。演奏音決定手段１１０は、次の音の状態（音長）の番号を保持する変数ｊを１に初期化し（Ｓ３０１）、確率の累積値を保持する変数Ｔを０に初期化する（Ｓ３０２）。次に、図３の遷移確率テーブル１０６−２４を参照して、遷移確率ｘi1の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを判定する（Ｓ３０４）。変数Ｔの値がｘmax以上でなければ、変数ｊの値を＋１して、２とし（Ｓ３０５）、遷移確率ｘi2の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを再び判定する（Ｓ３０４）。以上のような動作を、変数Ｔの値がｘmax以上になるまで繰り返し、変数Ｔの値がｘmax以上となった時点のｊの値で特定される状態ｊの音長を図３の状態定義テーブル１０６−２３から取得する（ステップＳ３０６）。
【００４３】
最後に演奏音決定手段１１０は、ステップＳ４０３で決定した音高と音の大きさ、ステップＳ４０５で決定した音長を、次に演奏すべき音の音高、音の大きさ、音長として出力する（図１２のＳ４０６）。
【００４４】
次に図１３を参照して、アレンジ度「大」の場合の演奏音決定手段１１０の動作を説明する。演奏音決定手段１１０は、まず、入力された塩基配列の数値を６３で割った商を変数ｘmaxに代入する（Ｓ５０１）。次に演奏音決定手段１１０は、セットされた直前音の状態（音高）の番号を変数ｉに代入する（Ｓ５０２）。そして、演奏音決定手段１１０は、次の演奏音の状態（音高）を演算によって求める（Ｓ５０３）。
【００４５】
ステップＳ５０３の処理の詳細を図１０を参照して説明する。演奏音決定手段１１０は、次の音の状態（音高）の番号を保持する変数ｊを１に初期化し（Ｓ３０１）、確率の累積値を保持する変数Ｔを０に初期化する（Ｓ３０２）。次に、図４の遷移確率テーブル１０６−３２を参照して、遷移確率ｘi1の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを判定する（Ｓ３０４）。変数Ｔの値がｘmax以上でなければ、変数ｊの値を＋１して、２とし（Ｓ３０５）、遷移確率ｘi2の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを再び判定する（Ｓ３０４）。以上のような動作を、変数Ｔの値がｘmax以上になるまで繰り返し、変数Ｔの値がｘmax以上となった時点のｊの値で特定される状態ｊの音高を図４の状態定義テーブル１０６−３１から取得する（ステップＳ３０６）。
【００４６】
次に演奏音決定手段１１０は、セットされた直前音の状態（音の大きさ）の番号を変数ｉに代入する（図１３のＳ５０４）。そして、演奏音決定手段１１０は、次の演奏音の状態（音の大きさ）を演算によって求める（Ｓ５０５）。
【００４７】
ステップＳ５０５の処理の詳細を図１０を参照して説明する。演奏音決定手段１１０は、次の音の状態（音の大きさ）の番号を保持する変数ｊを１に初期化し（Ｓ３０１）、確率の累積値を保持する変数Ｔを０に初期化する（Ｓ３０２）。次に、図４の遷移確率テーブル１０６−３４を参照して、遷移確率ｘi1の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを判定する（Ｓ３０４）。変数Ｔの値がｘmax以上でなければ、変数ｊの値を＋１して、２とし（Ｓ３０５）、遷移確率ｘi2の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを再び判定する（Ｓ３０４）。以上のような動作を、変数Ｔの値がｘmax以上になるまで繰り返し、変数Ｔの値がｘmax以上となった時点のｊの値で特定される状態ｊの音の大きさを図４の状態定義テーブル１０６−３３から取得する（ステップＳ３０６）。
【００４８】
次に演奏音決定手段１１０は、セットされた直前音の状態（音長）の番号を変数ｉに代入する（図１３のＳ５０６）。そして、演奏音決定手段１１０は、次の演奏音の状態（音長）を演算によって求める（Ｓ５０７）。
【００４９】
ステップＳ５０７の処理の詳細を図１０を参照して説明する。演奏音決定手段１１０は、次の音の状態（音長）の番号を保持する変数ｊを１に初期化し（Ｓ３０１）、確率の累積値を保持する変数Ｔを０に初期化する（Ｓ３０２）。次に、図４の遷移確率テーブル１０６−３６を参照して、遷移確率ｘi1の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを判定する（Ｓ３０４）。変数Ｔの値がｘmax以上でなければ、変数ｊの値を＋１して、２とし（Ｓ３０５）、遷移確率ｘi2の値を変数Ｔに加算し（Ｓ３０３）、変数Ｔの値がｘmax以上になったかどうかを再び判定する（Ｓ３０４）。以上のような動作を、変数Ｔの値がｘmax以上になるまで繰り返し、変数Ｔの値がｘmax以上となった時点のｊの値で特定される状態ｊの音長を図４の状態定義テーブル１０６−３５から取得する（ステップＳ３０６）。
【００５０】
最後に演奏音決定手段１１０は、ステップＳ５０３で決定した音高、ステップＳ５０５で決定した音の大きさ、ステップＳ５０７で決定した音長を、次に演奏すべき音の音高、音の大きさ、音長として出力する（Ｓ５０８）。
【００５１】
次に本実施の形態の効果を説明する。
【００５２】
本実施の形態によれば、使用する遷移確率データを選択することによってアレンジの程度を変えることができるため、音楽に関する知識を殆ど有しない利用者であっても、アレンジの程度を変えながら、原曲の編曲を作成することができる。
【００５３】
また本実施の形態によれば、塩基配列を表現する文字情報を３文字毎に数値に変換し、その数値に依存して次の演奏音を決定しているため、塩基配列を生物学的に意味のある楽譜に変換することができる。その理由は、生物の体内では塩基配列の情報を基にしてアミノ酸配列（タンパク質）が合成されるが、合成されるアミノ酸の種類は、塩基配列の３文字の塩基の組み合わせによって決定されるためである。
【００５４】
また本実施の形態によれば、塩基配列を表現する文字情報を３文字毎に４進数３桁の数値に変換するため、３桁の数値における１桁目は数値に与える影響が小さくなる。これは、３文字目の塩基がアミノ酸に与える影響が小さいために３文字目の塩基は突然変異を起こし易いが、それによる生物学的な影響は小さいという生物学的特性に合っており、生物学的に意味のある数値変換方法であると言える。
【００５５】
なお、本実施の形態では塩基配列を３文字毎に数値に変換したが、一般にｎ（１以上の正の整数）文字毎に数値に変換することができる。
【００５６】
以上本発明の実施の形態について説明したが、本発明は以上の例に限定されず、その他各種の付加変更が可能である。例えば、ベースとなる原曲が１つである例を示したが、複数の原曲の楽譜と各原曲に対応する複数種類の遷移確率とを記憶しておき、利用者によって好きな原曲を選択させるようにしても良い。また、ベースとなる原曲の楽譜に応じた演奏を行う機能を持たせるようにしても良い。さらに本発明の自動作曲装置は、その有する機能をハードウェア的に実現することは勿論、パーソナルコンピュータや携帯電話機を構成するコンピュータ等のコンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した実施の形態における数値列発生手段、演奏音決定手段、楽音発生手段として機能させ、前述した処理を行わせる。
【産業上の利用可能性】
【００５７】
以上のように、本発明に係る自動作曲装置および自動作曲方法は、ベースとなる曲のアレンジ度を利用者が選択しながら手軽に編曲を作成して楽しむ装置および方法として有用であり、例えば個々の塩基配列に固有な楽曲を様々にアレンジして楽しむ装置および方法に用いるのに適している。本発明に係る自動作曲装置および自動作曲方法は、例えば携帯電話機の着信メロディの編曲などへの利用が可能である。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態に係る自動作曲装置のブロック図である。
【図２】遷移確率記憶手段における第１の遷移確率部の記憶内容の一例を示す図である。
【図３】遷移確率記憶手段における第２の遷移確率部の記憶内容の一例を示す図である。
【図４】遷移確率記憶手段における第３の遷移確率部の記憶内容の一例を示す図である。
【図５】遷移確率テーブルの一般的な構造を示す図である。
【図６】塩基配列を数値化する例を示す図である。
【図７】演奏音決定手段の機能説明図である。
【図８】本発明の実施の形態に係る自動作曲装置の処理例を示すフローチャートである。
【図９】アレンジ度「小」の場合の演奏音決定手段の処理例を示すフローチャートである。
【図１０】演奏音決定手段における次の演奏音の状態の演算処理例を示すフローチャートである。
【図１１】演奏音決定手段の演奏音決定方法の説明に使用する遷移確率の簡単な例を示す図である。
【図１２】アレンジ度「中」の場合の演奏音決定手段の処理例を示すフローチャートである。
【図１３】アレンジ度「大」の場合の演奏音決定手段の処理例を示すフローチャートである。
【符号の説明】
【００５９】
１０１…入力装置
１０２…表示装置
１０３…印刷装置
１０４…数値列記憶手段
１０５…原曲記憶手段
１０６…遷移確率記憶手段
１０７…編曲記憶手段
１０８…音響素子
１０９…数値列発生手段
１１０…演奏音決定手段
１１１…楽音発生手段
１１２…制御手段
【図１】
0004506998.tif 000002
【図２】
0004506998.tif 000003
【図３】
0004506998.tif 000004
【図４】
0004506998.tif 000005
【図５】
0004506998.tif 000006
【図６】
0004506998.tif 000007
【図７】
0004506998.tif 000008
【図８】
0004506998.tif 000009
【図９】
0004506998.tif 000010
【図１０】
0004506998.tif 000011
【図１１】
0004506998.tif 000012
【図１２】
0004506998.tif 000013
【図１３】
0004506998.tif 000014