JP3637952B2 - コード進行検索装置および記憶媒体 - Google Patents
コード進行検索装置および記憶媒体 Download PDFInfo
- Publication number
- JP3637952B2 JP3637952B2 JP03027599A JP3027599A JP3637952B2 JP 3637952 B2 JP3637952 B2 JP 3637952B2 JP 03027599 A JP03027599 A JP 03027599A JP 3027599 A JP3027599 A JP 3027599A JP 3637952 B2 JP3637952 B2 JP 3637952B2
- Authority
- JP
- Japan
- Prior art keywords
- chord progression
- chord
- data
- input
- code
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、ユーザが求めるコード進行をコード進行データベースから検索するコード進行検索装置および記憶媒体に関する。
【0002】
【従来の技術】
コード進行データを多数記憶したコード進行データベースから、ユーザが求めるコード進行データを検索する方法としては、次のような方法が考えられる。すなわち、ユーザが求めるコード進行を入力し、該入力されたコード進行を含むコード進行データを、コード進行データベースの中から検索するという方法である。
【0003】
【発明が解決しようとする課題】
しかし、上記方法では、ユーザが入力したコード進行を含むコード進行データがコード進行データベース中に存在するとは限らない。また、ユーザが入力したコード進行がデータベース中に存在する確率を上げるために、ユーザが求めるであろうコード進行データをすべて含むコード進行データベースを構築するということも考えられるが、その構築にかかる手間やコストは膨大なものとなってしまう。また、このようなデータベースを格納するだけの容量を備えた記憶媒体を用意しなければならないため、製造コストはさらに上昇する。
【0004】
本発明は、この点に着目してなされたものであり、データベース構築の手間やデータ容量を低減させながら、ユーザが求めるコード進行がデータベース中から検索される確率を高めることが可能なコード進行検索装置および記憶媒体を提供することを目的とする。
【0005】
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1に記載のコード進行検索装置は、複数のコード進行データを記憶した記憶手段と、検索条件として、ユーザがコード進行を入力するための入力手段と、前記入力されたコード進行に含まれる少なくとも一部のコードを該コードの代理コードに置き換え、前記記憶手段に記憶された各コード進行データの中から、該置き換え後のコード進行に一致または類似するコード進行データを検索する検索手段とを有することを特徴とする。
【0007】
請求項2に記載のコード進行検索装置は、複数のコード進行データを記憶した記憶手段と、検索条件として、ユーザがコード進行を入力するための入力手段と、前記記憶手段に記憶された各コード進行データに含まれる少なくとも一部のコードを該コードの代理コードに置き換え、該置き換え後の各コード進行データの中から、前記入力されたコード進行に一致または類似するコード進行データを検索する検索手段とを有することを特徴とする。
【0009】
請求項3に記載の記憶媒体は、検索条件として、ユーザがコード進行を入力するための入力ステップと、前記入力されたコード進行に含まれる少なくとも一部のコードを該コードの代理コードに置き換え、複数のコード進行データが記憶された記憶手段に記憶された各コード進行データの中から、該置き換え後のコード進行に一致または類似するコード進行データを検索する検索ステップとを有するコード進行検索方法をコンピュータに実行させるプログラムを格納したことを特徴とする。
【0010】
請求項4に記載の記憶媒体は、検索条件として、ユーザがコード進行を入力するための入力ステップと、複数のコード進行データが記憶された記憶手段に記憶された各コード進行データに含まれる少なくとも一部のコードを該コードの代理コードに置き換え、該置き換え後の各コード進行データの中から、前記入力されたコード進行に一致または類似するコード進行データを検索する検索ステップとを有するコード進行検索方法をコンピュータに実行させるプログラムを格納したことを特徴とする。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0012】
図1は、本発明の一実施の形態に係るコード進行検索装置を含む自動作曲装置の概略構成を示すブロック図である。
【0013】
同図に示すように、本実施の形態の自動作曲装置は、音高情報を入力するための鍵盤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とにより構成されている。
【0014】
上記構成要素3〜16は、バス18を介して相互に接続され、CPU5にはタイマ8が接続され、MIDII/F13には他のMIDI機器100が接続され、通信I/F14には通信ネットワーク101が接続され、音源回路15には効果回路16が接続され、効果回路16にはサウンドシステム17が接続されている。
【0015】
HDD11のハードディスクには、前述のように、CPU5が実行する制御プログラムも記憶でき、ROM6に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをRAM7に読み込むことにより、ROM6に制御プログラムを記憶している場合と同様の動作をCPU5にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0016】
CD−ROMドライブ12のCD−ROM21から読み出された制御プログラムや各種データは、HDD11内のハードディスクにストアされる。これにより、制御プログラムの新規インストールやバージョンアップ等が容易に行える。なお、このCD−ROMドライブ12以外にも、外部記憶装置として、光磁気ディスク(MO)装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
【0017】
MIDII/F13は、専用のものに限らず、RS−232CやUSB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースより構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信してもよい。
【0018】
通信I/F14は、上述のように、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワーク101に接続されており、該通信ネットワーク101を介して、サーバコンピュータ102に接続される。HDD11内のハードディスクに上記各プログラムや各種パラメータが記憶されていない場合には、通信I/F14は、サーバコンピュータ102からプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ(本実施の形態では、自動作曲装置)は、通信I/F14および通信ネットワーク101を介してサーバコンピュータ102へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ102は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク101を介してコンピュータへと配信し、コンピュータが通信I/F14を介して、これらプログラムやパラメータを受信してHDD11内のハードディスクに蓄積することにより、ダウンロードが完了する。
【0019】
この他、外部コンピュータ等との間で直接データのやりとりを行うためのインターフェースを備えてもよい。
【0020】
なお、本実施の形態の自動作曲装置は、上述のように、標準的なハードウェア構成の汎用パーソナルコンピュータ(PC)上に実現するようにしたが、これに限らず、たとえばFDD10やCD−ROMD12を省略したモバイルPC上に実現するようにしてもよい。さらに、汎用PC上にではなく、専用機器として構成するようにしてもよい。
【0021】
以上のように構成された自動作曲装置が実行する制御処理を、まず、図2および図3を参照して説明し、次に、図4〜図6を参照してさらに詳細に説明する。
【0022】
図2は、本実施の形態の自動作曲装置が実行する各種制御処理を視覚的に表した図であり、同図に示すように、本実施の形態の自動作曲装置は、主として次の制御処理を実行する。すなわち、
1)前記ハードディスク上に構築されたコード進行データのデータベース(所定長、たとえば1曲分のコード進行データを多数記憶したもので、以下、「コード進行データベース」という)11aから、ユーザが入力した作曲条件(ブロック31)に応じたコード進行データを選択するコード進行データ選択処理(ブロック33)
2)上記1)のコード進行データを、ユーザが入力した変形・加工条件(ブロック32)に応じて変形・加工するコード進行データ変形・加工処理(ブロック35)
3)前記ハードディスク上に構築されたメロディ生成用データのデータベース(以下、「メロディ生成用データベース」という)11bから、ユーザが入力した前記作曲条件に応じたメロディ生成用データを選択するメロディ生成用データ選択処理(ブロック34)
4)上記3)のメロディ生成用データを、ユーザが入力した前記変形・加工条件に応じて変形・加工するメロディ生成用データ変形・加工処理(ブロック36)
5)上記4)のメロディ生成用データを、上記2)のコード進行データに基づいて修正するデータ修正処理(ブロック37)
6)上記2)のコード進行データと上記5)のメロディ生成用データに基づいてメロディを生成するメロディ生成処理(ブロック38)
作曲条件の例としては、「曲のスタイル」、「ジャンル」、「楽曲構成」および「コード進行の一部」等を挙げることができ、また、変形・加工条件のうちコード進行に関連する例としては、「変更したいコードの位置(たとえば区間)や頻度」、「変更・削除・追加のいずれかの態様」、「置き換えるべき代理コードの種類(ドミナント・コード、サブドミナント・コード等)」、「○○風(たとえばクラシック風)」等を挙げることができ、変形・加工条件のうちメロディ生成用データに関連する例としては、「変更したいパラメータ(たとえば開始音)」、「変更方法(たとえば、C3からB3までの間でコードの第5音)」等を挙げることができる。ユーザはこれらの作曲条件や変形・加工条件を、たとえば前記鍵盤1やパネルスイッチ2を用いて入力する。
【0023】
上記1)のコード進行データ選択処理では、次のいずれかの方法を用いて、コード進行データベース11aから、上記入力作曲条件に応じたコード進行データを検索し、ユーザに提示する。すなわち、
1)入力されたコード進行の一部(入力作曲条件中の一項目であって、上記所定長のコード進行データの一部区間、たとえば先頭の2小節分。以下、「入力コード進行」という)および他の入力作曲条件に一致(完全一致のみでなく一部一致も含む。以下、この括弧書きがなくても同様)または類似するコード進行データをコード進行データベース11aから検索するとともに、入力コード進行の一部または全部を代理コードで置き換えたコード進行および他の入力作曲条件に一致または類似するコード進行データをコード進行データベース11aから検索して、検索された両コード進行データを候補として提示する
2)入力コード進行および他の入力作曲条件に一致または類似するコード進行データをコード進行データベース11aから検索するとともに、コード進行データベース11aから他の入力条件に一致するコード進行データを選択し、各コード進行データの一部または全部をそれぞれ代理コードで置き換え、この置き換え後のコード進行データから、入力コード進行に一致または類似するコード進行データを検索して、検索された両コード進行データを候補として提示する
本実施の形態では、代理コードは、通常の音楽用語の意味、すなわち主として主要和音(トニック・コード、ドミナント・コード、サブドミナント・コード)のそれぞれの機能を代理するコードの意味で使用している。しかし、これに限らず、他のコードで置き換え可能なものすべてを代理コードと呼ぶようにしてもよい。このような意味が拡張された代理コードの例としては、たとえば、楽曲の基礎進行と関係なしに、装飾音(ornament)として本来の機能コードを一時的に代理するもの、具体的には、「循環コード(turnarounds)」、「経過和音(passing chord)」、「クリシェ(cliche)」等を挙げることができる。
【0024】
図3は、ダイアトニックコードとその代理コードとを対応づける代理コードテーブルの一例を示す図であり、このような代理コードテーブルが予め作成され、たとえば前記ROM6に記憶されている。この代理コードテーブルは、置き換えるべき代理コードを抽出するために用いられる。
【0025】
図3において、代理コードテーブルは、ダイアトニックコード、各コードの機能、代理コード、および次のコードへのモーション(進行)によって構成されている。ただし、IIm7はサブドミナント・コードの代理コードであり、IIIm7およびVIm7はトニック・コードの代理コードであり、さらに、VII7(♭5)には代理コードがないため、対応する代理コードは記載されていない。
【0026】
たとえば、上記コード進行データ選択処理1)の方法1)では、入力コード進行の一部または全部の各コードと上記代理コードテーブルのダイアトニックコードとを比較し、置き換えるべき代理コードを決定する。本実施の形態では、代理コードは複数個記憶されている(たとえば、Iには、IIIm7およびVIm7の2つの代理コードが登録されている)ので、いずれか1つをランダムに選択して決定してもよいし、優先順位を付けておき、この優先順位に従って選択し決定するようにしてもよい。また、登録されているすべての代理コードで置き換えるようにしてもよい。このようにすれば、ユーザに提示できるコード進行の数が増加し、ユーザの選択の幅を向上させることができる。
【0027】
なお、上記コード進行データ選択処理1)の方法2)においても同様に、上記代理コードテーブルを用いて置き換えるべき代理コードを決定する。
【0028】
上記2)のコード進行データ変形・加工処理では、ユーザが、選択されたコード進行データに対して、その一部データの変更、追加、修正または削除等の変形・加工条件を入力する(ブロック32)と、この入力内容に応じて当該コード進行データが変形または加工される。
【0029】
また、上記3)のメロディ生成用データ選択処理では、上述のように入力された作曲条件に基づいてメロディ生成用データベース11bが検索され、最も適合するメロディ生成用データが選択される。
【0030】
さらに、上記4)のメロディ生成用データ変形・加工処理では、ユーザが、選択されたメロディ生成用データに対して、その開始音や重要音等の変更(変形・加工条件)を入力する(ブロック32)と、この入力内容に応じて当該メロディ生成用データが変形または加工される。
【0031】
そして、上記5)のデータ修正処理では、上記変形または加工されたメロディ生成用データ中に、上記変形または加工されたコード進行データに関連するデータがある場合(たとえば開始音をコード音に設定する場合)には、そのデータが当該コード進行データ中の対応するデータによって修正される。
【0032】
次に、本実施の形態の自動作曲装置が実行する制御処理をさらに詳細に説明する。
【0033】
図4は、コード進行データ選択処理の手順を示すフローチャートであり、前記ブロック33で実行されるものである。
【0034】
同図において、まず、前記ブロック31で入力されたコード進行(入力コード進行)を、たとえば前記RAM7のワークエリアに格納する(ステップS1)。ここで、コード進行の入力は、前述したように、鍵盤1を用いてリアルタイムに、または、パネルスイッチ2内の和音指定スイッチ(図示せず)を用いて1つずつ、たとえば所定区間分(たとえば2小節分)入力するようにする。もちろん、入力方法はこれに限らず、所定区間ではなく所定音符数のコード進行を入力するようにしてもよいし、予め各種入力コード進行を作成しておき、この中から選択するようにしてもよい。
【0035】
次に、入力コード進行に基づいて前記コード進行データベース11aを検索し、入力コード進行に一致または類似するコード進行を抽出する(ステップS2)。より具体的には、入力コード進行と、コード進行データベース11a中の前記入力作曲条件(入力コード進行は除く)に適合するすべてのコード進行データとを1つずつ比較し、一致または類似するデータを抽出する。比較対象は、入力コード進行とコード進行データベース11a中の選択された各コード進行データの一部であってもよいし、入力コード進行とコード進行データベース11a中の選択された各コード進行データの全体であってもよい。前者の例、すなわち一部を比較する例としては、入力コード進行と、コード進行データベース11a中の各コード進行データの先頭部やその他の部分との比較が挙げられる。また、後者、すなわち全体の比較において、入力コード進行とコード進行データベース11a中のコード進行データとの類似判断は、たとえば、全コード数に対する一致コード数(この場合には、コードの配列順序も関係する)の割合や、全体を通してのコード出現率(この場合には、コードの配列順序は関係しない)等に基づいて行うようにすればよい。
【0036】
続くステップS3では、入力コード進行を構成する各コードに対して代理コードを抽出する。具体的には、前記図3で説明した代理コードテーブルから、置き換え可能な代理コードを検索して抽出する。
【0037】
次に、抽出された代理コードに基づいてコード進行データベース11aを検索し、当該コード進行に一致または類似するコード進行を抽出する(ステップS4)。より具体的には、前記コード進行データ選択処理1)の方法1)または2)のいずれかの方法を用いてコード進行を抽出する。すなわち、入力コード進行の各コードを、抽出された代理コードに置き換え、この置き換えられたコードに基づいて、前記ステップS2と同様にコード進行データベース11aを検索する(方法1))か、または、入力コード進行の各コードはそのままで、コード進行データベース11a中の選択されたコード進行の各コードを代理コードで置き換え、この置き換え後のコード進行と入力コード進行とを比較する(方法2))。
【0038】
そして、このようにして抽出されたコード進行データを、たとえば表示装置9に表示してユーザに提示し、その中からユーザに選択させる(ステップS5)。このとき、コード進行データは、通常複数個抽出されるが、そのすべてをユーザに対して提示するようにしてもよいし、または、そのうちの所定個を、たとえば類似度の高いものから順に提示するようにしてもよい。または、複数個提示するのではなく、所定の条件に合致する1つ、またはランダムに選択された1つのみを提示するようにしてもよい。所定の条件の例としては、類似度が最も高いこと等が挙げられる。
【0039】
このように、本実施の形態では、入力コード進行に合致または類似するコード進行データの抽出に加えて、入力コード進行の各コードに対する代理コードに合致または類似するコード進行データの抽出も行うことができるようにしたので、コード進行データベース11aに登録するデータの容量を削減しながら、雰囲気が若干異なる様々なコード進行、すなわちユーザが求めるコード進行を得ることができる。また、ユーザは抽出の基礎となるコード進行を入力するだけで、求めるコード進行の候補が自動的に得られるので、ユーザの手間を削減することができる。
【0040】
図5は、コード進行データ変形・加工処理の手順を示すフローチャートであり、前記ブロック35で実行されるものである。
【0041】
同図において、まず、前記ブロック32で入力された変形・加工条件を、たとえば前記RAM7のワークエリアに格納する(ステップS11)。
【0042】
次に、代理コードテーブルを参照して、入力された変形・加工条件に応じた代理コードを抽出し、この代理コードで、前記ステップS5で選択されたコード進行データを変形(または加工)した(ステップS12)後に、本処理を終了する。
【0043】
このように、本実施の形態では、コード進行データベース11aから抽出したコード進行データを代理コードで変形して、ユーザに提示するようにしたので、コード進行データベース11aの容量を削減しつつ、ユーザが求める幅の広いコード進行データを得ることができる。
【0044】
図6は、メロディ生成処理の手順を示すフローチャートであり、前記ブロック38で実行されるものである。なお、本メロディ生成処理は、変形後のコード進行およびメロディ生成用データが次の状態である具体例に適用されたものである。すなわち、
コード進行:CM,Dm,G7,CM
メロディ生成用データ:Cメジャ調、4拍子、4小節、音域C2−C4、開始音はC3−B3間&対象コードの第5音、終了音はC2−B2間&対象コードの根音
このため、変形後のコード進行およびメロディ生成用データが上記状態と異なるときには、それに応じてメロディ生成処理の手順も異なるが、その変更は当業者であれば簡単に行うことができる。
【0045】
図6において、まず、ランダムに音高および音長を発生させる(ステップS21)。具体的には、たとえば、各種音高および音長にそれぞれ整数値を付与しておき、ソフトウェアによって乱数を発生させ、この乱数に一致する音高および音長を選択することにより、ランダムに音高および音長を発生させる。
【0046】
次に、発生した音高がCメジャ調(メロディ生成用データの一要素)の音階音であるか否かを判別し(ステップS22)、Cメジャ調の音階音でないときには、上記ステップS21に戻って、再度音長および音長を発生させる一方、Cメジャ調の音階音のときにはステップS23に進む。
【0047】
ステップS23では、、発生した音高の音域がC2からC3までの範囲内(メロディ生成用データの一要素)にあるか否かを判別し、この範囲内にないときにはステップS21に戻る一方、この範囲内にあるときにはステップS24に進む。
【0048】
ステップS24では、発生した音長を加算(累算)し、続くステップS25では、この発生した音が開始音であるか否かを判別する。
【0049】
ステップS25で、発生した音が開始音のときには、この開始音の音高(前記ステップS21で発生された音高)を、C3からB3までの範囲内(メロディ生成用データの一要素)でCMコード(コード進行の最初のコード)の第5音(メロディ生成用データの一要素)、すなわちG3に修正した後に、ステップS28に進む一方、発生した音が開始音でないときには、ステップS24で加算された音長加算結果が拍数×小節長であるか否か、換言すると、発生した音が終了音であるか否かを判別する(ステップS27)。
【0050】
ステップS27で、発生した音が終了音でないとき(音長加算結果≠拍数×小節長)にはステップS28に進む一方、発生した音が終了音のとき(音長加算結果=拍数×小節長)にはステップS29に進む。
【0051】
ステップS28では、処理(修正)された(ただし、ステップS27を経由してステップS28に移行した場合には、処理はされていない)音高と、発生した音長とを組にしてメロディとして採用し、前記ステップS21に戻って、上述の処理を繰り返す。
【0052】
ステップS29では、発生した音が終了音であるので、この終了音の音高(前記ステップS21で発生された音高)を、C2からB2までの範囲内(メロディ生成用データの一要素)でCMコード(コード進行の最後のコード)の根音(メロディ生成用データの一要素)、すなわちC2に修正し、続くステップS30では、ステップS28と同様にして、処理(修正)された音高と、発生した音長とを組にしてメロディとして採用した後に、本メロディ生成処理を終了する。
【0053】
なお、本メロディ生成処理では、開始音および終了音をコードの特定の音とした(すなわち、開始音と終了音のみ、コード進行データを参照してメロディを生成した)が、これに限らず、たとえば、各小節内の重要音(強拍等)をそれぞれコードの特定音としてもよい。たとえば、各小節内の重要音については、ステップS21で発生された音高が、コード進行データ中の該小節に対応したコードの構成音である場合のみ採用するようにしてもよい。
【0054】
また、本メロディ生成処理では、開始音および終了音以外の音はランダムに(演算を用いて)発生されたものを採用するようにしたが、これに限らず、メロディの雛形を予め作成しておき、これをコード進行データを参照して適宜変更または加工することで、メロディを生成するようにしてもよい。
【0055】
このように、本実施の形態では、変形されたコード進行データ(の一部)を用いてメロディ生成を行うようにしたので、ユーザが意図するコード進行に応じたメロディを生成することができる。
【0056】
なお、本実施の形態においては、コード進行データベースから検索条件に合うコード進行データを検索し、検索されたコード進行データを用いて自動作曲をするようにした。このため、コード進行データを検索するときの検索条件として、「コード進行の一部」に加えて、自動作曲される曲の「スタイル」、「ジャンル」、「楽曲構成」等も入力するようにしたが、「スタイル」、「ジャンル」、「楽曲構成」等を検索条件として入力しなくてもよい。或いはこれら以外の検索条件を追加してもよい。また、検索条件として入力する「コード進行の一部」の例として、「先頭の2小節分」のコード進行を入力する例を示したが、これに限らず、「コード進行のうちの任意の区間」のコード進行を入力するようにしてもよいし、「任意の長さ」のコード進行を入力するようにしてもよい。
【0057】
また、コード進行データベースから検索したコード進行データを自動作曲に利用するものに限らず、自動伴奏(所定の基準コードに基づいて作成された伴奏パターンデータ中の音高データを、検索したコード進行データにあうように修正することによって自動伴奏音を発生する)に利用したり、コード進行表示(検索したコード進行データに基づいて、ディスプレイにコードネームで表示したり、鍵盤楽器の各鍵に対応して設けたLEDのうちコードに対応する構成音を点灯させる等)に利用したりしてもよい。
【0058】
また、コード進行データベースに記憶したコード進行データは、1曲分のコード進行データ(1曲として完成されたコード進行データ)であるとしたが、これに限らず、1曲として完成していなくてもよいし、長さも任意の長さのものであってよい。たとえば、典型的な数小節分の「コード進行素片」をデータベースとして記憶したものであってもよい。この「コード進行素片」データベースの場合、検索条件として入力するコード進行は該コード進行素片の長さよりも短いコード進行であってもよいし、コード進行素片と同じ長さのコード進行であってもよい。同じ長さのコード進行を入力する場合は「入力したコード進行に類似した他のコード進行素片」を得るために利用することができる。
【0059】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU5やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは云うまでもない。
【0060】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0061】
プログラムコードを供給するための記憶媒体としては、たとえば、前記フロッピーディスク20、ハードディスク、光ディスク、光磁気ディスク、CD−ROM21、CD−R、磁気テープ、不揮発性のメモリカード、ROM6などを用いることができる。また、他のMIDI機器100や通信ネットワーク101を介してサーバコンピュータ102からプログラムコードが供給されるようにしてもよい。
【0062】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは云うまでもない。
【0063】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU5などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは云うまでもない。
【0064】
【発明の効果】
【0065】
以上説明したように、請求項1または3に記載の発明によれば、複数のコード進行データを記憶した記憶手段から、検索条件としてユーザが入力したコード進行に含まれる少なくとも一部のコードを該コードの代理コードに置き換え、該置き換え後のコード進行データに一致または類似するコード進行データをコード進行データベース中から検索するようにしたので、ユーザが入力したコード進行に加えて代理コードによる置き換え後のコード進行も検索条件となり、この結果、ユーザが求めるコード進行データがデータベースから検索される確率を高めることができる。
【0066】
また、請求項2または4に記載の発明によれば、記憶手段に記憶された複数のコード進行データの各コード進行データに含まれる少なくとも一部のコードを該コードの代理コードに置き換え、該置き換え後の各コード進行データの中から、検索条件としてユーザが入力したコード進行に一致または類似するコード進行データを検索するようにしたので、コード進行データベース中に登録されているコード進行データの種類が実質的に増えることになる。この結果、ユーザが求めるコード進行データがデータベースから検索される確率を高めることができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るコード進行検索装置を含む自動作曲装置の概略構成を示すブロック図である。
【図2】図1の自動作曲装置が実行する各種制御処理を視覚的に表した図である。
【図3】ダイアトニックコードとその代理コードとを対応づける代理コードテーブルの一例を示す図である。
【図4】コード進行データ選択処理の手順を示すフローチャートである。
【図5】コード進行データ変形・加工処理の手順を示すフローチャートである。
【図6】メロディ生成処理の手順を示すフローチャートである。
【符号の説明】
1 鍵盤(入力手段)
2 パネルスイッチ(入力手段)
5 CPU(検索手段)
6 ROM(記憶手段)
7 RAM(記憶手段)
11 HDD(記憶手段)
Claims (4)
- 複数のコード進行データを記憶した記憶手段と、
検索条件として、ユーザがコード進行を入力するための入力手段と、
前記入力されたコード進行に含まれる少なくとも一部のコードを該コードの代理コードに置き換え、前記記憶手段に記憶された各コード進行データの中から、該置き換え後のコード進行に一致または類似するコード進行データを検索する検索手段と
を有することを特徴とするコード進行検索装置。 - 複数のコード進行データを記憶した記憶手段と、
検索条件として、ユーザがコード進行を入力するための入力手段と、
前記記憶手段に記憶された各コード進行データに含まれる少なくとも一部のコードを該コードの代理コードに置き換え、該置き換え後の各コード進行データの中から、前記入力されたコード進行に一致または類似するコード進行データを検索する検索手段と
を有することを特徴とするコード進行検索装置。 - 検索条件として、ユーザがコード進行を入力するための入力ステップと、
前記入力されたコード進行に含まれる少なくとも一部のコードを該コードの代理コードに置き換え、複数のコード進行データが記憶された記憶手段に記憶された各コード進行データの中から、該置き換え後のコード進行に一致または類似するコード進行データを検索する検索ステップと
を有するコード進行検索方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体。 - 検索条件として、ユーザがコード進行を入力するための入力ステップと、
複数のコード進行データが記憶された記憶手段に記憶された各コード進行データに含まれる少なくとも一部のコードを該コードの代理コードに置き換え、該置き換え後の各コード進行データの中から、前記入力されたコード進行に一致または類似するコード進行データを検索する検索ステップと
を有するコード進行検索方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03027599A JP3637952B2 (ja) | 1999-02-08 | 1999-02-08 | コード進行検索装置および記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03027599A JP3637952B2 (ja) | 1999-02-08 | 1999-02-08 | コード進行検索装置および記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000227795A JP2000227795A (ja) | 2000-08-15 |
JP3637952B2 true JP3637952B2 (ja) | 2005-04-13 |
Family
ID=12299172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03027599A Expired - Fee Related JP3637952B2 (ja) | 1999-02-08 | 1999-02-08 | コード進行検索装置および記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3637952B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4650270B2 (ja) * | 2006-01-06 | 2011-03-16 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
SE528839C2 (sv) * | 2006-02-06 | 2007-02-27 | Mats Hillborg | Melodigenerator |
JP5463655B2 (ja) * | 2008-11-21 | 2014-04-09 | ソニー株式会社 | 情報処理装置、音声解析方法、及びプログラム |
JP4868045B2 (ja) * | 2009-08-24 | 2012-02-01 | ヤマハ株式会社 | 楽音制御システム |
JP5659648B2 (ja) * | 2010-09-15 | 2015-01-28 | ヤマハ株式会社 | コード検出装置およびコード検出方法を実現するためのプログラム |
JP2015206878A (ja) * | 2014-04-18 | 2015-11-19 | ソニー株式会社 | 情報処理装置および情報処理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04110899A (ja) * | 1990-08-30 | 1992-04-13 | Casio Comput Co Ltd | コード進行生成装置 |
JP3216732B2 (ja) * | 1992-07-06 | 2001-10-09 | 株式会社河合楽器製作所 | 電子楽器 |
JP2956867B2 (ja) * | 1992-08-31 | 1999-10-04 | ヤマハ株式会社 | 自動伴奏装置 |
JP2991019B2 (ja) * | 1993-10-27 | 1999-12-20 | ヤマハ株式会社 | 自動伴奏編集装置 |
JPH09258729A (ja) * | 1996-03-26 | 1997-10-03 | Yamaha Corp | 選曲装置 |
JP3569104B2 (ja) * | 1997-05-06 | 2004-09-22 | 日本電信電話株式会社 | 音情報処理方法および装置 |
-
1999
- 1999-02-08 JP JP03027599A patent/JP3637952B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000227795A (ja) | 2000-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3557917B2 (ja) | 自動作曲装置および記憶媒体 | |
JP3707364B2 (ja) | 自動作曲装置、方法及び記録媒体 | |
JP3484986B2 (ja) | 自動作曲装置、自動作曲方法および記憶媒体 | |
JPH09293083A (ja) | 楽曲検索装置および検索方法 | |
JP3528654B2 (ja) | メロディ生成装置及びリズム生成装置と記録媒体 | |
JP3533975B2 (ja) | 自動作曲装置および記憶媒体 | |
JPH11344979A (ja) | メロディ生成装置と記録媒体 | |
JP3637952B2 (ja) | コード進行検索装置および記憶媒体 | |
WO2019176954A1 (en) | Machine learning method, electronic apparatus, electronic musical instrument, model generator for part selection, and method of part determination | |
JP3633335B2 (ja) | 楽曲生成装置および楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3722035B2 (ja) | 演奏信号処理装置、方法及びプログラム、並びに記憶媒体 | |
JP2013190694A (ja) | コード抽出装置、その方法及びそのプログラム | |
JP3879524B2 (ja) | 波形生成方法、演奏データ処理方法および波形選択装置 | |
JP4123242B2 (ja) | 演奏信号処理装置及びプログラム | |
JP3783687B2 (ja) | 演奏練習装置及びプログラム | |
JP3632467B2 (ja) | コード進行生成装置および記憶媒体 | |
JP3835131B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP2000214849A (ja) | カラオケ装置 | |
JP4093000B2 (ja) | 楽譜表示データを記憶した記憶媒体、その楽譜表示データを用いた楽譜表示装置及びプログラム | |
JP5173725B2 (ja) | 電子楽器及び楽譜情報処理プログラム | |
JP6525034B2 (ja) | コード進行情報生成装置およびコード進行情報生成方法を実現するためのプログラム | |
JP3812519B2 (ja) | 楽譜表示データを記憶した記憶媒体、その楽譜表示データを用いた楽譜表示装置及びプログラム | |
JP4144488B2 (ja) | 伴奏データ生成装置及びプログラム | |
JP3747829B2 (ja) | コード進行データ生成装置およびコード進行データ生成プログラム | |
JP2004279462A (ja) | カラオケ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041125 |
|
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: 20041222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050104 |
|
R150 | Certificate of patent (=grant) 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: 20090121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |