JP3818298B2 - アベイラブル・ノート・スケール決定装置及び記録媒体 - Google Patents

アベイラブル・ノート・スケール決定装置及び記録媒体 Download PDF

Info

Publication number
JP3818298B2
JP3818298B2 JP2004121281A JP2004121281A JP3818298B2 JP 3818298 B2 JP3818298 B2 JP 3818298B2 JP 2004121281 A JP2004121281 A JP 2004121281A JP 2004121281 A JP2004121281 A JP 2004121281A JP 3818298 B2 JP3818298 B2 JP 3818298B2
Authority
JP
Japan
Prior art keywords
avns
chord
data
code
note scale
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
JP2004121281A
Other languages
English (en)
Other versions
JP2004206156A (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 JP2004121281A priority Critical patent/JP3818298B2/ja
Publication of JP2004206156A publication Critical patent/JP2004206156A/ja
Application granted granted Critical
Publication of JP3818298B2 publication Critical patent/JP3818298B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、自動作曲等に用いるに好適なアベイラブル・ノート・スケール(以下、「AVNS」と略記する)決定装置及び記録媒体に関し、特に着目コードの前後のコードの構成音を参照して着目コードに適合したAVNSを決定可能としたものである。
従来、メロディ生成装置としては、所望の調情報及び所望のコード情報を入力すると共に、これらの調情報及びコード情報に基づいてAVNSを検出し、検出に係るAVNS内の音をメロディ音として選択することによりメロディを生成するようにしたものが、この出願と同一の出願人により提案されている(特願平10−166302号)。このようなメロディ生成装置によれば、ノンダイアトニックなコードに相応しい自然なメロディを生成可能である。
一般に、AVNSは、1つの調と1つのコードとに対応して1つとは限らず、複数存在することもある。上記した従来技術では、AVNS検出処理において各調毎に1つのコードが与えられるたびに1つのAVNSを検出していたので、1つの調と1つのコードとに対応して複数のAVNSが存在するような場合には、複数のAVNSのうちメロディ生成にとって好ましくないAVNSが検出されることがあった。このため、検出に係るAVNSに基づいてメロディを生成すると、コード進行に対するメロディの適合性が良好でないことがあった。
また、調とコードに基づいてAVNSを検出することは可能であるが、コード進行から調を自動検出するのは困難であった。すなわち、典型的なコード進行であれば比較的容易に調を自動検出することができるが、コード進行の途中で転調している場合は、転調を自動検出するのが容易ではなく、特に典型的なコード進行ではない場合には転調の検出は困難であった。このため、コードに適合したAVNSを決定するのが困難であった。
この発明の目的は、転調を検出することなくコードに適合したAVNSを決定することができる新規なAVNS決定装置を提供することにある。
この発明に係るAVNS決定装置は、
コード進行を構成する一連のコードにおいて連続する3つのコードを進行順に第1、第2及び第3のコードとしたときに該第1〜第3のコードのうち第2のコードに関して1又は複数のAVNS候補を抽出する抽出手段と、
この抽出手段により抽出された1又は複数のAVNS候補のうちから、前記第1及び第3のコードのうちの少なくとも一方のコードの構成音を含むAVNS候補を検出する検出手段と、
この検出手段で検出されたAVNS候補が1つであったときは該1つのAVNS候補を前記第2のコードに対するAVNSとして決定すると共に、前記検出手段で検出されたAVNS候補が複数であったときは該複数のAVNS候補のうちから予め指定された調の音階音を最も多く含む1つのAVNS候補を自動的に選択して前記第2のコードに対するAVNSとして決定する決定手段と
を備えたものである。
この発明のAVNS決定装置によれば、検出手段は、第2コードに関して抽出された1又は複数のAVNS候補のうちから、第1及び第3のコードのうちの少なくとも一方のコードの構成音を含むAVNS候補を検出し、決定手段は、検出に係るAVNS候補が1つであれば該1つのAVNS候補を第2のコードに対するAVNSとして決定し、検出に係るAVNS候補が複数であれば該複数のAVNS候補のうちから予め指定された調の音階音を最も多く含む1つのAVNS候補を自動的に選択して第2のコードに対するAVNSとして決定する。このように、着目コード(第2のコード)の前コード(第1のコード)及び/又は後コード(第3のコード)の構成音を含むAVNS候補を検出して着目コードに対するAVNSとするので、着目コードに適合したAVNSを決定可能となる。
この発明のAVNS決定装置において、検出手段は、第1及び第3のコードの構成音のうちから第1及び第3のコードに共通する共通音を検出すると共に該共通音を最も多く含む1つのAVNS候補を抽出に係る複数のAVNS候補のうちから検出する構成にしてもよく、あるいは抽出に係る複数のAVNS候補のうちの各AVNS候補毎に該AVNS候補に含まれる第1のコードの構成音の数と該AVNS候補に含まれる第3のコードの構成音の数とを検出すると共に第1及び第3のコードのうちの少なくとも一方のコードについて検出に係る構成音数が最も多い1つのAVNS候補を抽出に係る複数のAVNS候補のうちから検出する構成にしてもよい。このような構成にすると、着目コード(第2のコード)に対する適合性が一層良好なAVNSを決定可能となる。
この発明によれば、着目コードに関して抽出された1又は複数のAVNS候補のうちから着目コードの前コード及び/又は後コードの構成音を含む1つのAVNS候補を検出したときは該1つのAVNS候補を着目コードに対するAVNSとし、着目コードに関して抽出された1又は複数のAVNS候補のうちから着目コードの前コード及び/又は後コードの構成音を含む複数のAVNS候補を検出したときは該複数のAVNS候補のうちから1つのAVNS候補を選択して着目コードに対するAVNSとする構成にしたので、転調を検出することなく着目コードに適合したAVNSを決定可能となる効果が得られる。
図1は、この発明の一実施形態に係るメロディ生成装置を備えた電子楽器の回路構成を示すもので、この電子楽器は、パーソナルコンピュータ等の小型コンピュータによってメロディ生成、コード進行データ作成、AVNS決定、楽音発生等が制御されるようになっている。
バス10には、CPU(中央処理装置)12、ROM(リード・オンリィ・メモリ)14、RAM(ランダム・アクセス・メモリ)16、検出回路18,20、表示回路22、音源回路24、効果回路26、外部記憶装置28、MIDI(Musical Instrument Digital Interface)インターフェース30、通信インターフェース32、タイマ34等が接続されている。
CPU12は、ROM14にストアされたプログラムに従ってメロディ生成、コード進行データ作成、AVNS決定のための各種処理を実行するもので、これらの処理については図5,8〜10,13,14を参照して後述する。
ROM14には、プログラムの他に、スケール音テーブル及びAVNS検出テーブルが記憶されている。スケール音テーブルは、図3に示すようにアイオニアン・スケール、ドリアン・スケール、フリジアン・スケール…等の各AVNS毎に主音からの音程0〜11に対応する12音のうちのどの音がスケール音でどの音が非スケール音かを表わすもので、スケール音については1が、非スケール音については0がそれぞれ記憶される。図3のスケール音テーブルを参照することにより各AVNS毎にスケール音のピッチを求めることができる。例えば、アイオニアン・スケールについては、コードのルート(根音)を主音としてそのノートナンバをNとすると、7つのスケール音のピッチは、N,N+2,N+4,N+5,N+7,N+9,N+11でそれぞれ表わされる。
AVNS検出テーブルは、コード又はコード群毎に対応するAVNSを指示するもので、図7には一例としてCメジャー調におけるダイアトニックコード及びセカンダリドミナントコードについてAVNSを示す。例えば、C,C6,CM7の3コードについてはAVNSとしてアイオニアン・スケールを指示するスケールデータSCが記憶され、C7のコードについてはAVNSとしてミクソリディアン・スケールを指示するスケールデータSCが記憶される。図7のテーブルを参照することにより例えば図6のコードCM7のようにスケールデータを記憶しなかったコードに対応するAVNSを検出することができる。なお、図7では、テンション付きコードの表記を省略してある。
RAM16は、CPU12による各種処理に際して使用される種々の記憶部を含むもので、この発明の実施に関係する主な記憶部としては、コード進行データ記憶部16A、リズムデータ記憶部16B、コードデータ記憶部16C、スケールデータ記憶部16D、区間データ記憶部16E、曲データ記憶部16F等を含んでいる。
検出回路18は、鍵盤36から鍵操作情報を検出するものである。検出回路20は、スイッチ群38から各種スイッチの操作情報を検出するものである。スイッチ群38は、一例として文字入力及び数値入力が可能なキーボードからなる。
表示回路22は、表示器40の表示動作を制御することにより各種の表示を可能にするものである。
音源回路24は、複数の楽音発生チャンネルを有するものである。
効果回路26は、音源回路24から発生される楽音信号にコーラス、リバーブ等の効果を付加するものである。効果回路26から送出される楽音信号は、サウンドシステム42に供給され、音響に変換される。
外部記憶装置28は、HD(ハードディスク)、FD(フレキシブルディスク)、CD(コンパクトディスク)、DVD(ディジタル多目的ディスク)、MO(光磁気ディスク)等のうち1又は複数種類の記憶媒体を着脱可能なものである。外部記憶装置28に所望の記憶媒体を装着した状態では、記憶媒体からRAM16へデータを転送可能である。また、装着した記憶媒体がHDやFDのように書込可能なものであれば、RAM16のデータを記憶媒体に転送可能である。
外部記憶装置28に装着する記憶媒体には、メロディ生成用の複数のコード進行データが記憶される。図5のメロディ生成処理を行なう場合、記憶媒体には、図2に示すようなコード進行データCP,CP2…が記憶される。コード進行データCPは、1曲分のコード進行を構成する複数のコードをそれぞれ指示する複数のコードデータCD,CD2…を含むと共に、コードデータCD,CD2…にそれぞれ対応する複数のAVNSを指示する複数のスケールデータSC,SC2…を含むものである。一例として、1曲の長さは、32小節(4小節を1楽節として8楽節)とし、各小節毎にコードデータ及びスケールデータを記憶し、コードデータ CD,CD2…は、Cメジャー調を基準として記憶する。他のコード進行データCP,CP…も、コード進行データCPと同様のフォーマットで記憶される。
図8又は9のメロディ生成処理あるいは図10のコード進行データ作成処理を行なう場合、外部記憶装置28の記憶媒体には、図6に示すようなコード進行データCP11,CP12…が記憶される。コード進行データCP11は、前述したコード進行データCPからコードデータCD,CD,CD等にそれぞれ対応するスケールデータを削除したものに相当する。コード進行に適合したメロディを得るためには、図2に示したようにコード毎に予めAVNSを指定するのが最も好ましいが、例えばノンダイアトニックコードや特にAVNS指定の必要性が高いダイアトニックコード等についてだけ予めAVNSを指定しておけば他のダイアトニックコードとそのテンションコード及びセカンダリードミナントコード等については図7に示したようなAVNS検出テーブルを参照して検出したAVNSを用いても差支えがないことがある。そこで、図6のコード進行データCP11では、CD,CD等のコードデータについてのみSC,SC等のスケールデータを記憶し、CD,CD,CD等のコードデータについてはスケールデータの記憶を省略したものである。スケールデータを記憶してないCD,CD,CD等のコードデータについては、図7のAVNS検出テーブルを参照してAVNSを検出することができる。他のコード進行データCP12,CP13…も、コード進行データCP11と同様のフォーマットで記憶される。
図2,6の例では、Cメジャー調を基準としてコードデータを記憶したが、任意の調を基準としてコード進行データを記憶してもよい。図6に示したように部分的にスケールデータが欠如したコード進行データを任意の調で記憶する場合は、基準とした調を指示する調データをコード進行データ中に含ませておくとよい。このようにすると、図7のAVNS検出テーブルを用いてAVNSを検出する際に基準とした調とCメジャー調との主音の差だけ各コードのルート(根音)をシフトすればCメジャー調の場合と同様にAVNSを検出することができる。なお、基準とした調を記憶しない場合は、コード進行を分析して調を求めたり、ユーザに調を指定させたりすればよい。
コード進行データの記憶フォーマットは、図2,6に示したように1小節等の演奏区間毎にコードを記憶するものに限らない。例えば、1拍毎又は2拍毎にコードを記憶するようにしてもよく、あるいはコード変化のあったタイミングを指示するタイミングデータと変化後のコードを指示するコードデータとを組にして記憶するイベント記憶方式を用いてもよい。また、部分的にスケールデータを欠如するコード進行データの記憶フォーマットとしては、図6に示したように各コード毎にAVNS記憶エリアを確保するものに限らず、各コード毎にAVNS指定の有無を示すフラグデータを記憶すると共にフラグデータによりAVNS指定ありが示されるコードについてのみAVNSを指示するスケールデータを記憶するようにしてもよい。このようにすると、フラグデータによりAVNS指定なしが示されるコードデータについてはスケールデータを記憶する記憶エリアが不要となり、記憶容量の低減が可能となる。
コード進行データを記憶する記憶手段として、外部記憶装置28の代りにROM14又はRAM16を用いてもよい。また、プログラム記憶手段としては、ROM14の代りに外部記憶装置28の記憶媒体(前述のHD,FD,CD,DVD,MO等)を用いることができる。この場合、記憶媒体に記憶したプログラムは、外部記憶装置28からRAM16へ転送する。そして、RAM16に記憶したプログラムに従ってCPU12を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
MIDIインターフェース30は、自動演奏装置等の他のMIDI機器44との間で演奏情報等の送受信を行なうために設けられたものである。
通信インターフェース32は、通信ネットワーク(例えばLAN(ローカル・エリア・ネットワーク)、インターネット、電話回線等)46を介して他のコンピュータ48と情報通信を行なうために設けられたものである。この発明の実施に必要なプログラムや各種データは、コンピュータ48から通信ネットワーク46及び通信インターフェース32を介してRAM16又は外部記憶装置28へダウンロード要求に応じて取込むようにしてもよい。
タイマ34は、与えられるテンポデータに対応する周期でテンポクロック信号TCLを発生するもので、テンポクロック信号TCLは、割込命令としてCPU12に供給される。CPU12は、テンポクロック信号TCLの各クロックパルス毎に割込処理を開始する。このような割込処理を利用することにより記憶部16Fの曲データ(メロディデータ)に基づいて自動演奏を行なうことができる。
上記した電子楽器において、CPU12は、鍵盤36で鍵が押されるたびに、押された鍵に対応する音高情報と発音命令信号とを音源回路24に供給する。音源回路24は、音高情報及び発音命令信号に応じて、押された鍵に対応する音高を有する楽音信号を発生する。このようにしてマニュアル演奏音の発生が可能となる。
次に、上記した電子楽器における曲生成処理の概要を図4を参照して説明する。ステップ50では、1曲分のメロディのリズム(打点又は発音タイミング)を表わすリズムデータを生成し、RAM16の記憶部16Bに記憶させる。1曲分のメロディのリズムを生成する方法としては、1曲分のメロディのリズムパターンテンプレートを多数記憶しておき、ユーザが拍子、ジャンル、楽節構成等の作曲条件を指定するのに応じて該作曲条件に合うリズムパターンテンプレートを自動的に選択する方法、記憶した多数のリズムパターンテンプレートの中からユーザが任意のものを選択する方法、1小節等の短区間のリズムパターンテンプレートを多数記憶しておき、ユーザが拍子、ジャンル、楽節構成等の作曲条件を指定するのに応じて該作曲条件を満たすように短区間のリズムパターンテンプレートを自動的につなぎ合せて1曲分のメロディのリズムを生成する方法、ユーザがモチーフとなるリズムパターンを入力し、このリズムパターンを演算等により発展させて1曲分のメロディのリズムを生成する方法のうちいずれかの方法を採用可能であるが、これら以外の方法を採用してもよい。
ステップ52では、外部記憶装置28からCP,CP…等のコード進行データのうちユーザが望むものを選択してRAM16の記憶部16Aに読出す。そして、記憶部16Aのコード進行データと記憶部16Bのリズムデータとに基づいて1曲分のメロディを生成し、生成メロディを表わすメロディデータをRAM16の記憶部16Fに書込む。メロディ生成処理としては、図5に関して後述する処理を採用することができる。
外部記憶装置28からは、図6に示したCP11,CP12…等のコード進行データのうちユーザが望むものを選択して記憶部16Aに読出すこともできる。このようにした場合、メロディ生成処理としては、図8又9に示す処理を採用することができる。
ステップ54では、記憶部16Fの曲データに基づいて曲生成(自動演奏)を行なったり、記憶部16Fの曲データを外部記憶装置28に転送して保存したりする。
ステップ56では、外部記憶装置28(又はROM14)からAP,AP…等の伴奏パターンのうちユーザが望むものを選択してRAM16内の所定の記憶エリア(図示せず)に読出す。そして、記憶部16Aのコード進行データと所定の記憶エリアの伴奏パターンとに基づいて1曲分の伴奏生成(自動伴奏)行なう。この伴奏生成(自動伴奏)は、ステップ54での曲生成(自動演奏)と鍵盤36でのマニアル演奏とのうちの一方又は双方に対する伴奏とすることができる。
ステップ56の伴奏生成(自動伴奏)では、記憶部16Aのコード進行データ中のコードデータに基づいて伴奏パターン中のピッチを適宜修正して伴奏音を生成する。このとき、コードデータだけでなく、コード進行データ中のAVNSを利用すると、適切なテンションノート等を使うことで一層豊かな伴奏音を生成することができる(特開平10−78779号公報参照)。
コード進行データや伴奏パターンを選択する方法としては、ユーザが拍子、ジャンル等の条件を指定するのに応じて該条件に合うものを自動的に選択する方法、各コード進行データや各伴奏パターンに対してそのイメージを表わす言葉(例えば「さわやか」、「都会的な」等)を対応させておき、ユーザが所望の言葉を指定するのに応じて対応するコード進行データや伴奏パターンを自動的に選択する方法のうちいずれかの方法を採用可能であるが、これら以外の方法を採用してもよい。
コード進行データを記憶する際には、コード進行データと他のデータとを組にして記憶したり、コード進行データと他のデータとの対応関係を記憶したりしてもよい。この場合、他のデータとしては、リズム生成のためのデータ(拍子、ジャンル、楽節構成等のデータ)、伴奏パターン選択のためのデータ(拍子、ジャンル等のデータ)等を記憶したり、コード進行データに対応させたりすればよい。このようにすると、コード進行に適合したリズムや伴奏を生成可能となる。
図5は、メロディ生成処理の第1の例を示すものである。ステップ60では、記憶部16Aからコード進行データにおける先頭のコードデータを読出して記憶部16Cに書込む。一例として、記憶部16Aには、図2のコード進行データCPが書込まれているものとすると、ステップ60では、記憶部16CにコードデータCDが書込まれる。
次に、ステップ62では、記憶部16Cのコードデータに関して指定されているAVNSを取得する。すなわち、記憶部16Cのコードデータの指示するコードに対応するAVNSを指示するスケールデータを記憶部16Aから読出して記憶部16Dに書込む。前述例のように記憶部16CにはコードデータCDが書込まれているものとすると、ステップ62では、記憶部16DにスケールデータSCが書込まれる。
次に、ステップ64では、記憶部16Cのコードデータに対応する区間の打点(発音タイミング)を取得する。すなわち、記憶部16Bの1曲分のリズムデータから記憶部16Cのコードデータに対応する区間(小節)のリズムデータを抽出して記憶部16Eに書込む。前述例のように記憶部16CにはコードデータCDが書込まれているものとすると、ステップ64では、記憶部16Eに1小節目のリズムデータが書込まれる。
次に、ステップ66では、ステップ64での取得に係る区間の打点に対してステップ62での取得に係るAVNS内の音のピッチを付与する。すなわち、記憶部16Eのリズムデータの指示する打点に対して記憶部16Dのスケールデータの指示するAVNS内の音のピッチを付与する。このときのピッチ付与では、前述したように図3のスケール音テーブルを参照して記憶部16Dのスケールデータの指示するAVNS内のすべてのスケール音(コード構成音及び非コード構成音)のピッチを求め、求めたスケール音のピッチの中からピッチ付与を行なう。
ピッチ付与方法としては、AVNS内の音のピッチをランダムに選択して各打点に付与する方法を用いることができる。この場合、区間内の複数の打点のうち重要音(強拍音又はその近くに位置する音)にはコード構成音のピッチをランダムに選択して付与し、それ以外の音にはAVNS内のコード構成音以外の音(非コード構成音)のピッチをランダムに選択して付与することができる。打点に対してコード構成音のピッチを付与するには、AVNSを求めた上でそのAVNS内のコード構成音のピッチを付与する方法に限らず、コードデータに基づいてコード構成音を求めた上でそのコード構成音のピッチを付与するようにしてもよい。
上記のようにAVNS内の音のピッチをランダムに選択してピッチを付与する場合、完全なランダム選択ではなく、音楽ルールや指定された作曲条件を満たす音のピッチの中からランダムに選択するようにしてもよい。他のピッチ付与方法としては、スイッチ群38を構成するキーボードに付属したマウス等でピッチ変化を示す折れ線や曲線を表示器40の画面上に描き、これを打点位置毎にサンプリングしてサンプリングで得られた値をAVNS内の最も近い音のピッチに修正して採用するようにしてもよい。この場合、重要音については最も近いコード構成音のピッチに修正して採用してもよい。
ステップ66において記憶部16Eのリズムデータの指示する各打点に対するピッチ付与が終ったときは、各打点毎にピッチを表わすリズムデータからなる区間メロディデータを記憶部16Eから読出して記憶部16Fに書込む。前述例のように記憶部16Eには1小節目のリズムデータが、記憶部16DにはスケールデータSCがそれぞれ書込まれているものとすると、ステップ66では、1小節目のリズムデータの指示する各打点に対してスケールデータSCの指示するアイオニアン・スケール内の音のピッチを付与することにより1小節目のメロディデータが生成され、このメロディデータが記憶部16Eから記憶部16Fに転送される。
次に、ステップ68では、記憶部16Aに次のコードデータありか判定する。この判定の結果が肯定的(Y)であればステップ69に移り、記憶部16Aから次のコードデータを読出して記憶部16Cに書込む。そして、記憶部16Cに書込まれたコードデータに関してステップ62〜66の処理を上記したと同様に実行する。一例として、ステップ69において記憶部16Cに図2のコードデータCDが書込まれたものとすると、ステップ66では、記憶部16Eの2小節目のリズムデータの指示する各打点に対して記憶部16DのスケールデータSCの指示するドリアン・スケール内の音のピッチを付与することにより2小節目のメロディデータが生成され、このメロディデータが記憶部16Eから記憶部16Fに転送される。
この後は、3小節目以降の各コードデータについて上記したと同様にメロディ生成処理が行なわれる。最終小節に関してステップ66の処理が終ると、ステップ68の判定結果が否定的(N)となり、処理エンドとする。処理エンド時において、記憶部16Fには、1曲分のメロディを表わすメロディデータが記憶されている。
図8は、メロディ生成処理の第2の例を示すものである。ステップ70では、記憶部16Aからコード進行データにおける先頭のコードデータを読出して記憶部16Cに書込む。一例として、記憶部16Aには、図6のコード進行データCP11が書込まれているものとすると、ステップ70では、記憶部16CにコードデータCDが書込まれる。
次に、ステップ72では、記憶部16CのコードデータはAVNS指定ありか判定する。すなわち、記憶部16Cのコードデータの指示するコードに対応したAVNSを指示するスケールデータが記憶部16Aに記憶されているか判定する。この判定の結果が肯定的(Y)であればステップ74に移り、前述のステップ62と同様にして記憶部16Cのコードデータに関して指定されているAVNSを取得する。この結果、記憶部16Dには、記憶部16Cのコードデータに対応するスケールデータが書込まれる。
ステップ72の判定結果が否定的(N)であったときは、ステップ76で図7のAVNS検出テーブルを参照してAVNSを取得する。すなわち、記憶部16Cのコードデータの指示するコードに対応したAVNSを指示するスケールデータを図7のAVNS検出テーブルから読出して記憶部16Dに書込む。前述例のように記憶部16CにコードデータCDが書込まれているものとすると、ステップ76では、コードデータCDの指示するコード「CM9」に対応するAVNSを指示するスケールデータを図7のAVNS検出テーブルから読出して記憶部16Dに書込む。なお、「CM9」は、コード「C」にテンション音が付加されたテンションコードであり、図7においてはその表記が省略されているが、この「CM9」に対応するAVNSは、「アイオニアン・スケール」である。
ステップ74又は76の処理が終ったときは、ステップ78に移り、前述のステップ64と同様にして記憶部16Cのコードデータに対応する区間の打点を取得する。前述例のように記憶部16CにはコードデータCDが書込まれているものとすると、ステップ78では、記憶部16Eに1小節目のリズムデータが書込まれる。
次に、ステップ80では、前述のステップ66と同様にしてステップ78での取得に係る区間の打点に対してステップ74又は76での取得に係るAVNS内の音のピッチを付与する。そして、各打点毎にピッチが付与されたリズムデータからなる区間メロディデータを記憶部16Eから記憶部16Fに転送する。前述例のように記憶部16Eには1小節目のリズムデータが、記憶部16Dには「CM9」対応のスケールデータがそれぞれ書込まれているものとすると、ステップ80では、1小節目のリズムデータの指示する各打点に対して「CM9」対応のスケールデータの指示するAVNS内の音のピッチを付与することにより1小節目のメロディデータが生成され、このメロディデータが記憶部16Eから記憶部16Fに転送される。
次に、ステップ82では、記憶部16Aに次のコードデータありか判定する。この判定の結果が肯定的(Y)であればステップ84に移り、記憶部16Aから次のコードデータを読出して記憶部16Cに書込む。そして、記憶部16Cに書込まれたコードデータに関してステップ72〜80の処理を上記したと同様に実行する。一例として、ステップ84において記憶部16Cに図6のコードデータCDが書込まれたものとすると、ステップ74では、記憶部16Dに図6のスケールデータSCが書込まれる。そして、ステップ80では、記憶部16Eの2小節目のリズムデータの指示する各打点に対して記憶部16DのスケールデータSCの指示するドリアン・スケール内の音のピッチを付与することにより2小節目のメロディデータが生成され、このメロディデータが記憶部16Eから記憶部16Fに転送される。
この後は、3小節目以降の各コードデータについて上記したと同様にメロディ生成処理が行なわれる。最終小節に関してステップ80の処理が終ると、ステップ82の判定結果が否定的(N)となり、処理エンドとする。処理エンド時において、記憶部16Fには、1曲分のメロディを表わすメロディデータが記憶されている。
図9は、メロディ生成処理の第3の例を示すものである。この例において、ステップ90,92,94,98,100,102,104は、図8のステップ70,72,74,78,80,82,84とそれぞれ同様の処理であるので、詳細な説明を省略する。
図9のメロディ生成処理の特徴は、ステップ92の判定結果が否定的(N)であった(記憶部16Aにコードデータ対応のスケールデータが記憶されていなかった)とき、ステップ96でコード進行における調のスケールを取得し、ステップ100でピッチを付与する際に取得に係る調のスケール内の音のピッチを採用するようにしたことである。
一例として、記憶部16Aには図6のコード進行データCP11が書込まれており、ステップ90では記憶部16Cに図6のコードデータCDを読出したものとすると、コードデータCDに対応するスケールデータが記憶部16Aに記憶されていないので、ステップ92の判定結果が否定的(N)となり、ステップ96においてコード進行における調(この例ではCメジャー調)のスケールすなわちダイアトニックスケールを指示するスケールデータを記憶部16Dに書込む。
次に、ステップ98では、コードデータCDに対応する1小節目のリズムデータを記憶部16Bから記憶部16Eに転送する。そして、ステップ100では、記憶部16Eのリズムデータの指示する各打点に対して記憶部16Dのスケールデータの指示する調のスケール内のピッチを付与することにより1小節目のメロディデータを生成し、このメロディデータを記憶部16Eから記憶部16Fに転送する。
ダイアトニックコードについては、AVNSと調のスケールが実質的に同一であるので、図9のメロディ生成処理によっても適切なメロディピッチを付与することができる(但し、セカンダリードミナントコードには対応できない)。
図10は、コード進行データ作成処理を示すものである。ステップ110では、記憶部16Aからコード進行データにおける先頭のコードデータを読出して記憶部16Cに書込む。一例として、記憶部16Aには、図6のコード進行データCP11が書込まれているものとすると、ステップ110では、記憶部16CにコードデータCDが書込まれる。
次に、ステップ112では、前述のステップ72と同様にして記憶部16CのコードデータはAVNS指定ありか(スケールデータが記憶部16Aに記憶されているか)判定する。この判定結果が否定的(N)であればステップ114に移り、前述のステップ76と同様にして図7のAVNS検出テーブルを参照して記憶部16Cのコードデータに対応するAVNSを取得し、取得に係るAVNSを指示するスケールデータを記憶部16Cのコードデータに対応して記憶部16Aに書込む。前述例のように記憶部16CにコードデータCDが書込まれているものとすると、ステップ114では、コードデータCDの指示するコード「CM9」に対応するAVNSを指示するスケールデータを図7のAVNS検出テーブルから読出し、コードデータCDに対応して記憶部16Aに書込む。
ステップ112の判定結果が肯定的(Y)であったとき又はステップ114の処理が終ったときは、ステップ116において記憶部16Aに次のコードデータありか判定する。この判定結果が肯定的(Y)であればステップ118に移り、記憶部16Aから次のコードデータを読出して記憶部16Cに書込む。そして、記憶部16Cに書込まれたコードデータに関してステップ112,114の処理を上記したと同様に実行する。
前述例のようにステップ114でコードデータCDに関する処理を行なったときは、ステップ118で記憶部16CにコードデータCDが読出される。コードデータCDについてはスケールデータSCが記憶部16Aに記憶されているのでステップ112の判定結果が肯定的(Y)となり、ステップ114を経ずにステップ116に移る。
この後は、3小節目以降の各コードデータについて上記したと同様にAVNS指定の有無を判定し、AVNS指定なしであればステップ114でAVNSを取得して記憶部16Aに書込む。最終小節に関してステップ112又は114の処理が終ると、ステップ116の判定結果が否定的(N)となり、処理エンドとする。処理エンド時において、記憶部16Aのコード進行データは、図6のCP11に示すように部分的にスケールデータを欠如した状態から図2のCPに示すようにスケールデータを完備した状態に変化している。
図10の処理で作成されたコード進行データは、図5に関して前述したメロディ生成処理や図4に関して前述した自動伴奏処理において利用可能である。
次に、図11を参照してAVNS決定処理の概要を説明する。記憶部16P,16Q,16R,16S,16Tは、いずれも図1のRAM16に属するもので、それぞれコード進行データ,着目コードデータ,前コードデータ,後コードデータ,調データを記憶する。コード進行データは、例えば1曲分のコード進行を構成する複数のコードをそれぞれ指示する複数のコードデータを含むもので、曲の調を指示する調データと共に取得される。
調データ及びコード進行データを取得する方法としては、例えばROM14又は外部記憶装置28に設けたコード進行データベースからユーザが所望の調データ付きのコード進行データを選択する方法、ユーザが鍵盤36やスイッチ群38等により所望の調データ及びコード進行データを入力する方法、ユーザの指示に応じて調データ付きのコード進行データを自動生成する方法等を利用可能である。いずれかの方法で取得された調データ及びコード進行データのうち、調データは記憶部16Tに記憶されると共にコード進行データは記憶部16Pに記憶される。記憶部16Pには、コード進行データを構成する各コードデータに対応してAVNSを指示するスケールデータを記憶可能になっている。
AVNS決定処理120では、記憶部16Pに記憶されたコード進行データを構成する各コードデータ毎に該コードデータが示すコードに対するAVNSを決定し、各コードデータ毎に決定に係るAVNSを指示するスケールデータASDを例えば図2のCPに示したのと同様のフォーマットで記憶部16Pに記憶させる。AVNS決定の際には、AVNSを決定すべきコードデータを記憶部16Pから読出し、着目コードデータとして記憶部16Qに記憶させる。また、着目コードデータの直前のコードデータ及び直後のコードデータを記憶部16Pから読出し、それぞれ前コードデータ及び後コードデータとして記憶部16R及び16Sに記憶させる。ただし、コード進行の先頭のコードについてAVNSを決定するときは、前コードデータが存在しないので、記憶部16Tの調データが指示する調のトニックコードを表わすトニックコードデータを記憶部16Rに記憶させ、コード進行の最後のコードについてAVNSを決定するときは、後コードデータが存在しないので、前コードデータの場合と同様に調のトニックコードを表わすトニックコードデータを記憶部16Sに記憶させる。
AVNSテーブル122は、図12に一例を示すように1又は複数のコードタイプ毎に1又は複数のAVNSを表わすもので、例えばROM14又は外部記憶装置28に記憶される。図12には、コード及びAVNSについて使用する調(メジャー又はマイナー)を示した。図12の例では、ダイアトニックコードにおけるスケールのみを示した。1つのコードタイプが複数のスケールに対応することがあるが、これは1つのコードタイプであってもコード機能が違えばスケールも違うことを意味している。例えばCメジャー調において、メジャー(M)はトニック(C)とサブドミナント(F)で使用され、このときのスケールはトニックに対応してアイオニアン・スケールとなり、サブドミナントに対応してリディアン・スケールとなる。
AVNS決定の際には、記憶部16Qの着目コードデータが指示する着目コード毎にAVNSテーブル122を参照して該着目コードに対応するAVNS候補を抽出する。そして、抽出に係るAVNS候補が「m7♭5」の場合の「ロクリアン・スケール」のように1つだけあればその1つのAVNS候補を着目コードに対するAVNSとして決定し、「M」の場合の「アイオニアン・スケール,リディアン・スケール」のように複数であれば記憶部16Rの前コードデータ及び記憶部16Sの後コードデータを参照して前コード及び後コードのうちの少なくとも一方のコードの構成音を含む1つのAVNS候補を抽出に係る複数のAVNS候補のうちから検出し、この検出に係る1つのAVNS候補を着目コードに対するAVNSとして決定する。また、前コード及び後コードのうちの少なくとも一方のコードの構成音を含む複数のAVNS候補を抽出に係る複数のAVNS候補のうちから検出すると共にこの検出に係る複数のAVNS候補のうちから1つのAVNS候補を選択し、この選択に係る1つのAVNS候補を着目コードに対するAVNSとして決定する。
図13,14は、AVNS決定処理の流れを示すものである。ステップ130では、調データと共にコード進行を取得する。すなわち、前述したいずれかの取得方法により調データ及びコード進行データを取得し、調データは記憶部16Tに、コード進行データは記憶部16Pにそれぞれ記憶させる。
次に、ステップ132では、コード進行から着目コード、前コード及び後コードを取得する。すなわち、記憶部16Pから着目コードデータを読出して記憶部16Qに書込むと共に記憶部16R,16Sにそれぞれ前コードデータ及び後コードデータを書込む。コード進行の先頭のコードを着目コードとするときは、前コードデータとして調のトニックコードを表わすトニックコードデータを記憶部16Rに書込み、着目コードの次のコードデータを記憶部16Pから読出して後コードデータとして記憶部16Sに書込む。この後、ステップ134に移る。
ステップ134では、着目コードに対応するAVNS候補をAVNSテーブル122から抽出する。すなわち、記憶部16Qの着目コードデータが指示する着目コードに対応するAVNS候補をAVNSテーブル122から読出してRAM16内の候補レジスタ(図示せず)にセットする。このときセットされるAVNS候補は、1つのときもあれば、複数のときもある。
次に、ステップ136では、候補レジスタ内のAVNS候補が複数か判定する。この判定の結果が否定的(N)であれば、AVNS候補が1つであったことになり、図14のステップ138に移る。
ステップ138では、候補レジスタ内の1つのAVNS候補を着目コードに対するAVNSとして決定する。そして、決定に係るAVNSを指示するスケールデータASDを着目コードデータに対応して記憶部16Pに書込む。
一方、ステップ136の判定結果が肯定的(Y)であったときは、ステップ140に移り、前コードの構成音と後コードの構成音とに共通する共通音を検出する。すなわち、記憶部16Rの前コードデータが指示するコードの構成音と、記憶部16Sの後コードデータが指示するコードの構成音とのうちから両者に共通する音を検出する。例えば、前コードの構成音がB♭,D,Fであり、後コードの構成音がE♭,G,B♭であれば、共通音はB♭となる。
次に、ステップ142では、共通音ありか判定する。この判定の結果が肯定的(Y)であればステップ144に移り、ステップ134での抽出に係る複数のAVNS候補のうちに、共通音を含むAVNS候補があるか判定する。この判定の結果が肯定的(Y)であればステップ146に移り、ステップ134での抽出に係る複数のAVNS候補のうちに、共通音を最も多く含むAVNS候補が複数あるか判定する。この判定の結果が否定的(N)であったときは、共通音を最も多く含むAVNS候補が1つであったことになり、ステップ138に移る。
ステップ138では、共通音を最も多く含む1つのAVNS候補を着目コードに対するAVNSとして決定すると共に、決定に係るAVNSを指示するスケールデータASDを前述したと同様にして記憶部16Pに書込む。
ステップ142又は144の判定結果が否定的(N)であった(共通音がないか、あってもそれを含むAVNS候補がなかった)とき、あるいはステップ146の判定結果が肯定的(Y)であった(共通音を最も多く含むAVNS候補が複数あった)ときは、ステップ148に移る。
ステップ148では、ステップ134での抽出に係る複数のAVNS候補のうちの各AVNS候補毎に該AVNS候補に含まれる前コードの構成音の数と該AVNS候補に含まれる後コードの構成音の数とを検出する。このとき、前コード及び後コードは、それぞれ記憶部16Rの前コードデータ及び記憶部16Sの後コードデータによって指示される。
次に、ステップ150では、ステップ134での抽出に係る複数のAVNS候補のうちに、前コード又は後コードのいずれかのコードの構成音を含むAVNS候補があるかステップ148の検出結果に基づいて判定する。この判定の結果が肯定的(Y)であればステップ152に移り、ステップ134での抽出に係る複数のAVNS候補のうちに、コード構成音を最も多く含むAVNS候補が複数あるかステップ148の検出結果に基づいて判定する。
1つのAVNS候補がコード構成音を含む態様としては、(a)前コードの構成音のみを含むもの、(b)後コードの構成音のみを含むもの、(c)前コード及び後コードの双方の構成音を含むものがありうる。1つのAVNS候補に含まれるコード構成音数としては、態様(a)では前コードについて含まれる構成音数を採用し、態様(b)では後コードについて含まれる構成音数を採用し、態様(c)では前後のコードについて含まれる構成音数が等しければその等しい数を採用し、等しくなければ多い方の数(例えば2音と3音ならば3音)を採用する。このようにして各AVNS候補毎に含まれるコード構成音数を求めた上で、求めたコード構成音数が最も多いAVNS候補が複数あるかステップ152で判定する。この判定の結果が否定的(N)であったときは、コード構成音を最も多く含むAVNS候補が1つであったことになり、ステップ138に移る。
ステップ138では、コード構成音を最も多く含む1つのAVNS候補を着目コードに対するAVNSとして決定し、決定に係るAVNSを指示するスケールデータASDを前述したと同様にして記憶部16Pに書込む。
ステップ150の判定結果が否定的(N)であった(前コード又は後コードのいずれかのコードの構成音を含むAVNS候補がなかった)とき、あるいはステップ152の判定結果が肯定的(Y)であった(コード構成音を最も多く含むAVNS候補が複数あった)ときは、ステップ154に移る。
ステップ150からステップ154にきた場合には、ステップ154において、ステップ134での抽出に係る複数のAVNS候補のうちから、調の音階音を最も多く含む1つのAVNS候補を選択する。また、ステップ152からステップ154にきた場合には、ステップ154において、ステップ152での判定に係る複数のAVNS候補のうちから、調の音階音を最も多く含む1つのAVNS候補を選択する。いずれの場合にも、調は、記憶部16Tの調データによって指示される。AVNS候補の選択の後、ステップ154では、選択に係る1つのAVNS候補を着目コードに対するAVNSとして決定すると共に、決定に係るAVNSを指示するスケールデータASDを着目コードデータに対応して記憶部16Pに書込む。
ステップ154において、AVNS候補を選択する際には、調の音階音以外の要素を考慮して選択を行なうようにしてもよい。例えば、すでにコード進行に対応するメロディが存在する場合には、着目コードの区間における該メロディの構成音をより多く含むAVNS候補を選択してもよい。また、前コード及び後コードのうち発音時間が長い方のコードの構成音を含むAVNS候補を選択してもよい。さらに、ユーザの音楽的好みを反映できるようにするため、ユーザが前コードの構成音を含むAVNS候補又は後コードの構成音を含むAVNS候補のいずれを選択するか指定できるようにしてもよい。
ステップ138又は154の処理が終ったときは、ステップ156に移り、記憶部16PにAVNSを決定すべき次のコードありか判定する。例えば、ステップ132でコード進行の先頭のコードを着目コードとした後初めてステップ156にきたときは、次のコードがあるので、ステップ156の判定結果が肯定的(Y)となり、ステップ158に移る。
ステップ158では、着目コードを次のコードに設定する。そして、ステップ132に戻り、前述したと同様にしてコード進行から着目コード、前コード及び後コードを取得する。例えば、着目コードが2番目のコード(先頭コードの次のコード)であったときは、記憶部16Q,16R,16Sにはそれぞれ先頭コード,2番目のコード,3番目のコードがセットされる。ステップ132の後は、前述したと同様にしてステップ134以降の処理を行なう。
上記のようにしてコード進行を構成するコードについて順次にAVNSを決定していくと、やがてステップ158ではコード進行の最後のコードを着目コードとする。そして、ステップ132に戻り、記憶部16Q,16R,16Sにはそれぞれ最後のコード,最後のコードの直前のコード,調のトニックコードをセットする。次に、ステップ134以降の処理を行ない、ステップ138又は154において、最後のコードに対するAVNSを決定すると共に、決定に係るAVNSを指示するスケールデータASDを前述したと同様にして記憶部16Pに書込む。この後、ステップ156で次のコードありか判定すると、判定結果が否定的(N)となり、処理エンドとする。
上記したAVNS決定処理によれば、コード進行を構成する各コード毎に該コードに適合したAVNSを自動的に決定することができる。このようなAVNS決定の具体例として例1〜3を順次に説明する。
〔例1〕コード進行がCメジャー調のB♭,F,E♭であり、着目コードがFである場合、AVNS候補は、
アイオニアン・スケール:F,G,A,B♭,C,D,E
リディアン・スケール:F,G,A,B,C,D,E
となり、前後コードの構成音は、
前コードB♭:B♭,D,F
後コードE♭:E♭,G,B♭
となる。ここで、共通音はB♭となり、共通音B♭を含むAVNS候補はアイオニアン・スケール1つとなる。従って、アイオニアン・スケールが着目コードFに対するAVNSとして決定される。
〔例2〕コード進行がCメジャー調のB♭,F,Cであり、着目コードがFである場合、AVNS候補は、
アイオニアン・スケール:F,G,A,B♭,C,D,E
リディアン・スケール:F,G,A,B,C,D,E
となり、前後コードの構成音は、
前コードB♭:B♭,D,F
後コードC:C,E,G
となる。ここで、共通音はない。アイオニアン・スケールに含まれる前コードB♭の構成音は、B♭,D,Fの3音であり、アイオニアン・スケールに含まれる後コードCの構成音は、C,E,Gの3音である。また、リディアン・スケールに含まれる前コードB♭の構成音は、D,Fの2音であり、リディアン・スケールに含まれる後コードCの構成音は、C,E,Gの3音である。従って、コード構成音を最も多く含むAVNS候補は、アイオニアン・スケール及びリディアン・スケールの2つとなり、これらのスケール候補のうち調の音階音を最も多く含むAVNS候補は、Cメジャー調の音階音C,D,E,F,G,A,Bをすべて含むリディアン・スケールとなる。この結果、リディアン・スケールが着目コードFに対するAVNSとして決定される。
〔例3〕コード進行がCメジャー調のB♭,F,Dであり、着目コードがFである場合、AVNS候補は、
アイオニアン・スケール:F,G,A,B♭,C,D,E
リディアン・スケール:F,G,A,B,C,D,E
となり、前後コードの構成音は、
前コードB♭:B♭,D,F
後コードD:D,F♯,A
となる。ここで、共通音はDとなり、共通音Dを含むAVNS候補は、アイオニアン・スケール及びにリディアン・スケールとなる。アイオニアン・スケールに含まれる前コードB♭の構成音は、B♭,D,Fの3音であり、アイオニアン・スケールに含まれる後コードDの構成音は、D,Aの2音である。また、リディアン・スケールに含まれる前コードB♭の構成音は、D,Fの2音であり、リディアン・スケールに含まれる後コードDの構成音は、D,Aの2音となる。従って、コード構成音を最も多く含むAVNS候補は、アイオニアン・スケール1つとなり、アイオニアン・スケールが着目コードFに対するAVNSとして決定される。
上記したAVNS決定処理は、図8のステップ76又は図10のステップ114に関して前述したAVNS検出処理として利用可能であるのは勿論のこと、図2に示したようなコード進行データを作成する際に各コード毎にAVNSを決定するのに利用することができる。また、他の用途(例えば通常の自動作曲、自動伴奏、教習等)に利用してもよい。
上記したAVNS決定処理は、次の(イ)〜(ト)のような変更を加えて実施してもよい。
(イ)調データと共にコード進行データを取得するようにしたが、調データを取得せず、コード進行データのみを取得し、この後コード進行データに基づいて調を自動検出してもよい。この場合、部分的な転調を検出する必要はなく、コード進行全体を支配する調を検出すればよい。このコード進行全体の調検出は公知の技術であり、部分的な転調検出に比べて容易である。また、取得するコード進行を所定調(例えばCメジャー調)のみに限定したり、あるいは「調の音階音を最も多く含むAVNS候補を着目コードに対するAVNSとする」というステップを省略したりすれば、調データを与えなくてよい。
(ロ)図12に示したAVNSテーブルにおいて、ダイアトニックコードにおけるスケールのみを記憶するようにしたが、ノンダイアトニックコードにおけるスケールをも記憶するようにしてもよい。また、AVNSテーブルの記憶データ形式は、図12に示したものに限らない。
(ハ)前後コードに共通の構成音を含む1又は複数のAVNS候補を検出する処理(ステップ140〜146の処理)の後、前後コードのうちの少なくとも一方のコードの構成音を最も多く含む1又は複数のAVNS候補を検出する処理(ステップ148〜152の処理)を行なう例を示したが、これらの処理の順序を逆にしてもよく、あるいはいずれか一方の処理のみを行なうようにしてもよい。また、必ず両方の処理を行ない、異なる結果が出た場合は、いずれか一方の処理の結果を優先的に採用してもよいし、ランダムに採用してもよい。
(ニ)着目コードに関しては、1つ前のコード及び1つ後のコードを参照するのみならず、2つ前のコード及び2つ後のコードをも参照してAVNSの決定を行なうようにしてもよい。例えば、前後コードのみの参照では複数のAVNS候補が残ってしまう場合に、2つ前のコード及び2つ後のコードをも参照し、これらのコード構成音をも含むAVNSを採用するようにすればよい。更には、3つ以上前のコード及び3つ以上後のコードをも参照してもよい。
(ホ)コード進行の先頭及び最後のコードについては、調のトニックコードをそれぞれ仮の前コード及び仮の後コードとして用いてAVNS決定を行なったが、仮の前コード及び仮の後コードを設定せず、前コード及び後コードを用いない例外的なAVNS決定処理を行なうようにしてもよい。
(ヘ)各AVNS候補毎に該AVNS候補に含まれるコード構成音の数を求める際に、含まれるコード構成音数が前コードと後コードとで等しければその等しい数を採用し、等しくなければ多い方の数を採用したが、前コード及び後コードの双方について含まれるコード構成音数を考慮した値(例えば単純加算値、重み付け加算値等)を採用してもよい。例えば、あるAVNS候補に含まれる前コード及び後コード構成音数がそれぞれ2音及び3音であれば含まれるコード構成音数を5とすることができ、他のAVNS候補についても同様にしてコード構成音数を求めることができる。そして、コード構成音数が多い方のAVNS候補を着目コードに対するAVNSとして決定すればよい。
(ト)AVNS決定処理において、着目コードに対して提示された複数のAVNS候補のいずれにも前コード及び後コードの構成音が含まれている場合、前コード又は後コードのいずれか一方のコードについて含まれるコード構成音数が等しいときは、他方のコードについて含まれるコード構成音数が多い方のAVNS候補を着目コードに対するAVNSとして決定してもよい。このようにすると、前後コードとのつながりがより良いAVNS候補を着目コードに対するAVNSとして決定することができる。
この発明は、上記した実施形態に限定されるものではなく、種々の改変状態で実施可能なものである。例えば、次のような変更が可能である。
(1)この発明は、電子楽器の形態に限らず、パーソナルコンピュータとアプリケーションソフトウェアとの組合せの形態でも実施することができる。この発明を電子楽器の形態で実施する場合、その形態は、鍵盤楽器タイプに限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態を採用してもよい。また、音源装置、自動演奏装置等を1つの電子楽器本体に内蔵した形態に限らず、それぞれの装置を別体の装置とし、MIDIや各種ネットワーク等の通信手段を用いて別体の装置を接続した形態を採用してもよい。
(2)演奏データ(曲データ)のフォーマットは、イベントの発生時刻を1つ前のイベントからの相対時間で表わす「イベント+相対時間」方式に限らず、イベントの発生時刻を曲や小節内の絶対時間で表わす「イベント+絶対時間」方式、音符の音高と音符長及び休符と休符長で曲の内容を表わす「高音(休符)+符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
(3)時系列の演奏データの記憶方法としては、メモリ上で連続する領域に記憶する形式でもよいし、メモリ上で飛び飛びの領域に散在させて記憶し、連続するデータとして管理する形式でもよい。
(4)MIDIインターフェースとしては、専用のMIDIインターフェースに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースを用いて構成されたものを用いてもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信するようにしてもよい。
(5)図2又は6に示したようなコード進行データにおけるコードやAVNSをユーザが任意に指定できるようにしてもよい。
この発明の一実施形態に係るメロディ生成装置を備えた電子楽器の回路構成を示すブロック図である。 コード進行データの一例を示す図である。 スケール音テーブルを示す図である。 曲生成処理の概要を説明するためのフローチャートである。 メロディ生成処理の第1の例を示すフローチャートである。 コード進行データの他の例を示す図である。 AVNS検出テーブルを示す図である。 メロディ生成処理の第2の例を示すフローチャートである。 メロディ生成処理の第3の例を示すフローチャートである。 コード進行データ作成処理を示すフローチャートである。 AVNS決定処理の概要を説明するためのブロック図である。 AVNSテーブルを示す図である。 AVNS決定処理の一部を示すフローチャートである。 AVNS決定処理の残部を示すフローチャートである。
符号の説明
10:バス、12:CPU、14:ROM、16:RAM、18,20:検出回路、22:表示回路、24:音源回路、26:効果回路、28:外部記憶装置、30:MIDIインターフェース、32:通信インターフェース、34:タイマ、36:鍵盤、38:スイッチ群、40:表示器、42:サウンドシステム、44:他のMIDI機器、46:通信ネットワーク、48:他のコンピュータ。

Claims (4)

  1. コード進行を構成する一連のコードにおいて連続する3つのコードを進行順に第1、第2及び第3のコードとしたときに該第1〜第3のコードのうち第2のコードに関して1又は複数のアベイラブル・ノート・スケール候補を抽出する抽出手段と、
    この抽出手段により抽出された1又は複数のアベイラブル・ノート・スケール候補のうちから、前記第1及び第3のコードのうちの少なくとも一方のコードの構成音を含むアベイラブル・ノート・スケール候補を検出する検出手段と、
    この検出手段で検出されたアベイラブル・ノート・スケール候補が1つであったときは該1つのアベイラブル・ノート・スケール候補を前記第2のコードに対するアベイラブル・ノート・スケールとして決定すると共に、前記検出手段で検出されたアベイラブル・ノート・スケール候補が複数であったときは該複数のアベイラブル・ノート・スケール候補のうちから予め指定された調の音階音を最も多く含む1つのアベイラブル・ノート・スケール候補を自動的に選択して前記第2のコードに対するアベイラブル・ノート・スケールとして決定する決定手段と
    を備えたアベイラブル・ノート・スケール決定装置。
  2. 前記検出手段は、前記第1及び第3のコードの構成音のうちから前記第1及び第3のコードに共通する共通音を検出すると共に該共通音を最も多く含む1つのアベイラブル・ノート・スケール候補を前記抽出手段により抽出された複数のアベイラブル・ノート・スケール候補のうちから検出するものである請求項1記載のアベイラブル・ノート・スケール決定装置。
  3. 前記検出手段は、前記抽出手段により抽出された複数のアベイラブル・ノート・スケール候補のうちの各アベイラブル・ノート・スケール候補毎に該アベイラブル・ノート・スケール候補に含まれる前記第1のコードの構成音の数と該アベイラブル・ノート・スケール候補に含まれる前記第3のコードの構成音の数とを検出すると共に前記第1及び第3のコードのうちの少なくとも一方のコードについて検出に係る構成音数が最も多い1つのアベイラブル・ノート・スケール候補を前記抽出手段により抽出された複数のアベイラブル・ノート・スケール候補のうちから検出するものである請求項1記載のアベイラブル・ノート・スケール決定装置。
  4. コード進行を構成する一連のコードにおいて連続する3つのコードを進行順に第1、第2及び第3のコードとしたときに該第1〜第3のコードのうち第2のコードに関して1又は複数のアベイラブル・ノート・スケール候補を抽出する抽出ステップと、
    この抽出ステップにより抽出された1又は複数のアベイラブル・ノート・スケール候補のうちから、前記第1及び第3のコードのうちの少なくとも一方のコードの構成音を含むアベイラブル・ノート・スケール候補を検出する検出ステップと、
    この検出ステップで検出されたアベイラブル・ノート・スケール候補が1つであったときは該1つのアベイラブル・ノート・スケール候補を前記第2のコードに対するアベイラブル・ノート・スケールとして決定すると共に、前記検出ステップで検出されたアベイラブル・ノート・スケール候補が複数であったときは該複数のアベイラブル・ノート・スケール候補のうちから予め指定された調の音階音を最も多く含む1つのアベイラブル・ノート・スケール候補を自動的に選択して前記第2のコードに対するアベイラブル・ノート・スケールとして決定する決定ステップと
    コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004121281A 1999-04-23 2004-04-16 アベイラブル・ノート・スケール決定装置及び記録媒体 Expired - Fee Related JP3818298B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004121281A JP3818298B2 (ja) 1999-04-23 2004-04-16 アベイラブル・ノート・スケール決定装置及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11679899 1999-04-23
JP2004121281A JP3818298B2 (ja) 1999-04-23 2004-04-16 アベイラブル・ノート・スケール決定装置及び記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP24713599A Division JP3565107B2 (ja) 1999-04-23 1999-09-01 メロディ生成装置、コード進行データ作成装置及び記録媒体

Publications (2)

Publication Number Publication Date
JP2004206156A JP2004206156A (ja) 2004-07-22
JP3818298B2 true JP3818298B2 (ja) 2006-09-06

Family

ID=32827176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004121281A Expired - Fee Related JP3818298B2 (ja) 1999-04-23 2004-04-16 アベイラブル・ノート・スケール決定装置及び記録媒体

Country Status (1)

Country Link
JP (1) JP3818298B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5088179B2 (ja) * 2008-03-07 2012-12-05 ヤマハ株式会社 音処理装置およびプログラム

Also Published As

Publication number Publication date
JP2004206156A (ja) 2004-07-22

Similar Documents

Publication Publication Date Title
JP3666577B2 (ja) コード進行修正装置、コード進行修正方法及び同装置に適用されるプログラムを記録したコンピュータ読取り可能な記録媒体
US20020007721A1 (en) Automatic music composing apparatus that composes melody reflecting motif
JP3637775B2 (ja) メロディ生成装置と記録媒体
JP3528654B2 (ja) メロディ生成装置及びリズム生成装置と記録媒体
JPH10105169A (ja) ハーモニーデータ生成装置およびカラオケ装置
JP4650182B2 (ja) 自動伴奏装置及びプログラム
JP3818298B2 (ja) アベイラブル・ノート・スケール決定装置及び記録媒体
JP2012098480A (ja) コード検出装置及びプログラム
JPH05281970A (ja) 自動編曲装置および電子楽器
JP4670686B2 (ja) コード表示装置及びプログラム
JP3531507B2 (ja) 楽曲生成装置および楽曲生成プログラムを記録したコンピュータで読み取り可能な記録媒体
JP3565107B2 (ja) メロディ生成装置、コード進行データ作成装置及び記録媒体
JP4735969B2 (ja) 伴奏表示装置及びプログラム
JP3752859B2 (ja) 自動作曲装置と記録媒体
JPH05346781A (ja) 調検出装置および自動編曲装置
JP6390129B2 (ja) 転調装置、転調方法及び転調プログラム
JP3775039B2 (ja) メロディ生成装置と記録媒体
JP3752956B2 (ja) 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4548365B2 (ja) 楽譜表示装置及びプログラム
JP3960242B2 (ja) 自動伴奏装置及び自動伴奏プログラム
JP3413842B2 (ja) 自動伴奏装置
JP4186802B2 (ja) 自動伴奏生成装置及びプログラム
JP4470895B2 (ja) コード表示装置及びプログラム
JP3823723B2 (ja) アベイラブル・ノート・スケール決定装置および記憶媒体
JP5825449B2 (ja) コード検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060605

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110623

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120623

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120623

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130623

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140623

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees