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
Application number
JP10043013A
Other languages
English (en)
Other versions
JP3658977B2 (ja
Inventor
Jiyunichi Minamitaka
純一 南高
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 JP04301398A priority Critical patent/JP3658977B2/ja
Priority to US09/243,696 priority patent/US6028262A/en
Publication of JPH11231871A publication Critical patent/JPH11231871A/ja
Application granted granted Critical
Publication of JP3658977B2 publication Critical patent/JP3658977B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects 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/341Rhythm pattern selection, synthesis or composition
    • G10H2210/356Random process used to build a rhythm pattern
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/005Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
    • G10H2250/011Genetic 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

(57)【要約】 【課題】 リズム合成空間が広く、かつ所望のリズム評
価値をもつようなリズムを合成するリズム合成装置を提
供する。 【解決手段】 まずリズムの初期集団を与える(B
1)。処理対象であるリズム集団の各リズムの評価値を
算出する(B2)。リズム集団に対し、遺伝的操作B4
(選択、交配、突然変異等)を行い、リズム集団の世代
が進むにつれ、リズム評価値が全体として高くなってい
くように制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はコンピュータ等を
用いた音楽装置に関し、特にリズムを自動的に合成(c
ompose)するリズム合成装置に関する。
【0002】
【従来の技術】与えられたリズム(原リズム)を制御デ
ータを用いて変形するリズム合成装置は既に知られてい
る。例えば、本件出願人に係る特開昭63−28688
3号には、音楽区間の各タイムポイント(パルスポイン
ト)に重み(音の発生頻度を表わす)を付けたパルスス
ケールを用いて、音符の連結、分割を行うリズム合成装
置が開示されている。音符の連結、分割のロジックは、
例えば、連結の場合には、最も重みの小さいパルスポイ
ントで始まる音符を先行の音符と連結し、分割の場合に
は最も重みの大きいパルスポイントを途中に含む音符を
そのパルスポイントの位置で2つの音符に分割する、と
いった具合である。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
リズム合成装置は、制御データ(パルススケール)と制
御ロジック(音符の連結、分割ロジック)が決まってし
まえば、与えられたリズムを確定的な方法で変形するた
め、リズムの変形に限界があった。したがってこの発明
の目的は、従来にはない新規なアプローチによりリズム
を合成するリズム合成装置を提供することである。更
に、この発明の目的は、リズムが確率的プロセスを経な
がら所望のリズム評価値をもつようなリズムへと進化し
ていくような方法でリズムを合成するリズム合成装置を
提供することである。
【0004】
【課題を解決するための手段】上記の目的を達成するた
め、この発明によれば、(A)複数のリズムを初期世代
のリズム集団として与える初期リズム集団付与手段と、
(B)処理対象である、ある世代のリズム集団(最初は
初期世代のリズム集団)から次の世代のリズム集団を生
成する処理をくり返すリズム進化手段と、を備え、上記
リズム進化手段は、(i)処理対象のリズム集団の各リ
ズムを所定の評価関数に従って評価してリズム評価値を
算出するリズム評価手段と、(ii)世代が進むにつれ、
リズム集団のリズム評価値が全体として高くなるよう
に、処理対象のリズム集団に対して遺伝子的操作を行う
遺伝子操作手段と、から成り、更に、(C)所定の終了
条件が成り立つときに上記リズム進化手段の動作を停止
する停止手段、を備えることを特徴とするリズム合成装
置が提供される。この構成によれば、ある世代のリズム
集団に対して遺伝子的操作(選択交配、突然変異等)を
行い、かつ世代が進むにつれ遺伝子的操作の繰り返しに
よりリズム集団のリズム評価値が全体として高くなるよ
うにしているので、所望のリズム評価値をもつようなリ
ズムを容易に得ることができる。また、リズム集団に対
して行う遺伝子的操作は確定的プロセスではなく確率的
過程であるので広いリズム合成空間を与えることができ
る。 一構成例において、上記遺伝子操作手段は処理対象のリ
ズム集団におけるリズム相互間でリズムの一部交換を行
うリズム交配手段を含む。更に遺伝子操作手段はリズム
交配手段の交配結果である複数のリズムのなかでリズム
評価値が低いリズムをリズム評価値の高いリズムに置き
換える置換手段を含む。これにより、リズム評価値の低
いリズムは次の世代のリズム集団から除かれるのでリズ
ム集団のリズム評価値が全体として高くなっていく。こ
の置換手段の代りに、あるいはこれと組み合わせて、遺
伝子操作手段内に、処理対象のリズム集団のリズムのな
かでリズム評価値が高いものほどリズム交配手段による
リズムの一部交換のために使用される頻度が高くなるよ
うに交配頻度を制御する手段を設けることができる。こ
の場合、ある世代のリズム集団のなかでリズム評価値が
高いリズムほど次世代のリズム集団中にその遺伝子(リ
ズムの要素)が多く分配されるため、世代が進むにつれ
リズム集団のリズム評価値は全体として高くなってい
く。遺伝子操作手段は各リズムを構成するリズム要素を
突然変異させる手段を含み得る。上記停止手段は、処理
対象のリズム集団のリズム評価値が所定値を超えたとき
に上記リズム進化手段の動作を停止する手段で構成でき
る。この代りに、所定の回数、遺伝子操作を繰り返した
時点で動作を停止するようにしてもよい。 一構成例において、上記リズム評価手段は、評価の条件
を設定する条件設定手段と、設定した評価の条件と評価
対象のリズムの内容とを用いてそのリズムのリズム評価
値を算出する算出手段とから成る。また、リズムのデー
タ構造に関して、各リズムは、複数のリズムラインから
成り、各リズムラインはパーカッション番号と演奏強度
とタイミング情報とをセットにしたデータを時間軸上に
並べたデータ配列で表現される。 一構成例において、上記リズム評価手段は、評価対象の
リスムの内容についてその周波数成分(スペクトル)を
評価するスペクトル評価手段、あるいはリズムの位相成
分を評価する位相評価手段、または周波数成分の評価値
と位相成分の評価値とを組み合わせたものをリズム評価
値として算出する手段で構成される。リズム交配等の遺
伝的操作を容易にするため、リズム集団を形成する複数
のリズムは等しい長さにするのがよいが、これには限ら
ず、また、所望であれば、遺伝的操作によってリズムの
長さが変わる(例えば長くなる)ようにしてもよい。
【0005】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態を説明する。図1はこの発明のリズム合成装
置のハードウェア構成である。CPU1にてシステム制
御とリズム合成処理等を行う。ROM2はプログラムと
固定データを記憶する。RAM3は入力データと処理デ
ータのメモリとして使用される。入力装置4はリズム合
成に必要なパラメータを入力するのに使用される。モニ
ター5はリズム合成の処理結果の表示や入力の補助とし
て使用される。
【0006】図2にリズム合成装置の全体動作を表わす
メインフローを示す。A1でシステムを初期化した後、
定期的に入力装置4のキースキャンA2を行ってユーザ
ーの指示に従った処理を行う。即ち、入力指示A3に対
しては入力処理A4を行い、合成指示A5に対しては合
成処理A6を行い、モニター指示A7に対してはモニタ
ー処理A8を行う。
【0007】図3にリズム集団のデータ構造を示す。リ
ズム集団の全体は複数のリズム(パターン)から成り、
各パターンは、複数のリズムライン(ライン)から成
り、各ラインは、各タイミング(ビートポイント)ごと
にパーカッション番号と演奏強度(音の大きさ)の情報
をもつデータ配列(つまり、パーカッション番号と演奏
強度とタイミング情報とをセットにして時間軸上に並べ
たデータ配列)で表現される。リズム集団のパターンの
数(リズムの数)をNPAT、各パターンのライン数を
NLINE、各ラインのタイミング(ビートポイント)
数をNBEAT、として示す。図3のデータ構造のリズ
ム集団メモリの場合、あるパターン(pat)のあるラ
イン(line)のあるビートポイント(beat)
は、pat×NLINE×NBEAT+line×NB
EAT+beatのアドレスでアドレス指定される。こ
のビートポイントにおけるデータ(パーカッション番号
と演奏強度)は、dat[pat][line][be
at]として示すことにする。
【0008】図4にリズム合成処理のフローチャートを
示す。まず初期世代のリズム集団を与える。この初期世
代のリズム集団はユーザーから与えてもよいし、あるい
はあらかじめ記憶してあるものであってもよい。次に各
リズムを評価してリズム評価値を算出する(B2)。リ
ズム評価B2の詳細は後述する。次にリズム集団に対し
て終了条件を検査し(B3)、終了条件を満たさなけれ
ばリズム変形処理B4でリズム集団に対し遺伝的操作を
行って次の世代のリズム集団を生成する。B3での終了
条件のチェックとしては、B4の処理を所定回数を行っ
たかどうかのチェック、あるいは、処理対象のリズム集
団のリズム評価値が所定値を超えたかどうかの判定によ
り行える。
【0009】リズム変形処理B4(遺伝的操作)につい
て以下詳述する。図5はリズム変形処理B4の一部であ
るリズムの一部交換(リズム交配)のフローチャートで
ある。このリズムの一部交換処理では、処理対象のリズ
ム集団から、パターン(リズム)を2つずつ選び出し、
対応するリズムライン間で参照番号100に示すよう
に、その内容を一部交換(クロスオーバー)する。な
お、図では2点クロスオーバーとなっているが、これに
は限られない。まず、パターンの対をつくるために、参
照元フラグpair−flag[ ]を“0”に初期化
し(C1)、参照先pair[pat]をランダムに決
定し(C2)、その都度、重復を避けるために参照元フ
ラグをオンにする。リズム集団のコピーをバッファbu
f[ ][ ][ ]にとり(C3)、クロスオーバー
C4を実行して、各パターン対について2点クロスオー
バーを実行する。
【0010】図6は参照先決定C2の詳細フローであ
る。まず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に戻
る。
【0011】図7はクロスオーバーC4の詳細フローで
ある。まずpatとカウンタc(ここではクロスオーバ
ーを実行したパターンのカウンタ)を“0”に初期化す
る(E1)。0〜NBEAT−1の範囲で2つの異なる
乱数RND1、RND2を生成し、小さい方を交配のス
タート位置START、大きい方を交配のエンド位置E
NDとしてきめる(E2〜E4)。ラインポインタli
neを初期化し、各ラインlineについて、スタート
位置STARTからエンド位置ENDまでの間で、参照
元パターンのラインのリズムデータと参照先パターンの
ラインのリズムデータとをバッファを用いて交換する
(E5〜E11)。
【0012】lineがNLINEに達すれば(E
6)、1つのパターン対についてリズムの2点クロスオ
ーバーが完了したことになるのでこのパターン対のフラ
グをオフ“0”にし(E12)、カウンタcを2インク
リメントし、全部実行したかどうか見(E13、E1
4)、クロスオーバーを実行していないパターン対が残
っていれば、次の参照元パターンpatを選び(E1
5、E16)、E2に戻る。
【0013】図8は、リズム変形処理B4(遺伝的操
作)のなかで行われるリズムの取捨選択処理20のフロ
ーチャートである。このリズムの取捨選択処理20はリ
ズム交配(例えば、図5のリズムの一部交換処理10)
の後に行うのが好ましいが、遺伝的操作B4の任意の段
階で行ってもよい。以下では、リズム交配の後に、この
取捨選択処理20を行うとして説明する。この場合、リ
ズム交配によって得られたリズム集団の各リズムのリズ
ム評価値を算出する(F1)。そして、リズム集団を形
成する複数のリズム(パターン)のなかで評価値が最大
のリズム(パターン)と最小のリズム(パターン)とを
求め(F2、F3)、評価値が最小のリズム(パター
ン)を最大のリズム(パターン)に置き換える(F
4)。なお、最大、最小には限らず、評価値が高いリズ
ムと低いリズムをそれぞれ複数選び(例えば、第1から
第N番目までの高いリズムと第1から第N番目までの低
いリズムを選び)、低いリズムのデータを高いリズムの
データで置き換えるようにしてもよい。
【0014】リズムの取捨選択処理20を遺伝的操作B
4のなかに組み込むことにより、後世代のリズム集団で
はリズム評価値の低いリズムの数が減り、リズム評価値
の高いリズムの数が増えるので、遺伝的操作B4を繰り
返すにつれ、リズム集団のリズム評価値を全体として高
めていくことができる。上述したリズムの一部交換10
では、処理対象のリズム集団のどのリズム(パターン)
も等しく選択されてクロスオーバーに参加した(交配の
ために使用された)。この代りに、あるいはこれと組み
合わせて、交配のために選択されるリズム(パターン)
がリズムの評価値に依存するような方式が考えられる。
例えば、処理対象のリズム集団のリズムのなかでリズム
評価値の高いものほど交配(クロスオーバー)のために
使用される頻度が高くなるように制御する。
【0015】この例を図9に評価値による対決定30と
して示す。まず、各リズム(パターン)のリズム評価値
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)。
【0016】乱数RND1(またはRND2)からパタ
ーン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へ戻る。
【0017】これにより、
【数1】 が成立するときのパターンポインタpatが乱数から求
まる。
【0018】図9に戻り、G9で対決定パターンカウン
タcを2インクリメントし、また決定(選択)すべき対
が残っているかどうかチェックし(G10)、残ってお
ればG4へリターンする。したがって、評価値による対
決定処理30によれば、リズム集団のなかの各リズム
(パターン)はそのリズム評価値val[pat]に応
じた頻度で対に(mmate[ ]またはfmate
[ ]として)参加することになる。
【0019】図11は、評価値による対決定処理30の
後実行されるクロスオーバー(交配)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]として
格納している。
【0020】詳細には、ビートポイントbeatが 0≦beat<START, または END<beat≦NBEAT−1 のときは、 data[pat][line][beat]=buf
[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)。
【0021】一方、ビートポイントbeatが、 START≦beat≦END のときは、 data[pat][line][beat]=buf
[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]から取り込むこと
により、リズムデータのクロスオーバーを実行してい
る。
【0022】親のリズムパターン対mmate[c]と
fmate[c]との間でのクロスオーバーが完了する
と(1対の子のリズムパターンが生成されると)lin
e=NLINEとなるので(I6)、cとpatを2イ
ンクリメントし(I17)、全ての対についてクロスオ
ーバーが完了した(c=NPAT)かどうか調べ(I1
8)、残っておればI2にリターンする。このように、
評価値に比例する対決定(選択)処理30と、対間での
リズムのクロスオーバー40を実行することにより、子
世代のリズム集団には、親世代のリズム集団のなかでリ
ズム評価値の高いリズムほどその遺伝子(リズム要素)
が広く伝搬するので、子世代あるいは後世代のリズム集
団のリズム評価値は高くなっていく。
【0023】図12は遺伝的操作であるリズム変形処理
B4のなかで行われるリズム突然変異50のフローチャ
ートである。リズム突然変異50はリズム変形処理B4
のなかの任意の段階で行うことができる。リズム突然変
異50では、各リズムパターンの各ラインの各ビートポ
イントのデータを確率的に変化させている。特に、図の
例では、ビートポイントにおけるデータ(パーカッショ
ン番号と演奏強度)のうち、演奏強度の方のみ確率的に
変化させている。
【0024】まず、パターンポイントpatを“0”に
初期化し(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)。
【0025】J7〜J11がタイミング(ビートポイン
ト)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へ戻る。
【0026】以下、リズム評価について説明する。図1
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]がロケートされている。
【0027】そこで、beat=0〜NBEAT−1ま
での間は、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となるのでリズムライン
のリズム評価を行う。
【0028】このために、図の例では、まず周波数分析
K9を行う。周波数分析K9のフローを図14にL1〜
L12で示す。このフローによれば、次数iのスペクト
ルspec[i]は、
【数2】 で与えられる。この代りに、通常のDFT(離散フーリ
エ変換)でもよいが、ここでは、DFTの各係数のパワ
ーに方形波のフーリエ係数をかけあわせることにより、
各サンプル(wave[ ])をホールド補間した波形
の周波数成分spec[i]を得ている。
【0029】図13(リズム評価のフロー)に戻り、K
10で現リズムラインのリズム評価値を算出する。具体
的実施形態では、この評価値算出処理K10として、
(1)スペクトル評価値の算出、(2)位相評価値の算
出、(3)スペクトル評価値と位相評価値との和(組み
合わせた値)の算出、のいずれかを行っている。いずれ
を選択するかは、入力装置4から指示できる。スペクト
ル評価値の算出フローを図15に参照番号70として示
す。スペクトル評価値の算出処理では図14で示したよ
うなスペクトルの分析の結果(スペクトルデータspe
c[ ])を用いてリズムラインの周波数成分について
のリズム評価値を算出する。
【0030】このスペクトル算出処理70のM1〜M5
のフロー中に示す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)に対してはこれとは異なる指定が可能であ
る。
【0031】条件パラメータpoints[ ]
[ ]、mpoints[ ][ ]を用いると、ある
ラインのスペクトル評価値valは、
【数3】 の評価関数で表わすことができる。ここにspec
[i]は次数iのスペクトル、c[i]は係数(次数i
ごとの重み係数で正、負または0)である。point
s[ ][ ]とmpoints[ ][ ]の条件パ
ラメータはc[i]の値を定めるものである。
【0032】図15のスペクトル評価値算出処理70の
動作例を図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)のスペク
トルについてのリズム評価値を示している。
【0033】図15の例において、リズムライン0は、
パーカッション番号2a(16進表記)が示すパーカシ
ョン楽器(または音色)のリズムラインを表わし、リズ
ムライン1はパーカッション番号24(16進)とパー
カッション番号28(16進)のパーカション楽器(ま
たは音色)によるリズムラインを表わしている。図16
において、dat[ ][ ][ ]以外の項(wav
e[ ]、spec[]、val0、val1等)は1
0進で表記してある。
【0034】リズムラインの位相成分に関するリズム評
価値(位相評価値)を算出する処理のフローを図17に
参照番号80として示す。また、図18に動作例を示
す。この位相評価値算出処理80のフローN1〜N8中
に示すphase−pat[ ]、phase[i]、
mphase[i]及びphase−rateは評価の
条件パラメータであり、この評価の条件は入力装置4に
より設定入力される(入力装置A4の実行により)。p
hase−pat[ ]は位相パターンであり、処理対
象のリズムと例えば同じ長さ(同じビートポイント数)
をもち、各ビートポイントに重みデータをもつ構成とな
っている(図18参照)。
【0035】ステップN5に示す式からわかるように、 phase−pat[(beat+phase[i])
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から減算される。
【0036】したがって、phase[i]はリズムデ
ータ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]の方は評価値か
ら減算すべき項を求めるときに使用する位相パラメータ
である。
【0037】図18の例では、NPOINTS=2でm
phase[0]=1、mphase[1]=5となっ
ている。phase[ ]の方は上で示した通りであ
る。なおphase−rateは比率パラメータであ
り、図18の例ではphase−rate=0.2にし
ている。図17のフローによれば、位相評価値val
は、
【数4】 で与えられる。
【0038】したがって、位相評価値算出処理80は、
設定された条件パラメータとリズムの内容dat[ ]
[ ][ ]とを用いて、リズムの位相に関する評価値
を算出していることになる。図18の例では、リズムラ
イン0(dat[0][0][ ])に対する位相評価
値val0は143、リズムライン1(dat[0]
[1][ ])に対する位相評価値val1は−11
で、このライン0と1から成るパターン0の位相評価値
valは131(小数点以下は丸め)となった。図13
のリズム評価処理60のフローに戻り、評価値算出K1
0では、上で述べたようにして、リズムラインのリズム
評価値を算出する。
【0039】K11でラインポインタlineをインク
リメントし、line=NLINEになるまで、すべて
のリズムラインについてリズム評価値を求める。lin
e=NLINEになったら、K12でリズムパターンp
atのリズム評価値を各リズムラインの評価値の総和と
して求める。K13でパターンポインタpatをインク
リメントし、K2に戻り、すべてのリズム(パターン)
のリズム評価値を算出するまで処理を繰り返す。
【0040】評価値算出でスペクトル評価70と位相評
価80の両方を実行するときには、スペクトル評価値を
sval、位相評価値をpvalとして、 val=sval+pval をリズムラインのリズム評価値として求める。そして、
リズム(パターン)のリズム評価値val[pat]は
各ラインのリズム評価値をval[line]と記す
と、その総和で与えられる。
【数5】
【0041】最後に、特定の遺伝的操作(図5、図12
の処理を含む)を行った場合のリズム集団のリズム評価
値の世代ごとの変化の例(この例ではリズム集団のリズ
ムの数は8でリズムごとのライン数2のものを用いた)
を示す。 この例のように、リズム集団のリズム評価値(各リズム
の評価値の総和または平均値で与えられる)は、世代が
進むにつれ、局部的には減少することもあるが全体とし
ては高くなっていくことが認められた。以上で実施の形
態の説明を終えるがこの発明の範囲内で種々の変形が容
易である。例えば、リズム評価についての上記条件パラ
メータは一例にすぎない。また、周波数成分(スペクト
ル)についてのリズム評価と位相成分についてのリズム
評価について述べたが他の成分についてのリズム評価も
可能である。
【0042】
【発明の効果】この発明によれば、ある世代のリズム集
団に対して遺伝子的操作(選択交配、突然変異等)を行
い、かつ世代が進むにつれ遺伝子的操作の繰り返しによ
りリズム集団のリズム評価値が全体として高くなるよう
にしているので、所望のリズム評価値をもつようなリズ
ムを容易に得ることができる。また、リズム集団に対し
て行う遺伝子的操作は確定的プロセスではなく確率的過
程であるので広いリズム合成空間を与えることができ
る。
【図面の簡単な説明】
【図1】この発明によるリズム合成装置のハードウエア
構成例を示すブロック図。
【図2】本リズム合成装置の全体動作を表わすメインの
フローチャート。
【図3】リズム集団のデータ構造を示す図。
【図4】遺伝的操作を含むリズム合成のフローチャー
ト。
【図5】遺伝的操作の一部であるリズムの一部交換のフ
ローチャート。
【図6】参照先を決定する処理のフローチャート。
【図7】クロスオーバーのフローチャート。
【図8】遺伝的操作の一部であるリズムの取捨選択のフ
ローチャート。
【図9】リズム評価値に応じた対決定を行う処理のフロ
ーチャート。
【図10】乱数からパターン(リズム)を決定(選択)
する処理のフローチャート。
【図11】クロスオーバーのフローチャート。
【図12】遺伝的操作の一部であるリズム突然変異のフ
ローチャート。
【図13】リズム集団の各リズムの評価する処理のフロ
ーチャート。
【図14】周波数分析のフローチャート。
【図15】リズムのスペクトル評価値算出のフローチャ
ート。
【図16】リズムのスペクトル評価値算出の動作例を示
す図。
【図17】リズムの位相評価値算出のフローチャート。
【図18】リズムの位相評価値算出の動作例を示す図。
【符号の説明】
1 CPU 2 ROM 4 入力装置 A6 リズム合成処理 B4 リズム変形(遺伝的操作) 10 リズムの一部交換 50 リズム突然変異 60 リズム評価

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】(A)複数のリズムを初期世代のリズム集
    団として与える初期リズム集団付与手段と、(B)処理
    対象である、ある世代のリズム集団(最初は初期世代の
    リズム集団)から次の世代のリズム集団を生成する処理
    をくり返すリズム進化手段と、 を備え、上記リズム進化手段は、(i)処理対象のリズ
    ム集団の各リズムを所定の評価関数に従って評価してリ
    ズム評価値を算出するリズム評価手段と、(ii)世代が
    進むにつれ、リズム集団のリズム評価値が全体として高
    くなるように、処理対象のリズム集団に対して遺伝子的
    操作を行う遺伝子操作手段と、 から成り、 更に、(C)所定の終了条件が成り立つときに上記リズ
    ム進化手段の動作を停止する停止手段、 を備えることを特徴とするリズム合成装置。
  2. 【請求項2】請求項1記載のリズム合成装置において、 上記遺伝子操作手段は、処理対象のリズム集団における
    リズム相互間でリズムの一部交換を行うリズム交配手段
    を含む、 ことを特徴とするリズム合成装置。
  3. 【請求項3】請求項2記載のリズム合成装置において、 上記遺伝子操作手段は、上記リズム交配手段の交配結果
    である複数のリズムのなかでリズム評価値が低いリズム
    をリズム評価値の高いリズムに置き換える手段を更に含
    む、 ことを特徴とするリズム合成装置。
  4. 【請求項4】請求項2記載のリズム合成装置において、 上記遺伝子操作手段は、処理対象のリズム集団のリズム
    のなかでリズム評価値の高いものほど、上記リズム交配
    手段によるリズムの一部交換のために使用される頻度が
    高くなるように交配頻度を制御する手段を更に含む、 ことを特徴とするリズム合成装置。
  5. 【請求項5】請求項1記載のリズム合成装置において、 上記遺伝子操作手段は、各リズムを構成するリズム要素
    を突然変異させる手段を含む、 ことを特徴とするリズム合成装置。
  6. 【請求項6】請求項1記載のリズム合成装置において、 上記停止手段は、処理対象のリズム集団のリズム評価値
    が所定値を超えたときに上記リズム進化手段の動作を停
    止することを特徴とするリズム合成装置。
  7. 【請求項7】請求項1記載のリズム合成装置において、 上記リズム評価手段は、(a)評価の条件を設定する条
    件設定手段と、(b)設定した評価の条件と評価対象の
    リズムの内容とを用いて当該リズムのリズム評価値を算
    出する算出手段と、 から成ることを特徴とするリズム合成装置。
  8. 【請求項8】請求項1記載のリズム合成装置において、
    (a)各リズムは、複数のリズムラインから成り、
    (b)各リズムラインはパーカッション番号と演奏強度
    とタイミング情報とをセットにしたデータを時間軸上に
    並べたデータ配列で表現される、 ことを特徴とするリズム合成装置。
  9. 【請求項9】請求項1記載のリズム合成装置において、 上記リズム評価手段は、評価対象のリズムの内容につい
    てその周波数成分を評価する、 ことを特徴とするリズム合成装置。
  10. 【請求項10】請求項1記載のリズム合成装置におい
    て、 上記リズム評価手段は、評価対象のリズムの内容につい
    てその位相成分を評価する、 ことを特徴とするリズム合成装置。
JP04301398A 1998-02-10 1998-02-10 リズム合成装置 Expired - Fee Related JP3658977B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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