JP2004171019A - 自動作曲装置および記憶媒体 - Google Patents

自動作曲装置および記憶媒体 Download PDF

Info

Publication number
JP2004171019A
JP2004171019A JP2004025990A JP2004025990A JP2004171019A JP 2004171019 A JP2004171019 A JP 2004171019A JP 2004025990 A JP2004025990 A JP 2004025990A JP 2004025990 A JP2004025990 A JP 2004025990A JP 2004171019 A JP2004171019 A JP 2004171019A
Authority
JP
Japan
Prior art keywords
pitch
melody
bar
skeleton
phrase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004025990A
Other languages
English (en)
Other versions
JP3835456B2 (ja
Inventor
Eiichiro Aoki
栄一郎 青木
Toshio Sugiura
敏夫 杉浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2004025990A priority Critical patent/JP3835456B2/ja
Publication of JP2004171019A publication Critical patent/JP2004171019A/ja
Application granted granted Critical
Publication of JP3835456B2 publication Critical patent/JP3835456B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】音楽的に不都合のないメロディを自動的に作曲することが可能な自動作曲装置及び記憶媒体を提供する。
【解決手段】当小節が新規楽節内の小節であるか、当小節の骨格が参照小節の骨格と同一でないか、又は、当小節のコードが参照小節のコードと同一でないかのいずれかの条件を満たしているときには、当小節のメロディ新規作成処理サブルーチンを実行し、当小節が同名・同類楽節内の小節であり、当小節の骨格が参照小節の骨格と同一であり、かつ、当小節のコードが参照小節のコードと同一であるときには、両小節のリズムパターンが同一か否かを判別し、同一のときには、当小節のメロディを参照小節と同一とする一方、同一でないときには、当小節と参照小節の同一打点のピッチは同一とし、新規打点のピッチは新たに生成する。そして、このようにして生成された1フレーズ分のメロディピッチが音楽的評価を満足しているかどうかの評価を行う。
【選択図】図4

Description

本発明は、音楽に関する各種の条件に応じて自動的に作曲を行う自動作曲装置および記憶媒体に関する。
従来、音楽に関する各種の条件に応じて自動的に作曲を行う自動作曲装置として、たとえば特開平9−50278号公報には、次の装置が開示されている。
すなわち、この自動作曲装置は、各種の既存曲の音楽的特徴を分析して抽出し、その分析・抽出結果を対応する既存曲の曲テンプレートとして演奏データメモリに記憶し、この記憶された各種の曲テンプレートのうちいずれかの曲テンプレートにユーザが適宜修正を加え、修正の加えられたものに基づいて自動的に作曲を行うように構成されている。
曲テンプレートに記載されるデータのうち、フレーズ毎のピッチに関するものには、たとえば、「フレーズのピッチパターン」、「フレーズの最初−最後音」等があり、これらのデータに基づいて当該フレーズ内の各音節に対するピッチを決定している。具体的には、「フレーズの最初−最後音」に度数(I,II,III,IV,V,VI,VII)が設定されているときには、対象フレーズの最初と最後の音節の音高を、当該度数に対応する音高に決定する一方、度数が設定されていないときには、対象フレーズの最初と最後の音節の音高を、曲テンプレートに記載されている「感情の起伏」に基づいて決定する。そして、対象フレーズの最初と最後の音節以外の音節の音高は、「フレーズのピッチパターン」にピッチパターンが設定されているときには、このピッチパターンに基づいて決定し、「フレーズのピッチパターン」にピッチパターンが設定されていないときには、「感情の起伏」に示されたグラフィックパターンに近似したピッチパターンを選択し、この選択されたピッチパターンに基づいて決定している。このようにしてメロディが生成されると、ユーザは、メロディに不都合がないかを実際に曲を聴くことにより判断し、不都合があるときには、そのメロディをマニュアルで修正していた。
また、特許文献1には、ランダムに選択した音高を所定の音楽条件と比較し、この音楽条件と合致した場合にはその音高を採用し、合致しない場合には再度音高をランダムに選択してメロディを生成するように構成された自動作曲装置が開示されている。
特公昭60−40027号公報
しかし、上記従来の自動作曲装置のうち前者では、曲テンプレートに記載されているデータ、すなわちフレーズ毎のピッチに関するデータに沿ったメロディを生成できるものの、音楽的に不都合のあるメロディが生成される可能性があり、このようなメロディが生成された場合には、ユーザがマニュアルで修正を行う必要があり、面倒であった。
また、後者では、ランダムに選択した音高と所定の音楽条件とを比較して合致した音高のみを採用するが、必ずしも音楽的に不都合のないメロディばかりが生成されるとは限らなかった。すなわち、新たな音高を決定する際に、過去の音高および今回の音高しか考慮できず、次の音高との関係で音楽的に不都合のある音高が選択される可能性があった。
本発明は、この点に着目してなされたものであり、音楽的に不都合のないメロディを自動的に作曲することが可能な自動作曲装置および記憶媒体を提供することを目的とする。
上記目的を達成するため、請求項1に記載の自動作曲装置は、対象曲に対してそのメロディピッチを生成するメロディピッチ生成手段と、前記対象曲の骨格を形成する骨格節点ピッチを生成する骨格節点ピッチ生成手段と、前記対象曲の重要打点を検出する重要打点検出手段と、該検出された重要打点に、前記生成された骨格節点ピッチを割り当てる割当手段とを有し、前記メロディピッチ生成手段は、前記割り当てられた骨格節点ピッチを保持しながらメロディピッチを生成することを特徴とする。
好ましくは、前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定手段と、前記骨格節点ピッチ同士のピッチ差を算出するピッチ差算出手段とを有し、前記メロディピッチ生成手段は、前記算出されたピッチ差、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成することを特徴とする。
また、好ましくは、前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定手段と、前記重要打点間の音節数を設定するための音節数設定手段とを有し、前記メロディピッチ生成手段は、前記設定された音節数、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成することを特徴とする。
上記目的を達成するため、請求項4に記載の記憶媒体は、対象曲に対してそのメロディピッチを生成するメロディピッチ生成ステップと、前記対象曲の骨格を形成する骨格節点ピッチを生成する骨格節点ピッチ生成ステップと、前記対象曲の重要打点を検出する重要打点検出ステップと、該検出された重要打点に、前記生成された骨格節点ピッチを割り当てる割当ステップとを有する自動作曲方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、前記メロディピッチ生成ステップでは、前記割り当てられた骨格節点ピッチを保持しながらメロディピッチを生成することを特徴とする。
好ましくは、前記自動作曲方法は、さらに、前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定ステップと、前記骨格節点ピッチ同士のピッチ差を算出するピッチ差算出ステップとを有し、前記メロディピッチ生成ステップでは、前記算出されたピッチ差、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成することを特徴とする。
また、好ましくは、前記自動作曲方法は、さらに、前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定ステップと、前記重要打点間の音節数を設定するための音節数設定ステップとを有し、前記メロディピッチ生成ステップでは、前記設定された音節数、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成することを特徴とする。
請求項1または4に記載の発明によれば、骨格節点ピッチが重要打点のピッチに割り当てられるので、生成されるメロディに骨格を反映することができる。
請求項2または5に記載の発明によれば、ピッチ範囲情報が設定されるとともに骨格節点同士のピッチ差が算出され、この算出されたピッチ差、設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチが生成されるので、ユーザが意図する重要打点間の打点ピッチを生成することができる。
請求項3または6に記載の発明によれば、ピッチ範囲情報が設定されるとともに重要打点間の音節数が設定され、この設定された音節数、設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチが生成されるので、ユーザがより意図する重要打点間の打点ピッチを生成することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の一実施の形態に係る自動作曲装置の概略構成を示すブロック図である。
同図に示すように、本実施の形態の自動作曲装置は、音高情報を入力するための鍵盤1と、各種情報を入力するための複数のスイッチ(ポインチングデバイスであるマウスを含む)を備えたパネルスイッチ2と、鍵盤1の各鍵の押鍵状態を検出する押鍵検出回路3と、パネルスイッチ2の各スイッチの押下状態を検出するスイッチ検出回路4と、装置全体の制御を司るCPU5と、該CPU5が実行する制御プログラムやテーブルデータ等を記憶するROM6と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM7と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ8と、各種情報等を表示する、たとえば大型液晶ディスプレイ(LCD)若しくはCRT(Cathode Ray Tube)ディスプレイおよび発光ダイオード(LED)等を備えた表示装置9と、記憶媒体であるフロッピー(登録商標)ディスク(FD)20をドライブするフロッピー(登録商標)ディスクドライブ(FDD)10と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するハードディスク(図示せず)をドライブするハードディスクドライブ(HDD)11と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するコンパクトディスク−リード・オンリ・メモリ(CD−ROM)21をドライブするCD−ROMドライブ(CD−ROMD)12と、外部からのMIDI(Musical Instrument Digital Interface)信号を入力したり、MIDI信号を外部に出力したりするMIDIインターフェース(I/F)13と、通信ネットワーク101を介して、たとえばサーバコンピュータ102とデータの送受信を行う通信インターフェース(I/F)14と、鍵盤1から入力された演奏データや予め設定された演奏データ等を楽音信号に変換する音源回路15と、該音源回路15からの楽音信号に各種効果を付与するための効果回路16と、該効果回路16からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム17とにより構成されている。
上記構成要素3〜16は、バス18を介して相互に接続され、CPU5にはタイマ8が接続され、MIDII/F13には他のMIDI機器100が接続され、通信I/F14には通信ネットワーク101が接続され、音源回路15には効果回路16が接続され、効果回路16にはサウンドシステム17が接続されている。
HDD11のハードディスクには、前述のように、CPU5が実行する制御プログラムも記憶でき、ROM6に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをRAM7に読み込むことにより、ROM6に制御プログラムを記憶している場合と同様の動作をCPU5にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
CD−ROMドライブ12のCD−ROM21から読み出された制御プログラムや各種データは、HDD11内のハードディスクにストアされる。これにより、制御プログラムの新規インストールやバージョンアップ等が容易に行える。なお、このCD−ROMドライブ12以外にも、外部記憶装置として、光磁気ディスク(MO)装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
通信I/F14は、上述のように、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワーク101に接続されており、該通信ネットワーク101を介して、サーバコンピュータ102に接続される。HDD11内のハードディスクに上記各プログラムや各種パラメータが記憶されていない場合には、通信I/F14は、サーバコンピュータ102からプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ(本実施の形態では、自動作曲装置)は、通信I/F14および通信ネットワーク101を介してサーバコンピュータ102へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ102は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク101を介してコンピュータへと配信し、コンピュータが通信I/F14を介して、これらプログラムやパラメータを受信してHDD11内のハードディスクに蓄積することにより、ダウンロードが完了する。
この他、外部コンピュータ等との間で直接データのやりとりを行うためのインターフェースを備えてもよい。
図2および図3は、本実施の形態の自動作曲装置が実行する各種制御処理を視覚的に表した図である。以下、同図を参照して、この各種制御処理の概要を説明する。
図2において、まず、ユーザが、複数種類の全体作曲条件テンプレート(この全体作曲条件テンプレートは、たとえば前記ハードディスクに記憶されている)から1つを選択すると、当該テンプレートに記載されている全体作曲条件が設定(入力)される。全体作曲条件として設定される項目には、たとえば、楽節数、フレーズ数、小節数、拍子、調、曲の先頭ピッチ、曲の最後ピッチ、音域(最高音および最低音が与えられる)等があり、各テンプレートには、これらの項目に対応するデータが予め記載され、名称が付与されている。ユーザが、たとえば、前記マウスを用いて全体作曲条件を選択するモードを選択し、そのモード時に表示される「全体作曲条件」欄をクリックすると、前記テンプレート名が並んだポップアップメニューが表示される。この中から、ユーザがいずれかのテンプレート名を選択すると、その名称に対応するテンプレートに記載されている全体作曲条件が設定される。なお、作曲条件の各項目を個別に修正または入力できるようにしてもよい。
このようにして設定された全体作曲条件のうち、楽節数、フレーズ数および小節数に基づいて、構成テンプレートデータベース31が検索され、当該条件に最も適合する構成テンプレートが選択されるか、または当該条件に適合する複数の構成テンプレートをユーザに提示し、いずれかをユーザに選択させる。ここで、構成テンプレートデータベース31は、たとえば、前記ハードディスク上に構築されたデータベースであり、複数の構成テンプレートから構成されている。そして、各構成テンプレートに記載される構成データには、たとえば、各楽節に設定される楽節記号(後述する図10参照)、サビ(bridge)楽節の位置および音節数等がある。なお、構成テンプレートデータベース31から検索された構成テンプレートの構成データが、ユーザの意図するものと異なる場合には、ユーザは、他の候補から好みのものを選択することも、また、検索された構成テンプレートの構成データのうち、一部のデータを編集することもできるように構成されている。
このようにして生成された構成データ(ただし、音節数は除く)および前記全体作曲条件で設定された拍子に基づいて、メロディテンプレート・データベース32が検索され、当該条件に最も適合したメロディテンプレートが選択される。メロディテンプレート・データベース32は、たとえば、上記構成テンプレートデータベース31と同様に、ハードディスク上に構築され、複数のメロディテンプレートから構成されている。各メロディテンプレートには、たとえば、メロディ骨格(本実施の形態では、全体骨格、楽節骨格およびフレーズ骨格からなり、全体骨格を最上位の階層として、以下、楽節骨格、フレーズ骨格の順で下位の階層になっている)、コード進行、メロディピッチおよびメロディ打点等の各データが記載されており、該各メロディテンプレートに記載のデータは、それぞれ、このままでも(すなわち、後述するように各種の変形を施さなくても)十分演奏可能なものとなっている。上述のようにして、メロディテンプレートが1つ検索されると、そのメロディテンプレートに記載された各データが設定(入力)される。なお、メロディテンプレートも、構成テンプレートと同様に、検索されたものがユーザの意図と異なるものであるときには、他の候補から好みのものを選択することができる。
このようにして、メロディテンプレートに記載された各データが入力されると、その中のピッチデータは、前記全体作曲条件で設定された調に応じて、移調や平行調への変換がなされ、その結果が、図3のメロディテンプレート変形処理部33に供給される。また、ピッチデータ以外のデータは、そのままメロディテンプレート変形処理部33に供給される。
メロディテンプレート変形処理部33は、図3に示すように、リズムパターンデータ変形処理部33aと、コードデータ変形処理部33bと、骨格データ変形処理部33cと、メロディピッチデータ変形処理部33dとによって構成されている。
リズムパターンデータ変形処理部33aは、検索されたメロディテンプレート中のリズムパターンがユーザの意図と異なる場合に、ユーザが設定した各種条件(その項目は、たとえば、アウフタクト(弱起)の有無、シンコペーションの有無、ハネ(付点音符)の有無、開始音長の長短、コンプレックス(難易度)のレベル等)に基づいて、リズムパターン特徴連結テーブル(上記各項目に対するデータ、すなわちリズムパターンの特徴を1小節毎に設定し、曲全体に亘って連結して構成したテーブル)を生成し、新たな打点データ(リズムパターンデータ)を生成する。打点とは、メロディの発音タイミングであり、1小節中の打点数は1小節中の音節数に相当する。このリズムパターン特徴連結テーブルの各特徴連結データに基づいて、リズムパターンデータベース34が検索されて、1小節分のリズムパターンが選択される。そして、各小節のリズムパターンを曲全体に亘ってつなぎ合わせることにより、曲全体のリズムパターンデータが生成される。
また、ユーザが設定した音節数と前記選択されたメロディテンプレートの打点数とが異なる場合(前述のように、メロディテンプレートの検索には、音節数の情報は参照されないので、このような場合が生ずる)、またはユーザが設定した音節数と前記生成された曲全体のリズムパターンデータの打点数とが異なる場合に、音節数合わせがなされる。この音節数合わせにおいては、置き換えられるメロディテンプレート中のリズムパターン、または生成されたリズムパターンの特徴と同じ特徴を持ち、音節数の異なる他のリズムパターンを、リズムパターンデータベース34を検索することにより選択し、音節数の増減を伴ったリズムパターンの置き換えを行う。
なお、ユーザが、マニュアル操作によって打点の時間軸移動や打点の増減を行う編集機能も設けられ、これにより、打点の時間軸が移動したり、その数が変わったときには、リズムパターンデータ変形処理部33aは、対応するリズムパターンデータを変形する。
コードデータ変形処理部33bは、前記選択されたメロディテンプレートのコード進行がユーザの意図と異なる場合に、ユーザの編集指示に応じて、コードデータの変形を行う。
骨格データ変形処理部33cは、前記選択されたメロディテンプレートの各階層の骨格データを、それぞれ個別に変形する処理と、すべての階層の骨格データに対して一括の編集処理とを行う。
メロディピッチデータ変形処理部33dは、前記選択されたメロディテンプレートのメロディピッチデータを、ユーザが設定したダイナミクス、非コード音頻度および音楽ルールに基づいて、音楽ルールデータベース35を参照しながら変形する。さらに、ユーザが、マニュアル操作によって打点の音階軸移動を指示したときには、それに応じたメロディピッチデータの変形も行う。この変形は、本実施の形態では、通常小節とピックアップ小節とで個別に行われるため、音楽ルールデータベース35は、通常小節用とピックアップ小節用の2種類のデータベースによって構築されている。
このようにして、リズムパターンデータ変形処理部33aでは、リズムパターンデータの変形処理が、骨格データ変形処理部33cでは、全体骨格データ、楽節骨格データおよびフレーズ骨格データの各骨格データの変形処理が、メロディピッチデータ変形処理部33dでは、通常小節のメロディピッチデータおよびピックアップ小節のメロディピッチデータの変形処理が、それぞれ独立してなされる。これらの各変形処理に併せて、その処理結果(作曲の途中経過)が、前記表示装置9に表示される。
また、本実施の形態の自動作曲装置は、メロディピッチデータ変形処理部33dによって変形され生成されたメロディピッチデータ(楽音データ)を再生し演奏する機能に加えて、骨格データ変形処理部33cによって変形され生成された3階層の骨格データの楽音データを各階層毎に再生し演奏する機能を備えている。このため、ユーザがある階層の骨格演奏を指定すると、骨格データ変形処理部33cで変形された骨格データからその骨格に対応するピッチデータ(楽音データ)が読み出されて再生され、前記サウンドシステム17によって音響に変換される。一方、ユーザによってメロディ演奏が指示されると、上記変形されたメロディピッチデータからメロディに対応するピッチデータ(楽音データ)が読み出されて再生され、サウンドシステム17によって音響に変換される。
本発明は、メロディテンプレート変形処理部33が実行する上記3種類の主要な処理、すなわちリズムパターンデータ変形処理、骨格データ変形処理およびメロディピッチデータ変形処理のうち、メロディピッチデータ変形処理にその特徴を有している。以下、まず、メロディピッチデータ変形処理の概要を説明し、次に、図4〜図15を参照して、メロディピッチデータ変形処理を詳細に説明する。
メロディピッチデータ変形処理は、次のようにして行われる。すなわち、
1)作曲すべき曲が通常小節のみによって構成されている場合
a)最小生成単位を1小節とし、当該1小節に与えられた最大2個の節点ピッチ、設定された作曲条件および当該小節のために別途生成されたリズムパターンに従ってメロディピッチを生成する
i)当該小節が同名・同類楽節内の小節のときには、参照小節と相似性を保って当該小節のメロディピッチを生成する
ii )当該小節が新規楽節内の小節のときには、新規に当該小節のメロディピッチを生成する
b)生成された1小節分のメロディピッチに音楽的評価を行い、その結果、音楽的評価を満足しない場合には、処理a)に戻って再度処理a)を行う一方、音楽的評価を満足した場合には、次の処理c)を行う
c)1小節に対するメロディピッチ生成処理a)を1フレーズ分繰り返し、当該フレーズのメロディピッチを生成する
d)生成された1フレーズ分のメロディピッチに音楽的評価を行い、その結果、音楽的評価を満足しない場合には、処理a)に戻って再度処理a),b)およびc)を行う一方、音楽的評価を満足した場合には、次の処理e)を行う
e)1フレーズに対するメロディピッチ生成処理c)およびd)を全フレーズ分繰り返し、曲全体のメロディピッチを生成する
2)作曲すべき曲にピックアップ小節(ある小節の後半に次フレーズに含まれる音が食い込んでいる場合、この食い込み部分を次フレーズのピックアップ小節と呼ぶ)が含まれている場合
a)通常小節に対しては、上記1)a)〜d)の処理を行い、その後、ピックアップ小節に対して次の処理を行う
b)当該ピックアップ小節のために別途生成されたリズムパターン、直前フレーズの最後打点ピッチ、当フレーズのピックアップ小節の次に位置する小節の先頭打点ピッチおよび当該ピックアップ小節の音節数に従って、当ピックアップ小節に対するピッチカーブを決定する
c)決定されたピッチカーブに沿って、当ピックアップ小節のメロディピッチを生成する
d)処理b)およびc)をすべてのピックアップ小節に対して個別に行う
e)処理a)によって生成された通常小節のメロディピッチに処理d)によって生成されたすべてのピックアップ小節のメロディピッチを結合して、曲全体のメロディピッチを生成する
ここで、「同名楽節」とは、当該楽節より前の楽節に同名の楽節記号が設定された楽節があるときの当該楽節をいい、「同類楽節」とは、当該楽節より前の楽節に同類(本実施の形態では、「′同類」と「″同類」の2種類がある)の楽節記号が設定された楽節があるときの当該楽節をいい、「新規楽節」とは、「同名楽節」または「同類楽節」のいずれでもない楽節をいう。そして、「楽節記号」とは、各楽節に設定され、各楽節相互の関係を示す記号(たとえば図10では、第1〜4楽節にそれぞれ設定された“A”,“A′”,“B”,“C”)をいう。図10の例では、「新規楽節」は、“A”,“B”および“C”が設定された第1、第3および第4楽節であり、「同類楽節」は、“A′”が設定された第2楽節である。なお、図10の例には、「同名楽節」は設定されていない。さらに、「参照小節」とは、参照楽節(対象楽節より前の同名または同類の楽節)の同番フレーズの同番小節をいう。
さらに、上記処理1)a)では、具体的に、次のようにして1小節のメロディピッチを生成する。すなわち、
1)最小限の作曲条件(たとえば、前記ダイナミクス)、音楽ルールおよび対象打点の直前打点のピッチに従って、比較的緩い条件で節点ピッチ以外のピッチを1打点ずつ順次決定する
2)1小節分のメロディピッチが生成されたときには、前記条件よりも若干厳しい音楽的評価(=前記1打点のピッチ決定の際の条件には含まれていなかった種類の作曲条件や音楽ルールをも満足するか否かの判定)を行い、音楽的評価を満足する場合は、生成された1小節分のメロディピッチを採用し、音楽的評価を満足しない場合は、最初の処理1)に戻って、当該小節のメロディピッチ生成を再度行う
3)上記処理1)c)によって、1フレーズ分のメロディピッチを生成し、処理1)d)によって、さらに厳しい音楽的評価(前記小節の音楽的評価には含まれていなかった種類の作曲条件や音楽ルールをも満足するか否かの判定)を行う
a)音楽的評価を満足する場合
生成された1フレーズ分のメロディピッチを採用する
b)音楽的評価を満足しない場合
i)個々の打点のピッチを修正することにより音楽的評価を満足することができる場合には、その修正を行う
ii )個々の打点のピッチを修正するのみでは音楽的評価を満足することができない、またはかなり多くの修正を必要とする場合には、最初の処理1)に戻って、当該フレーズの各小節毎のメロディピッチ生成を再度行う
次に、メロディピッチデータ変形処理を詳細に説明する。
図4は、通常小節メロディピッチ生成処理の詳細な手順を示すフローチャートであり、上記メロディピッチ変形処理1)を実現したものである。
同図において、まず、楽節数をカウントするために前記RAM7の所定領域に確保されたソフトカウンタである楽節カウンタを“1”に初期設定する(ステップS1)。
次に、フレーズ数をカウントするためにRAM7の所定領域に確保されたソフトカウンタであるフレーズカウンタを“1”に初期設定し(ステップS2)、同様に、小節数をカウントするためにRAM7の所定領域に確保されたソフトカウンタである小節カウンタを“1”に初期設定する(ステップS3)。
次に、当小節が新規楽節内の小節であるか否かを判別し(ステップS4)、新規楽節内の小節であるときには、当小節のメロディ新規作成処理サブルーチン(このサブルーチンは、後述する図6のフレーズ骨格節点を重要打点に割り当てる処理および図7の重要打点間の打点ピッチを生成する処理によって構成される)を実行した(ステップS5)後に、ステップS21に進む一方、新規楽節内の小節でないとき、すなわち同名・同類楽節内の小節であるときにはステップS6に進む。
ステップS6では、当小節の骨格は参照小節の骨格と同一であるか否かを判別し、同一のときにはステップS7に進み、当小節のコードは参照小節のコードと同一であるか否かを判別する。
ステップS7で、両小節のコードが同一のときにはステップS8に進む一方、前記ステップS6で両小節の骨格が同一でないとき、または、前記ステップS7で両小節のコードが同一でないときには前記ステップS5に進み、前記当小節のメロディ新規作成処理サブルーチンを実行する。
ステップS8では、両小節のリズムパターンが同一か否かを判別し、同一のときには、当小節のメロディを参照小節と同一とする(ステップS9)一方、同一でないときには、当小節と参照小節の同一打点のピッチは同一とし、新規打点のピッチは新たに生成した(ステップS10)後、ステップS21に進む。
ステップS5またはS10により1小節分のメロディピッチが生成された後、ステップS21では1小節分のメロディピッチの音楽的評価サブルーチン(その一例は、図9を用いて後述する)を実行する。続くステップS22では、生成された1小節分のメロディピッチがステップS21の音楽的評価を満足しているか否を判別し、満足している場合には、ステップS11に進み、満足していない場合には、ステップS4に戻って当該小節のメロディピッチの生成をやり直す。 続くステップS11では、全小節に対して、ステップS4〜S10の処理を終了したか否かを判別し、まだ処理すべき小節が残っているときには、小節カウンタを“1”だけインクリメントした(ステップS12)後に前記ステップS4に戻って上述の処理を繰り返す一方、全小節に対して処理を終了したときにはステップS13に進む。
ステップS13では、音楽的評価処理サブルーチン(その一例は、図8を用いて後述する)を実行し、続く図5のステップS14では、音楽的評価を満足しているか否かを判別する。
ステップS14で、音楽的評価を満足していないときには、ステップS15で、修正可能か否かを判別する。ここで、修正可能か否かの判別は、たとえば次のようにして行う。
すなわち、音楽的評価を満足させるために修正すべき小節数が所定個以上、または修正すべき打点数が所定個以上あれば修正不可能(所定個未満であれば修正可能)と判断する。または、ある小節やある打点について音楽的評価を満足させるための修正を行った場合に、新たな音楽的不具合が生じたときには修正不可能(音楽的不具合が生じないときには修正可能)と判断する。なお、これら以外の判断基準により修正可能か否かを判別するようにしてもよい。
このステップS15での判別の結果、修正可能であるときには、音楽ルールに従って修正が必要な小節の打点のピッチを修正する(ステップS16)。そして、全フレーズに対して、前記ステップS3〜S16の処理を終了したか否かを判別し(ステップS17)、まだ処理すべきフレーズが残っているときには、フレーズカウンタを“1”だけインクリメントした(ステップS18)後に前記ステップS3に戻り、上述の処理を繰り返す。
一方、ステップS14で、音楽的評価を満足しているときには、ステップS15およびS16をスキップしてステップS17に進む。さらに、ステップS15で、修正可能でないときには、前記ステップS3に戻って、再度当フレーズの全小節に対するメロディピッチ生成処理を再度行う。
続くステップS19では、全楽節に対して、前記ステップS2〜S18の処理を終了したか否かを判別し、まだ処理すべき楽節が残っているときには、楽節カウンタを“1”だけインクリメントした(ステップS20)後に、前記ステップS2に戻り、上述の処理を繰り返す一方、全楽節に対して処理を終了したときには、本通常小節メロディピッチ生成処理を終了する。
図6は、前記ステップS5の当小節のメロディ新規作成処理サブルーチンを構成するフレーズ骨格節点を重要打点に割り当てる処理の詳細な手順を示すフローチャートである。ここで、フレーズ骨格節点とは、前記骨格データ変形処理部33cによって変形され生成された、フレーズ骨格を形成する節点をいい、その節点の個数は、本実施の形態では、各小節毎に最大2個とする。
以下、本フレーズ骨格節点を重要打点に割り当てる処理を、フローチャートに基づいて詳細に説明する前に、そのアルゴリズムを説明する。
本処理は、次のようなアルゴリズムによって構成されている。すなわち、
1)フレーズ骨格節点の重要打点への割り当ては、通常小節についてのみ行い、ピックアップ小節については行わない
2)フレーズ骨格節点は、本実施の形態では、1小節に対して2つ生成するようにしているので、1小節に対して2つの重要打点(第1および第2重要打点)を検出し、各重要打点に対してそれぞれ生成したフレーズ骨格節点を割り当てる(ただし、音節数が“0”の小節には、そもそも重要打点がないので、本処理を行わず、音節数が“1”の小節には、重要打点が1つしかないので、この1つの重要打点に対して生成したフレーズ骨格節点の1つを割り当てる)
第1重要打点は、次のようにして検出する。すなわち、
1)優先順位1:原則として、小節の先頭打点を第1重要打点として検出する
2)優先順位2:小節の先頭打点が短音で、第2打点が長音の場合には、その第2打点を第1重要打点として検出する
第2重要打点は、次のようにして検出する。すなわち、
1)優先順位1:当小節がフレーズの最後小節の場合には、当小節の最後打点を第2重要打点として検出する
2)優先順位2:第3拍目の打点を第2重要打点として検出する
3)優先順位3:第3拍目の打点の直前または直後の打点を第2重要打点として検出する
4)優先順位4:長音が割り当てられている打点を第2重要打点として検出する
次に、本フレーズ骨格節点を重要打点に割り当てる処理を、フローチャートに基づいて説明する。
図6において、まず、当小節がピックアップ小節であるか否かを判別し(ステップS31)、ピックアップ小節でないとき、すなわち通常小節のときには、当小節の音節数が“0”であるか否かを判別する(ステップS32)。
ステップS32で、当小節の音節数≠0のときには、上記優先順位に従って当小節のリズムパターンの第1重要打点を検出し(ステップS33)、次いでフレーズ骨格の第1節点ピッチを第1重要打点に割り当てる(ステップS34)。
一方、ステップS31で当小節がピックアップ小節であるとき、または、ステップS32で当小節の音節数=0のときには、本フレーズ骨格節点を重要打点に割り当てる処理を終了する。
続くステップS35では、当小節の音節数が“1”であるか否かを判別し、当小節の音節数=1のときには、本フレーズ骨格節点を重要打点に割り当てる処理を終了する一方、当小節の音節数≠1のときには、前記優先順位に従って当小節のリズムパターンの第2重要打点を検出し(ステップS36)、次いでフレーズ骨格の第2節点ピッチを第2重要打点に割り当てた(ステップS37)後に、本フレーズ骨格節点を重要打点に割り当てる処理を終了する。
図10は、通常小節に対して生成されたメロディピッチの一例を示す図である。図中、塗りつぶされた四角形と白抜きされた四角形の2種類の四角形が記載されている。塗りつぶされた四角形は、上述のようにして、当該小節内の重要打点として検出され、フレーズ骨格の節点ピッチが割り当てられた打点を示している。白抜きされた四角形は、次に示す重要打点間の打点ピッチを生成する処理によってピッチが生成された打点を示している。
このように、フレーズ骨格の節点ピッチが重要打点のピッチに割り当てられるので、生成されるメロディに骨格を反映することができる。
図7は、前記ステップS5の当小節のメロディ新規作成処理サブルーチンを構成する重要打点間の打点ピッチを生成する処理の詳細な手順を示すフローチャートである。本処理を、フローチャートに基づいて詳細に説明する前に、そのアルゴリズムを説明する。
本処理は、次のようなアルゴリズムによって構成されている。すなわち、
1)重要打点間の打点ピッチの生成は、通常小節についてのみ行い、ピックアップ小節については行わない
2)重要打点間を1区間として、当該区間中まだピッチが生成されていない打点(重要打点以外の打点)のピッチを生成する
3)当小節の全区間に対して、処理2)を実行する
上記処理2)は、具体的には、次のようにして行う。すなわち、
1)当区間の先頭節点ピッチと最後節点ピッチとを取得する
2)処理1)によって取得された先頭節点ピッチ、最後節点ピッチおよび前記設定されたダイナミクスによって当区間の最高音リミットと最低音リミットとを決定する
3)その最高音リミットと最低音リミットとの間で、まだピッチが生成されていない打点のピッチを順にランダムに決定して行く
次に、本重要打点間の打点ピッチを生成する処理を、フローチャートに基づいて説明する。
図7において、まず、当小節がピックアップ小節であるか否かを判別し(ステップS41)、ピックアップ小節のときには、本重要打点間の打点ピッチを生成する処理を終了する一方、ピックアップ小節でなく通常小節のときにはステップS42に進む。
ステップS42では、当小節の音節数が“0”であるか否かを判別し、当小節の音節数=0のときには、本重要打点間の打点ピッチを生成する処理を終了する一方、当小節の音節数≠0のときにはステップS43に進む。
ステップS43では、区間数をカウントするためにRAM7の所定領域に確保されたソフトカウンタである区間カウンタを“1”に初期設定し、続くステップS44では、当区間の先頭節点ピッチと最後節点ピッチを取得する。
そして、このようにして取得された当区間の先頭節点ピッチ、最後節点ピッチおよび設定されたダイナミクスに基づいて、当区間の最高音リミットと最低音リミットを決定する(ステップS45)。
図11は、当区間の最高音リミットと最低音リミットを決定する処理を説明するための図である。当区間、すなわち先頭節点ピッチp1および最後節点ピッチp2間の区間の最高音リミットと最低音リミットは、図中、網掛けされた領域で示されるように、設定されたダイナミクスの値に応じて決定する。すなわち、
(a)ダイナミクス=0:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)に決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)に決定する
(b)ダイナミクス=1:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)より、たとえば1度低いピッチに決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)より、たとえば1度高いピッチに決定する
(c)ダイナミクス=2:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)より、たとえば3度低いピッチに決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)より、たとえば3度高いピッチに決定する
(d)ダイナミクス=3:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)より、たとえば5度低いピッチに決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)より、たとえば5度高いピッチに決定する
図7に戻り、当区間の打点数をカウントするためにRAM7の所定領域に確保されたソフトカウンタである打点カウンタを“1”に初期設定する(ステップS46)。
次に、当区間の最高音リミットと最低音リミットの音域内で、当打点のピッチをランダムに決定する(ステップS47)。ただし、この場合のランダムとは、次のように条件付きランダムである。すなわち、
(a)ダイナミクス=0:当打点と直前打点との音程が±3度以内となるように、当打点のピッチをランダムに決定する
(b)ダイナミクス=1:当打点と直前打点との音程が±4度以内となるように、当打点のピッチをランダムに決定する
(c)ダイナミクス=2:当打点と直前打点との音程が±4度以内となるように、当打点のピッチをランダムに決定する
(d)ダイナミクス=3:当打点と直前打点との音程が±8度以内となるように、当打点のピッチをランダムに決定する
続くステップS48では、当区間の全打点に対してステップS47の処理を終了したか否かを判別し、処理すべき打点がまだ残っているときには、打点カウンタを“1”だけインクリメントした(ステップS49)後に、前記ステップS47に戻って上述の処理を繰り返し、全打点に対して処理を終了したときにはステップS50に進む。
ステップS50では、全区間に対して、ステップS44〜S49の処理を終了したか否かを判別し、処理すべき区間が残っているときには、区間カウンタを“1”だけインクリメントした(ステップS51)後に、前記ステップS44に戻り、上述の処理を繰り返す一方、全区間に対して処理を終了したときには、本重要打点間の打点ピッチを生成する処理を終了する。
次に、前記ステップS13のフレーズの音楽的評価処理サブルーチンで実行される音楽的評価を説明する。音楽的評価の例としては、次のものがある。すなわち、
1)長調のIコードまたは短調のIIIコードの第4音(アボイド・ノート)は、順次進行以外禁止になっているか
2)フレーズ最後のV7コードからIコードへの進行時、終止感を重視したメロディの流れとなっているか
3)非コード音からの3度以上の跳躍は抑制されているか
4)メジャーコード内の5th→7th→1stまたは1st→7th→5thの進行は禁止となっているか
5)3度以上の跳躍が連続する場合には、コード音となっているか
6)3打点で5度以上跳躍する場合には、後半2打点がコード音となっているか
7)ドリアンスケールの6th音は、順次進行以外禁止になっているか
図8は、上記音楽的評価例1)に基づいて音楽的評価を行うフレーズの音楽的評価処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、当フレーズの調が長調であるか否かを判別し(ステップS61)、長調でないときには、本フレーズの音楽的評価処理を終了する一方、長調のときにはステップS62に進む。
ステップS62では、打点カウンタを“1”に初期設定し、続くステップS63では、直前打点、当打点および直後打点の各ピッチを取得する。
そして、ステップS63で取得した3打点のコードは“I”であるか否かを判別し(ステップS64)、I のときには、当打点が第4音であるか否かを判別する(ステップS65)。
ステップS65で、当打点が第4音のときには、上記3打点は順次進行か否かを判別する(ステップS66)。その結果、順次進行のときにはステップS67に進み、全打点に対して前記ステップS63〜S66の処理を終了したか否かを判別し、処理すべき打点が残っているときには、打点カウンタを“1”だけインクリメントした(ステップS68)後に、前記ステップS63に戻って上述の処理を繰り返す一方、全打点に対して処理を終了したときには、評価を合格として(ステップS69)、本フレーズの音楽的評価処理を終了する。
一方、ステップS64で、3打点のコードが“I”でないとき、または、ステップS65で、当打点が第4音でないときには、ステップS66をスキップしてステップS67に進む。
さらに、ステップS66で、3打点が順次進行でないときには、評価を不合格として(ステップS70)、本フレーズの音楽的評価処理を終了する。
次に、前記ステップS21の小節の音楽的評価処理サブルーチンで実行される音楽的評価の例を説明する。小節の音楽的評価としては、当該小節内で完結する条件(前後の小節との関連性がない条件)が適する。たとえば、当該小節内に含まれる非コード音の頻度や、当該小節内に含まれる音の音域(最低音から最高音までの幅)などがある。
図9は、前記設定された非コード音頻度(図3参照)のレベルに基づいて音楽的評価を行った小節の音楽的評価処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、当フレーズ内の非コード音の数を検出し、当フレーズ内の全打点に対する頻度(%)を算出する(ステップS81)。
次に、非コード音設定レベルを判別し、次のように分岐する。すなわち、
1)非コード音設定レベル=0;ステップS82→S87
2)非コード音設定レベル=1;ステップS82→S83→S88
3)非コード音設定レベル=2;ステップS82→S83→S84
ステップS87では、非コード音の頻度が0%であるか否かを判別し、頻度=0のときには、評価を合格とする(ステップS85)一方、頻度≠0のときには、評価を不合格とする(ステップS86)。
ステップS88では、非コード音の頻度が20〜50%であるか否かを判別し、20≦頻度≦50のときには、評価を合格とする(ステップS85)一方、頻度<20または50<頻度のときには、評価を不合格とする(ステップS86)。
ステップS84では、非コード音の頻度が51%以上であるか否かを判別し、頻度≧51のときには、評価を合格とする(ステップS85)一方、頻度<51のときには、評価を不合格とする(ステップS86)。
図12は、ピックアップ小節メロディピッチ生成処理の詳細な手順を示すフローチャートであり、前記メロディピッチ変形処理2)b)〜d)を実現したものである。
同図において、まず、前記ステップS1と同様にして、楽節カウンタを“1”に初期設定し(ステップS91)、前記ステップS2と同様にして、フレーズカウンタを“1”に初期設定する(ステップS92)。
次に、当フレーズにピックアップ小節があるか否かを判別し(ステップS93)、ピックアップ小節がないときにはステップS106に進み、ステップS106〜S109で、前記ステップS17〜S20と同様の処理を実行する一方、ピックアップ小節があるときには、図13のステップS94に進む。
ステップS94では、当楽節が新規楽節か否かを判別し、新規楽節のときには、当ピックアップ小節のピッチカーブを、作曲条件や音域等に従ってランダムに選択した(ステップS95)後にステップS101に進み、当ピックアップ小節のメロディを、選択されたピッチカーブと設定されたコードに従って生成する。
図14は、選択される各種ピッチカーブの一例を示す図であり、これら各種ピッチカーブは、たとえば前記図3の音楽ルールデータベース35に予め登録されている。
上記ステップS95の処理では、図14のような各種ピッチカーブから設定された作曲条件や音域等に応じて選択された複数個の候補から、ランダムに1つが選択される。たとえば、前フレーズの最後音から当フレーズの先頭音への進行パターン(作曲条件の一例)として、「上行進行」および「フレーズ先頭音へ順次進行」が設定されているときには、ピッチカーブは、「順次上行進行」中のパターン番号010のピッチカーブおよび「アルペジック上行進行」のパターン番号030のピッチカーブがその候補として選択され、そのうち1つのピッチカーブがランダムに選択されて、当小節のピッチカーブに決定される。
図13に戻り、ステップS94で、当楽節が新規楽節でないとき、すなわち同名・同類楽節のときには、参照小節と音節数が同一であるか否かを判別する(ステップS96)。その結果、音節数が同一のときには、当ピックアップ小節のピッチカーブを参照小節と同一のピッチカーブとした(ステップS97)後に、ステップS99に進む一方、音節数が異なっているときには、音節数等に従って、参照小節と相似のピッチカーブを選択して当ピックアップ小節のピッチカーブとした(ステップS98)後に、前記ステップS101に進む。
ステップS99では、参照小節とコードが同一か否かを判別し、コードが同一のときには、当ピックアップ小節のメロディを参照小節と同一にする(ステップS100)一方、コードが異なっているときにはステップS101に進み、前述のように、当ピックアップ小節のメロディを、選択されたピッチカーブと設定されたコードに従って生成する。
続くステップS102では、前記ステップS13と同様にして、音楽的評価を行い、その結果、当フレーズが音楽的評価を満足しているか否かを判別する(ステップS103)。
ステップS103以降の処理は、前記ステップS14以降の処理と同様であるので、その説明を省略する。
このように、本実施の形態では、緩い第1のメロディ生成条件、すなわち設定されたダイナミクスや音節数等でフレーズ全体のメロディピッチを生成した(特に、ステップS5の当小節のメロディ新規作成処理における処理)後、生成されたメロディピッチを、より厳しい第2のメロディ生成条件、すなわち各種音楽ルールによって評価する(特に、ステップS13の音楽的評価処理における処理)ようにしたので、ある音高(ピッチ)に着目したとき、過去の音高だけでなく次の音高をも考慮して音楽的に満足するか否かを判断することができ、したがって、曲全体に亘って音楽的に不都合のない曲を作曲することができる。さらに、第1段階として、緩いメロディ生成条件に合致した音高のみが採用されたメロディが生成されているので、第2段階の評価で不合格になる確率が低く、効率のよいメロディ生成を行うことができる。
また、厳しいメロディ生成条件で評価した結果、合格したものは採用する一方、不合格したものであっても、修正できるものであれば、修正して採用し、修正できないものであれば、はじめに戻ってメロディピッチの再生成を行うようにしたので、不合格のメロディであっても多少の修正により合格する可能性があり、したがって、効率のよいメロディ生成を行うことができる。
さらに、通常小節のメロディピッチとピックアップ小節のメロディピッチとを個別に生成するようにしたので、多彩で音楽的に満足するピックアップ小節のメロディを生成することができる。
図15は、前記表示装置9上に表示されたメロディピッチの一例であり、上述のようにして、生成されたメロディピッチをピアノロール譜状に表示したものである。
一般的なピアノロール譜は、半音を含んだ1オクターブ12音表示としているが、本実施の形態では、同図に示すように、調の音階音のみの1オクターブ7音表示とし、別途に#/♭の選択表示欄(上段が#を示し、下段が♭を示す)を設け、表示スペースを節約するとともに、表示したメロディのメロディラインを見易くしている。特に、#/♭の有無により、メロディのピッチが調の音階音であるか否かが一目で分かる。また、フレーズ区間を非小節単位の黒塗りのバーで表示して、フレーズ単位でのメロディラインを一層見易くしている。これにより、特に曲にピックアップ小節(小節“0”で示されている)が含まれているときには、ユーザはフレーズの始まりと終わりとを容易に認識することができる。なお、図15では、図面上の制約から、バーの色は黒としたが、実際にはこれに限らず、どのような色で表示してもよい。
また、同図においては縦軸のメモリの表示を“C5”,“B5”等の音高で表示したが、ドレミファソラシドの階名で表示してもよく、調が変わっても表記が変化しない移動ド唱法で表示すれば、どの調であっても常にわかりやすい表示がなされる。また、曲の途中で転調があり、1つの表示画面上で複数の調が存在する場合、縦軸のメモリの表示を該転調位置にも表示するようにしてもよい。
なお、生成されたメロディピッチをこのピアノロール譜上で編集してもよい。たとえば、マウスのドラッグ操作等により打点の位置や打点のピッチを修正できるようにしてもよく、またはマウスのクリック操作等により打点の位置や打点のピッチを修正できるようにしてもよく、またはマウスのクリック操作等により#/♭の付与や消去ができるようにしてもよい。
なお、本実施の形態では、メロディ骨格データをテンプレート中に記憶し、必要に応じて変形をした後に該メロディ骨格データのピッチを重要打点に割り当てるようにしたが、これに限らず、所定のアルゴリズムに基づいてメロディ骨格データを生成し、必要に応じて変形をした後に、該メロディ骨格のピッチを重要打点に割り当てるようにしてもよい。また、変形の際は、所定アルゴリズムに基づいて変形を施してもよいし、ユーザの操作(たとえば、メロディ骨格データを表示画面に表示しておき、該表示画面上でマウスのドラッグ操作を行う等)により変形を施してもよい。
また、本実施の形態では、全体骨格、楽節骨格、フレーズ骨格という階層構造をもつメロディ骨格データを基にメロディピッチデータを生成するようにしたが、このような階層構造を持たないメロディ骨格データ、たとえばフレーズ骨格データのみを1曲分持ったものを基にメロディピッチデータを生成するようにしてもよい。
次に、他の実施の形態に係る自動作曲装置を説明する。
前記実施の形態では、重要打点間の打点ピッチを生成するときに、先頭節点ピッチと最後節点ピッチの音程が小さい(極端には、音程が“0”)場合には、当区間の最高音リミットと最低音リミットの幅が狭く決定されるため、生成される打点ピッチ間の音程は小さくなり過ぎ、この結果、単調なメロディしか得られなくなってしまう。これを補うために、当区間の最高音リミットと最低音リミットの幅を単純に広げると、今度は逆に先頭節点ピッチと最後節点ピッチの音程が大きい場合に、当区間の最高音リミットと最低音リミットの幅が広くなり過ぎてしまう。本実施の形態は、この不具合を解消するためになされている。
本実施の形態の自動作曲装置は、前記実施の形態の自動作曲装置に対して、重要打点間の打点ピッチを生成する処理(図7参照)の一部、すなわち、同図のステップS45中の「当区間の最高音リミットと最低音リミットを決定する」方法が異なっている。より具体的には、前記実施の形態では、前述したように、当区間の先頭節点ピッチおよび最後節点ピッチの各値とダイナミクスに応じて当区間の最高音リミットと最低音リミットが決定されるのに対して、本実施の形態では、先頭節点ピッチおよび最後節点ピッチの各値とダイナミクスに、先頭節点ピッチと最後節点ピッチの音程を加味し、これらに応じて当区間の最高音リミットと最低音リミットが決定される点が異なっている。
本実施の形態の重要打点間の打点ピッチを生成する処理は、図7のステップS45を図16のステップS45aおよびS45bで置き換えることにより実現できる。すなわち、図16において、まず、先頭節点ピッチと最後節点ピッチとの音程Pdifを算出し(ステップS45a)、この算出された音程Pdifと、先頭節点ピッチと、最後節点ピッチと、設定されたダイナミクスにより当区間の当区間の最高音リミットと最低音リミットを決定する(ステップS45b)。
図17は、当区間の最高音リミットと最低音リミットを決定する処理を説明するための図であり、前記図11に対応するものである。当区間、すなわち先頭節点ピッチp1および最後節点ピッチp2間の区間の最高音リミットと最低音リミットは、図中、網掛けされた領域で示されるように、音程Pdif(=|p2−p1|;単位は度数)と設定されたダイナミクスの値に応じて決定する。すなわち、
1)Pdif≦2
a)ダイナミクス=0:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)より、たとえば3度低いピッチに決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)より、たとえば3度高いピッチに決定する
b)ダイナミクス=1:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)より、たとえば4度低いピッチに決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)より、たとえば4度高いピッチに決定する
c)ダイナミクス=2:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)より、たとえば5度低いピッチに決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)より、たとえば5度高いピッチに決定する
2)2<Pdif≦5
a)ダイナミクス=0:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)より、たとえば2度低いピッチに決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)より、たとえば2度高いピッチに決定する
b)ダイナミクス=1:上記1)a)と同様(ただし、決定された最低音リミットおよび最高音リミットの各値は、上記1)a)で決定された各値と異なっている。以下同様)
c)ダイナミクス=2:上記1)b)と同様
3)5<Pdif
a)ダイナミクス=0:最低音リミットは先頭節点ピッチまたは最後節点ピッチのいずれかピッチの低い方(図示例では、先頭節点ピッチp1)に決定し、最高音リミットは残りの一方(図示例では、最後節点ピッチp2)に決定する
b)ダイナミクス=1:上記2)a)と同様
c)ダイナミクス=2:上記1)a)と同様
このように、本実施の形態では、特に先頭節点ピッチと最後節点ピッチの音程に応じて、最高音リミットと最低音リミットの幅を決定するようにしたので、ユーザが意図する重要打点間の打点ピッチを生成することができる。
なお、最高音リミットからの拡大幅と最低音リミットからの拡大幅を同一としたが、異ならせてもよい。
なお、本実施の形態では、当区間の最高音リミットと最低音リミットを決定するときに、設定されたダイナミクス値をそのまま使用している(図16のステップ45b参照)が、これに限らず、算出された音程Pdifに応じてダイナミクス値を変更(後述する図18のステップS202参照;すなわち、音程Pdifが小さい場合、ダイナミクス値を設定値より大きく変更)し、この変更されたダイナミクス値、先頭節点ピッチおよび最後節点ピッチに応じて、当区間の最高音リミットと最低音リミットを決定するようにしてもよい。このようにしても、ほぼ同等の効果が得られる。
次に、さらに他の実施の形態の自動作曲装置を説明する。
前記各実施の形態では、重要打点間の打点ピッチを生成するときに、当区間に含まれる音節数が多く、かつ、当区間の最高音リミットと最低音リミットの幅が狭い場合には、同一ピッチの打点が多く生成されてしまい、この結果、単調なメロディしか得られなくなってしまう。本実施の形態は、この不具合を解消するためになされている。
本実施の形態の自動作曲装置は、前記実施の形態の重要打点間の打点ピッチを生成する処理(図7参照)に図18の処理を追加することによって実現される。具体的には、図7の重要打点間の打点ピッチを生成する処理のステップS44とステップS45の間に、図18のステップS200〜S202の処理を追加する。
図18において、ステップS200では、当区間の音節数が4個以下であるか否かを判別し、音節数≦4のときには、何もせずにステップS45に進み、5≦音節数のときにはステップS201に進む。
ステップS201では、現在設定されているダイナミクスは、設定可能なダイナミクス値の最大値であるか否かを判別し、最大値でないときには、ダイナミクス値を“1”だけインクリメントした(ステップS202)後に、ステップS45に進む一方、最大値のときには、ステップS202をスキップしてステップS45に進む。
このように、本実施の形態では、当区間に含まれる音節数が多い場合にはダイナミクスの値を増加させるようにしたので、当区間の最高音リミットと最低音リミットの幅が広がり、この結果、異なるピッチの打点がより多く生成されるため、ユーザがより意図する重要打点間の打点ピッチを生成することができる。
なお、本実施の形態では、当区間に含まれる音節数が少ない場合であっても、ダイナミクスの値は変更されていないが、これに限らず、音節数が少ない(たとえば2個以下)場合には、ダイナミクスの値を減少させる(たとえば“−1”)ようにしてもよい。
また、ダイナミクスの増加減値は、本実施の形態では±1に固定的に設定されているが、これに限らず、たとえば音節数に応じて変化するようにしてもよいし、他の固定値(たとえば、±2または+2&−1)に設定するようにしてもよい。
また、前述の先頭節点ピッチと最後節点ピッチとの音程に応じて、最高音リミットや最低音リミットの幅を拡大したのと同様に、音節数の大小に応じて最高音リミット、最低音リミットの幅を拡大するようにしてもよい。
なお、上述した各実施の形態の機能を実現するソフトウェアのプログラムを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU5やMPU)が記憶媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは云うまでもない。
この場合、記憶媒体から読出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
プログラムを供給するための記憶媒体としては、たとえば、前記HDD11のハードディスク、CD−ROM21,MO,MD,フロッピー(登録商標)ディスク20、CD−R(CD- Recordable)、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、他のMIDI機器100や通信ネットワーク101を介してサーバコンピュータ102からプログラムが供給されるようにしてもよい。
また、コンピュータが読出したプログラムを実行することにより、上述した各実施の形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは云うまでもない。
さらに、記憶媒体から読出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU5などが実際の処理の一部または全部を行い、その処理によって上述した各実施の形態の機能が実現される場合も含まれることは云うまでもない。
本発明の一実施の形態に係る自動作曲装置の概略構成を示すブロック図である。 本実施の形態の自動作曲装置が実行する各種制御処理を視覚的に表した図である。 本実施の形態の自動作曲装置が実行する各種制御処理を視覚的に表した図である。 通常小節メロディピッチ生成処理の詳細な手順を示すフローチャートである。 通常小節メロディピッチ生成処理の詳細な手順を示すフローチャートである。 図4の当小節のメロディ新規作成処理サブルーチンを構成するフレーズ骨格節点を重要打点に割り当てる処理の詳細な手順を示すフローチャートである。 図4の当小節のメロディ新規作成処理サブルーチンを構成する重要打点間の打点ピッチを生成する処理の詳細な手順を示すフローチャートである。 図4のフレーズの音楽的評価処理サブルーチンの詳細な手順を示すフローチャートである。 図4の小節の音楽的評価処理サブルーチンの詳細な手順を示すフローチャートである。 通常小節に対して生成されたメロディピッチの一例を示す図である。 当区間の最高音リミットと最低音リミットを決定する処理を説明するための図である。 ピックアップ小節メロディピッチ生成処理の詳細な手順を示すフローチャートである。 ピックアップ小節メロディピッチ生成処理の詳細な手順を示すフローチャートである。 選択される各種ピッチカーブの一例を示す図である。 図1の表示装置上に表示されたメロディピッチの一例である。 他の実施の形態に係る自動作曲装置が実行する重要打点間の打点ピッチを生成する処理の一部の手順を示すフローチャートである。 他の実施の形態における当区間の最高音リミットと最低音リミットを決定する処理を説明するための図である。 さらに他の実施の形態に係る自動作曲装置が実行する重要打点間の打点ピッチを生成する処理の一部を示すフローチャートである。
符号の説明
2 パネルスイッチ(ピッチ範囲情報設定手段、音節数設定手段)、 5 CPU(メロディピッチ生成手段、骨格節点ピッチ生成手段、重要打点検出手段、割当手段、ピッチ差算出手段)、 9 表示装置

Claims (6)

  1. 対象曲に対してそのメロディピッチを生成するメロディピッチ生成手段と、
    前記対象曲の骨格を形成する骨格節点ピッチを生成する骨格節点ピッチ生成手段と、
    前記対象曲の重要打点を検出する重要打点検出手段と、
    該検出された重要打点に、前記生成された骨格節点ピッチを割り当てる割当手段と
    を有し、
    前記メロディピッチ生成手段は、前記割り当てられた骨格節点ピッチを保持しながらメロディピッチを生成することを特徴とする自動作曲装置。
  2. 前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定手段と、
    前記骨格節点ピッチ同士のピッチ差を算出するピッチ差算出手段と
    を有し、
    前記メロディピッチ生成手段は、前記算出されたピッチ差、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成することを特徴とする請求項1に記載の自動作曲装置。
  3. 前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定手段と、
    前記重要打点間の音節数を設定するための音節数設定手段と
    を有し、
    前記メロディピッチ生成手段は、前記設定された音節数、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成する
    ことを特徴とする請求項1に記載の自動作曲装置。
  4. 対象曲に対してそのメロディピッチを生成するメロディピッチ生成ステップと、
    前記対象曲の骨格を形成する骨格節点ピッチを生成する骨格節点ピッチ生成ステップと、
    前記対象曲の重要打点を検出する重要打点検出ステップと、
    該検出された重要打点に、前記生成された骨格節点ピッチを割り当てる割当ステップと
    を有する自動作曲方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、
    前記メロディピッチ生成ステップでは、前記割り当てられた骨格節点ピッチを保持しながらメロディピッチを生成することを特徴とする記憶媒体。
  5. 前記自動作曲方法は、さらに、
    前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定ステップと、
    前記骨格節点ピッチ同士のピッチ差を算出するピッチ差算出ステップと
    を有し、
    前記メロディピッチ生成ステップでは、前記算出されたピッチ差、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成する
    ことを特徴とする請求項4に記載の記憶媒体。
  6. 前記自動作曲方法は、さらに、
    前記重要打点間のメロディピッチを生成するときに生成後のメロディピッチが含まれるピッチ範囲を示すピッチ範囲情報を設定するピッチ範囲情報設定ステップと、
    前記重要打点間の音節数を設定するための音節数設定ステップと
    を有し、
    前記メロディピッチ生成ステップでは、前記設定された音節数、前記設定されたピッチ範囲情報および前記骨格節点のピッチに応じて、当該重要打点間のメロディピッチを生成する
    ことを特徴とする請求項4に記載の記憶媒体。
JP2004025990A 1998-09-09 2004-02-02 自動作曲装置および記憶媒体 Expired - Fee Related JP3835456B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004025990A JP3835456B2 (ja) 1998-09-09 2004-02-02 自動作曲装置および記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP25548798 1998-09-09
JP2004025990A JP3835456B2 (ja) 1998-09-09 2004-02-02 自動作曲装置および記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP02387799A Division JP3541706B2 (ja) 1998-09-09 1999-02-01 自動作曲装置および記憶媒体

Publications (2)

Publication Number Publication Date
JP2004171019A true JP2004171019A (ja) 2004-06-17
JP3835456B2 JP3835456B2 (ja) 2006-10-18

Family

ID=32715333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004025990A Expired - Fee Related JP3835456B2 (ja) 1998-09-09 2004-02-02 自動作曲装置および記憶媒体

Country Status (1)

Country Link
JP (1) JP3835456B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006267667A (ja) * 2005-03-24 2006-10-05 Yamaha Corp 音符情報表示装置及びプログラム
JP2007121935A (ja) * 2005-10-31 2007-05-17 Yamaha Corp 音楽素材編集方法及び音楽素材編集システム
JP2007193222A (ja) * 2006-01-20 2007-08-02 Casio Comput Co Ltd メロディ入力装置及び楽曲検索装置
JP2010008518A (ja) * 2008-06-24 2010-01-14 Sony Computer Entertainment Inc 音楽生成装置、音楽生成方法、及びプログラム
US8558100B2 (en) 2008-06-24 2013-10-15 Sony Corporation Music production apparatus and method of producing music by combining plural music elements
JP2016099446A (ja) * 2014-11-20 2016-05-30 カシオ計算機株式会社 自動作曲装置、方法、およびプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006267667A (ja) * 2005-03-24 2006-10-05 Yamaha Corp 音符情報表示装置及びプログラム
JP2007121935A (ja) * 2005-10-31 2007-05-17 Yamaha Corp 音楽素材編集方法及び音楽素材編集システム
JP4670591B2 (ja) * 2005-10-31 2011-04-13 ヤマハ株式会社 音楽素材編集方法及び音楽素材編集システム
JP2007193222A (ja) * 2006-01-20 2007-08-02 Casio Comput Co Ltd メロディ入力装置及び楽曲検索装置
JP2010008518A (ja) * 2008-06-24 2010-01-14 Sony Computer Entertainment Inc 音楽生成装置、音楽生成方法、及びプログラム
JP4651055B2 (ja) * 2008-06-24 2011-03-16 株式会社ソニー・コンピュータエンタテインメント 音楽生成装置、音楽生成方法、及びプログラム
US8558100B2 (en) 2008-06-24 2013-10-15 Sony Corporation Music production apparatus and method of producing music by combining plural music elements
JP2016099446A (ja) * 2014-11-20 2016-05-30 カシオ計算機株式会社 自動作曲装置、方法、およびプログラム
CN105632476A (zh) * 2014-11-20 2016-06-01 卡西欧计算机株式会社 自动作曲装置、方法

Also Published As

Publication number Publication date
JP3835456B2 (ja) 2006-10-18

Similar Documents

Publication Publication Date Title
JP3541706B2 (ja) 自動作曲装置および記憶媒体
US6395970B2 (en) Automatic music composing apparatus that composes melody reflecting motif
JP3557917B2 (ja) 自動作曲装置および記憶媒体
US8324493B2 (en) Electronic musical instrument and recording medium
JP2000089756A (ja) 自動作曲装置および記憶媒体
US6166313A (en) Musical performance data editing apparatus and method
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
JP3637775B2 (ja) メロディ生成装置と記録媒体
JP3533975B2 (ja) 自動作曲装置および記憶媒体
JP3698057B2 (ja) 自動アレンジ装置及び方法
JP3835456B2 (ja) 自動作曲装置および記憶媒体
JP3436377B2 (ja) 自動編曲装置および電子楽器
JP2011118218A (ja) 自動編曲システム、および、自動編曲方法
JP2900753B2 (ja) 自動伴奏装置
WO2021166745A1 (ja) アレンジ生成方法、アレンジ生成装置、及び生成プログラム
JP3623557B2 (ja) 自動作曲システムおよび自動作曲方法
JP3531507B2 (ja) 楽曲生成装置および楽曲生成プログラムを記録したコンピュータで読み取り可能な記録媒体
JP2638817B2 (ja) 伴奏ライン基音決定装置
JP3752859B2 (ja) 自動作曲装置と記録媒体
JPH05346781A (ja) 調検出装置および自動編曲装置
JP2004013170A (ja) 自動作曲装置、自動作曲方法および記憶媒体
JP3225935B2 (ja) 自動運指付け装置および記憶媒体
JPH11161267A (ja) 自動作曲装置および記録媒体
JP2572317B2 (ja) 自動演奏装置
JP4148184B2 (ja) 自動伴奏データ生成方法を実現するためのプログラムおよび自動伴奏データ生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060404

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060717

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120804

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130804

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees