JP2002258846A - Device and program for automatic music arrangement - Google Patents

Device and program for automatic music arrangement

Info

Publication number
JP2002258846A
JP2002258846A JP2001057267A JP2001057267A JP2002258846A JP 2002258846 A JP2002258846 A JP 2002258846A JP 2001057267 A JP2001057267 A JP 2001057267A JP 2001057267 A JP2001057267 A JP 2001057267A JP 2002258846 A JP2002258846 A JP 2002258846A
Authority
JP
Japan
Prior art keywords
chord
variable
pitch
value
pitches
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
JP2001057267A
Other languages
Japanese (ja)
Other versions
JP4385532B2 (en
Inventor
Junichi 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 JP2001057267A priority Critical patent/JP4385532B2/en
Publication of JP2002258846A publication Critical patent/JP2002258846A/en
Application granted granted Critical
Publication of JP4385532B2 publication Critical patent/JP4385532B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an automatic music arranging device which automatically arranges music in a form which is easy to play, while avoiding unnaturalness in music. SOLUTION: An accompaniment sound determining means 20 sends data, indicating the chord represented by chord progression data 211 to a chord sound selecting means 20. The selecting means 202 refers to a chord tone database 204 with stored data showing the relation of intervals of constitution sounds by chord kinds and selects combinations of pitches of the constitution sounds of the chord represented by the data. An evaluation means 203 evaluates the combinations. An accompaniment sound determining means 201 selects one of the combinations of the pitches selected by the selecting means 202 in accordance with the evaluation. Thus, the combinations of the pitches of the constitution sounds constituting the chord are selected by chords, represented by the chord progression data to generate accompaniment playing data 212.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コード進行の内容
を表すコード進行情報を対象に、そのコード進行の内容
を変更する編曲を自動的に行うための技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for automatically arranging chord progression information for changing chord progression information on chord progression information indicating the content of chord progression.

【0002】[0002]

【従来の技術】現在では、音楽のより幅広い楽しみ方を
提供するものとして、自動編曲装置が製品化されてい
る。その編曲装置は、予めデータの形で表された演奏の
内容を自動的に変更するものである。電子楽器などの楽
音発生装置に搭載された場合には、自動演奏(ここでは
自動伴奏を含む)や、ユーザが操作すべき演奏操作子を
誘導するナビゲートなどに用いられている。
2. Description of the Related Art At present, automatic arranging devices have been commercialized to provide a wider range of ways to enjoy music. The arranging device automatically changes the content of the performance represented in advance in the form of data. When mounted on a musical sound generator such as an electronic musical instrument, it is used for automatic performance (including automatic accompaniment here), navigation for guiding a performance operator to be operated by a user, and the like.

【0003】[0003]

【発明が解決しようとする課題】従来の自動編曲装置
は、基本となる演奏(伴奏を含む)の内容を表すデータ
に対し、ユーザが指定した音高、或いはコードなどに応
じて、そのデータで表される楽音の音高を変換すること
で編曲を行っていた。このため、編曲の対象となったデ
ータやユーザの指定内容、及び音高の変換方法といった
それらの間の組み合わせによって、編曲した後の演奏の
内容が不自然になったり、或いはその演奏を行い難くな
るといった結果を招くという問題点があった。
In a conventional automatic arrangement device, data representing the contents of a basic performance (including accompaniment) is used in accordance with a pitch or code specified by a user. Arrangement was performed by converting the pitch of the musical tone represented. For this reason, depending on the combination of the data targeted for the arrangement, the contents specified by the user, and the pitch conversion method, the contents of the performance after the arrangement become unnatural or difficult to perform. There is a problem that results are obtained.

【0004】本発明の課題は、音楽的な不自然さを回避
させつつ、演奏が行い易い形で編曲を自動的に行う自動
編曲装置を提供することにある。
[0004] It is an object of the present invention to provide an automatic arranging apparatus for automatically arranging music in a form easy to play while avoiding musical unnaturalness.

【0005】[0005]

【課題を解決するための手段】本発明の第1の態様の自
動編曲装置は、コード進行の内容を表すコード進行情報
を対象に、該コード進行の内容を変更する編曲を自動的
に行う装置であって、コード進行情報を取得する情報取
得手段と、情報取得手段が取得したコード進行情報で表
されるコード毎に、該コードを構成する構成音の音高の
組み合わせを複数、仮定する仮定手段と、仮定手段が仮
定した音高の組み合わせ毎に、所定の評価を行う評価手
段と、評価手段の評価結果に従って、仮定手段が仮定し
た音高の組み合わせのなかから一つを選択する選択手段
と、を具備する。
According to a first aspect of the present invention, there is provided an automatic arrangement apparatus for automatically adjusting a chord progression for chord progression information representing chord progression contents. It is assumed that, for each chord represented by the chord progression information obtained by the chord progression information, a plurality of combinations of pitches of constituent tones constituting the chord are assumed. Means, evaluation means for performing a predetermined evaluation for each pitch combination assumed by the assumption means, and selection means for selecting one of the pitch combinations assumed by the assumption means according to the evaluation result of the evaluation means. And

【0006】なお、上記仮定手段が仮定する音高の組み
合わせは、コード進行情報が表すコードの音高の組み合
わせ、及びそれを転回して得られる音高の組み合わせで
ある、ことが望ましい。また、評価手段は、仮定手段が
仮定した音高の組み合わせ毎に、選択手段が直前のコー
ド用に選択した音高の組み合わせからの距離、或いは予
め定めた音高からの距離に注目して所定の評価を行う、
ことが望ましい。
It is preferable that the combination of pitches assumed by the assumption means is a combination of pitches of a chord represented by chord progression information and a combination of pitches obtained by turning the combination. In addition, the evaluation means determines the distance from the pitch combination selected for the immediately preceding chord by the selection means or the distance from a predetermined pitch for each combination of pitches assumed by the assumption means. To evaluate the
It is desirable.

【0007】その評価手段は、仮定手段が仮定した音高
の組み合わせのなかから、その音高間の音程に予め定め
た条件を満たす組み合わせを排除、或いは考慮させて、
選択手段に該音高の組み合わせを選択させる、ことが望
ましい。その条件は、半音の音程、及び選択手段が直前
のコード用に選択した音程の組み合わせとともに存在す
る完全5度の音程のうちの少なくとも一つを含む、こと
が望ましい。仮定手段は、コードを構成する構成音間の
音程の関係を該コードの種類別に示すデータを、予め指
定された該コードの省略形に応じて参照することによ
り、該省略形に対応する音高の組み合わせを仮定する、
ことが望ましい。
The evaluation means removes or considers a combination satisfying a predetermined condition for a pitch between the pitches from among combinations of pitches assumed by the assumption means,
It is desirable that the selecting means select the pitch combination. Preferably, the condition includes at least one of a semitone interval and a perfect fifth interval present with the combination of intervals selected by the selection means for the immediately preceding chord. The assuming means refers to data indicating the pitch relationship between the constituent sounds constituting the chord for each type of the chord in accordance with the abbreviation of the chord specified in advance, thereby obtaining the pitch corresponding to the abbreviation. Assuming a combination of
It is desirable.

【0008】本発明の第2の態様の自動編曲装置は、上
記第1の態様における構成に加えて、仮定手段が組み合
わせる音高の音域をユーザに指定させるための音域指定
手段、を更に具備し、仮定手段は、音域指定手段により
音域が指定された場合に、該指定された音域内で音高の
組み合わせを仮定する。
The automatic arrangement apparatus according to a second aspect of the present invention further comprises, in addition to the configuration of the first aspect, a sound range designation means for allowing a user to designate a pitch range to be combined with the assumption means. The assuming means assumes a combination of pitches within the specified range when the range is specified by the range specifying means.

【0009】本発明のプログラムは、コード進行の内容
を表すコード進行情報を対象に、該コード進行の内容を
変更する編曲を自動的に行う装置に実行させることを前
提とし、コード進行情報を取得する機能と、その取得す
る機能により取得したコード進行情報で表されるコード
毎に、該コードを構成する構成音の音高の組み合わせを
複数、仮定する機能と、仮定する機能により仮定した音
高の組み合わせ毎に、所定の評価を行う機能と、評価す
る機能による評価結果に従って、仮定する機能により仮
定した音高の組み合わせのなかから一つを選択する機能
と、を実現させる。
The program of the present invention is intended to execute chord progression information representing the content of chord progression on an apparatus for automatically performing arrangements for changing the content of chord progression, and acquire chord progression information. Function, a function for assuming a plurality of combinations of pitches of constituent sounds constituting the chord for each chord represented by the chord progression information acquired by the acquiring function, and a pitch assumed by the assuming function. For each of the combinations, the function of performing a predetermined evaluation and the function of selecting one of the pitch combinations assumed by the assumed function according to the evaluation result of the evaluated function are realized.

【0010】本発明では、コード進行情報で表されるコ
ード毎に、そのコードを構成する構成音の音高の組み合
わせを複数、仮定し、その仮定した音高の組み合わせの
評価を行い、その評価に従って、仮定した音高の組み合
わせのなかから一つを選択する。そのように、複数、仮
定した音高の組み合わせのなかから最も適切な組み合わ
せを選択することにより、音楽的に自然で、且つ演奏が
行い易い形での編曲が自動的に行われることとなる。
In the present invention, for each chord represented by chord progression information, a plurality of combinations of pitches of constituent sounds constituting the chord are assumed, and the assumed combination of pitches is evaluated. , One of the assumed combinations of pitches is selected. In this way, by selecting the most appropriate combination from a plurality of assumed combinations of pitches, the arrangement is automatically performed in a musically natural and easy-to-play form.

【0011】組み合わせられる音高の音域をユーザに指
定させるようにした場合には、そのユーザの希望を反映
した編曲が行われることになる。それにより、更に演奏
が行い易い形での編曲を自動的に行わせられるようにな
る。
If the user is allowed to specify the range of pitches to be combined, the music composition reflects the wishes of the user. As a result, it is possible to automatically arrange the music in a form that makes it easier to perform.

【0012】[0012]

【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら詳細に説明する。図1は、本実
施の形態による自動編曲装置の回路構成図である。図1
に示すように、その自動編曲装置は、装置全体の制御を
実行するCPU101と、そのCPU101が実行する
プログラムや各種制御用データなどを格納したROM1
02と、そのCPU101がワーク用に使用するRAM
103と、各種データを入力するための入力装置104
と、編曲結果をユーザが確認するためのモニター105
と、それらを相互に接続するバス106と、を備えて構
成されている。それにより、その自動編曲装置は、入力
装置104から演奏内容を表すデータを入力して編曲を
行い、その編曲によって得られたデータをモニター10
5に出力する装置として実現されている。そのデータと
しては、コード進行を表すコード進行データを想定して
いる。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a circuit configuration diagram of the automatic music arrangement device according to the present embodiment. FIG.
As shown in FIG. 1, the automatic arrangement device includes a CPU 101 that controls the entire device, and a ROM 1 that stores programs executed by the CPU 101 and various control data.
02 and RAM used by the CPU 101 for work
103 and an input device 104 for inputting various data
And the monitor 105 for the user to check the arrangement result
And a bus 106 for interconnecting them. Thereby, the automatic arrangement device inputs data representing the performance contents from the input device 104, arranges the data, and displays the data obtained by the arrangement on the monitor 10.
5 is realized. The data is assumed to be chord progression data representing chord progression.

【0013】上記入力装置104としては、キーボード
やフロッピー(登録商標)ディスク装置、CD−ROM
装置、或いは外部装置との通信を行うインターフェース
などが対応する。モニター105としては、表示装置、
或いは音源装置、などが対応する。フロッピーディスク
装置、CD−ROM装置、或いは外部装置との通信を行
うインターフェースなどであっても良い。当然のことな
がら、入力装置104、及びモニター105に、それぞ
れ複数の装置が対応していても良く、それらが同じもの
であっても良い。
The input device 104 includes a keyboard, a floppy (registered trademark) disk device, and a CD-ROM.
A device or an interface for communicating with an external device corresponds to the device. As the monitor 105, a display device,
Alternatively, a sound source device and the like correspond. It may be a floppy disk device, a CD-ROM device, or an interface for communicating with an external device. Needless to say, a plurality of devices may correspond to the input device 104 and the monitor 105, respectively, or they may be the same.

【0014】図2は、上記回路構成の自動編曲装置の機
能的構成を説明する図である。この図2、更には図3、
及び図4に示す説明図を参照しつつ、その自動編曲装置
に搭載された機能について説明する。図2中のコード進
行データ211は、図1の入力装置104により入力さ
れたものである。本実施の形態では、図4(a)に示す
ように、入力装置104から入力されたコード進行デー
タ211は2次元の配列変数cpとして扱っている。そ
の配列変数cpにおいて、1番目の括弧(図4(a)中
で“i”を持つ括弧)はコード進行上に表れるコード
(図4(a)中では“0〜n番目のコード”がそれぞれ
対応)を指定するためのものであり、2番目の括弧(図
4(a)中で“j”を持つ括弧)はコードの内容を表す
データの種類を指定するためのである。そのデータの種
類は、“ROOT”、“TYPE”、及び“LEN”の
シンボルで表すデータである。“ROOT”はルート
(根音)の音高を示すデータ(以降、ルートデータと呼
ぶ)、“TYPE”はコードの種類を示すデータ(以
降、タイプデータと呼ぶ)、“LEN”はコードが発音
されている時間(発音持続時間)を示すデータ、をそれ
ぞれ表している。以降、それらのデータをまとめてコー
ドデータと呼ぶことにする。
FIG. 2 is a diagram for explaining the functional configuration of the automatic arrangement device having the above-mentioned circuit configuration. This FIG. 2 and further FIG.
The functions installed in the automatic arrangement device will be described with reference to the explanatory diagram shown in FIG. The chord progression data 211 in FIG. 2 is input by the input device 104 in FIG. In the present embodiment, as shown in FIG. 4A, the chord progression data 211 input from the input device 104 is treated as a two-dimensional array variable cp. In the array variable cp, the first parenthesis (the parenthesis having “i” in FIG. 4A) is a code appearing on the chord progression (“0 to n-th code” in FIG. 4A). The second parenthesis (the parenthesis having “j” in FIG. 4A) specifies the type of data representing the content of the code. The type of the data is data represented by symbols “ROOT”, “TYPE”, and “LEN”. "ROOT" is data indicating the pitch of the root (root note) (hereinafter referred to as root data), "TYPE" is data indicating the type of chord (hereinafter referred to as type data), and "LEN" is the chord sounding. Data indicating the duration (sounding duration). Hereinafter, such data will be collectively referred to as code data.

【0015】伴奏音決定手段201は、配列変数cp
(コード進行データ201)の1番目の括弧内の引数に
よって指定されるコード毎に、そのコードとして発音さ
せるべき構成音の音高の組み合わせを決定するための処
理を行う。その処理は、以下のようにして行われる。
[0015] The accompaniment sound determining means 201 includes an array variable cp.
For each chord specified by the argument in the first parenthesis of (chord progression data 201), a process for determining a combination of pitches of constituent sounds to be emitted as the chord is performed. The processing is performed as follows.

【0016】伴奏音決定手段201は、配列変数cpか
ら、処理対象とするコードのデータ(図4(a)中で
“ROOT”、“TYPE”、及び“LEN”のシンボ
ルで表すそれぞれのデータ)を取り出し、コード音選択
手段202に送る。その選択手段202は、伴奏音決定
手段201からデータを受け取ると、コードトーンデー
タベース(以降、コードトーンDBと略記する)204
を参照して、そのデータで表されるコードの構成音の音
高とするその組み合わせの候補を複数、選択する。選択
した音高の組み合わせは伴奏音決定手段201に送る。
From the array variable cp, the accompaniment sound determination means 201 determines the chord data to be processed (the respective data represented by the symbols "ROOT", "TYPE" and "LEN" in FIG. 4A). And sends it to the chord tone selection means 202. Upon receiving the data from the accompaniment sound determining means 201, the selecting means 202 receives a chord tone database (hereinafter abbreviated as a chord tone DB) 204.
, A plurality of candidates for the combination as pitches of the constituent sounds of the chord represented by the data are selected. The selected combination of pitches is sent to the accompaniment sound determination means 201.

【0017】上記コードトーンDB204は、コード種
毎に、その構成音の音程の関係を表すデータを格納した
ものである。本実施の形態では、図3に示すように、配
列変数chotoneとして扱っている。それの次元を
2次元とすることで、省略なし(基本形)、5度省略
(ルートから5度の構成音を省略)、及びルート省略
(構成音としてルートを省略)の計3種類の省略形別、
コード種別に、構成音の音程の関係を表すデータを保持
させている。1番目の括弧は省略形を指定するためのも
のであり、2番目の括弧はコード種を指定するためのも
のである。その図3において、“maj”はメジャー、
“min”はマイナー、“7th”はセブンス、“m
7”はマイナーセブンスをそれぞれ表し、“0”と
“1”で表された12桁の数字中の“1”は、ルートを
“C”と想定した場合の構成音の音高を示している。そ
の数字を12桁としたのは、1オクターブは12半音で
あるためであり、音高は“1”となっている桁によって
示されている。
The chord tone DB 204 stores, for each chord type, data representing the pitch relationship of the constituent sounds. In the present embodiment, as shown in FIG. 3, it is handled as an array variable chtone. By setting the dimension to two dimensions, there are three types of abbreviations: no omission (basic form), five omissions (omission of fifth constituent sound from the root), and omission of root (omission of root as constituent sound) Another,
The chord type holds data representing the relationship between the pitches of the constituent sounds. The first parenthesis is for specifying an abbreviation, and the second parenthesis is for specifying a code type. In FIG. 3, "maj" is a major,
“Min” is minor, “7th” is seventh, “m”
“7” represents a minor seventh, and “1” in a 12-digit number represented by “0” and “1” indicates the pitch of a constituent sound when the root is assumed to be “C”. The number is set to 12 digits because one octave is 12 semitones, and the pitch is indicated by the digit "1".

【0018】コード音選択手段202は、構成音の組み
合わせとして、上述したようなコードトーンDB(配列
変数chotone)204を参照して、伴奏音決定手
段201から受け取ったコードデータで表される構成音
の音高の組み合わせの他に、それを転回させて得られる
組み合わせを候補として選択する。そのような組み合わ
せを候補として選択した場合、少なくとも、元のコード
の響きは維持させることができる。このため、コード進
行データ(配列変数cp)211で表される元の演奏を
音楽的に不自然な形で編曲するのを回避することができ
る。
The chord sound selecting means 202 refers to the chord tone DB (array variable chtone) 204 as described above as a combination of constituent sounds, and the constituent sound represented by the chord data received from the accompaniment sound determining means 201. In addition to the pitch combination of, the combination obtained by turning the pitch is selected as a candidate. If such a combination is selected as a candidate, at least the sound of the original code can be maintained. Therefore, it is possible to prevent the original performance represented by the chord progression data (array variable cp) 211 from being arranged in a musically unnatural form.

【0019】その配列変数chotoneには、コード
の構成音の音程の関係を示すデータとして、図3に示す
ように、基本形(省略なし)以外のものも保持させてい
る。それにより、より幅広い範囲の編曲をユーザの要求
に合わせて行えるようになっている。
As shown in FIG. 3, the array variable chtone holds data other than the basic form (no omission) as data indicating the pitch relation of the constituent sounds of the chord. Thereby, a wider range of arrangements can be performed according to the user's request.

【0020】音程の組み合わせを受け取った伴奏音決定
手段201は、それを評価手段203に送って、各組み
合わせ毎にその評価を行わせる。評価手段203の評価
結果に従って、コード音選択手段202が候補として選
択した音高の組み合わせのなかから一つを選択する。伴
奏用演奏データ212は、伴奏音決定手段201が上述
したようにして音程の組み合わせを選択していくことで
生成されたデータである。
The accompaniment sound determining means 201, which has received the pitch combination, sends it to the evaluation means 203, and the evaluation is performed for each combination. According to the evaluation result of the evaluation means 203, one of the pitch combinations selected as candidates by the chord sound selection means 202 is selected. The accompaniment performance data 212 is data generated by the accompaniment sound determination unit 201 selecting a combination of pitches as described above.

【0021】上記評価手段203は、音程の組み合わせ
に対する評価は、基本的に、直前のコードにおける音程
の組み合わせからの距離を求めることで行っている。言
い換えれば、コードの進行に伴う手指の移動距離を求め
ることで行っている。そのような排除や評価を行うこと
で、編曲した演奏内容の演奏をユーザが行う場合に、よ
り簡単に演奏が行える音程の組み合わせを伴奏音決定手
段201に選択させるようにしている。
The evaluation means 203 basically evaluates a pitch combination by obtaining a distance from the pitch combination in the immediately preceding chord. In other words, it is performed by calculating the moving distance of the finger as the chord progresses. By performing such exclusion or evaluation, the accompaniment sound determination unit 201 is caused to select a combination of pitches that can be performed more easily when the user performs the performance of the arranged performance.

【0022】ところで、1半音の音程がある2音を楽器
で発音させるための演奏操作は行う難いのが普通であ
る。例えば鍵盤では、隣り合う2本の指で隣り合ってい
る白鍵と黒鍵を押鍵しなければならない。このことか
ら、その条件を満たしている音程の組み合わせは選択肢
から排除させている。隣り合うコードが完全5度で進行
する平行(連続)5度は、下声が調の主音または属音と
して響くべき強制的な安定性を持つことが知られてい
る。そのような条件を満たしている構成音の組み合わせ
には、それを評価に反映させるようにしている。それに
より、音楽的な不具合が生じるのをより回避できるよう
にさせている。
By the way, it is usually difficult to perform a performance operation for causing a musical instrument to produce two sounds having a pitch of one semitone. For example, on a keyboard, two adjacent fingers must press an adjacent white key and black key. For this reason, combinations of pitches that satisfy the condition are excluded from the options. It is known that parallel (continuous) 5 degrees, in which adjacent chords advance at a perfect 5 degrees, have forced stability in which the lower voice should sound as the tonic or tonic of the key. Combinations of constituent sounds that satisfy such conditions are reflected in the evaluation. Thereby, it is possible to further avoid the occurrence of musical inconvenience.

【0023】上記コードトーンDB(配列変数chot
one)204は、図1のROM102に格納されてい
る。コード進行データ(配列変数cp)211はRAM
103に格納され、伴奏音用演奏データはRAM103
に格納されて、モニター105に出力されるか、或いは
特には図示しない出力装置を介して外部に出力される。
その出力装置とは、例えばフロッピーディスク装置、C
D−ROM装置、或いは外部装置との通信を行うインタ
ーフェースなどである。伴奏音決定手段201、コード
音選択手段202、及び評価手段203は、共に、図1
のCPU101が、RAM103をワーク用に使用しな
がら、ROM102に格納されたプログラムを実行する
ことで実現される。
The chord tone DB (array variable chot)
One) 204 is stored in the ROM 102 of FIG. Code progress data (array variable cp) 211 is RAM
The accompaniment sound performance data is stored in the RAM 103.
And output to the monitor 105 or output to the outside via an output device (not shown).
The output device is, for example, a floppy disk device, C
It is a D-ROM device or an interface for communicating with an external device. The accompaniment sound determination means 201, the chord sound selection means 202, and the evaluation means 203 are all shown in FIG.
The CPU 101 executes the program stored in the ROM 102 while using the RAM 103 for work.

【0024】次に、図5〜図12に示す各種フローチャ
ートを参照して、上記CPU101の動作について詳細
に説明する。図5は、全体処理のフローチャートであ
る。電源がオンされた後にCPU101が実行する全体
的な処理の流れを表したものである。入力装置104と
しては、ここでは便宜的に、キーボードなどのユーザが
操作してデータを入力するものを想定している。始めに
図5を参照して、その全体処理について詳細に説明す
る。なお、その全体処理は、CPU101が、RAM1
03をワーク用に使用しながら、ROM102から読み
出したプログラムを実行することにより実現される。
Next, the operation of the CPU 101 will be described in detail with reference to various flowcharts shown in FIGS. FIG. 5 is a flowchart of the entire process. It shows the overall flow of processing executed by the CPU 101 after the power is turned on. For the sake of convenience, it is assumed here that the input device 104 is a device such as a keyboard for inputting data by a user's operation. First, the overall process will be described in detail with reference to FIG. Note that the entire processing is performed by the CPU 101
This is realized by executing the program read from the ROM 102 while using the 03 for work.

【0025】先ず、ステップ501では、初期化処理を
行う。その処理の実行により装置を予め定められた状態
に設定した後はステップ502に移行して、入力装置1
04のスキャンを行う。その後はステップ503に移行
する。本実施の形態では、特に詳細な説明は省略する
が、ユーザはモードを設定して、装置に所望の動作を行
わせるようになっている。その動作は、ステップ503
以降の処理を実行することにより実現される。
First, in step 501, an initialization process is performed. After the apparatus is set to a predetermined state by executing the processing, the process proceeds to step 502 and the input apparatus 1
04 is scanned. After that, it moves to step 503. Although a detailed description is omitted in the present embodiment, a user sets a mode and causes the apparatus to perform a desired operation. The operation is performed in step 503.
This is realized by executing the following processing.

【0026】先ず、ステップ503では、コード進行デ
ータ211用の入力が行われたか否か判定する。ユーザ
がその入力用のモードを設定させた状態で入力装置10
4を操作したような場合、判定はYESとなってステッ
プ504に移行し、その操作内容に応じてコード進行デ
ータ211用の入力を行った後、上記ステップ502に
戻る。そうでない場合には、判定はNOとなってステッ
プ505に移行する。そのステップ504の処理を実行
することにより、図4(a)に示すような配列変数cp
の形でコード進行データ211がRAM103に格納さ
れる。
First, in step 503, it is determined whether or not the input for the chord progression data 211 has been performed. With the user setting the input mode, the input device 10
In the case where the user has operated No. 4, the determination is YES and the process proceeds to step 504. After inputting the chord progression data 211 in accordance with the operation, the process returns to step 502. Otherwise, the determination is no and the process moves to step 505. By executing the processing of step 504, the array variable cp as shown in FIG.
Is stored in the RAM 103 in the form of.

【0027】ステップ505では、編曲用の設定が行わ
れたか否か判定する。その設定用のモードをユーザが設
定させた状態でユーザが入力装置104を操作したよう
な場合、判定はYESとなってステップ506に移行
し、図4(b)に示すようなオプション変数のうちの何
れかに値を代入する形で設定を行った後、上記ステップ
502に戻る。そうでない場合には、判定はNOとなっ
てステップ507に移行する。
At step 505, it is determined whether or not the setting for the arrangement has been performed. If the user operates the input device 104 in a state in which the setting mode is set by the user, the determination is YES and the process proceeds to step 506, where the optional variables shown in FIG. After the setting is made by substituting a value into any of the above, the process returns to step 502. Otherwise, the determination is no and the process moves to step 507.

【0028】なお、図4(b)において、変数Lowe
rLimit、及びUpperLimitは、コードの
構成音の音域を指定するためのものであり、変数Omi
tはコードの省略形(図3参照)を選択するためのもの
である。変数HomePitは音高の組み合わせを選択
する際に考慮すべき中心となる音高(中心ポジション)
を指定するためのものである。変数A、B、及びCは、
それぞれ、音高の組み合わせを評価する際に用いられる
重みを保持させておく変数である。変数Aには音高の組
み合わせに移動距離を考慮する度合いを示す重みが代入
され、以下、同様に、変数Bには中心ポジション、変数
Cには平行5度をそれぞれ考慮する度合いを示す重みが
代入される。
In FIG. 4B, the variable Low
rLimit and UpperLimit are used to specify the range of the constituent sounds of the chord, and the variable Omi
t is used to select a code abbreviation (see FIG. 3). The variable HomePit is the central pitch to be considered when selecting combinations of pitches (center position)
It is for specifying. Variables A, B, and C are
Each is a variable that holds a weight used when evaluating a combination of pitches. A weight indicating the degree of considering the moving distance for the combination of pitches is assigned to the variable A, and similarly, a weight indicating the degree of considering the center position and the variable C are each considered to the variable C is assigned to the variable B. Is assigned.

【0029】ステップ507では、編曲の指示が行われ
たか否か判定する。ユーザが入力装置104を操作して
編曲の指示を行った場合、判定はYESとなり、ステッ
プ506で配列変数cpを編曲の対象とした編曲処理を
実行した後、上記ステップ502に戻る。そうでない場
合には、判定はNOとなってステップ509に移行す
る。
In step 507, it is determined whether or not an instruction for arrangement has been given. If the user operates the input device 104 to give an instruction to arrange music, the determination is YES, and at Step 506, the arrangement processing is performed with the arrangement variable cp as the object of arrangement, and the process returns to Step 502. Otherwise, the determination is no and the process moves to step 509.

【0030】ステップ509では、編曲を行うことで生
成された伴奏音用演奏データ212のモニター105へ
の出力の指示が行われたか否か判定する。その指示をユ
ーザが入力装置104を操作して行った場合、判定はY
ESとなってステップ510に移行し、モニター105
を介して、その演奏データ212を画像、或いは音声
(自動演奏)の形で出力させた後、上記ステップ502
に戻る。そうでない場合には、判定はNOとなり、他の
ステップの処理を実行することなく、そのステップ50
2に戻る。
At step 509, it is determined whether or not an instruction to output the accompaniment sound performance data 212 generated by the arrangement to the monitor 105 has been given. If the user gives the instruction by operating the input device 104, the determination is Y
When the status becomes ES, the process proceeds to step 510, where the monitor 105
, The performance data 212 is output in the form of an image or a sound (automatic performance).
Return to Otherwise, the determination is no and that step 50 is executed without executing the processing of the other steps.
Return to 2.

【0031】全体処理では、上述したような処理が上述
したような流れで実行される。それにより、ユーザの入
力装置104への操作に応じて自動編曲装置は動作する
ようになっている。図6は、上記ステップ508として
実行される編曲処理のフローチャートである。次に図6
を参照して、その編曲処理について詳細に説明する。
In the overall processing, the above-described processing is executed according to the above-described flow. Thus, the automatic arrangement device operates according to the operation of the input device 104 by the user. FIG. 6 is a flowchart of the music arrangement process executed as step 508. Next, FIG.
, The arrangement process will be described in detail.

【0032】その編集処理の実行には、図4(c)に示
すような変数が使われる。その図4(c)において、配
列変数v1は現在、処理対象としているコード用に組み
合わされた構成音の音高(を示す値)を保持しておくた
めのものであり、配列変数v2は直前(一つ前)のコー
ド用に組み合わせが選択された構成音の音高を保持して
おくためのものである。配列変数vbestは、選択し
た音高の組み合わせをデータとして保存しておくための
ものであり、図2の伴奏音用演奏データ212に対応す
る。変数Rotatenは、コード転回数をカウントす
るために用意したものである。以降、音高(を示す値)
の組み合わせについては、ピッチセットとも呼ぶことに
する。
In executing the editing process, variables as shown in FIG. 4C are used. In FIG. 4 (c), the array variable v1 is for holding the pitch (value indicating) of the constituent sounds combined for the chord currently being processed, and the array variable v2 is This is for holding the pitch of the constituent sound selected as the combination for the (previous) chord. The array variable vbest is for storing a selected combination of pitches as data, and corresponds to the accompaniment sound performance data 212 in FIG. The variable Rotaten is prepared for counting the number of code changes. Hereafter, the pitch (value indicating)
Is also called a pitch set.

【0033】先ず、ステップ601では、配列変数cp
にコードデータが保持されているコードのなかで処理対
象とするコードを管理するための変数cptrに、その
先頭に位置しているコードを表す値の0を代入する。続
くステップ602では、その変数cptrの値で指定さ
れるコードのデータが配列変数cpに保持されているか
否か判定する。そのデータが配列変数cpに保持されて
いない場合、即ち編曲が終了したような場合、判定はY
ESとなり、ここで一連の処理を終了する。そうでない
場合には、判定はNOとなってステップ603に移行す
る。
First, in step 601, the array variable cp
Is assigned to the variable cptr for managing the code to be processed among the codes in which the code data is held, and the value 0 representing the code located at the top of the variable cptr. In the following step 602, it is determined whether or not the data of the code specified by the value of the variable cptr is held in the array variable cp. If the data is not stored in the array variable cp, that is, if the arrangement has ended, the determination is Y
It becomes ES, and a series of processing ends here. Otherwise, the determination is no and the process moves to step 603.

【0034】ステップ603では、ピッチセットの評価
値の保持用に用意した変数vminに、デフォルト値と
して定めた30000を代入する。次に実行するステッ
プ604では、変数Rotatenに0を代入する。そ
の後はステップ605に移行する。なお、評価値はその
値が小さいほど、評価が高いことを示している。
In step 603, 30000 defined as a default value is substituted for a variable vmin prepared for holding the evaluation value of the pitch set. In the next step 604 to be executed, 0 is substituted for the variable Rotaten. Thereafter, the process proceeds to step 605. The smaller the evaluation value, the higher the evaluation.

【0035】ステップ605では、変数Rotaten
の値が予め定めた転回数の上限値以上か否か判定する。
その値が転回数の上限値以上であった場合、判定はYE
Sとなってステップ616に移行する。そうでない場合
には、判定はNOとなってステップ606に移行し、配
列変数v1を初期化、ここではその各要素に−1をそれ
ぞれ代入した後、ステップ607に移行する。
At step 605, the variable Rotaten
Is determined to be greater than or equal to a predetermined upper limit value of the number of turns.
If the value is equal to or greater than the upper limit of the number of turns, the determination is YE
In S, the flow shifts to step 616. Otherwise, the determination is no and the process moves to step 606, where the array variable v1 is initialized, where -1 is substituted for each element here, and then the process moves to step 607.

【0036】ステップ607では、変数cptrの値が
0か否か判定する。配列変数cpに保持されたコード進
行データ211が表すコード進行上で先頭に位置するコ
ードを処理対象としていた場合、判定はYESとなり、
ステップ608で配列変数v2を同様に初期化し、更に
ステップ609で配列変数v1の各要素に構成音の音高
(を示す値)を代入するコード音選択処理を実行した
後、ステップ609に移行する。そうでない場合には、
判定はNOとなり、次にそのステップ609のコード音
選択処理を実行する。
At step 607, it is determined whether or not the value of the variable cptr is 0. If the code located at the beginning on the chord progression represented by the chord progression data 211 held in the array variable cp is to be processed, the determination is YES,
At step 608, the array variable v2 is similarly initialized, and at step 609, a chord tone selection process for substituting the pitch (value indicating) of the constituent sound for each element of the array variable v1 is performed, and then the process proceeds to step 609. . If not,
The determination is NO, and the chord tone selection process of step 609 is executed.

【0037】ステップ610では、コード音選択処理を
実行した結果、音高の組み合わせ(ピッチセット)を選
択できたか否か判定する。そのコード音選択処理では、
引数でもある変数okに、適切な音高の組み合わせ(ピ
ッチセット)を選択できなければ0を、それを選択でき
れば1を代入するようになっている。選択したピッチセ
ットを構成する音高を示す値は配列変数v1の各要素に
それぞれ代入している。このことから、変数okの値が
1であった場合、判定はYESとなってステップ611
に移行して、選択したピッチセットの評価を行う評価処
理を実行した後、ステップ612に移行する。そうでな
い場合には、判定はNOとなって後述するステップ61
5に移行する。
At step 610, it is determined whether a combination of pitches (pitch set) has been selected as a result of executing the chord tone selection process. In the chord tone selection process,
If an appropriate combination of pitches (pitch set) cannot be selected, 0 is substituted for a variable ok which is also an argument, and 1 is substituted if it can be selected. The value indicating the pitch constituting the selected pitch set is assigned to each element of the array variable v1. From this, if the value of the variable ok is 1, the determination is YES and step 611 is executed.
After performing the evaluation process for evaluating the selected pitch set, the process proceeds to step 612. Otherwise, the determination is no and step 61 described below
Move to 5.

【0038】その評価処理では、算出した評価値を引数
でもある変数vに代入するようになっている。ステップ
612では、その変数vの値が変数vminの値より小
さいか否か判定する。今回、選択したピッチセットの評
価がそれまでで最も高かったような場合、判定はYES
となってステップ613に移行する。そうでない場合に
は、判定はNOとなってステップ615に移行する。
In the evaluation processing, the calculated evaluation value is substituted for a variable v which is also an argument. In step 612, it is determined whether the value of the variable v is smaller than the value of the variable vmin. This time, if the selected pitch set has the highest evaluation so far, the determination is YES
And the process proceeds to step 613. Otherwise, the determination is no and the process moves to step 615.

【0039】ステップ613では、変数vminに変数
vの値を代入する。続くステップ614では、配列変数
vbestの変数cptrの値で指定される要素に、配
列変数v1の各要素の値をパックして代入する。その次
に実行するステップ615では、変数Rotatenの
値をインクリメントする。そのインクリメントを行った
後に上記ステップ605に戻り、それ以降の処理を同様
に実行する。それにより、転回数を1ずつカウントアッ
プしながら、随時、評価が最も高いピッチセットをそれ
までのものと置き換えていく形でピッチセットの選択、
保存を行うようになっている。
In step 613, the value of the variable v is substituted for the variable vmin. In the following step 614, the value of each element of the array variable v1 is packed and assigned to the element specified by the value of the variable cptr of the array variable vbest. In the next step 615 to be executed, the value of the variable Rotaten is incremented. After performing the increment, the process returns to step 605, and the subsequent processes are similarly executed. As a result, while incrementing the number of turns by one, at any time, selecting the pitch set by replacing the pitch set with the highest evaluation with the previous one,
It is designed to save.

【0040】一方、上記ステップ605でYESと判
定、即ち処理対象とするコードのピッチセットの選択が
終了した場合に移行するステップ616では、配列変数
vbestの変数cptrの値で指定される要素にパッ
クして代入させている、そのピッチパックの内容を示す
値(データ)をデパックして、配列変数v2の各要素に
それぞれ代入する。それにより、配列変数v2に今回、
選択したピッチセットを表すデータ(構成音の音高を示
す値のセット)を保持させると、ステップ617に移行
して、変数cptrの値をインクリメントする。その後
は上記ステップ602に戻り、処理対象を次のコードに
変えて、それ以降の処理を同様に実行する。それによ
り、コード進行データ211が表すコード進行上の先頭
に位置するコードからその後方に順次、処理対象とする
コードを移動させながらピッチセットを選択していくよ
うになっている。
On the other hand, when the determination in step 605 is YES, that is, when the selection of the pitch set of the chord to be processed is completed, step 616 is executed. The value (data) indicating the content of the pitch pack, which has been assigned as a value, is depacked and assigned to each element of the array variable v2. As a result, this time,
When the data representing the selected pitch set (a set of values indicating the pitches of the constituent sounds) is stored, the process proceeds to step 617, where the value of the variable cptr is incremented. Thereafter, the process returns to the step 602, and the processing target is changed to the next code, and the subsequent processing is executed in the same manner. Thus, the pitch set is selected while sequentially moving the code to be processed from the code located at the head on the chord progression represented by the chord progression data 211 to the rear thereof.

【0041】ここで、図7〜図9に示す各種フローチャ
ートを参照して、上記コード音選択処理内で実行される
サブルーチン処理について詳細に説明する。図7は、そ
のコード音処理内でステップ609として実行されるコ
ード音選択処理のフローチャートである。始めに図7を
参照して、その選択処理について詳細に説明する。
Here, the subroutine processing executed in the chord tone selection processing will be described in detail with reference to various flowcharts shown in FIGS. FIG. 7 is a flowchart of the chord tone selection processing executed as step 609 in the chord tone processing. First, the selection process will be described in detail with reference to FIG.

【0042】その選択処理では、上述したように、コー
ドのピッチセットを選択して、それを構成する音高を示
す値をそれぞれ配列変数v1の要素に代入するようにな
っている。そのピッチセットが適切なものでなければ変
数okには0を代入する。先ず、ステップ701では、
変数cptrの値で指定されるコードの構成音数を特定
するためのコード構成音数処理を実行する。その後は、
ステップ702で変数pに変数LowerLimitの
値、ステップ703で変数cntに0、ステップ704
で変数okに1をそれぞれ代入した後、ステップ705
に移行する。その変数pはピッチセットの音高を特定す
るために、変数cntは構成音(音高)数をカウントす
るためにそれぞれ用意した変数である。コード構成音数
処理の実行結果である構成音数は引数でもある変数ct
nに代入される。
In the selection process, as described above, the pitch set of the chord is selected, and the values indicating the pitches constituting the set are assigned to the elements of the array variable v1. If the pitch set is not appropriate, 0 is substituted for the variable ok. First, in step 701,
A chord component sound count process for specifying the number of chord components specified by the value of the variable cptr is executed. After that,
In step 702, the value of the variable LowerLimit is set in the variable p, in step 703, 0 is set in the variable cnt, and in step 704.
After substituting 1 for the variable ok in step 705,
Move to The variable p is a variable prepared for specifying the pitch of the pitch set, and the variable cnt is a variable prepared for counting the number of constituent sounds (pitch). The number of constituent sounds which is the execution result of the number of chord constituent sounds processing is a variable ct which is also an argument.
n.

【0043】ステップ705以降では、配列変数v1の
各要素に、変数cptrの値で指定されるコードの構成
音の音高に対して変数Rotatenの値で指定される
数の転回を行って得られるピッチセットの各音高を示す
値を代入し、そのピッチセットが適切なものでなければ
変数okの値を0に書き換えるための処理が行われる。
そのための処理は、変数p、及びcntの値を順次、イ
ンクリメントしながら行われる。
In step 705 and subsequent steps, each element of the array variable v1 is obtained by performing the number of turns specified by the value of the variable Rotaten on the pitch of the constituent sound of the chord specified by the value of the variable cptr. A process for substituting values indicating the pitches of the pitch set and rewriting the value of the variable ok to 0 is performed if the pitch set is not appropriate.
The processing for this is performed while sequentially incrementing the values of the variables p and cnt.

【0044】先ず、ステップ705では、配列変数v1
の各要素にピッチセットの音高を示す値の代入が終了し
たか否か判定する。その音高は低い方から順に決定する
ようになっている。構成音数は変数ctnに、転回数は
変数Rotatenにそれぞれ代入されている。このこ
とから、変数cntの値から変数Rotatenの値を
減算した値(=cnt−Rotaten)が変数ctn
の値以上となった場合、判定はYESとなってステップ
714に移行する。そうでない場合には、判定はNOと
なってステップ706に移行する。
First, at step 705, the array variable v1
It is determined whether or not the assignment of the value indicating the pitch of the pitch set to each element has been completed. The pitch is determined in order from the lowest. The number of constituent sounds is substituted for a variable ctn, and the number of turns is substituted for a variable Rotaten. From this, the value obtained by subtracting the value of the variable Rotaten from the value of the variable cnt (= cnt−Roten) is the variable ctn.
Is greater than or equal to, the determination is YES and the process moves to step 714. Otherwise, the determination is no and the process moves to step 706.

【0045】ステップ706では、変数pの値が変数U
pperLimitの値より大きいか否か判定する。そ
の変数pの値はピッチセットの音高を選択(特定)する
ために順次、インクリメントしている。このことから、
変数LowerLimitの値と変数UpperLim
itの値で指定される音域内でピッチセットの音高を全
て選択(特定)できなかった場合、判定はYESとな
り、ステップ707で変数okに0を代入した後、一連
の処理を終了する。そうでない場合には、判定はNOと
なってステップ708に移行し、変数pの値が示す音高
がピッチセットの音高に該当するか否か判定するコード
トーン処理を実行した後、ステップ709に移行する。
In step 706, the value of the variable p is
It is determined whether the value is larger than the value of upperLimit. The value of the variable p is sequentially incremented in order to select (specify) the pitch of the pitch set. From this,
The value of the variable LowerLimit and the variable UpperLim
If all the pitches of the pitch set cannot be selected (specified) within the range specified by the value of it, the determination is YES, and in step 707, 0 is substituted for a variable ok, and a series of processing ends. Otherwise, the determination is no and the process moves to step 708, where code tone processing is performed to determine whether or not the pitch indicated by the value of the variable p corresponds to the pitch of the pitch set. Move to

【0046】このようにして、本実施の形態では、ユー
ザが指定した音域内でピッチセットの音高を選択するよ
うにしている。それにより、音域に対するユーザの要求
をピッチセットの音高の選択に反映させて、そのユーザ
にとってより望ましい形で編曲を行えるようにさせてい
る。
As described above, in this embodiment, the pitch of the pitch set is selected within the range specified by the user. As a result, the user's request for the tone range is reflected in the selection of the pitch of the pitch set, and the arrangement can be performed in a more desirable form for the user.

【0047】上記コードトーン処理では、引数でもある
変数ctoneに、変数pの値が示す音高がピッチセッ
トの音高に該当していれば1、そうでなければ0を代入
するようになっている。ステップ709では、その変数
ctoneの値が1か否か判定する。その変数cton
eに1が代入されていた場合、判定はYESとなってス
テップ710に移行する。そうでない場合には、判定は
NOとなって後述のステップ713に移行する。
In the above code tone processing, 1 is substituted into the variable ctone, which is also an argument, if the pitch indicated by the value of the variable p corresponds to the pitch of the pitch set, and 0 otherwise. I have. In step 709, it is determined whether or not the value of the variable ctone is 1. The variable cton
If 1 has been substituted for e, the determination is YES and the process moves to step 710. Otherwise, the determination is no and the process moves to step 713 described below.

【0048】ステップ710では、変数cntの値が変
数Rotatenの値以上か否か判定する。その変数c
ntの値は、上記ステップ709の判定がYESとなら
なければインクリメントしないようになっている。この
ことから、変数Rotatenの値で指定される数以
上、ステップ709の判定がYESとなった場合、判定
はYESとなってステップ711に移行する。そうでな
い場合には、判定はNOとなってステップ712に移行
する。
At step 710, it is determined whether or not the value of the variable cnt is equal to or greater than the value of the variable Rotaten. The variable c
The value of nt is not incremented unless the determination in step 709 is YES. Therefore, if the determination in step 709 is YES for the number specified by the value of the variable Rotaten, the determination is YES and the process proceeds to step 711. Otherwise, the determination is no and the process moves to step 712.

【0049】ステップ711では、変数cntの値から
変数Rotatenの値を引いた値(=cnt−rot
aten)で指定される配列変数v1の要素に、変数p
の値を代入する。続くステップ712では変数cntの
値をインクリメントする。その後は、ステップ713に
移行して、変数pの値をインクリメントしてから上記ス
テップ705に戻る。それにより、配列変数v1の各要
素に、それぞれ一つずつ、順次ピッチセットを構成する
音高を示す値を代入するようになっている。
In step 711, a value obtained by subtracting the value of the variable Rotaten from the value of the variable cnt (= cnt-rot
aten), the element of the array variable v1
Substitute the value of In the following step 712, the value of the variable cnt is incremented. Thereafter, the process proceeds to step 713, where the value of the variable p is incremented, and the process returns to step 705. Thereby, a value indicating a pitch which sequentially constitutes the pitch set is assigned to each element of the array variable v1 one by one.

【0050】上記ステップ705でYESと判定した場
合に移行するステップ714では、変数mに、処理対象
のコードが3和音であれば配列変数v1の要素v1
[3]の値から要素v1[2]の値を減算した値の絶対
値を代入する。そのコードが4和音であれば要素v1
[4]の値から要素v1[3]の値を減算した値の絶対
値を代入する。続くステップ715では、変数mの値が
1か否か判定する。ピッチセットとして選択した音高間
の音程が1半音となっていた場合、判定はYESとな
り、ステップ716で変数okに0を代入した後、一連
の処理を終了する。そうでない場合には、判定はNOと
なり、ここで一連の処理を終了する。
At step 714, to which the operation proceeds when the determination at step 705 is YES, the variable m is set to the element v1 of the array variable v1 if the chord to be processed is a triad.
The absolute value of the value obtained by subtracting the value of the element v1 [2] from the value of [3] is substituted. Element v1 if the chord is a 4 chord
The absolute value of the value obtained by subtracting the value of the element v1 [3] from the value of [4] is substituted. In a succeeding step 715, it is determined whether or not the value of the variable m is 1. If the pitch between the pitches selected as the pitch set is one semitone, the determination is YES, and in step 716, 0 is substituted for a variable ok, and a series of processing ends. Otherwise, the determination is no, and a series of processing ends here.

【0051】図6に示す編曲処理では、変数okの値が
0であれば、選択したピッチセットに対する評価を行う
ことなく、次のピッチセットの選択を行うようになって
いる。そのようにして、音高間の音程が1半音となって
いるピッチセットは無視している。
In the arrangement process shown in FIG. 6, if the value of the variable ok is 0, the next pitch set is selected without evaluating the selected pitch set. In this way, pitch sets in which the pitch between pitches is one semitone are ignored.

【0052】次に、上記ステップ701として実行され
るコード構成音数処理について、図8に示すそのフロー
チャートを参照して詳細に説明する。その構成音数処理
では、図3に示す配列変数chotoneを参照して、
コードの構成音数をカウントするようになっている。
Next, the processing of the number of notes constituting the chord executed as step 701 will be described in detail with reference to the flowchart shown in FIG. In the constituent sound number processing, referring to the array variable chtone shown in FIG.
It counts the number of notes that make up the chord.

【0053】先ず、ステップ801では変数iに0を代
入する。続くステップ802では、変数ctnに0を代
入する。その代入を行った後に移行するステップ803
では、変数iの値が12以上か否か判定する。配列変数
chotoneの要素には有効ビット(桁)数が12ビ
ットのデータが保持されている。変数iは、その12ビ
ットのデータのなかで着目するビットを管理するために
用いている。このことから、コードの構成音数のカウン
トが終了した場合、判定はYESとなり、ここで一連の
処理を終了する。そうでない場合には、判定はNOとな
ってステップ804に移行する。
First, at step 801, 0 is substituted for a variable i. In the following step 802, 0 is substituted for the variable ctn. Step 803 to which the process proceeds after the substitution
Then, it is determined whether the value of the variable i is 12 or more. The element of the array variable "chtone" holds data of which the number of effective bits (digits) is 12 bits. The variable i is used to manage a bit of interest in the 12-bit data. From this, when the counting of the number of constituent sounds of the chord is completed, the determination is YES, and a series of processing is ended here. Otherwise, the determination is no and the process moves to step 804.

【0054】ステップ804では、“00000000
0001”を変数iの値分、左にシフトする操作を行
い、それによって得られたものを変数aに代入する。次
に実行するステップ805では、変数Omitの値、及
び配列変数cpの要素に保持されている、変数cptr
の値で指定されるコードのタイプデータ(図中では「c
p[cptr][type]」と表記)により指定され
る配列変数chotoneの要素の値を変数bに代入す
る。その後はステップ806に移行する。
At step 804, "00000000
0001 "is shifted to the left by the value of the variable i, and the result obtained is substituted for the variable a. In the next executed step 805, the value of the variable Omit and the element of the array variable cp are Variable cptr held
The type data of the code specified by the value of “(c
The value of the element of the array variable chtone designated by “p [cptr] [type]”) is substituted for the variable b. After that, the process moves to step 806.

【0055】ステップ806では、変数aの値と変数b
の値をビット単位で論理積をとり、その論理積の論理和
が1か否か判定する。変数bの値(2進数表現である)
に、“000000000001”を変数iの値分、左
にシフトした位置に“1”が存在している場合、判定は
YESとなり、ステップ807で変数ctnの値をイン
クリメントし、更にステップ808で変数iの値をイン
クリメントした後、上記ステップ803に戻る。そうで
ない場合には、判定はNOとなってそのステップ808
に移行する。
At step 806, the value of the variable a and the variable b
Is ANDed in bit units, and it is determined whether the logical sum of the AND is 1 or not. Value of variable b (in binary notation)
If “1” exists at the position where “0000000000001” has been shifted to the left by the value of the variable i, the determination is YES, the value of the variable ctn is incremented in step 807, and the value of the variable i is further increased in step 808. After the value is incremented, the process returns to step 803. Otherwise, the determination is no and step 808 is reached.
Move to

【0056】このように、コード構成音数処理では、配
列変数chotoneの要素に保持されたデータ中に存
在する“1”の個数をカウントすることにより、変数c
ptrの値、及び変数Omitの値により指定されるコ
ードの構成音数を特定するようになっている。
As described above, in the processing of the number of notes constituting the chord, the number of “1” s existing in the data held in the elements of the array variable “tone” is counted, and the variable c
The number of notes constituting the chord specified by the value of ptr and the value of the variable Omit is specified.

【0057】図9は、図7に示すコード音選択処理内で
ステップ708として実行されるコードトーン処理のフ
ローチャートである。次に図9を参照して、そのコード
トーン処理について詳細に説明する。そのコードトーン
処理は、上述したように、変数pの値が示す音高がピッ
チセットの音高に該当するか否か判定して、その判定結
果を示す値を引数でもある変数ctoneに代入する処
理である。
FIG. 9 is a flowchart of the chord tone processing executed as step 708 in the chord tone selection processing shown in FIG. Next, the code tone processing will be described in detail with reference to FIG. In the code tone process, as described above, it is determined whether or not the pitch indicated by the value of the variable p corresponds to the pitch of the pitch set, and the value indicating the determination result is substituted for the variable ctone which is also an argument. Processing.

【0058】先ず、ステップ901では、12に変数p
の値を加算して得られる値から、配列変数cpの要素に
保持されている、変数cptrの値で指定されるコード
のルートデータ(図中では「cp[cptr][ROO
T]」と表記)の値を減算し、その減算結果を変数aに
代入する。次に実行するステップ902では、変数b
に、変数aの値を12で割った余りを代入する。その後
はステップ903に移行する。なお、ステップ901で
12を変数pの値に加算するのは、変数aの値が負とな
るのを回避するためである。変数bに、変数aの値を1
2で割った余りを代入するのは、配列変数choton
eには、図3に示すように、コードを構成する構成音間
の音程の関係を12半音の範囲内で表すデータを保持さ
せているためである。
First, in step 901, the variable p is
Of the code specified by the value of the variable cptr held in the element of the array variable cp from the value obtained by adding the value of “cp [cptr] [ROO
T]]), and the result of the subtraction is substituted for a variable a. In the next step 902 to be executed, the variable b
To the remainder of the value of the variable a divided by 12. Thereafter, the process proceeds to step 903. The reason why 12 is added to the value of the variable p in step 901 is to prevent the value of the variable a from becoming negative. The value of variable a is set to 1 for variable b.
Substituting the remainder divided by 2 is the array variable choton
This is because, as shown in FIG. 3, data representing the pitch relationship between the constituent sounds constituting the chord within 12 semitones is stored in e.

【0059】ステップ903では、“00000000
0001”を変数bの値分、左にシフトする操作を行
い、それによって得られたものを変数cに代入する。続
くステップ904では、変数Omitの値、及び配列変
数cpの要素に保持されている、変数cptrの値で指
定されるコードのタイプデータ(図中では「cp[cp
tr][type]」と表記)により指定される配列変
数chotoneの要素の値を変数dに代入する。その
後はステップ905に移行する。
In step 903, “00000000
0001 "is shifted to the left by the value of the variable b, and the result is substituted for the variable c. In the next step 904, the value of the variable Omit and the element of the array variable cp are stored. Type data of the code specified by the value of the variable cptr (“cp [cp
tr [[type]]) is assigned to the variable d. Thereafter, the process proceeds to step 905.

【0060】ステップ905では、変数cの値と変数d
の値をビット単位で論理積をとり、その論理積の論理和
が1か否か判定する。変数dの値(2進数表現である)
に、“000000000001”を変数bの値分、左
にシフトした位置に“1”が存在している場合、判定は
YESとなり、変数pの値が示す音高がピッチセットの
音高に該当しているとして、ステップ906で変数ct
oneに1を代入した後、一連の処理を終了する。そう
でない場合には、判定はNOとなり、ステップ907で
変数ctoneに0を代入した後、一連の処理を終了す
る。
In step 905, the value of the variable c and the variable d
Is ANDed in bit units, and it is determined whether the logical sum of the AND is 1 or not. Value of variable d (in binary notation)
If “1” exists at the position where “0000000000001” is shifted to the left by the value of the variable b, the determination is YES, and the pitch indicated by the value of the variable p corresponds to the pitch of the pitch set. In step 906, the variable ct
After substituting 1 for one, a series of processing ends. Otherwise, the determination is no, and in step 907, 0 is substituted for the variable ctone, and the series of processing ends.

【0061】例えば変数Omitに省略なし(図3参
照)を示す値が代入されているのであれば、変数cto
neには、変数pに、変数cptrの値で指定されるコ
ードの構成音の音高を示す値が代入されている場合に1
が代入される。それにより、図7のコード音選択処理で
は、変数Rotatenの値が0であれば、そのコード
の構成音の音高をそのままピッチセットの音高として選
択することになる。しかし、例えば変数Rotaten
の値が1となると、そのコードのルートは無視して、そ
のルートの音高から1オクターブ分、高い音高を示す値
が変数pに代入されたときに、その値が示す音高をピッ
チセットの音高として選択することになる。そのように
して、変数cptrの値で指定されるコードに対し、変
数Rotatenの値で指定された転回数の転回を行っ
て得られる音高の組み合わせをピッチセットとして選択
するようになっている。
For example, if a value indicating no omission (see FIG. 3) is assigned to the variable Omit, the variable cto
ne is 1 when a value indicating the pitch of the constituent sound of the chord specified by the value of the variable cptr is substituted for the variable p.
Is substituted. Thus, in the chord tone selection process of FIG. 7, if the value of the variable Rotaten is 0, the pitch of the component sound of the chord is selected as it is as the pitch of the pitch set. However, for example, the variable Rotaten
Becomes 1, the chord root is ignored, and when a value indicating a higher pitch by one octave from the pitch of the root is substituted for the variable p, the pitch indicated by the value is pitched. It will be selected as the pitch of the set. In this way, a combination of pitches obtained by performing the number of turns specified by the value of the variable Rotaten with respect to the code specified by the value of the variable cptr is selected as a pitch set.

【0062】図6の編曲処理内で実行されるサブルーチ
ン処理の説明に戻る。図10は、その編曲処理内でステ
ップ611として実行される評価処理のフローチャート
である。次に図10を参照して、その評価処理について
詳細に説明する。その評価処理は、上記コード音選択処
理を実行することで選択したピッチセットの評価を行う
処理である。
Returning to the description of the subroutine processing executed in the music arrangement processing of FIG. FIG. 10 is a flowchart of the evaluation processing executed as step 611 in the arrangement processing. Next, the evaluation processing will be described in detail with reference to FIG. The evaluation process is a process of evaluating the pitch set selected by executing the above-mentioned chord tone selection process.

【0063】先ず、ステップ1001では、直前のコー
ド用に選択したピッチセットからの移動距離に注目して
今回、選択したピッチセットの評価を行う移動距離評価
処理を実行する。続くステップ1002では、ユーザが
指定した中心ポジション(変数HomePitの値)に
注目して今回、選択したピッチセットの評価を行う中心
ポジション評価処理を実行する。その後はステップ10
03に移行する。
First, in step 1001, a moving distance evaluation process for evaluating the pitch set selected this time is executed by paying attention to the moving distance from the pitch set selected for the immediately preceding chord. In the following step 1002, a center position evaluation process for evaluating the currently selected pitch set is executed by paying attention to the center position (the value of the variable HomePit) specified by the user. Then step 10
Shift to 03.

【0064】上記各評価処理の実行結果である評価値
は、それぞれ、変数d1、d2に代入される。ステップ
1003では、それら変数d1、d2の値を用いて最終
的な評価値を算出し、算出した評価値を変数vに代入す
る。その後に一連の処理を終了する。
The evaluation values, which are the execution results of each of the above evaluation processes, are substituted into variables d1 and d2, respectively. In step 1003, a final evaluation value is calculated using the values of the variables d1 and d2, and the calculated evaluation value is substituted for the variable v. Thereafter, a series of processing ends.

【0065】本実施の形態では、変数d1の値に変数A
の値を掛けた値に、変数d2の値に変数Bの値を掛けた
値を加算し、その加算値を変数vに代入している。その
ようにして、変数vに代入する値の算出にユーザが値を
設定できる変数A、Bの値を用いることにより、そのユ
ーザが重要視する点を評価値(変数vの値)に反映させ
ている。
In this embodiment, the value of the variable d1 is
Is added to the value obtained by multiplying the value of the variable d2 by the value of the variable B, and the added value is substituted for the variable v. In this way, by using the values of the variables A and B for which the user can set the value for calculating the value to be substituted into the variable v, the points that the user considers important are reflected in the evaluation value (the value of the variable v). ing.

【0066】以降は、上述の評価処理内で実行されるサ
ブルーチン処理について、図11、及び図12を参照し
て詳細に説明する。図11は、上記ステップ1001と
して実行される移動距離評価処理のフローチャートであ
る。始めに図11を参照して、その移動距離評価処理に
ついて詳細に説明する。
Hereinafter, the subroutine processing executed in the above-described evaluation processing will be described in detail with reference to FIG. 11 and FIG. FIG. 11 is a flowchart of the moving distance evaluation process executed as step 1001. First, the moving distance evaluation processing will be described in detail with reference to FIG.

【0067】先ず、ステップ1101では変数iに0を
代入する。続くステップ1102では、変数d1に0を
代入する。その後はステップ1103に移行する。本実
施の形態では、移動距離(2つのピッチセット間の距
離)は、対応する音高間の音程の累算値として算出する
ようになっている。変数iはピッチセットのなかで注目
する音程を管理するために用意した変数である。ステッ
プ1103〜1106では、その変数iの値をインクリ
メントしながら、音程の累算値を算出していくための処
理が行われる。
First, in step 1101, 0 is substituted for a variable i. In the following step 1102, 0 is substituted for the variable d1. Thereafter, the process proceeds to step 1103. In the present embodiment, the movement distance (the distance between two pitch sets) is calculated as an accumulated value of the pitch between corresponding pitches. The variable i is a variable prepared for managing the pitch of interest in the pitch set. In steps 1103 to 1106, processing for calculating the accumulated value of the pitch is performed while incrementing the value of the variable i.

【0068】先ずステップ1103では、その累算値の
算出が終了したか否か判定する。例えばコードの構成音
数の上限と想定している値が変数iに代入されているよ
うな場合、判定はYESとなってステップ1107に移
行する。そうでない場合には、判定はNOとなってステ
ップ1104に移行する。
First, at step 1103, it is determined whether or not the calculation of the accumulated value has been completed. For example, when the value assumed as the upper limit of the number of constituent sounds of the chord is substituted for the variable i, the determination is YES and the process proceeds to step 1107. Otherwise, the determination is no and the process moves to step 1104.

【0069】ステップ1104では、変数iの値で指定
される配列変数v1の要素v1[i]、及び配列変数v
2の要素v2[i]の各値が共に0以上か否か判定す
る。直前のコード用として確定したピッチセット、及び
今回、選択したピッチセットの何れかの構成音数が、変
数iの値から1を引いた値より小さいような場合、判定
はNOとなってステップ1106に移行する。そうでな
い場合には、判定はYESとなってステップ1105に
移行する。
In step 1104, the element v1 [i] of the array variable v1 specified by the value of the variable i and the array variable v
It is determined whether each value of the element v2 [i] of No. 2 is 0 or more. If the number of notes constituting any of the pitch set determined for the immediately preceding chord and the pitch set selected this time is smaller than a value obtained by subtracting 1 from the value of the variable i, the determination is NO and step 1106 is performed. Move to Otherwise, the determination is yes and the process moves to step 1105.

【0070】ステップ1105では、配列変数v1の要
素v1[i]の値から配列変数v2の要素v2[i]の
値を減算した値の絶対値を変数d1の値に加算し、その
加算値を変数d1に代入する。続くステップ1106で
は、変数iの値をインクリメントする。そのインクリメ
ントを行った後は上記ステップ1103に戻る。
In step 1105, the absolute value of the value obtained by subtracting the value of the element v2 [i] of the array variable v2 from the value of the element v1 [i] of the array variable v1 is added to the value of the variable d1, and the added value is calculated. Substitute into the variable d1. In the following step 1106, the value of the variable i is incremented. After the increment, the process returns to step 1103.

【0071】このように、本実施の形態では、直前のコ
ード用として確定したピッチセットを構成する音高と、
今回、選択したピッチセットを構成する音高とを対応付
けし、その音程の絶対値を累算している。言い換えれ
ば、次のコードを鳴らすための指全体の移動距離に注目
した評価を行っている。それにより、手の移動量が比較
的に小さくても、各指を比較的に大きく動かさなければ
ならないピッチセットは低く評価するようにしている。
なお、当然のことながら、ピッチセットの音高の中心な
どに注目してそれらの間の移動距離を算出するようにし
ても良い。
As described above, in the present embodiment, the pitches constituting the pitch set determined for the immediately preceding chord,
This time, the pitches constituting the selected pitch set are associated with each other, and the absolute value of the pitch is accumulated. In other words, the evaluation focuses on the movement distance of the entire finger to sound the next chord. Thereby, even if the movement amount of the hand is relatively small, the pitch set in which each finger must be moved relatively large is evaluated as low.
Of course, it is also possible to calculate the moving distance between the pitch sets by focusing on the center of the pitch of the pitch set.

【0072】上記ステップ1103の判定がYESとな
って移行するステップ1107以降では、今回のピッチ
セットが平行5度となる条件を満たしているか否かに注
目して、変数d1の値の更新を行うための処理が行われ
る。先ず、ステップ1107では、変数aに、配列変数
v1の要素v1[2]の値から配列変数v1の要素v1
[0]の値を引いた値の絶対値を代入する。続くステッ
プ1108では、変数bに、配列変数v2の要素v2
[2]の値から配列変数v2の要素v2[0]の値を引
いた値の絶対値を代入する。その次に実行するステップ
1109では、変数cに、配列変数v1の要素v1
[0]の値から配列変数v2の要素v2[0]の値を引
いた値を代入する。その代入後はステップ1110に移
行する。
After step 1107, in which the determination in step 1103 is YES and the process proceeds, attention is paid to whether or not the current pitch set satisfies the condition of 5 degrees of parallelism, and the value of the variable d1 is updated. Is performed. First, in step 1107, the value of the element v1 [2] of the array variable v1 is changed to the element v1 of the array variable v1.
Substitute the absolute value of the value obtained by subtracting the value of [0]. In the following step 1108, the variable b is set to the element v2 of the array variable v2.
The absolute value of the value obtained by subtracting the value of the element v2 [0] of the array variable v2 from the value of [2] is substituted. In the next step 1109 to be executed, the variable c is set to the element v1 of the array variable v1.
The value obtained by subtracting the value of the element v2 [0] of the array variable v2 from the value of [0] is substituted. After the substitution, the process moves to step 1110.

【0073】ステップ1110では、変数a、bの値が
共に7で、且つ変数cの値が0でないか否か判定する。
配列変数v1、及びv2に、それぞれ、ルートの音高が
異なり、且つ音高の間に完全5度の音程が存在するピッ
チセットが保持されているような場合、判定はYESと
なってステップ1111に移行し、変数d1の値を、そ
れまでの値に変数C(図4(b)参照)の値を加算した
値に更新した後、一連の処理を終了する。そうでない場
合には、判定はNOとなり、変数d1の値を更新するこ
となく、一連の処理を終了する。
In step 1110, it is determined whether the values of the variables a and b are both 7 and the value of the variable c is not 0.
If the pitches of the roots are different from each other in the array variables v1 and v2, and a pitch set in which a perfect fifth pitch exists between the pitches is held, the determination is YES and step 1111 is performed. Then, after updating the value of the variable d1 to a value obtained by adding the value of the variable C (see FIG. 4B) to the previous value, a series of processes is ended. Otherwise, the determination is no, and the series of processing ends without updating the value of the variable d1.

【0074】本実施の形態では、上述のように、今回の
ピッチセットが完全5度のままコード進行させるもので
あっても、ルートの音高が一致していれば変数d1の値
を更新しないようにしている。それにより、同じピッチ
セットのコードが連続しているような状況を禁止させな
いようにしつつ、音楽的な不具合が生じるのを回避させ
るようになっている。変更d1の値の更新に変数Cの値
を用いることにより、平行5度を禁止する度合いをユー
ザが指定できるようにさせている。これらのことは、平
行8度などといった他の条件を対象に行うようにしても
良い。
In the present embodiment, as described above, even if the chord progresses while the current pitch set is at a perfect fifth, the value of the variable d1 is not updated if the pitches of the roots match. Like that. Thus, it is possible to prevent a situation in which chords of the same pitch set are continuous, and to prevent a musical defect from occurring. By using the value of the variable C to update the value of the change d1, the user can specify the degree of prohibition of the parallelism of 5 degrees. These operations may be performed under other conditions such as parallelism of 8 degrees.

【0075】図12は、図10に示す評価処理内でステ
ップ1002として実行される中心ポジション評価処理
のフローチャートである。次に図12を参照して、その
中心ポジション評価処理について詳細に説明する。この
評価処理は、ユーザが指定した中心ポジション(変数H
omePitの値)からの移動距離に注目して今回、選
択したピッチセットの評価を行うものである。
FIG. 12 is a flowchart of the center position evaluation processing executed as step 1002 in the evaluation processing shown in FIG. Next, the center position evaluation processing will be described in detail with reference to FIG. This evaluation processing is performed based on the center position (variable H) specified by the user.
The value of the pitch set selected this time is evaluated by paying attention to the movement distance from the value of “homePit”.

【0076】先ず、ステップ1201では変数iに0を
代入する。続くステップ1202では、変数d1に0を
代入する。その後はステップ1203に移行する。本実
施の形態では、移動距離(今回のピッチセットと中心ポ
ジション間の距離)は、ピッチセットを構成する音高と
中心ポジション(ユーザが指定した音高)間の音程の累
算値として算出するようになっている。変数iはピッチ
セットのなかで注目する音程を管理するために用意した
変数である。ステップ1203〜1206では、その変
数iの値をインクリメントしながら、音程の累算値を算
出していくための処理が行われる。
First, at step 1201, 0 is substituted for a variable i. In the following step 1202, 0 is substituted for the variable d1. After that, it moves to step 1203. In the present embodiment, the movement distance (the distance between the current pitch set and the center position) is calculated as the cumulative value of the pitch between the pitch forming the pitch set and the center position (pitch specified by the user). It has become. The variable i is a variable prepared for managing the pitch of interest in the pitch set. In steps 1203 to 1206, processing for calculating the accumulated value of the pitch is performed while incrementing the value of the variable i.

【0077】先ずステップ1203では、その累算値の
算出が終了したか否か判定する。例えばコードの構成音
数の上限と想定している値が変数iに代入されているよ
うな場合、判定はYESとなり、ここで一連の処理を終
了する。そうでない場合には、判定はNOとなってステ
ップ1204に移行する。
First, at step 1203, it is determined whether or not the calculation of the accumulated value has been completed. For example, if the value assumed to be the upper limit of the number of constituent sounds of the chord is substituted for the variable i, the determination is YES, and the series of processing ends here. Otherwise, the determination is no and the process moves to step 1204.

【0078】ステップ1204では、変数iの値で指定
される配列変数v1の要素v1[i]の値が0以上か否
か判定する。今回、選択したピッチセットの構成音数
が、変数iの値から1を引いた値より小さいような場
合、その要素v1[i]には−1が代入されていること
から、判定はNOとなってステップ1206に移行す
る。そうでない場合には、判定はYESとなってステッ
プ1205に移行する。
At step 1204, it is determined whether or not the value of the element v1 [i] of the array variable v1 specified by the value of the variable i is 0 or more. In this case, when the number of constituent sounds of the selected pitch set is smaller than the value obtained by subtracting 1 from the value of the variable i, −1 is substituted for the element v1 [i], so the determination is NO. Then, the process proceeds to step 1206. Otherwise, the determination is yes and the process moves to step 1205.

【0079】ステップ1205では、配列変数v1の要
素v1[i]の値から変数HomePitの値を減算し
た値の絶対値を変数d1の値に加算し、その加算値を変
数d1に代入する。続くステップ1206では、変数i
の値をインクリメントする。そのインクリメントを行っ
た後は上記ステップ1203に戻る。
In step 1205, the absolute value of the value obtained by subtracting the value of the variable HomePit from the value of the element v1 [i] of the array variable v1 is added to the value of the variable d1, and the added value is substituted for the variable d1. In the following step 1206, the variable i
Increment the value of. After performing the increment, the process returns to step 1203.

【0080】このようにして、本実施の形態では、今
回、選択したピッチセットを構成する音高と変数Hom
ePitの値で示される中心ポジションの音程の絶対値
を累算していくことにより、それらの間の移動距離を評
価値として算出している。しかし、その算出は、例えば
中心ポジションとピッチセットで中心となる音高の音程
を求めるといったように、別の方法で行うようにしても
良い。
As described above, in the present embodiment, the pitch and the variable Hom constituting the pitch set selected this time are set.
By accumulating the absolute value of the pitch at the center position indicated by the value of ePit, the movement distance between them is calculated as the evaluation value. However, the calculation may be performed by another method such as obtaining a pitch of a central pitch in the center position and the pitch set.

【0081】なお、本実施の形態では、ピッチセットを
構成する音高を選択する範囲である音域を絶対的な基準
でユーザに指定させているが、その音域は、例えば直前
のコード用に選択したピッチセットの中心となる音高を
基準とした相対的なものとしても良い。それらを共に指
定できるようにしても良い。それらは、音高を選択でき
る範囲を限定するのではなく、その範囲か否かを評価に
反映させるために用いるようにしても良い。これらのこ
とから明らかなように、本発明は様々な変形を行えるも
のである。コード進行上の各コードをリズムパターン上
の音と対応付けし、コードの発音時間をリズムパターン
上の音の発音時間とすることにより、シンプルな形の伴
奏ラインを生成できるようにしても良い。
In the present embodiment, the user specifies the range, which is the range in which the pitches constituting the pitch set are selected, on an absolute basis, but the range is selected, for example, for the immediately preceding chord. The pitch may be a relative value based on the pitch at the center of the pitch set. They may be specified together. They may be used not to limit the range in which the pitch can be selected, but to reflect whether or not the range is in the evaluation. As is apparent from these, the present invention can be variously modified. A simple accompaniment line may be generated by associating each chord on the chord progression with a sound on the rhythm pattern and setting the sounding time of the chord to the sounding time of the sound on the rhythm pattern.

【0082】本実施の形態は、単独で用いられる自動編
曲装置に本発明を適用したものである。しかし、本発明
を適用できるのはそのような自動編曲装置に限定される
わけではない。その自動編曲装置は、電子楽器やシーケ
ンサなどの楽音発生装置に搭載される、或いは外部装置
と接続して用いられるものであっても良い。外部装置と
接続して用いられるものであれば、1つのコードの内容
を表すコードデータ(図4(a)参照)、或いはMID
Iデータなどをリアルタイムで処理する形で編曲を行え
るようにしても良い。このことから明らかなように、デ
ータの形式や編曲を実際に行う形態も本実施の形態に限
定されるものではない。
In the present embodiment, the present invention is applied to an automatic arrangement device used alone. However, the application of the present invention is not limited to such an automatic arrangement device. The automatic arrangement device may be mounted on a tone generator such as an electronic musical instrument or a sequencer, or may be used in connection with an external device. If it is used by connecting to an external device, code data representing the contents of one code (see FIG. 4A) or MID
Arrangement may be performed by processing I data and the like in real time. As is clear from this, the form of the data and the form of actually arranging the data are not limited to the present embodiment.

【0083】上述したような自動編曲装置、或いはその
変形例の動作を実現させるようなプログラムは、RO
M、CD−ROM、フロッピーディスク、或いは光磁気
ディスク等の記録媒体に記録させて配布しても良い。或
いは、公衆網等で用いられる伝送媒体を介して、そのプ
ログラムの一部、若しくは全部を配信するようにしても
良い。そのようにした場合には、ユーザはプログラムを
取得して自動編曲装置、或いはコンピュータなどのデー
タ処理装置にロードすることにより、それをロードした
装置に本発明を適用させることができる。このことか
ら、プログラムは、それを配信する装置がアクセスでき
るものであっても良い。
The program for realizing the operation of the above-mentioned automatic arrangement device or its modified example is RO
It may be recorded on a recording medium such as M, CD-ROM, floppy disk, or magneto-optical disk and distributed. Alternatively, part or all of the program may be distributed via a transmission medium used in a public network or the like. In such a case, the user can acquire the program and load the program into an automatic arrangement device or a data processing device such as a computer, so that the present invention can be applied to the device loaded with the program. For this reason, the program may be accessible by a device that distributes the program.

【0084】[0084]

【発明の効果】以上、説明したように本発明は、コード
進行情報で表されるコード毎に、そのコードを構成する
構成音の音高の組み合わせを複数、仮定し、その仮定し
た音高の組み合わせの評価を行い、その評価に従って、
仮定した音高の組み合わせのなかから一つを選択する。
そのように、複数、仮定した音高の組み合わせのなかか
ら最も適切な組み合わせを選択するため、音楽的に自然
で、且つ演奏が行い易い形での編曲を自動的に行うこと
ができる。
As described above, according to the present invention, for each chord represented by chord progression information, a plurality of combinations of pitches of constituent sounds constituting the chord are assumed, and the assumed pitch Evaluate the combination and according to the evaluation,
Select one of the assumed pitch combinations.
In this way, since the most appropriate combination is selected from a plurality of assumed combinations of pitches, it is possible to automatically arrange music in a form that is musically natural and easy to play.

【0085】組み合わせられる音高の音域をユーザに指
定させるようにした場合には、そのユーザの希望を反映
した編曲が行われることになる。このため、ユーザは、
更に演奏が行い易い形での編曲を自動的に行わせること
ができる。
If the user is allowed to specify the range of pitches to be combined, the music composition reflects the wishes of the user. For this reason, the user
Furthermore, it is possible to automatically arrange music in a form that allows easy performance.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本実施の形態による自動編曲装置の回路構成図
である。
FIG. 1 is a circuit configuration diagram of an automatic arrangement device according to the present embodiment.

【図2】本実施の形態による自動編曲装置の機能的構成
を説明する図である。
FIG. 2 is a diagram illustrating a functional configuration of the automatic music arrangement device according to the present embodiment.

【図3】コードトーンデータベースのデータ構成を説明
する図である。
FIG. 3 is a diagram illustrating a data configuration of a chord tone database.

【図4】本実施の形態による自動編曲装置で扱われる変
数を説明する図である。
FIG. 4 is a diagram illustrating variables handled by the automatic music arrangement device according to the present embodiment.

【図5】全体処理のフローチャートである。FIG. 5 is a flowchart of an overall process.

【図6】編曲処理のフローチャートである。FIG. 6 is a flowchart of a music arrangement process.

【図7】コード音選択処理のフローチャートである。FIG. 7 is a flowchart of chord sound selection processing.

【図8】コード構成音数処理のフローチャートである。FIG. 8 is a flowchart of a chord composition sound count process.

【図9】コードトーン処理のフローチャートである。FIG. 9 is a flowchart of a code tone process.

【図10】評価処理のフローチャートである。FIG. 10 is a flowchart of an evaluation process.

【図11】移動距離評価処理のフローチャートである。FIG. 11 is a flowchart of a moving distance evaluation process.

【図12】中心ポジション評価処理のフローチャートで
ある。
FIG. 12 is a flowchart of a center position evaluation process.

【符号の説明】[Explanation of symbols]

101 CPU 102 ROM 103 RAM 104 入力装置 105 モニター 106 バス 201 伴奏音決定手段 202 コード音選択手段 203 評価手段 204 コードトーンデータベース 211 コード進行データ 212 伴奏音演奏データ 101 CPU 102 ROM 103 RAM 104 Input device 105 Monitor 106 Bus 201 Accompaniment sound determination means 202 Chord sound selection means 203 Evaluation means 204 Chord tone database 211 Chord progress data 212 Accompaniment sound performance data

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 コード進行の内容を表すコード進行情報
を対象に、該コード進行の内容を変更する編曲を自動的
に行う装置であって、 前記コード進行情報を取得する情報取得手段と、 前記情報取得手段が取得した前記コード進行情報で表さ
れるコード毎に、該コードを構成する構成音の音高の組
み合わせを複数、仮定する仮定手段と、 前記仮定手段が仮定した前記音高の組み合わせ毎に、所
定の評価を行う評価手段と、 前記評価手段の評価結果に従って、前記仮定手段が仮定
した前記音高の組み合わせのなかから一つを選択する選
択手段と、 を具備することを特徴とする自動編曲装置。
1. An apparatus for automatically arranging chord progression information for changing chord progression information for chord progression information representing chord progression information, comprising: an information acquisition unit for acquiring the chord progression information; For each chord represented by the chord progression information acquired by the information acquisition means, a plurality of combinations of pitches of constituent sounds constituting the chord, a hypothesis means, and a combination of the pitches assumed by the hypothesis means. Evaluation means for performing a predetermined evaluation, and selecting means for selecting one of the pitch combinations assumed by the hypothesis means according to the evaluation result of the evaluation means. Automatic arranging device.
【請求項2】 前記仮定手段が仮定する前記音高の組み
合わせは、前記コード進行情報が表すコードの音高の組
み合わせ、及びそれを転回して得られる音高の組み合わ
せである、 ことを特徴とする請求項1記載の自動編曲装置。
2. The combination of pitches assumed by the assumption means is a combination of pitches of a chord represented by the chord progression information and a combination of pitches obtained by turning the combination. The automatic arrangement device according to claim 1, wherein
【請求項3】 前記評価手段は、前記仮定手段が仮定し
た前記音高の組み合わせ毎に、前記選択手段が直前のコ
ード用に選択した前記音高の組み合わせからの距離、或
いは予め定めた音高からの距離に注目して前記所定の評
価を行う、 ことを特徴とする請求項1、または2記載の自動編曲装
置。
3. The evaluation means, for each of the pitch combinations assumed by the hypothesis means, a distance from the pitch combination selected for the immediately preceding chord by the selection means, or a predetermined pitch. The automatic arranging device according to claim 1, wherein the predetermined evaluation is performed while focusing on a distance from the automatic arrangement.
【請求項4】 前記評価手段は、前記仮定手段が仮定し
た前記音高の組み合わせのなかから、その音高間の音程
に予め定めた条件を満たす組み合わせを排除、或いは考
慮させて、前記選択手段に該音高の組み合わせを選択さ
せる、 ことを特徴とする請求項1、2、または3記載の自動編
曲装置。
4. The evaluating means excludes or considers a combination satisfying a predetermined condition for a pitch between the pitches from among the combinations of pitches assumed by the hypothetical means, and selects the selecting means. 4. The automatic arrangement device according to claim 1, wherein the combination of the pitches is selected. 5.
【請求項5】 前記条件は、半音の音程、及び前記選択
手段が直前のコード用に選択した前記音程の組み合わせ
とともに存在する完全5度の音程のうちの少なくとも一
つを含む、 ことを特徴とする請求項4記載の自動編曲装置。
5. The condition includes at least one of a semitone interval and a perfect fifth interval present with the combination of the intervals selected by the selection means for the immediately preceding chord. The automatic arrangement device according to claim 4, wherein
【請求項6】 前記仮定手段は、前記コードを構成する
構成音間の音程の関係を該コードの種類別に示すデータ
を、予め指定された該コードの省略形に応じて参照する
ことにより、該省略形に対応する前記音高の組み合わせ
を仮定する、 ことを特徴とする請求項1〜5の何れか1項に記載の自
動編曲装置。
6. The assuming means refers to data indicating a pitch relationship between constituent sounds constituting the chord for each type of the chord in accordance with an abbreviation of the chord specified in advance. The automatic arrangement device according to any one of claims 1 to 5, wherein a combination of the pitches corresponding to an abbreviation is assumed.
【請求項7】 前記仮定手段が組み合わせる前記音高の
音域をユーザに指定させるための音域指定手段、を更に
具備し、 前記仮定手段は、前記音域指定手段により音域が指定さ
れた場合に、該指定された音域内で前記音高の組み合わ
せを仮定する、 ことを特徴とする請求項1〜6の何れか1項に記載の自
動編曲装置。
7. A sound range designating means for allowing a user to designate a sound range of the pitch to be combined by the assumption means, wherein the assumption means is configured to: The automatic arrangement device according to any one of claims 1 to 6, wherein a combination of the pitches is assumed within a designated sound range.
【請求項8】 コード進行の内容を表すコード進行情報
を対象に、該コード進行の内容を変更する編曲を自動的
に行う装置に実行させるプログラムであって、 前記コード進行情報を取得する機能と、 前記取得する機能により取得した前記コード進行情報で
表されるコード毎に、該コードを構成する構成音の音高
の組み合わせを複数、仮定する機能と、 前記仮定する機能により仮定した前記音高の組み合わせ
毎に、所定の評価を行う機能と、 前記評価する機能による評価結果に従って、前記仮定す
る機能により仮定した前記音高の組み合わせのなかから
一つを選択する機能と、 を実現させるためのプログラム。
8. A program to be executed by a device for automatically arranging chord progression information to be changed for chord progression information representing chord progression contents, the program comprising: a function for acquiring the chord progression information. A function for assuming, for each chord represented by the chord progression information acquired by the acquiring function, a plurality of combinations of pitches of constituent sounds constituting the chord; and a pitch assumed by the assuming function. A function of performing a predetermined evaluation for each combination of: and a function of selecting one of the pitch combinations assumed by the assumed function according to the evaluation result of the evaluated function. program.
JP2001057267A 2001-03-01 2001-03-01 Automatic arrangement device and program Expired - Fee Related JP4385532B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001057267A JP4385532B2 (en) 2001-03-01 2001-03-01 Automatic arrangement device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001057267A JP4385532B2 (en) 2001-03-01 2001-03-01 Automatic arrangement device and program

Publications (2)

Publication Number Publication Date
JP2002258846A true JP2002258846A (en) 2002-09-11
JP4385532B2 JP4385532B2 (en) 2009-12-16

Family

ID=18917170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001057267A Expired - Fee Related JP4385532B2 (en) 2001-03-01 2001-03-01 Automatic arrangement device and program

Country Status (1)

Country Link
JP (1) JP4385532B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008233493A (en) * 2007-03-20 2008-10-02 Yamaha Corp Music editing device and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008233493A (en) * 2007-03-20 2008-10-02 Yamaha Corp Music editing device and program
JP4623028B2 (en) * 2007-03-20 2011-02-02 ヤマハ株式会社 Song editing apparatus and program

Also Published As

Publication number Publication date
JP4385532B2 (en) 2009-12-16

Similar Documents

Publication Publication Date Title
JP3309687B2 (en) Electronic musical instrument
US7342166B2 (en) Method and apparatus for randomized variation of musical data
US6576828B2 (en) Automatic composition apparatus and method using rhythm pattern characteristics database and setting composition conditions section by section
JPH1074087A (en) Automatic accompaniment pattern generator and method therefor
JP6617783B2 (en) Information processing method, electronic device, and program
JPH11327427A (en) Music allocating device and medium recording music allocation program
US20110185882A1 (en) Electronic musical instrument and recording medium
CN1770258A (en) Rendition style determination apparatus and method
US7504573B2 (en) Musical tone signal generating apparatus for generating musical tone signals
JP5696435B2 (en) Code detection apparatus and program
Unemi SBEAT3: A tool for multi-part music composition by simulated breeding
JP2002258846A (en) Device and program for automatic music arrangement
JP4373625B2 (en) Electronic musical instruments
JP2513003B2 (en) Electronic musical instrument
JP2002182647A (en) Electronic musical instrument
JPH0778675B2 (en) Electronic musical instrument
JP5825449B2 (en) Code detection device
JP2904022B2 (en) Automatic accompaniment device
JP3738634B2 (en) Automatic accompaniment device and recording medium
JP3099388B2 (en) Automatic accompaniment device
JP5703693B2 (en) Code detection apparatus and program
JP4186797B2 (en) Computer program for bass tone string generation and bass tone string generator
JP2626142B2 (en) Electronic musical instrument
JP2001282245A (en) Musical tone information converter, musical tone information conversion method and recording medium medium recording musical tone information conversion program
JP5565733B2 (en) Performance system and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080722

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

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: 20090908

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090921

R150 Certificate of patent or registration of utility model

Ref document number: 4385532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees