JPH07244479A - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH07244479A
JPH07244479A JP6058377A JP5837794A JPH07244479A JP H07244479 A JPH07244479 A JP H07244479A JP 6058377 A JP6058377 A JP 6058377A JP 5837794 A JP5837794 A JP 5837794A JP H07244479 A JPH07244479 A JP H07244479A
Authority
JP
Japan
Prior art keywords
timing
event
data
velocity
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6058377A
Other languages
English (en)
Other versions
JP3552264B2 (ja
Inventor
Hiroshi Miyamoto
弘 宮本
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 JP05837794A priority Critical patent/JP3552264B2/ja
Priority to US08/396,683 priority patent/US5654517A/en
Publication of JPH07244479A publication Critical patent/JPH07244479A/ja
Application granted granted Critical
Publication of JP3552264B2 publication Critical patent/JP3552264B2/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)

Abstract

(57)【要約】 【目的】 発音タイミングを微妙にずらし、生演奏のよ
うな感情表現の豊かな自動演奏を行えるようにする。 【構成】 演奏データ供給手段は、演奏データを記憶し
ている記憶媒体等から演奏データを読み出して、発音手
段に供給する。演奏データは、発音タイミングを設定す
る情報とその他の楽音の設定又は制御のための情報とを
含むものである。発音手段は、このような演奏データの
供給を受け、これに対応した楽音を発音する。このと
き、発音タイミング制御手段は、演奏データに含まれる
発音タイミング設定情報以外の所定の情報の内容、例え
ば音量情報の大きさに応じて発音タイミング設定情報に
よって設定された発音タイミングを遅らせたり、進めた
りする。これによって、楽音の発音タイミングを微妙に
ずらすことができるので、生演奏のような表現力ある演
奏を行うことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はシーケンサ等の自動演
奏装置あるいは自動リズム演奏装置に係り、特に自動演
奏中に発音タイミングを容易に変更できるタイミング変
更機能を有する自動演奏装置に関する。
【0002】
【従来の技術】従来の自動演奏装置は、演奏順序に従っ
て演奏データを記憶しており、その演奏データを順序に
読み出して所定のタイミングで発音している。一方、人
間が同じ譜面を演奏する場合には、演奏の進行に連れて
感情が変化したり、聴取者の反応にさらに演奏者が反応
したりすることで、毎回演奏の表情が異なる。これが生
演奏の音楽表現の良さでもある。
【0003】しかしながら、従来の自動演奏装置は、い
わばレコードを再生するのと同様で、記録されている内
容のものを毎回正確に再生することは可能だが、生演奏
のような、その場での感情表現を行うことはできないた
め、単調な演奏しか行えないという問題があった。そこ
で、最近は、特開平5−73036号公報に記載された
ような、演奏データの発音タイミングを微妙にずらすこ
とによって人間味のある演奏を行えるようにした自動演
奏装置がある。これは、所定の演奏タイミング毎(例え
ば、一拍毎、1クロック毎など)に発音タイミングをど
れくらいずらすかを示した「ずれパターンデータ」を予
め用意しておき、自動演奏の際にこの「ずれパターンデ
ータ」に基づいて演奏データの発音タイミングをずらす
ようにしている。
【0004】
【発明が解決しようとする課題】従来の自動演奏装置
は、演奏データの他に多数の「ずれパターンデータ」を
用意しておかなければならないという問題がある。ま
た、従来の自動演奏装置は、予め用意しておいた「ずれ
パターンデータ」の通りにしか発音タイミングをずらす
ことができず、元の演奏データがどのようなものであっ
ても、ずれ方がみな同じになってしまうという問題があ
る。
【0005】この発明は、このような従来技術の欠点に
鑑み、微妙に発音タイミングをずらした生演奏のような
感情表現の豊かな自動演奏を行うことができる自動演奏
装置を提供することを目的とする。
【0006】
【課題を解決するための手段】この発明に係る自動演奏
装置は、発音タイミングを設定する情報とその他の楽音
の設定又は制御のための情報とを含む演奏データを供給
する演奏データ供給手段と、前記演奏データに対応した
楽音を発音する発音手段と、前記発音手段によって楽音
を発音する際に、前記発音タイミング設定情報によって
設定された発音タイミングを、前記演奏データに含まれ
る前記発音タイミング設定情報以外の所定の情報の内容
に応じて可変制御するタイミング変更手段とを備えるも
のである。
【0007】
【作用】この発明において、演奏データ供給手段は、演
奏データを記憶している記憶媒体等から演奏データを読
み出して、発音手段に供給する。演奏データは、発音タ
イミングを設定する情報とその他の楽音の設定又は制御
のための情報とを含むものである。その他の楽音の設定
又は制御のための情報とは、音高情報や音量情報のこと
である。発音手段は、このような演奏データの供給を受
け、これに対応した楽音を発音する。このとき、発音タ
イミング制御手段は、演奏データに含まれる発音タイミ
ング設定情報以外の所定の情報の内容、例えば音量情報
の大きさに応じて発音タイミング設定情報によって設定
された発音タイミングを遅らせたり、進めたりする。こ
れによって、この発明の自動演奏装置は、「ずれパター
ンデータ」等を特別に設けなくても、微妙にタイミング
をずらして発音することができるので、生演奏のような
表現力ある演奏を行うことができる。
【0008】
【実施例】以下、添付図面を参照してこの発明の一実施
例を詳細に説明する。図2はこの発明に係る自動演奏装
置を適用した電子楽器の一実施例を示すハード構成ブロ
ック図である。この実施例においては、CPU20、プ
ログラムROM21、データ及びワーキングRAM22
を含むマイクロコンピュータの制御の下に各種の処理が
実行されるようになっている。この実施例では1つのC
PU20によって押鍵検出処理や自動演奏処理等を行う
電子楽器を例に説明する。
【0009】マイクロプロセッサユニット(CPU)2
0は、この電子楽器全体の動作を制御するものである。
このCPU20に対して、データ及びアドレスバス37
を介してプログラムROM21、データ及びワーキング
RAM22、押鍵検出回路23、スイッチ検出回路2
4、アナログ−デジタル変換器(ADC)25、MID
Iインターフェース(I/F)26、音源回路27、フ
ロッピディスクドライブ28及びタイマ29が接続され
ている。
【0010】プログラムROM21はCPU20のシス
テムプログラムや自動演奏パターンデータや楽音に関す
る各種パラメータや各種データを格納するものであり、
リードオンリーメモリ(ROM)で構成されている。デ
ータ及びワーキングRAM22は、演奏データやCPU
20がプログラムを実行する際に発生する各種の演奏デ
ータや各種データを一時的に記憶するものであり、ラン
ダムアクセスメモリ(RAM)の所定のアドレス領域が
それぞれ割り当てられ、レジスタやフラグ等として利用
される。フロッピディスク36は、複数曲分の演奏デー
タを記憶し、所望の曲の演奏データをデータ及びワーキ
ングRAM22に転送して、その曲の演奏を行えるよう
にする。このフロッピディスク36は、フロッピディス
クドライブ28によって駆動される。
【0011】鍵盤30は、発音すべき楽音の音高を選択
するための複数の鍵を備えており、各鍵に対応したキー
スイッチを有しており、また必要に応じて押圧力検出装
置等のタッチ検出手段を有している。鍵盤30は音楽演
奏のための基本的な操作子であり、これ以外の演奏操作
子でもよいことはいうまでもない。
【0012】押鍵検出回路23は、発生すべき楽音の音
高を指定する鍵盤30のそれぞれの鍵に対応して設けら
れたキースイッチ回路を含むものである。この押鍵検出
回路23は、鍵盤30の離鍵状態から押鍵状態への変化
を検出してキーオンイベントを出力し、押鍵状態から離
鍵状態への変化を検出してキーオフイベントを出力する
と共にそれぞれのキーオンイベント及びキーオフイベン
トに関する鍵の音高を示すキーコード(ノートナンバ)
を出力する。押鍵検出回路23は、この他にも鍵押し下
げ時の押鍵操作速度や押圧力等を判別してベロシティデ
ータやアフタタッチデータとして出力する。
【0013】スイッチ検出回路24は、パネルスイッチ
31に設けられた各々の操作子(スイッチ)に対応して
設けられており、各々の操作子の操作状況に応じた操作
データをイベント情報として出力する。パネルスイッチ
31は、発生すべき楽音の音色、音量、音高、効果等を
選択、設定、制御するための各種の操作子を含むもので
ある。
【0014】フットペダル32は操作者の足によって操
作される操作子の一種であり、可動部材と固定部材とか
ら成り、可動部材の操作角度に応じたアナログの角度信
号を出力する。アナログ−デジタル変換器25はフット
ペダル32から出力されるアナログの角度信号を0〜1
の値を示すデジタルのペダル信号に変換する。フットプ
ダル32の踏み込み量が最大の場合に大きさ『1』のペ
ダル信号が、踏み込み量が最小、すなわち操作されてい
ない場合に大きさ『0』のペダル信号が、踏み込み量が
中間に位置する場合には『0』〜『1』の範囲の大きさ
のペダル信号がアナログ−デジタル変換器25から出力
される。
【0015】音源回路27は、複数のチャンネルで楽音
信号の同時発生が可能であり、データ及びアドレスバス
37を経由して与えられた演奏データ(MIDI規格に
準拠したデータ)を入力し、この演奏データに基づき楽
音信号を発生する。音源回路27における楽音信号発生
方式はいかなるものを用いてもよい。例えば、発生すべ
き楽音の音高に対応して変化するアドレスデータに応じ
て波形メモリに記憶した楽音波形サンプル値データを順
次読み出すメモリ読み出し方式、又は上記アドレスデー
タを位相角パラメータデータとして所定の周波数変調演
算を実行して楽音波形サンプル値データを求めるFM方
式、あるいは上記アドレスデータを位相角パラメータデ
ータとして所定の振幅変調演算を実行して楽音波形サン
プル値データを求めるAM方式等の公知の方式を適宜採
用してもよい。
【0016】音源回路27から発生される楽音信号は、
デジタル−アナログ変換器(DAC)34及びサウンド
システム35(アンプ及びスピーカからなる)を介して
発音される。MIDI機器33は、MIDI規格に準拠
した演奏データを発生するものであり、MIDIキーボ
ードや他の電子楽器等で構成される。MIDI機器33
からの演奏データは、MIDIインターフェース(I/
F)26、データ及びアドレスバス37を介してCPU
20に取り込まれる。
【0017】タイマ29は時間間隔を計数したり、自動
演奏のテンポを設定したりするためのテンポクロックパ
ルスを発生するものであり、このテンポクロックパルス
の周波数はパネルスイッチ31上のテンポスイッチ(図
示していない)によって調整される。発生したテンポク
ロックパルスはCPU20に対してインタラプト命令と
して与えられ、CPU20はインタラプト処理により自
動演奏の各種処理を実行する。この実施例においてはテ
ンポクロックパルスは4分音符につき96回発生される
ものとする。
【0018】図3は、外部のMIDI機器33からMI
DIインターフェース26を介して供給された演奏デー
タがCPU20によってどのように検出され、どのよう
に記録されるかを示す図である。図3(A)はCPU2
0によって検出された演奏データの構成を示し、図3
(B)はCPU20によって記録された演奏データの構
成を示す図である。この実施例では、各イベントA,
B,Cのタイミングデータは、そのベロシティの大きさ
に応じて可変制御されて、記憶装置(RAM22又はフ
ロッピディスク36)に記憶される。
【0019】MIDI機器33は演奏データをイベント
方式で発生するので、CPU20はその発生イベント毎
にノートナンバ及びベロシティを検出する。そして、C
PU20はテンポクロックパルスに基づいてイベント検
出のタイミングを決定し、これをタイミングデータとす
る。タイミングデータは、各楽音毎の発音タイミングを
示すデータであり、前回のイベント検出時点から今回の
イベント検出時点までの時間に対応する。ノートナンバ
は発音する楽音の音高を示すデータである。ベロシティ
は楽音の音量を示すデータである。
【0020】例えば、MIDI機器23がイベントA,
B,Cの順番で演奏データを発生すると、CPU20は
ノートナンバNNA及びベロシティVA=『60』から
なるイベントA、ノートナンバNNB及びベロシティV
B=『100』からなるイベントB、ノートナンバNN
C及びベロシティVC=『30』からなるイベントCを
順番に検出する。そして、各イベントを検出したタイミ
ングに基づきタイミングデータを作成する。図3(A)
の例においては、各イベントの発生タイミングは共に
『24』である。この実施例では、4分音符に相当する
時間が『96』なので、イベントA,B,Cは、連続し
た16分音符の発音イベントに対応する。
【0021】CPU20は検出した演奏データ(図3
(A)の各イベントA,B,C)を、後述の記録処理に
よってタイミングデータの可変制御されたものに変換し
てから記録する。すなわち、CPU20は、演奏データ
のノートナンバNNA,NNB,NNC及びベロシティ
VA,VB,VCに関しては、検出されたものをそのま
ま記録し、作成したタイミングデータをベロシティの大
きさに応じてさらに可変制御して記録する。
【0022】図5は、横軸にベロシティ、縦軸にタイミ
ングデータのずれ量を示すタイミングデータの変換特性
図である。この変換特性は、基準ベロシティ(例えば
『60』)を中心として、ベロシティの値が大きいとき
はずれ量は正(+)の値となり、逆に、ベロシティの値
が基準ベロシティよりも小さいときはずれ量は負(−)
の値となる。ずれ量が正の値の場合には、タイミンング
データの値がずれ量分だけ小さくなるので、通常の場合
よりもやや早いタイミングで発音されるようになり、曲
感としては突っ込みぎみの発音タイミングとなる。ずれ
量が負の値の場合には、タイミングデータの値がずれ量
分だけ大きくなるので、通常の場合よりもやや遅れたタ
イミングで発音されるようになり、曲感としては遅れぎ
み(もったり感)の発音となる。
【0023】図5の変換特性は、ベロシティの大きさ
『1〜5』でずれ量『−6』、『6〜15』でずれ量
『−5』、『16〜25』でずれ量『−4』、『26〜
35』でずれ量『−3』、『36〜45』でずれ量『−
2』、『46〜55』でずれ量『−1』、『56〜6
5』でずれ量『0』、『66〜75』でずれ量『+
1』、『76〜85』でずれ量『+2』、『86〜9
5』でずれ量『+3』、『96〜105』でずれ量『+
4』、『106〜115』でずれ量『+5』、『116
〜127』でずれ量『+6』となるように設定されてい
る。なお、この変換特性は一例であり、この他にも適宜
の変換特性を設定してもよいことはいうまでもない。
【0024】従って、図3(A)のイベントAに関して
は、そのベロシティVAは『60』なので、図5の変換
特性からずれ量は『0』となり、タイミングデータTD
Aは『24』のままである。イベントBのベロシティV
Bは『100』なので、ずれ量は『+4』となり、タイ
ミングデータTDBは『20(=24−4)』となる。
イベントCのベロシティVCは『30』なので、ずれ量
は『−3』となり、タイミングデータTDCは『31
(=24+4+3)』となる。
【0025】図4は、図3の各イベントA,B,Cに対
応した演奏データの検出タイミングと、検出された演奏
データが発音される発音タイミングとの関係を時間tを
横軸に示した図である。図4の上側にはイベントA,
B,Cの検出タイミングが示され、下側にはイベント
A,B,Cの発音タイミングが示されている。
【0026】図4に示すように、CPU20はノートナ
ンバNNA、ベロシティVA=『60』のイベントAを
検出すると共に前回のイベント検出時点から今回のイベ
ントAの検出時点までの時間に対応するタイミングデー
タTDA=『24』を作成する。CPU20はイベント
AのベロシティVA=『60』に基づいたずれ量『0』
の値を得るので、所定時間に対応した値『6』だけ遅れ
たタイミングでイベントAの楽音を発音する。ここで所
定時間に対応した値『6』は最大ずれ量『6』が得られ
た場合にも不都合なく発音処理ができるようにするため
の補償時間分に相当する発音時間のオフセット値であ
る。
【0027】次に、CPU20はノートナンバNNB、
ベロシティVB=『100』のイベントBを検出すると
共に前回のイベントAの検出時点から今回のイベントB
の検出時点までの時間に対応するタイミングデータTD
B=『24』を検出する。CPU20はイベントBのベ
ロシティVB=『100』に基づいたずれ量『+4』の
値を得るので、所定時間に対応した値『6』だけ遅れた
タイミングから『4』だけ早い時点でイベントBの楽音
を発音する。
【0028】さらに、CPU20はノートナンバNN
C、ベロシティVC=『30』のイベントCを検出する
と共に前回のイベントBの検出時点から今回のイベント
Cの検出時点までの時間に対応するタイミングデータT
DC=『24』を作成する。CPU20はイベントCの
ベロシティVC=『30』に基づいたずれ量『−3』の
値を得るので、所定時間に対応した値『6』だけ遅れた
タイミングからさらに『3』だけ遅れた時点でイベント
Cの楽音を発音する。
【0029】次に、マイクロコンピュータ(CPU2
0)によって実行される自動演奏装置の処理の一例を図
1のフローチャートに基づいて説明する。図1は、マイ
クロコンピュータが処理する記録処理の一例を示す図で
ある。この記録処理は、図3(A)のような演奏データ
がMIDIインターフェース26を介して供給された場
合に、前回のイベント発生時点から今回のイベント発生
時点の間隔を計測することによりタイミングデータを作
成し、そのタイミングデータをベロシティの大きさに応
じて変更制御して、データ及びワーキングRAM又はフ
ロッピディスク36に記録するまでの処理を示すもので
ある。この記録処理は4分音符当たり96回の割り込み
で実行されるタイマインタラプト処理であり、次のステ
ップで順番に実行される。
【0030】ステップ11:イベントが検出されたかど
うかを判定し、イベントが検出された(YES)場合は
次のステップ12に進み、検出されない(NO)場合は
ステップ15にジャンプする。 ステップ12:図5の変換特性に従ってベロシティの大
きさに応じてタイミング修正値(ずれ量)を決定する。
【0031】ステップ13:前ステップ12で決定され
たタイミング修正値を所定値から減算した値をカウント
バッファCOUNTに格納する。この所定値は、図4の
ようにイベント検出と同時に発音処理する場合には、プ
ラスのずれ量の最大値よりも大きな値でなければならな
い。図4の例においては、ずれ量の最大値と同じ値とな
っている。 ステップ14:イベントバッファにイベント情報とカウ
ントバッファCOUNTの値を書き込む。ここで、イベ
ント情報はノートナンバとベロシティである。 ステップ15:イベントバッファの中でカウント値が0
のイベントが有るかどうかを判定し、有り(YES)の
場合は次のステップ16に進み、無し(NO)の場合は
ステップ1Aにジャンプする。
【0032】ステップ16:タイミングカウンタTIM
Eの値をメモリ(データ及びワーキングRAM22又は
フロッピディスク36)に書き込む。すなわち、このス
テップは、前のステップ15でイベントバッファのカウ
ント値が『0』であると判定された時点におけるタイミ
ングカウンタTIMEの値を書き込む。 ステップ17:イベントバッファの中のイベント情報
(ノートナンバ及びベロシティ)をメモリ(データ及び
ワーキングRAM22又はフロッピディスク36)に書
き込む。 ステップ18:前のステップ17で読み出したイベント
情報をイベントバッファの中から削除する。
【0033】ステップ19:タイミングカウンタTIM
Eの値を『0』にクリアする。 ステップ1A:タイミングカウンタTIMEを『1』だ
けインクリメント処理する。 ステップ1B:イベントバッファ内の存在する全てのカ
ウント値を『1』だけデクリメント処理して、リターン
する。
【0034】次に図1の記録処理のフローチャートに従
った動作の一例を図6を用いて説明する。図6は、図3
(A)のイベントA,B,Cのような演奏データが図1
の記録処理によって図3(B)のように記録される場合
に、イベントバッファ及びタイミングカウンタの内容が
時間的にどのように変化するかを示す図である。
【0035】図6の最初の時刻t0では、イベントは検
出されず、イベントバッファ内も空なので、ステップ1
1及び15の判定は共にNOとなり、ステップ1Aだけ
が実行される。ステップ1AではタイミングカウンタT
IMEはインクリメント処理されて『18』となる。イ
ベントバッファは空なので、ステップ1Bの処理は実行
されない。ここでタイミングカウンタTIMEの値とし
て、時刻t0において『17』が格納されているが、こ
の『17』は一例であり、どんな値であってもよい。
【0036】時刻t1では、イベントAが検出されるの
で、ステップ11の判定はYESとなり、ステップ12
〜14が実行される。ステップ12ではイベントAのベ
ロシティVA=『60』に基づいて修正値『0』が決定
される。ステップ13ではカウントバッファCOUNT
に所定値『6』から修正値『0』を減算した値『6』が
格納される。ステップ14ではイベントAのイベント情
報(ノートナンバNNA及びベロシティVA=『6
0』)及びカウントバッファCOUNTのカウント値
『6』がイベントバッファに書き込まれる。イベントバ
ッファのカウント値は『6』なので、ステップ15の判
定はNOとなり、ステップ1Aではタイミングカウンタ
TIMEは『19』となり、ステップ1Bではイベント
バッファのカウント値は『5』となる。
【0037】時刻t2では、イベントは検出されず、イ
ベントバッファのカウント値は『5』なので、ステップ
11及び15の判定は共にNOとなり、ステップ1A及
び1Bの処理によってタイミングカウンタTIMEは
『20』となり、イベントバッファのカウント値は
『4』となる。イベントバッファのカウント値が『0』
になるまで、タイミングカウンタTIMEのインクリメ
ント処理と、イベントバッファのカウント値のデクリメ
ント処理が繰り返し実行される。そして、時刻t4で、
イベントバッファのカウント値は『0』となるので、ス
テップ15の判定はYESとなり、ステップ16〜1B
が実行される。ステップ16及び17ではタイミングカ
ウンタTIMEの値『24』とイベントバッファ内のイ
ベントAのイベント情報(ノートナンバNNA及びベロ
シティVA=『60』)がメモリに書き込まれる。
【0038】ステップ18では前ステップ16で読み出
されたイベント情報がイベントバッファ内から削除され
る。ステップ19ではタイミングカウンタTIMEが
『0』にクリアされる。ステップ1Aではタイミングカ
ウンタTIMEはインクリメント処理されて『1』とな
る。イベントバッファにカウント値が存在しないので、
ステップ1Bの処理は実行されない。
【0039】時刻t5では、イベントは検出されず、イ
ベントバッファも空なので、ステップ11及び15の判
定は共にNOとなり、ステップ1Aの処理だけが実行さ
れ、タイミングカウンタTIMEは『2』となる。
【0040】イベントBが検出されるまでの間、タイミ
ングカウンタTIMEのインクリメント処理が繰り返し
実行される。そして、時刻t7で、イベントBが検出さ
れるので、ステップ11の判定はYESとなり、ステッ
プ12〜14が実行される。
【0041】ステップ12ではイベントBのベロシティ
VB=『100』に基づいて修正値『+4』が決定され
る。ステップ13ではカウントバッファCOUNTに所
定値『6』から修正値『+4』を減算した値『2』が格
納される。ステップ14ではイベントBのイベント情報
(ノートナンバNNB及びベロシティVB=『10
0』)及びカウントバッファCOUNTのカウント値
『2』がイベントバッファに書き込まれる。イベントバ
ッファのカウント値は『2』なので、ステップ15の判
定はNOとなり、ステップ1Aではタイミングカウンタ
TIMEは『19』となり、ステップ1Bではイベント
バッファのカウント値は『1』となる。
【0042】時刻t8では、イベントは検出されず、イ
ベントバッファのカウント値は『1』なので、ステップ
11及び15の判定は共にNOとなり、ステップ1A及
び1Bの処理によってタイミングカウンタTIMEは
『20』となり、イベントバッファのカウント値は
『0』となる。そして、時刻t9で、イベントバッファ
のカウント値は『0』であり、ステップ15の判定はY
ESとなり、ステップ16〜1Bが実行される。ステッ
プ16及び17ではタイミングカウンタTIMEの値
『20』とイベントバッファ内のイベントBのイベント
情報(ノートナンバNNB及びベロシティVB=『10
0』)がメモリに書き込まれる。
【0043】ステップ18では前ステップ16で読み出
されたイベント情報がイベントバッファ内から削除され
る。ステップ19ではタイミングカウンタTIMEが
『0』にクリアされる。ステップ1Aではタイミングカ
ウンタTIMEはインクリメント処理されて『1』とな
る。イベントバッファにカウント値が存在しないので、
ステップ1Bの処理は実行されない。
【0044】時刻tAでは、イベントは検出されず、イ
ベントバッファは空なので、ステップ11及び15の判
定は共にNOとなり、ステップ1Aの処理によってタイ
ミングカウンタTIMEは『2』となる。
【0045】イベントCが検出されるまでの間、タイミ
ングカウンタTIMEのインクリメント処理が繰り返し
実行される。そして、タイミングカウンタTIMEが
『22』の時刻tCで、イベントCが検出されるので、
ステップ11の判定はYESとなり、ステップ12〜1
4が実行される。
【0046】ステップ12ではイベントCのベロシティ
VC=『30』に基づいて修正値『−3』が決定され
る。ステップ13ではカウントバッファCOUNTに所
定値『6』から修正値『−3』を減算した値『9』が格
納される。ステップ14ではイベントBのイベント情報
(ノートナンバNNC及びベロシティVC=『30』)
及びカウントバッファCOUNTのカウント値『9』が
イベントバッファに書き込まれる。イベントバッファの
カウント値は『9』なので、ステップ15の判定はNO
となり、ステップ1AではタイミングカウンタTIME
は『23』となり、ステップ1Bではイベントバッファ
のカウント値は『8』となる。
【0047】時刻tDでは、イベントは検出されず、イ
ベントバッファのカウント値は『8』なので、ステップ
11及び15の判定は共にNOとなり、ステップ1A及
び1Bの処理によってタイミングカウンタTIMEは
『23』となり、イベントバッファのカウント値は
『7』となる。そして、時刻tFで、イベントバッファ
のカウント値は『0』であり、ステップ15の判定はY
ESとなり、ステップ16〜1Bが実行される。ステッ
プ16及び17ではタイミングカウンタTIMEの値
『31』とイベントバッファ内のイベントCのイベント
情報(ノートナンバNNC及びベロシティVC=『3
0』)がメモリに書き込まれる。
【0048】ステップ18では前ステップ16で読み出
されたイベント情報がイベントバッファ内から削除され
る。ステップ19ではタイミングカウンタTIMEが
『0』にクリアされる。ステップ1Aではタイミングカ
ウンタTIMEはインクリメント処理されて『1』とな
る。イベントバッファにカウント値が存在しないので、
ステップ1Bの処理は実行されない。そして、次のイベ
ントDが検出されるまでの間、タイミングカウンタTI
MEのインクリメント処理のデクリメント処理が繰り返
し実行される。
【0049】このようにして、図3(A)の検出された
演奏データは図3(B)のようにベロシティの大きさに
応じてタイミングデータが変更されて記録される。
【0050】次に、マイクロコンピュータ(CPU2
0)によって実行される自動演奏装置の処理の別の一例
を図7のフローチャートに基づいて説明する。図7は、
マイクロコンピュータが処理する再生処理の一例を示す
図である。この再生処理は、図3(A)のような演奏デ
ータがデータ及びワーキングRAM又はフロッピディス
ク36に記録されている場合に、そのタイミングデータ
をベロシティに応じて可変制御して、再生発音する処理
を示すものである。この再生処理は4分音符当たり96
回の割り込みで実行されるタイマインタラプト処理であ
り、次のステップで順番に実行される。
【0051】ステップ71:タイミングカウンタTIM
Eが『0』かどうかを判定し、『0』(YES)の場合
は次のステップ72に進み、『0』以外の値(NO)の
場合はステップ78にジャンプする。 ステップ72:メモリ(データ及びワーキングRAM又
はフロッピディスク)からデータを順番に読み出す(メ
モリの読み出しアドレスを進め、そのアドレスに記憶さ
れているデータを読み出す)。
【0052】ステップ73:演奏データは図3(A)の
ようにタイミングデータ、ノートナンバ、ベロシティの
順番に記録されているので、ステップ72で読み出され
たデータがタイミングデータかこれ以外のデータかを判
定し、タイミングデータの場合にはステップ77に進
み、これ以外のデータの場合にはステップ74に進む。
すなわち、このステップではタイミングデータが読み出
されるまでステップ74,75,76,72の処理を繰
り返し実行する。
【0053】ステップ74:読み出されたデータがベロ
シティデータの場合には、図5の変換特性などに従って
ベロシティに応じたタイミング修正値(ずれ量)を決定
する。 ステップ75:前ステップ74で決定されたタイミング
修正値(ずれ量)を所定値から減算し、その減算値をカ
ウントバッファCOUNTに格納する。この所定値は、
プラスのずれ量の最大値よりも大きな値でなければなら
ない。
【0054】ステップ76:イベントバッファにイベン
ト情報とカウントバッファCOUNTの値を書き込む。
ここで、イベント情報はノートナンバとベロシティであ
る。 ステップ77:ステップ72で読み出されたタイミング
データをタイミングカウンタTIMEに書き込む。 ステップ78:タイミングカウンタTIMEの値を
『1』だけデクリメント処理する。
【0055】ステップ79:イベントバッファの中のカ
ウント値COUNTが0のイベントが有るかどうかを判
定し、有り(YES)の場合は次のステップ7Aに進
み、無し(NO)の場合はステップ7Cにジャンプす
る。 ステップ7A:イベントバッファからイベント情報を読
み出して発音処理を行う。 ステップ7B:前ステップ7Aで読み出したイベント情
報をイベントバッファの中から削除する。 ステップ7C:イベントバッファ内の全てのイベントの
カウント値COUNTを『1』だけデクリメント処理し
て、リターンする。
【0056】次に図7の再生処理のフローチャートに従
った動作の一例を図8を用いて説明する。図8は、図3
(A)のイベントA,B,Cのような演奏データが図7
の再生処理によって再生される場合に、イベントバッフ
ァ及びタイミングカウンタの内容が時間的にどのように
変化するかを示す図である。
【0057】図8の最初の時刻T0では、タイミングカ
ウンタTIMEは『1』であり、イベントバッファ内に
はカウント値『0』のイベントは存在しないので、ステ
ップ71及び79の判定は共にNOとなり、ステップ7
8が実行され、タイミングカウンタTIMEはデクリメ
ント処理されて『0』となる。イベントバッファにカウ
ント値が存在しないので、ステップ7Cの処理は実行さ
れない。
【0058】時刻T1では、タイミングカウンタTIM
Eが『0』なので、ステップ71の判定はYESとな
り、ステップ72〜76が実行される。イベントAのタ
イミングデータTDAは前回のイベントAの再生処理で
読み出されているので、ステップ72ではイベントAの
ノートナンバNNAが読み出される。読み出されたデー
タはノートナンバなので、ステップ73の判定はNOと
なり、ステップ74〜76を経て再びステップ72のデ
ータ読出処理が行われる。
【0059】ステップ72ではイベントAのベロシティ
VA=60が読み出される。読み出されたデータはベロ
シティなので、ステップ73の判定はNOとなり、ステ
ップ74〜76が実行される。ステップ74ではベロシ
ティVA=『60』に基づいてタイミング修正値『0』
が決定される。ステップ75ではカウントバッファCO
UNTに所定値『6』から修正値『0』を減算した値
『6』が格納される。ステップ76ではイベントAのイ
ベント情報(ノートナンバNNA及びベロシティVA=
『60』)及びカウントバッファCOUNTのカウント
値『6』がイベントバッファに書き込まれる。
【0060】そして、ステップ72では、イベントBの
タイミングデータTDB=『24』が読み出される。読
み出されたデータはタイミングデータなので、ステップ
73の判定はYESとなり、ステップ77が実行され
る。ステップ77ではタイミングカウンタTIMEに読
み出されたタイミングデータTDB=『24』が格納さ
れる。そして、ステップ78ではタイミングカウンタT
IMEがデクリメント処理され、『23』となる。ステ
ップ79の判定はNOとなり、ステップ7Cが実行され
る。ステップ7Cではイベントバッファ内の全イベント
のカウント値がデクリメント処理され、『5』となる。
【0061】時刻T2では、タイミングカウンタTIM
Eは『23』であり、イベントバッファ内にはカウント
値『5』のイベントAが存在するので、ステップ71及
び79の判定は共にNOとなり、ステップ78及び7C
のみが実行される。ステップ78ではタイミングカウン
タTIMEはデクリメント処理されて『22』となり、
イベントバッファ内のイベントAのカウント値はデクリ
メント処理されて『4』となる。
【0062】イベントバッファのカウント値が『0』に
なるまで、ステップ78のタイミングカウンタTIME
のデクリメント処理と、ステップ7Cのイベントバッフ
ァのカウント値のデクリメント処理が繰り返し実行され
る。そして、時刻T4でタイミングカウンタTIMEは
『18』、イベントバッファのカウント値は『0』なの
で、ステップ79の判定はYESとなり、ステップ7
A,7Bが実行される。ステップ7Aではイベントバッ
ファからイベントAに対応したイベント情報(ノートナ
ンバNNA及びベロシティVA=『60』)が読み出さ
れて発音処理される。
【0063】ステップ7Bでは前ステップ7Aで読み出
されたイベント情報がイベントバッファ内から削除され
る。イベントバッファにカウント値が存在しないので、
ステップ7Cの処理は実行されない。時刻T5では、タ
イミングカウンタTIMEは『17』であり、イベント
バッファ内は空なので、ステップ71及び79の判定は
共にNOとなり、ステップ78のみが実行される。ステ
ップ78ではタイミングカウンタTIMEはデクリメン
ト処理されて『16』となる。
【0064】タイミングカウンタTIMEの値が『0』
になるまで、ステップ78のタイミングカウンタTIM
Eのデクリメント処理が繰り返し実行される。そして、
時刻T7で、タイミングカウンタTIMEの値は『0』
なので、ステップ71の判定はYESとなり、ステップ
72〜76が実行される。ステップ72ではイベントB
のノートナンバNNBが読み出される。読み出されたデ
ータはノートナンバなので、ステップ73の判定はNO
となり、ステップ74〜76を経て再びステップ72の
データ読出処理が行われる。
【0065】ステップ72ではイベントBのベロシティ
VB=100が読み出される。読み出されたデータはベ
ロシティなので、ステップ73の判定はNOとなり、ス
テップ74〜76が実行される。ステップ74ではベロ
シティVB=『100』に基づいてタイミング修正値
『+4』が決定される。ステップ75ではカウントバッ
ファCOUNTに所定値『6』から修正値『+4』を減
算した値『2』が格納される。ステップ76ではイベン
トBのイベント情報(ノートナンバNNB及びベロシテ
ィVB=『100』)及びカウントバッファCOUNT
のカウント値『2』がイベントバッファに書き込まれ
る。
【0066】そして、ステップ72では、イベントCの
タイミングデータTDB=『24』が読み出される。読
み出されたデータはタイミングデータなので、ステップ
73の判定はYESとなり、ステップ77が実行され
る。ステップ77ではタイミングカウンタTIMEに読
み出されたタイミングデータTDC=『24』が格納さ
れる。そして、ステップ78ではタイミングカウンタT
IMEがデクリメント処理され、『23』となる。ステ
ップ79の判定はNOとなり、ステップ7Cが実行され
る。ステップ7Cではイベントバッファ内の全イベント
のカウント値がデクリメント処理され、『1』となる。
【0067】時刻T8では、タイミングカウンタTIM
Eは『23』であり、イベントバッファ内にはカウント
値『1』のイベントBが存在するので、ステップ71及
び79の判定は共にNOとなり、ステップ78及び7C
のみが実行される。ステップ78ではタイミングカウン
タTIMEはデクリメント処理されて『22』となり、
イベントバッファ内のイベントBのカウント値はデクリ
メント処理されて『0』となる。
【0068】時刻T9では、タイミングカウンタTIM
Eは『22』、イベントバッファのカウント値は『0』
なので、ステップ71の判定はNOとなり、ステップ7
8が実行され、ステップ79の判定はYESとなり、ス
テップ7A,7B,7Cが実行される。ステップ78で
はタイミングカウンタTIMEはデクリメント処理され
て『21』となる。ステップ7Aではイベントバッファ
からイベントBに対応したイベント情報(ノートナンバ
NNB及びベロシティVB=『100』)が読み出され
て発音処理される。ステップ7Bでは前ステップ7Aで
読み出されたイベント情報がイベントバッファ内から削
除される。イベントバッファにカウント値が存在しない
ので、ステップ7Cの処理は実行されない。
【0069】時刻TAでは、タイミングカウンタTIM
Eは『21』であり、イベントバッファ内は空なので、
ステップ71及び79の判定は共にNOとなり、ステッ
プ78のみが実行される。ステップ78ではタイミング
カウンタTIMEはデクリメント処理されて『20』と
なる。
【0070】タイミングカウンタTIMEの値が『0』
になるまで、ステップ78のタイミングカウンタTIM
Eのデクリメント処理が繰り返し実行される。そして、
時刻TCで、タイミングカウンタTIMEの値は『0』
なので、ステップ71の判定はYESとなり、ステップ
72〜76が実行される。ステップ72ではイベントC
のノートナンバNNCが読み出される。読み出されたデ
ータはノートナンバなので、ステップ73の判定はNO
となり、ステップ74〜76を経て再びステップ72の
データ読出処理が行われる。
【0071】ステップ72ではイベントCのベロシティ
VC=『30』が読み出される。読み出されたデータは
ベロシティなので、ステップ73の判定はNOとなり、
ステップ74〜76が実行される。ステップ74ではベ
ロシティVC=『30』に基づいてタイミング修正値
『−3』が決定される。ステップ75ではカウントバッ
ファCOUNTに所定値『6』から修正値『−3』を減
算した値『9』が格納される。ステップ76ではイベン
トCのイベント情報(ノートナンバNNC及びベロシテ
ィVC=『30』)及びカウントバッファCOUNTの
カウント値『9』がイベントバッファに書き込まれる。
【0072】そして、ステップ72では、次のイベント
DのタイミングデータTDDが読み出される。読み出さ
れたデータはタイミングデータなので、ステップ73の
判定はYESとなり、ステップ77が実行される。ステ
ップ77ではタイミングカウンタTIMEに読み出され
たタイミングデータTDDが格納される。そして、ステ
ップ78ではタイミングカウンタTIMEがデクリメン
ト処理され、『23』となる。ステップ79の判定はN
Oとなり、ステップ7Cが実行される。ステップ7Cで
はイベントバッファ内の全イベントのカウント値がデク
リメント処理されて、『8』となる。
【0073】時刻TDでは、タイミングカウンタTIM
Eは『23』であり、イベントバッファ内にはカウント
値『8』のイベントBが存在するので、ステップ71及
び79の判定は共にNOとなり、ステップ78及び7C
のみが実行される。ステップ78ではタイミングカウン
タTIMEはデクリメント処理されて『22』となり、
イベントバッファ内のイベントBのカウント値はデクリ
メント処理されて『7』となる。
【0074】イベントバッファのカウント値が『0』に
なるまで、ステップ78のタイミングカウンタTIME
のデクリメント処理と、ステップ7Cのイベントバッフ
ァのカウント値のデクリメント処理が繰り返し実行され
る。そして、時刻TFでタイミングカウンタTIMEは
『15』、イベントバッファのカウント値は『0』なの
で、ステップ71の判定はNOとなり、ステップ79の
判定はYESとなり、ステップ78,ステップ7A,7
Bが実行される。
【0075】ステップ78ではタイミングカウンタはデ
クリメント処理されて『14』となる。ステップ7Aで
はイベントバッファからイベントCに対応したイベント
情報(ノートナンバNNC及びベロシティVC=『3
0』)が読み出されて発音処理される。ステップ7Bで
は前ステップ7Aで読み出されたイベント情報がイベン
トバッファ内から削除される。イベントバッファにカウ
ント値が存在しないので、ステップ7Cの処理は実行さ
れない。そして、次にタイミングカウンタTIMEが
『0』となるまでの間、タイミングカウンタTIMEの
デクリメント処理が繰り返し実行される。このようにし
て、図3(A)の演奏データはベロシティの大きさに応
じてタイミングデータが変更されて再生され、発音処理
される
【0076】なお、上述の実施例では、図5の変換特性
に基づいてタイミンングデータを可変制御する場合につ
いて説明したが、これに限らず、図9(A)〜(H)に
示すような種々の変換特性を用いてもよい。以下、図9
(A)〜(H)の各変換特性について説明する。
【0077】図9(A)の変換特性は図5に対応したも
のであり、ベロシティに応じてずれ量が線形的に変化す
る特性を示す。すなわち、図9(A)の変換特性は、ベ
ロシティの値が基準ベロシティよりも大きいときはずれ
量は正(+)の値となり、タイミンングデータの値がず
れ量分だけ小さくなるので、通常の場合よりもやや早い
タイミングで発音されるようになり、曲感としては突っ
込みぎみの発音タイミングとなる。逆に、ベロシティの
値が基準ベロシティよりも小さいときはずれ量は負
(−)の値となり、タイミングデータの値がずれ量分だ
け大きくなるので、通常の場合よりもやや遅れたタイミ
ングで発音されるようになり、曲感としては遅れぎみ
(もったり感)の発音となる。
【0078】図9(B)の変換特性はベロシティに応じ
て非線形的に変化する特性を示す。すなわち、図9
(C)の変換特性は、ベロシティの値が基準ベロシティ
よりも大きいときはずれ量は正(+)の値となり、ベロ
シティの値が基準ベロシティよりも小さいときはずれ量
は負(−)の値となり、基準ベロシティの付近ではずれ
量の変化が小さく、ベロシティの大きい部分及び小さい
部分でずれ量の変化が大きくなっている。
【0079】図9(C)の変換特性はベロシティに応じ
てずれ量が線形的に変化する図9(A)とは逆の特性を
示す。すなわち、図9(C)の変換特性は、ベロシティ
の値が基準ベロシティよりも大きいときはずれ量は負
(−)の値となり、ベロシティの値が基準ベロシティよ
りも小さいときはずれ量は正(+)の値となる。
【0080】図9(D)の変換特性はベロシティに応じ
て非線形的に変化する図9(B)とは逆の特性を示す。
すなわち、図9(D)の変換特性は、ベロシティの値が
基準ベロシティよりも大きいときはずれ量は負(−)の
値となり、ベロシティの値が基準ベロシティよりも小さ
いときはずれ量は正(+)の値となり、基準ベロシティ
の付近ではずれ量の変化が小さく、ベロシティの大きい
部分及び小さい部分でずれ量の変化が大きくなってい
る。
【0081】図9(D)の変換特性は、ベロシティが所
定値よりも小さい場合にはずれ量は変化せず、所定値以
上になるとずれ量が線形的に負(−)の値に変化すると
いう特性を示す。図9(E)の変換特性は、ベロシティ
が所定値よりも小さい場合にはずれ量は変化せず、所定
値以上になるとずれ量が非線形的に負(−)の値に変化
するという特性を示す。
【0082】図9(F)の変換特性は、ベロシティが所
定値よりも小さい場合にはずれ量は変化せず、所定値以
上になるとずれ量が線形的に正(+)の値に変化すると
いう特性を示す。図9(G)の変換特性は、ベロシティ
が所定値よりも小さい場合にはずれ量は変化せず、所定
値以上になるとずれ量が非線形的に正(+)の値に変化
するという特性を示す。
【0083】なお、上述の実施例では自動演奏装置を内
蔵した電子楽器について説明したが、自動演奏処理を行
うシーケンサモジュールと、押鍵検出回路や音源回路か
らなる音源モジュールとがそれぞれ別々に構成され、各
モジュール間のデータの授受を周知のMIDI規格で行
うように構成されたものにも同様に適用できることは言
うまでもない。また、上述の実施例では、本発明を自動
演奏に適用した場合について説明したが、これに限らず
自動リズム演奏、自動伴奏にも適用してもよいことは言
うまでもない。
【0084】上述の実施例では、ベロシティに応じて発
音タイミングを修正する場合について説明したが、これ
に加えてさらにランダムにタイミングを修正するように
してもよい。このようにすると、より自然な揺らぎを与
えることができるようになる。また、タイミング修正の
対象となる楽音のベロシティーだけでなく、その楽音の
前、後又は前後の楽音のベロシティー、符長又は/及び
音高等の楽音の設定又は制御のための情報に応じて発音
タイミングを修正するようにしてもよい。
【0085】また、従来のずれパターンによるタイミン
グの変更に加え、本発明のベロシティによるタイミング
の変更を付加するようにしてもよい。このようにする
と、ずれパターンによる特定のずれをさらにベロシティ
によって微妙に変化させることができ、より音楽的に優
れた変化を与えることができる。
【0086】上述の実施例では、記録時にずれを与える
場合、再生時にずれを与える場合を例に説明したが、既
に記憶されたずれのない演奏データに対してずれを付与
し、再記録するようなものであってもよい。また、上述
の実施例では、演奏データの最少分解能単位(タイマ割
り込みの間隔)でのずれを与えるようにしたが、さらに
これよりも細かいタイミングのずれを与えるようにして
もよい。
【0087】楽器音毎にずれ度合いやずれの有無を設定
できるようにしてもよい。このようにすると、特に自動
リズム演奏に対して有効となる。ずれの有無やずれ度合
いに関するデータを演奏データ中に入れ、演奏の進行に
従ってずれの有無やずれ度合いが変化するようにしても
よい。複数の演奏パターンを記憶し、演奏パターン毎に
ずれ度合いやずれの有無を設定できるようにしてもよ
い。
【0088】上述の実施例では、ベロシティとずれ量の
関係として、図5及び図9にその一例を示したが、この
関係はどのようなものであってもよい。また、有名演奏
家の演奏データに基づいてベロシティとずれ量との関係
を求めて、それに基づいて発音タイミングをずらすよう
にしてもよい。
【0089】上述の実施例では、ベロシティに応じてタ
イミング修正値を決定する場合について説明したが、こ
のタイミング修正値をフットペダル32からの出力に応
じてリアルタイムに可変してもよい。また、フットペダ
ルでリアルタイムに変化させる場合に限らず、ボリュー
ムスライダ等のその他の操作子によってリアルタイム変
化可能としてもよい。上述の実施例では、演奏データと
して発音のイベントがあるタイミングについてのみ、音
高情報、発音制御情報を付与して記憶するイベント方式
を例に説明したが、これに限らず、すべてのテンポクロ
ックに対応するアドレスに音高情報、発音制御情報を順
次記憶するベタ方式にも適用できることはいうまでもな
い。
【0090】
【発明の効果】この発明によれば、個々の楽音の発音タ
イミングに微妙な変化を与えたりすることができるとい
う効果がある。
【図面の簡単な説明】
【図1】 マイクロコンピュータが処理する記録処理の
一例を示す図である。
【図2】 この発明に係る自動演奏装置を適用した電子
楽器の一実施例を示すハード構成ブロック図である。
【図3】 外部のMIDI機器からMIDIインターフ
ェースを介して供給された演奏データがどのように検出
され、どのように記録されるかを示すデータ構成図であ
る。
【図4】 図3の各イベントに対応した演奏データの検
出タイミングと、検出された演奏データが発音される発
音タイミングとの関係を時間を横軸に示した図である。
【図5】 横軸にベロシティ、縦軸にタイミングデータ
のずれ量を示すタイミングデータの変換特性図である。
【図6】 図3(A)の演奏データが図1の記録処理に
よって図3(B)のように記録される場合に、イベント
バッファ及びタイミングカウンタの内容が時間的にどの
ように変化するかを示す図である。
【図7】 マイクロコンピュータが処理する再生処理の
一例を示す図である。
【図8】 図3(A)の演奏データが図7の再生処理に
よって再生される場合に、イベントバッファ及びタイミ
ングカウンタの内容が時間的にどのように変化するかを
示す図である。
【図9】 横軸にベロシティ、縦軸にタイミングデータ
のずれ量を示すタイミングデータの変換特性の別の例を
複数示す図である。
【符号の説明】
20…CPU、21…プログラムROM、22…データ
及びワーキングRAM、23…押鍵検出回路、24…ス
イッチ検出回路、25…アナログ−デジタル変換器、2
6…MIDIインターフェイス、27…音源回路、27
…音源回路、28…フロッピディスクドライブ、29…
タイマ、30…鍵盤、31…パネルスイッチ、32…ペ
ダル、33…MIDI機器、34…デジタル−アナログ
変換器、35…サウンドシステム、36…フロッピディ
スク、37…データ及びアドレスバス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 発音タイミングを設定する情報とその他
    の楽音の設定又は制御のための情報とを含む演奏データ
    を供給する演奏データ供給手段と、 前記演奏データに対応した楽音を発音する発音手段と、 前記発音手段によって楽音を発音する際に、前記発音タ
    イミング設定情報によって設定された発音タイミング
    を、前記演奏データに含まれる前記発音タイミング設定
    情報以外の所定の情報の内容に応じて可変制御するタイ
    ミング変更手段とを備えることを特徴とする自動演奏装
    置。
JP05837794A 1994-03-04 1994-03-04 自動演奏装置 Expired - Fee Related JP3552264B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP05837794A JP3552264B2 (ja) 1994-03-04 1994-03-04 自動演奏装置
US08/396,683 US5654517A (en) 1994-03-04 1995-03-01 Automatic performance device having a function of modifying tone generation timing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05837794A JP3552264B2 (ja) 1994-03-04 1994-03-04 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH07244479A true JPH07244479A (ja) 1995-09-19
JP3552264B2 JP3552264B2 (ja) 2004-08-11

Family

ID=13082645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05837794A Expired - Fee Related JP3552264B2 (ja) 1994-03-04 1994-03-04 自動演奏装置

Country Status (2)

Country Link
US (1) US5654517A (ja)
JP (1) JP3552264B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046249A (ja) * 2006-08-11 2008-02-28 Kawai Musical Instr Mfg Co Ltd 電子鍵盤楽器

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3344297B2 (ja) * 1997-10-22 2002-11-11 ヤマハ株式会社 自動演奏装置および自動演奏プログラムを記録した媒体
JP3546739B2 (ja) * 1999-02-24 2004-07-28 ヤマハ株式会社 自動演奏装置と記録媒体
JP3675287B2 (ja) 1999-08-09 2005-07-27 ヤマハ株式会社 演奏データ作成装置
WO2007033336A2 (en) * 2005-09-14 2007-03-22 Crisis Simulations International, Llc System and method of interactive situation simulation
JP4967406B2 (ja) * 2006-03-27 2012-07-04 ヤマハ株式会社 鍵盤楽器
WO2008021290A2 (en) 2006-08-09 2008-02-21 Homestead Clinical Corporation Organ-specific proteins and methods of their use
US9263018B2 (en) * 2013-07-13 2016-02-16 Apple Inc. System and method for modifying musical data
US9012754B2 (en) 2013-07-13 2015-04-21 Apple Inc. System and method for generating a rhythmic accompaniment for a musical performance

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5863994A (ja) * 1981-10-12 1983-04-16 カシオ計算機株式会社 電子楽器
JP2759202B2 (ja) * 1986-02-07 1998-05-28 カシオ計算機株式会社 自動リズム演奏装置
US4881440A (en) * 1987-06-26 1989-11-21 Yamaha Corporation Electronic musical instrument with editor
US5233521A (en) * 1988-01-13 1993-08-03 Yamaha Corporation Automatic performance apparatus with display showing progress of tune
JP2580720B2 (ja) * 1988-06-23 1997-02-12 ヤマハ株式会社 自動演奏装置
US5241125A (en) * 1990-10-31 1993-08-31 Yamaha Corporation Editing apparatus for automatic musical player
JP2646884B2 (ja) * 1991-05-30 1997-08-27 ヤマハ株式会社 自動演奏装置
US5254803A (en) * 1991-06-17 1993-10-19 Casio Computer Co., Ltd. Automatic musical performance device for outputting natural tones and an accurate score

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008046249A (ja) * 2006-08-11 2008-02-28 Kawai Musical Instr Mfg Co Ltd 電子鍵盤楽器

Also Published As

Publication number Publication date
US5654517A (en) 1997-08-05
JP3552264B2 (ja) 2004-08-11

Similar Documents

Publication Publication Date Title
JPH1074087A (ja) 自動伴奏パターン発生装置及び方法
JPH07244479A (ja) 自動演奏装置
US5668337A (en) Automatic performance device having a note conversion function
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP3212872B2 (ja) 電子楽器
JP2559209B2 (ja) 楽音信号発生装置
JP2630166B2 (ja) 自動演奏装置
JP2578750B2 (ja) 楽音発生装置
JPH0631977B2 (ja) 電子楽器
JP2551193B2 (ja) 自動演奏装置
JP3648783B2 (ja) 演奏データ処理装置
JP2000352979A (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JP3120487B2 (ja) 自動伴奏機能付電子楽器
JP2947150B2 (ja) 自動演奏装置
JP3324318B2 (ja) 自動演奏装置
JP2578749B2 (ja) 楽音発生装置
JPH058638Y2 (ja)
JP2658736B2 (ja) 自動演奏装置
JPH05100678A (ja) 電子楽器
JPH0535268A (ja) 自動演奏装置
JP3033393B2 (ja) 自動伴奏装置
JPH0132997B2 (ja)
JP2001215973A (ja) 楽音制御パラメータ生成方法、楽音制御パラメータ生成装置および記録媒体
JPH09319369A (ja) 電子楽器
JP2002229565A (ja) 自動演奏装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees