JPH01262595A - コード進行生成装置 - Google Patents

コード進行生成装置

Info

Publication number
JPH01262595A
JPH01262595A JP63090226A JP9022688A JPH01262595A JP H01262595 A JPH01262595 A JP H01262595A JP 63090226 A JP63090226 A JP 63090226A JP 9022688 A JP9022688 A JP 9022688A JP H01262595 A JPH01262595 A JP H01262595A
Authority
JP
Japan
Prior art keywords
code
chord
chord progression
proceeding
progression
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.)
Pending
Application number
JP63090226A
Other languages
English (en)
Inventor
Mayumi Ino
猪野 真弓
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP63090226A priority Critical patent/JPH01262595A/ja
Publication of JPH01262595A publication Critical patent/JPH01262595A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の技術分野J 本発明はメロディの情報なしにコード進行を自動生成す
るコード進行生成装置に関する。
[背 景] 与えられたメロディに対しコードを付けるコード進行生
成装置は既に知られている(例えば、特開昭58−87
593号、特開昭58−114097号)、この種のコ
ード進行生成装置の場合、コード進行の生成のためにメ
ロディ情報は不可欠である。換言すれば2この種のコー
ド進行生成装置はメロディを分析することでメロディに
適したコード進行を生成することを目的にしている。
メロディの情報なしにコード進行を自動生成する装置は
いまだ知られていない、この種の装置に要求される第1
の課題はそのコード進行装置がユーザーの意図するよう
なコード進行を生成する潜在能力を持つことである。
[発明の目的] したがって1本発明の目的は音楽的知識の乏しいユーザ
ーに対してもその好みに応じたコード進行を生成可能な
コード進行生成装置を提供することである。
[発明の構成] 本発明は上記の目的を達成するため、コード進行を入力
する入力手段と、入力されたコード進行から隣り合う2
つまたはそれ以上のコードの推移頻度を抽出するコード
進行分析手段と、抽出された推移頻度を基にコード進行
を形成するコード進行形成手段とを有することを特徴と
する。
[作用、展開] いま、ユーザーより好みのいくつかのコード進行が入力
手段から入力されたとする。これに対し、コード進行分
析手段が動作して、入力されたコード進行に含まれるコ
ードの推移頻度を抽出する。この推移頻度は入力された
コード進行の特徴を表わし、したがってユーザーの好み
を反映している。最後に、コード進行形成手段が動作し
て。
抽出された推移頻度に基づいてコード進行を形成する。
好ましくは、上記コード進行形成手段は乱数を発生する
乱数発生手段と、推移頻度に乱数を加味した評価値を現
コードから次のコード候補への移行のしやすさの目安と
して、この評価値を最大にするコード候補を次コードと
決定する決定手段とから成る。この場合、試行の都度、
生成されるコード進行が乱数の範囲内で変化することに
なり、よりユーザーの好みに合致するコード進行が生成
可能となる。
[!施例] 以下1図面を参照して本発明の一実施例を説明する。
第1図に本実施例に係るコード進行生成装置の全体構成
を示す、入力装置lはコード進行等を入力するためのも
のである。コード進行は鍵盤よりリアルタイムで入力し
てもよいし、あるいはコードのタイプ、根音、コード長
を選択するスイッチを順次操作することで入力してもよ
い、入力された各面のコード進行はコード進行データベ
ース2に蓄植される。第2図にコード進行データベース
例を示す、この例では、アドレスOに蓄積されたコード
進行(曲)の数LIMITが記憶され((a)参照)、
統〈アドレス1.2.3・・・・・・に対応する曲の先
頭アドレスが記憶され((b)参照)、そして、各面の
先頭アドレスよりコード進行のデータが順次記憶されて
いる((C)。
(d)参照)、コード進行データは偶数アドレスがコー
ドデータ(コードタイプと根音)で、奇数アドレスがコ
ード長データとなっている。コードデータは16ビツト
長であり、第3図に示すように上位8ビツトがコードタ
イプに割り当てられ。
下位8ビツトが根音データに割り当てられている。根音
データはCをOとし、半音上るごとにlインクリメント
する値をもつ、コード長データは最短音長を1とし、そ
の整数倍で表現される。
上記コード進行データベース2にある複数曲のコード進
行は動作時に、第1図のコード進行分析装置3に読み出
され、2つのコードの推移頻度が算出される。そして抽
出された推移頻度と、それに乱数を加味した評価値がコ
ード進行生成装置4で演算され、評価値を最大にするコ
ード候補が次のコードとして順次決定されていく、ワー
クメモリ5はコード進行分析装M3、コード進行生成型
fi4により使用され、コード進行データ、lA度デー
タ等を一時記憶する。モニター6は表示装置、楽音形成
回路、サウンドシステム等から成り、生成されたコード
進行等の表示、出力を行う。
第4図は本実施例の全体的な動作を示ナゼネラルフロー
である。コード進行生成の指示が入力装W11より与え
られると、4−1のステップに進み、コード進行データ
ベース2のアドレスOにある曲(コード進行)の数が変
数LIMITに格納される0次に、コード進行のカウン
タNが1に初期化される(4−2)、このカウンタNの
値は第2図のコード進行データベース例において(b)
に示すアドレス、すなわち検査するコード進行の番号を
表わす、このカウンタNを1からLIMITまで動かし
てLIMIT曲分のコード進行に含まれる2つのコード
の頻度データを作成しているのが、4−3から4−6の
ループである。すなわち、4−4でN曲目のコード進行
データを読み込み、4−5において、コードiからコー
ドjへの移行の出現回数をカウントする変数D(i、J
)をコード進行データに従って累算する。4−6で曲の
カウンタNを進めて、4−4と4−5の処理をNが曲の
総aLIMITに達するまで繰り返す(4−3)、この
結果、LIMIT曲分のコード進行についての2コ一ド
間の推移頻度テーブル(D (i、J))が出来上る。
この頻度テーブルは4−7において利用され、後述する
ように乱数と組み合わせることにより、順次、次コード
が生成されていく。
ゼネラルフローの4−4で実行されるコードデータの読
み込み処理の詳細を第5図に示す0着目しているN曲目
のコード進行データの先頭アドレスをポインタPにセッ
トし2次の曲のコード進行データの先頭アドレスをEO
FにセットしくN曲目のコード進行データの読み出し完
了のチエツクに用いる)、コードのカウンタIを0に初
期化する(5−1)、モして5−2で完了が検出される
まで5−3から5−7のループを繰り返す。
すなわち、ポインタPの示すデータを読み込み(5−3
)、ポインタPが偶数であるなら(5−4)、読み出し
たデータはコードタイプと根音のデータであるので(第
2図参照)、読み出したデータを1番目のコード記憶用
の変数CD (I)に代入しく5−5)、コード力ウン
タエをインクリメントする(5−6)、5−7でポイン
タPを進め、5−2に戻ってN曲目のコード進行の読み
出しが完了したかどうかをチエツクする。完了したら、
5−8でIに入っているコードの数を変数CDN0に代
入してフローを抜ける。
なおコード進行データベース2に記憶される各自のコー
ド進行は、同じ基準のEl(例えばC講)で表現されて
いるものとする。もし、基準の調以外のW(例えばG)
である曲のコード進行が入力装ff1lから入力された
場合には1曲の謂をユーザーに入力してもらうことによ
り、あるいは装置の方で最初のコードをトニックコード
と推定することにより、基準調のコード進行に変換でき
る。
例えば謂Gのコード進行におけるコードG、DはC,G
 (I、V)に変換される。これはコード進行の各コー
ドの根音を、(入力コード進行の調)−(基準調)だけ
シフトすることにより行われる。
ゼネラルフローの4−5で実行される頻度データの作成
の詳細を第6図に示す、ここでの処理の目的は与えられ
たコード進行(CD (1)、CD(2)・・・・・・
CD (1) 、 CD (1+1)・・・・・・)に
おいて隣り合う2つのコードの推移を見つけ、この推移
の出現回数を累算して頻度テーブルを作成することであ
る。
まず、コードカウンタIを2に初期化する(6−1)、
その後、1番目のコードデータCD(I)からコードの
種類の情報Qと根音の情報Zを取り出す(6−2)、ま
た、(I−1)番目のコードデータCD(I−1)から
コードの種類の情報Sと根音の情報Rを取り出す(6−
3)、そして、H=S+RXコードの種類の総数+lと
W=Q+ZXコードの種類の総数+1を計算する(6−
4)、ここに、Hは(I −1)番目のコードを表わし
、Wは1番目のコードを表わす(第7図参照)、いま配
列(D (H,W))を考え、この配列により頻度テー
ブルを表現しようとすれば、配列の一要素D (H,W
)に、コードHからコードWに推移する出現頻度を表わ
すデータを格納すればよい、そこで、6−5でD (H
,W)=D (H,W)+1を実行することにより、6
−2から6−3で見つけた前後のコードの推移(Hから
W)を累算する。
最後のコードに達したかどうかを6−6でチエツクし、
達してなければコードカウンタ■をインクリメントして
6−2以下の処理を訝り返す。
ゼネラルフローの4−7で実行されるコード進行生成処
理の詳細を第8図に示す0図示のフローに入る時点でワ
ークメモリ5上の配列(D (HlW))には、コード
進行データベース2から読み出した複数の曲(LIMI
T曲)分のコード進行に出現した2つのコードの推移の
頻度が入っている。すなわち、この頻度テーブル(D 
()i、W))の第1行、第3列にはコードlからコー
ドjへ移行する頻度データが格納されている。第8図の
処理の目的は、この頻度テーブルと乱数とに基づいて、
次々と次のコードを生成していくことである。7−1で
コードカウンタiを1にセットし、この最初のコードを
7−2で設定している。
最初のコードの設定はユーザーからの入力により、また
は自動的に行われる。
7−3で評価値の最大値を記憶するための変数maXを
Oで初期化し、7−4で頻度テーブルの列番号のカウン
タjを1に初期化する。7−5でa=D (CD (:
)、J)+RNDにより評価値aを計算する。ここに、
 D (CD(i)、j)は1番目のコードCD Ci
)から(f+1)番目のコード候補としてコードJを選
択したときの頻度テーブル上の頻度データである。RN
Dは所定の範囲内で一様に分布する乱数である。この評
価値aを最大評価値maXと比較しく7−6)、今回の
評価値aの方が大きければ、 maxにaを代入し、(
i+1)番目のコードを格納する変数CD (i+1)
にコードjを代入する(7−7.7−8)、そして、頻
度テーブルの列番号を1つ右に動かしく7−9)、最終
列に達するまで7−5からの処理を繰り返す、したがっ
て、7−5から7−10のループ処理が完了した時点で
は、11f目のコードCD (1)を現在のコードとじ
2この現在のコードから次のコード候補への移行の評価
値aを最大にする次コード候補が次のコードとして決定
され、CD(j+1)に入っている。
そこで、コードカウンタiをインクリメントしく7−1
1)、ループ7−5〜7−10で見つけた次コードを現
コードとして、7−3以下の処理を所定回数(生成する
コード進行の長さ分)繰り返す(7−12)。
なお、上記実施例では、与えられたコード進行における
隣り合う2つのコードの推移頻度を算出することで、頻
度テーブルを作成しているが、所望なら、隣り合う3つ
またはそれ以上のコードの推移頻度を算出してもよい、
また1次コードを決定するための評価関数は上述した以
外の任意の適当なrJIJlkが使用できる0例えば評
価関数として。
a=D (CD (i)、D +WXRNDを選び1重
みWをユーザーから選択できるようにしてもよい、W=
Oのとき評価rJRaは頻度データと一致する。
本コード進行生成装置は特願昭62−86571号に示
されるようなコード進行を利用する自動作曲機のコード
生成機能に応用できる。
[発明の効果1 以上詳細に説明したように、本発明のコード進行生成?
を置では入力手段からコード進行先入力し、入力された
コード進行に含まれる隣り合う2以上のコードの推移頻
度をコード進行分析手段により抽出し、その抽出結果を
基にコード進行を形成しているので、ユーザーの好みに
合ったコード進行を生成することができ、しかもユーザ
ーは音楽的知識を必要としないという利点がある。
【図面の簡単な説明】
第1図は本発明の一実施例に係るコード進行生成装置の
全体構成図、第2図はコード進行データベースの一例を
示す図、第3図はコードのデータ形式を示す図、第4図
は実施例の全体動作を示すフローチャート、第5図はコ
ードデータ読み出しのフロ−チャート2第6図はコード
進行の頻度データを作成するフローチャート、pi47
図はコードデータの変換を説明するのに用いた図、第8
図は頻度データと乱数に基づいてコード進行を生成する
フローチャートである。 1・・・・・・入力装置、2・・・・・・コード進行デ
ータベース、3・・・・・・コード進行分析装置、4・
旧・・コード進行形成装置。 特許出願人  カシオ計算機株式会社 金林万禽づ九゛図 1)     、Ω                
       戸5′        −一     
                         
Uコート・0ブi噸−* ma3: Om’+n : 1  dim : 2  
aug°3sus4: 4    7th  二  5
    m7th: 6   m6th: 76th 
: 8    M7th: 9楕1 コーV7−タ@人゛ て゛λフ几70− 第5図 コー)j7−タ餉し仕出し 勺―廣〒−ダ4乍B父

Claims (2)

    【特許請求の範囲】
  1. (1)コード進行を入力する入力手段と、 上記入力手段により入力されたコード進行から、隣り合
    う少なくとも2つのコードの推移頻度を抽出するコード
    進行分析手段と、 上記コード進行分析手段の抽出した上記推移頻度に基づ
    いてコード進行を形成するコード進行形成手段と、 を有することを特徴とするコード進行生成装置。
  2. (2)請求項1記載のコード進行生成装置において、上
    記コード進行形成手段は、 (A)乱数を発生する乱数発生手段と、 (B)現在のコードから次のコード候補への上記推移頻
    度に上記乱数を加味した評価値を最大にする次のコード
    候補を次コードと決定する決定手段と、 を有することを特徴とするコード進行生成装置。
JP63090226A 1988-04-14 1988-04-14 コード進行生成装置 Pending JPH01262595A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63090226A JPH01262595A (ja) 1988-04-14 1988-04-14 コード進行生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63090226A JPH01262595A (ja) 1988-04-14 1988-04-14 コード進行生成装置

Publications (1)

Publication Number Publication Date
JPH01262595A true JPH01262595A (ja) 1989-10-19

Family

ID=13992568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63090226A Pending JPH01262595A (ja) 1988-04-14 1988-04-14 コード進行生成装置

Country Status (1)

Country Link
JP (1) JPH01262595A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5052267A (en) * 1988-09-28 1991-10-01 Casio Computer Co., Ltd. Apparatus for producing a chord progression by connecting chord patterns
US5088380A (en) * 1989-05-22 1992-02-18 Casio Computer Co., Ltd. Melody analyzer for analyzing a melody with respect to individual melody notes and melody motion
JP2007147763A (ja) * 2005-11-24 2007-06-14 Casio Comput Co Ltd 楽譜表示装置および楽譜表示プログラム
JP2008268759A (ja) * 2007-04-24 2008-11-06 Casio Comput Co Ltd 自動伴奏装置、及びプログラム
JP2012189941A (ja) * 2011-03-14 2012-10-04 Yamaha Corp コード検出装置およびコード検出方法を実現するためのプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62187876A (ja) * 1986-02-14 1987-08-17 カシオ計算機株式会社 自動作曲機

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62187876A (ja) * 1986-02-14 1987-08-17 カシオ計算機株式会社 自動作曲機

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5052267A (en) * 1988-09-28 1991-10-01 Casio Computer Co., Ltd. Apparatus for producing a chord progression by connecting chord patterns
US5088380A (en) * 1989-05-22 1992-02-18 Casio Computer Co., Ltd. Melody analyzer for analyzing a melody with respect to individual melody notes and melody motion
JP2007147763A (ja) * 2005-11-24 2007-06-14 Casio Comput Co Ltd 楽譜表示装置および楽譜表示プログラム
JP4547719B2 (ja) * 2005-11-24 2010-09-22 カシオ計算機株式会社 楽譜表示装置および楽譜表示プログラム
JP2008268759A (ja) * 2007-04-24 2008-11-06 Casio Comput Co Ltd 自動伴奏装置、及びプログラム
JP2012189941A (ja) * 2011-03-14 2012-10-04 Yamaha Corp コード検出装置およびコード検出方法を実現するためのプログラム

Similar Documents

Publication Publication Date Title
US6678680B1 (en) Music search engine
US4982643A (en) Automatic composer
US7790974B2 (en) Metadata-based song creation and editing
US6576828B2 (en) Automatic composition apparatus and method using rhythm pattern characteristics database and setting composition conditions section by section
US5052267A (en) Apparatus for producing a chord progression by connecting chord patterns
JP3484986B2 (ja) 自動作曲装置、自動作曲方法および記憶媒体
JP2000513846A (ja) 規格化された音楽テーマによる著作目録音楽データベース
JPH01173099A (ja) 自動伴奏装置
JP2671495B2 (ja) メロディ分析機
JP2002023747A (ja) 自動作曲方法と装置及び記録媒体
JPH01262595A (ja) コード進行生成装置
US6313390B1 (en) Method for automatically controlling electronic musical devices by means of real-time construction and search of a multi-level data structure
JP3196604B2 (ja) 和音分析装置
JPH0981142A (ja) 自動作曲機
JP3364941B2 (ja) 自動作曲機
JP3664126B2 (ja) 自動作曲装置
JP2000227795A (ja) コード進行検索装置および記憶媒体
JPH05346781A (ja) 調検出装置および自動編曲装置
JP2615722B2 (ja) 自動作曲機
WO2022044646A1 (ja) 情報処理方法、情報処理プログラム及び情報処理装置
JP3807333B2 (ja) メロディ検索装置およびメロディ検索プログラム
JP3528372B2 (ja) 自動作曲方法
JP3271332B2 (ja) 和音付装置
JP2615720B2 (ja) 自動作曲機
JP2698822B2 (ja) コード進行生成装置