JP3293515B2 - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JP3293515B2
JP3293515B2 JP11366197A JP11366197A JP3293515B2 JP 3293515 B2 JP3293515 B2 JP 3293515B2 JP 11366197 A JP11366197 A JP 11366197A JP 11366197 A JP11366197 A JP 11366197A JP 3293515 B2 JP3293515 B2 JP 3293515B2
Authority
JP
Japan
Prior art keywords
sound
time
sounding
data
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP11366197A
Other languages
English (en)
Other versions
JPH10288985A (ja
Inventor
洋一郎 大貝
孝郎 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP11366197A priority Critical patent/JP3293515B2/ja
Priority to US09/058,307 priority patent/US6066793A/en
Publication of JPH10288985A publication Critical patent/JPH10288985A/ja
Application granted granted Critical
Publication of JP3293515B2 publication Critical patent/JP3293515B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/095Inter-note articulation aspects, e.g. legato or staccato
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、供給された演奏デ
ータに応じて楽音を発生する楽音発生装置における演奏
を制御する手段に関するものである。
【0002】
【従来の技術】従来、演奏中に偶数拍(裏拍)の発音タ
イミングを遅れるようずらすことにより、例えばジャズ
演奏において頻繁に用いられるような動揺感(スウィン
グ感)を有させる演奏方法が知られている。このよう
な、スウィング感を有させるような自動演奏を行う際に
は、供給された演奏データにスウィング処理を施すよう
にして、演奏される楽音にスウィング感を有させるよう
にしていた。
【0003】この従来のスウィング処理を図2を参照し
ながら説明する。図2において、Aは1小節の時間を示
しており、ステップ・タイム(step time)を四分音符
長としている。このステップ・タイムは、図示する例で
は120クロック数(四分音符長)に相当するものとさ
れている。従って、1小節は480クロック数となる。
なお、1クロックは楽音発生装置における割り込みタイ
マの割り込みタイミングを示している。
【0004】図2B(a)には連続する2音の発音を重
なることなくスタッカート的に演奏する演奏データが、
パルス波形として示されている。このパルス波形におい
て、その立ち上がりエッジのタイミングt0,t1,t
2,t3が発音開始(キーオン)タイミングとされてい
ると共に、その立ち下がりエッジが発音停止(キーオ
フ)タイミングとされている。そして、その発音継続時
間(発音時間)が、ゲート・タイム(Gate time)とし
て示されている。なお、図2Bはゲート・タイムをステ
ップ・タイムに対する割合で示したときの値が「1」未
満の場合であり、その一例としてゲート・タイム割合
(Gate)が「0.8」(G=0.8)とされているとき
が示されている。従って、ゲート・タイム1(Gate tim
e 1)は120×0.8=96クロック数となる。
【0005】また、図2B(b)は、図2B(a)に示
す演奏データに、従来のスウィング処理を施した時の演
奏データ(従来(swing後))を示しており、この例で
は、スウィング処理により偶数拍の音のキーオンタイミ
ングが50クロック数遅延される例が示されている。す
なわち、50クロック数がスウィング時間とされ、タイ
ミングt1で発音開始される偶数拍の音が、タイミング
t1から50クロック経過したタイミングで発音開始さ
れている。このため、キーオフタイミングも50クロッ
ク数遅延されて、3拍目の音にスウィング処理された偶
数拍の音の発音が重なっている。
【0006】また、図2C(a)は2音の発音が重なる
ようにレガート的に演奏される演奏データが、パルス波
形として示されている。このパルス波形において、その
立ち上がりエッジのタイミングt0,t1,t2,t3
が発音開始(キーオン)タイミングとされていると共
に、その立ち下がりエッジが発音停止(キーオフ)タイ
ミングとされている。そして、その発音継続時間(発音
時間)が、ゲート・タイム(Gate time)として示され
ている。なお、図2Cではゲート・タイムをステップ・
タイムに対する割合で示したときの値が「1」以上
「2」以下とされている場合であり、その一例としてゲ
ート・タイム割合(Gate)が「1.2」(G=1.2)
とされているときが示されている。従って、この時のゲ
ート・タイム1(Gate time 1)は120×1.2=1
44クロック数となる。
【0007】また、図2C(b)は、従来のスウィング
処理を施した時の演奏データ(従来(swing後))を示
しており、この例では、スウィング処理により偶数拍の
音の発音タイミングが50クロック数遅延された例が示
されている。すなわち、50クロック数がスウィング時
間とされ、タイミングt1で発音開始される偶数拍の音
が、タイミングt1から50クロック経過したタイミン
グで発音開始されている。このため、3拍目の音にスウ
ィング処理された偶数拍の音の発音が大きく重なるよう
になる。
【0008】
【発明が解決しようとする課題】従来のスウィング処理
をスタッカート的に演奏される演奏データに施すように
すると、図2B(b)に示すように次の音のキーオンの
タイミング後にスウィング処理した音のキーオフのタイ
ミングが生じるようになる。このため、スウィング処理
を施すと、図示する重なりが生じて二音が同時に発音さ
れる期間が生じるようになり、スタッカート的な演奏が
レガート的な演奏になってしまい、意図する演奏と異な
る演奏になるという問題点があった。また、従来のスウ
ィング処理をレガート的に演奏される演奏データに施す
ようにすると、図2C(b)に示すようにスウィング処
理した音のキーオフのタイミングが遅れるようになるた
め、重なり部が大きくなりスウィング処理を施した音の
キーオフのタイミングが、2音後の音のキーオンタイミ
ングより後になるおそれが生じる。例えば、2音目と3
音目とをレガート的な演奏とし、3音目と4音目をスタ
ッカート的な演奏とするような場合、従来のスウィング
処理では2音目,3音目,4音目の3音の音が途切れる
ことなく連続して発音されるようになるため、楽曲を演
奏したときに意図する演奏と異なる演奏になるおそれが
あるという問題点があった。
【0009】特に、演奏時において同じ音高の音が連続
してスタッカート的に演奏される場合にはこの影響は顕
著になり、後からキーオンされる2音目以降の音のアタ
ック部がなくなってしまうようになる。以下、この説明
を行う。同じ音を連続してスタッカート的に演奏する際
のスウィング処理前の演奏データによる発音の態様を図
9(a)に示し、図9(a)に示す発音態様の演奏デー
タにスウィング処理を施した後の発音の態様を図9
(b)に示している。図9(a)に示す場合は、第1音
目のキーオンにより発音音量が鋭く立ち上がり、立ち上
がった音量が若干立ち下がって安定となる。このような
立ち上がり部分はアタック部と云われ、図9(a)に示
すように第1音目のキーオフ後に第2音目のキーオンタ
イミングとなっているときには、第1音目および第2音
目においてそれぞれアタック部を有する発音が行われ
る。
【0010】しかしながら、図9(b)に示すようにス
ウィング処理により第1音目のキーオンタイミングが遅
延されて、第2音目のキーオンタイミング後に第1音目
のキーオフタイミングとなったときには、第1音目と第
2音目とが同時に発音されるようになるため、破線で示
すように第1音目と同音高の第2音目のアタック部がな
くなってしまうようになる。これにより、第2音目のア
タック感がなくなってしまうので、演奏者の意図とは異
なる演奏となってしまうという問題点があった。
【0011】また、同音高の音が複数音発音されている
場合は、第1音目のキーオフによりその音高の楽音のキ
ーオフ処理が行われた時、同音高の第2音目以降の音も
キーオフされてしまうという問題点があった。さらに、
常に演奏楽音の偶数拍にてスウィング処理を行うように
した場合において、例えば9拍(9ビート)で構成され
た演奏データの繰り返し再生中にスウィング処理を施す
ようにすると、前記演奏データの一度目の再生中におい
ては9拍目の奇数拍にはスィング処理が行われず、次の
二度目に再生された1拍目(奇数拍)にスウィング処理
が施される。ここで、ビートの1拍目は、必ずスウィン
グ処理が施されていないものでなければならず、前記ス
ウィング処理後の演奏データの10拍目(繰り返しの1
拍目)にスウィング処理が施されることにより、演奏者
の意図しない18ビートになってしまうという問題があ
った。
【0012】そこで、本発明はスウィング処理を施して
も、演奏データの意図するところが異なることのない楽
音発生装置を提供することを第1の目的としている。ま
た、本発明は同音高の音が複数音同時に発音されている
ときに、第1音目の音のキーオフタイミングとなっても
同音高の音のすべてがキーオフされてしまうことのない
楽音発生装置を提供することを第2の目的としている。
【0013】
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明の楽音発生装置は、連続して発音され
る二音の内の先に発音される音の発音開始タイミング
が、当該音の発音開始時間データで示される時刻より所
定時間遅延されるよう処理する遅延処理手段と、前記二
音の先に発音される音の発音継続時間データで示される
タイミングが、後に発音される音の発音開始タイミング
より前の時間とされている場合は、前記先に発音される
音の発音開始タイミングが遅延される所定時間に応じ
て、前記先に発音される音の発音停止タイミングが、前
記後に発音される音の発音開始タイミングより前のタイ
ミングとなるように処理する発音期間処理手段とからな
るスウィング処理手段を備えている。
【0014】また、上記第1の目的を達成するために、
本発明の楽音発生装置は、連続して発音される二音の内
の先に発音される音の発音開始タイミングが、当該音の
発音開始時間データで示される時刻より所定時間遅延さ
れるよう処理する遅延処理手段と、前記二音の先に発音
される音の発音継続時間データで示される時刻が、後に
発音される音の発音開始時刻より後の時間を示すデータ
とされている場合は、前記遅延処理される前記先に発音
される音の遅延処理前の発音継続時間データで示される
時刻のタイミングで、前記先に発音される音が発音停止
されるように処理する発音期間処理手段とからなるスウ
ィング処理手段を備えている。さらに、上記楽音発生装
置において、前記遅延処理手段において、繰り返し演奏
されるn拍を単位とする偶数拍に、その発音開始タイミ
ング遅延さるスウィング処理ようにされてい
てもよい。
【0015】さらにまた、上記第2の目的を達成するた
めに、本発明の楽音発生装置は、少なくとも発音開始時
間データと、発音継続時間データとからなる演奏データ
が供給され、前記発音開始時間データのタイミングで当
該音の発音を開始する発音開始処理手段と、該発音開始
処理手段により発音開始された音の発音時間が、当該音
の発音継続時間だけ経過したときに、当該音を発音停止
させる発音期間処理手段と、同音高の音が複数音発音さ
れていることを示す音高毎の発音個数を示す発音個数表
示手段とを備え、前記発音期間処理手段が、発音停止さ
せる場合は、前記発音個数表示手段に示されている当該
音の音高の発音個数を減じると共に、減じた数値が零と
されたときのみ、当該音高の音の発音を停止させてい
る。
【0016】このような本発明によれば、スタッカート
的に演奏される演奏データにスウィング処理を施して
も、後から発音される音に重なることなく発音すること
ができるようになる。したがって、スタッカート的な演
奏はスィング処理後においても維持されるようになる。
また、この際に同音高の音が連続していても、同音高の
音が重なって発音されることはないので、それぞれのア
タック部がなくなることはなく、アタック感を有する発
音を行うことができる。また、n拍の演奏データを単位
として、前記n拍中の偶数拍の音にスウィング処理を施
すようにしたので、ビートが崩れることを防止すること
ができる。さらに、同音高の発音個数がゼロとされたと
きに、当該音のキーオフ処理を行うようにしているの
で、同音高の音が複数音発音されているときには最も遅
れている音のキーオフタイミングで消音されるようにな
る。
【0017】
【発明の実施の形態】本発明の演奏制御手段を備える楽
音発生装置の構成を示すブロック図を図1に示す。この
図において、1は制御プログラムを実行してスウィング
処理等の演奏制御を行うマイクロプロセッサ(CP
U)、2はCPU1が実行する制御プログラムや、スウ
ィング処理プログラム等が記憶されているリードオンリ
メモリ(ROM)、3はCPU1のワークエリアや、外
部記憶装置5等から読み出された演奏データ等が記憶さ
れるエリアが設定されているランダムアクセスメモリ
(RAM)、4はタイマ割り込み処理のタイミングをC
PU1に指示するタイマ、5はMIDI(musical inst
rument digital interface)演奏データ等を記録媒体か
ら読み出したり、演奏制御処理の施された演奏データ等
を記録媒体に書き込む外部記憶装置である。この外部記
憶装置5の種類としては、ハードディスクドライブ(H
DD)、フロッピーディスクドライブ(FDD)、CD
(compact disk)−ROMドライブ、MO(magneto op
tical disk)ドライブ等がある。
【0018】また、6はMIDIイベント等の演奏デー
タが入力されると共に、楽音発生装置内で生成されたM
IDIイベントを出力するMIDIインターフェース、
あるいは、LAN(Local Area Network )やインター
ネット、電話回線等の通信ネットワークに接続されてい
る通信インターフェースである。7は演奏データを出力
する音楽演奏用の鍵盤であり、検出回路8を介してバス
15に接続されているが、必ずしも必要なものではな
い。9は英字、かな、数字、記号などのキーや、改行キ
ー、改頁キー等を備えるいわゆるパソコン用のキースイ
ッチ、あるいは、楽音発生設定用のパネルスイッチ、1
0はスイッチ9が操作されたことを検出する検出回路で
ある。
【0019】さらに、11は演奏制御パラメータ等が表
示される表示装置(モニタ)であり、歌詞データ等を表
示してもよい。さらにまた、12はRAM3に格納され
たスウィング処理の施された演奏データが供給されて対
応する楽音信号を生成する音源回路、13は音源回路1
2から渡された楽音信号にリバーブやコーラス等の効果
を付与する効果回路、14は効果回路13から出力され
る効果の付与された楽音信号を増幅して放音するサウン
ドシステムである。以上の構成はパソコン、ワークステ
ーション等の構成と同等であり、この構成により本発明
の楽音発生装置を実現することができる。
【0020】図2は、本発明の楽音制御手段におけるス
ウィング処理を従来のスウィング処理と対比して示す図
であり、図2を参照しながら本発明にかかるスウィング
処理を説明する。図2において、Aは1小節の時間を示
しており、ステップ・タイム(step time)を四分音符
長としている。このステップ・タイムは、音符長に相当
しており、図示する例では120クロック数(四分音符
長)に相当するものとされている。従って、図示する1
小節は480クロック数となる。なお、1クロックはタ
イマ4の割り込みタイミングを示している。
【0021】図2Bは、奇数拍および偶数拍におけるゲ
ート・タイムのステップ・タイムに対する割合(Gate)
が「0」以上「1」未満とされているときのキーオン・
キーオフタイミングを示す図である。そして、図2B
(a)には、偶数拍におけるゲート・タイムのステップ
・タイムに対する割合(Gate)が「0.8」(G=0.
8)とされている場合が示されている。また、図2B
(a)には、連続する2音の発音が重なることなくスタ
ッカート的に演奏される演奏データが、パルス波形とし
て示されている。このパルス波形において、その立ち上
がりエッジのタイミングt0,t1,t2,t3が発音
開始(キーオン)タイミングとされていると共に、その
立ち下がりエッジが発音停止(キーオフ)タイミングと
されている。そして、キーオンからキーオフまでの発音
継続時間(発音時間)が、ゲート・タイム(Gate tim
e)として示されている。従って、G=0.8とされた
際の偶数拍のゲート・タイム1(Gate time1)は120
×0.8=96クロック数となる。
【0022】また、図2B(c)は、図2B(a)に示
す演奏データに、本発明の楽音制御手段によるスウィン
グ処理を施した時の演奏データ(本発明(swing後))
を示しており、この例では、スウィング処理により偶数
拍の音のキーオンタイミングが50クロック数遅延され
ている。すなわち、50クロック数がスウィング時間
(swing)とされ、タイミングt1で発音開始されるべ
き偶数拍の音が、タイミングt1から50クロック経過
したタイミングで発音開始されている。ここで、従来は
前述した図2B(b)に示すようにキーオンタイミング
を遅らせると、その音のキーオフタイミングも同じ時間
遅延されるが、本発明の楽音制御手段では、ステップ・
タイムからスウィング時間を減算し、その減算結果にゲ
ート・タイムのステップ・タイムに対する割合(Gate)
を乗算する。そして、その積の時間ゲート・タイム2を
発音継続時間としている。
【0023】図2B(c)に示す例では、(120−5
0)×0.8=56クロック数が発音継続時間(ゲート
・タイム2:Gate time2)となる。このため、3拍目の
奇数拍の音のキーオンタイミングとなる前に、スウィン
グ処理された偶数拍の音のキーオフタイミングとなっ
て、消音処理されるようになる。従って、スウィング処
理された偶数拍の音と、その次の奇数拍の音が重なって
発音されることはなくなり、スタッカート的な演奏デー
タは、スウィング処理が施されてもスタッカート的に演
奏されるようになる。
【0024】図2Cは、奇数拍におけるゲート・タイム
のステップ・タイムに対する割合(Gate)が「0」以上
「1」未満とされていると共に、偶数拍におけるゲート
・タイムのステップ・タイムにに対する割合(Gate)が
「1」以上「2」以内とされているときのキーオン・キ
ーオフタイミングを示す図である。そして、図2C
(a)には、偶数拍におけるゲート・タイムのステップ
・タイムに対する割合(Gate)が「1.2」(G=1.
2)とされている場合が示されている。また、図2C
(a)は偶数拍の音が時系列的に次の奇数拍の音に重な
るようにレガート的に演奏される演奏データが、パルス
波形として示されている。このパルス波形において、そ
の立ち上がりエッジのタイミングt0,t1,t2,t
3が発音開始(キーオン)タイミングとされていると共
に、その立ち下がりエッジが発音停止(キーオフ)タイ
ミングとされている。そして、その発音継続時間(発音
時間)が、ゲート・タイム(Gate time)として示され
ている。従って、G=1.2とされた際の偶数拍のゲー
ト・タイム1(Gate time1)は120×1.2=144
クロック数となる。
【0025】また、図2C(c)は、図2C(a)に示
す演奏データに、本発明の楽音制御手段によるスウィン
グ処理を施した時の演奏データ(本発明(swing後))
を示しており、この例では、スウィング処理により偶数
拍の音の発音タイミングが50クロック数遅延された例
が示されている。すなわち、タイミングt1で発音開始
される偶数拍の音が、タイミングt1から50クロック
経過したタイミングで発音開始されている。ここで、従
来は前述した図2C(b)に示すようにスウィング処理
を偶数拍の音に施して、キーオンタイミングを遅らせる
と、その音のキーオフタイミングも同じ時間遅延される
が、本発明の楽音制御手段では、スウィング処理の施さ
れた音の発音時間を示すゲート・タイム1(Gate time
1)からスウィング時間を減算している。そして、その
減算結果で示されるゲート・タイム3(Gate time3)
の時間を偶数拍における発音時間としている。すなわ
ち、図2C(c)の例では、(120×1.2)−50
=94クロック数が偶数拍における発音継続時間とな
る。
【0026】従って、スウィング処理された偶数拍の音
のキーオフタイミングは、スウィング処理前の偶数拍の
音と同じ時刻となり、このタイミングで消音処理される
ことになる。従って、スウィング処理された偶数拍の音
のキーオフタイミングが、2音後のその次の偶数拍の音
のキーオンタイミングより後の時刻になることはなく、
スウィング処理された偶数拍の音が、2音後のその次の
偶数拍の音に重なって発音されることを防止することが
できる。したがって、スウィング処理後の演奏が意図さ
れたものと異なる演奏となることはなく、演奏者の意図
に従った演奏とすることができる。
【0027】次に、演奏データを含むステップシーケン
スデータ構造を図3に示すが、このステップシーケンス
データは、例えばRAM3に格納される。図3に示すス
テップシーケンスデータにおけるステップ・タイムデー
タ(steptime)は、ユーザーが任意に設定できるパラメ
ータであり、図2に示す例ではステップ・タイムを四分
音符長としており、四分音符長が120クロック数であ
ることより、120クロックごとに楽音の発音が実施さ
れる。また、楽曲に揺動感を与えるためのスウィング・
タイムデータ(swing time)も、ユーザーが任意に設定
できるパラメータであり、図2に示す例では50クロッ
ク数として設定されている。そして、音高を示すキーナ
ンバデータ(key_number)、キーの押鍵速度、すなわち
音量を示すベロシティデータ(velocity)、発音継続時
間を示すゲートデータ(Gate)の3つのデータの組で1
つの音符が表され、この3つのデータの組が、例えば1
小節を構成する音符数に等しい組数だけ続いている。そ
して、最後が演奏データのエンドを示すエンドコードと
されている。
【0028】このステップシーケンスデータ構造におい
て、縦軸はアドレスとされており、本発明の楽音発生装
置は、アドレスを順次進めてこのステップシーケンスデ
ータを順次読み出すことにより楽曲を演奏するようにし
ている。この場合、ステップシーケンスデータとして
は、例えば1小節分の音符のデータからなり、この小節
におけるステップ・タイムとスウィングタイムをユーザ
ーが任意に設定することができるようになる。演奏時に
は、まず、読み出しポインタを最上位のステップ・タイ
ムデータの位置に設定してステップ・タイムデータから
順次データを読み出していく。読み出されたステップ・
タイムデータに応じて発音タイミングクロック数が設定
され、次いで読み出されたスウィング・タイムデータに
応じて偶数拍の発音を遅らせるスウィング時間(swin
g)が設定される。
【0029】次いで、1番目の音符1のデータであるキ
ーナンバデータ1(key_number1)、ベロシティデータ
1(velocity1)、ゲートデータ1(gate1)の3つの
データが読み出される。この1番目の音符1のキーオン
タイミングは、図2Aに示す時刻toとされてこのキー
オンタイミングでキーナンバデータ1とベロシティデー
タ1とが音源回路12に送信される。音源回路12はこ
れを受けて音符1の発音を行う。そして、音符1はキー
オンされてからゲートデータ1で示される時刻後がキー
オフタイミングとされ、このキーオフタイミングでキー
オフが音源12へ送信されて音符1に対する消音処理が
行われる。なお、ゲートデータは、例えばステップ・タ
イムデータに対する割合で表されており、図2に示す例
ではスタッカート的な演奏の場合は0.8とされ、レガ
ート的な演奏の場合は1.2とされている。
【0030】続けて、2番目の音符2のデータであるキ
ーナンバデータ2(key_number2)、ベロシティデータ
2(velocity2)、ゲートデータ2(gate2)の3つの
データが読み出される。この2番目の音符2のキーオン
タイミングは、図2Aに示す時刻t1とされるが、2番
目の音符は偶数番目の音符なのでスウィング処理が施さ
れるようになる。この際、スウィング時間(swing)が
50クロック数とされていると、時刻t1から50クロ
ック経過した時刻でキーナンバデータ2とベロシティデ
ータ2とが音源回路12に送信される。音源回路12は
これを受けて音符2の発音を行う。また、ゲートデータ
2のステップ・タイムデータに対する割合が0.8とさ
れている時には、スタッカート的な演奏と判定されて、
2番目の音符の発音継続時間を次の演算により求める処
理が行われる。 発音継続時間=(ステップ・タイムデータ−スウィング
時間)×ゲートデータ=(120−50)×0.8=5
6クロック数
【0031】この発音継続時間である56クロック数の
時間がキーオンタイミングから経過すると、キーオフが
音源12へ送信されて音符2に対する消音処理が行われ
る(図2B(c)参照)。これにより、音符3のキーオ
ンタイミングである時刻t2の前に音符2の発音が終了
するようになり、スタッカート的に演奏される音符がレ
ガート的に演奏されて、アタック感がなくなることを防
止することができる。続いて、音符3,音符4,・・
・,音符nと読み出されて前述と同様のスウィング処理
が行われる。そして、エンドコードが読み出されると、
音符1のキーナンバデータ1の位置にポインタが戻され
て、音符1〜音符nが循環して読み出されて前述したス
ウィング処理が施されて発音されるようになる。
【0032】また、レガート的な演奏の場合は音符のゲ
ートデータが、例えば1.2とされており、CPU1は
ゲートデータが「1」以上とされているときにレガート
的な演奏と判定する。この場合は、スウィング処理にお
いてキーオンタイミングを遅延させる処理では同様の処
理が行われるが、当該音符の発音継続時間の処理では次
の演算により発音継続時間を求める処理が行われる。た
だし、スウィング時間は50クロック数、ゲートデータ
は1.2とされている。 発音継続時間=(ステップ・タイムデータ×ゲートデー
タ)−スウィング時間=(120×1.2)−50=9
4クロック数 この発音継続時間である94クロックがキーオンタイミ
ングから経過すると、キーオフが音源12へ送信されて
当該音符に対する消音処理が行われる(図2C(c)参
照)。これにより、当該音符のキーオンタイミングはス
ウィング処理が施されても変更されないようになり、2
つ先の音符のキーオンタイミングの前に必ず消音される
ようになり、スタッカート的に演奏される2つ先の音符
がレガート的に演奏されて、後の音のアタック感がなく
なることを防止することができる。
【0033】このように、本発明の楽音発生装置では、
音符のゲートデータがステップ・タイムデータに対する
割合で表されている場合は、音符がスタッカート的な演
奏とされるのか、レガート的な演奏とされるのかをゲー
トデータが「1」未満とされているか、「1」以上とさ
れているかで判定することができ、この判定に応じてス
ウィング処理の態様をスタッカートの場合とレガートの
場合とで前述したように変更している。
【0034】ところで、レガート的に演奏される演奏デ
ータ中に同じ音高の音符が連続していることがあるが、
このような場合にはそれぞれのキーオンタイミングで、
当該音符のキーナンバデータおよびベロシティデータを
音源12に送って発音させることになる。この際に、レ
ガート的に演奏されるため第1音目の音符のゲートデー
タが1を越えているので、前記図9(b)に示されてい
るように同音高で複数音発音される時間が生じるように
なる。この時、第1音目の音符の発音継続期間が終了し
て、キーオフを音源12に送ると、キーオフ処理はキー
オフが指示された音高の音に対して実行されるため、音
高が同じとされている第1音と第2音に対してキーオフ
処理が行われることになる。したがって、第1音の消音
が行われると同時に発音継続中の第2音も消音されてし
まうようになる。そこで、本発明の楽音発生装置におい
ては、図4に示すキーオン・キーオフ管理バッファを設
けるようにして、この欠点を防止している。
【0035】この管理バッファは、キーナンバ(key_nu
mber)毎に、その発音個数データが格納されるバッファ
から構成されており、管理バッファの記憶エリアはRA
M3に設定される。図4に示す例では、キーナンバが0
〜127の128種類とされており、キーナンバ2の発
音個数が「1」、キーナンバ4の発音個数が「2」とさ
れており、キーナンバ4の音が2音同時に発音されてい
ることが示されている。なお、管理バッファに格納され
る発音個数は、キーオンタイミングとなったときに、1
だけインクリメントされ、キーオフタイミングとなった
ときに、1だけデクリメントされる。
【0036】そこで、キーオフタイミングになったとき
に、管理バッファを参照し、キーオフタイミングとなっ
たキーナンバの発音個数を調べる。この発音個数が
「1」を越えていたときには、発音個数を「1」だけデ
クリメントする処理のみが行われ、キーオフは音源12
に送信されない。そして、発音個数が「1」とされてい
れば、発音個数を「1」だけデクリメントすると共に、
キーオフを音源12に送信して消音処理を行うようにす
る。これにより、同音の音が複数同時発音されていた時
に先の音のキーオフタイミングとなっても、すべての音
が消音されてしまうことを防止することができるように
なる。
【0037】次に、本発明のスウィング処理を行う演奏
制御手段のフローチャートを図5ないし図8に示し、以
下、その説明を行う。図5のフローチャートに示す処理
は、スウィング処理が指示されてスウィングモードとさ
れたときに起動される。そして、ステップS10にて読
み出し開始アドレス位置を示す読み出しポインタが、図
3に示すステップ・タイムデータのアドレス位置とされ
て、ステップ・タイムデータが読み出される。次いで、
ステップS11にて後述するオールド・ゲートレジスタ
が「0」にリセットされる。このオールド・ゲートレジ
スタの値はレガート的に演奏される場合の、当該音の発
音継続時間長とステップ・タイム長との差分時間長を示
している。
【0038】次いで、ステップS12にてクロック数で
経過時間を示すタイムレジスタ(Time)が「0」にリセ
ットされると共に、ステップS13にて奇数拍か偶数拍
かを示すカウントレジスタ(count)の値が「0」にリ
セットされ、奇数拍(1番目の音符1)の処理が以降の
処理で行われるようになる。さらに、ステップS14に
てステップレジスタ(step)に読み出されたステップ・
タイムデータが格納され、ステップ15にてアドレスを
進めて読み出されたスウィング・タイムデータがスウィ
ングレジスタ(swing)に格納される。そして、ステッ
プS16にてスウィング処理の終了が指示されてEXIT処
理を行うか否かが判断されるが、スウィング処理開始直
後には終了は指示されないので、NOと判断されてステ
ップS17に進み、次に読み出されたデータがエンドコ
ードか否かが判定される。ステップシーケンスデータは
図3に示すように複数の演奏データが含まれているた
め、スウィング処理開始直後にはエンドコードが読み出
されずに、NOと判定されてBで示す図6のステップS
20へ進む。
【0039】なお、スウィング処理の終了が指示された
場合は、ステップS16にてYESと判定されてEXIT処
理が行われ、EXITモードとされる。また、エンドコード
が読み出された場合には、ステップS17にてYESと
判定されてステップS18に進み、図3に示す最初の音
符1に関するデータの先頭であるキーナンバデータ1の
位置に読み出しポインタがセットされて、この位置から
キーナンバデータが再び読み出されるようになる。図6
に示すステップS20に進むと、ステップS20にてカ
ウントレジスタの値が「0」か否かが判定される。この
場合は、ステップS13にてカウントレジスタの値が
「0」にセットされたので、YESと判定されてステッ
プS21へ進み、奇数拍のキーナンバデータとベロシテ
ィデータを読み出して音源12へ送信する。これによ
り、1番目の音符に対応する楽音波形が音源12により
生成されて、効果回路13にて効果が付与されサウンド
システム14から発音されるようになる。
【0040】次いで、ステップS22にてステップS2
1にて読み出されたキーナンバに相当する発音個数バッ
ファの欄の数値が「1」だけインクリメントされる。こ
の場合は、1番目の音符なので当該キーナンバの発音個
数は「1」となる。さらに、ステップS23にてタイム
レジスタの値が「1」だけインクリメントされて、ステ
ップS24に進みレガートレジスタが「1」とされてい
てレガート的に演奏する音符か否かが判定される。ここ
で、ゲートデータが「1」未満とされてレガート的に演
奏される音符でない場合は、NOと判定されてステップ
S25に進む。ステップS25では、ステップレジスタ
に格納されたステップ・タイムデータとゲートデータと
を乗算したゲート・タイムデータと、タイムレジスタの
値とが一致するか否かを判定することにより、1番目の
音符の発音継続時間がタイムアップしたか否かを判定し
ている。
【0041】発音の開始当初においては、タイムレジス
タの値が小さく一致しないため、ステップS25にてN
Oと判定されてステップS23に戻り、ステップS23
ないしステップS25の処理が、ゲート・タイムデータ
とクロック周期毎にインクリメントされるタイムレジス
タの値とが一致するまで繰り返し行われるようになる。
ゲート・タイムデータとタイムレジスタの値とが一致す
ると、発音継続時間が終了したことになるので、ステッ
プS25にてYESと判定され、ステップS26にて発
音中のキーナンバに相当する発音個数バッファの欄の数
値が「1」だけデクリメントされる。そして、ステップ
S27にて発音個数バッファ内の当該キーナンバの発音
個数を示す数値が「0」であるか否かが判定される。
【0042】ここで、この数値が「0」とされていれば
ステップS28にて当該キーナンバの発音の消音処理を
行うようキーオフを音源12に送信する。また、発音個
数の数値が「0」でなければステップS28の処理はス
キップされて当該キーナンバに対する発音の消音処理は
行われない。以上の処理が奇数拍に対するスウィング処
理であり、奇数拍のキーオンタイミングは遅延されるこ
となく当該ステップ・タイムの開始時刻とされる。
【0043】そして、ステップS29にてカウントレジ
スタの値が「1」とされて、次のステップ・タイムの偶
数拍の音符のスウィング処理が行われるようになる。次
いで、ステップS30にてタイムレジスタの値が「1」
だけインクリメントされ、ステップS31に進む。ステ
ップS31では前回の奇数拍に対してレガートが指示さ
れているか否かが判定されるが、この場合は指示されて
いないとしたのでステップS32に進む。ステップS3
2ではステップレジスタに格納されているステップ・タ
イムデータと、タイムレジスタの値とが一致するか否か
を判定することにより、前回の奇数拍のステップ・タイ
ムが経過したか否かを判定している。ここで、タイムレ
ジスタの値が小さく一致しない場合は、ステップS32
にてNOと判定されてステップS30に戻り、ステップ
S30ないしステップS32の処理が、ステップ・タイ
ムデータとクロック周期毎にインクリメントされるタイ
ムレジスタの値とが一致するまで繰り返し行われるよう
になる。そして、タイムレジスタの値がステップ・タイ
ムデータに一致すると、前回の奇数拍のステップ・タイ
ムが終了したことになり、ステップS32にてYESと
判定されてステップS33に進み、タイムレジスタ値が
「0」にリセットされる。すなわち、次の偶数拍のステ
ップ・タイムの開始時間となる。
【0044】そして、Aで示す図5のステップS16に
戻り、ステップS16以降の処理が行われるようにな
る。この偶数拍の音符2に対するスウィング処理では、
ステップS18にて図3に示す2番目の音符2に関する
データの先頭であるキーナンバデータ2の位置に読み出
しポインタがセットされて、この位置からキーナンバデ
ータが読み出されるようになる。次いで、ステップS2
0に進むと、ステップS20にてカウントレジスタの値
が「0」か否かが判定されるが、この場合は、ステップ
S29にてカウントレジスタの値が「1」にセットされ
たので、NOと判定されてEに示す図7のステップS4
0に分岐する。
【0045】ステップS40ではタイムレジスタの値が
「1」だけインクリメントされ、次いで、ステップS4
1にてインクリメントされたタイムレジスタの値が、ス
テップS15にてセットされたスウィングレジスタの値
に一致するか否かが判定される。そして、一致するまで
ステップS40にてタイムレジスタの値がクロック周期
となる毎にインクリメントされる処理が繰り返し実行さ
れる。そして、一致するとステップS42へ進み偶数拍
のキーナンバデータとベロシティデータが読み出され
て、音源12へ送信される。これにより、偶数拍の音符
2に対応する楽音波形が音源12により生成されて、効
果回路13にて効果が付与されサウンドシステム14か
ら発音されるようになる。このように、偶数拍の発音タ
イミングは、スウィング・タイムデータの時間だけ遅延
されるようになる。
【0046】次いで、ステップS43にてステップS4
2にて読み出されたキーナンバに相当する発音個数バッ
ファの欄の数値が「1」だけインクリメントされる。そ
して、レガートが指示されていることを検出するため
に、ステップS44にてゲートデータが「1」未満か否
かが判定される。ここで、レガートが指示されておらず
ゲートデータが「1」未満とされているときはYESと
判定され、ステップS45に進む。ステップS45では
タイムレジスタの値が「1」だけインクリメントされ、
ステップS46にてステップレジスタに格納されたステ
ップ・タイムデータからスウィングレジスタに格納され
ているスウィング・タイムデータを減算し、その減算値
にゲートデータを乗算したゲート・タイムデータと、タ
イムレジスタの値とが一致するか否かを判定することに
より、2番目の音符2の発音継続時間が経過したか否か
を判定している。
【0047】発音の開始当初においては、タイムレジス
タの値が小さく一致しないため、ステップS46にてN
Oと判定されてステップS45に戻り、ステップS45
とステップS46の処理が、ゲート・タイムデータとタ
イムレジスタの値とが一致するまで繰り返し行われるよ
うになる。ゲート・タイムデータとタイムレジスタの値
とが一致すると、2番目の音符2の発音継続時間が終了
したことになるので、ステップS46にてYESと判定
され、ステップS47にて発音中のキーナンバに相当す
る発音個数バッファの欄の数値が「1」だけデクリメン
トされる。そして、ステップS48にて発音個数バッフ
ァ内の当該キーナンバの発音個数を示す数値が「0」で
あるか否かが判定される。
【0048】ここで、この数値が「0」とされていれば
発音を継続する音はないので、ステップS49にて当該
キーナンバの発音の消音処理を行うようキーオフを音源
12に送信する。また、発音個数の数値が「0」でなく
発音を継続する音がまだ存在する場合は、ステップS4
9の処理はスキップされて当該キーナンバに対する発音
の消音処理は行われない。以上の処理がレガートが指示
されていない偶数拍に対するスウィング処理であり、偶
数拍のキーオンタイミングは当該ステップ・タイムの開
始時刻よりスウィング・タイムデータだけ遅延されるよ
うになる。これにより演奏に動揺感を与えることができ
る。そして、ステップS50にてカウントレジスタの値
が「0」とされて、3番目の奇数拍の音符の処理がFで
示す図6のステップS30以降で行われるようになる。
【0049】なお、2番目の音符がレガート的に演奏さ
れる場合は、ゲートデータが「1」以上とされているた
めステップS44にてNOと判定され、ステップS51
に分岐する。このステップS51にてレガートレジスタ
に「1」がセットされ、ステップS52にてオールド・
キーレジスタ(old_key)にステップS42にて読み出
されたキーナンバデータが格納される。さらに、ステッ
プS53にてステップレジスタに格納されたステップ・
タイムデータと、ゲートデータから「1」を減算した値
とを乗算してオールド・ゲートレジスタに格納する。こ
のオールド・ゲートレジスタに格納された値は、当該音
のステップ・タイムを超えて次のステップ・タイムで発
音される発音継続時間データとなる。そして、ステップ
S54にてカウントレジスタが「0」にリセットされ
て、以降の処理で3番目のステップ・タイムの奇数拍の
スウィング処理が行われるようになる。
【0050】続くステップS55ではタイムレジスタの
値が「1」だけインクリメントされ、ステップS56に
進む。ステップS56ではステップレジスタに格納され
ているステップ・タイムデータと、タイムレジスタの値
とが一致するか否かを判定することにより、スウィング
処理した偶数拍のステップ・タイムがタイムアップした
か否かを判定している。ここで、タイムレジスタの値が
小さく一致しない場合は、ステップS56にてNOと判
定されてステップS55に戻り、ステップS55とステ
ップS56の処理が、ステップ・タイムデータと、クロ
ック周期毎にインクリメントされるタイムレジスタの値
とが一致するまで繰り返し行われるようになる。そし
て、タイムレジスタの値がステップ・タイムデータに一
致して2番目のステップ・タイムが終了すると、ステッ
プS56にてYESと判定されてGで示す図6のステッ
プS33に進み、タイムレジスタが「0」にリセットさ
れる。すなわち、次の奇数拍のステップ・タイムの開始
時間となる。
【0051】ついで、Aで示す図5のステップS16に
戻り、ステップS16以降の前述した奇数拍のスウィン
グ処理が行われる。この際に、前回の偶数拍のスウィン
グ処理において、レガートが指示されていると、レガー
トレジスタが「1」にセットされているため、ステップ
S24の判定処理においてYESと判定されてCに分岐
し、図8に示すステップS60に進むようになる。この
ステップS60にて、オールド・ゲートレジスタの値と
タイムレジスタの値とが一致するか否かが判定され、不
一致の場合はDに分岐してステップS25に戻るように
なる。そして、今回における奇数拍の発音継続時間がタ
イムアップしたか否かの判定処理がステップS25にて
実行され、発音継続時間がタイムアップしていなけれ
ば、ステップS23に戻りタイムレジスタの値がインク
リメントされる。そして、再度ステップS24にてCに
分岐しステップS60にて、オールド・ゲートレジスタ
の値とタイムレジスタの値とが一致するか否かが判定さ
れる。すなわち、オールド・ゲートレジスタの値とタイ
ムレジスタの値とが一致するまで、タイムレジスタをイ
ンクリメントする処理を含むステップS23,ステップ
S24,ステップS60,ステップS25の処理が繰り
返し実行される。
【0052】ステップS60にて、オールド・ゲートレ
ジスタの値とタイムレジスタの値とが一致すると判定さ
れるのは、レガートが指示されている前回の偶数拍の発
音継続時間がタイムアップしたときであり、ステップS
60にてYESと判定されると、ステップS61にて前
回の偶数拍のキーナンバデータに対応した発音個数バッ
ファの欄の値が「1」だけデクリメントされる。そし
て、ステップS62にて発音個数バッファにおける当該
キーナンバの発音個数の値が「0」か否かが判定され、
YESと判定された場合はステップS63にて、オール
ドキーレジスタに格納されている前回の偶数拍のキーナ
ンバに従った音高のキーオフが音源回路12に送信され
て、当該音高の楽音は消音されるようになる。そして、
レガートレジスタに「0」がセットされてDに分岐しス
テップS25に戻るようになる。また、ステップS62
にてNOと判定された場合はステップS63の処理はス
キップされて、当該音高の楽音の消音処理は行われな
い。
【0053】さらに、タイムレジスタに格納されている
時間値より、オールド・ゲートレジスタに格納されてい
る時間値の方が長い場合は、ステップS60にてYES
と判定される前にステップS25にてYESと判定され
るようになる。この場合は、ステップS26以降の処理
が進んで、ステップS31の処理が実行されたときにY
ESと判定されてCに分岐しステップS60以降の上記
した処理が行われることになる。すなわち、オールド・
ゲートレジスタの値とタイムレジスタの値とが一致する
まで、タイムレジスタをインクリメントする処理を含む
ステップS30,ステップS31,ステップS60,ス
テップS32の処理が繰り返し実行される。そして、一
致すると判定された際に、同音高の楽音が複数発音され
ていなければキーオフが音源12に送られるようにな
る。
【0054】以上説明したような、奇数拍に対するスウ
ィング処理と偶数拍に対するスウィング処理とが図3に
示すステップシーケンスデータに対して交互に繰り返し
て行われることにより、揺動感を有する楽音が発音され
るようになる。そして、該ステップシーケンスデータの
最後のデータに対してスウィング処理が実行されると、
エンドコードが読み出されるため、ステップS17にて
YESと判定され、読み出しポインタがステップシーケ
ンスデータのデータの先頭であるキーナンバデータ1の
アドレスにセットされて、ステップシーケンスデータが
繰り返し読み出され、前述したスウィング処理が継続し
て行われるようになる。このようなスウィング処理は、
スウィング処理の終了が入力されてステップS17にて
EXIT処理が実行されるまで続けられる。
【0055】上記の説明においては、ゲート・タイムを
ステップ・タイムに対する割合で表していたが、本発明
はこれに限るものではなく、ゲート・タイムをクロック
数等の実数値として表してもよい。この場合は、ステッ
プ・タイムに対するゲート・タイムの割合を演算して、
演算結果をスウィング処理においてゲート・タイムデー
タとして用いるようにすればよい。また、上記の説明に
おいてはステップ・タイムおよびスウィング時間を一定
値として、ステップシーケンスデータの先頭に書き込む
ようにしているが、スウィング処理中において、スウィ
ング時間を変化させるようにしてもよい。この際の変更
方法としては、操作子によりスウィング時間をリアルタ
イム入力する方法、予め時系列的にスウィング時間デー
タを記憶しておいて時間の経過にしたがって逐次読み出
す方法、予め定められた関数によりスウィング時間を変
化させる方法等がある。
【0056】さらに、ステップシーケンスデータは、1
小節分とし、ステップタイムを四分音符長として説明し
たが、これに限ることはなく複数小節分でもよく、ステ
ップタイムは音符単位で変更することができる。さらに
また、四分音符長を120クロック数として、1小節を
480クロック数で示したが、このクロック数に限られ
るものではない。さらにまた、演奏データをイベント毎
のタイミングとして表し、イベントとイベントとの間の
タイミング値からステップタイム値とゲートタイム値と
をもとめて、スウィング処理を行うようにしてもよい。
さらにまた、同音高の発音個数を管理するキーオン・キ
ーオフ管理バッファの音高数を127をしたが、これに
限るものではなく任意の音高数とすることができる。
【0057】なお、上記した実施の形態例では、奇数拍
のゲートタイム割合を「1」以下としたが、本発明はこ
れに限られるものではなく、奇数拍のゲートタイム割合
を「1」以上「2」以下としてもよい。その場合、奇数
拍のスウィング処理を行う際にも、偶数拍のスウィング
処理と同様にレガートに関する処理を行うようにすれば
よい。さらに、上記説明したフローチャートにおいて
は、単音発音とされているが、単音に限らず複数音を同
時に発音するようにしてもよい。この場合は、演奏デー
タに同時発音する音数を指定したり、キーナンバを同時
に発音する発音数だけ並べておくようにすればよい。さ
らにまた、上記説明したフローチャートでは、1発音毎
にタイムレジスタ(Time)をリセットしているが、記憶
されているステップシーケンスデータがイベント毎にタ
イミング値を有する場合を考慮して、タイムレジスタの
リセットタイミングを変更するようにしてもよい。
【0058】ところで、上記説明したフローチャートで
はエンドコードを読み出すと、ステップシーケンスデー
タにおけるイベントデータの先頭にアドレスポインタを
戻して、同様の読み出しを行うようにしている。すなわ
ち、ステップシーケンスデータが4拍(1,2,3,
4)からなる場合は、1,2,3,4,1,2,3,
4,1,2・・・の順序で各拍にスウィング処理が施さ
れるようになる。この時、キーオンタイミングがスウィ
ング時間遅延されるのは、偶数拍である2拍目と4拍目
になる。本発明は、この読み出し順序に限るものではな
く、1,2,3,4,4,3,2,1,1,2・・・の
読み出し順序や、1,2,3,4,3,2,1,2,3
・・・の読み出し順序としてもよい。
【0059】また、ステップシーケンスデータが3拍か
らなる場合に、1,2,3,3,2,1,1,2,3・
・・の読み出し順序としたときは、その偶数拍のキーオ
ンがスウィング時間だけ遅延されるようになる。すなわ
ち、キーオンがスウィング時間だけ遅延される拍に丸印
を付して示すと1,,3,,2,,1,,3・
・・となり、3ビートであったものが6ビートになって
しまうことになる。同様に、9ビートの場合は18ビー
トになってしまう。そこで、これを防止するためにステ
ップシーケンスデータが3ビートの場合は、1,,
3,3,,1,1,,3・・・となるようにスウィ
ング処理位置を切り替えるようにする。これにより、ビ
ートが崩れてしまうことを防止することができるように
なる。
【0060】なお、本発明は楽音発生装置の形態に限ら
ず、アプリケーションソフトウェアが動作するパソコン
の形態でもよい。この際に、磁気ディスク、光ディス
ク、半導体メモリ等の記憶媒体に記憶させたアプリケー
ションソフトウェアをパソコンに供給するようにしても
よいし、ネットワークを介してアプリケーションソフト
ウェアを供給するようにしてもよい。また、本発明の楽
音発生装置が生成する楽音は鍵盤楽器に限らず、弦楽器
タイプ、管楽器タイプ、打楽器タイプ等の形態でもよ
い。さらに、本発明の楽音発生装置を、音源装置、自動
演奏装置等を内蔵することにより構成するものに限ら
ず、それぞれ別体の装置とされて各装置間を、MIDl
や各種ネットワーク等の通信手段を用いて接続すること
により構成するようにしてもよい。この場合、楽音発生
装置が自動演奏ピアノであってもよい。
【0061】本発明の楽音発生装置における演奏データ
のフォーマットは、演奏イベントの発生時刻を1つ前の
イベントからの時間で表した「イベント+相対時間」、
演奏イベントの発生時刻を曲や小節内における絶対時間
で表した「イベント+絶対時間」、音符の音高と符長あ
るいは休符と休符長で演奏データを表した「音高(休
符)+符長」、演奏の最小分解能毎にメモリの領域を確
保し、演奏イベントの発生する時刻に対応するメモリ領
域に演奏イベントを記憶した「ベタ方式」等、どのよう
な形式でもよい。また、自動演奏のテンポを変更する方
法としては、テンポクロックの周期を変更するものや、
テンポクロックの周期はそのままでタイミングデータの
値を修正するもの、1回の処理においてタイミングデー
タをカウントする値を変更するもの等、どのようなもの
であってもよい。さらに、自動演奏データは、複数のチ
ャンネルのデータが混在した形式であってもよいし、各
チャンネルのデータがトラック毎に分かれているような
形式であってもよい。
【0062】外部記憶装置5の一種であるHDD(ハー
ドディスクドライブ)は制御プログラムや各種データを
記憶しておく記憶装置である。そして、ROM2に制御
プログラムが記憶されていない場合、このHDD内のハ
ードディスクに制御プログラムを記憶させておき、それ
をRAM3に読み込むことにより、ROM2に制御プロ
グラムを記憶している場合と同様の動作をCPU1に実
行させるようにしてもよい。このようにすると、制御プ
ログラムの追加やバージョンアップ等を容易に行うこと
ができるようになる。また、外部記憶装置5の他の一種
であるCD−ROM(コンパクトディスク−リード・オ
ンリ・メモリ)ドライブは、CD−ROMに記憶されて
いる制御プログラムや各種データを読み出す装置であ
る。この読み出した制御プログラムや各種データは、H
DD内のハードディスクにストアされる。したがって、
CD−ROMを用いるようにすると制御プログラムの新
規インストールやバージョンアップ等を容易に行うこと
ができる。なお、このCD−ROMドライブ以外にも、
外部記憶装置5として、フロッピィディスク装置、光磁
気ディスク(MO)装置等、様々な形態のメディアを利
用することができる。
【0063】さらに、インターフェース6を通信インタ
ーフエースとすると、本発明の楽音発生装置をLAN
(ローカルエリアネットワーク)やインターネット、電
話回線等の通信ネットワークに接続することができ、該
通信ネットワークを介して、サーバコンピュータと接続
することができる。したがって、ハードディスク装置内
に制御プログラムや各種データが記憶されていない場合
は、サーバコンピュータからプログラムやデータをダウ
ンロードすることができるようになる。この際に、クラ
イアントとなる本発明の楽音発生装置は、通信インター
フェース及び通信ネットワークを介してサーバコンピュ
ータへプログラムやデータのダウンロードを要求するた
めのコマンドを送信する。サーバコンピュータは、この
コマンドを受け、要求されたプログラムやデータを、通
信ネットワークを介して本発明の楽音発生装置へ配信す
る。本発明の楽音発生装置は、通信インターフエースを
介して、サーバコンピュータから配信されたプログラム
やデータを受信してハードディスク装置等の外部記憶装
置5に格納することにより、プログラムやデータのダウ
ンロードを行うことができる。
【0064】
【発明の効果】以上のように本発明は構成されているの
で、スタッカート的に演奏される演奏データにスウィン
グ処理を施しても、後から発音される音に重なることな
く発音することができるようになる。したがって、スタ
ッカート的な演奏はスィング処理後においても維持され
るようになる。また、この際に同音高の音が連続してい
ても、同音の音が重なって発音されることはないので、
それぞれのアタック部がなくなることはなく、アタック
感を有する発音を行うことができる。さらに、n拍の演
奏データを単位として、n拍中の偶数拍の音にスウィン
グ処理を施すようにしたので、ビートが崩れることを防
止することができる。さらにまた、同音高の発音個数が
ゼロとされたときに、当該音のキーオフ処理を行うよう
にしているので、同音高の音が複数音発音されていると
きには最も遅れている音のキーオフタイミングで消音さ
れるようになる。
【図面の簡単な説明】
【図1】 本発明の楽音発生装置の実施の形態の構成例
を示す機能ブロック図である。
【図2】 本発明の楽音発生装置におけるスウィング処
理を従来のスウィング処理と比較して示すタイミングチ
ャートである。
【図3】 本発明の楽音発生装置におけるステップシー
ケンスデータの構成を示す図である。
【図4】 本発明の楽音発生装置におけるキーオン・キ
ーオフ管理バッファの構成を示す図である。
【図5】 本発明の楽音発生装置におけるスウィング処
理のフローチャートの一部を示す図である。
【図6】 本発明の楽音発生装置におけるスウィング処
理のフローチャートの他の一部を示す図である。
【図7】 本発明の楽音発生装置におけるスウィング処
理のフローチャートの他の一部を示す図である。
【図8】 本発明の楽音発生装置におけるスウィング処
理のフローチャートの他の一部を示す図である。
【図9】 従来のスウィング処理を説明するための図で
ある。
【符号の説明】
1 CPU、2 ROM、3 RAM、4 タイマ、5
外部記憶装置、6 インターフェース、7 鍵盤、8
検出回路、9 スイッチ、10 検出回路、11 表
示回路、12 音源回路、13 効果回路、14 サウ
ンドシステム、15 バス
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/043 G10H 1/00 G10H 1/18

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 連続して発音される二音の内の先に発音
    される音の発音開始タイミングが、当該音の発音開始時
    間データで示される時刻より所定時間遅延されるよう処
    理する遅延処理手段と、 前記二音の先に発音される音の発音継続時間データで示
    されるタイミングが、後に発音される音の発音開始タイ
    ミングより前の時間とされている場合は、前記先に発音
    される音の発音開始タイミングが遅延される所定時間に
    応じて、前記先に発音される音の発音停止タイミング
    が、前記後に発音される音の発音開始タイミングより前
    のタイミングとなるように処理する発音期間処理手段
    と、 からなるスウィング処理手段を備えることを特徴とする
    楽音発生装置。
  2. 【請求項2】 連続して発音される二音の内の先に発音
    される音の発音開始タイミングが、当該音の発音開始時
    間データで示される時刻より所定時間遅延されるよう処
    理する遅延処理手段と、 前記二音の先に発音される音の発音継続時間データで示
    される時刻が、後に発音される音の発音開始時刻より後
    の時間を示すデータとされている場合は、前記遅延処理
    される前記先に発音される音の遅延処理前の発音継続時
    間データで示される時刻のタイミングで、前記先に発音
    される音が発音停止されるように処理する発音期間処理
    手段と、 からなるスウィング処理手段を備えることを特徴とする
    楽音発生装置。
  3. 【請求項3】 前記遅延処理手段において、繰り返し演
    奏されるn拍を単位とする偶数拍に、その発音開始タイ
    ミング遅延さるスウィング処理ようにされて
    いることを特徴とする請求項1あるいは2記載の楽音発
    生装置。
  4. 【請求項4】 少なくとも発音開始時間データと、発音
    継続時間データとからなる演奏データが供給され、 前記発音開始時間データのタイミングで当該音の発音を
    開始する発音開始処理手段と、 該発音開始処理手段により発音開始された音の発音時間
    が、当該音の発音継続時間だけ経過したときに、当該音
    を発音停止させる発音期間処理手段と、 同音高の音が複数音発音されていることを示す音高毎の
    発音個数を示す発音個数表示手段とを備え、 前記発音期間処理手段が、発音停止させる場合は、前記
    発音個数表示手段に示されている当該音の音高の発音個
    数を減じると共に、減じた数値が零とされたときのみ、
    当該音高の音の発音を停止させることを特徴とする楽音
    発生装置。
JP11366197A 1997-04-16 1997-04-16 楽音発生装置 Expired - Fee Related JP3293515B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11366197A JP3293515B2 (ja) 1997-04-16 1997-04-16 楽音発生装置
US09/058,307 US6066793A (en) 1997-04-16 1998-04-09 Device and method for executing control to shift tone-generation start timing at predetermined beat

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11366197A JP3293515B2 (ja) 1997-04-16 1997-04-16 楽音発生装置

Publications (2)

Publication Number Publication Date
JPH10288985A JPH10288985A (ja) 1998-10-27
JP3293515B2 true JP3293515B2 (ja) 2002-06-17

Family

ID=14617955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11366197A Expired - Fee Related JP3293515B2 (ja) 1997-04-16 1997-04-16 楽音発生装置

Country Status (2)

Country Link
US (1) US6066793A (ja)
JP (1) JP3293515B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3542942B2 (ja) 2000-01-28 2004-07-14 埼玉日本電気株式会社 携帯電話機のメロディ設定システム及び方法
WO2006043790A1 (en) * 2004-10-22 2006-04-27 Lg Electronics, Inc. Apparatus and method for reproducing midi file
EP1734508B1 (en) * 2005-06-17 2007-09-19 Yamaha Corporation Musical sound waveform synthesizer
US20080163744A1 (en) * 2007-01-09 2008-07-10 Yamaha Corporation Musical sound generator
EP2043089B1 (en) * 2007-09-28 2012-11-14 Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. Method and device for humanizing music sequences
US7777123B2 (en) * 2007-09-28 2010-08-17 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Method and device for humanizing musical sequences
DE102014007712B4 (de) * 2014-05-28 2017-03-16 Udo Amend Verfahren zur teilautomatischen Erzeugung eines rhythmischen Ausgangssignals aus einem Einzelpulse aufweisenden Eingangssignal, Vorrichtung zur Durchführung eines solchen Verfahrens und Programmprodukt
US9349362B2 (en) * 2014-06-13 2016-05-24 Holger Hennig Method and device for introducing human interactions in audio sequences

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2576619B2 (ja) * 1989-01-13 1997-01-29 ヤマハ株式会社 楽音発生装置
JPH03126088A (ja) * 1989-10-11 1991-05-29 Yamaha Corp 自動演奏装置

Also Published As

Publication number Publication date
US6066793A (en) 2000-05-23
JPH10288985A (ja) 1998-10-27

Similar Documents

Publication Publication Date Title
US6118065A (en) Automatic performance device and method capable of a pretended manual performance using automatic performance data
JPH11126074A (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JP3293515B2 (ja) 楽音発生装置
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP2631722B2 (ja) 自動演奏装置
JP4449370B2 (ja) 自動伴奏生成装置及びプログラム
JP3480327B2 (ja) 演奏データ編集装置及びそのための記憶媒体
JP3587133B2 (ja) 発音長決定方法と装置及び記録媒体
JP3752859B2 (ja) 自動作曲装置と記録媒体
JP3649117B2 (ja) 楽音再生装置及び方法並びに記憶媒体
JP3345453B2 (ja) 自動演奏装置
JP2006267535A (ja) 電子音楽装置
JPH10319961A (ja) 発音タイミング制御装置
JP2713107B2 (ja) 自動演奏装置
JP3637782B2 (ja) データ生成装置と記録媒体
JP3407563B2 (ja) 自動演奏装置及び自動演奏方法
JP3006136B2 (ja) 電子楽器
JP4172366B2 (ja) 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体
JP2024053144A (ja) 自動演奏装置及び自動演奏プログラム
JPH10288984A (ja) 楽音合成装置
JPH06274170A (ja) 自動演奏装置
JP3075750B2 (ja) 自動演奏装置
JP3033393B2 (ja) 自動伴奏装置
JPH06289875A (ja) 自動演奏装置
JPH1124659A (ja) 楽譜表示装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020305

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090405

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090405

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100405

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110405

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120405

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130405

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140405

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees