JPH11231871A - リズム合成装置 - Google Patents
リズム合成装置Info
- Publication number
- JPH11231871A JPH11231871A JP10043013A JP4301398A JPH11231871A JP H11231871 A JPH11231871 A JP H11231871A JP 10043013 A JP10043013 A JP 10043013A JP 4301398 A JP4301398 A JP 4301398A JP H11231871 A JPH11231871 A JP H11231871A
- Authority
- JP
- Japan
- Prior art keywords
- rhythm
- group
- evaluation value
- evaluation
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/40—Rhythm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/111—Automatic composing, i.e. using predefined musical rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/341—Rhythm pattern selection, synthesis or composition
- G10H2210/356—Random process used to build a rhythm pattern
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/005—Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H2250/011—Genetic algorithms, i.e. using computational steps analogous to biological selection, recombination and mutation on an initial population of, e.g. sounds, pieces, melodies or loops to compose or otherwise generate, e.g. evolutionary music or sound synthesis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
価値をもつようなリズムを合成するリズム合成装置を提
供する。 【解決手段】 まずリズムの初期集団を与える(B
1)。処理対象であるリズム集団の各リズムの評価値を
算出する(B2)。リズム集団に対し、遺伝的操作B4
(選択、交配、突然変異等)を行い、リズム集団の世代
が進むにつれ、リズム評価値が全体として高くなってい
くように制御する。
Description
用いた音楽装置に関し、特にリズムを自動的に合成(c
ompose)するリズム合成装置に関する。
ータを用いて変形するリズム合成装置は既に知られてい
る。例えば、本件出願人に係る特開昭63−28688
3号には、音楽区間の各タイムポイント(パルスポイン
ト)に重み(音の発生頻度を表わす)を付けたパルスス
ケールを用いて、音符の連結、分割を行うリズム合成装
置が開示されている。音符の連結、分割のロジックは、
例えば、連結の場合には、最も重みの小さいパルスポイ
ントで始まる音符を先行の音符と連結し、分割の場合に
は最も重みの大きいパルスポイントを途中に含む音符を
そのパルスポイントの位置で2つの音符に分割する、と
いった具合である。
リズム合成装置は、制御データ(パルススケール)と制
御ロジック(音符の連結、分割ロジック)が決まってし
まえば、与えられたリズムを確定的な方法で変形するた
め、リズムの変形に限界があった。したがってこの発明
の目的は、従来にはない新規なアプローチによりリズム
を合成するリズム合成装置を提供することである。更
に、この発明の目的は、リズムが確率的プロセスを経な
がら所望のリズム評価値をもつようなリズムへと進化し
ていくような方法でリズムを合成するリズム合成装置を
提供することである。
め、この発明によれば、(A)複数のリズムを初期世代
のリズム集団として与える初期リズム集団付与手段と、
(B)処理対象である、ある世代のリズム集団(最初は
初期世代のリズム集団)から次の世代のリズム集団を生
成する処理をくり返すリズム進化手段と、を備え、上記
リズム進化手段は、(i)処理対象のリズム集団の各リ
ズムを所定の評価関数に従って評価してリズム評価値を
算出するリズム評価手段と、(ii)世代が進むにつれ、
リズム集団のリズム評価値が全体として高くなるよう
に、処理対象のリズム集団に対して遺伝子的操作を行う
遺伝子操作手段と、から成り、更に、(C)所定の終了
条件が成り立つときに上記リズム進化手段の動作を停止
する停止手段、を備えることを特徴とするリズム合成装
置が提供される。この構成によれば、ある世代のリズム
集団に対して遺伝子的操作(選択交配、突然変異等)を
行い、かつ世代が進むにつれ遺伝子的操作の繰り返しに
よりリズム集団のリズム評価値が全体として高くなるよ
うにしているので、所望のリズム評価値をもつようなリ
ズムを容易に得ることができる。また、リズム集団に対
して行う遺伝子的操作は確定的プロセスではなく確率的
過程であるので広いリズム合成空間を与えることができ
る。 一構成例において、上記遺伝子操作手段は処理対象のリ
ズム集団におけるリズム相互間でリズムの一部交換を行
うリズム交配手段を含む。更に遺伝子操作手段はリズム
交配手段の交配結果である複数のリズムのなかでリズム
評価値が低いリズムをリズム評価値の高いリズムに置き
換える置換手段を含む。これにより、リズム評価値の低
いリズムは次の世代のリズム集団から除かれるのでリズ
ム集団のリズム評価値が全体として高くなっていく。こ
の置換手段の代りに、あるいはこれと組み合わせて、遺
伝子操作手段内に、処理対象のリズム集団のリズムのな
かでリズム評価値が高いものほどリズム交配手段による
リズムの一部交換のために使用される頻度が高くなるよ
うに交配頻度を制御する手段を設けることができる。こ
の場合、ある世代のリズム集団のなかでリズム評価値が
高いリズムほど次世代のリズム集団中にその遺伝子(リ
ズムの要素)が多く分配されるため、世代が進むにつれ
リズム集団のリズム評価値は全体として高くなってい
く。遺伝子操作手段は各リズムを構成するリズム要素を
突然変異させる手段を含み得る。上記停止手段は、処理
対象のリズム集団のリズム評価値が所定値を超えたとき
に上記リズム進化手段の動作を停止する手段で構成でき
る。この代りに、所定の回数、遺伝子操作を繰り返した
時点で動作を停止するようにしてもよい。 一構成例において、上記リズム評価手段は、評価の条件
を設定する条件設定手段と、設定した評価の条件と評価
対象のリズムの内容とを用いてそのリズムのリズム評価
値を算出する算出手段とから成る。また、リズムのデー
タ構造に関して、各リズムは、複数のリズムラインから
成り、各リズムラインはパーカッション番号と演奏強度
とタイミング情報とをセットにしたデータを時間軸上に
並べたデータ配列で表現される。 一構成例において、上記リズム評価手段は、評価対象の
リスムの内容についてその周波数成分(スペクトル)を
評価するスペクトル評価手段、あるいはリズムの位相成
分を評価する位相評価手段、または周波数成分の評価値
と位相成分の評価値とを組み合わせたものをリズム評価
値として算出する手段で構成される。リズム交配等の遺
伝的操作を容易にするため、リズム集団を形成する複数
のリズムは等しい長さにするのがよいが、これには限ら
ず、また、所望であれば、遺伝的操作によってリズムの
長さが変わる(例えば長くなる)ようにしてもよい。
実施の形態を説明する。図1はこの発明のリズム合成装
置のハードウェア構成である。CPU1にてシステム制
御とリズム合成処理等を行う。ROM2はプログラムと
固定データを記憶する。RAM3は入力データと処理デ
ータのメモリとして使用される。入力装置4はリズム合
成に必要なパラメータを入力するのに使用される。モニ
ター5はリズム合成の処理結果の表示や入力の補助とし
て使用される。
メインフローを示す。A1でシステムを初期化した後、
定期的に入力装置4のキースキャンA2を行ってユーザ
ーの指示に従った処理を行う。即ち、入力指示A3に対
しては入力処理A4を行い、合成指示A5に対しては合
成処理A6を行い、モニター指示A7に対してはモニタ
ー処理A8を行う。
ズム集団の全体は複数のリズム(パターン)から成り、
各パターンは、複数のリズムライン(ライン)から成
り、各ラインは、各タイミング(ビートポイント)ごと
にパーカッション番号と演奏強度(音の大きさ)の情報
をもつデータ配列(つまり、パーカッション番号と演奏
強度とタイミング情報とをセットにして時間軸上に並べ
たデータ配列)で表現される。リズム集団のパターンの
数(リズムの数)をNPAT、各パターンのライン数を
NLINE、各ラインのタイミング(ビートポイント)
数をNBEAT、として示す。図3のデータ構造のリズ
ム集団メモリの場合、あるパターン(pat)のあるラ
イン(line)のあるビートポイント(beat)
は、pat×NLINE×NBEAT+line×NB
EAT+beatのアドレスでアドレス指定される。こ
のビートポイントにおけるデータ(パーカッション番号
と演奏強度)は、dat[pat][line][be
at]として示すことにする。
示す。まず初期世代のリズム集団を与える。この初期世
代のリズム集団はユーザーから与えてもよいし、あるい
はあらかじめ記憶してあるものであってもよい。次に各
リズムを評価してリズム評価値を算出する(B2)。リ
ズム評価B2の詳細は後述する。次にリズム集団に対し
て終了条件を検査し(B3)、終了条件を満たさなけれ
ばリズム変形処理B4でリズム集団に対し遺伝的操作を
行って次の世代のリズム集団を生成する。B3での終了
条件のチェックとしては、B4の処理を所定回数を行っ
たかどうかのチェック、あるいは、処理対象のリズム集
団のリズム評価値が所定値を超えたかどうかの判定によ
り行える。
て以下詳述する。図5はリズム変形処理B4の一部であ
るリズムの一部交換(リズム交配)のフローチャートで
ある。このリズムの一部交換処理では、処理対象のリズ
ム集団から、パターン(リズム)を2つずつ選び出し、
対応するリズムライン間で参照番号100に示すよう
に、その内容を一部交換(クロスオーバー)する。な
お、図では2点クロスオーバーとなっているが、これに
は限られない。まず、パターンの対をつくるために、参
照元フラグpair−flag[ ]を“0”に初期化
し(C1)、参照先pair[pat]をランダムに決
定し(C2)、その都度、重復を避けるために参照元フ
ラグをオンにする。リズム集団のコピーをバッファbu
f[ ][ ][ ]にとり(C3)、クロスオーバー
C4を実行して、各パターン対について2点クロスオー
バーを実行する。
る。まずpatと対に参加したパターンのカウンタcを
“0”に初期化し(P1)、pair−flag[pa
t]を“1”にオンする。次に0〜NPAT−C−2の
範囲で乱数RND(整数値)を発生し、ペアになってい
ないパターン(pair−flag[ ]が“0”にな
っているパターン)のなかでRNDに対応するパターン
を見つけ出し、patに対して対とすべき参照先のパタ
ーンpair[pat]を決め、そのフラグをオンにす
る(D3〜D9)。1つの対がきまったのでカウンタc
を2インクリメントしてNPATに達したかどうかチェ
ックする(D10、D11)。達してなければ、まだ決
定すべき対が残っているので、対の片方(参照元)とな
るパターンpatを決め(D12、D13)、D2に戻
る。
ある。まずpatとカウンタc(ここではクロスオーバ
ーを実行したパターンのカウンタ)を“0”に初期化す
る(E1)。0〜NBEAT−1の範囲で2つの異なる
乱数RND1、RND2を生成し、小さい方を交配のス
タート位置START、大きい方を交配のエンド位置E
NDとしてきめる(E2〜E4)。ラインポインタli
neを初期化し、各ラインlineについて、スタート
位置STARTからエンド位置ENDまでの間で、参照
元パターンのラインのリズムデータと参照先パターンの
ラインのリズムデータとをバッファを用いて交換する
(E5〜E11)。
6)、1つのパターン対についてリズムの2点クロスオ
ーバーが完了したことになるのでこのパターン対のフラ
グをオフ“0”にし(E12)、カウンタcを2インク
リメントし、全部実行したかどうか見(E13、E1
4)、クロスオーバーを実行していないパターン対が残
っていれば、次の参照元パターンpatを選び(E1
5、E16)、E2に戻る。
作)のなかで行われるリズムの取捨選択処理20のフロ
ーチャートである。このリズムの取捨選択処理20はリ
ズム交配(例えば、図5のリズムの一部交換処理10)
の後に行うのが好ましいが、遺伝的操作B4の任意の段
階で行ってもよい。以下では、リズム交配の後に、この
取捨選択処理20を行うとして説明する。この場合、リ
ズム交配によって得られたリズム集団の各リズムのリズ
ム評価値を算出する(F1)。そして、リズム集団を形
成する複数のリズム(パターン)のなかで評価値が最大
のリズム(パターン)と最小のリズム(パターン)とを
求め(F2、F3)、評価値が最小のリズム(パター
ン)を最大のリズム(パターン)に置き換える(F
4)。なお、最大、最小には限らず、評価値が高いリズ
ムと低いリズムをそれぞれ複数選び(例えば、第1から
第N番目までの高いリズムと第1から第N番目までの低
いリズムを選び)、低いリズムのデータを高いリズムの
データで置き換えるようにしてもよい。
4のなかに組み込むことにより、後世代のリズム集団で
はリズム評価値の低いリズムの数が減り、リズム評価値
の高いリズムの数が増えるので、遺伝的操作B4を繰り
返すにつれ、リズム集団のリズム評価値を全体として高
めていくことができる。上述したリズムの一部交換10
では、処理対象のリズム集団のどのリズム(パターン)
も等しく選択されてクロスオーバーに参加した(交配の
ために使用された)。この代りに、あるいはこれと組み
合わせて、交配のために選択されるリズム(パターン)
がリズムの評価値に依存するような方式が考えられる。
例えば、処理対象のリズム集団のリズムのなかでリズム
評価値の高いものほど交配(クロスオーバー)のために
使用される頻度が高くなるように制御する。
して示す。まず、各リズム(パターン)のリズム評価値
val[pat]を取り込み(G1)、その総和を算出
して、リズム集団の評価値Vとする(G2)。そして、
対を決定したパターンのカウンタcを“0”に初期化す
る(G3)。この後、G4で0〜Vの範囲で2つの乱数
RND1、RND2(例えば実数値)を発生させ、RN
D1からパターンpatを決めてそれを対の一方mma
te[c]とし(G5、G6)、RND2からパターン
patを決めてそれを対の他方fmate[c]とする
(G7、G8)。
ーンpatを決める処理G5、G7の詳細は図10に示
す通りである。まず、RND1またはRND2をvnd
に代入し(H1)、パターンポインタpatとVold
を“0”に初期化する(H2、H3)。H4で、 Vnew=Vold+val[pat] により、Vnewを求め、乱数rndがVoldとVn
ewの間に入っているかどうか、即ち、 Vold≦rnd<Vnew かどうかをチェックし(H5)、入っていれば、G6ま
たはG8へリターンし、入ってなければVoldをVn
ewに代入し(H6)、パターンポインタpatをイン
クリメントして(H7)H4へ戻る。
まる。
タcを2インクリメントし、また決定(選択)すべき対
が残っているかどうかチェックし(G10)、残ってお
ればG4へリターンする。したがって、評価値による対
決定処理30によれば、リズム集団のなかの各リズム
(パターン)はそのリズム評価値val[pat]に応
じた頻度で対に(mmate[ ]またはfmate
[ ]として)参加することになる。
後実行されるクロスオーバー(交配)40のフローチャ
ートである(ただし前処理として、図5のC3で行った
ように各リズムパターンのコピーをバッファにとってお
く)。まずpatとcを“0”に初期化する(I1)。
0〜NBEAT−1の範囲で2つの異なる乱数RND
1、RND2(整数値)を発生させ、小さい方を交配の
開始位置START、大きい方を交配の終了位置END
とする(I2〜I4)。I5〜I16において、リズム
パターン対であるmmate[c]とfmate[c]
との間で、各ラインについて開始位置STARTから終
了位置ENDまでのビートポイント領域(タイミング区
間)でリズムデータの交換(交配)を行って、交配の結
果をdate[pat][line][beat]とd
ata[pat+1][line][beat]として
格納している。
[mmate[c]][line][beat] data[pat+1][line][beat]=b
uf[fmate[c]][line][beat] により、バッファ上から、パターンmmate[c]、
ラインline、ビートポイントbeatにあるデータ
をリズム集団メモリのパターンpat、ラインlin
e、ビートポイントbeatのデータdata[pa
t][line][beat]として取り込み、バッフ
ァ上からパターンfmate[c]、ラインline、
ビートポイントbeatにあるデータをリズム集団メモ
リのパターン(pat+1)、ラインline、ビート
ポイントbeatのデータdata[pat+1][l
ine][beat]として取り込む(I7〜I10、
I13〜I15)。
[fmate[c]][line][beat] data[pat+1][line][beat]=b
uf[mmate[c]][line][beat]に
より、データdata[pat][line][bea
t]の取込先(ソース)をmmate[c]からではな
くfmate[c]から取り込み、データ[pat+
1][line][beat]の取込先をfmate
[c]からではなくmmate[c]から取り込むこと
により、リズムデータのクロスオーバーを実行してい
る。
fmate[c]との間でのクロスオーバーが完了する
と(1対の子のリズムパターンが生成されると)lin
e=NLINEとなるので(I6)、cとpatを2イ
ンクリメントし(I17)、全ての対についてクロスオ
ーバーが完了した(c=NPAT)かどうか調べ(I1
8)、残っておればI2にリターンする。このように、
評価値に比例する対決定(選択)処理30と、対間での
リズムのクロスオーバー40を実行することにより、子
世代のリズム集団には、親世代のリズム集団のなかでリ
ズム評価値の高いリズムほどその遺伝子(リズム要素)
が広く伝搬するので、子世代あるいは後世代のリズム集
団のリズム評価値は高くなっていく。
B4のなかで行われるリズム突然変異50のフローチャ
ートである。リズム突然変異50はリズム変形処理B4
のなかの任意の段階で行うことができる。リズム突然変
異50では、各リズムパターンの各ラインの各ビートポ
イントのデータを確率的に変化させている。特に、図の
例では、ビートポイントにおけるデータ(パーカッショ
ン番号と演奏強度)のうち、演奏強度の方のみ確率的に
変化させている。
初期化し(J1)、patがNPATに達するまで(J
2)、J2〜J14のループ処理を行う。J3でライン
ポイントlineを“0”に初期化しlineがNLI
NEに達するまで(J4)、ループ処理J4〜J13を
行い、line=NLINEになればパターンポイント
patを次に進める(J14)。J5でビートポインタ
beatを“0”に初期化し、bearがNBEATに
なるまで(J6)、内ループ処理J6〜J12を行い、
NBEATに達すればラインlineを次に進める(J
13)。
ト)beatにおけるリズム内容の突然変異処理200
である。Aにdata[pat][line][bea
t]のパーカッション番号をセーブし、乱数RND(例
えば0〜1の実数値)を生成する(J7、J8)。乱数
RNDが所定の確率データ値(しきい値)REF以下な
ら(J9)なにもしないが、REFを超えていれば、0
〜最大演奏強度MAXの間で乱数RAND(例えば整数
値)を発生させ(J10)、Aをパーカッション番号、
RANDを演奏強度としてdata[pat][lin
e][beat]にセットする(J11)。ビートポイ
ントbeatでの突然変異処理200の後、ビートポイ
ントを次に進め(J12)、J6へ戻る。
3は、リズム集団の各リズム(パターン)patを所定
の評価関数に従って評価してリズム評価値value
[pat]を算出するリズム評価処理60のフローチャ
ートである。この処理ルーチン60は、図4のB2や、
図8のF1で呼び出されて実行される。K1〜K5は図
12のJ1〜J5に相当する処理(各ポインタの初期化
とポインタのチェック)である。K6でbeat<NB
EATが成立するときは、その時点でのリズム(パター
ン)ポインタpat、ラインポインタline、ビート
ポインタbaetによって特定されるリズムデータ(パ
ーカッション番号と演奏強度)dat[pat][li
ne][baet]がロケートされている。
での間は、wave[beat×2]=dat[pa
t][line][beat]の演奏強度 wave[beat×2+1]=0 として、演奏強度の時系列を表わす波形データを生成す
る(K7、K8)。波形データの配列wave[ ]
は、モニター5で表示可能としているため、演奏強度の
サンプル点間に“0”(wave[beat×2+1]
=0)を挿入している。1ライン分の波形データが出来
上ると、beat=NBEATとなるのでリズムライン
のリズム評価を行う。
K9を行う。周波数分析K9のフローを図14にL1〜
L12で示す。このフローによれば、次数iのスペクト
ルspec[i]は、
エ変換)でもよいが、ここでは、DFTの各係数のパワ
ーに方形波のフーリエ係数をかけあわせることにより、
各サンプル(wave[ ])をホールド補間した波形
の周波数成分spec[i]を得ている。
10で現リズムラインのリズム評価値を算出する。具体
的実施形態では、この評価値算出処理K10として、
(1)スペクトル評価値の算出、(2)位相評価値の算
出、(3)スペクトル評価値と位相評価値との和(組み
合わせた値)の算出、のいずれかを行っている。いずれ
を選択するかは、入力装置4から指示できる。スペクト
ル評価値の算出フローを図15に参照番号70として示
す。スペクトル評価値の算出処理では図14で示したよ
うなスペクトルの分析の結果(スペクトルデータspe
c[ ])を用いてリズムラインの周波数成分について
のリズム評価値を算出する。
のフロー中に示すpoints[line][i]とm
points[line][i]は、評価の条件パラメ
ータであり、この評価の条件が入力装置4より設定入力
される(入力処理A4の実行により)。points
[line][i]は各lineについて、評価値に加
算するスペクトルの番号(次数)を重復可能に指定し、
mpoints[line][i]は各lineについ
て評価値から減算するスペクトルの番号を重復可能に指
定する。例えばline=0に対しては、次数16と8
と16のスペクトルが評価値に加算されるよう指定し、
次数2と4と1のスペクトルが評価値から減算されるよ
うに指定する。line=0でないライン(例えばli
ne=1)に対してはこれとは異なる指定が可能であ
る。
[ ]、mpoints[ ][ ]を用いると、ある
ラインのスペクトル評価値valは、
[i]は次数iのスペクトル、c[i]は係数(次数i
ごとの重み係数で正、負または0)である。point
s[ ][ ]とmpoints[ ][ ]の条件パ
ラメータはc[i]の値を定めるものである。
動作例を図16に示す。ここではリズム(パターン)は
ライン0(line=0)とライン1(line=1)
の2のラインから成るとし、line=0に対しては、
そのスペクトル評価関数val0を、 val0=spec[16]+spec[8]+spe
c[16]−spec[1]−spec[2]−spe
c[4] で定め、line=1に対してはそのスペクトル評価関
数val1を、 val1=spec[2]+spec[4]+spec
[1]−spec[16]−spec[8]−spec
[16] として、line=0とは対照的に指定している。(v
al0+val1)の値がライン0(データdat
[0][0][ ])とライン1(データdat[0]
[1][ ])から成るリズム(パターン0)のスペク
トルについてのリズム評価値を示している。
パーカッション番号2a(16進表記)が示すパーカシ
ョン楽器(または音色)のリズムラインを表わし、リズ
ムライン1はパーカッション番号24(16進)とパー
カッション番号28(16進)のパーカション楽器(ま
たは音色)によるリズムラインを表わしている。図16
において、dat[ ][ ][ ]以外の項(wav
e[ ]、spec[]、val0、val1等)は1
0進で表記してある。
価値(位相評価値)を算出する処理のフローを図17に
参照番号80として示す。また、図18に動作例を示
す。この位相評価値算出処理80のフローN1〜N8中
に示すphase−pat[ ]、phase[i]、
mphase[i]及びphase−rateは評価の
条件パラメータであり、この評価の条件は入力装置4に
より設定入力される(入力装置A4の実行により)。p
hase−pat[ ]は位相パターンであり、処理対
象のリズムと例えば同じ長さ(同じビートポイント数)
をもち、各ビートポイントに重みデータをもつ構成とな
っている(図18参照)。
mod NBEAT]×dat[pat][line]
[beat]の演奏強度×phase−rate の項が評価値valに加算される。一方、ステップN6
に示すように、 phase−pat[(beat+mphase
[i])mod NBEAT]×dat[pat][l
ine][beat]の演奏強度×phase−rat
e の項が評価値valから減算される。
ータdat[ ][ ][beat]と位相パターンp
hase−pat[ ]とをマッチングする際に、位相
パターンphase−pat[ ]のどの位置(位相)
をリズムラインdat[ ][line][beat]
の先頭と合わせるべきかを示す位相パラメータである。
例えばphase[0]=0なら、i=0のときは、位
相パターンphase−pat[ ]の先頭(位置0)
をリズムラインの先頭(beat=0)に合わせてマッ
チングをとり、phase[1]=8に設定したとき
は、i=1については、位相パターンphase−pa
t[ ]の位置8をリズムラインの先頭と合わせてマッ
チングをとることになる。mphase[i]もpha
se[i]と同様に、位相パターンとマッチングすべき
リズムラインの位置(位相)を設定するパラメータであ
る。ただし、phase[i]の方は評価値に加算すべ
き項(マッチングの度合)を求めるときの位相パラメー
タであるのに対し、mphase[i]の方は評価値か
ら減算すべき項を求めるときに使用する位相パラメータ
である。
phase[0]=1、mphase[1]=5となっ
ている。phase[ ]の方は上で示した通りであ
る。なおphase−rateは比率パラメータであ
り、図18の例ではphase−rate=0.2にし
ている。図17のフローによれば、位相評価値val
は、
設定された条件パラメータとリズムの内容dat[ ]
[ ][ ]とを用いて、リズムの位相に関する評価値
を算出していることになる。図18の例では、リズムラ
イン0(dat[0][0][ ])に対する位相評価
値val0は143、リズムライン1(dat[0]
[1][ ])に対する位相評価値val1は−11
で、このライン0と1から成るパターン0の位相評価値
valは131(小数点以下は丸め)となった。図13
のリズム評価処理60のフローに戻り、評価値算出K1
0では、上で述べたようにして、リズムラインのリズム
評価値を算出する。
リメントし、line=NLINEになるまで、すべて
のリズムラインについてリズム評価値を求める。lin
e=NLINEになったら、K12でリズムパターンp
atのリズム評価値を各リズムラインの評価値の総和と
して求める。K13でパターンポインタpatをインク
リメントし、K2に戻り、すべてのリズム(パターン)
のリズム評価値を算出するまで処理を繰り返す。
価80の両方を実行するときには、スペクトル評価値を
sval、位相評価値をpvalとして、 val=sval+pval をリズムラインのリズム評価値として求める。そして、
リズム(パターン)のリズム評価値val[pat]は
各ラインのリズム評価値をval[line]と記す
と、その総和で与えられる。
の処理を含む)を行った場合のリズム集団のリズム評価
値の世代ごとの変化の例(この例ではリズム集団のリズ
ムの数は8でリズムごとのライン数2のものを用いた)
を示す。 この例のように、リズム集団のリズム評価値(各リズム
の評価値の総和または平均値で与えられる)は、世代が
進むにつれ、局部的には減少することもあるが全体とし
ては高くなっていくことが認められた。以上で実施の形
態の説明を終えるがこの発明の範囲内で種々の変形が容
易である。例えば、リズム評価についての上記条件パラ
メータは一例にすぎない。また、周波数成分(スペクト
ル)についてのリズム評価と位相成分についてのリズム
評価について述べたが他の成分についてのリズム評価も
可能である。
団に対して遺伝子的操作(選択交配、突然変異等)を行
い、かつ世代が進むにつれ遺伝子的操作の繰り返しによ
りリズム集団のリズム評価値が全体として高くなるよう
にしているので、所望のリズム評価値をもつようなリズ
ムを容易に得ることができる。また、リズム集団に対し
て行う遺伝子的操作は確定的プロセスではなく確率的過
程であるので広いリズム合成空間を与えることができ
る。
構成例を示すブロック図。
フローチャート。
ト。
ローチャート。
ローチャート。
ーチャート。
する処理のフローチャート。
ローチャート。
ーチャート。
ート。
す図。
Claims (10)
- 【請求項1】(A)複数のリズムを初期世代のリズム集
団として与える初期リズム集団付与手段と、(B)処理
対象である、ある世代のリズム集団(最初は初期世代の
リズム集団)から次の世代のリズム集団を生成する処理
をくり返すリズム進化手段と、 を備え、上記リズム進化手段は、(i)処理対象のリズ
ム集団の各リズムを所定の評価関数に従って評価してリ
ズム評価値を算出するリズム評価手段と、(ii)世代が
進むにつれ、リズム集団のリズム評価値が全体として高
くなるように、処理対象のリズム集団に対して遺伝子的
操作を行う遺伝子操作手段と、 から成り、 更に、(C)所定の終了条件が成り立つときに上記リズ
ム進化手段の動作を停止する停止手段、 を備えることを特徴とするリズム合成装置。 - 【請求項2】請求項1記載のリズム合成装置において、 上記遺伝子操作手段は、処理対象のリズム集団における
リズム相互間でリズムの一部交換を行うリズム交配手段
を含む、 ことを特徴とするリズム合成装置。 - 【請求項3】請求項2記載のリズム合成装置において、 上記遺伝子操作手段は、上記リズム交配手段の交配結果
である複数のリズムのなかでリズム評価値が低いリズム
をリズム評価値の高いリズムに置き換える手段を更に含
む、 ことを特徴とするリズム合成装置。 - 【請求項4】請求項2記載のリズム合成装置において、 上記遺伝子操作手段は、処理対象のリズム集団のリズム
のなかでリズム評価値の高いものほど、上記リズム交配
手段によるリズムの一部交換のために使用される頻度が
高くなるように交配頻度を制御する手段を更に含む、 ことを特徴とするリズム合成装置。 - 【請求項5】請求項1記載のリズム合成装置において、 上記遺伝子操作手段は、各リズムを構成するリズム要素
を突然変異させる手段を含む、 ことを特徴とするリズム合成装置。 - 【請求項6】請求項1記載のリズム合成装置において、 上記停止手段は、処理対象のリズム集団のリズム評価値
が所定値を超えたときに上記リズム進化手段の動作を停
止することを特徴とするリズム合成装置。 - 【請求項7】請求項1記載のリズム合成装置において、 上記リズム評価手段は、(a)評価の条件を設定する条
件設定手段と、(b)設定した評価の条件と評価対象の
リズムの内容とを用いて当該リズムのリズム評価値を算
出する算出手段と、 から成ることを特徴とするリズム合成装置。 - 【請求項8】請求項1記載のリズム合成装置において、
(a)各リズムは、複数のリズムラインから成り、
(b)各リズムラインはパーカッション番号と演奏強度
とタイミング情報とをセットにしたデータを時間軸上に
並べたデータ配列で表現される、 ことを特徴とするリズム合成装置。 - 【請求項9】請求項1記載のリズム合成装置において、 上記リズム評価手段は、評価対象のリズムの内容につい
てその周波数成分を評価する、 ことを特徴とするリズム合成装置。 - 【請求項10】請求項1記載のリズム合成装置におい
て、 上記リズム評価手段は、評価対象のリズムの内容につい
てその位相成分を評価する、 ことを特徴とするリズム合成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04301398A JP3658977B2 (ja) | 1998-02-10 | 1998-02-10 | リズム合成装置 |
US09/243,696 US6028262A (en) | 1998-02-10 | 1999-02-03 | Evolution-based music composer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04301398A JP3658977B2 (ja) | 1998-02-10 | 1998-02-10 | リズム合成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11231871A true JPH11231871A (ja) | 1999-08-27 |
JP3658977B2 JP3658977B2 (ja) | 2005-06-15 |
Family
ID=12652110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04301398A Expired - Fee Related JP3658977B2 (ja) | 1998-02-10 | 1998-02-10 | リズム合成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6028262A (ja) |
JP (1) | JP3658977B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3557917B2 (ja) * | 1998-09-24 | 2004-08-25 | ヤマハ株式会社 | 自動作曲装置および記憶媒体 |
JP3066528B1 (ja) * | 1999-02-26 | 2000-07-17 | コナミ株式会社 | 楽曲再生システム、リズム解析方法及び記録媒体 |
EP1431956A1 (en) * | 2002-12-17 | 2004-06-23 | Sony France S.A. | Method and apparatus for generating a function to extract a global characteristic value of a signal contents |
EP1437711A1 (en) * | 2002-12-17 | 2004-07-14 | Sony France S.A. | Method and apparatus for generating a function to extract a global characteristic value of a signal contents |
US7193148B2 (en) * | 2004-10-08 | 2007-03-20 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for generating an encoded rhythmic pattern |
US9286876B1 (en) | 2010-07-27 | 2016-03-15 | Diana Dabby | Method and apparatus for computer-aided variation of music and other sequences, including variation by chaotic mapping |
US9286877B1 (en) | 2010-07-27 | 2016-03-15 | Diana Dabby | Method and apparatus for computer-aided variation of music and other sequences, including variation by chaotic mapping |
US10854180B2 (en) | 2015-09-29 | 2020-12-01 | Amper Music, Inc. | Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine |
US9721551B2 (en) | 2015-09-29 | 2017-08-01 | Amper Music, Inc. | Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions |
US11024276B1 (en) | 2017-09-27 | 2021-06-01 | Diana Dabby | Method of creating musical compositions and other symbolic sequences by artificial intelligence |
US10614785B1 (en) | 2017-09-27 | 2020-04-07 | Diana Dabby | Method and apparatus for computer-aided mash-up variations of music and other sequences, including mash-up variation by chaotic mapping |
US10964299B1 (en) | 2019-10-15 | 2021-03-30 | Shutterstock, Inc. | Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions |
US11024275B2 (en) | 2019-10-15 | 2021-06-01 | Shutterstock, Inc. | Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system |
US11037538B2 (en) | 2019-10-15 | 2021-06-15 | Shutterstock, Inc. | Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926737A (en) * | 1987-04-08 | 1990-05-22 | Casio Computer Co., Ltd. | Automatic composer using input motif information |
US5418323A (en) * | 1989-06-06 | 1995-05-23 | Kohonen; Teuvo | Method for controlling an electronic musical device by utilizing search arguments and rules to generate digital code sequences |
US5606144A (en) * | 1994-06-06 | 1997-02-25 | Dabby; Diana | Method of and apparatus for computer-aided generation of variations of a sequence of symbols, such as a musical piece, and other data, character or image sequences |
-
1998
- 1998-02-10 JP JP04301398A patent/JP3658977B2/ja not_active Expired - Fee Related
-
1999
- 1999-02-03 US US09/243,696 patent/US6028262A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP3658977B2 (ja) | 2005-06-15 |
US6028262A (en) | 2000-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11231871A (ja) | リズム合成装置 | |
Reiner et al. | Identifying differentially expressed genes using false discovery rate controlling procedures | |
EP2148321B1 (en) | Sound source separation system, sound source separation method, and computer program for sound source separation | |
KR101854706B1 (ko) | 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체 | |
CN107644630A (zh) | 基于神经网络的旋律生成方法及装置 | |
JP2001175263A (ja) | 自動伴奏パターン発生装置及び方法 | |
JP2008506150A (ja) | 音楽生成システム | |
JPH11327558A (ja) | 自動コード付装置 | |
JP4137148B2 (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
CN109841202B (zh) | 基于语音合成的节奏生成方法、装置及终端设备 | |
WO2010043258A1 (en) | Method for analyzing a digital music audio signal | |
JPS6134160B2 (ja) | ||
Unemi | SBEAT3: A tool for multi-part music composition by simulated breeding | |
US20080295674A1 (en) | System and Method for Evolving Music Tracks | |
Dostál | Genetic Algorithms As a Model of Musical Creativity--on Generating of a Human-Like Rhythmic Accompaniment | |
Moroni et al. | Evolutionary computation applied to algorithmic composition | |
Gautheret et al. | [19] Computer modeling and display of RNA secondary and tertiary structures | |
Klassen et al. | Design of timbre with cellular automata and B-spline interpolation | |
Nedjah et al. | Automatic generation of harmonious music using cellular automata based hardware design | |
Kausel | Computer optimization of brass wind instruments | |
Manzolli et al. | An evolutionary approach to algorithmic composition | |
JP4595851B2 (ja) | 演奏データ編集装置及びプログラム | |
US20230267899A1 (en) | Automatic audio mixing device | |
Aungkulanon et al. | Hybridisations of variable neighbourhood search and modified simplex elements to harmony search and shuffled frog leaping algorithms for process optimisations | |
JP2007101780A (ja) | 楽曲のタイムスパン木の自動分析方法、自動分析装置、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040908 |
|
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: 20041008 |
|
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 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110325 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120325 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130325 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130325 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140325 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |