JP3659220B2 - 自動メロディ生成装置および記録媒体 - Google Patents

自動メロディ生成装置および記録媒体 Download PDF

Info

Publication number
JP3659220B2
JP3659220B2 JP2001370631A JP2001370631A JP3659220B2 JP 3659220 B2 JP3659220 B2 JP 3659220B2 JP 2001370631 A JP2001370631 A JP 2001370631A JP 2001370631 A JP2001370631 A JP 2001370631A JP 3659220 B2 JP3659220 B2 JP 3659220B2
Authority
JP
Japan
Prior art keywords
pitch
melody
pitch pattern
pattern
determined
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.)
Expired - Fee Related
Application number
JP2001370631A
Other languages
English (en)
Other versions
JP2002202779A (ja
Inventor
栄一郎 青木
敏夫 杉浦
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 JP2001370631A priority Critical patent/JP3659220B2/ja
Publication of JP2002202779A publication Critical patent/JP2002202779A/ja
Application granted granted Critical
Publication of JP3659220B2 publication Critical patent/JP3659220B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、自動作曲に用いて好適な自動メロディ生成装置および記録媒体に関し、特に歌詞に応じたメロディを作成するために用いて好適な自動メロディ生成装置および記録媒体に関する。
【0002】
【従来の技術】
歌詞付きの楽曲を作詞・作曲する手順としては、作曲を先に行い曲に合わせて作詞を行う場合と、作詞を先に行い歌詞に合わせて作曲を行う場合とがある。特に曲(メロディ)を重視すべき場合は前者の手順が採られ、歌詞を重視すべき場合は後者の手順が採られる。また、作曲者の負担を軽減するために、自動作曲を行うための種々の自動メロディ生成装置が提案されている。これらの自動メロディ生成装置にあっては、ユーザの指定した種々の条件(例えば和音条件)に応じてメロディが生成される。
【0003】
【発明が解決しようとする課題】
しかし、従来の自動メロディ生成装置においては、メロディの生成に際して歌詞のことは全く考慮されていなかった。このため、先に作成された歌詞に対応したメロディを生成しようとする場合、自動生成されたメロディを大幅に変更する必要が生じ、きわめて繁雑かつ不便であった。
【0004】
この発明は上述した事情に鑑みてなされたものであり、歌詞に応じて生成されたメロディに対して各種の修正を自動的に行うことができる自動メロディ生成装置および記録媒体を提供することを目的としている。
【0005】
【課題を解決するための手段】
上記課題を解決するため請求項1記載の構成にあっては、メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、音域の幅を定める音域設定手段と、前記ピッチパターン音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形手段とを具備し、この伸長または圧縮されたピッチパターンを用いてメロディを生成することを特徴とする。
【0006】
また、請求項2記載の構成にあっては、メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、前記ピッチパターン記憶手段に記憶されたピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定手段が決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形手段と、このピッチパターン変形手段が求めたピッチパターンを用いてメロディを生成するメロディ生成手段とを具備することを特徴とする。
【0007】
さらに、請求項3記載の構成にあっては、請求項2記載の自動メロディ生成装置において、メロディ内の打点位置を示す打点情報を記憶する打点情報記憶手段を具備し、前記メロディ生成手段は前記ピッチパターンに基づいて、この記憶された打点情報が示す打点位置に対応する音高を得る音高計算手段具備することを特徴とする。
【0008】
また、請求項4記載の構成にあっては、メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、この終端ピッチ決定手段で決定された内容に従って、前記ピッチパターンを変形するピッチパターン変形手段と、この変形されたピッチパターンを用いてメロディを生成するメロディ生成手段とを具備し、前記メロディ生成手段は、前記メロディの打点位置を決定する打点決定手段と、前記ピッチパターンに基づいて、この決定された打点位置に対応する音高を得る音高計算手段と、前記音高計算手段によって得られた音高を音階上の音に修正する音高修正手段を具備することを特徴とする。
【0009】
さらに、請求項5記載の構成にあっては、請求項1乃至4の何れかに記載の自動メロディ生成装置において、生成されたメロデイに対して評価を行い、この評価結果に基づいて前記メロディのリズムあるいはピッチに対して適宜修正を行うメロディ修正手段を具備することを特徴とする。
【0010】
また、請求項6記載のコンピュータ読み取り可能な記録媒体は、コンピュータに、メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、音域の幅を定める音域設定処理と、前記読出処理にて読み出したピッチパターン音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形処理と、この伸長または圧縮されたピッチパターンを用いてメロディを生成するメロディ生成処理とを実行させるプログラムを記録したことを特徴とする。
【0011】
さらに、請求項7記載のコンピュータ読み取り可能な記録媒体は、コンピュータに、メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定処理と、前記読出処理にて読み出したピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定処理にて決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形処理と、このピッチパターン変形処理にて求めたピッチパターンを用いてメロディを生成するメロディ生成処理とを実行させるプログラムを記録したことを特徴とする。
【0012】
【発明の実施の形態】
1.実施形態の構成
以下、図面を参照してこの発明の一実施形態の自動メロディ生成システムについて説明する。
本実施形態のハードウエアは汎用パーソナルコンピュータによって実現され、ソフトウエア部分は当該汎用パーソナルコンピュータのアプリケーションソフトウエアの一つとして実現される。まず、図1を参照しハードウエア構成について説明する。なお、ソフトウエア構成については動作とともに説明する。
【0013】
図1において1はCPUであり、後述する処理プログラムに基づいて他の構成要素を制御する。2はRAM、3はROMであり、バス6を介してCPU1によってアクセスされる。ROM3にはイニシャルプログラムローダ等が記憶されている。4はハードディスクドライバであり、その内部には、オペレーティングシステム、アプリケーションソフトウエア、あるいは各種のデータを記憶したハードディスクが設けられている。
【0014】
これらのプログラムおよびデータは、必要に応じてRAM2上に展開される。本実施形態の自動メロディ生成システムについても、そのソフトウエア部分(動作プログラムや各種データ)は、アプリケーションソフトウエアの一つとしてハードディスクドライバ4内のハードディスクにインストールされている。このように、ハードディスクにソフトウエアをインストールしておくことにより、動作プログラムの追加やバージョンアップを容易に行うことができる。
【0015】
5はディスプレイであり、CPU1の制御の下、各種の情報を表示する。7はキーボード、8はマウスであり、ユーザの操作の下、CPU1に対して各種の指令を入力可能になっている。9は音源ボードであり、CPU1から供給された演奏情報に基づいて楽音信号を合成する。10はサウンドシステムであり、合成された楽音信号を発音する。
【0016】
2. 実施形態の動作
2.1 曲テンプレートの登録
本実施形態に係る自動メロディ生成システムは、歌詞やその他の音楽条件に応じて「曲テンプレート」なるものを選択し、この曲テンプレートに基づいてメロディを自動的に生成するものである。ここで、曲テンプレートのデータ構造を図4を参照し説明しておく。曲テンプレートの先頭アドレス(アドレス「0」)には、拍子(4/4,3/4等)が記憶される。
【0017】
次に、アドレス「1」には楽曲のジャンル(例えば8ビート)が記憶される。アドレス「2」には、メロディック/リズミックの区別が記憶される。「メロディック」とは、流れるようなメロディの意味であり、リズミックとは、きざむようなメロディの意味である。そして、アドレス「3」にはテンポ、アドレス「4」には音域の幅(最高音と最低音との差)、アドレス「5」には楽節数が各々記憶される。
【0018】
次に、アドレス「6」〜「6+楽節数×2」(図示の例ではアドレス「22」)の領域には、各楽節の形式記号が記憶される。形式記号は、アルファベットの大文字1文字、またはアルファベットの大文字1文字とダッシュ記号(「’」,「”」等)との組み合わせである。アルファベットの異なる楽節(例えばAとB)は、全く異なる楽節であることを示す。一方、アルファベットが同一でダッシュの有無またはダッシュ記号が相違する楽節(例えばA,A’およびA”)は、似てはいるが若干異なる楽節を示す。
【0019】
そして、次のアドレスより「楽節数×2」バイトの領域(図示の例ではアドレス「23」〜「39」)には、各楽節内のフレーズ数が記憶される。図示の例では全ての楽節についてフレーズ数は「2」になっている。これにより、曲テンプレート全体のフレーズ数は「16」になる。次のアドレスより「全フレーズ数×2」バイトの領域(同、アドレス「40」〜「72」)には、各フレーズにおける小節数が記憶される。図示の例では、全てのフレーズにおいて小節数は「2」になっている。
【0020】
また、次のアドレスより「楽節数×2」バイトの領域(同、アドレス「73」〜「89」)には、各楽節における小節数(同、全て「4」)が記憶される。なお、図4には特に表示されていないが、アドレス「90」以降には、当該曲テンプレートに係るメロディ・データが記憶される。メロディ・データは、「1」小節を「48」ステップに分割し、各楽音の音高を発生タイミング(ステップ番号)に対応させて記憶させたものである。
【0021】
具体的には、「1」小節あたり「48」ステップに対応して「48」バイトの記憶領域が確保され、発音タイミングに対応するアドレスには、音高が記憶されることになる。このように、楽節、フレーズ、小節およびメロディ・データは階層構造を有している。その様子を図5に示しておく。
【0022】
次に、曲テンプレートを実際に登録する動作について説明する。まず、自動メロディ生成システムのソフトウエアを立ちあげると、ディスプレイ5に図46に示すようなウィンドウが表示される。このウインドウのメニューバー101において「ファイル(F)」の部分をマウスでクリックすると、図47に示すように、メニューバー101の下方にリストボックス102が表示される。次に、ユーザがリストボックス102中の「曲テンプレートの作成」の部分をマウスでクリックすると、図2に示すプログラムが呼び出される。
【0023】
図において処理がステップSP201に進むと、図4に示す内容のうち「項目」に係る欄と、「データ」に係る欄とがディスプレイ5に表示される。なお、初期状態においては、「データ」に係る欄には何も表示されていない。そこで、ユーザは、「データ」に係る欄に必要な情報を書き込んでゆくことになる。
【0024】
何らかのデータが書き込まれると、処理はステップSP202に進み、書き込まれたデータがRAM2およびハードディスクの所定領域に転送される。すなわち、入力されたデータが、新たな曲テンプレートの内容として記憶されることになる。次に、処理がステップSP203に進むと、登録終了の指令がユーザによって行われたか否かが判定される。ここで「NO」と判定されると、処理はステップSP201に戻る。
【0025】
従って、図4の「項目」および「データ」に係る内容が再びディスプレイ5に表示されることになる。但し、既に登録されたデータについては、対応する「データ」欄にその内容が表示される。以下同様にして、ステップSP201〜SP203の処理が繰り返されることにより、曲テンプレートの内容が徐々に確定されてゆく。そして、必要な全てのデータが入力された後にユーザが所定の操作を行うと、ステップSP203において「YES」と判定され、曲テンプレート登録処理が終了する。
【0026】
本実施形態の自動メロディ生成システムにあっては、実際の作曲動作を行う前に、このような各種の曲テンプレートが予め多数作成されていなければならない。しかし、ソフトウエアの製造元等が標準的な曲テンプレートをユーザに提供することにより、ほとんどの場合はユーザが曲テンプレートを作成する必要はない。すなわち、一般的なユーザは、標準以外の曲テンプレートを所望する場合にのみ、かかる作業を行うことになる。なお、多数の曲テンプレートは、ハードディスクドライバ4内にハードディスクに記憶される。
【0027】
2.2 歌詞ファイルの入力
リストボックス102(図47参照)においてユーザが「歌詞の入力」の部分をマウスでクリックすると、テキストエディタが呼び出され、歌詞を入力することが可能になる。ここで、歌詞は楽節毎に区切られ、各楽節はフレーズ毎に区切られる。
【0028】
本実施形態においては、フレーズの区切りは「改行」、楽節の区切りは「連続した2個の改行」によって指定されることとする。すなわち、一般的なテキストエディタにあっては、楽節の区切りは空行によって表示されることになる。このようにして入力された歌詞をディスプレイ5に表示した例を図6に示す。入力された歌詞は、ユーザの操作の下、歌詞ファイルとしてハードディスクに記憶される。
【0029】
2.3 スタイル設定
2.3.1 歌詞に基づくスタイルの検出
リストボックス102においてユーザが「作曲処理」の部分をマウスでクリックすると、図3に示すプログラムが起動される。図において処理がステップSP301に進むと、「歌詞ファイルを指定してください」というメッセージとともに、ファイル指定用の画面が表示される。
【0030】
この「ファイル指定用の画面」は各種のアプリケーションソフトウエアで用いられているものと同様である。ユーザが歌詞ファイルを指定すると、この歌詞ファイルがハードディスクから読み込まれる。次に、処理がステップSP302に進むと、読み込まれた歌詞に基づいて、当該楽曲のスタイルが検出される。
【0031】
なお、「スタイル」とは、図8に示すように多数の項目から成る楽曲の情報を総称したものである。ステップSP302にあっては、これらスタイルのうち、楽節数、各楽節のフレーズ数、および各フレーズの音節数が検出される。
【0032】
ここで、楽節数は「連続した2個の改行」の数をカウントすることにより求められる。また、各楽節のフレーズ数は、各楽節内の「改行」の数をカウントすることにより求められる。次に、「音節数」は小書き文字(ぁ、ぃ、ぅ、ぇ、ぉ、っ、等)および「ん」以外のかな文字数をカウントして求められる。換言すれば、「いっ」、「ぽん」、「てん」および「ばん」は1個の音節としてカウントされる。
【0033】
図6に示す例にあっては、楽節数は「4」、各楽節内のフレーズ数は上から順に「2,2,2,2」、そして音節数は上から順に「7,8,7,7,7,7,7,7」になる。このように、読み込まれた歌詞に対するスタイルが確定してゆくと、その内容は図8のメモリマップに従って順次記憶されてゆく。すなわち、図8において矢印を付した部分のスタイルが確定される。また、図7に示すように、歌詞は各楽節およびフレーズに対応して、階層構造で記憶される。
【0034】
次に、処理がステップSP303に進むと、スタイル設定全体画面(図9)がディスプレイ5に表示される。図において201〜209は拍子、ジャンル等を指定するボタンである。210は設定内容表示リストであり、ボタン201〜206に対応する項目の設定内容が表示される。
【0035】
次に、220は楽曲の楽節、形式記号、歌詞等を表示するワークシート部である。ワークシート部220の内部において221は楽節番号表示部であり、「1」から始まる楽節番号が表示される。222は形式表示部であり、各楽節に対応する形式記号を表示する。223は始−終コード表示部であり、各楽節の楽曲始−終コード(先頭コードと終了コードの組)が表示される。224はフレーズ番号表示部であり、各楽節内のフレーズに対して、「1」から始まるフレーズ番号を表示する。
【0036】
225は小節数表示部であり、各フレーズの小節数を表示する。226は歌詞表示部であり、各フレーズ単位で歌詞を表示する。なお、図9に示す例にあっては、設定内容表示リスト210、形式表示部222および始−終コード表示部223に各種のデータが表示されているが、最初にスタイル設定全体画面(図9)が表示された状態では、歌詞および既に決定されているスタイル(楽節数、フレーズ数、フレーズ内の小節数)以外の内容は空欄になる。
【0037】
2.3.2 拍子、ジャンル等の設定
以下、これら未決定の内容を決定してゆく処理について、場合を分けて説明する。まず、スタイル設定全体画面においてユーザが拍子設定ボタン201をマウスでクリックすると、図10に示すような拍子選択リストボックス231がディスプレイ5に表示される。このボックス内においては、各種の拍子が表示されている。ここで、ユーザが所望の拍子をマウスでクリックすると、当該拍子が選択される。
【0038】
このように、拍子が選択されると、ディスプレイ5には再び設定内容表示リスト210が表示される。その際、設定内容表示リスト210には、既に設定された内容が反映される。例えば、拍子選択リストボックス231において「4/4」拍子が選択されたのであれば、拍子設定ボタン201に対応する欄に「4/4」と表示される。
【0039】
スタイル設定全体画面(図9)においてユーザがジャンル設定ボタン202をマウスでクリックすると、図11に示すジャンル選択リストボックス232がディスプレイ5に表示される。ここで、ユーザが所望のジャンルをマウスでクリックすると、当該ジャンルが選択され、ディスプレイ5に設定内容表示リスト210が再び表示される。この場合も、選択されたジャンルが設定内容表示リスト210に反映されることは勿論である。
【0040】
また、メロディック/リズミック設定ボタン203、テンポ設定ボタン204、音域設定ボタン205、あるいは調設定ボタン206をユーザがマウスでクリックした場合においても、同様の処理が行われる。すなわち、クリックされたボタンに対応するリストボックス等がディスプレイ5に表示され、ユーザが項目の設定を行うと、その内容を反映した設定内容表示リスト210が再表示されるのである。
【0041】
2.3.3 形式等の設定
スタイル設定全体画面(図9)においてユーザが形式設定ボタン207をマウスでクリックすると、図12に示すように形式選択リストボックス237がディスプレイ5に表示される。ここに表示される形式は、先に検出された楽節数(4)に対応する形式であって、予めデフォルトの形式として記憶されていたものである。
【0042】
次に、ユーザが形式選択リストボックス237において所望の形式をマウスでクリックすると、当該形式が選択され、ワークシート部220内の形式表示部222に表示される。さらに、ユーザは、形式表示部222において形式記号を直接入力することができる。すなわち、形式表示部222内の所望の欄をマウスでクリックすると、当該欄にキーボードカーソルが表示される。
【0043】
ここで、ユーザは、キーボード7を介して、所望の英字等を入力するとよい。これにより、ユーザは、デフォルトの形式には存在しない独自の形式を指定することができる。独自の形式を指定するには、各楽節に対応する形式記号をキーボード7から順次入力してもよく、所望のものに近似するデフォルトの形式を編集することによって指定してもよい。
【0044】
また、スタイル設定全体画面(図9)においてユーザが始−終コード設定ボタン208をマウスでクリックすると、図13に示す始−終コード選択リストボックス238がディスプレイ5に表示される。このリストボックス238においても、ユーザは所望の楽曲始−終コードをマウスでクリックすることにより選択することができる。
【0045】
勿論、選択された楽曲始−終コードは、ワークシート部220内の始−終コード表示部223にも反映される。また、上述した形式記号の場合と同様に、ユーザは始−終コード表示部223内の所望の位置をマウスでクリックすることによりキーボードカーソルを表示させ、キーボード7を介して楽曲始−終コードを直接入力することができる。なお、楽曲始−終コードにおいて「*」マークは、特にコードを指定しないことを表わす。
【0046】
また、スタイル設定全体画面においてユーザが小節数設定ボタン209をマウスでクリックした場合も同様の動作が行われる。かかる場合、「1」フレーズ内の小節数の候補(1,2,3,・・・・)を表示するリストボックスがディスプレイ5に表示される。ここで、ユーザが所望の候補をマウスでクリックすると、これによって全フレーズに対して小節数が設定され、その結果が小節数表示部225に反映される。
【0047】
ここで、一部のフレーズについてのみ小節数を変更する場合は、該当するフレーズに対応する小節数表示部225をマウスでクリックし、所望の小節数をキーボード7から入力するとよい。以上の処理により、スタイルの全項目の内容が順次確定されてゆく。ここで、確定されたスタイルを記憶するメモリマップを図14に示す。同図においては、先に(図8で)確定されていた内容に加えて、未定であった全項目の内容が確定されている。
【0048】
2.4 曲テンプレートの選択
スタイルが確定された後に、ユーザが所定の操作を行うと、図3において処理はステップSP304に進む。ここでは、確定されたスタイルのうち図15において矢印を付した項目に着目し、これら項目の内容が該スタイルと一致する曲テンプレート(図4参照)が検索される。
【0049】
なお、これらの項目には、予め優先順位が付与されている。そして、一致する曲テンプレートが存在しなかった場合は、優先順位の低い項目から順次無視して検索が続行される。この優先順位は楽曲における各項目の重要度に応じてユーザが任意に設定するとよい。例えば、一般的な楽曲においては、「ジャンル」、「メロディック/リズミック」の区別、および「形式記号」の順に無視されるように、優先順位を設定するとよい。
【0050】
次に、一または複数の曲テンプレートの候補が発見されると、当該候補はディスプレイ5に表示される。ユーザは、表示された候補に対して所定の操作(例えば、図示しない試聴スイッチの操作等)を行うことにより、当該曲テンプレートを試聴することができる。そして、最も好適と思われる候補を選択することになる(ステップSP305,306)。
【0051】
2.5 音楽条件の入力
曲テンプレートが選択されると、処理はステップSP307に進み、図16に示すような音楽条件設定画面がディスプレイ5に表示される。図において250は条件選択ボックスであり、条件設定可能な各種の音楽条件がリストアップされている。この条件選択ボックス250内でユーザが所望の音楽条件をマウスでクリックすると、その音楽条件が設定対象として選択され、ボックス内で黒丸印(●)が付される。
【0052】
次に、260は音楽条件設定ボックスであり、設定対象として選択された音楽条件の具体的内容を設定するために、条件選択ボックス250の下方に表示される。図示の例にあっては、音楽条件として「上下反転」が選択されており、当該条件に応じた音楽条件設定ボックス260がディスプレイ5に表示されている。なお、ここに「上下反転」とは、所定の中心ピッチを中心に、曲テンプレートのピッチパターンを反転させることをいう(詳細は後述する)。
【0053】
このような音楽条件は、フレーズごと、楽節ごと、および曲全体に対して指定することができる。そのうち、フレーズに対して指定された条件が最も優先され、次に楽節に対して設定された条件が優先される。例えば、ピッチの反転条件の中心ピッチが曲全体として「G4」に指定されていたとしても、あるフレーズに対して「B4」に指定されていれば、「B4」が中心ピッチに設定される。
【0054】
音楽条件設定ボックス260の下部においては、楽曲全体、楽節およびフレーズ毎に、選択された音楽条件に係る内容(図示の例では、上下反転に係る中心ピッチ)が表示される。また、該ボックスの上部においては、この条件に応じて変形されたリズムまたはピッチパターン(図示の例では、反転されたピッチパターン)が表示される。
【0055】
次に、本実施形態における種々の音楽条件の意味について解説しておく。音楽条件のうちリズムに関するものとしては、以下のようなものがある。
・最短音符:最短音符とは、メロディに使用されうる最短の音符であり、8分音符、16分音符、または8分の三連符が指定できる。
・先頭喰い:先頭喰いとは、各フレーズの先頭部分が前のフレーズの最終部分に喰い込んでいることをいう。
【0056】
・先頭休み:先頭休みとは、各フレーズが休符から始まることをいう。
・分布:分布とは、各フレーズ内における音符の分布傾向をいい、「粗密」、「密粗」および「平均」の「3」種類がある。ここに「粗密」とは、各フレーズの最初の部分の音符の分布がまばらで最後の部分に音符が集中する傾向をいう。「密粗」とはこの逆の傾向、「平均」とは、フレーズ内に音符が平均的に分布する傾向をいう。
【0057】
・生成アルゴリズム:生成アルゴリズムとは、リズムを決定するために用いられるアルゴリズムをいう。本実施形態においては、生成アルゴリズムとして、「テーブル参照方式」または「演算方式」のうち一方を指定できる。
また、ピッチの設定に係る音楽条件としては、上述した「上下反転」の他に以下のようなものがある。
・先頭ピッチ:先頭ピッチとは、各フレーズの先頭音符のピッチをいう。
・最後ピッチ:最後ピッチとは、各フレーズの最終音符のピッチをいう。
【0058】
・振幅の伸長および圧縮:振幅の伸長とは、上記中心ピッチを中心として、曲テンプレートのピッチの振幅を伸長することをいう。逆に、振幅の圧縮とは、該振幅を圧縮することをいう。
・刺繍音:刺繍音とは、2つの同じコードトーンの中間で上下2度の動きを示す音である。
【0059】
例えば、元々付点4分音符であったものを、同一トーンの16分音符および4分音符とこれらに挟まれて2度音階の異なる16分音符とに分割する場合を想定すると、この挟まれた音が刺繍音である。なお、刺繍音の具体例を図45に示す。
・経過音:経過音も刺繍音に類似するが、ピッチが異なる「2」音間に挿入される音である点で相違する。
【0060】
2.6 リズム決定(全体動作)
音楽条件の入力が終了すると、図3において処理はステップSP309に進み、図17に示すリズム決定サブルーチンが呼び出される。図において処理がステップSP1に進むと、RAM2の所定の領域(図14のメモリマップを記憶した領域)が検索され、これによって楽節数が検出される。
【0061】
次に、処理がステップSP2に進むと、楽節カウンタGSC(変数)に「1」が代入される。次に、処理がステップSP3に進むと、上述した記憶領域が再び検索され、楽節カウンタGSCで表わされた番号を有する楽節について、フレーズ数が検出される。
【0062】
次に、処理がステップSP4に進むと、フレーズカウンタPRCに「1」が代入される。次に、処理がステップSP5に進むと、先に選択された生成アルゴリズム(図16参照)は「テーブル参照方式」または「演算方式」のうち何れであるのかが判定され、その結果に応じてステップSP6またはSP7のうち一方が実行される。
【0063】
詳細は後述するが、ステップSP6およびSP7にあっては、対応するアルゴリズムに基づいて、「1」フレーズ分の打点が決定される。次に、処理がステップSP8に進むと、処理中の楽節(楽節カウンタGSCで表わされた楽節)内で全フレーズに対して打点の決定が行われたか否かが判定される。ここで、「NO」と判定されると、処理はステップSP9に進み、フレーズカウンタPRCが「1」だけインクリメントされ、処理がステップSP5に戻る。
【0064】
これにより、処理中の楽節内で全フレーズに対して打点が決定されるまで、ステップSP5〜SP8の処理が繰り返される。そして、全フレーズに対して打点が決定されると、ステップSP8で「YES」と判定され、処理はステップSP10に進む。ここでは、全楽節に対して打点の決定が行われたか否かが判定される。
【0065】
ここで「NO」と判定されると、処理はステップSP11に進み、楽節カウンタGSCが「1」だけインクリメントされ、処理がステップSP3に戻る。これにより、全楽節に対して打点が決定されるまで、ステップSP3〜SP10の処理が繰り返されることになる。
【0066】
2.7 リズム決定(「テーブル参照方式」)
次に、ステップSP6において「1」フレーズ分の打点を「テーブル参照方式」によって決定する処理について説明する。ステップSP6においては、図18に示すサブルーチンが呼び出される。図においてステップSP21,SP22においては、処理対象であるフレーズの曲テンプレートおよび音楽条件が各々RAM2から読み出される。
【0067】
次に、処理がステップSP23に進むと、曲テンプレートと音楽条件とに対応した打点優先順位表が選択され、RAM2から読み出される。ここで、打点優先順位表の内容を表形式で表現したものを図21に示す。同図第1行には、「1」フレーズ内の小節数に対応して小節番号欄が設けられている。なお、図示の例では、小節数は「2」であることとしている。
【0068】
次に、同図第2行には、曲テンプレートの「拍子」に対応する数の拍子番号欄が設けられている。図示の例では、「4/4」拍子を想定しているため、第1拍〜第4拍に対応する欄が設けられている。次に、第3行には、最短音符ステップ欄が設けられている。最短音符ステップとは、「1」拍を最短音符の長さで区切ったものをいう。
【0069】
図示の例では、最短音符として「8分音符」が選択された場合を想定している。「4/4」拍子の「1」拍は4分音符に相当するため、「1」拍あたりのステップ数は「2」、フレーズ全体のステップ数は「16」になる。次に、同図第4行には、各最短音符ステップに対応する優先順位が規定されている。フレーズ内の各音節に対応する打点は、この優先順位に沿って配置されることになる。
【0070】
ここに、打点とは「ノートオンのタイミング」の意である。なお、ノートオフのタイミングは、ここでは未だ設定されない。次に、打点数(ここでは音節数に等しい)と打点優先順位表とに従って如何なるリズムパターンが生成されるかについて、図20および図21を対比しつつ説明する。
【0071】
まず、「1」フレーズ内に音節が「1個」しか設けられていない場合は、図21によれば、第1小節第1拍目の第1ステップに打点が設けられる。従って、リズムパターンは、当該フレーズに亙って継続するパターン(第1小節および第2小節の全音符をタイ記号で結んだもの)になる。
【0072】
また、音節数が「2」である場合は、第1小節および第2小節の第1拍目の第1ステップに各々打点が設けられる。従って、リズムパターンは、第1小節および第2小節の全音符として表現される。次に、音節数が「3」である場合は、第1小節第3拍目の第1拍始めに新たな打点が追加される。このため、第1小節の「2」個の2分音符と、第2小節の全音符とから成るリズムパターンが生成される。
【0073】
以下、音節数が増加するに従って、図20に示すような各種のリズムパターンが生成される。ここで、各小節内の音節数に着目すると、両小節の音節数はほぼ一致している。すなわち、図21に示す打点優先順位表は、分布が「平均」に指定された場合の順位表である。その他、図21に対応する音楽条件を図19に示す。
【0074】
図21に示すような打点優先順位表は、各種の音楽条件に対応して多数設けられている。ここで、音楽条件と打点優先順位表との関係を図22に示す。図において、打点優先順位表は「通常形」および「三連符形」の二種類に分類される。さらに、前者は最短音符が8分音符の場合と16分音符の場合とに分類される。なお、本実施形態にあっては、後者の最短音符は、必ず三連8分音符になる。
【0075】
最短音符に応じて分類された打点優先順位表は、さらに、「休み/喰い」の状態によって分類される。まず、音楽条件として先頭喰いまたは先頭休みのうち一方が指定された場合は、同時に他方が指定される場合は一般的には有り得ない。従って、これらは択一的に選択できるようになっている。
【0076】
また、先頭喰いおよび先頭休みの双方が共に指定されていない場合も考えられる。かかる状態を「第1拍始め」という。結局、「休み/喰い」の状態は、「先頭喰い」、「先頭休み」または「第1拍始め」の中の何れかになる。
【0077】
さて、以上のように各種音楽条件に対応する打点優先順位表が選択されると、処理はステップSP24に進み、乱数に基づいて、先に選択された打点優先順位表が修正される。具体的には、図21の「優先順位」の欄の内容が適宜入れ替えられる。
【0078】
このように乱数を用いて打点優先順位表を修正する理由は、音楽条件と音節数とによって打点を一意に決定してしまうと、楽曲が単調になる場合もあるためである。なお、ステップSP24によって打点優先順位表の修正を行うか否か、また、行うとした場合の修飾の度合はユーザが適宜設定できるようになっている。
【0079】
次に、処理がステップSP25に進むと、処理対象となっているフレーズに対応する歌詞がRAM2から読み出される。そして、上記打点優先順位表に従って、音節数相当の打点が決定されるのである(図20参照)。
【0080】
次に、処理がステップSP27に進むと、シンコペーションを付加する旨は指定されているか否かが判定される。ここで「YES」と判定されると、処理はステップSP28に進む。ここでは、先に割り当てられた打点のうち何れかが乱数によって選択される。そして、選択された打点は、最短音符相当分だけ前方にシフトされる。
【0081】
ここで、シンコペーションを付加する前後のリズムパターンの一例を図23に示す。この例においては、乱数によって選択された打点は最後の打点であって、最短音符は8分音符である。なお、シンコペーションを付加する旨の指定が無かった場合はステップSP27において「NO」と判定され、ステップSP28は実行されない。次に、処理がステップSP29に進むと、「1」フレーズ分の最終的な打点情報がRAM2に保存される。
【0082】
ここで、打点情報を記憶するためのメモリマップを図24に示す。このメモリマップにおいては、音楽条件の最短音符(図示の例では8分音符)毎のステップに対応して打点情報が記憶される。すなわち、打点情報が“1”であれば打点が存在し、“0”であれば打点は存在しないことになる。
【0083】
2.8 リズム決定(「演算方式」)
2.8.1 先頭拍の決定
次に、ステップSP7において「1」フレーズ分の打点を「演算方式」によって決定する処理について説明する。ステップSP7においては、図25に示すサブルーチンが呼び出される。図においてステップSP41,SP42においては、ステップSP21,SP22と同様に、処理対象であるフレーズの曲テンプレートおよび音楽条件が各々RAM2から読み出される。
【0084】
次に、処理がステップSP43に進むと、処理対象であるフレーズの歌詞がRAM2から読み出される。次に、処理がステップSP44に進むと、図26のサブルーチンが呼び出され、当該フレーズの先頭拍が決定される。この先頭拍は、「休み/喰い」の状態によって異なるため、以下、場合を分けて説明する。
【0085】
(a)第1拍始めの場合
図26においてステップSP73では音楽条件として先頭休みが指定されているか否かが判定され、ステップSP74では、先頭喰いが指定されているか否かが判定される。第1拍始めの場合は何れにおいても「NO」と判定されるから、処理はステップSP75に進む。ここでは、曲テンプレートの先頭拍が当該フレーズの先頭拍として決定される。
【0086】
(b)先頭休みが指定されている場合
先頭休みが指定されていると、ステップSP73において「YES」と判定され処理はステップSP76に進む。ここでは、先に読出された曲テンプレートは先頭休みであるか否かが判定される。
【0087】
ここで「YES」と判定されると、処理はステップSP78に進み、曲テンプレートの先頭拍がそのまま当該フレーズに先頭拍として決定される。すなわち、当該フレーズと曲テンプレートの「休み/喰い」状態が一致しているため、曲テンプレートの先頭拍がそのまま採用できるのである。
【0088】
一方、曲テンプレートが先頭休みでない場合は処理はステップSP77に進む。ここでは、曲テンプレートの第1拍目を除く拍の中から当該フレーズの先頭拍が決定される。これは、音節数と最短音符に応じて(すなわち、全ての音節を当該フレーズに含めることができる範囲内で)、ランダムに決定される。
【0089】
(c)先頭喰いが指定されている場合
先頭喰いが指定されていると、ステップSP74において「YES」と判定され処理はステップSP79に進む。ここでは、曲テンプレートは先頭喰いであるか否かが判定される。
【0090】
ここで「YES」と判定されると、処理はステップSP81に進み、曲テンプレートの先頭拍がそのまま当該フレーズの先頭拍に決定される。かかる場合も、フレーズおよび曲テンプレートの「休み/喰い」状態が一致しているゆえである。
【0091】
一方、曲テンプレートが先頭喰いでない場合は処理はステップSP80に進む。ここでは、音節数と最短音符とに応じて(前フレーズの音符が最短音符より短くならない範囲で)、前フレーズの中に先頭拍が決定される。
【0092】
この場合も、先頭喰いの深さは、許容される範囲内でランダムに決定するとよい。なお、前フレーズに余裕が無い場合は先頭喰いは不可能であるため、先に説明したステップSP75と同様に、曲テンプレートの先頭拍がフレーズの先頭拍として決定されることになる。
【0093】
2.8.2 他の拍の決定
さて、以上のように先頭拍が決定されると、処理は図25のプログラムに戻り、ステップSP45に進む。ここでは、結果的に前フレーズに対する先頭喰いが発生したか否かが判定される。
【0094】
すなわち、たとえ音楽条件において先頭喰いが指定されていたとしても、前フレーズに余裕がなければ結果的に先頭喰いは発生しないことになる。ステップSP45において「YES」と判定されると、処理はステップSP46に進み、先頭喰いに係る音節数が決定される。
【0095】
この音節数は、喰いの拍数と、歌詞の音節数と、最短音符と曲テンプレートの喰いの音節数とに基づいて(換言すれば、喰える範囲内で)、ランダムに決定される。次に、処理がステップSP47に進むと、喰いの音節に対応する打点が決定される。この打点も、喰える範囲内でランダムに決定される。次に、処理がステップSP48に進むと、処理対象であるフレーズの音節数から喰った音節数が減算される。
【0096】
すなわち、この減算結果(以下、修正音節数という)が、当該フレーズ内に実際に配置される音節数(但し、次フレーズから喰われる分を除く)になるからである。なお、先頭喰いが結果的に発生しなかった場合は、ステップSP46〜SP48はスキップされ、当該フレーズの元々の音節数が修正音節数になる。以後の処理は、修正音節数と曲テンプレートの打点数との大小関係に応じて異なるため、場合を分けて説明する。
【0097】
(a)修正音節数と曲テンプレートの打点数とが一致する場合
(a−1)フレーズの「分布」が「粗密」である場合
ステップSP49においては、修正音節数は曲テンプレートの打点数よりも多いか否かが判定される。逆に、ステップSP50においては、曲テンプレートの打点数は修正音節数よりも多いか否かが判定される。両者が一致する場合は、ステップSP49、SP50の何れにおいても「NO」と判定され、処理はステップSP51に進む。
【0098】
ここでは、曲テンプレートの打点が、そのまま当該フレーズの打点として採用されることになる。次に、処理がステップSP52に進むと、音楽条件の「分布」が「粗密」または「密粗」であるか否かが判定される。ここで、「YES」と判定されると、処理はステップSP53に進み、図27に示すサブルーチンが呼び出される。
【0099】
図27において処理がステップSP91に進むと、音楽条件の「分布」が「粗密」に指定されているか否かが判定される。ここで「YES」と判定されると、処理はステップSP92に進み、曲テンプレートの「分布」は「粗密」であるか否かが判定される。
【0100】
ここで「YES」と判定されると、処理はステップSP94に進み、曲テンプレートの打点がそのまま処理対象のフレーズの打点に設定される。これは、「分布」に関しては、該フレーズの音楽条件と曲テンプレートとが一致しているゆえである。
【0101】
一方、ステップSP92で「NO」と判定されると、処理はステップSP93に進み、曲テンプレートの「分布」は「密粗」であるか否かが判定される。ここで「YES」と判定されると、処理はステップSP95に進み、曲テンプレートの打点を前後方向に逆転したものが、当該フレーズの打点として採用される。
【0102】
一方、曲テンプレートの「分布」が「平均」である場合は、ステップSP92、SP93の何れにおいても「NO」と判定され、処理はステップSP96に進む。ここでは、音節数と最短音符とに応じて、曲テンプレートの打点が後方に詰められることになる。そして、以上の処理によって打点の移動が完了すると、処理は図25のプログラムに戻る。
【0103】
(a−2)フレーズの「分布」が「密粗」である場合
フレーズの「分布」が「密粗」であれば、ステップSP91において「NO」と判定され、処理はステップSP102に進む。以後のステップSP102〜SP106においては、「密」および「粗」が逆であることを除いてステップSP92〜SP96と同様の処理が行われる。
【0104】
(b)修正音節数が曲テンプレートの打点数よりも多い場合
図25に戻り、修正音節数が曲テンプレートの打点数よりも多い場合は、ステップSP49において「YES」と判定され処理はステップSP58に進む。ここでは、曲テンプレートに不足分の打点が追加され、その結果が当該フレーズの打点に設定される。その際、打点の挿入される小節は、「分布」指定に応じて優先順位が異なる。
【0105】
例えば、当該フレーズの「分布」条件として「粗密」が指定されている場合、後半の小節に対して優先的に打点が挿入され、後半の小節に挿入不可能な場合にのみ前半の小節に打点が挿入されることになる。また、打点の挿入される小節内においても、強拍が弱拍よりも優先される。すなわち、強拍の位置に打点の挿入が可能であれば強拍の位置に打点が挿入され、強拍の位置に挿入不可能な場合にのみ弱拍の位置に打点が挿入される。
【0106】
(c)修正音節数が曲テンプレートの打点数よりも少ない場合
修正音節数が曲テンプレートの打点数よりも少ない場合は、ステップSP50において「YES」と判定され処理はステップSP57に進む。ここでは、曲テンプレートの打点の中から超過分の打点が削除され、その結果が当該フレーズの打点に設定される。その際、打点の削除される小節は、「分布」指定に応じて優先順位が異なる。
【0107】
例えば、当該フレーズの「分布」条件として「粗密」が指定されている場合、前半の小節に対して優先的に打点が削除され、前半の小節で削除不可能な場合にのみ後半の小節より打点が削除されることになる。また、打点の削除される小節内においても、弱拍が強拍よりも優先される。すなわち、弱拍が削除可能であれば何れかの弱拍が削除され、削除可能な弱拍が存在しない場合にのみ強拍が削除されることになる。
【0108】
2.8.3 その他の処理
以上のように、処理対象であるフレーズの打点が「分布」条件等に応じて決定されると、ステップSP54〜SP56の処理が実行される。すなわち、当該打点に対して適宜シンコペーションが付加され、しかる後に「1」フレーズ分の最終的な打点情報がRAM2に保存される。なお、かかる処理はステップSP27〜SP29(図18参照)において説明したものと同様である。
【0109】
2.9 フレーズの連結とリズムの確定
図3に戻り、処理がステップSP309に進むと、図28に示すサブルーチンが呼び出される。図28において処理がステップSP111に進むと、RAM2の所定の領域(図14のメモリマップを記憶した領域)が検索され、これによって楽節数が検出される。次に、処理がステップSP112に進むと、楽節カウンタGSCに「1」が代入される。
【0110】
次に、処理がステップSP113に進むと、上述した記憶領域が再び検索され、楽節カウンタGSCで表わされた番号を有する楽節について、フレーズ数が検出される。次に、処理がステップSP114に進むと、フレーズカウンタPRCに「1」が代入される。
【0111】
次に、処理がステップSP115に進むと、上記楽節カウンタGSCおよびフレーズカウンタPRCによって特定されるフレーズの打点情報がRAM2から読み出される。なお、この打点情報は、先にステップSP29またはSP56(図18、図25参照)においてRAM2に保存されたものである。
【0112】
次に、処理がステップSP116に進むと、1曲分の打点情報記憶領域に、上記フレーズの打点情報が追加書き込みされる。すなわち、本サブルーチンにおいては、1曲分の打点情報を記憶するための領域が予めRAM2上に確保され、ここに各フレーズの打点情報が順次追加されてゆくのである。
【0113】
次に、処理がステップSP118に進むと、処理中の楽節(楽節カウンタGSCで表わされた楽節)内で全フレーズに対して打点の読出し/追加処理が行われたか否かが判定される。ここで、「NO」と判定されると、処理はステップSP119に進み、フレーズカウンタPRCが「1」だけインクリメントされ、処理がステップSP115に戻る。
【0114】
これにより、処理中の楽節内で全フレーズに対して打点の読出し/追加処理が行われるまで、ステップSP115〜SP118の処理が繰り返される。そして、全フレーズに対して打点が決定されると、ステップSP118で「YES」と判定され、処理はステップSP120に進む。ここでは、全楽節に対して打点の読出し/追加処理が行われたか否かが判定される。
【0115】
ここで「NO」と判定されると、処理はステップSP121に進み、楽節カウンタGSCが「1」だけインクリメントされ、処理がステップSP113に戻る。これにより、全楽節に対して打点の読出し/追加処理が完了するまで、ステップSP113〜SP120の処理が繰り返されることになる。全楽節に対してかかる処理が完了すると、処理はステップSP122に進み、打点情報の中に休符が挿入される。
【0116】
休符の挿入箇所および長さは乱数によって決定されるが、挿入される確率は、音楽条件や打点情報に応じて変更される。例えば、楽曲全体として、音楽条件がメロディックの場合は休符が挿入される確率は低くされ、リズミックの場合は確率は高くされる。また、個々の打点に着目すると、次の打点までのデューレーションが長いほど、休符の挿入される確率が高くなる。
【0117】
また、一連の打点に着目すると、例えば単独の4分音符(より厳密に言うと、次の打点までのデューレーションが4分音符相当である打点)よりも、複数連続する4分音符のうちの一つに対して休符の挿入される確率が高くなる。これは、楽曲が単調になることを防止するためである。このように、休符が適宜挿入されることによって、リズムが決定されるのである。以上のステップが終了すると、処理はメインルーチン(図3)に戻る。
【0118】
2.10 「1」フレーズ毎のピッチの決定
2.10.1 全体動作
図3において処理がステップSP310に進むと、図29に示すサブルーチンが呼び出される。図29においてステップSP135においては図30に示すサブルーチンが呼び出され、後述する処理によって「1」フレーズ分のピッチが決定される。かかる処理において処理対象となるフレーズは、楽節カウンタGSCおよびフレーズカウンタPRCによって特定される。
【0119】
ステップSP131〜SP134およびSP138〜SP141は、各々ステップSP111〜SP114およびSP118〜SP121と同様の内容である。すなわち、楽節カウンタGSCおよびフレーズカウンタPRCの値は適宜インクリメントおよびリセットされ、これによって全てのフレーズについてステップSP135および図30の処理が実行されることになる。
【0120】
2.10.2 ピッチパターンの反転
そこで、図30のサブルーチンにおける処理について詳述する。図において処理がステップSP151に進むと、処理対象のフレーズの曲テンプレートがRAM2から読み出される。次に、処理がステップSP152に進むと、当該フレーズの音楽条件がRAM2から読み出される。次に、処理がステップSP153に進むと、ピッチに係る音楽条件において「上下反転」が指定されているか否かが判定される。
【0121】
ここで「YES」と判定されると、ピッチパターンを上下反転すべく、図31に示すサブルーチンが呼び出される。なお、ピッチパターンとは、横軸を時間(楽曲内の位置)、縦軸を音階とする平面(ピッチ平面)上で離散的なメロディ情報(図5の再右欄参照)の集合を表現したものである。
【0122】
そして、ピッチパターンを曲線補完したものをピッチカーブと呼ぶ。このピッチパターンに基づいて最終的なメロディが生成される際に、ピッチパターンは適宜シフトされたり変形されたりする。従って、曲テンプレートに含まれるピッチパターンは、相対的音高差を規定する情報になる。
【0123】
本実施形態においては、ピッチパターンについて各種の処理(反転、伸長、圧縮等)が行われ、その都度処理後のピッチパターンが計算される。但し、このような処理中においてもピッチカーブは計算されない。すなわち、ピッチカーブ上で任意の位置に対応する音高が必要な場合は、その都度、前後所定数のメロディ情報に対して補完演算が施されることになる。従って、以後の説明において適宜ピッチカーブを参照しつつ説明するが、実際はピッチパターンに対して変形等の処理が行われる。
【0124】
さて、図31において処理がステップSP171に進むと、処理対象のフレーズに対応する曲テンプレートがRAM2から読み出される。次に、処理がステップSP172に進むと、曲テンプレートの調が、当該フレーズの音楽条件で指定された調へ移調される。次に、処理がステップSP173に進むと、中心ピッチを中心としてピッチパターンが上下反転される。
【0125】
そして、処理がステップSP174に進むと、上下反転されたピッチパターンが、RAM2に保存される。なお、以上の処理が行われた結果の一例として、中心ピッチを「G4」としてピッチパターンおよびピッチカーブを反転した例を図32に示しておく。図において白丸印は反転する前のピッチパターン、黒丸印は反転後のピッチパターンであり、破線および実線は各々に対応するピッチカーブである。
【0126】
2.10.3 ピッチパターンの伸長・圧縮
次に、図30において処理がステップSP155に進むと、音楽条件としてピッチの伸長または圧縮は指定されているか否かが判定される。ここで「YES」と判定されると処理はステップSP156に進み、図33に示すサブルーチンが呼び出される。
【0127】
図33において処理がステップSP181に進むと、処理対象のフレーズに対応する曲テンプレートがRAM2から読み出される。上述したピッチパターンの反転が行われた場合には、ステップSP181にあっては、その反転結果であるピッチパターンが読み出される。
【0128】
次に、処理がステップSP182に進むと、当該フレーズの音域、すなわちメロディ情報の最大値と最小値の差が求められる。次に処理がステップSP183に進むと、この音域は「5」度未満であるか否かが判定される。
【0129】
ここで「YES」と判定されると、ステップSP184が実行され、伸長係数k1が「2.0」に設定され圧縮係数k2が「1.4」に設定される。一方、ステップSP183において「NO」と判定されると処理はステップSP185に進み、伸長係数k1が「1.4」に設定され圧縮係数k2が「2.0」に設定される。
【0130】
次に、処理がステップSP186に進むと、処理対象のフレーズに係る音楽条件として振幅の伸長が指定されているか否かが判定される。ここで、「YES」と判定されると処理はステップSP187に進み、ピッチパターンの振幅が伸長される。
【0131】
その動作の一例を図34を参照して説明する。図において破線Bは同ステップの実行前のピッチパターンに対応するピッチカーブである。このピッチパターンにおいて、各メロディ情報のうち最低音階は「E4」であり最高音階は「G#4」であるから、両者の差は「5」度である。従って、先にステップSP183が実行された際に「NO」と判定され、ステップSP185において伸長係数k1は1.4に設定されることになる。
【0132】
さて、ステップSP187においては、最初に該ピッチパターンの先頭音階が検出される。図示の例にあっては、先頭音階は「E4」である。次に、この先頭音階からピッチパターンを構成する各メロディ情報までの差がk1倍され、その結果の集合が新たなピッチパターンに設定される。但し、k1倍した際に端数が生じた場合は四捨五入される。
【0133】
このようにして振幅の伸長されたピッチパターンによるピッチカーブを同図の実線Aで示す。なお、伸長係数k1の値を当該フレーズの音域に応じて設定する理由は、伸長後の音域があまり広くなりすぎることを防止するためである。すなわち、元々の音域が広い場合は、伸長係数k1を低く抑えるようにしたものである。
【0134】
一方、ステップSP186において「NO」と判定されると、処理はステップSP188に進み、処理対象のフレーズに係る音楽条件として振幅の圧縮が指定されているか否かが判定される。ここで「YES」と判定されると、処理はステップSP189に進む。
【0135】
ここでは、ピッチパターンの先頭音階を基準として、ピッチパターンの振幅は、「1/k2」倍される。すなわち、ステップSP186においては、伸長係数k1に代えて圧縮係数k2の逆数が用いられることを除いて、ステップSP184と同様の処理が行われる。
【0136】
なお、振幅の圧縮を行う場合においも、元々の音域が狭い場合には若干圧縮し元々の音域が広い場合は大幅に圧縮することが好適であるため、圧縮係数k2も当該フレーズの音域に応じて設定される(ステップSP183〜SP185)。さて、以上のような伸長・圧縮処理が終了すると、処理はステップSP190に進み、伸長・圧縮処理後のピッチパターンがRAM2に保存され、本サブルーチンの処理は終了する。なお、上記処理においては伸長・圧縮係数はフレーズの音域に応じて2種類設定したが、音域を3つ以上に分け、これら係数を3種類以上としてもよい。
【0137】
2.10.4 先頭ピッチおよび最後ピッチの決定
図30に戻り、処理がステップSP157に進むと、処理対象のフレーズの先頭ピッチを決定するために、図35に示すサブルーチンが呼び出される。図35において処理がステップSP201に進むと、処理対象のフレーズの音楽条件として先頭ピッチが指定されているか否かが判定される。
【0138】
ここで、先頭ピッチが指定されていれば「YES」と判定され処理はステップSP202に進む。ステップSP202においては、当該フレーズの先頭ピッチが、指定された先頭ピッチに決定される。次に、処理がステップSP206に進むと、この決定されたピッチがRAM2に格納され、本サブルーチンの処理が終了する。
【0139】
また、先頭ピッチが指定されていなかった場合は、処理はステップSP201を介してステップSP203に進み、当該フレーズに対してコードが指定されているか否かが判定される。ここで、コードが指定されていれば処理はステップSP204に進み、そのコードの構成音の中で、曲テンプレートの先頭ピッチに最も近いものが、処理対象のフレーズの先頭ピッチに決定される。
【0140】
一方、当該フレーズに対して先頭ピッチもコードも指定されていない場合は、ステップSP201、SP203において「NO」と判定され、処理はステップSP205に進む。ここでは、曲テンプレートの先頭ピッチが当該フレーズの先頭ピッチに決定される。以上のように、各種の条件に応じて先頭ピッチが決定されると、処理はステップSP206に進み、決定された先頭ピッチがRAM2に格納され、本サブルーチンの処理は終了する。
【0141】
図30に戻り、処理がステップSP158に進むと、処理対象のフレーズの最後ピッチを決定するために、図36に示すサブルーチンが呼び出される。このサブルーチンにおいては、図35において説明した内容と同様の処理が最後ピッチについて実行され、これによって最後ピッチが決定されRAM2に格納される。
【0142】
2.10.5 各打点のピッチの決定
次に、図30において処理がステップSP159に進むと、各打点のピッチを決定するために、図37に示すサブルーチンが呼び出される。図37において処理がステップSP221に進むと、処理対象のフレーズに対応する曲テンプレートがRAM2から読み出される。
【0143】
なお、曲テンプレートに対しては既に種々の変形(ステップSP154,SP156)が施されている場合には、変形された結果が読み出されることは言うまでもない。次に、処理がステップSP222に進むと、先に決定された先頭ピッチおよび最後ピッチがRAM2から読み出される。
【0144】
次に、処理がステップSP223に進むと、先に決定された(図18,25参照)当該フレーズの打点情報がRAM2から読み出される。次に、処理がステップSP224に進むと、ピッチパターンが音階軸に対して変形される。その詳細を図38を参照し説明する。
【0145】
図において破線は変形後の曲テンプレートにおけるピッチカーブであり、点A,Bはその先頭ピッチおよび最後ピッチである。また、点A’,B’は、先にステップSP157,SP158において決定された先頭ピッチおよび最後ピッチである。
【0146】
ピッチ平面上で点A,Bを結ぶ直線をF(x)、点A’,B’を結ぶ直線をF’(x)、曲テンプレートにおけるピッチカーブをG(x)で表現すると、変形後のピッチカーブG’(x)は下式(1)によって求められる。
【数1】
Figure 0003659220
【0147】
従って、ステップSP224においては、この式(1)に従ってピッチパターンが変形される。但し、G’(x)の変動範囲が曲テンプレートに予め定められた音域の幅(図4のアドレス「4」参照)を越える場合は、その幅の中に収まるようにG’(x)が圧縮される。なお、かかる処理は図34において説明した処理と同様である。
【0148】
次に、図37において処理がステップSP225に進むと、ピッチカーブが時間軸に沿って変形される。その詳細を図39を参照して説明する。図においてG’(x)は先にステップSP224で変形されたピッチパターンに対応するピッチカーブであり、点B”は処理対象のフレーズにおける最後の打点まで点B’を水平に移動させた点である。ここで、点A’,B’およびB”の時間軸上の座標をx1、x2 および x3 で表わすと、変形後のピッチカーブG”(x)は下式(2)によって表現される。
【0149】
【数2】
Figure 0003659220
従って、ステップSP225においては、この式(2)に従って、ピッチパターンがさらに変形される。
【0150】
次に、図37において処理がステップSP226に進むと、ピッチカーブG”(x)が各打点位置でサンプリングされることにより、各打点におけるピッチが計算される。すなわち、各打点位置の前後所定数のメロディ情報に対して補完演算が施される。このようにして得られた打点毎のピッチパターンの例と、これに対応するピッチカーブとを図40に示しておく。
【0151】
次に、処理がステップSP227に進むと、半音階音が全音階音に修正される。すなわち、半音階音はこれに最も近接する上下何れかの全音階音に修正される。その際、「ピッチパターンがなるべく滑らかになること」および「跳躍をなるべく避けること」に鑑みて、何れか好適な全音階音が選択されるのである。
【0152】
なお、このようにピッチの修正を行った例を図41に示しておく。以上の処理が終了すると、図37において処理はステップSP228に進み、当該フレーズのピッチパターンがRAM2に記憶され、該サブルーチンにおける処理が終了する。そして、処理は図30のサブルーチンに戻る。
【0153】
2.10.6 刺繍音および経過音の付加
図30において処理がステップSP160に進むと、処理対象のフレーズの音楽条件として刺繍音の付加が指定されているか否かが判定される。ここで「YES」と判定されると、処理はステップSP161に進み、当該フレーズに対して適宜刺繍音が付加される。
【0154】
その詳細を図42を参照し説明する。ステップSP160においては、まず、「1」小節内で平均デューレーションよりも長い音が検索される。次に、これら検索された音に対して刺繍音の付加対象がランダムに決定され、決定された音に対して刺繍音が付加される。かかる処理の行われた例を図42に示す。同図(a)において第1小節の最初の付点4分音符が、1個の4分音符と、その前に設けられた2個の16分音符(刺繍音)とに変更されている。
【0155】
図30に戻り、処理がステップSP162に進むと、処理対象のフレーズの音楽条件として経過音の付加が指定されているか否かが判定される。ここで「YES」と判定されると、処理はステップSP163に進み、当該フレーズに対して適宜経過音が付加される。その詳細を図43を参照し説明する。
【0156】
ステップSP163においては、まず、次の音との音階差が「3」度以上であって、当該フレーズの最終音以外の音であり、かつ、最短音符よりも長い音が検索される。図43(a)に示す例にあっては、第2小節の最初の音が上述した条件に合致する。次に、この検索された音から最短音符(図示の例では8分音符)が分割され、検索された音と次の音との間に挿入される。
【0157】
次に、処理がステップSP164に進むと、当該フレーズに係るピッチパターンがRAM2に記憶される。以上により本サブルーチンの処理は終了する。以後、同様の処理が全フレーズに対して実行されることにより(図29参照)、全フレーズに対応するピッチパターンがRAM2に記憶されることになる。そして、処理は図3のメインルーチンに戻る。
【0158】
2.11 ピッチパターンの連結
図3において処理がステップSP311に進むと、図44に示すサブルーチンが呼び出される。このサブルーチンの内容は、各フレーズの打点情報に代えてピッチパターンを読み出して連結する点を除いて図28に示すサブルーチンと同様である。これにより、1曲分のピッチパターンが生成される。
【0159】
2.12 全体の評価と修正
図3において処理がステップSP312に進むと、1曲分のピッチパターン全体に対して評価と修正が行われる。すなわち、跳躍が多すぎないか、1曲としてまとまっているか(統一感があるか)等が評価され、以下述べるように、必要に応じてリズムあるいはピッチが修正される。
▲1▼歌いやすくなるように、フレーズ間の繋がり部分のリズムとピッチとが修正される。
かかる処理は、フレーズ内部に対して行われていたのと同様の処理により実現することができる。
【0160】
▲2▼「1」フレーズが所定値以上の長さである場合は、途中に息継ぎのための休符を挿入する。
例えば、「1」フレーズが「4」小節で構成されている場合には、「2」小節毎に4分休符を入れるとよい。
▲3▼高音部が長く続きすぎる部分はリズムとピッチを修正し、高音部がある程度短くなるようにする。
【0161】
▲4▼リズムが急激に変化する部分はリズムとピッチを修正し、リズムの変化がなめらかになるようにし、あるいは音階差を縮小させる。
▲5▼楽曲が跳躍進行するような場合は、設定された音楽条件(例えばメロディック)に従って、経過音を挿入して滑らかにしてゆく。
【0162】
このような処理の具体例を図45に示す。同図(a)はステップSP312の実行前に生成されたメロディの一例であるが、第1小節に着目すると、「タン タタ タン タン」(「タン」は4分音符、「タ」は8分音符)というリズムを有している。
【0163】
次に、第2小節〜第4小節と第1小節とを比較すると、第3小節および第4小節は第1小節に近似していることが解る。すなわち、第1小節と第3小節とは、第2拍が「1」個の4分音符で構成されているか「2」個の8分音符で構成されているかの相違しかない。
【0164】
また、第1小節と第4小節とを比較すると、上述した相違点に加えて、第4拍が4分音符であるか4分休符であるかの違いはあるが、何れも長さは同一である。このように近似する小節同士ではリズムを一致させると、曲全体としてリズムの統一性を高めることができる。具体的には、最も音節数の多い小節(図示の例では第1小節)を基準として他の小節の音符を分割し、経過音あるいは刺繍音にするとよい。かかる処理を行った例を同図(b)に示す。
【0165】
3.変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施形態にあっては、フレーズの区切りは「改行」により特定され、楽節の区切りは「連続した2個の改行」により特定された。しかし、必ずしもユーザが音節やフレーズの区切りを指定する必要はない。例えば、文章の構文解析を行うことにより、これらの区切りを自動的に決定してもよい。
【0166】
(2)歌詞は日本語以外の言語で入力されてもよいことは言うまでもない。例えば、歌詞が英語であった場合は音節を区切るための辞書を用意しておけば、歌詞に基づいて自動的に音節数等を得ることができるから好適である。
【0167】
(3)上記実施形態においては、音節数は小書き文字(ぁ、ぃ、ぅ、ぇ、ぉ、っ、等)および「ん」以外のかな文字数をカウントして求められたが、小書き文字や「ん」なども「1」音節としてカウントしてもよい。また、これらをカウントするか否かをユーザが設定できるようにしておくと一層好適である。
【0168】
(4)上記実施形態においては、音楽条件として先頭ピッチ、最後ピッチ、振幅の伸長等を指定可能であった(図16の条件選択ボックス250参照)が、音楽条件はここに挙げた以外にも種々のものが可能である。例えば、ピッチパターンを時間軸上で逆方向に読み出す「逆読み」などの条件を加えてもよい。
【0169】
(5)上記実施形態においては、「ブロック」の一例として「フレーズ」を適用した例を説明したが、「小節」、「楽節」またはその他の単位を「ブロック」としてもよい。
【0170】
(6)上記実施形態においては、ハードディスクドライバ4内にハードディスクに動作プログラムや各種データをインストールしたが、同様の内容をROM3に記憶させてもよいことは言うまでもない。
【0171】
(7)上記実施形態のハードウエア(図1)は、図48に示すように変形してもよい。図において11は鍵盤であり、その操作状態(キーオン、キーオフ、押鍵速度等)は押鍵検出回路12によって検出されCPU1に通知される。13は各種の音色等を設定するスイッチであり、その設定状態はスイッチ検出回路14を介してCPU1に通知される。
【0172】
15は表示回路であり、CPU1の制御の下、ユーザに各種の情報を表示する。16は音源回路であり、バス6を介して供給された演奏情報に基づいて楽音信号を生成する。17は効果回路であり、上記楽音信号に各種の特殊効果を施す。この効果の内容は、例えばスイッチ13における設定内容に従って決定される。
【0173】
18はタイマであり、所定時間毎にCPU1に対してタイマ割り込みを発生させる。19はCD−ROMドライバであり、ここにセットされるCD−ROMには、動作プログラムや各種データ等が記憶される。そして、このCD−ROMから読み出された内容は、ハードディスクドライバ4内のハードディスクにストアされる。これにより、動作プログラムの新規インストールやバージョンアップ等を容易に行うことができる。
【0174】
25はフロッピーディスクドライブであり、フロッピーディスクに対してデータの読み書きを行う。なお、その他の外部記憶装置として、光磁気ディスクドライブや磁気テープレコーダ等、様々な形態のメディアを利用するための装置を設けてもよい。20はMIDIインターフェースであり、他のMIDI機器21との間でMIDI信号のやりとりを行う。
【0175】
次に、22は通信インターフェースであり、LAN(ローカルエリアネットワーク)やインターネット、電話回線等の通信ネットワーク23に接続されており、該通信ネットワーク23を介して、サーバコンピュータ24と接続される。これは、ハードディスクドライバ4内のハードディスク等に上記各プログラムや各種パラメータが記憶されていない場合に、サーバコンピュータ24からこれらプログラムやパラメータをダウンロードするためである。
【0176】
クライアントとなるコンピュータは、通信インターフェース22および通信ネットワーク23を介して、サーバコンピュータ24に対してプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ24はこのコマンドを受信すると、通信ネットワーク23を介して、要求されたプログラムやパラメータを配信する。配信された情報は通信インターフェース22を介してクライアントコンピュータに受信され、ハードディスクドライバ4のハードディスク内に蓄積されることによってダウンロードが完了する。
【0177】
(8)上記実施形態においては、自動メロディ生成装置は汎用パーソナルコンピュータとアプリケーションソフトウエアによって実現されたが、一般の電子楽器やカラオケ装置等の機器によって自動メロディ生成装置を実現してもよいことは言うまでもない。
【0178】
(9)上記実施形態において自動生成されたメロディ・データは、どのようなフォーマットで記憶してもよい。例えば、「イベント(キーオンまたはキーオフ)+相対時間」、「イベント(キーオンまたはキーオフ)+絶対時間」、あるいは「音高+符長」等、各種のフォーマットが知られているから、何れを用いることもできる。また、SMF(スタンダードMIDIファイル)の形式を採用し、歌詞を「歌詞チャンク」としてメロディ・データと同じファイルの中に埋めこんで記憶させるようにしてもよい。
【0179】
(10)上記実施形態において、動作プログラムをCD−ROMやフロッピーディスク等のパーソナルコンピュータ等で読み取り可能な記録媒体に記録した状態でユーザに提供してもよい。さらに、そのパーソナルコンピュータ等がLAN、インターネット、電話回線等の通信ネットワークに接続されている場合には、通信ネットワークを介して、動作プログラムや各種データ等をパーソナルコンピュータ等に提供してもよい。
【0180】
【発明の効果】
以上説明したように、請求項1、2、6および7記載の構成によれば各種の条件に応じてピッチパターンを変形することができ、請求項3および4記載の構成によれば当該ピッチパターンに基づいて音高を決定することができ、請求項5記載の構成によれば生成されたメロディに対して評価および修正を行うことができる。
【図面の簡単な説明】
【図1】 一実施形態のハードウエアの構成を示すブロック図である。
【図2】 曲テンプレート登録プログラムのフローチャートである。
【図3】 作曲処理プログラムのフローチャートである。
【図4】 曲テンプレートのスタイル情報を記憶する領域のメモリマップである。
【図5】 曲テンプレートのメロディ情報を記憶する領域のメモリマップである。
【図6】 歌詞の入力画面を示す図である。
【図7】 歌詞を記憶する領域のメモリマップである。
【図8】 検出されたスタイルを記憶する領域のメモリマップである。
【図9】 スタイル設定全体画面を示す図である。
【図10】 拍子設定画面を示す図である。
【図11】 ジャンル設定画面を示す図である。
【図12】 形式設定画面を示す図である。
【図13】 始−終コード設定画面を示す図である。
【図14】 設定されたスタイルを記憶する領域のメモリマップである。
【図15】 曲テンプレートを選択する条件を説明する図である。
【図16】 音楽条件設定画面を示す図である。
【図17】 リズム決定処理の全体のフローチャートである。
【図18】 「テーブル参照方式」により「1」フレーズ分の打点を決定する処理のフローチャートである。
【図19】 フレーズに対応する音楽条件の例を示す図である。
【図20】 生成されるリズムパターンを示す図である。
【図21】 選択された打点優先順位表を示す図である。
【図22】 音楽条件と打点優先順位表との関係を示す図である。
【図23】 シンコペーションを付加する前後のリズムパターンの一例を示す図である。
【図24】 打点情報を記憶するためのメモリマップである。
【図25】 「演算方式」により「1」フレーズ分の打点を決定する処理のフローチャートである。
【図26】 「演算方式」において、先頭拍を決定する処理のフローチャートである。
【図27】 「演算方式」において、「粗密」・「密粗」の指定に従って打点を移動する処理のフローチャートである。
【図28】 各フレーズの打点情報を連結する処理のフローチャートである。
【図29】 ピッチ決定処理の全体のフローチャートである。
【図30】 「1」フレーズ分のピッチを決定する処理のフローチャートである。
【図31】 曲テンプレートのピッチパターンを上下反転する処理のフローチャートである。
【図32】 ピッチパターンを上下反転した例を示す図である。
【図33】 曲テンプレートのピッチパターンの振幅を伸長・圧縮する処理のフローチャートである。
【図34】 ピッチパターンの振幅を伸長した例を示す図である。
【図35】 フレーズの先頭ピッチを決定する処理のフローチャートである。
【図36】 フレーズの最後ピッチを決定する処理のフローチャートである。
【図37】 各打点のピッチを決定する処理のフローチャートである。
【図38】 ピッチパターンを音階軸で変形する処理の動作説明図である。
【図39】 ピッチパターンを時間軸で変形する処理の動作説明図である。
【図40】 ピッチパターンを打点でサンプリングする処理の動作説明図である。
【図41】 半音階音を解消するようにピッチの修正処理を行う場合の動作説明図である。
【図42】 刺繍音を付加する処理の動作説明図である。
【図43】 経過音を付加する処理の動作説明図である。
【図44】 各フレーズのピッチパターンを連結する処理のフローチャートである。
【図45】 曲全体を評価して経過音および刺繍音を付加する処理の動作説明図である。
【図46】 自動メロディ生成システムのソフトウエアの立ち上げ時に表示される画面を示す図である。
【図47】 上記画面においてリストボックス102を表示した状態を示す図である。
【図48】 上記実施形態の変形例のハードウエアの構成を示すブロック図である。
【符号の説明】
1・・・・CPU(選択手段、メロディ生成手段、リズム決定手段、ピッチパターン変形手段、打点決定手段、音高計算手段、音高修正手段、メロディ修正手段)、2・・・・RAM(歌詞情報記憶手段、曲テンプレート記憶手段、ピッチパターン記憶手段)。

Claims (7)

  1. メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、
    音域の幅を定める音域設定手段と、
    前記ピッチパターン音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形手段と
    を具備し、この伸長または圧縮されたピッチパターンを用いてメロディを生成することを特徴とする自動メロディ生成装置。
  2. メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、
    前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、
    前記ピッチパターン記憶手段に記憶されたピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定手段が決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形手段と、
    このピッチパターン変形手段が求めたピッチパターンを用いてメロディを生成するメロディ生成手段と
    を具備することを特徴とする自動メロディ生成装置。
  3. メロディ内の打点位置を示す打点情報を記憶する打点情報記憶手段を具備し、
    前記メロディ生成手段は前記ピッチパターンに基づいて、この記憶された打点情報が示す打点位置に対応する音高を得る音高計算手段具備する
    ことを特徴とする請求項2記載の自動メロディ生成装置。
  4. メロディ内の相対的音高差を規定するピッチパターンを記憶するピッチパターン記憶手段と、
    前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定手段と、
    この終端ピッチ決定手段で決定された内容に従って、前記ピッチパターンを変形するピッチパターン変形手段と、
    この変形されたピッチパターンを用いてメロディを生成するメロディ生成手段と
    を具備し、前記メロディ生成手段は、
    前記メロディの打点位置を決定する打点決定手段と、
    前記ピッチパターンに基づいて、この決定された打点位置に対応する音高を得る音高計算手段と、
    前記音高計算手段によって得られた音高を音階上の音に修正する音高修正手段
    を具備することを特徴とする自動メロディ生成装置。
  5. 生成されたメロディに対して評価を行い、この評価結果に基づいて前記メロディのリズムあるいはピッチに対して修正を行うメロディ修正手段を具備することを特徴とする請求項1乃至4の何れかに記載の自動メロディ生成装置。
  6. コンピュータに、
    メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、
    音域の幅を定める音域設定処理と、
    前記読出処理にて読み出したピッチパターン音階方向に伸長または圧縮させ、前記音域設定手段によって定められた音域の幅に収まるピッチパターンを求めるピッチパターン変形処理と、
    この伸長または圧縮されたピッチパターンを用いてメロディを生成するメロディ生成処理と
    を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  7. コンピュータに、
    メロディ内の相対的音高差を規定するピッチパターンを記憶手段から読み出す読出処理と、
    前記メロディ内の所定範囲における先頭または最後のピッチを決定する終端ピッチ決定処理と、
    前記読出処理にて読み出したピッチパターンと、このピッチパターンの前記所定範囲における先頭のピッチおよび最後のピッチを結んだ直線との音高差を、前記終端ピッチ決定処理にて決定した先頭のピッチおよび最後のピッチを結んだ直線に加算することによって、新たなピッチパターンを求めるピッチパターン変形処理と、
    このピッチパターン変形処理にて求めたピッチパターンを用いてメロディを生成するメロディ生成処理と
    を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2001370631A 1996-05-27 2001-12-04 自動メロディ生成装置および記録媒体 Expired - Fee Related JP3659220B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001370631A JP3659220B2 (ja) 1996-05-27 2001-12-04 自動メロディ生成装置および記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13220896 1996-05-27
JP8-132208 1996-05-27
JP2001370631A JP3659220B2 (ja) 1996-05-27 2001-12-04 自動メロディ生成装置および記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP13715397A Division JP3309766B2 (ja) 1996-05-27 1997-05-27 自動メロディ生成装置および記録媒体

Publications (2)

Publication Number Publication Date
JP2002202779A JP2002202779A (ja) 2002-07-19
JP3659220B2 true JP3659220B2 (ja) 2005-06-15

Family

ID=26466844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001370631A Expired - Fee Related JP3659220B2 (ja) 1996-05-27 2001-12-04 自動メロディ生成装置および記録媒体

Country Status (1)

Country Link
JP (1) JP3659220B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210193093A1 (en) * 2019-12-19 2021-06-24 Yamaha Corporation Keyboard device and sound generation control method

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3620240B2 (ja) * 1997-10-14 2005-02-16 ヤマハ株式会社 自動作曲装置および記録媒体
JP3694698B2 (ja) * 2003-01-22 2005-09-14 オムロン株式会社 音楽データ生成システム、音楽データ生成サーバ装置
JP5223536B2 (ja) * 2008-08-19 2013-06-26 ヤマハ株式会社 電子音楽装置及び楽譜データ利用プログラム
JP5415102B2 (ja) * 2009-02-24 2014-02-12 株式会社河合楽器製作所 旋律変形装置及び旋律変形プログラム
JP5415101B2 (ja) * 2009-02-24 2014-02-12 株式会社河合楽器製作所 旋律変形装置及び旋律変形プログラム
CN108806656B (zh) 2017-04-26 2022-01-28 微软技术许可有限责任公司 歌曲的自动生成
JP2022021890A (ja) * 2020-07-22 2022-02-03 株式会社Tmik 音楽処理システム、音楽処理プログラム、及び音楽処理方法
CN114253536A (zh) * 2021-12-13 2022-03-29 中国联合网络通信集团有限公司 界面设计组件的调用方法、终端设备以及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210193093A1 (en) * 2019-12-19 2021-06-24 Yamaha Corporation Keyboard device and sound generation control method
US11657786B2 (en) * 2019-12-19 2023-05-23 Yamaha Corporation Keyboard device and sound generation control method
US12027144B2 (en) 2019-12-19 2024-07-02 Yamaha Corporation Keyboard device and sound generation control method

Also Published As

Publication number Publication date
JP2002202779A (ja) 2002-07-19

Similar Documents

Publication Publication Date Title
JP3216142B2 (ja) 楽譜解釈装置
JP3812328B2 (ja) 自動伴奏パターン発生装置及び方法
JP3557917B2 (ja) 自動作曲装置および記憶媒体
US20030192424A1 (en) Lyric display method, lyric display computer program and lyric display apparatus
JP2000514571A (ja) 自動即興演奏システム及び方法
JP2002032077A (ja) コード進行修正装置、コード進行修正方法及び同装置に適用されるプログラムを記録したコンピュータ読取り可能な記録媒体、並びに自動作曲装置、自動作曲方法及び同装置に適用されるコンピュータ読取り可能な記録媒体
JP3528654B2 (ja) メロディ生成装置及びリズム生成装置と記録媒体
JP3637775B2 (ja) メロディ生成装置と記録媒体
JP3659220B2 (ja) 自動メロディ生成装置および記録媒体
JP6760450B2 (ja) 自動アレンジ方法
JP3239672B2 (ja) 自動演奏装置
JP3309766B2 (ja) 自動メロディ生成装置および記録媒体
JP3239897B1 (ja) 作詞作曲装置及びプログラム
JP2000315081A (ja) 自動作曲装置及び方法並びに記憶媒体
JP3775004B2 (ja) 自動作曲装置および記録媒体
JP3216143B2 (ja) 楽譜解釈装置
JP3593945B2 (ja) 演奏情報修正方法、演奏情報修正装置および記録媒体
JP3752859B2 (ja) 自動作曲装置と記録媒体
JP6554826B2 (ja) 音楽データ検索装置及び音楽データ検索プログラム
JP3620396B2 (ja) 情報修正装置及び情報修正プログラムを記録した媒体
JP2518056B2 (ja) 楽音デ―タ処理装置
JP2002032079A (ja) 自動作曲装置及び方法並びに記憶媒体
JP3777976B2 (ja) 演奏情報解析装置及び記録媒体
JP3427413B2 (ja) 自動編曲装置
JP3988668B2 (ja) 自動伴奏装置および自動伴奏プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041112

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: 20050222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050307

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: 20090325

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090325

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100325

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110325

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees