JP3548871B2 - 楽音音高解読機能付音楽装置 - Google Patents
楽音音高解読機能付音楽装置 Download PDFInfo
- Publication number
- JP3548871B2 JP3548871B2 JP32166394A JP32166394A JP3548871B2 JP 3548871 B2 JP3548871 B2 JP 3548871B2 JP 32166394 A JP32166394 A JP 32166394A JP 32166394 A JP32166394 A JP 32166394A JP 3548871 B2 JP3548871 B2 JP 3548871B2
- Authority
- JP
- Japan
- Prior art keywords
- pitch
- sound
- chord
- accompaniment
- function
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【産業上の利用分野】
この発明はコード機能に合わせて楽音音高を決定可能な楽音音高解読機能付き音楽装置に関し、例えば自動伴奏機能をもつ電子楽器に応用できる。
【0002】
【従来の技術】
従来の代表的な自動伴奏装置は、伴奏パターンメモリに伴奏の各音をコード根音からの音程(相対音高)で表現した伴奏原データを用意し、鍵盤操作からコードの根音とタイプを検出し、検出したコードのタイプによって音程データを変更し、それに検出根音データを加算することによって実際の伴奏音高を求めていた。
この種の従来装置はコードの根音とタイプとによって伴奏音高を決定する方式であり、調性和声機能を定めなければ使用できる伴奏音高を決定できないという音楽的事実に反している。この結果、この種の装置は音楽的に不自然な音が出る問題があった。
この問題を解消するため、本件出願人に係る特開平3−068922号は各コードを根音とタイプとで表現したコードの列(コード進行)を調性分析して各コードの機能(調性和声機能)を抽出する調判定技術を提案している。また、自動伴奏のための伴奏原データとしてコード機能ごとに伴奏の各音の音高データを用意している。
この技術によれば音楽的に不自然な音が出ることは少なくなる。
しかしながら、いずれの従来技術も、音高を確立的に決定しており、いったん決定した音高を音楽的状況に合わせて修正するような能力はもちあわせていない。
【0003】
【発明が解決しようとする課題】
この発明では、新しいアプローチとして音楽原データには音高情報をもたせず、楽音列を各音の音楽的意味を表わす識別子で表現し、各識別子をコード機能に従って解読して音高に変換するような楽音音高解読機能付音楽装置を用いる。
そしてこの発明の目的はこの種の音楽装置にいったん解読した音高を自動的に修正する能力を与えることである。
【0004】
【手段、作用】
この発明によれば、楽音の列を各音の識別子の列によって表現した音楽データを記憶する音楽データ記憶手段と、コード機能を指定するコード機能指定手段と、前記音楽データにおける各音の識別子を、前記指定されたコード機能に従って音高に変換する音高解読手段と、前記コード機能指定手段で指定されたコード機能が所定の構成音数をもつコードを示しており、かつ前記音楽データにおいて予め設定されている区間であった場合には、前記音高解読手段によって音高に変換された音高列が形成する形状を異ならせるように変形する形状変更手段と、を有することを特徴とする楽音音高解読機能付音楽装置が提供される。
【0005】
この構成によれば、形状変更手段が音高解読手段の解読結果を適宜修正するので、音高解読手段が実行する音高解読アルゴリズム特有のくせを除去でき、音楽的に自然な楽音列を得ることができ、さらに楽音列の形状にバリエーションを付けることができる。また、音楽データ記憶手段は楽音列を各音の識別子の列のデータ形式で記憶するので少ない記憶容量で実現できる。
【0007】
【実施例】
以下、図面を参照してこの発明の実施例を説明する。
図1はこの発明を自動伴奏機能をもつ電子楽器(自動伴奏装置)に適用した場合のハードウェア構成を示すブロック図である。
図1においてCPU102はプログラムメモリ104に置かれるプログラムを実行して装置各部を制御する。
この実施例に従い、SDBメモリ106は種々の伴奏スタイルのために複数の音階音データベースを記憶する。各音階音データベースはコード機能別に音階音の音高セットに関する情報を含んでいる。
【0008】
KMAPメモリ108は種々の伴奏スタイルのために複数のコード構成音テーブルを記憶する。各コード構成音テーブルはコード機能別に和声音(コード構成音)の音高セットに関する情報を含んでいる。
【0009】
伴奏ヘッダメモリ110は伴奏スタイル別に各パートの伴奏パターンのためのヘッダ情報を記憶する。後述するように、ヘッダ情報のなかには、SDBメモリ106上のどの音階音データベースを使用するかを示す情報、KMAPメモリ108上のどのコード構成音テーブルを使用するかを示す情報、伴奏原データメモリ112上の使用する伴奏原データを指示する情報等が含まれている。
伴奏原データメモリ112は種々の伴奏スタイルの伴奏のための伴奏原データを記憶する。伴奏原データは和声音と非和声音とを含む伴奏音の列を各音の識別子の列によって表現する。
【0010】
調・機能評価知識メモリ114は各コードを根音とタイプで表現したコードの列(コード進行)における各コードの機能、調の主音(キーノート)を評価するための音楽知識データを記憶する。
RAM116はCPU102のワークメモリとして使用される。
【0011】
鍵盤118は演奏データの入力装置である。自動伴奏モード下では、鍵盤118の左手領域で順次押鍵パターンによって指定されるコードに対し、CPU102は指定コードの根音とタイプを検知する。このようにして各コードを根音とタイプで表現したコードの列(コード進行)が得られる。このコード進行に対し、CPU102は調・機能評価知識メモリ114に置かれる音楽知識データを参照して調・機能判定処理を実行し、各コードのキーノートとコード機能を判定する。この調・機能判定処理としては本件出願人に係る特願平3−68922号に開示するものが使用できる。
【0012】
伴奏スタイルセレクタ120は伴奏スタイルを選択するための入力装置である。
音源122はCPU102の制御の下にメロディと伴奏のための楽音信号を電子的に発生する装置である。
サウンドシステム124は音源122からの楽音信号を音として再生する。
【0013】
本自動伴奏装置は伴奏原データメモリ112にある伴奏音の各識別子を与えられた伴奏スタイルとコード機能に基づき音楽的に解読して音高データ(キーノートに対する音程を表わす)に変換する音高解読機能を有している。
セレクタ120から入力される伴奏スタイルは伴奏ヘッダ情報を介して使用する伴奏原データと音階音データベース(SDB)とコード構成音テーブルを特定するのに用いられる。
【0014】
コード機能が指定されると音高解読機能はまず伴奏原データにおける各和声音の識別子をコード構成音テーブルに書かれた、指定コード機能に対する和声音の音高セットを用いて音高データに変換する。その後、音高解読機能は伴奏原データにおける各非和声音識別子を和声音の音高解読結果と、音階音データベースに書かれた、指定コード機能に対する音階音の音高セットとに基づき音高データに変換する。
【0015】
更に本自動伴奏装置は上記の音高解読機能のみならず、音高解読結果を音楽的にテストして、適時修正を行う修正機能を備えている。
第1の修正機能は音高列が形成する形状を音楽的状況に合わせて修正する。このために形状調整区間が用意され、所定のコード機能の場合には伴奏原データ中に含ませた変更データに従って形状調整区間内の音高列を修正する。第2の修正機能は非和声音の音高解読結果が音楽的に好ましくないアボイド音かどうかを調べ、該当する場合にはその伴奏音をアボイド音以外の音高に修正する。
【0016】
図2と図3に音階音データベースの例を参照符号106Eで示す。これらの図において、左端の列はコード機能(例えばI)を示している。図示のように音階音データベース106Eはコード機能別に音階音の音高セットに関する情報をもっている。例えば第1行のコード機能Iのとき、音階音はC、D、E、F、G、A、Bで構成される。図ではCに対しては第1音階音を示す記号ST1、Dに対しては第2音階音を示す記号ST2、以下同様にして、EにはST3、FにはST4、GにはST5、AにはST6、BにはST7の記号がつけられている。更に、これらの音階音のうちC、E、Gはコード構成音(和声音)でもあるため、それぞれ、K1、K2、K3の記号をつけてある。また、Fはアボイド音であるため、記号AVをつけている。いいかえると実施例の音階音データベースはアボイド音のテーブルを兼ねている。更に、音階音データベース106Eには矢印
【外1】
、→、←の記号が記入されている。このうち
【外1】
は、その音階音が上(右)と下(左)の隣接音階音と結合する強さが同じであることを示す。→は上の音階音と結合しやすいことを、←は下の音階音と結合しやすいことを表わしている。
【0017】
なお、図2、図3に示す音名C〜Bは実際にはキーノートがCのときの音名、いいかえるとキーノートからの音程(キーノートに対する相対音高)を表わし、Cがキーノートから1度(数値表現で0)、C#(Db)がキーノートから短2度(1)、以下同様である。
また、STとKにつけた番号は便宜上であり、必ずしも必要ではない。例えば、コード機能IのときC(キーノートと同じ音名)は音階音かつ和声音であることを示せば足りる。
したがって1音名に付き5ビット、即ち、音階音かどうかを示す1ビット、和声音かどうかを示す1ビット、アボイド音かどうかを示す1ビット、結合を表わす2ビットのデータフォーマットで音階音データベースを構成できる。
【0018】
図4にコード構成音テーブルの例を参照符号108Eで示す。コード構成音テーブルはコード機能別に和声音(コード構成音)の音高セットに関する情報をもっている。図示のコード構成音テーブル108Eは3ポリ用(K1〜K3)と4ポリ用(K1〜K4)のテーブルをまとめて示したものである。例えばコード機能Iのとき、3ポリではK1がC4(第4オクターブのC)、K2がE4、K3がG4であり、4ポリではK4としてC5が加わる。なお、コード構成音テーブル108EにおけるC4等の音高データはキーノートがCのときの和声音の音高、いいかえるとキーノートからの音程を表わしている。
【0019】
また、図示のコード構成音テーブル108Eはコード機能によらず、できるだけ伴奏音域を維持する“隣接”モード用のテーブルである。そのためにいくつかのコード機能に対する和声音の配置は最低音K1が根音ではない転回形をとっている。例えばコード機能IVに対する3ポリの和声音としてK1に本来第3構成音であるC4を割り当て、その上にK2としてF4(コード根音)、K3としてA4(本来、第2構成音)がくるようにしている。
“隣接”モード用のコード構成音テーブルとは対照的に、伴奏音域をコードの根音に従って平行シフトさせる“平行”モード用のコード構成音テーブルも用意される。
【0020】
図5に伴奏パートに対するヘッダの例を参照符号110Eで示す。ヘッダメモリ110Eは記号アドレス“SDB”に使用する音階音データベースのアドレスポインタを記憶する。また記号アドレス“KMAP”には使用するコード構成音テーブルのアドレスポインタを記憶する。これらにより、伴奏原データの各音識別子を音高解読するために使用する音階音データベースとコード構成音テーブルが特定される。
また、“スタイル”、“拍子”、“パターン長”の各記号アドレスには伴奏のスタイル、拍子、パターン長さの情報がそれぞれ記憶される。
【0021】
記号アドレス“ライン数”には伴奏パートを構成する伴奏のライン数が記憶され、後続するライン数分のアドレスには伴奏原データメモリ112における、各ラインデータのアドレスポインタが記憶される。
記号アドレス“AVT”にはアボイド音の許容長(例えば16分音符の長さ)が記憶される。後述するように、許容長を超えるアボイド音が発生した場合、そのアボイド音は除去される。
記号アドレス“形状調整区間”には伴奏の音高列の形状を調整する区間情報が記憶される(なおそのような区間をもたない伴奏に対してはNULL値が設定される)。
【0022】
図6に伴奏パートを構成する伴奏原データメモリの例を参照番号112Eで示す。図示の例では伴奏パートは3つのラインから成る。各ラインデータはそれぞれ記号アドレス“ライン1”、“ライン2”、“ライン3”から始まる。
ライン1の最初のアドレスには和声音の識別子として第3コードトーンを示す符号K3が記憶される。次のアドレスにはそのリズムのアドレスポインタが記憶される。リズムアドレスポインタが指すリズムメモリには212に示すようにその伴奏音の発音タイミングパターンと消音タイミングパターンが書かれている。その次のアドレスはラインの終了符号ENDが記憶されている。
したがってライン1はK3の伴奏音のみから成る。
同様にしてライン2はK2(第2和声音)の伴奏音のみから成る。
【0023】
これに対し、ライン3は倚音(A)とK1(第1和声音)の伴奏音から成る。このため、ライン3の最初のアドレスには第1の伴奏音である非和声音の識別子として倚音を意味する符号Aが記憶される。次のアドレスには基本の調性和声モード、即ちキーノートが“C”でコード機能が“I”のときの倚音Aの音高データが記憶される。なお、本実施例では伴奏原データメモリ上の非和声音についてはその識別子とともに基本の調性和声モードにおける音高データを記憶するようにしている。その次のアドレスに倚音Aのリズム情報としてそのリズムデータの格納アドレスポインタが記憶される。更に次アドレスに和声音の識別子として第1和声音を示す符号K1が記憶され、その次のアドレスに和声音K1のリズム情報のアドレスポインタが記憶される。
【0024】
なお、図6の伴奏原データが示す伴奏パートはパターン長が1小節であり、図7に示す形式で各ラインが構成される。
このように伴奏原データは和声音と非和声音を含む伴奏音列の各音を識別子の列で表現するものである。
したがって、自動伴奏のために、与えられたコード機能に対して各識別子をヘッダが指定する音階音データベースとコード構成音テーブルを用いて音高データに変換する必要がある。
【0025】
図8において、(A)は図6の伴奏原データに対し、キーが“C”でコード機能がI(コード名がCMajor)のときの音高解読結果をそのリズムとともに楽譜で示したものである。コード機能Iの場合、ライン1のK3=G4、ライン2のK2=E4、ライン3のA=D4、K1=C4に音高変換されている。図8(B)は同じ伴奏原データに対し、キーが“C”でコード機能がIV(コード名がFMajor)のときの音高解読結果を示したものである。コード機能IVの場合、ライン1のK3=A4、ライン2のK2=F4、ライン3のA=D4、K1=C4に音高変換されている。
【0026】
図9は本自動伴奏装置により実行されるコード機能別伴奏パターン作成処理9−Gのフローチャートである。
この処理9−Gの目的は伴奏原データにおける各音識別子をコード機能別に解読してその音高を決定することである。本実施例ではこのコード機能別伴奏パターン作成処理9−Gはステップ9−0に示すように、伴奏スタイルセレクタ120による伴奏スタイルの選択操作に応答して実行される。
コード機能別伴奏パターン作成処理の最初のステップ9−1でCPU102は選択伴奏スタイルに対応づけられたヘッダを読み込む。そしてヘッダに書かれている音階音データベースアドレスポインタを用いて、選択伴奏スタイルに合う音階音データベースSDBをアクセスし、そのSDBの最初のコード機能を選択する(9−2)。
【0027】
以下、9−3〜9−12で選択コード機能に対する伴奏の音高解読処理を実行する。
まずステップ9−3でCPU102は伴奏原データを走査するポインタをヘッダに書かれている最初のラインアドレスポインタの値にセットすることにより、最初の伴奏ラインを選択する。そして9−4〜9−10で選択伴奏ラインに対する音高解読処理を実行する。
まず和声音高解読ステップ9−4でCPU102は選択伴奏ラインに含まれる各和声音の識別子をコード構成音テーブルを用いて音高に変換する。次に選択伴奏ラインに形状調整区間が含まれ、かつ選択コード機能が4和音、即ち4つの構成音をもつ和音かどうかチェックし(9−5)該当する場合には形状修正ステップ9−6で伴奏ラインの形状を修正する。
【0028】
次にステップ9−7で選択伴奏ラインに非和声音が含まれるかどうかをチェックし、該当すれば非和声音解読処理9−8を実行してライン中の各非和声音の識別子を音高に変換する。
次にアボイドチェック・修正ステップ9−9で非和声音解読処理の結果をテストし、好ましくないアボイド音、即ち許容長AVTを超えるアボイド音が発生している場合にはその音をアボイド音でない音高に変更する。
ステップ9−10ですべてのラインについて音高解読処理が完了したかどうかをチェックし、未完了なら次の伴奏ラインを選択して(9−11)、9−4に戻る。
【0029】
ステップ9−12ではすべてのコード機能について音高解読処理が完了したかどうかをチェックし、未完了なら、SDBから次のコード機能を選択して(9−13)、9−3へ戻る。
このように、コード機能別伴奏パターン処理9−Gではコード機能別に伴奏パートの各ラインの伴奏音高列を決定し、結果をRAM116の所定エリアに格納する。
【0030】
その後、鍵盤118で演奏が始まると、CPU102はコード判定処理で左手鍵域の押鍵パターンからコードのタイプと根音を検出し、調性分析処理でコードの機能とキーノートを判別する。そして伴奏処理を実行し、判別されたコード機能に対する伴奏パートの各ラインの伴奏音高をRAM116から読み出し、発音の各タイミングでRAM116からの該当する伴奏音高データにキーノートデータを加算して実音高データを生成し、それによって音源122を制御する。これにより、伴奏スタイルとコード機能に合った自動伴奏が実現される。
【0031】
図10に和声音解読処理9−4のフローチャートを示す。まず10−1でCPU102は伴奏原データの走査ポインタをライン開始アドレスから進めていって伴奏ラインの最初の和声音識別子をロケートする。次に10−2でCPU102はヘッダが指すコード構成音テーブルKMAPをルックアップして、選択コード機能における該当和声音識別子に対する音高データを取り出す。例えば伴奏原データの和声音識別子がK3でコード機能がIIm、使用するKMAPが図4に示す4ポリの隣接型コード構成音テーブル108Eであれば、このテーブルの4ポリK3の列とIImの行との交点に示す音高データA4がK3の音高解読結果として取り出される。
【0032】
1つの和声音識別子について音高を解読したら、伴奏原データ走査ポインタを進めていって次の和声音識別子をロケートし(10−4)、その音高解読10−2を実行する。伴奏原データ走査ポインタがライン終了符号ENDに達したら
(10−3)、処理終了である。
形状修正処理9−6は伴奏原データの音高列の形状を調整する機能を実現するものである。この形状修正処理9−6は伴奏パターンに形状調整区間があり、コード機能が4和音の場合に、その形状調整区間に対して実行される。
このためにヘッダは形状調整区間の有無や領域に関する情報をもっており、伴奏原データメモリにも必要に応じ形状調整のための情報をもたせている。
【0033】
図11に形状調整が行われる伴奏原データの例を参照符号112Gで部分的に示してある。図示のように和声音識別子の隣りに変更データが置かれる。変更データ“0”は和声音高解読処理9−4で解読した和声音高データを変更しないことを表わし、変更データ“+1”は解読した和声音高データを1つ上の和声音に変更することを意味し、変更データ“−1”は解読和声音高データを1つ下の和声音に変更することを意味している。
【0034】
図12は形状修正処理9−6のフローチャートである。
まず12−1でCPU102は伴奏ラインの原データメモリから最初の和声音識別子をロケートする。12−2でロケートした和声音識別子が形状調整区間内の音かどうかをチェックする。これは、ヘッダに置かれた形状調整区間情報と和声音識別子のリズム情報とを比較することで行われる。
【0035】
形状調整区間内の音ならば12−3へ進み、ロケートした和声音識別子に対する音高解読結果である音高データをRAM116から読み出す。次に12−4で伴奏原データメモリ112からロケートした和声音識別子に対する変更データを読み取る。この変更データが“0”以外の値をもつときは(12−5)、12−6へ進み、変更データを音程の値に換算する。これはコード構成音テーブルから選択コード機能に対する和声音間の音高差(音程)を計算することで得られる。例えばコード構成音テーブルKMAPとして図4に示す4ポリの隣接型テーブル108Eを用いたとし、コード機能がV7、和声音識別子がK4、変更データが“+1”だとすると、K4に対する解読結果はB4(数値表現で4×12+11=59)である。コード機能V7について、K4とそれより1つ上の和声音との間の音程はK4の音名BとK1の音名Dとの差(12mod(2−11+12))、即ち短3度(数値表現で3)である。したがってB4に短3度を加えるとD5(62=59+3)となり、これが変更後の和声音高を定める(12−7)。
【0036】
以下、伴奏ラインの終了(12−8)に至るまで原データから和声音の識別子を見つける(12−9)ごとに12−2〜12−7に示す処理を実行することにより、形状調整区間内の和声音高列の形状を修正する。
例えば、形状調整区間の和声音の識別子がK3−K4−K4−K3、その変更データ列が0−0−1−1、使用コード構成音テーブルKMAPが図4の4ポリ・隣接型だとすると、コード機能がIのときは音高列G4−C5−C5−G4が得られる。コード機能がIM7のときは和声音解読処理9−4の結果、音高列G4−B4−B4−G4が形成される。更に形状修正処理9−6により、この音高列はG4−B4−C5−B4に変更される。
【0037】
図13は非和声音高解読処理9−8のフローチャートである。
まず、原データ走査ポインタをライン開始位置から進めていって最初の非和声音識別子をロケートする(13−1)。13−2でロケートした非和声音識別子の種類を判別する。本実施例では非和声音識別子として倚音Aと経過音Pと逸音Eを使用している。そこで判別した非和声音の種類に対応して倚音解読処理13−3、経過音解読処理13−4、逸音解読処理13−5をそれぞれ実行して非和声音の音高を決定する。
【0038】
1つの非和声音識別子について音高解読処理を行ったら、原データ走査ポインタを進めていって次の非和声音識別子をサーチし、見つかれば(13−7)、同様の音高解読処理13−2〜13−5を繰り返す。原データ走査ポインタがライン終了符号ENDに達したら処理完了である。
【0039】
図14に倚音解読処理13−3のフローチャートを示す。
まず14−1でCPU102はコード機能が基準のコード機能Iかどうかをチェックし、該当すれば14−2に進み、原データの倚音音高データを読む(14−3)。次に倚音に後続する和声音の音高データ(和声音解読処理9−4、形状修正処理9−6によって既に得られている)を読み(14−4)、倚音から後続和声音への音程の方向DIRを求める(14−4)。この倚音の方向情報DIRは他のコード機能に対する倚音の音高解読に利用される。
【0040】
以上述べるように実施例では倚音から後続和声音への音の進行方向がすべてのコード機能で同じになるようにしている。
即ち、基準コード機能以外のコード機能に対しては(14−1)、後続する和声音の音高データを読み出し(14−5)、音階音データベースSDBから後続和声音の音高に隣接し、DIRの方向をもつ音階音(同時に和声音であるケースもある得る)の音高を倚音として読む(14−6)。
【0041】
例えばコード機能=IV、後続和声音の音高=C4=12×4、SDB=図2の音階音データベース106E、DIR=“−”(下向)、だとすると、CPU102は音階音データベース106Eのコード機能IVの行を和声音の音高クラスCの列から右方に向って見ていく。すると、音高クラスDが音階音であることが見つけ出される。したがって倚音の音高は後続和声音より長2度以上(Cから右方に動かした値2で示される)であり、倚音音高=D4(=12×4+2)が求められる。
【0042】
図15に経過音解読処理13−4のフローチャートを示す。
コード機能が基準機能Iのときは(15−1)原データメモリに書かれている経過音高データを写しとる(15−2)。ほかのコード機能のときは15−3へ進み、経過音の前後の和声音高データを読み(15−3)、高さを比較する(15−4)。
前後の和声音の音高が異なるときは15−5に進み、経過音の音高データを前の和声音の音高に初期化する。次に(15−6)、前の和声音の音高から後の音高に向けて音階音データベースSDBをサーチし、音階音を見つける都度、その音高に経過音音高データを更新する。
【0043】
解読例を表1と表2に示す。
【表1】
【表2】
【0044】
一方、前後の和声音が同じ高さの場合には15−7へ進み、音階音データベースSBDから、和声音の音高に隣接する上と下の音階音の結合度データをとり出す。そして強い方の結合度をもつ音階音があればそれを経過音の音高とする。また両結合度データが同じか結合度データが書かれていないときは下側の音階音を経過音の音高とする。
【0045】
解読例を表3に示す
【表3】
【0046】
図16に逸音解読処理13−5のフローチャートを示す。
コード機能が基準機能Iのときは(16−1)、原データメモリから逸音音高データを写しとる(16−2)。更に後続する和声音の音高データを読み(16−3)、後続和声音に対する逸音の音程INTを求める(16−4)。この音程情報INTはすべてのコード機能について逸音から後続和声音への跳躍進行を同様なものにするのに利用される。
即ち、基準機能以外のコード機能に対しては後続する和声音の音高データを読み(16−4)、音階音データベースから(INT+和声音の音高)に最も近い音階音を見つけ出し、それを逸音の音高とする(16−5)。
【0047】
以上述べたように、非和声音解読処理では和声音の音高解読結果と音階音データベースとに基づいて各非和声音の識別子を音高に変換する。
なお、上記の例では伴奏原データメモリ上に基準コード機能に対する非和声音の音高データをもたせているがもたせない方法も考えられる。これは非和声音の意味づけ(非和声音識別子の種類)を細かく分け、各意味づけに沿う解読処理を行うことで実現できる。
【0048】
例えば倚音Aを後続和声音に対して下向する倚音“+A”と上行する倚音“−A”とに分け、+A(−A)の解読においてSDBを後続和声音より高い方向(低い方向)にサーチする。
また、経過音については前後の和声音の音高が異なるものをPグループ、前後の和声音の音高が同じになるものをNグループとする。更にPグループの経過音について、SDB上で前後の和声音間に2の音階音が含まれる場合に前の和声音に近い音階音で定義される音をP1、後の和声音に近い音階音で定義される音をP2で区別化する。またNグループを前後和声音の上側の音階音としての意味を持つ+Nと前後和声音の下側の音階音としての意味を持つ−Nとに分ける。
【0049】
また逸音については後続する和声音に対する音程情報を含む識別子で表現する。例えばE(+5)は後続する和声音より5半音高いかそれに最も近い音階音としての意味を持つ逸音識別子である。
このように非和声音識別子を豊富化し、それぞれの意味づけに合った処理を行うことで一層きめの細かい音高解読が可能となるとともに伴奏原データから基準コード機能に対する非和声音音高データを除去することができる。
【0050】
図17にアボイドチェック修正処理9−9のフローチャートを示す。
まず17−1で原データ操作ポインタを伴長ライン開始位置から進めていって最初の非和声音識別子をロケートする。17−2ではロケートした非和声音識別子に対する非和声音解読処理結果、即ち音高データを読む。そしてその音高クラスとコード機能を用いて音階音データベースSDBをルックアップし、解読した音高がアボイド音かどうかをテストする(17−3)。アボイド音ならばその音長がヘッダ(図5)にかかれた許容長AVTを越えるかどうかを調べる。該当すれば音楽的に好ましくないアボイド音なのでアボイド除去処理17−4を実行して、その音をアボイド音でない音に変更する。
【0051】
以降、伴奏ラインの原データから非和声音識別子を見つける都度(17−7)、以上の処理を繰り返し原データポインタがライン終了符号ENDに達したら(17−6)処理を抜ける。
【0052】
図18はアボイド除去処理17−5のフローチャートである。
まず18−1でアボイド音の前後の和声音の音高を取り出す。次に(18−2)、アボイド音として解読された非和声音の種類を識別する。
非和声音が倚音Aの場合には音階音データベースSDBを参照して、後の和声音の音高に隣接し、かつアボイド音とは反対側にある音階音を見つけ出し、それを修正音高とする(18−3)。
逸音Eの場合は、音階音データベースSDBを参照し、アボイド音に隣接する音階音を見つけ出し、それを修正音高とする(18−4)。
経過音Pの場合は前後の和声音高を比較し、同じなら(18−5)、その音を倚音Aとみなして18−3の倚音修正処理を実行する。異なるなら音階音データベースSDBを参照し、前後の和声音間にあるアボイド音以外の音階音をサーチする。そのような音階音が見つかればそれを経過音の修正音高とする。見つからなければ(18−7)、倚音とみなして倚音修正処理18−3を実行する。
【0053】
このようにアボイドチェック・修正処理を行うことで音楽的に好ましくないアボイド音を発生しない伴奏を実現できる。
なお、アボイドチェック・修正処理は非和声音解読処理で1つの非和声音を解読する都度行った方が処理速度上好ましい。
なお、この発明は伴奏に限らずメロディ生成の音楽装置にも適用できる。その場合、音楽原データメモリとして伴奏原データメモリの代りにメロディ原データメモリを用いる。ここにメロディ原データメモリは楽音列であるメロディ音列の各音の識別子を記憶する。
以上で実施例の説明を終えるがこの発明の範囲内で種々の変形が可能である。
【0054】
【発明の効果】
以上詳細に説明したように、この発明によれば音楽データ(実施例では伴奏原データ)に楽音列の各音の音楽的意味を表わす識別子をもたせ、指定されたコード機能に従って各音の音高を解読するとともに、解読結果を所定の音楽条件にしたがって検査して適宜修正するようにしているので音楽的に自然な音高列を生成でき、かつ記憶容量を節約できる。
【図面の簡単な説明】
【図1】この発明の実施例に係る音楽装置のハードウェア構成を示すブロック図。
【図2】音階音データベースの一部を示す図。
【図3】音階音データベースの一部を示す図。
【図4】コード構成音テーブルの一例を示す図。
【図5】伴奏ヘッダーメモリの例を示す図。
【図6】伴奏原データメモリの例を示す図。
【図7】3つの伴奏ラインの音識別子の列を示す図。
【図8】伴奏例を楽譜で示す図。
【図9】コード機能別に音高解読を行う伴長パターン作成処理のフローチャート。
【図10】和声音高解読処理のフローチャート。
【図11】音高例の形状修正が行われる伴奏原データを示す図。
【図12】形状修正処理のフローチャート。
【図13】非和声音高解読処理のフローチャート。
【図14】倚音解読処理のフローチャート。
【図15】経過音解読処理のフローチャート。
【図16】倚音解読処理のフローチャート。
【図17】アボイドチェック・修正処理のフローチャート。
【図18】アボイド除去処理のフローチャート。
【符号の説明】
102 CPU
104 プログラムメモリ
106 SDB(音階音データベース)メモリ
108 KMAP(コード構成音テーブル)メモリ
110 伴奏ヘッダメモリ
112 伴奏原データメモリ
120 伴奏スタイルセレクタ
Claims (1)
- 楽音の列を各音の識別子の列によって表現した音楽データを記憶する音楽データ記憶手段と、
コード機能を指定するコード機能指定手段と、
前記音楽データにおける各音の識別子を、前記指定されたコード機能に従って音高に変換する音高解読手段と、
前記コード機能指定手段で指定されたコード機能が所定の構成音数をもつコードを示しており、かつ前記音楽データにおいて予め設定されている区間であった場合には、前記音高解読手段によって音高に変換された音高列が形成する形状を異ならせるように変形する形状変更手段と、
を有することを特徴とする楽音音高解読機能付音楽装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32166394A JP3548871B2 (ja) | 1994-11-30 | 1994-11-30 | 楽音音高解読機能付音楽装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32166394A JP3548871B2 (ja) | 1994-11-30 | 1994-11-30 | 楽音音高解読機能付音楽装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08160955A JPH08160955A (ja) | 1996-06-21 |
| JP3548871B2 true JP3548871B2 (ja) | 2004-07-28 |
Family
ID=18135025
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32166394A Expired - Fee Related JP3548871B2 (ja) | 1994-11-30 | 1994-11-30 | 楽音音高解読機能付音楽装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3548871B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5163100B2 (ja) * | 2007-12-25 | 2013-03-13 | ヤマハ株式会社 | 自動伴奏装置及びプログラム |
| JP5560695B2 (ja) * | 2009-12-21 | 2014-07-30 | ヤマハ株式会社 | 演奏補助装置および演奏補助方法を実現するためのプログラム |
-
1994
- 1994-11-30 JP JP32166394A patent/JP3548871B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08160955A (ja) | 1996-06-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3666577B2 (ja) | コード進行修正装置、コード進行修正方法及び同装置に適用されるプログラムを記録したコンピュータ読取り可能な記録媒体 | |
| JP3704980B2 (ja) | 自動作曲装置と記録媒体 | |
| US6576828B2 (en) | Automatic composition apparatus and method using rhythm pattern characteristics database and setting composition conditions section by section | |
| AU731747B2 (en) | Automatic improvisation system and method | |
| WO2000034936A9 (en) | Method and system for improved tablature notation in digital music scores | |
| JPH07219536A (ja) | 自動編曲装置 | |
| JP3548871B2 (ja) | 楽音音高解読機能付音楽装置 | |
| CN1750116A (zh) | 自动表演风格确定设备和方法 | |
| JPH09244648A (ja) | 自動作曲機 | |
| JP3271331B2 (ja) | メロディ分析装置 | |
| CN113140202B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
| US20060150804A1 (en) | Electronic musical apparatus for displaying score or fingering | |
| JP3163654B2 (ja) | 自動伴奏装置 | |
| JPH0876759A (ja) | 伴奏音高解読機能付き音楽装置 | |
| JPH08160949A (ja) | 楽音音高解読機能付音楽装置 | |
| JP3216529B2 (ja) | 演奏データ分析装置および演奏データ分析方法 | |
| JP2638817B2 (ja) | 伴奏ライン基音決定装置 | |
| JP3271332B2 (ja) | 和音付装置 | |
| JP3163653B2 (ja) | 調性判定装置 | |
| JP4385532B2 (ja) | 自動編曲装置、及びプログラム | |
| JPH0511763A (ja) | 調性判定装置及び自動伴奏装置 | |
| JP3413842B2 (ja) | 自動伴奏装置 | |
| CN1283814A (zh) | 音乐码-曲谱输入法 | |
| JP4186797B2 (ja) | ベース音列生成用コンピュータプログラムおよびベース音列生成装置 | |
| CN115457924A (zh) | 串烧音乐的生成方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040202 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040225 |
|
| 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: 20040323 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040405 |
|
| R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100430 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110430 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120430 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120430 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |