JP3271282B2 - 自動メロディ生成装置 - Google Patents

自動メロディ生成装置

Info

Publication number
JP3271282B2
JP3271282B2 JP36054791A JP36054791A JP3271282B2 JP 3271282 B2 JP3271282 B2 JP 3271282B2 JP 36054791 A JP36054791 A JP 36054791A JP 36054791 A JP36054791 A JP 36054791A JP 3271282 B2 JP3271282 B2 JP 3271282B2
Authority
JP
Japan
Prior art keywords
phrase
music
generation
melody
index
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
JP36054791A
Other languages
English (en)
Other versions
JPH05181473A (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.)
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 JP36054791A priority Critical patent/JP3271282B2/ja
Priority to US07/998,577 priority patent/US5375501A/en
Publication of JPH05181473A publication Critical patent/JPH05181473A/ja
Application granted granted Critical
Publication of JP3271282B2 publication Critical patent/JP3271282B2/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/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/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/151Music Composition or musical creation; Tools or processes therefor using templates, i.e. incomplete musical sections, as a basis for composing
    • 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/12Side; rhythm and percussion devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は音楽装置に関し、特に
メロディを自動的に生成(compose)する自動メ
ロディ生成装置(自動作曲機)に関する。
【0002】
【従来の技術】従来において、メロディを自動生成する
いくつかの自動作曲機が知られている(USP4,399,73
1、USP4,664,010、WO NO.86/05619、特開昭62-187
876号)。USP4,399,731の自動作曲機はメロディ音高
列の生成に乱数を用いた試行錯誤方式をメロディ生成原
理としている。メロディは一音を生成単位として生成さ
れる。したがってメロディ生成空間は無限であるが、作
曲知識を欠くため、好ましいメロディを得るための効率
があまりにも低い。USP4,664,010とWO NO.86/0561
9の作曲機は与えられたメロディを変換するタイプのメ
ロディ生成装置であり、変換のために数学的手法(音高
列の鏡象変換、音高・音長列の2次元空間に対する線形
的変換)を使用する。したがって変換空間は限定されて
おり、固定的で数学的な(音楽的とはいえない)作曲能
力しかもたない。特開昭62-187876号の作曲機は音高列
の生成にマルコフモデルを利用して一音ずつメロディ音
を決定、生成するメロディ生成装置である。音高列のマ
ルコフ過程を表わす音高の遷移表から作成されるメロデ
ィは、遷移表に内在する音楽スタイルに束縛される。し
たがってこのメロディ生成装置は、比較的よい効率で音
楽的なメロディを生成できるものの、限られたスタイル
のメロディしか生成できず、提供できる作曲空間は狭
い。以上の従来技術に共通していることは、(1)音楽
の背景や音楽の進行(例えば曲風、音楽構造、コード進
行)を考慮しない作曲機であること、(2)作曲機にメ
ロディの分析、評価能力、知識が欠けていること、
(3)したがって、音楽的なメロディを生成する能力が
低いこと、である。
【0003】このような点に鑑み、本件出願人は特開昭
63-250696号、特開昭63-286883号において、機械的でな
く人間的な音楽の作曲能力を課題とする自動作曲機を提
案している。この自動作曲機は音楽の進行に従ってメロ
ディを生成するタイプの先駆である。この作曲機はメロ
ディの音列を和声音と非和声音の混合列としてとらえ、
非和声音が和声音との間に形成する特徴的な関係によっ
て非和声音を分類する音楽知識を有しており、この音楽
知識をユーザーからの入力メロディ(モチーフ)の分析
に用いるとともに、モチーフに続くメロディ(フレーズ
列)の生成(合成)にも利用している。更にこの作曲機
は基本リズム(モチーフのリズム)に発音タイミングを
挿入あるいは削除することにより、即ち基本リズムを変
形してフレーズのリズム(音長列)を生成する。基本リ
ズムの変形はパルススケールと呼ばれるリズム制御デー
タ(小節のような音間区間内の各タイミングに重みをつ
けたデータ)に基づいて処理している。この作曲機はモ
チーフの特徴を展開した音楽的なメロディをある程度の
効率で生成することができるが次のような欠点がある。 (A)作曲のためのデータ処理量が多い。 (B)したがって限られた処理能力のコンピュータで作
曲機を実現した場合に、応答が遅く作曲は非実時間ペー
スで行われる。 (C)リズムパターンの生成能力に限界がある(音数が
同一でも、微妙に異なるリズムパターンの生成等)。 (D)入力モチーフを展開、変形するためのフレーズの
特徴因子(フレーズアイデア)を相当複雑なアルゴリズ
ム計算で得ている。 (E)にもかかわらず生成されるメロディにアルゴリズ
ム特有の不自然さが生じることが少なくない。
【0004】
【発明が解決しようとする課題】したがって、この発明
の目的は、格別に複雑なデータ処理ないしアルゴリズム
計算を要することなく自然なメロディを豊富に生成、提
供し得る自動メロディ生成装置を提供することである。
【0005】
【課題を解決するための手段、作用】この発明の一構成
によれば、複数の音楽区間にわたるメロディを、個々
の音楽区間におけるメロディセグメント(以下フレーズ
という)を生成単位として生成する自動メロディ生成装
置において、フレーズを構成する音楽要素(以下フレー
ズ音楽要素という)の種類毎に、その種類に属するフレ
ーズ音楽要素を複数記憶するフレーズデータベース手段
と、複数の音楽区間にわたるメロディの生成を制御する
ため、各音楽区間におけるフレーズの生成インデクスを
上記フレーズ音楽要素の種類毎に記憶する生成インデク
ス記憶手段と、上記生成インデクス記憶手段から与えら
れるフレーズ音楽要素の種類毎の生成インデクスを用い
上記フレーズデータベース手段を検索して上記フレ
ーズ音楽要素の種類毎に1つのフレーズ音楽要素を特定
し、それら特定されたフレーズ音楽要素に基づいてフレ
ーズを生成する解読生成手段と、を有することを特徴と
する自動メロディ生成装置が提供される。 また、他の構
成例によれば、複数の音楽区間にわたるメロディを、個
々の音楽区間におけるメロディセグメント(以下フレー
ズという)を生成単位として生成する自動メロディ生成
装置において、フレーズを構成する音楽要素(以下フレ
ーズ音楽要素という)の少なくとも1種類に属するフレ
ーズ音楽要素を複数記憶するフレーズデータベース手段
と、複数の音楽区間にわたるメロディの生成を制御する
ため、各音楽区間におけるフレーズの生成インデクス
を、それぞれ複数の候補をもって記憶する生成インデク
ス記憶手段と、音楽区間毎に、前記生成インデクス記憶
手段に記憶されている生成インデクスの複数の候補の中
から1つを選択し、該選択された生成インデクスを用い
て上記フレーズデータベース手段を検索して上記フレー
ズ音楽要素の少なくとも1種類における1つのフレーズ
音楽要素を特定し、該特定されたフレーズ音楽要素に基
づいてフレーズを生成する解読生成手段と、を有するこ
とを特徴とする自動メロディ生成装置が提供される。
に、他の構成例によれば、テーマを設定する設定手段
と、メロディの先頭区間に相当するモチーフを上記テー
マに対応して記憶するモチーフ記憶手段と、上記テーマ
設定手段にて設定されたテーマに対応するモチーフに後
続するメロディ を、個々の音楽区間におけるメロディセ
グメント(以下フレーズという)を生成単位として生成
する生成手段と、を有し、上記生成手段が、上記テーマ
に関連付けられたフレーズの生成インデクスを複数記憶
する生成インデクステーブル記憶手段と、上記複数の生
成インデクスそれぞれに関連付けられ、かつ様々なフレ
ーズが構成され得るように組み合わせ可能なフレーズ構
成要素を複数記憶するフレーズデータベース記憶手段
と、上記テーマ設定手段にて設定されたテーマに関連付
けられた生成インデクスを上記生成インデクステーブル
記憶手段から選択する選択手段と、上記選択手段にて選
択された生成インデクスに関連付けられたフレーズ構成
要素を上記フレーズデータベース記憶手段から取り出
し、この取り出したフレーズ構成要素を合成してフレー
ズを生成するフレーズ生成手段と、を有することを特徴
とする自動メロディ生成装置が提供される。これらの
成によれば、フレーズデータベースに置かれる実用的な
フレーズの知識源に支えられて、生成メロディの自然さ
を確保できる。また、フレーズの選択やフレーズの列の
連結(フレーズの展開、変形等)は生成インデクス情報
によって所望に指示可能である。したがって、自動メロ
ディ生成装置はメロディ生成のために複雑なデータ処理
やアルゴリズム計算を要しない。したがって、本自動メ
ロディ生成装置はユーザーからの生成要求に対し、リア
ルタイム環境でユーザーに生成メロディを提供し得る。
【0006】
【実施例】原理(図1) 図1にこの発明の原理に従う自動メロディ生成装置の機
能ブロック図を示す。本自動メロディ生成装置の第1の
原理はメロディを複雑なメロディ生成アルゴリズムによ
って生成するのではなく、音楽データないし音楽データ
ベースに基づくアプローチでメロディを生成するように
したことである。音楽データをメロディ生成の基礎とす
ることにより、アルゴリズム特有の不自然なメロディの
生成を回避することができる。音楽データをメロディ生
成の基礎とする生成方式(音楽データ駆動メロディ生成
方式)は自然なメロディの生成能力ばかりでなく、高速
のメロディ生成能力をも可能にするものである。問題は
データの記憶容量である。例えば曲のデータベースを用
意し、曲データベースから曲を選択することによってメ
ロディを生成する構造を採用した場合には、メロディ生
成空間(作曲空間)を広くしようとすれば膨大な曲のデ
ータベースが必要となることは明らかである。例えば一
曲分のメロディを表現するのに必要な平均データ量を2
Kビットとすると10万曲の場合で2Mビットが必要で
ある。10万曲は多いようであるがこの発明の第2の原
理からみれば極めて少ない数である。この発明の第2の
原理は、フレーズ(所定の音楽区間のメロディセグメン
ト)を生成単位として複数の音楽区間にわたるメロディ
を生成するようにしたことである。この生成原理によれ
ば例えば個々の音楽区間に対してフレーズとなりうるメ
ロディセグメントの数(候補数)を10とみて音楽区間
の数を例えば8区間(例えば8小節)とするとこの8区
間に対して生成可能なメロディフレーズの組み合わせは
10の8乗すなわち1千万になる。換言すると1千万の
曲が生成可能ということになる。すなわちフレーズを生
成単位とするメロディ生成方式は膨大な作曲空間を提供
するものである。上記第1の原理と第2の原理とを組み
合わせたものが図1におけるフレーズデータベース30
0である。フレーズを生成単位とするメロディ生成方式
における問題はフレーズ相互間の多様性と統一性のバラ
ンスにある。すなわち音楽的なメロディであるためには
メロディが単なる音の列ではなく有機的な関係ないしは
音楽的に意味をもって結合した音の列でなければならな
い。このことはメロディのセグメント間についても当て
はまる。すなわちメロディを構成するセグメント同士は
(音楽の進行や曲風等にしたがって)音楽的な関係をも
つものでなければならない。言いかえると第1のフレー
ズのあとにそれとはそぐわない第2のフレーズをつない
ではならない。要するに一方でフレーズ間の統一をはか
りながら他方でフレーズを展開、変形する知識が望まれ
る。
【0007】図1においてはこのような知識は主として
生成インデクスデータベース100におかれている。す
なわち生成インデクスデータベース100はさまざまな
曲を構成可能とするメロディ生成インデクスレコードの
集合体である。図1において曲Aの生成インデクスレコ
ードをR#1、曲Bの生成インデクスレコードをR#
2、……で示している。各曲生成インデクスレコードは
複数の音楽区間における個々の音楽区間に対するフレー
ズの生成インデクスによって構成することができる。各
レコードの個々のフレーズ欄(フレーズターム)に書か
れるフレーズ生成インデクス項目I1からInのセットは
確定的である必要はなく、音楽の種々の可能性を考慮し
て複数のインデクス候補をもつフレーズ生成インデクス
セットであることが好ましい。例えば1つのフレーズ欄
におけるフレーズ生成インデクスセットの候補数を平均
3とし、レコードのフレーズ欄の数を平均8とすれば各
レコードは平均として3の8乗の生成インデクスの組み
合わせ、すなわち生成可能な曲の組み合わせを作り出
す。換言すると各レコードは(共通性はあるにしても)
多数の曲群の生成インデクスレコードとなる。これは、
曲数に関して生成情報の圧縮情報を提供するものであ
る。フレーズ生成インデクス項目I1〜Inにはフレーズ
データベース300を検索するための情報が含まれる。
さらにフレーズ生成インデクス項目にはある音楽区間の
フレーズを別の音楽区間のフレーズと似たようなものに
するためのコマンドを含むこともできる。なお、生成イ
ンデクスデータベース100は、多様なメロディ生成の
ためにフレーズターム相互を適当にリンクした構造(フ
レーズタームネットワーク)の集合体の形態をとり得
る。この場合、フレーズタームネットワークが生成イン
デクスレコードとなる。フレーズデータベース300は
フレーズ自体を表わすデータの単なる集合体であっても
よい。しかしこの種のフレーズデータベースはシステム
の構築を容易にする一方で生成可能なメロディ空間を制
限する。というのはそのような集合体はメロディの生成
空間あるいはフレーズの生成空間を広くしようとすれば
曲のメロディ自体を表現するデータベースに比べればは
るかに少ないにしてもそれでもなお膨大なデータ量を必
要とするからである。
【0008】広いメロディ生成空間を提供するため、こ
の発明の好ましい態様ではフレーズを幾つかのフレーズ
構成要素ないし構成要素(例えばリズム、リズム種、音
種列、音高列)に分ける。そして各構成要素のテーブル
がフレーズデータベース300におかれる。図1にはフ
レーズデータベース300中にフレーズ構成要素Aのテ
ーブル31、フレーズ構成要素Bのテーブル32、フレ
ーズ構成要素Cのテーブル33を例示している。各テー
ブル31、32、33は構成要素の集合体である。例え
ばテーブル31は多数のフレーズ構成要素Aをもってい
る。各テーブルは基本的にルックアップテーブルメモリ
で実現できる。このような構成のフレーズデータベース
300を使用する場合、あるテーブルのどの要素ないし
要素群が別のテーブルのどの要素ないし要素群にあうか
どうかを定める手段(テーブル間の関連付け手段)を設
けることが望ましい。これはフレーズデータベースのテ
ーブルの要素にあるいは要素群に別のテーブルの要素な
いし要素群を指定する情報をもたせることにより達成で
きる。また、フレーズ生成インデクス項目中に、フレー
ズ構成要素間の関連付けの態様を指定する情報をもたせ
ることも可能である。換言するとそのような指定情報は
あるテーブルから別のテーブルへの写像ないしインデク
ス情報である。例えばテーブル31をフレーズのリズム
テーブルとし、テーブル33をフレーズの音種のテー
ブルだとすると、リズムテーブル31中の所定要素すな
わちリズムないしは要素群(リズム群)が音種列テーブ
ル33中の所定の要素群すなわち音種列群を指すように
する写像情報をリズムテーブル31やフレーズ生成イン
デクス項目中にもたせることができる。このような手段
は、関連付けのない無意味なフレーズ構成要素の組み合
わせを排除しつつ、広大なフレーズ生成空間を提供す
る。図1において解読生成手段200は生成インデクス
データベース100から取り出した曲生成インデクスレ
コード(ここではR♯S)に含まれる音楽区間ごとのフ
レーズ生成インデタス情報I〜Iを用いてフレーズ
データベース300を検索し、それによってフレーズ生
成インデクスの解読結果であるフレーズを生成する。例
えばレコードR#Sが4音楽区間のフレーズ生成インデ
クスレコードだとすると解読生成手段200は第1の音
楽区間のフレーズ生成インデクスから第1のフレーズP
1を生成し、第2の音楽区間のフレーズ生成インデクス
から第2のフレーズP2を生成し、以下同様に第3区間
のフレーズ生成インデクスから第3フレーズP3を生成
し、第4区間のフレーズ生成インデクスから第4区間の
フレーズを生成する。これにより4フレーズから成るメ
ロディMが得られる。解読生成手段200の内部構成は
種々の形態をとりうるが基本的にはフレーズデータベー
ス300の個々のルックアップテーブルを通すことによ
り、データの写像をとるモジュール群で構成できる。こ
のような構成は、解読生成手段200の動作速度ひいて
は本自動メロディ生成装置の応答を高速化する利点を生
み出すものである。
【0009】例えば解読生成手段200は生成インデク
スデータベース100からの第1のフレーズ生成インデ
クス項目I1を用いてフレーズデータベース300中の
フレーズ構成要素テーブルをアクセス(ルックアップ)
することにより第1フレーズ生成インデクス項目I1の
データ写像(解読結果)を得ることができる。あるいは
解読生成手段200中の写像化モジュール(その1つを
参照番号21で示している。)はフレーズデータベース
から取り出した写像化情報ないしその識別情報を適当な
フレーズ生成インデクス項目と組み合わせてフレーズデ
ータベース300中の別のフレーズ構成要素テーブルを
アクセスすることによりそのテーブルがかかわるフレー
ズ構成要素についての写像化データを得ることができ
る。このような写像化データのうち、音楽表面レベルに
ある情報としてリズムと音高列をそれぞれ参照番号26
と25によって解読生成手段200内に示している。
又、解読生成手段200が過去に生成した写像化データ
として過去のフレーズ22、過去のフレーズのリズム2
3、過去のフレーズの音種列24を解読生成手段200
内に示している。例えば過去のフレーズの音種列24を
第1のテーブル引数とし、フレーズ生成インデクス72
中のピッチインデクス項目を第2のテーブル引数とし
フレーズデータベース300中の音種列テーブルを
アクセスすることにより現音楽区間内のフレーズ音種列
を表わす写像化データをとることができる。あるいは過
去のフレーズのリズム23を第1引数とし、フレーズ生
成インデクスのうち、リズム変化インデクスを第2の引
数として、フレーズデータベース300中に設けたリズ
ムテーブルをルックアップすることにより、現区間のリ
ズムを表わす写像化データをとることができる。このよ
うな写像化モジュールによって達成される利点は現区間
のフレーズを生成インデクスレコードR#Sとフレーズ
データベース300中のデータとによって指示される形
で過去のフレーズに対して、所望の音楽的類似性ないし
変化を達成できることである。一番簡単な例としてフレ
ーズ生成インデクス項目中に過去のフレーズ22の反復
コマンドを設けておけば解読生成手段は現区間のフレー
ズP3を過去のフレーズ22と同一のものとして形成す
ることによりフレーズの構造的な反復を容易に実現でき
る。そのような構造的反復はフレーズがテーマフレーズ
であるような場合特に有効である。図1には示していな
いがテーマフレーズ(テーマ)を設定する手段を設け、
設定したテーマによって生成インデクスデータベース1
00中のメロディ生成インデクスレコードR#Sを選択
するようにしてもよい。解読生成手段200中の写像化
モジュール群を通して得られた音楽表面情報であるフレ
ーズ音高列25とフレーズリズム26は音楽区間のメロ
ディセグメントすなわちフレーズを表現するものであ
る。図1では音高列25とリズム26とによってフレー
ズP3が表現されることを矢印で示している。
【0010】実施例のメロディ生成機能(図2) 図2に実施例のメロディ生成装置の機能ブロック図を示
す。図2の構成は、図1で述べたこの発明の原理の実施
例を示したものである。図2の諸要素のうち、200番
台の番号がついた要素が全体として解読生成手段200
の具体例であり、300番台がついた要素全体が図1の
フレーズデータベース300の具体例である。番号40
0番台の要素は生成されたメロディの表面情報を表わし
ている。要素101は図1の選択生成インデクスレコー
ドR#Sのある音楽区間に対するフレーズの生成インデ
クスセットを表わしている。したがって図2において、
フレーズデータベースはRCL表301、RPDリズム
表302、NCD相対音種列表303及びAV表304
から構成されている。一方フレーズ生成インデクスセッ
ト101はインデクス項目として調性インデクスTI、
ピッチ変化インデクスPI、リズム変化インデクスRI
及び楽式インデクスFIをもっている。調性インデクス
TIは生成インデクスセット101がかわる音楽区間
の調性情報を表す。ピッチ変化インデクスPIは生成イ
ンデクスセット101がかかわる音楽区間のピッチ制御
因子である。リズム変化インデクスRIは生成インデク
スセット101がかかわるフレーズのリズム制御因子で
ある。ただし実施例の適用において、リズム変化インデ
クスRIはピッチ制御因子の性格も有している。楽式イ
ンデクスFIは生成インデクスセット101がかかわる
フレーズの楽式を表す情報であり、この情報はここでは
リズム群指定因子として使用されている。生成メロディ
表面情報のうち401は前区間(前音楽区間)の音高列
であり、402は現区間の音高列であり、403は前区
間のリズム(音長列)であり、404は現区間のリズム
である。したがって現区間のフレーズ(メロディセグメ
ント)は現区間の音高列402と現区間のリズム404
とによって構成される。同様に前区間のフレーズは前区
間の高音列401と前区間のリズム403とによって構
成される。図2において解読生成手段は現区間の生成イ
ンデクスセット101とフレーズデータベース(30
1、302、303、304)とを以下述べるようにし
て用いて現区間のフレーズ(音高列402、リズム40
4)を生成する。すなわち解読生成手段はライン201
に示すように楽式インデクスFIでRCL表301をル
ックアップして楽式インデクスFIの写像データを得
る。この写像データは現区間のフレーズが取りうるリズ
ム群を指定する因子として用いられる。すなわち解読生
成手段はライン202に示すようにRCL表301から
ルックアップしたデータをRPDリズム表302への第
1引数(Argument)として使用する。さらに解
読生成手段200はライン203で示すようにフレーズ
生成インデクスセット101のリズム変化インデクスR
IをRPDリズム表302の第2引数として使用する。
さらに解読生成手段はライン207に示すように前区間
のリズム識別子である前TRD26をRPDリズム表
の第3引数として使用する。これらの引数の組み合わせ
(リズム変化インデクスRI、RCL表出力、前区間の
リズム情報206の組み合わせ)に対してRPDリズム
表302は現区間のリズムパターン情報RPを出力する
と共に現区間のリズム404の識別子を出力する。
【0011】次に解読生成手段200はライン204に
示すようにリズム表302から取り出した現区間のリズ
ムの識別子を現TRD205に記録する。現TRD20
5に記録された情報は次の音楽区間のフレーズを生成す
る際に前TRD206に移される。解読生成手段200
は現区間のリズムを現区間の音種列をグループ指示す
る因子すなわち現区間のフレーズがとり得る音種列の群
を指定する因子として利用する。このために解読生成
手段200は現TRD205にある現区間リズム識別子
情報をNCD相対音種列表303の第1引数として使用
する。さらに解読生成手段はライン209に示すように
フレーズ生成インデクスセット101のピッチ変化イン
デクスPIをNCD相対音種列表303の第2引数とし
て使用する。このような引数の組み合わせに対し、相対
音種列表303は引数の組み合わせに適した相対音種列
データを出力する。ここに相対音種列とは基準となる音
高が与えられた場合にその基準音高に対して相対的に定
められる音種列のことである。また、音種列とは調性情
報ないし調性和声(Tonal Harmonic)が
特定されることによって具体的な音高(メロディ表面と
しての音高)の列に変換することができる情報である。
一言でいうと音種列は抽象的な音高列である。さらに言
い換えれば音種列とはメロディ表面の音高(例えばC
4、B4など)の列をその音高列の音楽的背景である調
性によって分析した場合に得られる情報である。メロデ
ィ表面の音高列すなわちここでは現区間の音高列402
を生成することが解読生成手段の重要な機能の1つであ
る。解読生成手段は相対音種列表303から取り出した
相対音種列を以下のように処理することによってフレー
ズ表面の音高列402を形成する。すなわち解読生成手
段はライン210に示すように相対音種列表303から
取り出した相対音種列データを区間の境のモーション制
御ロジック212に取り込む。モーション制御ロジック
212の目的は基準音高NOMによって相対音種列を読
み替えることである。このためにモーション制御ロジッ
ク212はライン211に示すように基準音高NOMの
情報を受け取る。図2の例では基準音高NOMは前区間
の最終音の音高として定義される。さらにモーション制
御ロジック212は現区間の生成インデクスセット10
1の調性インデクスPIに含まれる基音ピッチクラス
(コードルートかキーノート)をライン214に示すよ
うにして受け取る。モーション制御ロジック212は基
準音高NOMを基準音高NOMと特定の音高関係をも
つ音種(例えば基準音高NOMのすぐ上にくる音高を現
区間の調性で評価したときの音種)を判断するのに使
用する。このために例えばモーション制御ロジック21
2はPC(ピッチクラス)変換表(AV)304をライ
ン213に示すように検索して各音種の検索結果にライ
ン214からの基音ピッチクラス(ルートかキーノー
ト)をモジュロ加算して各音種のピッチクラスを求め、
それをNOMのピッチクラスと比較することによってN
OMと特定の音高関係を持つ音種を識別する。ここにピ
ッチクラスとはCとかDとかいう音名のことである。ピ
ッチクラスの言い方にしたがえば第1オクターブのCす
なわちC1と第5オクターブのCすなわちC5は同じピ
ッチクラスCに属するという。
【0012】次にモーション制御ロジック212は識別
した音種(基準音高NOMと特定の音高関係を持つ音
種)の情報を用いて相対音種列表303からひいた相対
音種列を変換してライン215からボックス216に示
すように読み替え音種列を形成する。さらにモーション
制御ロジック212は基準音高NOMのオクターブ情報
を取り出し、ライン215を介してオクターブを設定す
る。読み替え音種列とオクターブを形成した後、解読生
成手段はPC変換テーブル304を介してフレームの音
高列(ここでは現区間の音高列402)を形成する。こ
のために解読生成手段は読み替え音種列の各要素(音
種)をライン217に示すようにPC変換テーブル30
4の第1引数として使用し、また、調性インデクスPI
からの調性和声(例えばV7thのような情報)をライ
ン218に示すようにPC変換テーブル304への第2
引数として使用する。この引数の組み合わせで指定され
るPC変換テーブル304の項目にはライン217か
らの音種をライン218からの調性和声で評価したとき
の、基音ピッチクラスからの音程を表すデータが書かれ
ている。そこで解読生成手段はライン219、ライン2
20および加算要素222で示すようにPC変換テーブ
ル304から引いた音程データと調性インデクスPIか
らの基音ピッチクラスとをオクターブ(12)モジュロ
加算する。これにより音種はピッチクラスに変換され
る。この変換されたピッチクラスに適当なオクターブ情
報をライン221を介してさらに加えることによりオク
ターブ情報がついた具体的な音高PITが得られる。こ
の音高データPITは現区間の音高列402において着
目している音高402Cを定めるものである。読み替え
音種列216の各要素を上で述べたようにして変換する
ことにより現区間の音高列402が得られる。図2にお
いてモーション制御ロジック212は主にデータ圧縮を
目的として設けられた手段である。換言すると記憶容量
の増大をいとわなければモーション制御ロジック212
を省略して適当な音高列表を使用することができる。そ
のよういな音高列表は例えば第1の引数として現TRD
205、第2の引数としてピッチ変化インデクスPI、
第3の引数としてNOM情報(例えばNOMのピッチク
ラスが現区間の調性インデクスの基音ピッチクラスに対
してもつ音程)及び第4の引数として現区間の調性イン
デクスTIの調性和声情報を使用し、これら4つの引数
の組み合わせに対して適当な音高列情報(各要素が基音
ピッチクラスに対する音程を示すような情報)を出力す
るようなものとなろう。しかしながらこのような音高列
表を使用したとすれば相対音列表303の引数の組み合
わせに比べ桁違いの引数の組み合わせの増大が生じる。
例えば調性和声の項目が20種類、基準音ピッチクラス
の種類を12として引数組み合わせは240倍になる。
これは音高列表(ルックアップテーブルメモリ)に対し
て広大なアドレス空間が必要となることを意味する。さ
らに引数の組み合わせの1つ1つに対して1対1対応で
音高列データを用意しようとすれば音高列表の記憶容量
も240倍に相当する大きさになってしまう。図2の構
成は今日の代表的なマイクロコンピュータにおいて使用
できる記憶容量(特に内部記憶容量)を考慮しつつ、図
1で述べた発明の原理に基づく自動メロディ生成装置の
機能の配置実現を示したものである。したがって図2の
構成は最良の実施態様を表すものではあるが、これに限
定されるものではないことは勿論である。例えば図2に
おけるRCL表301を省略し、楽式インデクスFIを
直接リズム表302への引数として使用することができ
る。また、現TRD205は現区間リズムの識別子(固
有識別番号)である必要は必ずしもなく、例えば現区間
のリズムの特徴を示すような情報であってもよい。この
ことはリズム表302にリズムデータRP毎にそのリズ
ムの特徴を示す情報をもたせてもよいことを意味してい
る。リズム識別子の代わりにリズム特徴情報を用いると
いうことは現RD205がとり得る値の数を少なくす
ることを意味している。したがってその特徴情報を相対
音種列表303の引数として使用する場合に相対音種列
表メモリの記憶容量を少なくすることを意味する。又、
図2の構成では前区間のリズム識別子情報をリズム表3
02への引数の1つとして用いているが前区間は必らず
しも1つ前の区間である必要はなく、例えば2つ前の区
間あるいは3つ前の区間というようなことでもよい。換
言すると、図2の構成の場合には前区間のリズムの識別
子をリズム表302への引数の1つとすることにより、
現区間のリズム404を前区間のリズム408に(強
く)関係付けている。しかしながら小さなフレーズが組
み合わさって大きなフレーズになることは音楽のよく経
験するところである。例えばあるフレーズを2つに分け
た時、フレーズ前半の特徴が後半に現われるのではな
く、次のフレーズの前半に現われ、又フレーズの後半の
特徴は次のフレーズの前半に現われるのではなく、次の
フレーズの後半に現われるといったようなことが現実の
メロディではしばしば生じる。このような効果を生じさ
せるために前TRD206に現区間より1つ前のリズム
の識別子ないし、特徴情報を記憶させる代わりに現区間
より2つ前のリズムの識別子あるいは、特徴情報を記憶
させ、それによってリズム表302をアクセスすること
によって現区間のリズムを生成するようにしてもよい
(どの先行区間のリズムを現区間のリズムに反映させる
かを指示する情報を生成インデクスに含めることができ
る。)。又、図2ではリズム表302と相対音種列表3
03との間を現TRD205を介して関連づけている
が、この代わりに相対音種列表303の相対音種列項目
にその相対音種列を特徴づける情報をもたせ、その特徴
情報をリズム表302への引数として使用する構成も可
能である。又、相対音種列表303に第3の引数として
前区間ないし所定の先行区間の相対音種列を特徴づける
情報を用いることも可能である。そのような構成は前区
間の音種列と現区間の音種列との間に強い相関関係(し
たがって前区間の音高列と現区間の音高列との間に強い
相関関係を与える。)を与えることを可能にする。その
他図1で述べたこの発明の原理にしたがい、図2の構成
は種々に変形可能である。
【0013】ハードウェア構成(図3) 図2で述べたような自動メロディ生成装置を実現する代
表的なハードウェア構成(コンピュータベースのハード
ウェア構成)を図3に示す。CPU2はROM4に記憶
されるプログラムを実行してシステムの各部を制御す
る。ROM4はプログラムの他に固定データを記憶す
る。特に自動メロディ生成装置を実現するためROM4
には図1や図2で述べたようなフレーズデータベース、
生成インデクスデータベース及びテーマデータベースが
置かれる。RAM6は変数や時データ(例えば生成メ
ロディデータ)を記憶するものでCPUのワーキング
メモリとして使用される。鍵盤8は通常の電子鍵盤楽器
における鍵盤で構成でき、電子楽器の演奏入力装置とし
て用いられる。入力装置10は通常の電子鍵盤楽器で使
用される種々の入力スイッチ、ボリュームを含み得る。
自動メロディ生成装置に対するテーマ指定機能をはたす
ため入力装置10からテーマの選択指示が可能である。
このようなテーマ選択指示は例えば伴奏機能をもつ電
子楽器でよくみられるリズムスタイルないし伴奏スタイ
ルの選択操作子を介して行なうことが可能である。その
場合ROM4におかれるテーマデータベースないしテー
マテーブルはリズムスタイル(伴奏スタイル)毎に適当
な数のテーマを含むように構成される。音源12はCP
の制御のもとに電子的に楽音信号を発生する。サウ
ンドシステム14は音源12からの楽音信号を受け、そ
のサウンドを再生する。表示装置16はLCDディスプ
レイやLED等を含み、システムの状態の表示データの
表示、ユーザーにらせるメッセージの表示を行なう。
クロック発振器18はシステムの定時間プロセス(例え
ば自動生成したメロディの自動演奏処理)を実行可能に
するため、一定時間の経過毎にCPU2に時間割り込み
をかけるクロックパルスを発生する。例えばクロック発
振器18からのクロックパルスの数はタイム割込プログ
ラムによって(CPU2を介して)カウントされ、その
カウント値が音楽分解能時間に相当する値に達する都度
メインプログラムにおいて、発音あるいは消音のタスク
を有無を検査することにより自動演奏処理が行なえる。
【0014】詳細(図4〜図19) 以下図4から図19を参照して実施例(第1実施例)の
詳細を説明する。図4にメロディ生成プロセスの全体の
流れを示す。最初の工程4−1でテーマを選択する。次
にテーマを演奏する(4−2)。続いて自動メロディ生
成装置はCEDレコード(フレーズ生成インデクスレコ
ード)を選択する。ここにCEDレコードには複数のイ
ンデクス候補が書かれている。そこで次の生成インデク
ス決定プロセス(4−4)で複数の候補の中からメロデ
ィ生成のための候補を選択する。次のプロセス4−5
(比較リズムルックアップRLM(i))で決定インデ
クスに含まれる楽式インデクス項目をルックアップテー
ブル(後述するRCLテーブル)に通して比較リズム型
をとり出す。プロセス4−6でリズムを生成する。プロ
セス4−7で音種列を生成する。さらにプロセス4−8
で音高列を生成する。4−6で生成したリズムと4−8
で生成した音高列とにより生成メロディが構成される。
つまりメロディ生成作業の完了である。そこで次のプロ
セス4−9で生成メロディを自動演奏する。以上が実施
例の動作の概要である。以下個々のプロセスの詳細及び
各プロセスがかかわるルックアップテーブル等について
詳細に説明する。テーマの選択プロセス4−1はユーザ
ーからのテーマ選択指示に応答して実行される。このテ
ーマ選択指示は入力装置10に含まれる曲風指定操作子
(例えばリズムスタイルの操作子)の操作によって行な
うことができる。ROM4にはテーマデータベースがお
かれている。テーマデータベースは曲風毎に複数のテー
マをもっている。テーマ選択プロセス4−1ではこの複
数のテーマの中から1つのテーマを選択する。プロセス
4−1の詳細を図10に示す。まず10−1でCPU2
は0から1の乱数を生成し、次に10−2で乱数、選
択された曲風に割り当てられたテーマバンクTMBに含
まれるテーマ数とを用いてTM=乱数×(TMBのテ
ーマ数NO−1)によりテーマ番号TMを決定する。続
いて10−3に選択テーマ=TMB(TM)で示すよう
にテーマバンクの中からテーマ番号で指されるテーマを
選択テーマとして選択する。TMB(TM)にはテーマ
情報が書かれている。そこでCPU2は次のプロセス4
−2としてTMB(TM)に書かれているテーマを自動
演奏する。すなわちCPU2はテーマのメロディ音の発
音タイミングが到来する都度発音コマンドを音源12に
送り、またテーマメロディ音の消音タイミングが到来す
る都度消音コマンドを音源12に送ってテーマの各音の
発音・消音を制御することにより、テーマを自動演奏す
る。続いてCPU2の動作はCEDレコードの選択プロ
セス4−3に進む。ここでCEDレコードについて説明
する。図3のROM4内にはCEDのデータベースがお
かれる。CEDデータベース(生成インデクステーブ
ル)は複数の(好ましくは多数の)CEDレコードをも
っている。
【0015】図5に生成インデクステーブルCEDを示
す。生成インデクステーブルCEDの各レコードは複数
の音楽区間(ここでは小節)についてフレーズ生成イン
デクス情報をもっている。フレーズ生成インデクス項目
として調性インデクス、リズム(変化)インデクス、
ッチ(変化)インデクス、及び楽式インデクスがある。
調性インデクスと楽式インデクスは音楽の進行ないし音
楽の構造にかかわる情報である。リズムインデクスは主
としてフレーズのリズムにかかわる情報である。ピッチ
インデクスはフレーズのピッチにかかわる情報である。
各音楽区間における調性インデクスはその音楽区間で使
用できるピッチクラスセット(PCS)を指示する働き
を有する。各生成インデクスレコードはテーマ(モチー
フ)に後続するメロディ生成指示情報をもつ。したがっ
てテーマは第1小節を占め、続く小節のメロディは選択
したCEDレコードに基づいて生成される。図5にはC
EDレコード中に第1小節(モチーフ)の欄も示してい
るが、実際にはこのモチーフ欄すなわちテーマ欄の情報
は不要である。というのはこの欄の情報はテーマバンク
中のテーマ情報レコードに書かれているからである。図
5のCEDレコードの各小節欄においてリズムインデク
スとピッチインデクスの項目には1以上の要素が書かれ
ている。1以上の要素はこれらのインデクス項目の候補
を表わすものである。例えば第2小節におけるリズムイ
ンデクスには候補として1a、1b、repがある。又
第2小節欄のピッチインデクスには候補として1a、1
bがある。リズムインデクス要素のうち、いくつかの要
素は音楽の構造的な反復コマンドとしての意味をもって
いる。すなわち、インデクス要素repは現小節におい
て前小節のリズムを反復するコマンドである。インデク
ス要素repEは現小節において前小節のリズムと音種
列を反復するコマンドである。インデクス要素1bar
は現小節においてテーマ(モチーフ)小節のリズムを反
復するコマンドである。インデクス要素1barEは現
小節においてテーマ小節のリズムと音種列を反復するコ
マンドである。これらのコマンドインデクスをリズムイ
ンデクス項目の要素(特別なデータ値)として設けた理
由はインデクスの項目数の増加をさけるため、つまりC
EDレコードのデータ量を節約するためである。したが
ってこのような反復コマンドはリズムインデクス項目の
要素としてではなく別のインデクス項目の要素例えば、
楽式インデクス項目の要素として実現するようにしても
よい。要するに重要なことはレコードのデータ量を節約
しつつ多様なフレーズ生成指示が行なえるようにインデ
クス情報を構成することである。生成インデクステーブ
ルCEDは曲風毎あるいはテーマ毎に複数のレコードを
もち得る。そこでCEDレコード選択プロセス4−3
(図4)ではテーマあるいは曲風に割り当てられたCE
Dレコード群の中から1つのレコードを乱数的に選択し
ている。プロセス4−3で選択されたCEDレコード
は、以下のプロセスで生成されるメロディの生成基本情
報として用いられる。ただし、リズムインデクスとピッ
チインデクスの項目は1以上の候補数をもつのでその中
の1つを各音楽区間について決定する必要がある。この
処理を生成インデクス決定4−4で行なっている。プロ
セス4−4の詳細を図11に示す。最初のステップ11
−1で選択したCEDレコードの第2小節(実際にはC
EDレコードの最初の小節欄)をロケートする。ループ
11−2から11−7の最初のステップ11−で現小
節(着目している小節)の欄の調性インデクスをロード
し、キーからコードルートを決定する。ここにキーはシ
ステムの初期化でCに設定され、システムの動作中に入
力装置10におかれるトランスポーズキーのようなキー
指定操作子によって指定されるものである。キーからル
ートへの決定は調性インデクスに含まれる度数情報(例
えばMajorVにおけるV)を利用することで行なえ
る(キーに度数を加えることにより)。11−3で現小
節欄の楽式インデクスをロードする。次に11−4で現
小節欄のリズムインデクスの項目に書かれた候補の中か
ら1つを乱数で決定し、RC(i)にロードする。次に
11−5で現小節欄のピッチインデクス項目に書かれた
候補の中から1つを乱数で決定し、結果をNC(i)に
ロードする。11−6でCEDレコードの終端かどうか
を調べ、終端でなければ11−7で次小節をロケート
し、11−2に戻り生成インデクス決定処理を続ける。
CEDレコードの終端が検出されれば生成すべきメロデ
ィの全ての小節についてフレーズ生成インデクスが決定
されたことになる。
【0016】次にCPU2は比較リズムルックアップ4
−5(図4)を実行する。プロセス4−5で参照される
比較リズムルックアップテーブルはROM4におかれ
る。図6に比較リズムルックアップテーブルRCLを示
す。テーブルRCLは楽式の入力に対して比較リズム
返すテーブルである。したがってプロセス4−5では4
−4で決定した曲生成インデクスの各小節欄に書かれた
楽式インデクスを用いてテーブルRCLをルックアップ
することにより対応する比較リズムデータを得ている。
比較リズムデータは配列RLM(i)に格納される。リ
ズム生成プロセス4−6で参照されるリズムテーブルR
PDを図7に示す。リズムテーブルRPDはROM4に
おかれるリズムテーブルRPDは比較リズム型RLMを
第1引数、前区間のリズム型RLを第2引数とし、リ
ズムインデクスRCを第3引数としてルックアップされ
現音楽区間(現小節)のリズム情報(リズムパターンと
その識別子)をかえす。したがってリズムテーブルRP
Dは比較リズム型RLM、前区間のリズム型RLB及び
リズムインデクスRCから成る3つの引数の組み合わせ
に対応してリズムデータを記憶するものである。しか
し、このことは引数の組み合わせとリズムとが一対一対
応であることを意味するわけではない。好ましくはリズ
ムと引数の組み合わせとは一対多(one−to−ma
ny)の対応関係をとることができ、それによってリズ
ムテーブルRPDの記憶容量を節約することができる。
前区間のリズム型引数RLは前の音楽区間で使用され
たリズムの識別子(そのリズムに固有な識別番号)であ
ってもよいし、あるいは前の区間のリズムを特徴づける
情報(これは例えばリズム識別子の上位ビットによって
表現することができる)であっても良い。後者の場合は
リズムテーブルRPDの記憶容量をさらに節約するのに
有効な手段が提供される。図4のプロセス4−6では図
7に示すリズムテーブルRPDを参照して各小節のリズ
ムを生成している。リズム生成プロセス4−6の詳細を
図12に示す。まず12−1で第2小節をロケートする
(i=2)。ループ12−2から12−8の最初のステ
ップ12−2で現小節について決定したリズムインデク
スRC(i)が1barか1barEであるならばステ
ップ12−3に進み、現小節のリズムRD(i)をモ
チーフ(テーマ)のリズムと等しく決定する。ステップ
12−4で現小節のリズムインデクスRC(i)かre
pかrepEであればステップ12−5に進み、現小節
のリズムRD(i)を前小節のリズムと等しく設定す
る。リズムインデクスがその他の値をとる時はステップ
12−6に進む。ステップ12−6では比較リズム型R
(i)前小節のリズム識別子ないし特徴番号及び
現小節のリズムインデクスRC(i)によってリズムテ
ーブルRDをルックアップしてリズムデータを取り出
し、それによって現小節のリズムTRD(i)を定め
る。12−7で全ての小節を完了してなければ12−8
で次小節をロケートして12−2に戻る。完了ならリズ
ム生成プロセスは終了する。図4の音種列生成プロセス
4−7で参照される音種列テーブルNCDを図8に示
す。音種列テーブルNCDは図3のROM4におかれ
る。音種列テーブルNCDは現区間のリズム識別子ある
いはその特徴識別子TRDを第1引数とし、ピッチイン
デクスNCを第2引数としてこれらの引数の組み合わせ
に応じて音種列データをかえす表である。自動メロディ
生成システムは音種列テーブルNCDから出力される音
種列に相対音種列の意味をもたせる。ここに相対音種列
とは基準音高に対する音種列のことである。表NCDに
おいて音種列データ中のK1、K2、K3、K4はそれ
ぞれ基準音高NOMの位置からみた第1コード構成音、
第2コード構成音、第3コード構成音、第4コード構成
音を表わしている。又st2、st4、st6は基準音
高NOMの位置からみた第2スケール音、第4スケール
音、第6スケール音を表わしている。この言い方はコー
ド構成音もスケール音であるために使用した用語法であ
るがコード構成音とコード音でないスケール音とを
(音種列の変換ないし展開において)別にとり扱う立場
から言えばst2は第1スケール音、st4は第2スケ
ール音、st6は第3スケール音である。さらにテーブ
ルNCDの音種列には+、−の記号が示されている。こ
の記号は音種の「方向」を意味する。すなわち+は音種
が基準音高NOMより高いことを表わし、−は基準音高
NOMより低いことを表わしている。したがって+K1
は基準音高NOMの上にある最初のコード構成音を表わ
し逆に−K4はNOMのすぐ下にあるコード構成音を表
わしている。というのはK1K2K3K4は垂直方向
(音高の上昇方向)に対してK1K2K3K4K1K2
K3K4……と並ぶからである。同様にst2st4s
t6は音高の上昇方向に対しst2st4st6st2
st4st6というように繰り返し並ぶ。したがって+
st2は基準音高NOMのすぐ上にあるスケール音を意
味し、−st6はNOMのすぐ下にあるスケール音を意
味している。音種列生成プロセス4−7では図8で述べ
たような音種列テーブルNCDをルックアップして音種
列を生成する。音種列生成プロセス4−7の詳細を図1
3に示す。まず最初のステップ13−1で第2小節をロ
ケートする(i=2)。ループ13−2から13−7の
最初のステップ13−2で現小節のリズムインデクスR
C(i)が1barEに等しければ13−3に進み現小
節の音種列TND(i)をモチーフ(テーマ)の音種列
と等しく設定する。またステップ13−4でRC(i)
がrepEに等しければステップ13−5に進み、現小
節の音種列TND(i)を小節の音種列と等しく設定
する。現小節のリズムインデクスRC(i)が1bar
E、repE以外の値をとるときにはステップ13−6
に進み現小節のリズム識別子と現小節のピッチインデク
スNC(i)とにより音種列テーブルNCDをルックア
ップし、取り出した音種列データをTND(i)に格納
する。ステップ13−7で全ての小節について処理が完
了してなければ13−2に戻る。13−7で処理の完了
が検出されればリターンする。図14に音高列生成プロ
セス4−8のフローを示す。まず14−1で第2小節を
ロケートする。ループ14−2から14−5の最初のス
テップ14−2で音種列変換処理(図15)を実行す
る。次にステップ14−3で音高列変換処理(図17)
を実行する。14−4で生成インデクスレコードの終端
に達したかどうかを見、達してなければ次小節をロケ
ートし(14−5)て14−2に戻り、そうでなければ
メインにリターンする。図15に音種列変換処理14−
2の詳細フローを示す。音種列変換処理の目的は基準
音高NOMとの関係で定義される相対音種列をコード
ルートによって第1コード構成音を定義する形式の音種
列に変換することである。この変換が必要な音楽的な
理由は基準音高NOMと現区間の音高列との間のモーシ
ョンないしボイスリーディングを制御するためである。
データ処理上の直接の理由は後述するPC変換テーブル
AVがコードルートによって第1コード構成音を定義す
る形式を採用しているからである。言いかえればPC変
換テーブルAVで所望の音高変換が行なわれるようにす
るための前処理が音種列変換処理である。
【0017】以上の目的を達成するため音種列変換処理
は最初のステップ15−1で調性インデクスによって定
められる現調性に対するコード構成音のピッチクラスセ
ットX(t)を作成する(t=0〜3まで)。次にステ
ップ15−2でコードピッチクラスセットX(t)の中
で基準音高NOMのすぐ上に位置する要素X(CN)を
つけCNをストアする。なお、この実施例では基準音
高として前小節(前音楽区間)の最終ピッチを使用して
いる。次にステップ15−3で現調性に対するスケール
音のピッチクラスセットY(t)を作成する。(t=0
〜2)続いて15−4でスケールピッチクラスセットY
(t)の中で基準音高すなわち前区間の最終ピッチNO
Mのすぐ上に位置する要素Y(SN)をみつけSNをス
トアする。最後にステップ15−5で現小節の音種列の
各要素TND(i、j)をCNとSNを用いて展開(変
換)する。図16は音種列変換を説明したものである。
(a)において基準音高NOMのすぐ上に位置するコー
ド構成音はコードルート上から数えて第3のコード構成
音K3となっている。ここに、K1からK4の表現はK
1がコードルートを意味している。すなわち(a)
(b)において音種K1からK4およびst2からst
6は、後述するPC変換テーブルAVにおいて定義され
る音種(コードルートを第1コード構成音とする表現の
音種セット)である。(a)に示すようにNOMのすぐ
上に(正確にはNOMと同一音高であってもよい)に位
置するコード構成音が第3コード構成音K3である場合
にはCNとして2が設定される。このK3の検出をCN
の値の設定を図15のステップ15−2で行なってい
る。(b)ではNOMのすぐ上に位置するスケール音と
してスケール音種st6が検出されている。この時SN
としては2が設定される。このst6のようなNOMの
すぐ上に位置するスケール音種の検出とSNの設定を行
なっているのが図15のステップ15−4である。CN
=2の設定に対しては、図8に示される現小節のコード
構成音種は(c)に示すように変換される。すなわちK
1がK3、K2がK4、K3がK1、K4がK2に変換
される。ここに変換前のコード構成音種(図8を参照)
は基準音高NOMからみた音種(相対音種)であり、変
換後の音種はPC変換テーブルAVにあわせた音種であ
る。SNとして2が設定された場合には、図8に示され
る現小節のスケール音種は(d)に示すように変換され
る。すなわちst2がst6、st4がst2、st6
がst4に変換される。(e)に変換前の音種列と変換
後の音種列及び変換後の音種列をPC変換テーブルAV
通して得られる音高列の例を示している。(e)の変
換後の音種列(K3、st6、K3、K2)において最
初の音種が基準音高NOMのすぐ上にくるコード構成音
であり、2番目の音種はスケール音種の中でNOMのす
ぐ上にくるスケール音種であり、3番目の音種はコード
構成音の中でNOMのすぐ上にくるコード構成音であ
り、4番目の音種はNOMのすぐ下にくるコード構成音
である。今ここでは変換後の音種列をNOMとの関係で
説明したがまさにこのことが変換前の音種列(+K
1、+st2、+K1、−K4)に記述されているわけ
である。図16の説明からわかるように図15の音種列
変換処理ではスケール音種とコード音種とを別に取り扱
う形で音種列を変換している。なお、基準音高NOMの
ルートからの音程を第1引数とし、相対音種テーブルか
らの音種を第2引数としてPC変換テーブルAVに合う
音種表現に変換するような簡単な音種変換ルックアップ
テーブルを用いることにより図15の音種列変換と似た
ような結果を得ることができる。そのような変換テーブ
ルは音種列変換を高速で実行することは明らかである。
また、上記音種列変換処理ではコード音数を4つ、スケ
ール音数を3つとして処理したが、コード音数を4つ以
外(例えば3つ)、スケール音数を3つ以外(例えば4
つ)としてコード/スケール別に音種を変換する処理を
1以上、追加し、どの処理を選ぶかを調性インデクスの
調性和声情報によって決めるようにすれば、より好まし
い変換結果が得られる。図14の音高列変換プロセス1
4−3では図9に示すようなPC変換テーブルAVを参
照して音種列(プロセス14−2で変換された音種列)
の各要素を音高に変換している。図9に示すようにPC
変換テーブルAVは調性インデクスに含まれる調性和声
(コード機能)情報を第1引数とし、変換された音種を
第2引数としてルックアップされ変換結果としてコード
ルートをCとした時のピッチクラス(言い換えればコー
ドルートからの音程データ)を出力する。上述したよう
にPC変換テーブルAVは、コード構成音K1をコード
ルートとして定義するので図9のPC変換テーブルAV
のうちK1の欄のデータは実際には不要である。PC変
換テーブルAVがもつデータをキーノートからの音程を
表わすようにすることもできる。その場合にはPC変換
テーブルAVの出力に(現区間の)コードルートのピッ
チクラスではなく、キーノートのピッチクラスをモジュ
ロ12で加算することになる。またその場合にはPC変
テーブルAVのK1の欄にもデータ(コードルートの
キーノートからの音程データ)が必要である。
【0018】図9で述べたようなPC変換テーブルAV
を参照する音高列変換プロセス14−3の詳細フローを
図17に示す。音高列変換プロセスは最初のステップ1
7−1でNOMのオクターブすなわち前区間の最終音の
オクターブを取り出しOCTにロードする。17−2で
フレーズの音カウンタiを1に設定する。ループ17−
3から17−4の最初のステップ17−3で音種NTに
変換音種配列要素TND(i,j)の音種項目を代入
し、方向FにTND(i,j)の方向項目を設定する。
17−4で音種NTとコード機能(調性和声)とにより
PC変換テーブルAVをルックアップし、結果をPに取
り込む。次に17−5でP=(P+ルート)mod12
+OCTにより音種NTのピッチクラス(音種NTを現
在の調性でみた時のピッチクラス)に基準ピッチNOM
のオクターブを加える。この結果Pを17−6で基準ピ
ッチNOMすなわち前区間の最終音ピッチと比較する。
Pが下であれば17−10で方向Fを調べ、方向Fが下
(−)を示していればPが所望の音高を表わしている。
そこでPを音高配列の現要素P(i,j)に代入する。
方向Fが上になっておればPに1オクターブ(+12)
を加えることにより所望の音高P(i、j)を得る。P
がNOMより高くなっていれば(17−6)、17−7
に進んでFを調べる。音種NTの方向がNOMより上
(+)を指していればPは所望の音高を表わしているの
で17−8に示すようにPを音高は配列の現要素P
(i、j)に代入する。方向Fが下で(−)あればPを
1オクターブ下げて(−12して)所望の音高P(i,
j)を得る。17−13でフレーズの終了かどうかを調
べ、フレーズの終わりに達してなければjをインクリメ
ントし(17−14)、17−3に戻る。フレーズの終
わりまで音種を音高に変換完了した場合には17−15
で現フレーズの最終音高P(i、j)をNOMに代入し
て次の小節での音高列変換に備え、リターンする。図1
8に例示するようなテーマメロディを表わす情報が上述
したテーマバンクのテーマレコードに入っている。図1
9に実施例の動作結果として生成メロディ例を示してい
る。以上のようにしてメロディの生成が完了したら、図
4の4−9に示すように生成メロディの自動演奏を実行
する。
【0019】以上の第1実施例(図3から図19)の説
明から分かるように本自動メロディ生成装置は音楽デー
タベースに基づくアプローチでメロディを生成する。音
楽データベースとしてルックアップテーブルRCL、R
PD、NCD,AVを含むフレーズデータベースと生成
インデクステーブルCEDを用いている。フレーズデー
タベースは1音1音ではなくフレーズを単位とするメロ
ディデータを提供する。フレーズデータベースに関連づ
けられる生成インデクスレコードはフレーズの展開、変
形、反復を指示する。したがって本自動メロディ生成装
置は広いメロディ生成空間を有し、かつ自然なメロディ
の生成能力を有している。さらにROM4におかれるメ
ロディ生成プログラム自体には格別のデータ処理プログ
ラムは不要である。したがって自動メロディ生成装置は
メロディを高速で生成する能力をもっている。したがっ
てユーザーからのメロディ生成の指示要求に対してリア
ルタイムあるいはリアルタイムに近い環境でメロディを
生成し、ユーザーへの応答として生成メロディを自動演
奏することが期待される。しかしながら図4に示すよう
に第1実施例の自動メロディ生成装置ではユーザーから
のメロディ生成要求に対していったんメロディの生成を
完了したのちに自動演奏を行なっているので自動メロデ
ィ生成装置を実現するコンピュータの性能、処理速度に
依存してユーザーの要求から生成メロディの演奏開始ま
での待ち時間(オーバーヘッドタイム)が問題になりう
る。またこの待ち時間は生成インデクスレコードの音楽
区間(小節)数にも依存する。例えば64小節の生成イ
ンデクスレコードがあるとすると1小節のメロディの生
成にたかだか1秒しかかからない処理能力をもつコンピ
ュータを用いたとしても64小節分のメロディを生成完
了するのに64秒がかかる。2〜3秒の遅れであれば充
分リアルタイム(ユーザーにとって)であるが1分の待
ち時間はリアルタイムとは言えない。これに対する1つ
の解決策は、音楽分解能の時間の経過毎に実行される自
動演奏プロセスに先立ってメロディ生成プロセスを実行
し、生成した音をただちに演奏プロセスで演奏すること
である。しかしながらこの方式だと新しい小節に移る時
にデータ処理の集中が発生する。すなわち新しい小節に
移る時にメロディ生成プロセスはその小節でのフレーズ
を決定しさらに新しい小節の最初の拍に演奏すべき音が
あるならばその音の音高データも生成しなければならな
いからである。このことは結果として小節の最初の音が
遅れて発音される現象をひき起す。これは自動演奏にと
っては都合が悪い。以下述べる関連発明の第2実
施例では以上の点に鑑みリアルタイムの生成、演奏の応
答が可能なコンピュータベースの自動メロディ生成装置
を開示する。
【0020】第2実施例 ハードウェア構成(図20) 図20に第2実施例の自動メロディ生成装置を実現する
のに使用できる代表的なハードウェア構成のブロック図
を示す。図20においてRAM34、音源36、サウン
ドシステム38、鍵盤26、入力装置20、表示操作3
0は、(メロディの生成、演奏について不完全なリアル
タイムの応答特性を有する)第1実施例について説明し
た図3のハードウェア構成におけるRAM6、音源1
2、サウンドシステム14、表示装置16、入力装置1
0とハードウェアレベルで同一構成でありうる。一方C
PU22は後述する制御方式を採用した場合に完全なリ
アルタイム応答を保障する処理能力を必要とする。換言
すると第2実施例のシステムは自動演奏系が1小節の自
動演奏を行なう間に1小節分のメロディ生成能力を保障
するようなコンピュータ処理能力を必要とする。しかし
ながらこのコンピュータ処理能力は格別に高い能力では
なく、代表的なマイクロコンピュータの処理能力で充分
まかなえる程度である。図2のプログラムROM20に
はCPU22が実行するプログラムが記憶される。ま
た、データROM32には第1実施例で述べたようなテ
ーマテーブル、メロディ生成インデクステーブル、及び
フレーズデータベース等の固定データが記憶される。タ
イマー24はプログラマブルなタイマーである(すなわ
ちデータバスを介してタイマーの値を可変に設定できる
タイマーである)。タイマー24はGタイム、GEタイ
ム及びPタイムの時にCPU22に対して割り込み(I
NT)を要求するための信号を与える。本システムは3
つの処理系(プロセス)を有している。3つの系はメイ
ン系(M系)とメロディ生成系(G系)及び自動演奏系
(P系)である。プログラムROM22はこの3つの処
理系を実現するため、M系にかかるプログラム(メイン
プログラム)とG系にかかるプログラム(生成プログラ
ム)及びP系にかかるプログラム(自動演奏プログラ
ム)を有している。又本システムにおいてM系は(時分
割の意味も含めて)常時存在するがG系とP系は必要な
時すなわちメロディを生成する時と自動演奏を行なう時
に存在する。
【0021】リアルタイム制御方式(図21から図24) 次に本システムのリアルタイム制御方式を図21から図
24を参照して説明する。図21にシステムの状態遷移
図を示す。今システムの状態がM系にあるとする。すな
わちM系がCPU22の制御権を握っているとする(メ
インプログラムがCPU22で実行中であるとする)。
M系がアクティブとなるシステム状態はGタイムの到来
によってG系がアクティブになる状態に移行する。すな
わち実行中のメインプログラムはタイマー24からのG
タイムの割り込み要求信号を受けて中断され、メロディ
生成プログラムがG系プロセスのためにCPU22で実
行される。G系プロセスは無制限にCPU22を占有で
きずタイムオーバーでM系に戻る。すなわち実行中のメ
ロディ生成プログラムはタイマー24からのGEタイム
の信号によって中断され、CPU22の制御権は、メイ
ンプログラムに移り、M系プロセスは中断した位置から
メインプログラム命令を続行する。又、G系の状態はP
タイムの到来によってもP系に遷移する。すなわち実行
中の生成プログラムはタイマー24からのPタイムの信
号に応答して中断され、自動演奏プログラムCPU22
を制御する。自動演奏プログラムは時間的制限を受け
ず、最後まで実行される。というのは自動演奏プログラ
ムの実行はごく短時間で終了するからである。システム
の状態がG系からタイムの到来によってP系に遷移し
た場合にはP系の終了に対してシステムの状態はG系に
戻る。一方、M系の状態からPタイムの到来によりシス
テムの状態がP系に遷移した時はP系の終了に対し、シ
ステムの状態はM系に戻る。図22は本システムの制御
方式が単一の処理プロセッサー(CPU22)を用いた
パイプライン制御であることを示している。すなわちG
系は1区間単位(1小節の音楽時間)の間にi区間の作
曲(メロディ生成)を行なう。これに対し、P系はG系
が作曲したi区間のメロディを次の1区間で演奏する。
以下同様にしてG系が1つ前の区間時間内で生成した小
節のメロディを現区間タイムにおいて自動演奏する。こ
のようなG系とP系とによるパイプライン動作に対し、
メイン系(M系)はG系あるいはP系がCPU22を占
有していない間動作する。
【0022】以上の制御方式をさらに図23に示すプロ
セスチャートにしたがって説明する。図23において当
初メインプログラムがCPU22で実行されている。点
P1に相当する時刻でタイマー24からGタイムの信号
が発生する。この信号発生に対し、CPU22はその時
点で動作しているメインプログラムの命令M1までを実
行し点Q1に示すように生成インターラプト(生成プロ
グラム)にCPU22の制御が移る。生成プログラムは
Tの時間の間CPU22を占有してCPU22に生成プ
ログラムを実行させる。ここにTはタイマー24からG
タイムの信号が発生してからGEタイムの信号が発生す
るまでの時間の長さである。点Q2でGEタイムが到来
し、G系(のCPU)はその時点の生成プログラム命令
G2まで実行してからメインプログラムにCPU22の
制御をあけ渡す。ここで(点P2で)CPU22は命令
M1の次の命令からメインプログラムの実行を再開す
る。その後メインプログラムが実行され、点P3で示す
Gタイムが再び到来するとCPU22の制御は再び生成
プログラムに移行する。ここでCPU22は命令G2ま
での実行で中断された生成プログラムを命令G2の次の
命令から再開する。再びTの間生成プログラムは実行さ
れ、その後メインプログラムにCPUの制御が移行す
る。さらに次のGタイムの到来でメインプログラムは点
P5で中断され、生成プログラムが点Q5から再開され
る。ここで生成プログラムの実行中にタイマー24から
Pタイムの信号が発生すると生成プログラムは中断され
る。これを点Q6で示している。すなわち生成プログラ
ムは命令G6まで実行してCPU22の制御を演奏イン
ターラプト(演奏プログラム)に明け渡す。点R1から
点R2までの間で演奏プログラムの実行は終了する。演
奏プログラムの終了に対し、CPU22は生成プログラ
ムを命令G6の次から再開する、これを点Q7で示して
いる。再びGEタイムの到来によりCPUの制御はメイ
ンプログラムに移る。メインプログラムの実行中にタイ
マー24からPタイムの信号が発生するとCPU22は
メインプログラムの実行を中断して演奏プログラムを実
行する。これを図23に点P7点R3点R4で示してい
る。図24は本システムの制御方式が時分割のマルチプ
ロセスであることをタイムチャートで示したものであ
る。タイマー24はGタイムが到来する都度図24に示
すようにGタイムパルスを発生する。さらにタイマー2
4はGEタイムが到来する毎に図示のようなGEタイム
パルスを発生する。さらにタイマー24はPタイムが到
来する毎に図示のようにPタイムパルスを発生する。図
24においてGタイム信号の発生からGEタイムの信号
の発生までの時間Tがメロディ生成プロセス(Gプロセ
ス)に割り当てられた時間である。この生成プロセス割
り当て時間は全体の処理に余裕のあるシステムでは固
定であってもよいが演奏テンポに依存して可変とするこ
とが低速システムの能力をあげる上で望ましい。GEタ
イムから次のGタイムまでの時間がメインプロセス(メ
インプログラム)に割り当てられた時間である。メイン
プログラムは電子楽器の入出力をとり扱うプログラムで
あるので電子楽器としてのリアルタイム応答機能を果た
すために大幅な入出力間の応答遅れは望ましくない。こ
のためにメロディ生成作業が行なわれている時にもメイ
ンプログラムが時分割で実行されるようにしている。た
だしCPU22の処理能力によってはメロディ生成作業
中には充分な入出力処理をメインプログラムがはたせな
いこともある。そのような場合にはメインプログラムの
うち特に重要でない部分はスキップされるように設計す
ることが可能である。Gタイム信号の発生周期は電子楽
器の通常の入出力応答を定めるメインプログラムのフロ
ー1周分の時間を考慮して定めるのがよい。Gプロセス
(とMプロセス)のデータ処理量がPプロセスのデータ
処理量より十分多い環境においてGタイム信号とGEタ
イム信号の発生周期はTタイム信号の発生周期より充分
短い周期とするのが都合よい。タイム信号の発生周期
は自動演奏における音楽分解能時間RESを定める。音
楽分解能時間RESは当然演奏テンポに反比例するもの
である。すなわち例えばテンポが倍になれば音楽分解能
時間は半分になる。
【0023】システムの基本性能がメロディ生成プロセ
スに対してクリティカルな(限度いっぱいであるよう
な)場合にはメロディ生成プロセスの割り当て時間Tを
テンポに依存させて変化させることが大変有効である。
すなわちG系にとってメロディを生成する正味の時間は
演奏テンポとは無関係である。しかし本制御方式によれ
ば、図2に示すようにG系が生成したメロディ情報を
パイプライン方式でP系が演奏する。ここにP系の演奏
は当然演奏テンポに依存する。すなわち図2において
1区間タイムは演奏テンポに反比例する。一方G系が1
区間分のメロディを生成するのに要する時間は1区間タ
イムとは関係なくフレーズ生成インデクス情報や生成す
るフレーズの音数等に依存する。一般的にいってシステ
ムの性能がメロディ生成プロセスについてクリティカル
な場合には生成プロセスの割り当て時間Tをテンポが速
いときには長くなるようにして図2に述べたようなパ
イプライン制御が実現できるようにする必要がある。し
たがってメインプログラムを介してCPU2からタイ
マー24に時間データを設定する際に演奏テンポに合わ
せてGタイムのタイムデータを設定するのが望ましい。
G系が1区間のメロディを生成するのに要する時間(最
悪時間は)フレーズ生成インデクス情報がそのかぎを握
っている。したがってフレーズ生成インデクスレコード
にそのレコードにかかるメロディを生成するのに要する
最悪時間の情報を記入しておきそれによって生成プロ
セスの割り当て時間Tを決定するのが最適であろう。ま
た、図22ではシステムが1区間の演奏時間内に1区間
分の作曲(メロディ生成作業)を完了できるものとして
図示のような1区間毎のパイプライン制御を示している
がシステムの性能が一層厳しい場合にはG系によるメロ
ディ生成作業を時分割制御のもとで連続的に行なうよう
にするのが望ましい。つまり音楽区間(小節)によって
その区間のフレーズを生成するのに要する時間は変動す
るのでその変動を吸収する意味でG系を(時分割制御
のもとで)連続的に動作させメロディの作業を連続的に
行なわせるのが望ましい。要するにP系(自動演奏系)
による演奏テンポをキープしなければならない自動演奏
処理にテンポのずれないし音ぎれの問題が生じないよう
に自動演奏系が所望の音を所望のタイミングで発音消音
制御するときまでにG系がそのメロディ音の生成作業を
完了するようにすることが必要である。以上、図21〜
24で述べたような制御方式を採用することにより比較
的限られた性能を有するコンピュータベースのシステム
でも可及的に高速なメロディ生成、演奏を行なうことが
できユーザーに対しリアルタイムの作曲環境を提供す
る。本システムの制御原理は単一のCPUを有するコン
ピュータベースのシステムにおいてマルチプロセス(メ
インプロセス、生成プロセス、演奏プロセス)に対する
時分割制御方式とパイプライン制御方式とをシステムの
リアルタイム応答特性のために組み合わせたものであ
る。
【0024】詳細(図25〜図47) 以下第2実施例の詳細を説明する。図25にメインプロ
セスの流れ(メインプログラムの簡略フロー)を示す。
25−1でCPU22によって実行されるメインプログ
ラムは入力装置28及び鍵盤26をスキャンする。以下
メインプログラムはスキャンした入力装置28と鍵盤2
6の状態を検査して対応する処理を実行する。それらの
処理のうち自動メロディ生成とかかわるメイン系の処理
を25−2〜25−9に示している。その他の処理はボ
ックス25−1として示している。すなわちテンポボ
リューム28Tの操作によりテンポ変更入力があった場
合には(25−2)テンポボリュームの位置に対応して
RAM34内のテンポレジスタに新しいテンポデータを
書き込む(25−3)。テーマ選択入力装置28Mから
テーマ選択の入力があった場合には(25−4)テーマ
選択(図36)処理25−5、CEDレコード選択(図
37)処理25−6及びGPプロセス設定(図38)処
理25−7を実行する。本例ではテーマの選択入力に対
してシステムは25−5〜25−7の処理を介してGP
プロセスをイネーブルしてメロディの生成と演奏の処理
系が開始するようにしている。すなわちテーマ選択入力
はメロディの生成及び演奏を要求する入力として使用し
ている。トランスポーズキー28Kからキーの指示入力
があった場合には(25−8)キーノート更新処理25
−9を実行し、更新されたキーノートデータをRAM3
4内のキーノートレジスタにストアする。なおCPU2
2の処理負担を軽減するため入力装置28と鍵盤26に
対する状態走査用のハードウェア(キースキャナー回路
インターフェース)を設けてもよい。図26に生成
(G)プロセスの流れ(生成インタラプトプログラムの
略式フロー)を示す。生成インタラプトプログラムのエ
ントリーにおいて26−1で示すようにP_BAR=G
_BARかどうかすなわち演奏プロセスが現在演奏し
ている小節が生成小節(生成プロセスがフレーズ生成を
完了した小節)に等しいかどうかを調べる。演奏小節が
生成小節より前の小節であれば生成プロセスは新しい小
節に対するフレーズを生成する必要はまだないので(図
2を参照)そのままリターンする。演奏小節=生成小
節ならば(26−1)Pプロセスが次の小節の演奏を開
始する前にその小節のメロディを生成しなければならな
い。そこで生成プロセスは26−2に示すように生成小
節番号G_BARをインクリメントし26−5に示すよ
うにG_BARについてメロディを生成する(詳細を図
39に示す)。生成すべき小節が残っていない場合(生
成インデクスレコードの最終小節のメロディ生成を完了
している場合)には26−3でG_BAR>MLが成立
する。この場合生成プロセスは生成プロセスの活動を停
止するため生成インタラプト禁止処理26−4を実行し
てリターンする。生成インタラプト禁止処理によりCP
U2はそれ以降タイマー24からGタイム信号が発生
してもその割り込みを受け付けない状態となる(メイン
プログラムが中断されない状態となる)。この割り込み
禁止技術は周知であるのでこれ以上の説明は省略する。
【0025】なお上述したように生成プロセスの割り当
て時間は時間T(図24参照)に制限されており、タイ
ムオーバーが発生した時点で中断され図21に示す状態
遷移図にしたがってM系(メインプログラムの実行状
態)に移行する。また生成プログラムの実行中にタイマ
ー24からPタイムの信号が発生した場合にも中断され
CPU22の制御は演奏プログラムに移行するものであ
る。したがって生成プログラムは断片的に実行されるの
であって1回の割り当て時間において図26に示すプロ
セスが全て実行されるわけでないことに留意されたい。
図27に演奏(P)プロセスの流れ(自動演奏プログラ
ムのフロー)を示す。演奏プログラムはCPU22の制
御権を獲得する都度図示のリターン位置まで全て実行さ
れる。演奏プログラムはタイマー24からのPタイム信
号による割り込み要求信号の直後に(中断されるプログ
ラムが現在の命令のオペレーションを完了し再開される
プログラムの命令アドレスが戻り先命令アドレスレジス
タにセーブされた後に)起動される。最初に(27−
1)メロディ音の発音タイミングかどうかがチェックさ
れる。発音タイミングなら音源36に対し発音処理を実
行する(27−2)。次にメロディ音の消音タイミング
かどうかをチェックし(27−3)消音タイミングなら
音源36に対し消音処理27−4を実行する。次に27
−5でRAM34内に置かれるPタイムの信号パルスを
カウントするためのレジスタT(前述した生成プロセス
割当時間Tとは別のもの)をインクリメントする。本例
では1小節当たりの音楽分解能数を16としている。そ
こでT=16なら(27−6)新しい小節の開始を示す
ためを0に戻し(27−7)演奏小節番号P_BAR
をインクリメントする(27−8)。27−9でP_B
AR>MLかどうかすなわち演奏すべき小節が残って
いないかどうかを調べ残っていれば発音バッファの切換
(27−11)を実行し、小節の処理音数Pを0に初期
設定する(27−12)。P_BAR>ML(27−
9)が成立するときは生成インデクスレコードに基づい
て生成された全てのメロディについて演奏が完了してい
るのでPプロセスの活動を停止するため演奏インタラプ
ト禁止処理27−10を実行してリターンする。これ以
降CPU22にはタイマー24からPタイムの信号が与
えられてもその割込み要求を受け付けない。したがって
それ以降演奏プログラムは実行されない状態となる。図
28に自動メロディ生成、演奏にかかわる主なレジスタ
群を示すこれらのレジスタは全てRAM34に置かれ
る。レジスタKEYはキーノートのピッチクラスを記憶
する。レジスタMRはモチーフ(選択されたテーマ)の
リズム識別子を記憶する。レジスタMPはモチーフの音
種列識別子を記憶する。レジスタPRは前小節のリズム
識別子を記憶する。レジスタPPは前小節の音種列識別
子を記憶する。レジスタNOMは前小節の最終ピッチを
記憶する。レジスタRECは選択CEDレコードアドレ
スを記憶する。レジスタMLは選択CEDレコードの小
節数を記憶する。レジスタG_BARは既に述べたよう
に生成小節番号を記憶する。レジスタP_BARは既に
述べたように演奏小節番号を記憶する。レジスタPは処
理音数を記憶する。レジスタの内容はメインプロセスの
25−5、25−6、26−7において初期設定され
る。G系はその活動中に適宜前小節のリズム識別子P
R、前小節の音種列識別子PP、前小節の最終ピッチN
OM、生成小節番号G_BARを書き替える(生成プロ
グラムからのライトアクセス)。P系の活動中にこれら
のレジスタをライトアクセスする他の系は存在しない。
P系はその活動中適宜演奏小節番号P_BAR、処理音
数Pを書き替える。P系の活動中にP_BARとPへの
ライトアクセスは自動演奏プログラムのみが行なう。
【0026】レジスタTONALは調性識別子を記憶す
る。レジスタROOTはコードルートのピッチクラスを
記憶する。レジスタSTRは楽式を記憶する。レジスタ
CMPは比較リズム型を記憶する。レジスタRIは選択
リズムインデクスを記憶する。レジスタPIは選択ピッ
チインデクスを記憶する。レジスタCRはリズム識別子
を記憶する。レジスタCPは音種列識別子を記憶する。
レジスタNOは音数を記憶する。レジスタNT(1)は
第1音種番号を記憶する。レジスタNT(2)は第2音
種番号を記憶する。同様にしてレジスタNT(I)は第
I音種番号を記憶する。レジスタD(1)は第1音種方
向を記憶する。レジスタD(2)は第2音種方向を記憶
する。以下同様にしてレジスタD(I)は第I音種方向
を記憶する。レジスタA(1)は第1音種の臨時記号を
記憶する。レジスタA(2)は第2音種の臨時記号を記
憶する。以下同様にしてA(I)は第I音種の臨時記号
を記憶する。これらのレジスタのうちTONAL、RO
OT、STRは選択生成インデクスレコードの小節欄に
書かれたフレーズインデクス情報の中から取り出される
情報である。RIは選択CEDレコードの小節欄のリズ
ムインデクス候補の中から選ばれたリズムインデクス情
報である。同様にPIは選択CEDレコードの小節欄の
ピッチインデクス候補の中から選ばれたピッチインデク
ス情報である。比較リズム型CMPは楽式STRをルッ
クアップテーブルRCLに通して得られる情報ワードで
ある。リズム識別子CRは現区間(現小節)のリズムを
識別する情報である。音種列識別子CPは現小節の相対
音種列を識別する情報である。音数NOは現小節の音数
を表わす。音種番号、音種方向及び臨時記号は相対音種
列テーブルをひいた音種列の音種データによって初期設
定される。発音バッファはT1とT2の2系統がある。
G系が発音バッファT1に生成したメロディデータを書
き込む間P系は発音バッファT2に書かれたデータを解
読して自動演奏を行なう。1小節の経過後にG系が書き
込む発音バッファとP系が読み出す発音バッファは切替
られる。図29に示すように発音バッファT1は奇数小
節用に使用され発音バッファT2は偶数小節用に使用さ
れる。各発音バッファの構成は1ワードの発音パター
ン、1ワードの消音パターン及び小節の音数分のビット
ワードからなる。16ビット/ワードの場合、発音パタ
ーンKPは図29の下に示すようになる(G系が発音パ
ターンワードレジスタに書き込んだ発音パターンの例で
ある)。16ビットワードKPのット位置が小節を1
6等分したときの各タイミングを表わす。ット位置に
あるビット“1”は発音イベントのタイミングであるこ
とを示している。したがって図示のように100010
0010001000の発音パターンは1拍目、2拍
目、3拍目及び4拍目に発音があることを示している。
消音パターンワードの表現形式も発音パターンワードと
同様である。なおこの例では1小節を16等分している
が(1小節当たりの音楽分解能が16)1小節当たりの
音楽分解能を例えば48にしたければ16ビットワード
の3つで発音パターンを構成すればよい。またワード数
はコンピュータシステムにおけるワードのデータ長(
ット数)、この場合、RAM34のメモリ語長/アドレ
スに依存する事柄である。G系によって発音パターンや
消音パターンワードに設定されたリズム情報はP系(自
動演奏プログラム)において音楽分解能時間の経過毎
すなわちタイマー24からPタイムの信号がCPU
22に与えられて自動演奏プログラムが実行される都度
左に1ビットシフトされる。その結果のキャリーの有無
を調べることで現時刻が発音イベント時刻あるいは消音
イベント時刻かどうかを調べることができる。
【0027】次に、本自動メロディ生成装置のデータベ
ース(テーマバンク、メロディ生成テーブルCED、比
較リズムテーブルRCL、リズムテーブルRD、相対
音種列テーブルNCD、PC変換テーブルAV)を実現
するためのメモリ構成について説明する。データベース
の各テーブルを引くには(アクセスするには)引数を決
定、使用しなければならないが検索されるテーブルメモ
リ側には引数との照合をとる検索キーデータは必らずし
も必要でない。むしろテーブルの記憶容量を減らしかつ
テーブルに対する検索速度を上げるために引数データ
(検索キーデータ)はテーブルには持たせずテーブルか
らルックアップすべき項目のアドレスを引数の入力から
直ちに計算できるようにするのが望ましい。以下に説明
する各種テーブルの記憶形式は以上の原理に従うもので
ある。なお各テーブルのレコードに検索キー項目を設け
る場合には記憶番地に対して検索キーを大小順に並べて
2分(バイナリ)サーチのような高速検索が行なえる
ようにするのが望ましい。図30にテーマテーブルのメ
モリ構成を示す。テーマヘッダメモリHTMは偶数アド
レス(相対アドレス)にテーマテーブル本体メモリTM
におけるテーマレコードのアドレスを記憶し、奇数アド
レスに相性テーブルメモリMATEにおける相性レコー
ドアドレスを記憶する。テーマヘッダメモリHTMの相
対アドレスはテーマ選択入力装置28Mを介して選択さ
れる選択テーマ番号と関連づけられている。すなわち選
択テーマ番号×2で特定されるテーマヘッダメモリHT
Mの相対アドレスに選択テーマについてのテーマレコー
ドアドレスが記憶されその次のアドレスに選択テーマに
関する相性レコードのアドレスが記憶される。テーマテ
ーブル本体メモリTMにおけるテーマレコードは次の項
目からなる。すなわちモチーフリズム識別子(1ワー
ド)、モチーフ音種列識別子(1ワード)、モチーフ発
音パターン(1ワード)、モチーフ消音パターン(1ワ
ード)及びモチーフの音数分のピッチ項目(それぞれ1
バイト)である。相性テーブルメモリMATEの各相性
レコードは次の項目からなる。すなわち選択テーマに適
合するCEDレコード(1ワード)及び適合する各CE
Dレコードのアドレス項目(それぞれ1ワード)であ
る。図31に生成インデクステーブルCEDのメモリ構
成を示す。CEDメモリへのアドレスは相性テーブルメ
モリMATEから読んだCEDレコードアドレスを用い
てただちに行なえる。各CEDレコードは次の項目から
なる。すなわち小節数(1ワード)と各小節に関する生
成インデクスターム(G_BARターム、フレーズター
ム)である。各小節タームは5ワードで構成される。第
1ワードが調性インデクスと楽式インデクスの情報を含
む。調性インデクスは10ビットからなりそのうち6ビ
ットが調性識別子、4ビットが度数に割り当てられる。
第2ワードと第3ワードはリズムインデクスの候補群の
ために用いられる。すなわち第2ワードの最初の4ビッ
トがリズムインデクスの候補数に割り当てられ、以下候
補数に相当する数のリズムインデクス要素RI1、RI
2……がそれぞれ4ビットで割り当てられる。第4ワー
ドと第5ワードはピッチインデクスの候補群に割り当て
られる。記憶フォーマットはリズムインデクスの2ワー
ドと同様であり、第4ワードの最初の4ビットがピッチ
インデクスの候補数に割り当てられ、各ピッチインデク
ス候補PI1、PI2……がそれぞれ4ビットで表現さ
れる。したがって各小節(G_BAR)タームはリズム
インデクスにつき最大7つの候補同じくピッチインデク
スについても最大7つの候補を持つことができる。
【0028】図32に比較リズム型テーブルメモリRC
Lを示す。選択された楽式データSPR(図31のG
BARタームから読み取った楽式データ)によってテー
ブルRCLから取り出すべき項目の相対アドレスが定ま
る。その項目には楽式STRに対する比較リズム型のデ
ータが書かれている。図33にリズムテーブルのメモリ
構成を示す。RPDヘッダメモリHPRDは各アドレス
にリズムテーブルの本体メモリRPDに対する相対アド
レスを特定する(メモリRPDのその相対アドレスには
リズムの発音パターンが書かれ次のアドレスに消音パタ
ーンが書かれている)リズム識別子が書かれている。R
PDヘッダメモリHPRDに対する相対アドレスは相対
アドレス=(S1×S2)×RLM+S2×RLB+R
Cによって計算される(ここにS1はリズム型の総数、
S2はリズムインデクスの総数である)。すなわちリズ
ムテーブルへの引数として比較リズム型RLMと前区間
のリズム型RLBとリズムインデクスRCとが与えられ
た場合上の式にしたがって相対アドレスを計算してRP
DヘッダメモリHPRDをアドレッシングすることによ
りその引数の組合わせに対応するリズムの識別子をただ
ちに検索することができ、更にそのリズム識別子をもっ
てリズムテーブルの本体メモリRPDをアドレッシング
することにより目的のリズム発音パターンと消音パター
ンの情報をただちにうることができる。RPDヘッダメ
モリHPRDにおいて異なるアドレスにあるデータ(リ
ズム識別子)が同じ値を取ることがありうる。このこと
は比較リズム型、前区間のリズム型、リズムインデクス
RCからなる引数の組み合わせと目的のリズム(現区間
におけるリズム)とが1対1対応ではないことを意味す
る。すなわち図33に示すリズムテーブルのメモリ構成
はリズムテーブルへの直接検索を可能とするとともに、
メモリの記憶容量の節約を図ったものである。図34に
音種列テーブルNCDのメモリ構成を示す。NCDヘッ
ダメモリHNCDは各アドレスに音種列識別子を記憶す
る。この音種列識別子はNCD本体メモリNCD上の音
種列レコードを特定する。現区間のリズム識別子CRと
現区間のピッチインデクスPIが与えられた場合その組
み合わせに対する現区間の音種列を示す音種列識別子の
相対アドレスは、相対アドレス=PI+(CR×S1)
で計算される(ここにS1はリズム型の総数である)。
したがって現区間のリズム識別子と現区間のピッチイン
デクスとからただちにその組み合わせに対応する音種列
レコードと音種列識別子をうることができる。NCD本
体メモリNCDにおける各音種列レコードは次の項目か
らなる。すなわち音数の項目(1ワード)及び音数分の
音種の項目(それぞれ1バイト)である。したがって1
ワード当たり2つの音種データが納められる。そのワー
ド構成を図34の下方に示す。図示のように各音種項目
は音種の方向のフィールド、臨時記号のフィールド(#
/♭/
【外1】 )と、音種番号のフィールドを有する。方向はその音種
が基準音高NOMより上か下かを表わす。音種番号は第
1コード構成音(=0)、第2コード構成音(=1)、
第3コード構成音(=2)、第4コード構成音(=
3)、第2スケール音(=4)、第4スケール音(=
5)、第6スケール音(=6)のいずれかである。臨時
記号のフィールドは生成された音高を半音上げたり下げ
たりするのに用いられる。図35にPC変換テーブルの
メモリ構成を示す。PC変換テーブルAVは連続する7
ワードに各音種のPCデータ(コードルートからの音種
の音程データ)を記憶する。生成インデクスの小節欄に
書かれた調性識別子TONALが取りだされるとその値
に7倍したものがPC変換テーブルメモリAVにおいて
目的のPCレコード(7ワード)が書かれた記憶場所の
相対アドレスを特定する。PC変換テーブルメモリAV
の各PCレコードは第1ワードが第1コード構成音K1
のPCデータ、第2ワードが第2コード構成音K2のP
Cデータ、第3ワードが第3コード構成音K3のPCデ
ータ、第4ワードが第4コード構成音K4のPCデー
タ、第5ワードが第2スケール音st2のPCデータ、
第6ワードが第4スケール音st4のPCデータ、及び
第7ワードが第6スケール音st6のPCデータを記憶
する。
【0029】図36〜図47に各処理の詳細なフローを
示している。図36、図37、図38はそれぞれメイン
プロセス(図25)におけるテーマ選択ブロック25−
5、CEDレコード選択ブロック25−6及びGPプロ
セス設定ブロック25−7の詳細フローである。図39
は生成インタラプトプロセス(図26)のブロック26
−5(G BARについてメロディ生成)の詳細であ
る。図39のフローにおける最初のブロック“G BA
Rインデクス決定”の詳細は図40に、2番目のブロッ
ク“G BAR比較リズムルックアップ”は図41に、
3番目のブロック“G BARリズム生成”は図42
に、4番目のブロック“G BAR音種列生成”は図4
3に、5番目のブロック“G BAR音種列変換”は図
44〜図46にそれぞれ詳細を示している。図47は演
奏インタラプトプロセス(図27)の発音タイミングテ
スト27−1、発音処理27−2、及び消音処理27−
4の詳細を示している。これらのフロー(図36〜図4
7のフロー)の動作は図自体の記載から及び第1と第2
実施例について以上述べた明細書の記載から明らかであ
るのでこれ以上の説明は省略する。以上、第1実施例の
説明では音楽データベースに基づくメロディ生成技術に
焦点をあてた。第1実施例の説明から明らかなように本
自動メロディ生成装置はフレーズを単位としてメロディ
を生成する。ここのフレーズはフレーズデータベースに
あるフレーズ構成要素を生成インデクス等にしたがって
選択、合成することによって構成される。したがって出
来上がりのフレーズの自然さが保障される。また生成イ
ンデクス情報にしたがってフレーズの展開、変形、反復
を所望に制御できる。生成インデクス情報の1つの側面
は、テーマが与えられた場合にそのテーマの展開、変
形、反復あるいはテーマのモチーフとは異なるモチーフ
の生成指示をフレーズデータベース向けに記述している
ことである。したがって第1実施例を通して説明したこ
の発明の自動メロディ生成装置の利点、特徴は従来技術
では達し得ないレベルで、音楽性のあるメロディを豊富
に提供できること、及びデータ検索方式のメロディ生成
技術なのでリアルタイムの作曲環境に合う短時間でメロ
ディを生成できることである。第2実施例の説明では単
一のCPUを含むコンピュータベースのシステムで自動
メロディ生成装置のような音楽装置を実現する場合にユ
ーザーからの要求に対するリアルタイム応答を可能にす
る(あるいは容易にする)システム制御方式に焦点をあ
てた。本制御方式は必らずしもデータベース指向のメロ
ディ生成装置ないし音楽装置に限らず広い適用範囲を有
するものである。自動メロディ生成装置との関係で言え
ば例えば1小節のメロディ生成に数秒程度の処理時間を
要するものでも本制御方式を採用することにより任意の
小節数のメロディの生成、演奏をリアルタイム環境でユ
ーザーに提供することができる。
【0030】変形例 以上で実施例の説明を終えるが関連発明の範囲内で種々
の変形、応用が可能である。例えば実施例では音楽デー
タベース(生成インデクステーブルテーマバンク、フレ
ーズデータベース)を内部メモリのROM内に設けたが
外部記憶装置(例えばCDROM)に音楽データベース
の情報を置くようにしてもよい。そのような外部記憶装
置は曲風(音楽スタイル)毎に音楽データベースを持つ
ことができる。システムの動作時に所要のデータ群が内
部メモリのRAMにロードされ、それに基づいてシステ
ムはメロディを自動生成する。例えば装置本体側で曲風
を選択した時にその曲風に属する音楽データ群(フレー
ズデータベース等)を内部RAMにロードして指定した
曲風による所望のメロディ生成を可能な状態にする。ま
た関連発明の自動メロディ生成装置の簡単な構成例とし
てフレーズデータベース中に複数のフレーズ(それぞれ
リズムと音高列とで構成される)をいれておきメロディ
生成インデクスによってフレーズ間の連結ないし遷移を
指示するようにする構成が可能である。この場合生成イ
ンデクステーブルCEDの情報処理単位であるフレーズ
生成レコードにはそのレコードの識別子、次のフレーズ
への候補群を指示する情報としてフレーズデータベース
中の幾つかのフレーズを指示するフレーズ識別子群と各
フレーズ識別子と対になったレコード識別子が記入され
る(なお、後述するモニター手段にかえ、次フレーズな
し、すなわちメロディ終了を示すコマンドを候補群に含
ませてもよい。)。動作において自動メロディ生成装置
はCEDテーブルのレコードを1つ取りだしフレーズ識
別子とレコード識別子の対を複数の対情報の中から乱数
的に選択する。次に自動メロディ生成装置は選択したフ
レーズ識別子を用いてフレーズデータベースからそのフ
レーズ識別子が指すフレーズデータを取りだし、自動演
奏系に渡す。同時に自動メロディ生成装置は選択したレ
コード識別子を用いて生成インデクステーブルCED中
から次のレコードを検索して以上の処理を繰り返す。こ
のような構成を取ることによりフレーズの展開、変形を
所望にコントロールすることができる。更にこのような
構成に加え自動メロディ生成装置に順次選択されていく
フレーズ識別子の列をモニターする手段を設け、モニタ
ー手段がメロディの終止形(カデンツ)のパターンと一
致したときに自動メロディの生成を終了させるようにす
ることができる。さらにモニター手段に選択フレーズ識
別子の列と音楽の段落点を表わすパターン(例えば半終
止形ないし偽終止形のパターン)等を比較する手段を設
け段落点のパターンとの一致を検出した時に次の段落
(楽節)の開始のフレーズを適当な方法で生成するよう
にしてもよい。これは例えば楽節開始テーブルを設ける
ことで実現できる。楽節開始テーブルの各レコードには
段落終止形を表わすフレーズ識別子のパターン(例えば
正格終止形あるいは半ないし偽終止形)の項目(検索キ
ーとして用いる)と、上述したフレーズ生成レコードに
相当する項目(ここでは楽節の開始フレーズとして用い
ることのできるフレーズ識別子グループとそのグループ
中の各フレーズ識別子に付属するフレーズ生成レコード
識別子)等を設ける。モニター手段はメロディの生成の
ために選択したフレーズ識別子の列をこのテーブルの検
索キーと比較して一致を検出した時にその検索キーに関
連するフレーズ識別子とレコード識別との対のグループ
の中から1つの対を選択しその選択対のフレーズ識別子
を用いてフレーズデータベースから新楽節の開始となる
フレーズデータを取りだし自動演奏系に渡すと共にその
選択対のレコード識別子を用いて次のフレーズ生成レコ
ードにアクセスする。なおこれらの対の中には自動メロ
ディ生成を終了させるためのコマンドを持つこともでき
る。したがって、フレーズ生成レコードはネットワーク
化され、その(フレーズ生成レコードの)ネットワーク
がフレーズ列すなわちメロディ生成インデクスの集合体
を表わす。また別の構成例ではフレーズデータベース中
に音種列とリズムとを表わすフレーズデータを複数用意
し生成インデクステーブルは上と同様な構成とし、外部
から調性進行が与えられたときに調性に応じて音種列を
音高列に変換するようにしてもよい。このような調性進
行は例えば鍵盤からコード進行をユーザーから入力する
ことによって行なえる。但しコード進行から調性進行を
うる手段が必要である(この技術に関しては例えば特願
平3−68922号を参照されたい)。このような構成
をとることにより自動メロディ生成装置はユーザーから
リアルタイムで入力されるコード進行に応答してリアル
タイムでメロディの自動生成及び演奏を行なうことが可
能である。また、ユーザーからのテーマ演奏入力に対し
てメロディの自動生成を行なうことも関連発明の範囲内
で可能である。これは例えば演奏入力されたテーマとシ
ステムに内蔵されるテーマ群とを比較するマッチング手
段を設け演奏入力されたテーマに相当する(近い)テー
マをテーマデータベース中から選択する。後は実施例に
述べた方法で自動的にメロディを生成できる。その他種
々の変形が関連発明の範囲内で可能である。
【0031】
【発明の効果】以上詳細に述べたように、この発明では
フレーズのデータベースを用意するとともにフレーズデ
ータベース中から選択することによって生成されるフレ
ーズの展開、変形等の指示をメロディ生成インデクスに
よって行なっているので自然なメロディを生成できると
ともにメロディ生成のために格別の複雑なデータ処理は
不要であり、すばやいメロディ生成が可能である。
【図面の簡単な説明】
【図1】この発明の原理を示す自動メロディ生成装置の
機能ブロック図。
【図2】実施例における自動メロディ生成装置の主な機
能を示す機能ブロック図。
【図3】第1実施例を実現するための代表的なハードウ
ェア構成のブロック図。
【図4】第1実施例のメロディ生成プロセスのジェネラ
ルフローチャート。
【図5】生成インデクステーブルを示す図。
【図6】比較リズムテーブルを示す図。
【図7】リズムテーブルを示す図。
【図8】音種列テーブルを示す図。
【図9】PC変換テーブルを示す図。
【図10】テーマ選択のフローチャート。
【図11】生成インデクス決定のフローチャート。
【図12】リズム生成のフローチャート。
【図13】音種列生成のフローチャート。
【図14】音高列のフローチャート。
【図15】音種列変換のフローチャート。
【図16】音種列変換を説明する図。
【図17】音高列変換のフローチャート。
【図18】テーマ例を楽譜で示す図。
【図19】生成メロディ例を楽譜で示す図。
【図20】第2実施例を実現する代表的なハードウェア
構成のブロック図。
【図21】第2実施例のシステム状態遷移図。
【図22】第2実施例におけるパイプライン制御方式を
示すタイムチャート。
【図23】第2実施例におけるプログラム間のプロセス
チャート。
【図24】第2実施例の時分割方式を示すタイムチャー
ト。
【図25】メインプロセスのフローチャート。
【図26】生成インタラプトプロセスのフローチャー
ト。
【図27】演奏インタラプトプロセスのフローチャー
ト。
【図28】第2実施例で使用される主な変数を示す図。
【図29】二重発音バッファを示す図。
【図30】テーマテーブルのメモリ構成を示す図。
【図31】生成インデクステーブルのメモリ構成を示す
図。
【図32】比較リズムテーブルのメモリ構成を示す図。
【図33】リズムテーブルのメモリ構成を示す図。
【図34】音種列テーブルのメモリ構成を示す図。
【図35】PC変換テーブルのメモリ構成を示す図。
【図36】テーマ選択のフローチャート。
【図37】CEDレコード選択のフローチャート。
【図38】G・Pプロセス設定のフローチャート。
【図39】1音楽区間のメロディ生成のフローチャー
ト。
【図40】G BARインデクス決定のフローチャー
ト。
【図41】G BAR比較リズムルックアップのフロー
チャート。
【図42】G BARリズム生成のフローチャート。
【図43】G BAR音種列生成のフローチャート。
【図44】G BAR音種列変換の第1部分のフローチ
ャート。
【図45】同じく第2部分のフローチャート。
【図46】同じく第3部分のフローチャート。
【図47】発音タイミング、発音処理、消音処理の各フ
ローを示す図。
【符号の説明】
100 生成インデクスデータベース 200 解読・生成手段 300 フレーズデータベース

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の音楽区間にわたるメロディを、個
    々の音楽区間におけるメロディセグメント(以下フレー
    ズという)を生成単位として生成する自動メロディ生成
    装置において、 フレーズを構成する音楽要素(以下フレーズ音楽要素と
    いう)の種類毎に、その種類に属するフレーズ音楽要素
    を複数記憶するフレーズデータベース手段と、 複数の音楽区間にわたるメロディの生成を制御するた
    め、各音楽区間におけるフレーズの生成インデクスを
    記フレーズ音楽要素の種類毎に記憶する生成インデクス
    記憶手段と、 上記生成インデクス記憶手段から与えられるフレーズ音
    楽要素の種類毎の生成インデクスを用いて上記フレー
    ズデータベース手段を検索して上記フレーズ音楽要素の
    種類毎に1つのフレーズ音楽要素を特定し、それら特定
    されたフレーズ音楽要素に基づいてフレーズを生成する
    解読生成手段と、 を有することを特徴とする自動メロディ生成装置。
  2. 【請求項2】 請求項1記載の自動メロディ生成装置に
    おいて、上記生成インデクス記憶手段が記憶するフレー
    ズ音楽要素の種類毎の生成インデクスは、それぞれが各
    音楽区間毎に複数の候補をもっており、上記解読生成手
    段は、各音楽区間においてフレーズ音楽要素の種類毎に
    上記複数候補の中から1つを選択してこの選択された生
    成インデクスを用いて上記フレーズデータベースを検索
    することを特徴とする自動メロディ生成装置。
  3. 【請求項3】 請求項記載の自動メロディ生成装置に
    おいて、上記フレーズ音楽要素の種類毎の生成インデク
    スは、各音楽区間において使用できるピッチクラスセッ
    トを指示する働きを有する調性インデクス,ピッチ変化
    インデクス,リズムインデクスの少なくとも3種類を含
    ことを特徴とする自動メロディ生成装置。
  4. 【請求項4】 請求項記載の自動メロディ生成装置に
    おいて、上記解読生成手段は、先行する音楽区間で生成
    されたフレーズに係る所定のフレーズ音楽要素(例え
    ば、前音楽区間のフレーズのリズム)を第1の引数と
    し、上記生成インデクス記憶手段からの現音楽区間に対
    する生成インデクスまたはこれに基づいて 得られた情報
    を第2の引数として、上記フレーズデータベース手段を
    検索して現音楽区間のフレーズに係る所定のフレーズ音
    楽要素(例えば、現音楽区間のフレーズのリズム)を特
    定することを特徴とする自動メロディ生成装置。
  5. 【請求項5】 請求項記載の自動メロディ生成装置に
    おいて、上記解読生成手段は、現音楽区間のフレーズに
    係る第2種類のフレーズ音楽要素(例えば、現音楽区間
    のフレーズのリズム)を第1の引数とし、上記生成イン
    デクス記憶手段からの現音楽区間に対する第1種類のフ
    レーズ音楽要素に係る生成インデクスを第2の引数とし
    て、上記フレーズデータベース手段を検索して現音楽区
    間のフレーズに係る第1種類のフレーズ音楽要素(例え
    ば、現音楽区間のフレーズの音種列)を特定することを
    特徴とする自動メロディ生成装置。
  6. 【請求項6】 請求項記載の自動メロディ生成装置に
    おいて、上記フレーズデータベース手段は、第1種類の
    フレーズ音楽要素であるリズムを複数記憶するリズム記
    憶手段と、第2種類のフレーズ音楽要素である音種列を
    複数記憶する音種列記憶手段と、を含むことを特徴とす
    る自動メロディ生成装置。
  7. 【請求項7】 請求項記載の自動メロディ生成装置に
    おいて、上記解読生成手段は、上記音種列記憶手段から
    取り出した音種列を、フレーズ音楽要素の種類の1つに
    対応する生成インデクスであり現音楽区間で使用できる
    ピッチクラスセットを指示する働きを有する調性インデ
    クスに従って、音高列に変換する音高列変換手段を有す
    ことを特徴とする自動メロディ生成装置。
  8. 【請求項8】 請求項記載の自動メロディ生成装置に
    おいて、上記音高列変換手段は、前音楽区間のフレーズ
    の音高に応じて現音楽区間のフレーズの音高列の音域を
    調整する音域調整手段を含むことを特徴とする自動メロ
    ディ生成装置。
  9. 【請求項9】 請求項記載の自動メロディ生成装置に
    おいて、上記解読生成手段は、上記音種列記憶手段から
    取り出した現音楽区間のフレーズの音種列を変更する音
    種列変更手段を含み、上記音高列変換手段は、この変更
    された音種列を音高列に変換することを特徴とする自動
    メロディ生成装置。
  10. 【請求項10】 請求項記載の自動メロディ生成装置
    において、上記音域調整手段は、直前音楽区間のフレー
    ズの最後の音高に基づいて音域を調整することを特徴と
    する自動メロディ生成装置。
  11. 【請求項11】 請求項記載の自動メロディ生成装置
    において、上記音種列変更手段は、直前音楽区間のフレ
    ーズの最後の音高に基づいて音種列を変更することを特
    徴とする自動メロディ生成装置。
  12. 【請求項12】 複数の音楽区間にわたるメロディを、
    個々の音楽区間におけるメロディセグメント(以下フレ
    ーズという)を生成単位として生成する自動メロディ生
    成装置において、 フレーズを構成する音楽要素(以下フレーズ音楽要素と
    いう)の少なくとも1種類に属するフレーズ音楽要素を
    複数記憶するフレーズデータベース手段と、 複数の音楽区間にわたるメロディの生成を制御するた
    め、各音楽区間におけるフレーズの生成インデクスを、
    それぞれ複数の候補をもって記憶する生成インデクス記
    憶手段と、 音楽区間毎に、前記生成インデクス記憶手段に記憶され
    ている生成インデクスの複数の候補の中から1つを選択
    し、該選択された生成インデクスを用いて上記フレーズ
    データベース手段を検索して上記フレーズ音楽要素の少
    なくとも1種類における1つのフレーズ音楽要素を特定
    し、該特定されたフレーズ音楽要素に基づいてフレーズ
    を生成する解読生成手段と、 を有する ことを特徴とする自動メロディ生成装置。
  13. 【請求項13】 請求項12記載の自動メロディ生成装
    置において、上記フレーズデータベース手段は、フレー
    ズ音楽要素の1種類である音高列に係る音種列と、フレ
    ーズ音楽要素の他の種類であるリズムとを、それぞれ複
    数記憶しており、上記解読生成手段は、各音楽区間毎に
    音種列とリズムとを1つずつ特定することを特徴とする
    自動メロディ生成装置。
  14. 【請求項14】 請求項1または12記載の自動メロデ
    ィ生成装置において、上記生成インデクス記憶手段が記
    憶する生成インデクスのに、過去の音楽区間で生成さ
    れたフレーズに係る所定のフレーズ音楽要素(例えば、
    過去の音楽区間のフレーズのリズム)を現音楽区間
    レーズに係る所定のフレーズ音楽要素(例えば、現音楽
    区間のフレーズのリズム)とすることを指示する音楽要
    素反復指示情報が含まれることを特徴とする自動メロデ
    ィ生成装置。
  15. 【請求項15】 テーマを設定する設定手段と、メロディの先頭区間に相当するモチーフを上記テーマに
    対応して記憶するモチーフ記憶手段と、 上記テーマ設定手段にて設定された テーマに対応するモ
    チーフに後続するメロディを、個々の音楽区間における
    メロディセグメント(以下フレーズという)を生成単位
    として生成する生成手段と、 を有し、 上記生成手段が、上記 テーマに関連付けられたフレーズの生成インデクス
    を複数記憶する生成インデクステーブル記憶手段と、上記複数の 生成インデクスそれぞれに関連付けられ、か
    つ様々なフレーズが構成され得るように組み合わせ可能
    なフレーズ構成要素を複数記憶するフレーズデータベー
    ス記憶手段と、 上記テーマ設定手段に設定されたテーマに関連付けら
    れた生成インデクスを上記生成インデクステーブル記憶
    手段から選択する選択手段と、 上記選択手段にて選択された生成インデクスに関連付け
    られたフレーズ構成要素を上記フレーズデータベース記
    憶手段から取り出し、この取り出したフレーズ構成要素
    合成してフレーズを生成するフレーズ生成手段と、 を有することを特徴とする自動メロディ生成装置。
JP36054791A 1991-12-30 1991-12-30 自動メロディ生成装置 Expired - Fee Related JP3271282B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP36054791A JP3271282B2 (ja) 1991-12-30 1991-12-30 自動メロディ生成装置
US07/998,577 US5375501A (en) 1991-12-30 1992-12-29 Automatic melody composer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36054791A JP3271282B2 (ja) 1991-12-30 1991-12-30 自動メロディ生成装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP32879198A Division JP3275854B2 (ja) 1991-12-30 1998-11-05 音列形成装置

Publications (2)

Publication Number Publication Date
JPH05181473A JPH05181473A (ja) 1993-07-23
JP3271282B2 true JP3271282B2 (ja) 2002-04-02

Family

ID=18469871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36054791A Expired - Fee Related JP3271282B2 (ja) 1991-12-30 1991-12-30 自動メロディ生成装置

Country Status (2)

Country Link
US (1) US5375501A (ja)
JP (1) JP3271282B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5902949A (en) * 1993-04-09 1999-05-11 Franklin N. Eventoff Musical instrument system with note anticipation
US5690496A (en) * 1994-06-06 1997-11-25 Red Ant, Inc. Multimedia product for use in a computer for music instruction and use
US5533903A (en) * 1994-06-06 1996-07-09 Kennedy; Stephen E. Method and system for music training
JP3303617B2 (ja) 1995-08-07 2002-07-22 ヤマハ株式会社 自動作曲装置
JP3152123B2 (ja) * 1995-09-11 2001-04-03 カシオ計算機株式会社 自動作曲機
US5990407A (en) * 1996-07-11 1999-11-23 Pg Music, Inc. Automatic improvisation system and method
US5963957A (en) * 1997-04-28 1999-10-05 Philips Electronics North America Corporation Bibliographic music data base with normalized musical themes
JP3620240B2 (ja) * 1997-10-14 2005-02-16 ヤマハ株式会社 自動作曲装置および記録媒体
US6103964A (en) * 1998-01-28 2000-08-15 Kay; Stephen R. Method and apparatus for generating algorithmic musical effects
US6121533A (en) * 1998-01-28 2000-09-19 Kay; Stephen Method and apparatus for generating random weighted musical choices
US6121532A (en) 1998-01-28 2000-09-19 Kay; Stephen R. Method and apparatus for creating a melodic repeated effect
US6051770A (en) * 1998-02-19 2000-04-18 Postmusic, Llc Method and apparatus for composing original musical works
NL1008586C1 (nl) * 1998-03-13 1999-09-14 Adriaans Adza Beheer B V Werkwijze voor automatische aansturing van elektronische muziekinrichtingen door het snel (real time) construeren en doorzoeken van een datastructuur met meerdere niveau's, en systeem om de werkwijze toe te passen.
JP3484986B2 (ja) * 1998-09-09 2004-01-06 ヤマハ株式会社 自動作曲装置、自動作曲方法および記憶媒体
JP3541706B2 (ja) * 1998-09-09 2004-07-14 ヤマハ株式会社 自動作曲装置および記憶媒体
JP3557917B2 (ja) * 1998-09-24 2004-08-25 ヤマハ株式会社 自動作曲装置および記憶媒体
FR2785438A1 (fr) 1998-09-24 2000-05-05 Baron Rene Louis Procede et dispositif de generation musicale
US6087578A (en) * 1999-01-28 2000-07-11 Kay; Stephen R. Method and apparatus for generating and controlling automatic pitch bending effects
US6316710B1 (en) * 1999-09-27 2001-11-13 Eric Lindemann Musical synthesizer capable of expressive phrasing
JP3574603B2 (ja) * 2000-03-21 2004-10-06 日本電信電話株式会社 楽曲処理装置および楽曲処理用プログラム記録媒体
US6747201B2 (en) * 2001-09-26 2004-06-08 The Regents Of The University Of Michigan Method and system for extracting melodic patterns in a musical piece and computer-readable storage medium having a program for executing the method
US6917911B2 (en) * 2002-02-19 2005-07-12 Mci, Inc. System and method for voice user interface navigation
JP3839417B2 (ja) 2003-04-28 2006-11-01 任天堂株式会社 ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置
SE527425C2 (sv) * 2004-07-08 2006-02-28 Jonas Edlund Förfarande och anordning för musikalisk avbildning av en extern process
US7183478B1 (en) 2004-08-05 2007-02-27 Paul Swearingen Dynamically moving note music generation method
JP2006126303A (ja) * 2004-10-26 2006-05-18 Yoshihiko Sano 音楽生成方法,その装置,そのシステム
JP2006178104A (ja) * 2004-12-21 2006-07-06 Yoshihiko Sano 楽曲生成方法,その装置,そのシステム
SE528839C2 (sv) * 2006-02-06 2007-02-27 Mats Hillborg Melodigenerator
US7491878B2 (en) * 2006-03-10 2009-02-17 Sony Corporation Method and apparatus for automatically creating musical compositions
US9159325B2 (en) * 2007-12-31 2015-10-13 Adobe Systems Incorporated Pitch shifting frequencies
US8386436B2 (en) * 2008-09-30 2013-02-26 Rainstor Limited System and method for data storage
US8847054B2 (en) * 2013-01-31 2014-09-30 Dhroova Aiylam Generating a synthesized melody
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
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
US9977645B2 (en) * 2015-10-01 2018-05-22 Moodelizer Ab Dynamic modification of audio content
CN109215626A (zh) * 2018-10-26 2019-01-15 广东电网有限责任公司 一种自动作词作曲的方法
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
WO2021158614A1 (en) * 2020-02-05 2021-08-12 Harmonix Music Systems, Inc. Techniques for processing chords of musical content and related systems and methods
CN111415643B (zh) * 2020-04-26 2023-07-18 Oppo广东移动通信有限公司 通知音创作方法、装置、终端设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4399731A (en) * 1981-08-11 1983-08-23 Nippon Gakki Seizo Kabushiki Kaisha Apparatus for automatically composing music piece
IT1169083B (it) * 1983-11-18 1987-05-27 Arrigo Sestero Dispositivo dualizzatore musicale e relativo procedimento di dualizzazione
WO1986005616A1 (en) * 1985-03-12 1986-09-25 Guerino Bruno Mazzola Installation for performing all akin transformations for musical composition purposes
JP2661012B2 (ja) * 1986-02-14 1997-10-08 カシオ計算機株式会社 自動作曲機
US4926737A (en) * 1987-04-08 1990-05-22 Casio Computer Co., Ltd. Automatic composer using input motif information
JP2995303B2 (ja) * 1990-08-30 1999-12-27 カシオ計算機株式会社 メロディ対コード進行適合性評価装置及び自動コード付け装置

Also Published As

Publication number Publication date
US5375501A (en) 1994-12-27
JPH05181473A (ja) 1993-07-23

Similar Documents

Publication Publication Date Title
JP3271282B2 (ja) 自動メロディ生成装置
US5052267A (en) Apparatus for producing a chord progression by connecting chord patterns
Roads Research in music and artificial intelligence
JP2008506150A (ja) 音楽生成システム
US6294720B1 (en) Apparatus and method for creating melody and rhythm by extracting characteristic features from given motif
JP3275854B2 (ja) 音列形成装置
JP3829780B2 (ja) 奏法決定装置及びプログラム
JP3364941B2 (ja) 自動作曲機
JPH09244648A (ja) 自動作曲機
JPH09244647A (ja) 電子楽器
Guerra Hemiolic Metric Space in Afro-Diasporic Popular Musics
Jaffe et al. The computer-extended ensemble
Geis et al. Creating melodies and baroque harmonies with ant colony optimization
JP3364940B2 (ja) 自動作曲機
JP3528372B2 (ja) 自動作曲方法
JP3296182B2 (ja) 自動伴奏装置
JP2615720B2 (ja) 自動作曲機
Martin Harmonic progression in the music of Magnus Lindberg
JP3398983B2 (ja) 自動伴奏装置
JP3528361B2 (ja) 自動作曲機
Gonzalez Slizewski Ruminations: for chamber ensemble
Book Generating retro video game music using deep learning techniques
JP3088919B2 (ja) 調判定音楽装置
Lyu Transforming Music into Chinese Musical Style based on Nyquist
JPH0734158B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090125

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090125

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100125

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110125

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees