JP2773648B2 - 電子楽器及び自動演奏装置 - Google Patents

電子楽器及び自動演奏装置

Info

Publication number
JP2773648B2
JP2773648B2 JP6158235A JP15823594A JP2773648B2 JP 2773648 B2 JP2773648 B2 JP 2773648B2 JP 6158235 A JP6158235 A JP 6158235A JP 15823594 A JP15823594 A JP 15823594A JP 2773648 B2 JP2773648 B2 JP 2773648B2
Authority
JP
Japan
Prior art keywords
information
data
tone
sound
sounding
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
JP6158235A
Other languages
English (en)
Other versions
JPH086551A (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 JP6158235A priority Critical patent/JP2773648B2/ja
Priority to US08/490,805 priority patent/US5691495A/en
Publication of JPH086551A publication Critical patent/JPH086551A/ja
Application granted granted Critical
Publication of JP2773648B2 publication Critical patent/JP2773648B2/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/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、時間的に直列に与えら
れる複数の発音情報に基づいて楽音を発生する電子楽
器、及びこの電子楽器に発音情報を与える自動演奏装置
にかかり、特に時間遅れなく複数の楽音を同時発音でき
るようにした電子楽器、及びそのための発音情報を与え
る自動演奏装置に関するものである。
【0002】
【従来の技術】従来、シーケンサ等に演奏情報を記憶し
ておき、記憶した演奏情報を再生して、電子楽器に与
え、再生された演奏情報に基づいて発音することによ
り、自動演奏することが行われている。このようなシー
ケンサ等による自動演奏装置は、演奏者の演奏を忠実に
再現することができるだけでなく、人による演奏では実
現できないような演奏を行う場合にも利用されている。
例えば、人による演奏では、同時に発音するよう指示さ
れている和音においても、微妙な発音タイミングのずれ
が生じることになり、まして、複数の電子楽器のアンサ
ンブル演奏等では、各演奏者のタイミングのずれがさら
に大きくなってしまっていた。また一人で演奏する場合
は、同時に操作できる操作数に限りがあることから同時
発音数が制限され、さらに、手や足等の届かない(同時
に操作できない)音高の楽音を同時に発音すること等が
制限されていた。しかしながら、シーケンサを利用した
自動演奏装置では、これらの問題点の多くを解決するこ
とができるようになる。
【0003】
【発明が解決しようとする課題】ところで、自動演奏装
置を利用した場合においても、演奏情報の転送に関して
は一般にシリアルで演奏情報を転送せざるを得ないの
で、1組の演奏情報を受信し終ってから発音処理をする
ことになるため、発音に若干のずれが生じてしまうこと
になる。しかしながら、自動演奏装置を利用した演奏で
は、発音タイミングなどを厳密に合わせることによって
生じる無機質な演奏を目的とすることが多く、わずかな
ずれといえども、見過ごすことはできない。さらに、自
動演奏の場合は、その特徴を利用して、多数の楽音を同
時に発音させることがあり、この場合においては、人が
演奏する場合に比べて同時に転送される1組の演奏情報
の長さが長くなるため、さらに発音のずれが目立つこと
になっていた。そこで、本発明は同時に発音すべき発音
数が多くても同時発音を実現できる電子楽器、及びこの
電子楽器に発音情報を転送する自動演奏装置を提供する
ことを目的としている。
【0004】
【課題を解決するための手段】前記目的を達成するため
に、本発明の電子楽器は、時間的に直列に配列された複
数の発音情報を与える発音情報供給手段と、前記発音情
報供給手段から供給される時間的に直列に配列された複
数の発音情報のうち、同時に発音すべき複数の発音情報
を抽出する抽出手段と、前記抽出手段により抽出された
複数の発音情報が全て発音可能な状態になったことを検
出する検出手段と、前記検出手段の結果に基づき、前記
抽出手段において抽出された発音情報の全てに発音の開
始を指示する指示手段とから構成されている。 また、前
記電子楽器の前記発音情報供給手段において、同時に発
音すべき楽音情報と判断された楽音情報に同時に発音す
べきことを示す情報を付加することにより前記発音情報
が生成されるようにしてもよい。 さらに、前記電子楽器
において、複数の発音チャンネルを有する楽音合成手段
を有し、全ての発音チャンネルにおいて楽音を発生して
いる際に新たな楽音の発生が指示された場合には、トラ
ンケート処理を行うことにより前記新たな楽音の発生を
行うと共に、前記検出手段が前記トランケート処理の終
了を待って、前記複数の発音情報が全て発音可能な状態
になったことを検出するようにしてもよい。
【0005】前記目的を達成するために、本発明の自動
演奏装置は、記憶手段に記憶された楽音情報を読み出す
読出手段と、前記読出手段により読み出された楽音情報
のうち、同時に発音すべき楽音情報を判断する判断手段
と、前記判断手段において同時に発音すべき楽音情報と
判断された楽音情報に、同時に発音すべきことを示す情
報を付加することにより生成された発音情報を、時間的
に直列に出力する出力手段とを備えている。
【0006】
【作用】本発明の電子楽器によると、発音情報の受信時
に、同時に発音するべき情報であることを検出した場合
は、発音の割り当てのみを行うようにして、全ての同時
発音情報がそろった時点において発音を開始するように
したことにより、従来に比較し厳密な同時発音を実現す
ることができるようになる。さらに、処理に時間のかか
るトランケートなどを行う場合は、同時に発音を指示し
ても、割当の都合でトランケートしなければならない発
音チャンネルに割り当てられた楽音のみ、発音が遅れて
しまうことが考えられるが、本発明によると、全ての楽
音がトランケート処理を含めて発音可能になるまで待機
しているようにしたので、完全な同時発音を実現するこ
とができるようになる。
【0007】また、本発明の自動演奏装置によると、楽
音情報のうち同時に発音すべきデータを判断して、その
旨の情報を付加して本発明にかかる電子楽器に転送する
ようにしたので、電子楽器において前記したように従来
に比較し厳密な同時発音を実現することができるように
なる。
【0008】
【実施例】本発明の自動演奏装置が接続された電子楽器
のブロック図を図1に示すが、自動演奏装置である外部
シーケンサあるいは内部シーケンサと電子楽器とはMI
DIにより接続されている。この図において、1は入力
された自動演奏データを記憶する記憶手段を備え、前記
記憶手段より読出された自動演奏データをMIDI規格
を用いて電子楽器に転送する外部シーケンサ、2はMI
DI規格で転送されたデータを受信するために電子楽器
に設けられているMIDIインタフェース、3は電子楽
器全体を制御して自動演奏時には受信した自動演奏デー
タを楽音合成回路8にバスライン10を介して供給する
ことにより自動演奏楽音を発生させ、マニュアル演奏時
には鍵盤等の演奏操作子の操作に基づいて演奏データを
楽音合成回路8にバスライン10を介して供給すること
により、マニュアル演奏楽音を合成させる等の処理を行
うCPUである。
【0009】また、4は予め設定されている音色データ
やCPU3のプログラムが記憶されているリードオンリ
メモリ(ROM)、5はCPU3のワークメモリとして
用いられると共に、ユーザの設定した音色データ等が記
憶されるランダムアクセスメモリ(RAM)、6は外部
シーケンサと同じ機能を有する電子楽器内に備えられた
内部シーケンサ、7は演奏操作子である鍵盤、および音
色選択スイッチや演奏テンポ設定スイッチ等が設けられ
ている鍵&SW回路、8は供給された演奏データに基づ
いて楽音を合成する楽音合成回路、9は楽音合成回路8
により合成された楽音を増幅してスピーカから発音させ
るサウンドシステムである。このように、電子楽器はM
IDIインタフェース2ないしサウンドシステム9より
構成されるが、電子楽器内に内部シーケンサ6が設けら
れない場合に、外部シーケンサ1が電子楽器に接続され
る。
【0010】本発明の発明の概要を、外部シーケンサ1
あるいは内部シーケンサ6より転送されるMIDI規格
の自動演奏データのフォーマットと、同期発音モードの
タイミングを示す図2を用いて説明する。この図の
(a)において、MIDI規格で転送される演奏データ
は(1)に示すように、1バイトのステータスバイトと
2バイトのデータバイトから構成され、例えばステータ
スバイトが「90H」の場合は第0チャンネルのMID
Iチャンネルにおいてノートオンとなったことを示し、
データバイトの1バイト目の、例えば「3FH」は音高
を表しており、2バイト目の、例えば「70H」はベロ
シティ、すなわち音量を示している。このように、最初
の「90H,3FH,70H」からなる演奏データは、
第0チャンネルにおいて「3FH」の音高で「70H」
の音量により発音をすることを示している。この発音
は、図示するように「70H」のデータバイトが受信し
終った時点において発音される。これを通常発音のモー
ドという。
【0011】続いて、転送された「90H,40H,7
0H」の演奏データにより、第0チャンネルにおいて
「40H」の音高で「70H」の音量により、「70
H」のデータバイトが受信し終った時点において通常発
音される。また、(b)に示すように「F9H」の信号
が受信された場合は、電子楽器は発音のモードを通常発
音モードから同期発音モードに切り替える。同期発音モ
ードは、「F9H」と次に「F9H」が転送されてくる
までの間に転送された演奏データを、2番目の「F9
H」を受信したタイミングで同時発音するモードであ
る。
【0012】すなわち、(b)の(1)に示すように
「F9H」の信号が受信された時に同期信号(Syn
c)を立ち上げる。そして、次に受信された「90H,
40H,70H」の第一音の演奏データ、および「44
H,70H」の第二音の演奏データ、さらに「47H,
70H」の第三音の演奏データに基づき、アサイン等の
発音準備をしておき、2番目の「F9H」の信号が受信
された時点において前記第一音ないし第三音の3つの楽
音を同時発音させる。そして、「F9H」が受信された
時に同期信号(Sync)は立ち下げられる。
【0013】ところで、MIDIデータは前記したよう
に、ステータスバイトとデータバイトとで構成されてい
るが、いくつかのコマンドにおいては、データバイトが
ないものもある。ただし、ステータスバイトは必ずMS
Bが「1」とされており、データバイトはMSBが必ず
「0」とされているため、文脈に関係なくMIDIデー
タを受信した時にステータスバイトとデータバイトを区
別することができる。なお、前記第一音ないし第三音に
おいては『ランニングステータス機能』を利用してい
る。『ランニングステータス機能』はデータの転送容量
を減らすために、受信側が最後に受信したステータスバ
イトを常に記憶しておき、受信したデータバイトは全て
そのステータスに応じて解釈するようにした機能であ
る。すなわち、同一内容のステータスバイトは前記第二
音および第三音のように省略して転送することができ、
「90H」のノートオン(KON)を示すステータスバ
イトを受信した後は、その後受信されるデータは2バイ
トずつ切り出され、前記のように3つのKON情報とし
て解釈されるのである。
【0014】次に、楽音合成回路8の構成を図3に示
し、この図を参照しながら説明する。この図において、
楽音合成回路の一部を構成する音源25は、波形番号
(WAVE N0.)、周波数情報(Freq.N
o.)、エンベロープ情報(LEVEL/RATE)、
キーオンやキーオフ、エンベロープの状態等のステート
(STATE)情報に基づいて楽音を合成する。ある楽
音の発音要求をCPU3から受け取ったインターフェー
ス20は、指示された発音チャンネルに同期したシステ
ムクロック(SYS cl)が所望の発音チャンネルの
タイミングになっている時点で、時分割で転送されたデ
ータをインターフェイス20が受け、音色情報から波形
番号を求めてダブルバッファ21に、音高情報から周波
数情報を求めてダブルバッファ22に、音量情報からエ
ンベロープ情報を求めてダブルバッファ23に、ステー
タスからステート情報を求めてダブルバッファ24に転
送する。ダブルバッファ21〜24はシフトレジスタ1
とシフトレジスタ2とが縦続接続されて構成されてお
り、ダブルバッファ21〜24のそれぞれのシフトレジ
スタ2から出力されている前記した4つのデータが音源
25に供給されている。そして、これらのデータに基づ
いて音源25により合成された楽音はD/A変換器26
によりアナログ信号とされて、サウンドシステム27を
介してスピーカ28から放音される。
【0015】次に、ダブルバッファ21〜24の動作を
図4に示すタイミング図を参照しながら説明する。但
し、この図は発音チャンネルが0〜5の6チャンネルの
場合を示す。 ダブルバッファ21〜24には、図4に
示す第1クロックWR1と第2クロックWR2とが印加
されているが、第1クロックWR1がaとして示すよう
に第2チャンネルタイミングで発生された場合は、第2
チャンネルのデータがダブルバッファ21〜24に取り
込まれるが、この様子を図3に示すダブルバッファ21
の構成を参照して説明する。
【0016】ダブルバッファ21の第1選択回路21−
1の制御端子SAにaに示す第1クロックWR1が印加
されると、入力端子Aよりの波形番号信号を選択してシ
フトレジスタ1中の第2チャンネルの波形番号データを
書き替える。シフトレジスタ1は各発音チャンネルのデ
ータを蓄積できるように構成されており、ある発音チャ
ンネルの波形番号データがシフトレジスタ1から選択回
路21−1の入力端子Bに出力された時に、第1クロッ
クWR1がそのチャンネルタイミングで印加されない場
合は、選択回路21−1が入力端子Bを選択するため、
シフトレジスタ1に蓄積されていた波形番号データが繰
り返し書き込まれることになり、見掛け上波形番号デー
タはシフトレジスタ1中に保持されることになる。
【0017】そして、第2クロックWR2がdに示すよ
うに次の周期のチャンネルタイミングにおける第2チャ
ンネルのタイミングで第2選択回路21−2に印加され
ると、dに示す第2クロックWR2により第2選択回路
21−2は入力端子Aに供給されているシフトレジスタ
1よりの波形番号信号を選択するため、シフトレジスタ
2内の第2チャンネルの波形番号データが書き替えられ
る。なお、第2クロックWR2が印加されない第2チャ
ンネル以外のチャンネルタイミングにおいては、第2選
択回路21−2は入力端子Bを選択しているため、シフ
トレジスタ2から出力された波形番号データは第2選択
回路21−2を介して繰り返しシフトレジスタ2に書き
込まれるため、第2チャンネル以外の波形番号データは
見掛け上保持されるようになる。そして、ダブルバッフ
ァ21〜24は同一の構成とされているので、aとして
示す第1クロックWR1、およびbとして示す第2クロ
ックWR2により、第2チャンネルの演奏データがダブ
ルバッファ21〜24において書き替えられることにな
る。
【0018】また、図4に示す第1クロックWR1のb
により第1チャンネルの演奏データがシフトレジスタ1
において書き替えられ、第1クロックWR1のcにより
第3チャンネルの演奏データがシフトレジスタ1におい
て書き替えられる。そして、チャンネルタイミングの全
期間において発生されているeとして示す第2クロック
WR2により、全発音チャンネルの演奏データがシフト
レジスタ2において書き替えられるが、第1チャンネル
および第3チャンネル以外の発音チャンネルにおいて
は、シフトレジスタ1から出力されるデータが以前と同
一のデータとされているため、第1チャンネルおよび第
3チャンネルの演奏データだけがシフトレジスタ2にお
いて実質的に書き替えられることになる。
【0019】以上説明したように、ダブルバッファ21
〜24内の演奏データが新たな演奏データに書き替えら
れることにより、新たな楽音が音源25から発生される
ようになる。ここで、本発明において複数の楽音を同時
に発音させる場合には、第1クロックWR1によって異
なる発音チャンネルの情報を予め書き替えておき、チャ
ンネルタイミングの全期間において発生された第2クロ
ックWR2によって、一度に音源25に全発音チャンネ
ルの演奏データを転送することにより同時に発音するよ
うにしている。
【0020】なお、エンベロープの形成においては、エ
ンベロープの形状を目標値(LEVEL)とその傾き
(RATE)とで指定するようにされており、音源25
の内部においてシステムクロック毎に各発音チャンネル
独立に、エンベロープの現在値に傾きのデータを加算
し、その値が目標値に到達した時に、レベルインタラプ
ト信号(LEVEL INT)をインターフェイス20
に送って特定の発音チャンネルのエンベロープが目標値
に達したことを知らせる。インターフェイス20はこれ
を受けて新たなエンベロープ情報(LEVEL/RAT
E)を供給したり、ステート(STATE)を変更した
りする。この場合、エンベロープは各発音チャンネルで
独立に動作しているので、これらの値を書き替える場
合、第1クロックWR1と第2クロックWR2との制御
は図4のa,bに示すような各発音チャンネル独立に書
き替えられるタイミングで行うようにする。
【0021】また、特定チャンネルのデータ書き替え処
理は、CPU3からのデータ書き替え要求より優先度が
低く設定される。これは、CPU3側から同時発音のた
めのデータの書き替えが既に指示されている状態など
で、特定チャンネルの書き替えを行う場合、誤ってデー
タが書き替わってしまうことを防止するためである。こ
れらの優先順位の制御はインターフェイス20によって
行われる。以上説明したように、本発明では、異なるタ
イミングで送信したデータでもダブルバッファ21〜2
4にデータを一次保存しておくことにより、同じタイミ
ングで発音を開始させることができるようになる。
【0022】次に、本発明の電子楽器のメインフローを
図5に示す。このフローチャートにおいて、ステップS
10において電源投入時等に各レジスタ等をクリアする
等の初期設定が行われる。そして、ステップS20にお
いて鍵スイッチ等の操作が行われ、ステップS30でキ
ーイベントがあるか否かが検出される。キーイベントが
検出されるとステップS40において鍵イベント処理が
行われ、キーイベントがREQBUFに書き込まれる。
次いで、キーイベントが検出されない場合と同様にステ
ップS50においてREQBUFが走査され、ステップ
S60でデータがあると検出されると、ステップS70
において発音処理が行われる。なお、後述するがMID
IイベントによりREQBUFにデータが書き込まれる
ようにされる。
【0023】そして、データが検出されない場合と同様
に、ステップS80でsync reqが「1」か否か
が検出される。このsync reqは2度目にF9H
を受信した時に「1」にセットされ、「1」と検出され
るとステップS90においてSYNCBUFの状態情報
が全て準備完了を示すREADYとされているか否かが
検出される。READYであると検出された場合は、同
期発音情報の準備が完了したことになるのでステップS
100において、楽音合成回路にKON情報が送出さ
れ、同期発音情報に基づいて発音されるようになる。次
いで、スタップS110においてSYNCBUFに登録
されている全データが消去され、さらにステップS12
0においてsync reqが「0」にセットされて、
次の同期発音情報を受けられるようにされる。そして、
ステップS80でsync reqが「1」と検出され
ない場合、およびステップS90でSYNCBUFの状
態が全てREADY状態と検出されない場合と同様に、
ステップS20に戻り、前記したメインフロー処理が繰
り返し行われる。
【0024】次に、MIDIデータが受信された場合に
行われるMIDI割込み処理のフローチャートを図6に
示す。このフローチャートのステップS200におい
て、受信されたMIDIデータをdataレジスタにセ
ットし、ステップS210においてそのデータのMSB
を判断することにより、ステータスバイト(stata
s byte)か否かが検出される。ステータスバイト
と判断された場合は、ステップS220においてdat
aレジスタのデータがSTとしてセットされる。次い
で、ステップS240においてデータバイト長(dt
len)がSTに応じて決定される。これは、MIDI
規格においてはステータスに応じて必要とするデータバ
イト長が異なるためであり、ノートオンやノートオフの
場合は2バイトのデータバイトを必要とするが、例えば
プログラムチェンジの場合は1バイトのデータバイトを
必要とし、またデータバイトを必要としないものもある
からである。
【0025】そして、ステップS240においてDAT
ABUFがクリアされる。また、ステータスバイトとス
テップS210において判断されない場合は、データバ
イトであるからステップS250においてdataレジ
スタのデータがDATABUFに保存され、さらにステ
ップS260において1バイト減算されたデータバイト
長がデータバイト長(dt len)とされる。これ
は、ステップS250において1バイトずつのデータを
DATABUFに取り込むようにしているからである。
続いて、ステップS240の処理を終了した場合と同様
にステップS270においてdt lenが「0」か否
かが検出され、「0」と検出されると、1演奏データと
して必要なデータが全て取り込まれたと判断され、ステ
ップS280においてMIDIイベント処理が行われ
る。
【0026】そして、ステップS290においてdt
lenとしてSTに応じて決定されたデータバイト長が
セットされ、さらにステップS300においてDATA
BUFがクリアされて割込み処理は終了する。すなわ
ち、MIDIイベントとして解釈されたデータバイトは
DATABUFから消去されるようになる。
【0027】次に、MIDIイベント処理のフローチャ
ートを図7に示すが、このフローチャートのステップS
400において、ステータスバイトSTが「KON」か
否かが検出され、「KON」と検出された場合は、ステ
ップS410においてDATABUFの発音情報(キー
コードとベロシティの2バイト)がREQBUFに書き
込まれる。次いで、ステップS420においてsync
が「1」とされているか否かが検出される。syncが
「1」の場合は同期発音モードであるので、ステップS
430に進みSYNCBUFに同期発音情報のキーコー
ドが記録されると共に、待ち状態を示すWAITが書き
込まれリターンされる。このWAIT情報は発音チャン
ネルが割り当てられた時点において準備完了を示すRE
ADYに書き替えられる。また、ステップS420にお
いてsyncが「1」と検出されない場合は、同時発音
をしないモードであるのでそのままリターンされる。
【0028】また、ステップS400においてステータ
スバイトSTが「KON」と検出されない場合は、ステ
ップS440においてステータスバイトSTが「KOF
F」か否かが検出され、「KOFF」と検出された場合
は、ステップ450に進みDATABUFのキーオフの
発音情報がREQBUFに書き込まれリターンされる。
このように、キーオフの場合はキーオンのように厳密な
同時制御を行っていない。これは、同時制御することな
くキーオフをしても、実際には楽音は減衰しながら発音
されているので、同時にキーオフ処理されたかどうかを
聞き分けることが困難であり、同時制御することが無意
味であるからである。
【0029】さらに、ステップS440においてステー
タスバイトSTが「KOFF」と検出されない場合は、
ステップS460においてステータスバイトSTが「F
9(SYNC)」か否かが検出され、「F9」と検出さ
れるとステップS470においてsyncが反転され発
音モードが切り替えられる。次いで、ステップS480
においてsyncが「0」か否かが検出され、「0」と
検出された場合は同時発音制御を行う時点であるため、
とステップS490においてsync reqが「1」
に設定され、リターンされる。この場合、前記図5に示
すステップS90以下の処理が有効化されることにな
る。このように、sync reqはトランケートなど
の付属的な時間のずれを考えない同時発音制御を行うた
めの信号であり、sync req信号のセットをもっ
てキーオンの処理を行うようにしても良い。また、ステ
ータスバイトが「F9」でもない場合は、ステップS5
00においてその他MIDIイベント処理が行われてリ
ターンされる。
【0030】なお、図8に各種バッファに格納されるデ
ータを示している。DATABUFにはDataが格納
されると共に、Dataが読出されるバッファであり、
REQBUFはMIDIイベントが完成した時点におい
てデータが登録され、このバッファから1つずつデータ
を読み出すことにより発音処理が行われる。このバッフ
ァにはキーオン(KON)あるいはキーオフ(KOF
F)のキーイベント(Key Event ),キーコード(Key
Code),ベロシティ(Velocity)が格納される。TWB
UFはトランケートウェイトバッファであり、同時発音
するための発音チャンネルの内の少なくとも1つの発音
チャンネルがトランケート中の場合に、トランケート処
理が終了したことを待って同時発音させるために、現在
トランケート中の発音チャンネル(Assign Ch.),キー
イベント(Key Event ),キーコード(Key Code),ベ
ロシティ(Velocity)のデータが格納される。また、S
YNCBUFは、キーコード(Key Code)とキーコード
の状態(State )が格納されるが、キーコードの状態は
発音の準備が完了された状態のREADYと、まだ準備
が完了されていない待ち状態のWAITとがある。
【0031】次に、発音処理のフローチャートを図9に
示す。この発音処理はREQBUFに何らかのデータが
ある場合に行われる処理であり、フローチャートのステ
ップS600において、REQBUFより発音情報が取
り出され、この発音情報がKON情報か否かがステップ
S610において判断され、KON情報と判断される
と、ステップS620において空きチャンネルが探さ
れ、ステップS630において空きチャンネルがあると
判断されると、ステップS670に進みその空きチャン
ネルに発音チャンネルを割り当てる発音割当処理が行わ
れてリターンされる。また、ステップS630において
空きチャンネルがあると判断されなかった場合は、空き
チャンネルを作成するためにステップS640におい
て、トランケートする発音チャンネルを決定し、トラン
ケート要求を楽音合成回路に送出する。
【0032】この場合、楽音合成回路のインターフェイ
スにトランケートすべき発音チャンネルとトランケート
指示信号を通知すれば、エンベロープのLEVELを0
に、RATEをノイズを出さないぎりぎりの傾きに設定
し、エンベロープが0(あるいはある閾値以下)になっ
た時に楽音合成回路から割込処理によりトランケートの
終了を通知する。従って、CPU3はどのキーコードに
対してどの発音チャンネルをトランケートしているのか
を記憶するだけでよく、TWBUFにその情報を記憶し
て、トランケートの終了の通知を待つようにすればよ
い。そこで、ステップS650においてTWBUFにト
ランケート待ち情報が記録されてリターンされる。ま
た、ステップS610においてKON情報と判断されず
KOFF情報の場合は、ステップS660においてキー
オフする楽音を発音している発音チャンネルにKOFF
が送出され、リターンされる。
【0033】空きチャンネルが存在した場合は、前記し
たように発音割り当て処理が行われるが、そのフローチ
ャートを図10に示す。このフローチャートのステップ
S700において、CPU3が内部に持っている発音チ
ャンネル情報が書き替えられる。ここには、発音してい
る楽音の音高、いつ発音したか、既に離鍵されたかなど
の情報が書き込まれ、前記した発音チャンネルの割り当
てやトランケートチャンネルの選定に利用される。次い
で、ステップS710においてキーコードおよび音色情
報などが楽音合成回路の特定の発音チャンネルに転送さ
れる。これにより、前記したダブルバッファのシフトレ
ジスタ1にデータが書き込まれることになるが、発音は
まだ行われない。そして、ステップS720においてs
yncが「0」と検出された場合は、同時発音制御を行
わない場合であるから、ステップS730において楽音
合成回路8にKON情報が送出されリターンされる。
【0034】これにより、前記したダブルバッファのシ
フトレジスタ2にシフトレジスタ1のデータが書き込ま
れて音源25に新たな発音の開始が指示されることにな
る。この場合、KON情報を送出すると全発音チャンネ
ルのデータが書き替えられるが、シフトレジスタ1にお
いて書き替えられているデータは1つの発音チャンネル
だけなので問題は生じない。また、ステップS720に
おいてsyncが「0」でない、すなわち「1」の場合
は同時発音制御を行う場合であるから、KON情報をこ
こでは送出せずステップS740においてSYNCBU
Fの対応する発音情報のキーコードの状態をWAITか
らREADYに変更する。そして、全てのキーコードの
状態がREADYに変更された時に、前記図5に示すメ
インフローにおいてKONが送出されることになる。
【0035】前記図9に示す発音処理において要求され
たトランケート処理が、楽音合成回路8において終了す
ると、図11に示すフローチャートのトランケート終了
割込処理が行われる。このフローチャートのステップS
800において、トランケート処理が終了した発音チャ
ンネルがTFCとされる。そして、ステップS810に
おいてTFCと一致するTWBUFのAssign Ch が参照
されることにより、元々の発音情報を得ることができ、
これを元に発音割当処理がステップS830において行
われるが、その前にステップS820においてTWBU
Fの対応する情報が消去される。ステップS830にお
いて図10に示す発音割当処理が終了した時に、同時発
音の場合はSYNCBUFの状態がREADYに変更さ
れる。そして、全ての発音情報の状態がREADYにな
ると、前記図5に示すメインフローにより楽音合成回路
8にKONが送出され、全ての楽音が同時に発音される
と共に、SYNCBUFの内容がクリアされるようにな
る。
【0036】以上説明したように、異なるタイミングで
楽音合成回路に転送した発音要求も、最後に発音要求を
待つことにより、厳密な同時発音が補償されるようにな
る。また、トランケート処理等の時間のかかる処理を待
つことにより、それらの場合においての同時発音も考慮
されている。なお、楽音合成装置8の音源25は異なる
チャンネルタイミングで時分割多重動作により複数の発
音チャンネルの楽音を合成しているが、これらの楽音デ
ータはD/A変換器26においてD/A変換される時点
で同一タイミングになるよう累算されるため、サウンド
システム27から発音される時には完全に同一のタイミ
ングで発音されることになる。
【0037】次に、自動演奏装置であるシーケンサの内
部に記憶されているシーケンスデータのフォーマットを
図13に示すが、この図に示すシーケンスデータの内容
がシーケンサにより再生されてMIDI規格で送出され
た場合、図2(a)(1)の前半に示す一つの発音情報
のデータフォーマット、および同図(b)(1)に示す
データフォーマットとなる。 シーケンサは図13に示
すデータを左側から順次読出して再生していくが、「d
45」のデータはイベントとイベントの間のデュレーシ
ョンのデータであり、ここで示されるデュレーションに
相当する期間だけ待機されて、次のイベントを出力する
ようにされる。また、2つ目の発音情報と3つ目および
4つ目の発音情報間にはデュレーションデータがなく、
この3つの発音情報は同時発音すべき発音情報であるこ
とがわかる。なお、この場合『ランニングステータス機
能』を利用すると、3つ目と4つ目の発音情報の「9
0」は送出を省略することができる。
【0038】このような処理を行うシーケンサの再生処
理のフローチャートを図12に示す。このフローチャー
トのステップS900において、メモリより図13に示
すようなシーケンスデータを読み出し、ステップS91
0において読出されたシーケンスデータが発音情報か否
かが判断され、発音情報と判断された場合はステップS
920において同時発音すべきデータか否かが判断され
る。ここで、先読みした発音情報間にデュレーションデ
ータがなく同時発音すべきデータと判断された場合は、
ステップS930において「F9H」が出力される。そ
して、ステップS940においてランニングステータス
を利用してステータスバイトを省略した同時発音データ
を送出し、さらに、ステップS950において「F9
H」を出力して、前記した図2(b)に示すようなMI
DIデータが送出されるようになる。
【0039】そして、ステップS980においてさらに
データがあるか否かが判断され、データがあると判断さ
れた場合はステップS900に戻り、前記した再生処理
が繰り返し行われるが、データがない場合はリターンさ
れる。また、ステップS910において読み出したデー
タが発音情報でない場合は、ステップS960において
その他情報処理が行われてステップS980の処理に移
行し、ステップS920において同時発音すべきデータ
と判断されない場合は、ステップS970に進みその発
音データが送出される。
【0040】なお、同時発音の区切りは前記説明したよ
うに特別な区切りコードを用意するのではなく、ランニ
ングステータス機能を利用して送られてきた発音情報な
どを利用しても良い。この場合、同時発音の開始はラン
ニングステータスの開始で、終了は所定時間以上データ
の受信がない場合などが考えられる。但し、この方式よ
りは前記説明した区切りコードを用いる方式の方が時間
応答性にすぐれており好適である。
【0041】また前記説明したとおり、トランケートに
かかる時間を無視した形で利用するようにしても良い。
すなわち、同時発音と認識した複数の楽音の割当を行
い、割当行為の終了を持って同時発音情報を送出する。
これにより、トランケートが起こる場合には、トランケ
ートに該当してしまったチャンネルのみは発音がずれる
ようになるものの、その確率は低く、さらに発音を速く
立ち上げることができるようになる。前記の説明おいて
は、キーオフの同期はあまり効果がないと説明したが、
キーオフ時にキーオフノイズを発生させるような特殊な
楽音においては、キーオンと同じように同期制御を行う
ようにしても良い。すなわち、キーオフのタイミングが
明確に聞き分けられるものにおいては、本発明は有効で
ある。
【0042】さらに、同時発音の条件が達成されるま
で、無限に待つようにしているが所定時間経過後は、そ
の時点でそろっている発音を強制的に発音させるように
しても良い。これにより、装置の問題により、誤って同
期発音モードに入る信号を受信してしまった場合や、発
音チャンネルがいっぱいでトランケートに長い時間がか
かってしまう場合などにおいて、大きな時間後れを生じ
ることなく楽音の発音を行うことができるようになる。
【0043】
【発明の効果】本発明は以上のように構成されており、
発音情報の受信時に、同時に発音するべき情報であるこ
とを検出した場合は、発音の割り当てのみを行うように
して、全ての同時発音情報がそろった時点において発音
を開始するようにしたので、従来に比較し厳密な同時発
音を実現することができるようになる。さらに、処理に
時間のかかるトランケートなどを行う場合は、同時に発
音を指示しても、割当の都合でトランケートしなければ
ならない発音チャンネルに割り当てられた楽音のみ、発
音が遅れてしまうことが考えられるが、本発明による
と、全ての楽音がトランケート処理を含めて発音可能に
なるまで待機しているようにしたので、完全な同時発音
を実現することができるようになる。
【図面の簡単な説明】
【図1】 本発明の自動演奏装置が接続された電子楽器
のブロック図である。
【図2】 自動演奏装置から電子楽器に転送されるデー
タのフォ−マットである。
【図3】 楽音合成回路の詳細を示すブロック図であ
る。
【図4】 楽音合成回路の動作を説明するためのタイミ
ング図である。
【図5】 本発明の電子楽器のメインフローのフローチ
ャートである。
【図6】 本発明の電子楽器のMIDI割込処理のフロ
ーチャートである。
【図7】 本発明の電子楽器のMIDIイベント処理の
フローチャートである。
【図8】 本発明の電子楽器の各種バッファのデータ格
納内容を示す図である。
【図9】 本発明の電子楽器の発音処理のフローチャー
トである。
【図10】 本発明の電子楽器の発音割当処理のフロー
チャートである。
【図11】 本発明の電子楽器のトランケート終了割込
処理のフローチャートである。
【図12】 本発明の自動演奏装置のシーケンサ再生処
理のフローチャートである。
【図13】 本発明の自動演奏装置のシーケンスデータ
のフォ−マットを示す図である。
【符号の説明】
1 外部シーケンサ、2 MIDIインタフェース、3
CPU、4 ROM、5 RAM、6 内部シーケン
サ、7 鍵&SW回路、8楽音合成回路、9 サウンド
システム、10 バスライン、20 インターフェイス
21〜24 ダブルバッファ、21−1,21−2
選択回路、25 音源、26 D/A変換器、27 サ
ウンドシステム、28 スピーカ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 時間的に直列に配列された複数の発音情
    報を与える発音情報供給手段と、前記発音情報供給手段から供給される時間的に直列に配
    列された複数の 発音情報のうち、同時に発音すべき複数
    の発音情報を抽出する抽出手段と、 前記抽出手段により抽出された複数の発音情報が全て発
    音可能な状態になったことを検出する検出手段と、 前記検出手段の結果に基づき、前記抽出手段において抽
    出された発音情報の全てに発音の開始を指示する指示手
    段とからなることを特徴とする電子楽器。
  2. 【請求項2】 前記発音情報供給手段において、同時に
    発音すべき楽音情報と判断された楽音情報に同時に発音
    すべきことを示す情報を付加することにより前記発音情
    報が生成されていることを特徴とする請求項1記載の電
    子楽器。
  3. 【請求項3】 複数の発音チャンネルを有する楽音合成
    手段を有し、全ての発音チャンネルにおいて楽音を発生
    している際に新たな楽音の発生が指示された場合には、
    トランケート処理を行うことにより前記新たな楽音の発
    生を行うと共に、前記検出手段が前記トランケート処理
    の終了を待って、前記複数の発音情報が全て発音可能な
    状態になったことを検出するようにしたことを特徴とす
    る請求項1記載の電子楽器。
  4. 【請求項4】 記憶手段に記憶された楽音情報を読み出
    す読出手段と、 前記読出手段により読み出された楽音情報のうち、同時
    に発音すべき楽音情報を判断する判断手段と、 前記判断手段において同時に発音すべき楽音情報と判断
    された楽音情報に、同時に発音すべきことを示す情報を
    付加することにより生成された発音情報を、時間的に直
    列に出力する出力手段とを備えることを特徴とする自動
    演奏装置。
JP6158235A 1994-06-17 1994-06-17 電子楽器及び自動演奏装置 Expired - Fee Related JP2773648B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6158235A JP2773648B2 (ja) 1994-06-17 1994-06-17 電子楽器及び自動演奏装置
US08/490,805 US5691495A (en) 1994-06-17 1995-06-15 Electronic musical instrument with synchronized control on generation of musical tones

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6158235A JP2773648B2 (ja) 1994-06-17 1994-06-17 電子楽器及び自動演奏装置

Publications (2)

Publication Number Publication Date
JPH086551A JPH086551A (ja) 1996-01-12
JP2773648B2 true JP2773648B2 (ja) 1998-07-09

Family

ID=15667234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6158235A Expired - Fee Related JP2773648B2 (ja) 1994-06-17 1994-06-17 電子楽器及び自動演奏装置

Country Status (2)

Country Link
US (1) US5691495A (ja)
JP (1) JP2773648B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997042734A1 (fr) 1996-05-07 1997-11-13 Yamaha Corporation Procede et dispositif de transmission de donnees
US6462264B1 (en) 1999-07-26 2002-10-08 Carl Elam Method and apparatus for audio broadcast of enhanced musical instrument digital interface (MIDI) data formats for control of a sound generator to create music, lyrics, and speech
JP3582444B2 (ja) * 2000-01-28 2004-10-27 ヤマハ株式会社 音楽情報データ通信方法、音楽情報データ送信装置、音楽情報データ受信装置および記憶媒体
JP2002358080A (ja) * 2001-05-31 2002-12-13 Kawai Musical Instr Mfg Co Ltd 演奏制御方法、演奏制御装置及び楽音発生装置
EP2950851B1 (en) 2013-01-29 2017-01-25 Sanofi-Aventis Deutschland GmbH Drug delivery device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59181394A (ja) * 1983-03-31 1984-10-15 ヤマハ株式会社 電子楽器
JPH0743591B2 (ja) * 1988-03-08 1995-05-15 ヤマハ株式会社 楽音発生制御装置
US5206446A (en) * 1989-01-18 1993-04-27 Casio Computer Co., Ltd. Electronic musical instrument having a plurality of tone generation modes
JPH03212692A (ja) * 1990-01-18 1991-09-18 Matsushita Electric Ind Co Ltd 電子楽器の楽音制御装置
JP2641605B2 (ja) * 1990-08-06 1997-08-20 株式会社河合楽器製作所 電子楽器のチャンネル割り当て装置及びチャンネル割り当て方法
JP2650488B2 (ja) * 1990-11-29 1997-09-03 ヤマハ株式会社 電子楽器の楽音制御方法
US5446237A (en) * 1992-01-08 1995-08-29 Yamaha Corporation Electronic musical instrument having a control section memory for generating musical tone parameters
US5525748A (en) * 1992-03-10 1996-06-11 Yamaha Corporation Tone data recording and reproducing device

Also Published As

Publication number Publication date
US5691495A (en) 1997-11-25
JPH086551A (ja) 1996-01-12

Similar Documents

Publication Publication Date Title
JP2003316356A (ja) デジタルオーディオデータに演奏データを重畳し、またはデジタルオーディオデータから演奏データを抽出する方法および装置
KR100386403B1 (ko) 하드웨어및소프트웨어음원을이용하는악음발생방법
AU3890301A (en) A method of compressing a midi file
JP2773648B2 (ja) 電子楽器及び自動演奏装置
JP3407610B2 (ja) 楽音生成方法および記憶媒体
JP3707300B2 (ja) 楽音発生装置用拡張ボード
JP2000181447A (ja) 音楽情報送信装置、音楽情報受信装置、音楽情報送受信装置、及び記憶媒体
EP0653710B1 (en) Speech information processing
JPH11161288A (ja) カラオケ装置およびカラオケシステム
JP4311485B2 (ja) カラオケ装置
JP4552769B2 (ja) 楽音波形合成装置
JPH08202357A (ja) 電子楽器
JP2669295B2 (ja) 自動演奏装置および演奏情報の記録媒体
JPH0413192A (ja) 電子楽器
JP2862062B2 (ja) カラオケ装置
JPH1031486A (ja) 演奏データ記憶再生方法および装置
JP3407563B2 (ja) 自動演奏装置及び自動演奏方法
JP3166670B2 (ja) カラオケ装置および自動演奏装置
JP3166671B2 (ja) カラオケ装置および自動演奏装置
JP2616233B2 (ja) 演奏動作玩具
JP3843772B2 (ja) 自動伴奏装置及びプログラム
JP2000035785A (ja) カラオケ装置
JPH08129394A (ja) カラオケ装置
JPH0631960B2 (ja) 自動演奏装置
JP2001282243A (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: 19980324

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

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090424

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100424

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110424

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees