JP3552264B2 - 自動演奏装置 - Google Patents

自動演奏装置 Download PDF

Info

Publication number
JP3552264B2
JP3552264B2 JP05837794A JP5837794A JP3552264B2 JP 3552264 B2 JP3552264 B2 JP 3552264B2 JP 05837794 A JP05837794 A JP 05837794A JP 5837794 A JP5837794 A JP 5837794A JP 3552264 B2 JP3552264 B2 JP 3552264B2
Authority
JP
Japan
Prior art keywords
event
timing
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.)
Expired - Fee Related
Application number
JP05837794A
Other languages
English (en)
Other versions
JPH07244479A (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 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

Images

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】
しかしながら、従来の自動演奏装置は、いわばレコードを再生するのと同様で、記録されている内容のものを毎回正確に再生することは可能だが、生演奏のような、その場での感情表現を行うことはできないため、単調な演奏しか行えないという問題があった。
そこで、最近は、特開平5−73036号公報に記載されたような、演奏データの発音タイミングを微妙にずらすことによって人間味のある演奏を行えるようにした自動演奏装置がある。これは、所定の演奏タイミング毎(例えば、一拍毎、1クロック毎など)に発音タイミングをどれくらいずらすかを示した「ずれパターンデータ」を予め用意しておき、自動演奏の際にこの「ずれパターンデータ」に基づいて演奏データの発音タイミングをずらすようにしている。
【0004】
【発明が解決しようとする課題】
従来の自動演奏装置は、演奏データの他に多数の「ずれパターンデータ」を用意しておかなければならないという問題がある。
また、従来の自動演奏装置は、予め用意しておいた「ずれパターンデータ」の通りにしか発音タイミングをずらすことができず、元の演奏データがどのようなものであっても、ずれ方がみな同じになってしまうという問題がある。
【0005】
この発明は、このような従来技術の欠点に鑑み、微妙に発音タイミングをずらした生演奏のような感情表現の豊かな自動演奏を行うことができる自動演奏装置を提供することを目的とする。
【0006】
【課題を解決するための手段】この発明に係る自動演奏装置は、発音タイミングを設定する情報とその他の楽音の設定又は制御のための情報とを含む演奏データを供給する演奏データ供給手段と、前記演奏データに対応した楽音を発音する発音手段と、前記演奏データに対応した楽音の発音タイミングを、前記演奏データに含まれる前記制御のための情報のうち少なくとも音量情報、音高情報又は音長情報のいずれかの内容に応じて可変制御するタイミング変更手段とを備えることを特徴とする
【0007】
【作用】この発明によれば、前記演奏データに対応した楽音の発音タイミングを、前記演奏データに含まれる前記制御のための情報のうち少なくとも音量情報、音高情報又は音長情報のいずれかの内容に応じて可変制御するようにしたので、例えば音量情報の大きさに応じて発音タイミング遅らせたり、進めたりすることができる。これによって、この発明の自動演奏装置は、従来のように「ずれパターンデータ」等を特別に設けなくても、微妙にタイミングをずらして発音することができるので、生演奏のような表現力ある演奏を行うことができる。
【0008】
【実施例】
以下、添付図面を参照してこの発明の一実施例を詳細に説明する。
図2はこの発明に係る自動演奏装置を適用した電子楽器の一実施例を示すハード構成ブロック図である。この実施例においては、CPU20、プログラムROM21、データ及びワーキングRAM22を含むマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。
この実施例では1つのCPU20によって押鍵検出処理や自動演奏処理等を行う電子楽器を例に説明する。
【0009】
マイクロプロセッサユニット(CPU)20は、この電子楽器全体の動作を制御するものである。このCPU20に対して、データ及びアドレスバス37を介してプログラムROM21、データ及びワーキングRAM22、押鍵検出回路23、スイッチ検出回路24、アナログ−デジタル変換器(ADC)25、MIDIインターフェース(I/F)26、音源回路27、フロッピディスクドライブ28及びタイマ29が接続されている。
【0010】
プログラムROM21はCPU20のシステムプログラムや自動演奏パターンデータや楽音に関する各種パラメータや各種データを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
データ及びワーキングRAM22は、演奏データやCPU20がプログラムを実行する際に発生する各種の演奏データや各種データを一時的に記憶するものであり、ランダムアクセスメモリ(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を介してCPU20に取り込まれる。
【0017】
タイマ29は時間間隔を計数したり、自動演奏のテンポを設定したりするためのテンポクロックパルスを発生するものであり、このテンポクロックパルスの周波数はパネルスイッチ31上のテンポスイッチ(図示していない)によって調整される。発生したテンポクロックパルスはCPU20に対してインタラプト命令として与えられ、CPU20はインタラプト処理により自動演奏の各種処理を実行する。この実施例においてはテンポクロックパルスは4分音符につき96回発生されるものとする。
【0018】
図3は、外部のMIDI機器33からMIDIインターフェース26を介して供給された演奏データがCPU20によってどのように検出され、どのように記録されるかを示す図である。図3(A)はCPU20によって検出された演奏データの構成を示し、図3(B)はCPU20によって記録された演奏データの構成を示す図である。
この実施例では、各イベントA,B,Cのタイミングデータは、そのベロシティの大きさに応じて可変制御されて、記憶装置(RAM22又はフロッピディスク36)に記憶される。
【0019】
MIDI機器33は演奏データをイベント方式で発生するので、CPU20はその発生イベント毎にノートナンバ及びベロシティを検出する。そして、CPU20はテンポクロックパルスに基づいてイベント検出のタイミングを決定し、これをタイミングデータとする。タイミングデータは、各楽音毎の発音タイミングを示すデータであり、前回のイベント検出時点から今回のイベント検出時点までの時間に対応する。ノートナンバは発音する楽音の音高を示すデータである。ベロシティは楽音の音量を示すデータである。
【0020】
例えば、MIDI機器23がイベントA,B,Cの順番で演奏データを発生すると、CPU20はノートナンバNNA及びベロシティVA=『60』からなるイベントA、ノートナンバNNB及びベロシティVB=『100』からなるイベントB、ノートナンバNNC及びベロシティ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〜65』でずれ量『0』、『66〜75』でずれ量『+1』、『76〜85』でずれ量『+2』、『86〜95』でずれ量『+3』、『96〜105』でずれ量『+4』、『106〜115』でずれ量『+5』、『116〜127』でずれ量『+6』となるように設定されている。なお、この変換特性は一例であり、この他にも適宜の変換特性を設定してもよいことはいうまでもない。
【0024】
従って、図3(A)のイベントAに関しては、そのベロシティVAは『60』なので、図5の変換特性からずれ量は『0』となり、タイミングデータTDAは『24』のままである。イベントBのベロシティVBは『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の検出時点までの時間に対応するタイミングデータTDB=『24』を検出する。CPU20はイベントBのベロシティVB=『100』に基づいたずれ量『+4』の値を得るので、所定時間に対応した値『6』だけ遅れたタイミングから『4』だけ早い時点でイベントBの楽音を発音する。
【0028】
さらに、CPU20はノートナンバNNC、ベロシティVC=『30』のイベントCを検出すると共に前回のイベントBの検出時点から今回のイベントCの検出時点までの時間に対応するタイミングデータTDC=『24』を作成する。CPU20はイベントCのベロシティVC=『30』に基づいたずれ量『−3』の値を得るので、所定時間に対応した値『6』だけ遅れたタイミングからさらに『3』だけ遅れた時点でイベントCの楽音を発音する。
【0029】
次に、マイクロコンピュータ(CPU20)によって実行される自動演奏装置の処理の一例を図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:タイミングカウンタTIMEの値をメモリ(データ及びワーキングRAM22又はフロッピディスク36)に書き込む。すなわち、このステップは、前のステップ15でイベントバッファのカウント値が『0』であると判定された時点におけるタイミングカウンタTIMEの値を書き込む。
ステップ17:イベントバッファの中のイベント情報(ノートナンバ及びベロシティ)をメモリ(データ及びワーキングRAM22又はフロッピディスク36)に書き込む。
ステップ18:前のステップ17で読み出したイベント情報をイベントバッファの中から削除する。
【0033】
ステップ19:タイミングカウンタTIMEの値を『0』にクリアする。
ステップ1A:タイミングカウンタTIMEを『1』だけインクリメント処理する。
ステップ1B:イベントバッファ内の存在する全てのカウント値を『1』だけデクリメント処理して、リターンする。
【0034】
次に図1の記録処理のフローチャートに従った動作の一例を図6を用いて説明する。
図6は、図3(A)のイベントA,B,Cのような演奏データが図1の記録処理によって図3(B)のように記録される場合に、イベントバッファ及びタイミングカウンタの内容が時間的にどのように変化するかを示す図である。
【0035】
図6の最初の時刻t0では、イベントは検出されず、イベントバッファ内も空なので、ステップ11及び15の判定は共にNOとなり、ステップ1Aだけが実行される。ステップ1AではタイミングカウンタTIMEはインクリメント処理されて『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=『60』)及びカウントバッファ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=『100』)及びカウントバッファCOUNTのカウント値『2』がイベントバッファに書き込まれる。
イベントバッファのカウント値は『2』なので、ステップ15の判定はNOとなり、ステップ1AではタイミングカウンタTIMEは『19』となり、ステップ1Bではイベントバッファのカウント値は『1』となる。
【0042】
時刻t8では、イベントは検出されず、イベントバッファのカウント値は『1』なので、ステップ11及び15の判定は共にNOとなり、ステップ1A及び1Bの処理によってタイミングカウンタTIMEは『20』となり、イベントバッファのカウント値は『0』となる。
そして、時刻t9で、イベントバッファのカウント値は『0』であり、ステップ15の判定はYESとなり、ステップ16〜1Bが実行される。ステップ16及び17ではタイミングカウンタTIMEの値『20』とイベントバッファ内のイベントBのイベント情報(ノートナンバNNB及びベロシティVB=『100』)がメモリに書き込まれる。
【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〜14が実行される。
【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の判定はYESとなり、ステップ16〜1Bが実行される。ステップ16及び17ではタイミングカウンタTIMEの値『31』とイベントバッファ内のイベントCのイベント情報(ノートナンバNNC及びベロシティVC=『30』)がメモリに書き込まれる。
【0048】
ステップ18では前ステップ16で読み出されたイベント情報がイベントバッファ内から削除される。ステップ19ではタイミングカウンタTIMEが『0』にクリアされる。ステップ1AではタイミングカウンタTIMEはインクリメント処理されて『1』となる。イベントバッファにカウント値が存在しないので、ステップ1Bの処理は実行されない。
そして、次のイベントDが検出されるまでの間、タイミングカウンタTIMEのインクリメント処理のデクリメント処理が繰り返し実行される。
【0049】
このようにして、図3(A)の検出された演奏データは図3(B)のようにベロシティの大きさに応じてタイミングデータが変更されて記録される。
【0050】
次に、マイクロコンピュータ(CPU20)によって実行される自動演奏装置の処理の別の一例を図7のフローチャートに基づいて説明する。
図7は、マイクロコンピュータが処理する再生処理の一例を示す図である。
この再生処理は、図3(A)のような演奏データがデータ及びワーキングRAM又はフロッピディスク36に記録されている場合に、そのタイミングデータをベロシティに応じて可変制御して、再生発音する処理を示すものである。この再生処理は4分音符当たり96回の割り込みで実行されるタイマインタラプト処理であり、次のステップで順番に実行される。
【0051】
ステップ71:タイミングカウンタTIMEが『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となり、ステップ78が実行され、タイミングカウンタTIMEはデクリメント処理されて『0』となる。イベントバッファにカウント値が存在しないので、ステップ7Cの処理は実行されない。
【0058】
時刻T1では、タイミングカウンタTIMEが『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ではカウントバッファCOUNTに所定値『6』から修正値『0』を減算した値『6』が格納される。ステップ76ではイベントAのイベント情報(ノートナンバNNA及びベロシティVA=『60』)及びカウントバッファCOUNTのカウント値『6』がイベントバッファに書き込まれる。
【0060】
そして、ステップ72では、イベントBのタイミングデータTDB=『24』が読み出される。読み出されたデータはタイミングデータなので、ステップ73の判定はYESとなり、ステップ77が実行される。ステップ77ではタイミングカウンタTIMEに読み出されたタイミングデータTDB=『24』が格納される。そして、ステップ78ではタイミングカウンタTIMEがデクリメント処理され、『23』となる。ステップ79の判定はNOとなり、ステップ7Cが実行される。ステップ7Cではイベントバッファ内の全イベントのカウント値がデクリメント処理され、『5』となる。
【0061】
時刻T2では、タイミングカウンタTIMEは『23』であり、イベントバッファ内にはカウント値『5』のイベントAが存在するので、ステップ71及び79の判定は共にNOとなり、ステップ78及び7Cのみが実行される。ステップ78ではタイミングカウンタTIMEはデクリメント処理されて『22』となり、イベントバッファ内のイベントAのカウント値はデクリメント処理されて『4』となる。
【0062】
イベントバッファのカウント値が『0』になるまで、ステップ78のタイミングカウンタTIMEのデクリメント処理と、ステップ7Cのイベントバッファのカウント値のデクリメント処理が繰り返し実行される。そして、時刻T4でタイミングカウンタTIMEは『18』、イベントバッファのカウント値は『0』なので、ステップ79の判定はYESとなり、ステップ7A,7Bが実行される。ステップ7AではイベントバッファからイベントAに対応したイベント情報(ノートナンバNNA及びベロシティVA=『60』)が読み出されて発音処理される。
【0063】
ステップ7Bでは前ステップ7Aで読み出されたイベント情報がイベントバッファ内から削除される。イベントバッファにカウント値が存在しないので、ステップ7Cの処理は実行されない。
時刻T5では、タイミングカウンタTIMEは『17』であり、イベントバッファ内は空なので、ステップ71及び79の判定は共にNOとなり、ステップ78のみが実行される。ステップ78ではタイミングカウンタTIMEはデクリメント処理されて『16』となる。
【0064】
タイミングカウンタTIMEの値が『0』になるまで、ステップ78のタイミングカウンタTIMEのデクリメント処理が繰り返し実行される。そして、時刻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ではタイミングカウンタTIMEがデクリメント処理され、『23』となる。ステップ79の判定はNOとなり、ステップ7Cが実行される。ステップ7Cではイベントバッファ内の全イベントのカウント値がデクリメント処理され、『1』となる。
【0067】
時刻T8では、タイミングカウンタTIMEは『23』であり、イベントバッファ内にはカウント値『1』のイベントBが存在するので、ステップ71及び79の判定は共にNOとなり、ステップ78及び7Cのみが実行される。ステップ78ではタイミングカウンタTIMEはデクリメント処理されて『22』となり、イベントバッファ内のイベントBのカウント値はデクリメント処理されて『0』となる。
【0068】
時刻T9では、タイミングカウンタTIMEは『22』、イベントバッファのカウント値は『0』なので、ステップ71の判定はNOとなり、ステップ78が実行され、ステップ79の判定はYESとなり、ステップ7A,7B,7Cが実行される。ステップ78ではタイミングカウンタTIMEはデクリメント処理されて『21』となる。ステップ7AではイベントバッファからイベントBに対応したイベント情報(ノートナンバNNB及びベロシティVB=『100』)が読み出されて発音処理される。ステップ7Bでは前ステップ7Aで読み出されたイベント情報がイベントバッファ内から削除される。イベントバッファにカウント値が存在しないので、ステップ7Cの処理は実行されない。
【0069】
時刻TAでは、タイミングカウンタTIMEは『21』であり、イベントバッファ内は空なので、ステップ71及び79の判定は共にNOとなり、ステップ78のみが実行される。ステップ78ではタイミングカウンタTIMEはデクリメント処理されて『20』となる。
【0070】
タイミングカウンタTIMEの値が『0』になるまで、ステップ78のタイミングカウンタTIMEのデクリメント処理が繰り返し実行される。そして、時刻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の判定はNOとなり、ステップ7Cが実行される。ステップ7Cではイベントバッファ内の全イベントのカウント値がデクリメント処理されて、『8』となる。
【0073】
時刻TDでは、タイミングカウンタTIMEは『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,7Bが実行される。
【0075】
ステップ78ではタイミングカウンタはデクリメント処理されて『14』となる。ステップ7AではイベントバッファからイベントCに対応したイベント情報(ノートナンバNNC及びベロシティVC=『30』)が読み出されて発音処理される。ステップ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…アナログ−デジタル変換器、26…MIDIインターフェイス、27…音源回路、27…音源回路、28…フロッピディスクドライブ、29…タイマ、30…鍵盤、31…パネルスイッチ、32…ペダル、33…MIDI機器、34…デジタル−アナログ変換器、35…サウンドシステム、36…フロッピディスク、37…データ及びアドレスバス

Claims (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 JPH07244479A (ja) 1995-09-19
JP3552264B2 true 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)

Families Citing this family (9)

* 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 ヤマハ株式会社 演奏データ作成装置
CA2624107A1 (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 ヤマハ株式会社 鍵盤楽器
EP2520935A3 (en) 2006-08-09 2013-02-13 Homestead Clinical Corporation Organ-specific proteins and methods of their use
JP2008046249A (ja) * 2006-08-11 2008-02-28 Kawai Musical Instr Mfg Co Ltd 電子鍵盤楽器
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

Also Published As

Publication number Publication date
JPH07244479A (ja) 1995-09-19
US5654517A (en) 1997-08-05

Similar Documents

Publication Publication Date Title
US4679480A (en) Tone signal generation device for changing the tone color of a stored tone waveshape in an electronic musical instrument
EP1583074B1 (en) Tone control apparatus and method
JP2792368B2 (ja) 電子楽器
JP3552264B2 (ja) 自動演奏装置
JPH05188956A (ja) 自動演奏機能付電子楽器
JP2559209B2 (ja) 楽音信号発生装置
US5300728A (en) Method and apparatus for adjusting the tempo of auto-accompaniment tones at the end/beginning of a bar for an electronic musical instrument
JP2578750B2 (ja) 楽音発生装置
JP2630166B2 (ja) 自動演奏装置
JP3372048B2 (ja) 自動演奏装置
JP3760714B2 (ja) 楽音制御パラメータ生成方法、楽音制御パラメータ生成装置および記録媒体
JP2660462B2 (ja) 自動演奏装置
JPH0812553B2 (ja) 電子楽器
JP2551193B2 (ja) 自動演奏装置
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JPH0542475Y2 (ja)
JPH0833732B2 (ja) 電子ピアノ
JP3581763B2 (ja) 電子楽器
JP2578749B2 (ja) 楽音発生装置
JP3120487B2 (ja) 自動伴奏機能付電子楽器
JP2639557B2 (ja) 電子打楽器
JP2658736B2 (ja) 自動演奏装置
JPS636794Y2 (ja)
JP2947150B2 (ja) 自動演奏装置
JP3337143B2 (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