JPH06348261A - 電子楽器 - Google Patents
電子楽器Info
- Publication number
- JPH06348261A JPH06348261A JP5166288A JP16628893A JPH06348261A JP H06348261 A JPH06348261 A JP H06348261A JP 5166288 A JP5166288 A JP 5166288A JP 16628893 A JP16628893 A JP 16628893A JP H06348261 A JPH06348261 A JP H06348261A
- Authority
- JP
- Japan
- Prior art keywords
- note
- durac
- musical performance
- durid
- equation
- 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.)
- Withdrawn
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【目的】 4ビートジャズ風の演奏を行う。
【構成】 ベロシティとノートナンバーとの対応をつけ
て、音高の高低に応じて各音符の音高を変化させる(ス
テップS2)。特定区間について演奏パターンを分析
し、アクセントをつけたり、発音タイミングをずらした
りして、演奏をスイングさせる(ステップS4)。さら
にピッチベンドをかけ(ステップS6)、モジュレーシ
ョンもかける(ステップS8)。
て、音高の高低に応じて各音符の音高を変化させる(ス
テップS2)。特定区間について演奏パターンを分析
し、アクセントをつけたり、発音タイミングをずらした
りして、演奏をスイングさせる(ステップS4)。さら
にピッチベンドをかけ(ステップS6)、モジュレーシ
ョンもかける(ステップS8)。
Description
【0001】
【産業上の利用分野】本発明は、電子楽器に関し、特に
自動演奏することができるものに関する。
自動演奏することができるものに関する。
【0002】
【従来の技術】従来、自動演奏装置としては、例えば特
開昭61−140994号公報に開示されているものが
ある。この自動演奏装置は、音高、音長等の複数の情報
からなる楽譜情報を第1のメモリに記憶させ、例えば
(1)強拍は音量を増す、(2)付点8分音符と16分
音符とを続ける場合のリズムは付点8分音符を長めに、
16分音符を短めに演奏して、リズムを強調する等の変
換規則群を演奏ジャンル別、楽器別、演奏家別等に対応
して複数個、第2のメモリに記憶させ、楽譜情報処理部
によって、これら変換規則群のうち任意の1つを選択
し、この選択した変換規則群を楽譜情報に適用して、音
源情報に変換するものである。
開昭61−140994号公報に開示されているものが
ある。この自動演奏装置は、音高、音長等の複数の情報
からなる楽譜情報を第1のメモリに記憶させ、例えば
(1)強拍は音量を増す、(2)付点8分音符と16分
音符とを続ける場合のリズムは付点8分音符を長めに、
16分音符を短めに演奏して、リズムを強調する等の変
換規則群を演奏ジャンル別、楽器別、演奏家別等に対応
して複数個、第2のメモリに記憶させ、楽譜情報処理部
によって、これら変換規則群のうち任意の1つを選択
し、この選択した変換規則群を楽譜情報に適用して、音
源情報に変換するものである。
【0003】
【発明が解決しようとする課題】しかし、この自動演奏
装置に具体的に例示されている変換規則群は、上記
(1)、(2)に示すようなものであり、かなり大まか
な変更で、変更後の演奏には不自然さが生じるという問
題点があった。
装置に具体的に例示されている変換規則群は、上記
(1)、(2)に示すようなものであり、かなり大まか
な変更で、変更後の演奏には不自然さが生じるという問
題点があった。
【0004】
【課題を解決するための手段】上記の問題点を解決する
ために、本発明は、複数の音符に対応する演奏情報を記
憶する記憶手段と、この記憶手段に記憶された上記演奏
情報を所定の区間単位について分析し、予め定められた
複数の分類に分類する演奏情報分析手段と、該分析手段
の分析結果に基づいて、分類に対応した変更方法に従っ
て演奏情報を変更する演奏情報変更手段とを、具備する
ものである。
ために、本発明は、複数の音符に対応する演奏情報を記
憶する記憶手段と、この記憶手段に記憶された上記演奏
情報を所定の区間単位について分析し、予め定められた
複数の分類に分類する演奏情報分析手段と、該分析手段
の分析結果に基づいて、分類に対応した変更方法に従っ
て演奏情報を変更する演奏情報変更手段とを、具備する
ものである。
【0005】
【作用】本発明によれば、記憶手段に記憶されている演
奏情報から、変更手段が特定の区間のリズムパターンを
検出し、この検出したリズムパターンに応じて演奏情報
を変更する。
奏情報から、変更手段が特定の区間のリズムパターンを
検出し、この検出したリズムパターンに応じて演奏情報
を変更する。
【0006】
【実施例】この電子楽器は、図2に示すように、MID
I音源10を有し、この音源10からの楽音信号は、増
幅器12によって増幅された後、スピーカ14から拡声
される。
I音源10を有し、この音源10からの楽音信号は、増
幅器12によって増幅された後、スピーカ14から拡声
される。
【0007】MIDI音源10は、MIDIインターフ
ェース16を介してパーソナルコンピュータ18から供
給されるMIDI制御信号に基づいて制御される。この
パーソナルコンピュータ18は、CRT20、キーボー
ド22及びマウス24を備える通常のもので、キーボー
ド22やマウス24の操作によって、内蔵メモリに記憶
された各データレコードを処理して、MIDI制御信号
を出力し、上記MIDI音源10を制御して、各データ
レコードに対応した演奏を行うものである。そして、本
発明は更に、内蔵メモリに記憶された各データレコード
に変更処理を施して、4ビートジャズ風に演奏するため
のMIDI制御信号を生成するものである。
ェース16を介してパーソナルコンピュータ18から供
給されるMIDI制御信号に基づいて制御される。この
パーソナルコンピュータ18は、CRT20、キーボー
ド22及びマウス24を備える通常のもので、キーボー
ド22やマウス24の操作によって、内蔵メモリに記憶
された各データレコードを処理して、MIDI制御信号
を出力し、上記MIDI音源10を制御して、各データ
レコードに対応した演奏を行うものである。そして、本
発明は更に、内蔵メモリに記憶された各データレコード
に変更処理を施して、4ビートジャズ風に演奏するため
のMIDI制御信号を生成するものである。
【0008】4ビートジャズ風に演奏するため、具体的
には、音符の音高の高低に合わせて、音量を変化させた
り、データレコードである演奏情報を所定の区間単位に
ついて分析し、その分析結果に基づき、アクセントを付
与したり、発音タイミングをずらす変更処理をデータレ
コードに施して、演奏がスイングするようにしている。
には、音符の音高の高低に合わせて、音量を変化させた
り、データレコードである演奏情報を所定の区間単位に
ついて分析し、その分析結果に基づき、アクセントを付
与したり、発音タイミングをずらす変更処理をデータレ
コードに施して、演奏がスイングするようにしている。
【0009】上記データレコードは、例えば図3(a)
に示すような譜例に基づいて演奏される場合、各音符2
6乃至48ごとに図4に示すように、内蔵メモリに記憶
されている。これらデータレコードにおいて、Clock は
第1小節の先頭から何クロック目にその音符が該当する
かを表しており、Lineは、その音符がMIDI音源10
に設けられている複数の音源のいずれによって発音され
るかを表している。
に示すような譜例に基づいて演奏される場合、各音符2
6乃至48ごとに図4に示すように、内蔵メモリに記憶
されている。これらデータレコードにおいて、Clock は
第1小節の先頭から何クロック目にその音符が該当する
かを表しており、Lineは、その音符がMIDI音源10
に設けられている複数の音源のいずれによって発音され
るかを表している。
【0010】また、Noteは、その音符の音高(ノートナ
ンバー)を表し、OnVel は、その音符のベロシティ(音
量)を表している。DurID は、その音符の長さを表し、
DurAC は、その音符のゲートタイム(音の鳴り始めから
鳴り終わりまでの時間)を表し、DurPH は、その音符と
次の音符との間隔を表している。
ンバー)を表し、OnVel は、その音符のベロシティ(音
量)を表している。DurID は、その音符の長さを表し、
DurAC は、その音符のゲートタイム(音の鳴り始めから
鳴り終わりまでの時間)を表し、DurPH は、その音符と
次の音符との間隔を表している。
【0011】また、Dev は、発音タイミング(正規の発
音位置からのずれ)を表している。なお、Clock 、DurI
D 、DurAC 、DurPH 、Dev は、それぞれ基準クロックの
数によって表されており、この基準クロックの数、例え
ば120が4分音符に相当している。
音位置からのずれ)を表している。なお、Clock 、DurI
D 、DurAC 、DurPH 、Dev は、それぞれ基準クロックの
数によって表されており、この基準クロックの数、例え
ば120が4分音符に相当している。
【0012】例えば、音符26は、第1小節にあるが、
その前に8分休符(60クロック相当)があるので、第
1小節の先頭から60Clock に該当し、その音高Noteは
76(E4)で、音量OnVel は標準値90、音符の長さ
DurID とゲートタイムDurACは共に30Clock であり、
次の音符28までの間隔DurPH は30Clock である。
その前に8分休符(60クロック相当)があるので、第
1小節の先頭から60Clock に該当し、その音高Noteは
76(E4)で、音量OnVel は標準値90、音符の長さ
DurID とゲートタイムDurACは共に30Clock であり、
次の音符28までの間隔DurPH は30Clock である。
【0013】またデータレコードには、後述するように
アクセントを付けるか否かの判断や、ピッチベンドをか
けるか否かの判断に利用するために、1つ前の音符との
音高差を記憶するレジスタDRegA が含まれている。ま
た、分析の基準となる所定の区間を判断するため等に利
用する、各音符のClock を120(4分音符相当のクロ
ック数)で除算した剰余値が記憶されるDRegB も設けら
れている。
アクセントを付けるか否かの判断や、ピッチベンドをか
けるか否かの判断に利用するために、1つ前の音符との
音高差を記憶するレジスタDRegA が含まれている。ま
た、分析の基準となる所定の区間を判断するため等に利
用する、各音符のClock を120(4分音符相当のクロ
ック数)で除算した剰余値が記憶されるDRegB も設けら
れている。
【0014】さらに、各データレコードには、フラグ0
乃至9も設けられており、フラグ0は、データレコード
が音符に関するものであるとき1にセットされ、フラグ
1〜8は分析結果が後述のそれぞれの条件を満たす場合
に1にセットされ、フラグ9は、音譜にピッチベンドを
かけるときに1にセットされる。
乃至9も設けられており、フラグ0は、データレコード
が音符に関するものであるとき1にセットされ、フラグ
1〜8は分析結果が後述のそれぞれの条件を満たす場合
に1にセットされ、フラグ9は、音譜にピッチベンドを
かけるときに1にセットされる。
【0015】なお、これ以外にも、パーソナルコンピュ
ータ18の内蔵メモリには、後述するように図8に示す
ピッチベンドデータと、図10に示すモジュレーション
データも記憶されている。
ータ18の内蔵メモリには、後述するように図8に示す
ピッチベンドデータと、図10に示すモジュレーション
データも記憶されている。
【0016】この電子楽器において、自動演奏させる場
合、キーボード22またはマウス24の操作によって、
演奏パラメータとして、例えばテンポTempo (M.M) 、ベ
ロシティ最小値VelMin、ベロシティ最大値VelMax、ダウ
ンビートアクセントAcntDwn、アップビートアクセントA
cntUp、スタッカート率Rstc(%) 、バウンス1Cbnc1(Clo
ck)、バウンス2Cbnc2(Clock)、タンギング時間Ttan(mS
ec)、ピッチベンド時間率Rbnd(%) 、ビブラート深さRvi
b(%) を設定する。
合、キーボード22またはマウス24の操作によって、
演奏パラメータとして、例えばテンポTempo (M.M) 、ベ
ロシティ最小値VelMin、ベロシティ最大値VelMax、ダウ
ンビートアクセントAcntDwn、アップビートアクセントA
cntUp、スタッカート率Rstc(%) 、バウンス1Cbnc1(Clo
ck)、バウンス2Cbnc2(Clock)、タンギング時間Ttan(mS
ec)、ピッチベンド時間率Rbnd(%) 、ビブラート深さRvi
b(%) を設定する。
【0017】これら演奏パラメータとして、例えばTemp
o =150、VelMin=80、VelMax=100、AcntDwn
=10、AcntUp=20、Rstc=50、Cbnc1 =15、Cb
nc2=4、Ttan=20、Rbnd=40、Rvib=60が設定
されているとする。
o =150、VelMin=80、VelMax=100、AcntDwn
=10、AcntUp=20、Rstc=50、Cbnc1 =15、Cb
nc2=4、Ttan=20、Rbnd=40、Rvib=60が設定
されているとする。
【0018】4ビートジャズの奏法をシミュレーション
する場合に、パーソナルコンピュータ18が行う処理を
図1、図3乃至図11を参照しながら説明する。まず図
1に示すように、まずベロシティとノートナンバーとの
対応を行う(ステップS2)。即ち、対象となる区間、
図3(a)の譜例では第1小節と第2小節の各データレ
コードのノートナンバーの最小値と最大値とを求め、各
々NoteMin 、NoteMaxとし、数1によって各データレコ
ードのOnVel を制御する。
する場合に、パーソナルコンピュータ18が行う処理を
図1、図3乃至図11を参照しながら説明する。まず図
1に示すように、まずベロシティとノートナンバーとの
対応を行う(ステップS2)。即ち、対象となる区間、
図3(a)の譜例では第1小節と第2小節の各データレ
コードのノートナンバーの最小値と最大値とを求め、各
々NoteMin 、NoteMaxとし、数1によって各データレコ
ードのOnVel を制御する。
【数1】OnVel=(Note-NoteMin)*(VelMax-VelMin)/(Not
eMax-NoteMin)+VelMin
eMax-NoteMin)+VelMin
【0019】図4のデータレコードでは、NoteMin は6
2、NoteMax は76で、VelMinは80、VelMaxは100
と設定されているので、例えば図3(a)の音符28の
OnVel は、(74-62)*(100-80)/(76-62)+80=97.14 ≒97と
される。他の音符のOnVel も同様に処理され、図5に示
すような値となる。
2、NoteMax は76で、VelMinは80、VelMaxは100
と設定されているので、例えば図3(a)の音符28の
OnVel は、(74-62)*(100-80)/(76-62)+80=97.14 ≒97と
される。他の音符のOnVel も同様に処理され、図5に示
すような値となる。
【0020】このように高い音ほど音量を大きくしてい
るのは、次の理由による。ジャズ演奏では、管楽器がメ
ロディを演奏することが多い。管楽器では高い音が出に
くく、強く吹くので、音量が低い音に比較して大きくな
る。他の楽器でジャズのメロディを演奏する場合、これ
を真似て、高い音の音量を大きく演奏している。この状
態をシミュレーションするため、上記のように音量を変
化させている。
るのは、次の理由による。ジャズ演奏では、管楽器がメ
ロディを演奏することが多い。管楽器では高い音が出に
くく、強く吹くので、音量が低い音に比較して大きくな
る。他の楽器でジャズのメロディを演奏する場合、これ
を真似て、高い音の音量を大きく演奏している。この状
態をシミュレーションするため、上記のように音量を変
化させている。
【0021】次に、特定区間毎について演奏情報の分析
と変更処理を行う(ステップS4)。本明細書実施例で
は4分音符1拍を特定区間として処理を行っているが、
その他の長さの区間を特定区間と定めて、処理を行うこ
とも可能である。上記のように、4分音符1拍を特定区
間としているので、各音符のClock を4分音符1つのク
ロック数120で除算したときの剰余値を求め、これら
を図6に示すように各データレコードのDRegB に記憶さ
せている。例えば、音符30のClock は、120であ
り、これを120で除算すると、その剰余値は0である
ので、音符30のDRegB は0となっている。
と変更処理を行う(ステップS4)。本明細書実施例で
は4分音符1拍を特定区間として処理を行っているが、
その他の長さの区間を特定区間と定めて、処理を行うこ
とも可能である。上記のように、4分音符1拍を特定区
間としているので、各音符のClock を4分音符1つのク
ロック数120で除算したときの剰余値を求め、これら
を図6に示すように各データレコードのDRegB に記憶さ
せている。例えば、音符30のClock は、120であ
り、これを120で除算すると、その剰余値は0である
ので、音符30のDRegB は0となっている。
【0022】そして、データレコードの演奏情報からフ
ラグ1〜8の設定を行う。先ず、各フラグの設定条件に
ついて説明する。これらの条件は図7に示される複数の
演奏パターン(基本形とそのバリエーション)のどの音
符に分類されるか分析するための条件である。なお、図
7の()内のパターンは、音符の長さのみが変化したも
のである。
ラグ1〜8の設定を行う。先ず、各フラグの設定条件に
ついて説明する。これらの条件は図7に示される複数の
演奏パターン(基本形とそのバリエーション)のどの音
符に分類されるか分析するための条件である。なお、図
7の()内のパターンは、音符の長さのみが変化したも
のである。
【0023】フラグの設定条件は下記の表1乃至表8の
ようになる。
ようになる。
【表1】 フラグ1 具体例(図7参照) (1) DRegB が 0 (1) パターン(a) の1、(b) の1 DurID が30以上 DurPH が60 または (2) DRegB が 0 (2) パターン(c) の1 DurID が30以上 DurPH が90以上
【表2】 フラグ2 (1) DRegB が60 (1) パターン(a) の2 DurID が30以上 DurPH が60以上 前の音符のDurPH が60以上 または (2) DRegB が90 (1) パターン(c) の2 DurID が30以上 前の音符のDurPH が90以上
【表3】 フラグ3 DRegB が60 パターン(b) の2 DurID が30 DurPH が30 前の音符のDurPH が60以上
【表4】 フラグ4 DRegB が90 パターン(b) の3 DurID が30以上 前の音符のDRegB が60 前の音符のDurPH が30 2つ前の音符のDurPH が60以上
【表5】 フラグ5 DRegB が0 パターン(d) の1、(e) の1、(f) の1、 DurID が30 (g) の1 DurPH が30
【表6】 フラグ6 DRegB が30 パターン(d) の2、(e) の2、(f) の2、 DurID が30以上 (g) の2
【表7】 フラグ7 DRegB が60 パターン(d) の3、(f) の3 DurID が30以上 前の音符のDRegB が30 前の音符のDurID が30 前の音符のDurPH が30
【表8】 フラグ8 (1) DRegB が90 (1) パターン(d) の4 DurID が30以上 前の音符のDRegB が60 前の音符のDurID が30 前の音符のDurPH が30 2つ前の音符のDRegB が30 2つ前の音符のDurPH が30 (2) DRegB が90 (2) パターン(e) の3 DurID が30以上 前の音符のDRegB が30 前の音符のDurID が30以上 前の音符のDurPH が60
【0024】以上の条件において、図3(a)の各音符
について具体的に分析すると、フラグ1の条件は音符3
0、34、38、42が満足する。フラグ2の条件は音
符32、36、40、44が満足する。フラグ3の条件
は音符26が満足する。フラグ4の条件は音符28が満
足することになり、図6のようにそれぞれのフラグを1
にセットする。なお、図3(a)の譜例ではフラグ5〜
8の条件を満足するものがないため、これらのフラグは
セットされていない。
について具体的に分析すると、フラグ1の条件は音符3
0、34、38、42が満足する。フラグ2の条件は音
符32、36、40、44が満足する。フラグ3の条件
は音符26が満足する。フラグ4の条件は音符28が満
足することになり、図6のようにそれぞれのフラグを1
にセットする。なお、図3(a)の譜例ではフラグ5〜
8の条件を満足するものがないため、これらのフラグは
セットされていない。
【0025】フラグのセットが終わると、次にアクセン
ト付加の処理を行う。アクセント付加の処理を行う音符
の条件は、以下のようなものである。
ト付加の処理を行う。アクセント付加の処理を行う音符
の条件は、以下のようなものである。
【0026】アクセント付加条件1 フラグ2が1で、前の音符よりも音高が高いか等しい場
合(判断にはDRegAを使用)に、フラグ2が1の音符に
対応して下記の数2でアクセントを付加する。
合(判断にはDRegAを使用)に、フラグ2が1の音符に
対応して下記の数2でアクセントを付加する。
【数2】OnVel=OnVel+AcntUp
【0027】アクセント付加条件2 フラグ1が1で、後の音符のフラグ2が1で、かつ、そ
のフラグ2が1の音符よりも音高が高い場合(判断には
DRegA を使用)に、フラグ1が1の音符に対して下記の
数3でアクセントを付加する。
のフラグ2が1の音符よりも音高が高い場合(判断には
DRegA を使用)に、フラグ1が1の音符に対して下記の
数3でアクセントを付加する。
【数3】OnVel=OnVel+AcntDwn
【0028】そして、具体的には図3(a)に譜例につ
いてアクセント付加の処理を行う場合を示す。アクセン
ト付加条件1を満足する音符は音符36である。図6に
示すようにフラグ2がセットされ、その前の音符34よ
りもNoteが高く、DRegA が3となっている。従って、On
Vel の値を数2に従って以下のように変更する。
いてアクセント付加の処理を行う場合を示す。アクセン
ト付加条件1を満足する音符は音符36である。図6に
示すようにフラグ2がセットされ、その前の音符34よ
りもNoteが高く、DRegA が3となっている。従って、On
Vel の値を数2に従って以下のように変更する。
【0029】音符36のOnVel は図5から91、AcntUp
は前述から20であるため、 OnVel=91+20=111 となって、音符36のOnVel の値は111に変更される
(図6参照)。
は前述から20であるため、 OnVel=91+20=111 となって、音符36のOnVel の値は111に変更される
(図6参照)。
【0030】次に、アクセント付加条件2を満足する音
符は30、38、42である。例えば音符30は、図6
に示すようにフラグ1がセットされ、その後の音符32
よりもNoteが高く、音符32のDRegA が−9となってい
る。
符は30、38、42である。例えば音符30は、図6
に示すようにフラグ1がセットされ、その後の音符32
よりもNoteが高く、音符32のDRegA が−9となってい
る。
【0031】従って、OnVel の値を数3に従って以下の
ように変更する。音符30のOnVelは図5から95、Acn
tDwn は前述から10であるため、 OnVel=95+10=105 となって、音符30のOnVel の値は105に変更される
(図6参照)。
ように変更する。音符30のOnVelは図5から95、Acn
tDwn は前述から10であるため、 OnVel=95+10=105 となって、音符30のOnVel の値は105に変更される
(図6参照)。
【0032】同様に、音符38と42にもAcntDwn=10が
加算されて、OnVel が100、94と変更されている。
加算されて、OnVel が100、94と変更されている。
【0033】なお、このようにアクセントを付けたOnVe
l の値がMIDIの範囲(1乃至127)を越える場合
には、この範囲内に収めるように、127を越えたもの
については127に、1より小さくなったものについて
は1に修正する。
l の値がMIDIの範囲(1乃至127)を越える場合
には、この範囲内に収めるように、127を越えたもの
については127に、1より小さくなったものについて
は1に修正する。
【0034】アクセントの付加の処理に続いて、次に、
発音タイミングの変更について処理を行う。タイミング
変更の処理を行う音符の条件は、以下のようなものであ
る。
発音タイミングの変更について処理を行う。タイミング
変更の処理を行う音符の条件は、以下のようなものであ
る。
【0035】タイミング変更条件1 フラグ2が1の音符の発音タイミングとゲートタイムを
下記の数4及び数5によって変更する。
下記の数4及び数5によって変更する。
【数4】Dev=(60-Clock%120+Cbnc1)
【数5】DurAC=DurID-Dev
【0036】タイミング変更条件2 フラグ3が1の音符の発音タイミングとゲートタイムを
数6及び数7によって変更する。
数6及び数7によって変更する。
【数6】Dev=(60-Clock%120+Cbnc1)
【数7】DurAC=DurID-Dev+直ぐ後の音符のDev
【0037】タイミング変更条件3 フラグ4が1の音符の発音タイミングとゲートタイムを
下記の数8及び数9によって変更する。
下記の数8及び数9によって変更する。
【数8】Dev=(90-Clock%120+Cbnc1/2)
【数9】DurAC=DurID-Dev
【0038】タイミング変更条件4 フラグ6が1の音符の発音タイミングを下記の数10、
11によって変更する。
11によって変更する。
【数10】Dev=(30-Clock%120+Cbnc2)
【数11】DurAC=DurID-Dev
【0039】タイミング変更条件5 フラグ8が1の音符の発音タイミングを下記の数12、
13によって変更する。
13によって変更する。
【数12】Dev=(90-Clock%120+Cbnc2)
【数13】DurAC=DurID-Dev
【0040】タイミング変更条件6 フラグ1、または5、または7が1の音符のゲートタイ
ムを下記の数14によって変更する。
ムを下記の数14によって変更する。
【数14】DurAC=DurID+直ぐ後の音符のDev
【0041】なお、上記の式の(Clock%120) は、Clock/
120 の余りを演算することである。以上の処理では3連
符のパターンに応じて適宜、上記分類に含ませたり、新
しく分類を設けたりして、処理することが可能である。
120 の余りを演算することである。以上の処理では3連
符のパターンに応じて適宜、上記分類に含ませたり、新
しく分類を設けたりして、処理することが可能である。
【0042】そして、具体的にタイミング変更処理を行
う場合を示す。先ず、タイミング変更条件1のフラグ2
が1の音符に相当するものは、音符32、36、40、
44である。そして、これらのDev とDurAC の値を数4
と数5に従って以下のように変更する。
う場合を示す。先ず、タイミング変更条件1のフラグ2
が1の音符に相当するものは、音符32、36、40、
44である。そして、これらのDev とDurAC の値を数4
と数5に従って以下のように変更する。
【0043】音符32において、図5からClock=180 、
前述からCbnc1=15、DurID=60であるため、数4は、 Dev=(60-180%120+15)=15 となり、数5は、 DurAC=60-15=45 となる(図6参照)。
前述からCbnc1=15、DurID=60であるため、数4は、 Dev=(60-180%120+15)=15 となり、数5は、 DurAC=60-15=45 となる(図6参照)。
【0044】同様に、音符36、40、44についても
以上のような処理を行う。音符36においては、Clock=
360、Cbnc1=15、DurID=60であるため、数4は Dev=(60-300%120+15)=15 となり、数5は、 DurAC=60-15=45 となる(図6参照)。
以上のような処理を行う。音符36においては、Clock=
360、Cbnc1=15、DurID=60であるため、数4は Dev=(60-300%120+15)=15 となり、数5は、 DurAC=60-15=45 となる(図6参照)。
【0045】音符40においては、Clock=420、Cbnc
1=15、DurID=60であるため、数4は Dev=(60-420%120+15)=15 となり、数5は DurAC=60-15=45 となる(図6参照)。
1=15、DurID=60であるため、数4は Dev=(60-420%120+15)=15 となり、数5は DurAC=60-15=45 となる(図6参照)。
【0046】音符44においては、Clock=540、Cbnc
1=15、DurID=60であるため、数4は、 Dev=(60-540%120+15)=15 となり、数5は DurAC=60-15=45 となる(図6参照)。
1=15、DurID=60であるため、数4は、 Dev=(60-540%120+15)=15 となり、数5は DurAC=60-15=45 となる(図6参照)。
【0047】但し、演算結果から、本来は音符44のDu
rAC は45になるはずであるが、図6の音符44のDurA
C は39になっているが、このことについては後述す
る。
rAC は45になるはずであるが、図6の音符44のDurA
C は39になっているが、このことについては後述す
る。
【0048】タイミング変更条件3のフラグ4が1の音
符に相当するものは、音符28である。以上の説明と同
様に、この音符のDev とDurAC の値を数8と数9に従っ
て以下のように変更する。
符に相当するものは、音符28である。以上の説明と同
様に、この音符のDev とDurAC の値を数8と数9に従っ
て以下のように変更する。
【0049】音符28において、図5からClock=90、
前述からCbnc1=15、DurID=30であるため、数8は Dev=(90-90%120+15/2)=8 (小数第1位を四捨五入)となり、数9は、 DurAC=30-8=22 となる(図6参照)。
前述からCbnc1=15、DurID=30であるため、数8は Dev=(90-90%120+15/2)=8 (小数第1位を四捨五入)となり、数9は、 DurAC=30-8=22 となる(図6参照)。
【0050】次に、タイミング変更条件2のフラグ3が
1の音符に相当するものは音符26である。そして、こ
のDev とDurAC の値を数6と数7に従って以下のように
変更する。
1の音符に相当するものは音符26である。そして、こ
のDev とDurAC の値を数6と数7に従って以下のように
変更する。
【0051】音符26において、図5からClock=60、
前述からCbnc1=15、DurID=30であるため、数6は Dev=(60-60%120+15)=15 となり、数7は、直ぐ後の音符28についてDev が8で
あるので、 DurAC=30-15+8=23 となる(図6参照)。
前述からCbnc1=15、DurID=30であるため、数6は Dev=(60-60%120+15)=15 となり、数7は、直ぐ後の音符28についてDev が8で
あるので、 DurAC=30-15+8=23 となる(図6参照)。
【0052】タイミング変更条件4、5については相当
する音符がないので、次はタイミング変更条件6につい
て変更処理を行う。タイミング変更条件6のフラグ1、
または5、または7が1の音符に相当するものは、音符
30、34、38、42である。ただし、いずれもフラ
グ1が1のものである。そして、これらのDurAC の値を
数14に従って以下のように変更する。
する音符がないので、次はタイミング変更条件6につい
て変更処理を行う。タイミング変更条件6のフラグ1、
または5、または7が1の音符に相当するものは、音符
30、34、38、42である。ただし、いずれもフラ
グ1が1のものである。そして、これらのDurAC の値を
数14に従って以下のように変更する。
【0053】音符30において、DurID=60、直ぐ後の
音符32についてDev=15であるため、数14は、 DurAC=60+15=75 となる(図6参照)。
音符32についてDev=15であるため、数14は、 DurAC=60+15=75 となる(図6参照)。
【0054】音符34において、DurID=60、直ぐ後の
音符36についてDev=15であるため、数14は、 DurAC=60+15=75 となる(図6参照)。音符38、42についても同様に
タイミングの変更処理を行い、それぞれのDurAC も75
になる(図6参照)。
音符36についてDev=15であるため、数14は、 DurAC=60+15=75 となる(図6参照)。音符38、42についても同様に
タイミングの変更処理を行い、それぞれのDurAC も75
になる(図6参照)。
【0055】さらに、図3(a)の譜例に含まれていな
いが、後に休符のある音符(DurPH>DurID の音符) の場
合、数15の演算を行ってDurAC を短くする。
いが、後に休符のある音符(DurPH>DurID の音符) の場
合、数15の演算を行ってDurAC を短くする。
【数15】DurAC=DurAC*Rstc/100
【0056】同じ高さの音が続く(DurPH=DurIDかつ、No
te= 直ぐ後の音符のNote)場合、一定時間間隔をあけて
演奏する、タンギングをシミュレートするため、数16
及び数17の演算を行ってDurAC を短くする。
te= 直ぐ後の音符のNote)場合、一定時間間隔をあけて
演奏する、タンギングをシミュレートするため、数16
及び数17の演算を行ってDurAC を短くする。
【数16】CutClk=Ttan/1000*Tempo/60*120
【数17】DurAC=DurAC-CutClk
【0057】例えば、図3(a)に示す音符44、4
6、48は同じ音高であるので、数16、数17によっ
て、音符44、46のタイミングを変更処理する。
6、48は同じ音高であるので、数16、数17によっ
て、音符44、46のタイミングを変更処理する。
【0058】音符44において、Ttan= 20、Tempo=1
50と前記されているため、数16は CutClk=20/1000*150/60*120=6 となる。DurAC は前述で45となっているため、数17
は DurAC=45-6=39 となる。この結果、前述では音符44のDurAC が45で
あったのが、図6では39に変更されている。
50と前記されているため、数16は CutClk=20/1000*150/60*120=6 となる。DurAC は前述で45となっているため、数17
は DurAC=45-6=39 となる。この結果、前述では音符44のDurAC が45で
あったのが、図6では39に変更されている。
【0059】音符46において、数16は音符44と同
様に6となる。図5からDurAC は120となっているた
め、数17は DurAC=120-6=114 となる(図6参照)。
様に6となる。図5からDurAC は120となっているた
め、数17は DurAC=120-6=114 となる(図6参照)。
【0060】次にピッチベンドの処理を行う(図1のス
テップS6)。即ち、以下のような条件でピッチベンド
の処理を行う。 (1)4分音符よりも長い長さの音符で、かつ前の音か
ら4度以上の上行をしているものに全音のベンドアップ
をかける。 (2)4分音符より長い長さの音符で、かつ、前の音か
ら短2度以上長3度以下の上行をしているものに半音の
ベンドアップをかける。 (3)上記(1)、(2)以外で、4分音符より長い長
さの音符で、かつ、前の音との間隔が4分音符以上のも
のに半音のベンドアップをかける。
テップS6)。即ち、以下のような条件でピッチベンド
の処理を行う。 (1)4分音符よりも長い長さの音符で、かつ前の音か
ら4度以上の上行をしているものに全音のベンドアップ
をかける。 (2)4分音符より長い長さの音符で、かつ、前の音か
ら短2度以上長3度以下の上行をしているものに半音の
ベンドアップをかける。 (3)上記(1)、(2)以外で、4分音符より長い長
さの音符で、かつ、前の音との間隔が4分音符以上のも
のに半音のベンドアップをかける。
【0061】この判定は、各音符のDRegA の値、DurPH
の値を利用して行う。図3(a)の譜例では、音符48
が4分音符以上の音符であって、前の音から上行してな
く、前の音符46との間隔が4分音符であるので、上記
(3)の条件に該当する。従って、半音のベンドアップ
をかけるため、図9に示すように音符48のフラグ9を
セットする。
の値を利用して行う。図3(a)の譜例では、音符48
が4分音符以上の音符であって、前の音から上行してな
く、前の音符46との間隔が4分音符であるので、上記
(3)の条件に該当する。従って、半音のベンドアップ
をかけるため、図9に示すように音符48のフラグ9を
セットする。
【0062】ピッチベンドをかけるために、図8に示す
ような半音のベンドアップデータ50を図9に示すよう
に、音符48のデータの後ろに挿入する。ベンドアップ
データ50は、図8に示すように同じデータフォーマッ
トで、Clock が0とされ、発音タイミングDev が0、
8、16、24、32、40と記述された複数のレコー
ドの集合である。ベンドアップデータ50において、No
te=240は音符以外のMIDI情報であることを表し
ており、OnVel =224はMIDI情報のピッチベンド
データであることを表している。
ような半音のベンドアップデータ50を図9に示すよう
に、音符48のデータの後ろに挿入する。ベンドアップ
データ50は、図8に示すように同じデータフォーマッ
トで、Clock が0とされ、発音タイミングDev が0、
8、16、24、32、40と記述された複数のレコー
ドの集合である。ベンドアップデータ50において、No
te=240は音符以外のMIDI情報であることを表し
ており、OnVel =224はMIDI情報のピッチベンド
データであることを表している。
【0063】ベンド量はDur ICとDurAC とによって表さ
れ、Dur ICとDurAC の各7ビットを用いて、DurID がM
IDIのピッチベンドチェンジのデータのLSB、DurA
C がMSBにそれぞれ対応し、合計14ビットを使用し
て、−8192から+8191までの数値を表すことが
でき、その中点はDurID が00、DurAC が64(10進
数)である。
れ、Dur ICとDurAC の各7ビットを用いて、DurID がM
IDIのピッチベンドチェンジのデータのLSB、DurA
C がMSBにそれぞれ対応し、合計14ビットを使用し
て、−8192から+8191までの数値を表すことが
でき、その中点はDurID が00、DurAC が64(10進
数)である。
【0064】このピッチベンドデータによってどの程度
のピッチの変化が生じるかは、MIDI音源10のベン
ド量の最大値(ベンドレンジ)の設定で決まる。この実
施例ではベンドレンジを12(最大±1オクターブベン
ドさせることができる。)として、計算した値が各ベン
ド量として各DurID とDurAC に設定してある。
のピッチの変化が生じるかは、MIDI音源10のベン
ド量の最大値(ベンドレンジ)の設定で決まる。この実
施例ではベンドレンジを12(最大±1オクターブベン
ドさせることができる。)として、計算した値が各ベン
ド量として各DurID とDurAC に設定してある。
【0065】ここで、ピッチベンドの時間BendClk は、
ピッチベンドをかける音符が8分音符以下の場合には、 DurID*Rbnd/100 で演算され、8分音符よりも長い場合には、 (DurID+120)*Rbnd/300 で演算される。但し、BendClk が、120*Rbnd/100よりも
大きい場合には、 120*Rbnd/100 に修正する。
ピッチベンドをかける音符が8分音符以下の場合には、 DurID*Rbnd/100 で演算され、8分音符よりも長い場合には、 (DurID+120)*Rbnd/300 で演算される。但し、BendClk が、120*Rbnd/100よりも
大きい場合には、 120*Rbnd/100 に修正する。
【0066】図3(a)の譜例の場合、ピッチベンドを
かける音符48は8分音符よりも長く、DurID は240
であり、さらにRbndは40と設定されているので、Bend
Clkは (240+120)*40/300=48 とされる。
かける音符48は8分音符よりも長く、DurID は240
であり、さらにRbndは40と設定されているので、Bend
Clkは (240+120)*40/300=48 とされる。
【0067】このBendClk の値とピッチベンドデータ5
0の各Dev とを用いて、各ピッチベンドデータのClock
を、 Clock=Clock+Dev*BendClk/40 で算出する。図3(a)の場合、上記の式によって、各
ベンドデータのClock は、図9に示すように720、7
29、739、748、757、768となる。
0の各Dev とを用いて、各ピッチベンドデータのClock
を、 Clock=Clock+Dev*BendClk/40 で算出する。図3(a)の場合、上記の式によって、各
ベンドデータのClock は、図9に示すように720、7
29、739、748、757、768となる。
【0068】次にビブラートの付加を行う(ステップS
8)。即ち4分音符よりも長い音符にモジュレーション
を使用して、ビブラートをかける。これは長く伸ばす音
にビブラートをかけることによって、表情を豊かにする
ためである。ビブラートをかけるには、図10に示すよ
うなモジュレーションデータ52を使用する。このモジ
ュレーションデータ52において、Note=240は音符
以外のMIDI情報を表しており、OnVel =176はM
IDI情報のコントロールチェンジを表し、DurID =1
はコントロールチェンジのコントロール番号を表してお
り、これが1、即ちモジュレーションによってビブラー
トをかけることを表している。DurAC =127はコント
ロールチェンジのデータを表している。
8)。即ち4分音符よりも長い音符にモジュレーション
を使用して、ビブラートをかける。これは長く伸ばす音
にビブラートをかけることによって、表情を豊かにする
ためである。ビブラートをかけるには、図10に示すよ
うなモジュレーションデータ52を使用する。このモジ
ュレーションデータ52において、Note=240は音符
以外のMIDI情報を表しており、OnVel =176はM
IDI情報のコントロールチェンジを表し、DurID =1
はコントロールチェンジのコントロール番号を表してお
り、これが1、即ちモジュレーションによってビブラー
トをかけることを表している。DurAC =127はコント
ロールチェンジのデータを表している。
【0069】ビブラートを開始する位置は、音符の長さ
の50%、終了する位置は音符の長さの95%のClock
の位置にする。これらの位置に各モジュレーションデー
タ52を挿入する。その後、パラメータとして設定して
あるビブラート深さRvibを使用して、ビブラートの深さ
Depth を、 Depth=DurAC*Rvib/100 によって計算し、音符の長さの50%の位置に挿入した
モジュレーションデータ52のDurAC に設定する。
の50%、終了する位置は音符の長さの95%のClock
の位置にする。これらの位置に各モジュレーションデー
タ52を挿入する。その後、パラメータとして設定して
あるビブラート深さRvibを使用して、ビブラートの深さ
Depth を、 Depth=DurAC*Rvib/100 によって計算し、音符の長さの50%の位置に挿入した
モジュレーションデータ52のDurAC に設定する。
【0070】図3(a)の譜例の場合、4分音符より長
い音符は、音符48である。従って、この音符48の長
さは240であるので、その50%である120だけ、
音符48のClock=720に加算したClock の位置840
と、95%である228だけ音符48のClock=720に
加算したClock の位置948に、図11に示すように、
モジュレーションデータ52を挿入する。そして、DurA
C が127で、Rvibが60であるので、上記の式によっ
てDepth を 127*60/100=76.2 ≒76 と計算し、Clock=840のモジュレーションデータ52
のDurAC に設定する。また、ビブラートの終了を表すた
め、Clock=948の位置のモジュレーションデータ52
のDurAC を0とする。
い音符は、音符48である。従って、この音符48の長
さは240であるので、その50%である120だけ、
音符48のClock=720に加算したClock の位置840
と、95%である228だけ音符48のClock=720に
加算したClock の位置948に、図11に示すように、
モジュレーションデータ52を挿入する。そして、DurA
C が127で、Rvibが60であるので、上記の式によっ
てDepth を 127*60/100=76.2 ≒76 と計算し、Clock=840のモジュレーションデータ52
のDurAC に設定する。また、ビブラートの終了を表すた
め、Clock=948の位置のモジュレーションデータ52
のDurAC を0とする。
【0071】このようにデータレコードが処理された
後、これがMIDIインターフェース16を介してMI
DI音源10に供給され、図3(b)に示すような形態
で演奏が行われ、4ビートジャズの奏法のシミュレーシ
ョンが行われる。
後、これがMIDIインターフェース16を介してMI
DI音源10に供給され、図3(b)に示すような形態
で演奏が行われ、4ビートジャズの奏法のシミュレーシ
ョンが行われる。
【0072】
【発明の効果】以上のように、本発明によれば、特定の
区間のリズムパターンを分析し、このリズムパターンに
応じて演奏情報を変更しているので、例えば従来のもの
に比べ、自然なアクセントや、スイング感が得られる4
ビートジャズ風の演奏を行うことができる。
区間のリズムパターンを分析し、このリズムパターンに
応じて演奏情報を変更しているので、例えば従来のもの
に比べ、自然なアクセントや、スイング感が得られる4
ビートジャズ風の演奏を行うことができる。
【図1】本発明による電子楽器の1実施例のフローチャ
ートである。
ートである。
【図2】同実施例のブロック図である。
【図3】同実施例において演奏される譜例と実際に演奏
された状態を示す譜例を示す図である。
された状態を示す譜例を示す図である。
【図4】同実施例において処理されるデータレコードを
示す図である。
示す図である。
【図5】ベロシティとノートナンバーの処理が行われた
データレコードを示す図である。
データレコードを示す図である。
【図6】演奏情報の分析と変更処理の行われたデータレ
コードを示す図である。
コードを示す図である。
【図7】特定区間(4分音符1拍分)の分析パターンの
譜例を示す図である。
譜例を示す図である。
【図8】ベンドアップデータを示す図である。
【図9】ベンドアップ処理が行われたデータレコードを
示す図である。
示す図である。
【図10】モジュレーションデータを示す図である。
【図11】モジュレーション処理の行われたデータレコ
ードを示す図である。
ードを示す図である。
10 MIDI音源 18 パーソナルコンピュータ 20 CRT 22 キーボード 24 マウス
Claims (1)
- 【請求項1】 複数の音符に対応する演奏情報を記憶す
る記憶手段と、 この記憶手段に記憶された上記演奏情報を所定の区間単
位について分析し、予め定められた複数の分類に分類す
る演奏情報分析手段と、 該分析手段の分析結果に基づいて、分類に対応した変更
方法に従って演奏情報を変更する演奏情報変更手段と
を、具備する電子楽器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5166288A JPH06348261A (ja) | 1993-06-10 | 1993-06-10 | 電子楽器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5166288A JPH06348261A (ja) | 1993-06-10 | 1993-06-10 | 電子楽器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06348261A true JPH06348261A (ja) | 1994-12-22 |
Family
ID=15828579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5166288A Withdrawn JPH06348261A (ja) | 1993-06-10 | 1993-06-10 | 電子楽器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06348261A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334157A (ja) * | 1994-06-14 | 1995-12-22 | Roland Corp | 電子楽器 |
-
1993
- 1993-06-10 JP JP5166288A patent/JPH06348261A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334157A (ja) * | 1994-06-14 | 1995-12-22 | Roland Corp | 電子楽器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01173099A (ja) | 自動伴奏装置 | |
JP3829439B2 (ja) | アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録したコンピュータ読み取り可能な媒体 | |
JPH07244479A (ja) | 自動演奏装置 | |
JPH06348261A (ja) | 電子楽器 | |
JP2669169B2 (ja) | 自動演奏装置 | |
JP3353777B2 (ja) | アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体 | |
JPH0125994Y2 (ja) | ||
JP3724347B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3132392B2 (ja) | 歌唱音合成装置および歌唱音の発生方法 | |
JP3641955B2 (ja) | 楽曲データ生成装置及びそのための記録媒体 | |
JP2000181471A (ja) | カラオケ採点装置 | |
JPH06130954A (ja) | 電子楽器 | |
JP2004070154A (ja) | 演奏データ処理方法および楽音信号合成方法 | |
JPH0631977B2 (ja) | 電子楽器 | |
JP2929498B2 (ja) | 電子楽器 | |
JP4175364B2 (ja) | アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録したコンピュータ読み取り可能な媒体 | |
WO2018216423A1 (ja) | 楽曲評価装置、楽曲評価方法およびプログラム | |
JP2541513B2 (ja) | ピッチデ―タ発生装置 | |
JPH03282592A (ja) | 自動演奏装置 | |
JPH07104753A (ja) | 電子楽器の自動調律装置 | |
JPH05188961A (ja) | 自動伴奏装置 | |
JP2974610B2 (ja) | 電子楽器 | |
JPH0394297A (ja) | 楽音データ処理装置 | |
JP3055417B2 (ja) | 電子楽器 | |
JPH05143075A (ja) | 自動伴奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20000905 |