JP3614061B2 - 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体 - Google Patents

自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体 Download PDF

Info

Publication number
JP3614061B2
JP3614061B2 JP34678499A JP34678499A JP3614061B2 JP 3614061 B2 JP3614061 B2 JP 3614061B2 JP 34678499 A JP34678499 A JP 34678499A JP 34678499 A JP34678499 A JP 34678499A JP 3614061 B2 JP3614061 B2 JP 3614061B2
Authority
JP
Japan
Prior art keywords
performance data
storage means
performance
temporary storage
input
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
JP34678499A
Other languages
English (en)
Other versions
JP2001166772A (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 JP34678499A priority Critical patent/JP3614061B2/ja
Priority to GB0122170A priority patent/GB2364161B/en
Priority to GB0028979A priority patent/GB2359657B/en
Priority to US09/726,715 priority patent/US6620993B2/en
Publication of JP2001166772A publication Critical patent/JP2001166772A/ja
Priority to US10/209,713 priority patent/US6660924B2/en
Application granted granted Critical
Publication of JP3614061B2 publication Critical patent/JP3614061B2/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
    • 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/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/016File editing, i.e. modifying musical data files or streams as such
    • G10H2240/021File editing, i.e. modifying musical data files or streams as such for MIDI-like files or data streams

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、時間経過にしたがって一連の処理により一連の演奏データを記録又は再生する自動演奏装置に係り、特に汎用的かつ簡単に機能追加を可能とする自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【0002】
【従来の技術】
従来から、電子楽器、パーソナルコンピュータなどの機器に組み込んだり、単体として設けたシーケンサ等の自動演奏装置はよく知られている。この自動演奏装置は、外部から与えられた演奏データを演奏データ記憶手段に記憶したり、演奏データ記憶手段に記憶されている演奏データを再生したりする機能を備えている。また、自動演奏装置は編集機能も備えており、編集機能を用いて演奏データ記憶手段に記憶されている演奏データを編集することも可能である。
【0003】
【発明が解決しようとする課題】
上記のような自動演奏装置において、外部から与えられた演奏データを演奏データ記憶手段に記憶したり再生したりする際、又は演奏データ記憶手段に記憶されている演奏データを再生したりする際、一連の流れの中にある演奏データをモニタしたり、同演奏データに他の演奏データを追加したり、同演奏データを加工したりする機能拡張が要望されている。しかし、既存の自動演奏装置のシステム構成、演奏データの構造などは、製造者毎に異なっていたり、製品毎に異なっており、機能拡張を実現できるのは、自動演奏装置のシステム構成、演奏データの構造などを熟知した者に限られていた。したがって、既存の自動演奏装置に追加機能を付加して機能を拡張しようとしても、機能の拡張を簡単に行うことはできず、自動演奏装置の機能も限られたものであった。また、既存の自動演奏装置の操作方法も種々異なり、ユーザは、製造者毎、製品毎などの操作方法を余儀なくされていた。このことは、演奏データ記憶手段に記憶されている演奏データを編集しようとする場合も同じであり、同演奏データを種々の方法で編集することができなかった。
【0004】
【発明の概略】
本発明は、上記問題に対処するためになされたもので、その目的は、汎用的かつ簡単に機能追加を可能とする自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体を提供することにある。
【0005】
上記目的を達成するために、本発明の構成上の特徴は、演奏データを記憶する演奏データ記憶手段と、外部から演奏データを入力する入力手段と、前記入力された演奏データを前記演奏データ記憶手段に記憶するとともに、前記演奏データ記憶手段に記憶された演奏データを読み出す記録再生手段と、前記読み出された演奏データを外部に出力する出力手段とを備えた自動演奏装置において、前記演奏データ記憶手段とは独立していて演奏データを一時的に記憶するための一時記憶手段と、前記入力手段、記録再生手段又は出力手段による演奏データの処理中に、演奏データを前記一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として機能拡張モジュールをコールして、前記機能拡張モジュールによる前記一時記憶手段からの演奏データの読み出し及び前記一時記憶手段への演奏データの書き込みを許容し、かつ前記機能拡張モジュールによるコールを許容するキュー手段とを設けたことにある。
【0006】
この場合、一時億手段は、たとえば前記演奏データ記憶手段とは独立していて演奏データを一時的に記憶するための第1乃至第3の一時記憶手段からなる。また、キュー手段は、前記入力手段によって入力された演奏データを前記第1の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第1の機能拡張モジュールをコールして、前記第1の機能拡張モジュールによる前記第1の一時記憶手段からの演奏データの読み出し及び前記第1の一時記憶手段への演奏データの書き込みを許容し、かつ前記第1の機能拡張モジュールによるコールを許容する第1のキュー手段と、前記入力手段によって入力された演奏データ又は前記記録再生手段によって前記演奏データ記憶手段から読み出された演奏データを前記第2の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第2の機能拡張モジュールをコールして、前記第2の機能拡張モジュールによる前記第2の一時記憶手段からの演奏データの読み出し及び前記第2の一時記憶手段への演奏データの書き込みを許容し、かつ前記第2の機能拡張モジュールによるコールを許容する第2のキュー手段と、前記出力手段によって外部に出力される演奏データを前記第3の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第3の機能拡張モジュールをコールして、前記第3の機能拡張モジュールによる前記第3の一時記憶手段からの演奏データの読み出し及び前記第3の一時記憶手段への演奏データの書き込みを許容し、かつ前記第3の機能拡張モジュールによるコールを許容する第3のキュー手段とからなる。
【0007】
また、前記演奏データは3層構造で規定され、前記3層構造に従った関数を用いて、前記キュー手段(又は前記第1乃至第3キュー手段)と前記機能拡張モジュール(又は前記第1乃至第3機能拡張モジュール)との間で前記演奏データが授受されようにするとよい。
【0008】
上記のように構成した本発明の構成上の特徴によれば、一時記憶手段に一時的に記憶した演奏データに関するポインタを引数として受け取るとともに、同一時記憶手段から演奏データを読み出し及び同一時記憶手段へ演奏データを書き込む機能を有する機能拡張モジュール(プログラム構成の手段でも、ハード構成の手段でもよい)を用意しさえすれば、この機能拡張モジュールを自動演奏装置に適用かつ付加することができる。そして、この機能拡張モジュールは、自動演奏装置による演奏データの記録又は再生中に、同演奏データを受け取ったり、同演奏データ中に新たな演奏データを付加したりすることができるようになるので、外部から与えられた演奏データを演奏データ記憶手段に記憶したり再生したりする際、又は演奏データ記憶手段に記憶されている演奏データを再生したりする際、一連の流れの中にある演奏データをモニタしたり、同演奏データに他の演奏データを追加したり、同演奏データを加工したりする機能拡張を汎用的かつ簡単に行うことができるようになる。
【0013】
さらに、本発明の他の構成上の特徴は、前述した本発明の自動演奏装置の各種機能を実現するプログラムを記録したコンピュータ読取り可能な記録媒体にある。これによれば、電子楽器、パーソナルコンピュータ、シーケンサなどの各種機器に前記プログラムをインストールしたり、記録媒体自体を組み込んだりすれば、前記各種機能が達成されるので、前記各種機器に前述した各種拡張機能を汎用的かつ簡単に持たせることができる。
【0014】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて説明すると、図1は本発明をパーソナルコンピュータPC1に適用した実施形態における各種機器の接続図を示し、図2はパーソナルコンピュータPC1を詳細に表した前記と同様な接続図を示している。
【0015】
パーソナルコンピュータPC1は、後述するシーケンサプログラム及びプラグインプログラムがインストールされて本発明に係る自動演奏装置(後述においてはシーケンサモジュールとして説明)として機能するとともに、本発明に係る機能拡張装置(後述においては機能拡張モジュールとして説明)として機能する。パーソナルコンピュータPC1には、電子楽器EMI、シーケンサSQ及び他のパーソナルコンピュータPC2が接続されている。これらの電子楽器EMI、シーケンサSQ及び他のパーソナルコンピュータPC2は、既存のものでよく、パーソナルコンピュータPC1に対して一連の演奏データをミディー(MIDI)フォーマットにしたがって送受信可能である。なお、シーケンサプログラム及びプラグインプログラムをインストールさせて両プログラムを動作させることが可能な機器であれば、パーソナルコンピュータPC1に代えて、電子楽器、シーケンサなどの各種機器を用いることもでき、また前記両プログラムがフラッシュROMにより提供され得る各種機器であってもよい。
【0016】
パーソナルコンピュータ装置PC1は、本体部11、キーボード12及びマウス13などの入力装置、表示器14などからなる一般的なものである。本体部11の正面にはドライブユニット15が組み付けられているとともに、その裏面には、電子楽器EMI、シーケンサSQ及び他のパーソナルコンピュータPC2などが接続される接続端子が設けられている。ドライブユニット15は、外部記憶装置としてのコンパクトディスク、フレキシブルディスクなどが装着されるようになっており、同外部記憶装置に対してプログラム及びデータの読み出し及び書き込みを行うものである。
【0017】
パーソナルコンピュータPCの本体部11に組み込まれた内部回路装置は、バス20に共通に接続されたミディーインターフェース回路21、操作子スイッチ回路22、表示制御回路23及び音源回路24を備えている。なお、このバス20には、前記ドライブユニット15も接続されている。
【0018】
ミディーインターフェース回路21は、前記裏面に設けられた接続端子を介して電子楽器EMI、シーケンサSQ及び他のパーソナルコンピュータPC2に対してミディーフォーマットにしたがった演奏データの受け渡しを可能とするものである。操作子スイッチ回路22は、キーボード12及びマウス13に対応したスイッチ群などからなり、同キーボード12及びマウス13の操作に応じた信号を出力する。表示制御回路23は、表示器14の表示状態を制御するものである。音源回路24は、バス20を介して供給される演奏データ(音色データ、音量データ、音高データ、キーオン、キーオフデータなど)に応じた楽音信号をそれぞれ形成して出力する複数の音源チャンネル、各音源チャンネルからの楽音信号を合成してして出力する出力回路などからなる。この音源回路24には、前記合成出力された楽音信号を発音するためのアンプ25及びスピーカ26が接続されている。
【0019】
また、バス20には、このパーソナルコンピュータ装置PC1の動作を制御するためのコンピュータ本体部を構成するCPU31,ROM32及びRAM33が接続されているとともに、内部記憶装置34も接続されている。CPU31は、各種プログラムの実行により、演奏データに対して各種処理を施したり、楽音信号の発生を制御したりする。ROM32及びRAM33は、前記プログラム及び各種データを記憶するものである。内部記憶装置34は、ハードディスク、同ディスクのためのドライブ装置などで構成されており、大容量のメモリ装置として機能する。
【0020】
次に、上記のように構成した実施形態の動作を説明する。まず、ユーザは、シーケンサプログラム、及びミディーモニタ、プレイバック、非同期、編集などの各種プラグインプログラムを記録したコンパクトディスク、フレキシブルディスクなどの外部記録媒体を用意して、同外部記録媒体をドライブユニットに装着する。そして、前記各種プログラムをRAM33又は内部記憶装置34にインストールする。なお、これらのプログラムをROM32に予め記憶させておいたり、内部記憶装置34に記憶させておいたり、パーソナルコンピュータPC2がフラッシュROMなどを装着できるものであれば、前記各種プログラムを記録したフラッシュROMなどを装着するようにしてもよい。
【0021】
前記インストール後、ユーザは、シーケンサプログラムを起動させるとともに、必要な各種プラグインプログラムの起動準備をしたり、起動させたりする。このシーケンサプログラムは、オンライン処理ルーチンとオフライン処理ルーチンとを備えている。オンライン処理ルーチンは、外部から演奏データをRAM33又は内部記憶装置34内に設けた演奏データ記憶領域50に記録するとともに、楽音として再生したり、同演奏データ記憶領域50に記憶されている一連の演奏データを楽音として再生している間、すなわち自動演奏の作動中に、プラグインプログラムの実行を許容するものである。オフライン処理ルーチンは、自動演奏の非作動中(停止中)にプラグインプログラムの実行を許容するものである。以下、これらのオンライン処理とオフライン処理とに分けて説明する。
【0022】
a.オンライン処理
まず、オンライン処理について図3の作動フロー図を用いて説明すると、同処理ルーチンは、ステップ100の外部入力処理、ステップ110の記録/再生処理、ステップ120,130のトラック処理、及びステップ140の外部/音源出力処理からなる従来からよく知られている処理に、ステップ200のインプットキュー処理、ステップ300のプレイバックキュー処理、及びステップ300のアウトプットキュー処理を加えたものである。
【0023】
ステップ100の外部入力処理は、電子楽器EMI、シーケンサSQ、パーソナルコンピュータPC2などの外部接続機器から楽曲の進行にしたがった時系列演奏データがミディーインターフェース回路21に供給されると、これらの演奏データをシーケンサモジュール(シーケンサプログラムにより実現される自動演奏装置又はシーケンサの意味)内で処理するために、同モジュール内に取り込むものである。ステップ110の記録/再生処理は、前記外部から取り込んだ演奏データを演奏データ記憶領域50に記録すると同時に、同演奏データの再生のために次のステップ120のトラック処理にプログラムを進めたり、演奏データ記憶領域50に記憶されている一連の演奏データを楽曲の進行にしたがって順次読み出して、同読み出した演奏データの再生のために次のステップ120のトラック処理にプログラムを進めたりする。
【0024】
ステップ120,130のトラック処理は、各トラックの演奏データを再生するか否か、外部へ出力するか否かを各トラック毎に制御したり、各トラックの演奏データを別のトラックの演奏データに変更したりする。ここで、演奏データのフォーマットについて若干説明を加えておくと、演奏データは、図4に示すように、トラック、ブロック、イベントデータの3層構造により規定されている。トラックは、メロディー、コード伴奏音、ベース伴奏音、リズム音(打楽器音)などの各系列を示すもので、前述した音源回路24内の一つ若しくは複数の音源チャンネルに対応するものである。したがって、前記トラック処理は、各系列音の発音又は出力の有無を意味したり、音源チャンネルの変更を意味する。
【0025】
ブロックは、各トラック内におけるフレーズ、小節などの所定期間に渡る複数のイベントデータからなる。イベントデータは、発生楽音の音色及び音高、楽音の発生開始及び終了をそれぞれ表すキーオンデータ及びキーオフデータなど個々の楽音の発生を制御するデータである。そして、演奏データ列は、図5に示すように、前回の演奏イベントからの相対時間を表すタイミングデータに続いて、一つ若しくは同時に生じた複数の演奏イベントに対応した複数のイベントデータが時系列的に配置されたものである。なお、図5に示すイベントデータには、トラック番号及びブロック番号が付加されていて、各イベントデータが属するトラック及びブロックが識別できるようになっている。なお、各イベントデータにトラック番号及びブロック番号が付加されていなくても、同各イベントデータのトラック及びブロックが識別できるようなフォーマットであれば、すなわち演奏データ列に対して外部から見て前記3層構造の演奏データが認識できるようになっていれば、いかなるフォーマットでもかまわない。
【0026】
ステップ140の外部/音源出力処理は、ミディーインターフェース回路21を介して電子楽器EMI、シーケンサSQ、パーソナルコンピュータPC2などのパーソナルコンピュータPC1に接続した各種機器に演奏データを出力したり、演奏データを音源回路24に出力して同演奏データに対応した楽音信号を発生させたりするものである。
【0027】
ステップ200のインプットキュー処理は、本発明の一つのキュー手段に対応するもので、ステップ100の外部入力処理とステップ110の記録/再生処理との間に介装されていて、同外部入力処理により外部から入力される一連の演奏データを順次一部の演奏データずつRAM33内に設けた一時記憶領域200aに一時的に記憶するとともに、同記憶した一部の演奏データに関するポインタを引数として機能拡張モジュールとしてのプラグインプログラムに渡すとともに同プログラムをコールし、同プログラムによる一時記憶領域200aからの演奏データの読み出し及び一時記憶領域200aへの演奏データの書き込みを許容する。また、逆に、機能拡張モジュールとしてのプラグインプログラムが、共通の引数を渡してインプットキュー処理をコールすることもできるようになっている。なお、前述したステップ110の記録/再生処理においては、ステップ200のインプットキュー処理により一時記憶領域200aに一時的に記憶されている演奏データを読み出して記録及び再生の処理を実行することになる。
【0028】
このインプットキュー処理の具体例の一つを説明すると、図3及び図6は、シーケンサプログラムに対してミディーモニタプラグインプログラムを付加した動作フローを示している。ステップ200のインプットキュー処理においては、ステップ202にて、前記ステップ100の外部入力処理により新たな演奏データが入力されたか否か、すなわち入力イベントデータがあるか否かを判定する。入力イベントデータがあれば、ステップ202にて「YES」と判定して、ステップ204にて、入力イベントデータ(入力された演奏データ)を一時記憶領域200aに書き込んで同領域200aに入力イベントデータを順次積み上げていく。なお、一時記憶領域200aが入力イベントデータで満たされれば、最も古い入力イベントデータが廃棄されていく。入力イベントデータがなければ、ステップ202にて「NO」と判定して、プログラムをステップ120に進める。
【0029】
また、インプットキュー処理においては、このステップ202,204の処理と並行して、ステップ210〜220からなる処理を所定の短時間毎に繰り返し実行している。ステップ212の時間カウント値TM1の減算処理、ステップ214の時間カウント値TM1と「0」との比較によるタイムアップ検出処理、及びステップ216の時間カウント値TM1に対する所定値TM0の設定処理により、所定値TM0に対応した所定時間の経過の計測を行う。そして、前記所定時間の経過毎に、ステップ218にて、前記一時記憶領域200aに記憶した入力イベントデータに関するポインタを引数としてミディーモニタプラグインプログラムをコール、すなわち前記ポインタをミディーモニタプラグインプログラムに渡して同プログラムの起動を要求する。
【0030】
このミディーモニタプラグインプログラムの実行は前記コールによりステップ250にて起動され、ステップ252にて前記一時記憶領域200aに記憶した入力イベントデータ(入力された演奏データ)に関するポインタを取得する。そして、ステップ254にて前記取得したポインタに基づいて一時記憶領域200aに記憶されている入力イベントデータを読み出し、ステップ256にて前記読み出したイベントデータに基づいて表示制御回路23に同データに対応した表示制御信号を出力して、ステップ258にてこのミディーモニタプラグインプログラムの実行を終了する。表示制御回路23は、表示器14を制御して、同表示器14にて前記入力イベントデータに対応した音符、音符を表す文字などを表示する。これにより、ユーザは、シーケンサプログラムのステップ100の外部入力処理によって外部から入力した演奏データを表示器14にてモニタすることができる。
【0031】
ステップ300のプレイバックキュー処理も、本発明の一つのキュー手段に対応するもので、ステップ120,130の両トラック処理間に介装されていて、ステップ120にて前述のトラック処理された一連の演奏データを一部の演奏データずつ順次RAM33内に設けた一時記憶領域300aに一時的に記憶するとともに、同記憶した一部の演奏データに関するポインタを引数として機能拡張モジュールとしてのプラグインプログラムに渡すとともに同プログラムをコールし、同プログラムによる一時記憶領域300aからの演奏データの読み出し及び一時記憶領域300aへの演奏データの書き込みを許容する。また、逆に、機能拡張モジュールとしてのプラグインプログラムが、共通の引数を渡してプレイバックキュー処理をコールすることもできるようになっている。なお、前述したステップ130のトラック処理においては、ステップ300のプレイバックキュー処理により一時記憶領域300aに一時的に記憶されている演奏データを読み出してトラック処理することになる。
【0032】
このプレイバックキュー処理の具体例の一つを説明すると、図3及び図7は、シーケンサプログラムに対してプレイバックプラグインプログラムを付加した動作フローを示している。ステップ300のプレイバックキュー処理においては、ステップ302にて、前記ステップ120の記録/再生処理により外部から入力され又は演奏データ記憶領域50から読み出されて再生される演奏データがあるか否か、すなわち再生イベントデータがあるか否かを判定する。再生イベントデータがあれば、ステップ302にて「YES」と判定して、ステップ304にて、前記再生イベントデータ(再生される演奏データ)を一時記憶領域300aに書き込んで同領域300aに再生イベントデータを順次積み上げていく。なお、この場合も、一時記憶領域300aが再生イベントデータで満たされれば、最も古い再生イベントデータが廃棄されていく。再生イベントデータがなければ、ステップ302にて「NO」と判定して、プログラムをステップ130に進める。
【0033】
また、プレイバックキュー処理においては、このステップ302,304の処理と並行して、ステップ310〜320からなる処理を所定の短時間毎に繰り返し実行している。これらのステップ310〜320の処理においては、前記ステップ212〜216の処理と同様なステップ312〜316の処理により、時間カウント値TM2を用いて所定時間の経過を計測し、所定時間の経過毎に、ステップ318にて、前記一時記憶領域300aに記憶した再生イベントデータ(再生される演奏データ)に関するポインタを引数としてプレイバックプラグインプログラムをコール、すなわち前記ポインタをプレイバックプラグインプログラムに渡して同プログラムの起動を要求する。
【0034】
このプレイバックプラグインプログラムの実行は前記コールによりステップ350にて開始され、ステップ352にて前記一時記憶領域300aに記憶した再生イベントデータ(再生される演奏データ)に関するポインタを取得する。そして、ステップ354にて前記取得したポインタに基づいて一時記憶領域300aに記憶されている再生イベントデータを読み出し、ステップ356にて前記読み出した再生イベントデータに加工処理を施す。この加工処理においては、再生イベントデータにより再生される楽音のピッチ、音量、音色などの楽音要素を修正するために再生イベントデータを変更したり、同再生イベントデータに新たな演奏データを付加したりする。また、発生される楽音に効果を付与するために再生イベントデータに効果を表す新たな演奏データを付加したり、再生イベントデータにより表されたメロディ音に対して付加音(例えば、副メロディ音)を付加するために、再生イベントデータにより表されたメロディ音及び伴奏音列を自動分析(プログラムによる分析)して付加音を表す演奏データを生成して、同生成した演奏データを再生イベントデータに付加する。
【0035】
前記ステップ356の処理後、ステップ358にて前記加工処理した再生イベントデータを一時記憶領域300aに書き込み、同領域300aのポインタを調整し、ステップ360にてこのプレイバックプラグインプログラムの実行を終了する。前記一時記憶領域300aへの再生イベントデータの書き込みにおいては、既に書き込まれている再生イベントデータに新たな演奏データを追加するようにしてもよいし、再生イベントデータの一部又は全てを新たな演奏データを含む再生イベントで書き換えてしまってもよい。これにより、前記プレイバックキュー処理のステップ304にて一時記憶領域300aに書き込まれた再生イベントデータは、プレイバックプラグインプログラムのステップ356の処理により加工した再生イベントデータに書き換えられる。
【0036】
したがって、前記ステップ130のトラック処理においては、この書き換えられた再生イベントデータを一時記憶領域300aから読み出してトラック処理を施し、このトラック処理の施された演奏データがステップ400のアウトプットキュー処理及びステップ140の外部/音源出力処理に利用されることになるので、前記加工処理の施された再生イベントデータ(演奏データ)が外部へ出力されたり、音源回路24にて再生されることになる。これにより、ユーザは、外部から入力され又は演奏データ記憶領域50から読み出された再生のための演奏データを種々に加工できるようになる。
【0037】
ステップ400のアウトプットキュー処理も、本発明の一つのキュー手段に対応するもので、ステップ130のトラック処理とステップ140の外部/音源出力処理との間に介装されていて、ステップ130にてトラック処理された一連の演奏データを一部の演奏データずつ順次RAM33内に設けた一時記憶領域400aに一時的に記憶するとともに、同記憶した一部の演奏データに関するポインタを引数として機能拡張モジュールとしてのプラグインプログラムに渡すとともに同プログラムをコールし、同プログラムによる一時記憶領域400aからの演奏データの読み出し及び一時記憶領域400aへの演奏データの書き込みを許容する。また、逆に、機能拡張モジュールとしてのプラグインプログラムが、共通の引数を渡してアウトプットキュー処理をコールすることもできるようになっている。なお、前述したステップ140の外部/音源出力処理においては、ステップ400のキュー処理により一時記憶領域400aに一時的に記憶されている演奏データを読み出して外部又は音源回路24に出力することになる。
【0038】
このアウトプットキュー処理の具体例の一つを説明すると、図3及び図8は、シーケンサプログラムに対して非同期プラグインプログラムを付加した動作フローを示している。ステップ400のアウトプットキュー処理においては、ステップ402にて、前記ステップ130にてトラック処理が施されて外部又は音源回路24に出力される新たな演奏データがあるか否か、すなわち出力イベントデータがあるか否かを判定する。出力イベントデータがあれば、ステップ402にて「YES」と判定して、ステップ404にて、前記出力イベントデータ(出力される演奏データ)を一時記憶領域400aに書き込んで同領域400aに出力イベントデータを順次積み上げていく。なお、この場合も、一時記憶領域400aが出力イベントデータで満たされれば、最も古い出力イベントデータが廃棄されていく。出力イベントデータがなければ、ステップ402にて「NO」と判定して、プログラムをステップ140に進める。
【0039】
また、このアウトプットキュー処理に対しては、同キュー処理に並行して、機能拡張モジュールである非同期プラグインプログラムが図示しない指示により所定の短時間毎に繰り返し実行されている。この非同期プラグインプログラムは、ステップ450にて開始され、表示器14にてプラグインウインドウに表示されている発生楽音の楽音制御要素をキーボード12又はマウス13の操作に応じて変更して、発生楽音の楽音要素をリアルタイムで変更するものである。前記楽音要素としては、例えば、トラック毎(パート別)の音量、音色などが挙げられる。
【0040】
非同期プラグインプログラムは、ステップ450にてその実行が開始されて、ステップ452にて前記キーボード12又はマウス13の操作により楽音制御要素が変更された否か、すなわち操作子イベントデータ(楽音制御要素の変更操作を示す演奏データ)があるか否かを判定する。操作子イベントデータがなければ、ステップ452にて「NO」と判定して、ステップ462にてこの非同期プラグインプログラムの実行を一旦終了する。
【0041】
一方、操作子イベントデータがあれば、ステップ452にて「YES」と判定し、ステップ454にて、表示器14のプラグインウインドウに表示されている楽音制御要素用の表示(例えば、音量操作子位置の表示)をキーボード12又はマウス13の操作に応じて変更する。そして、ステップ456にて、前記操作子イベントデータ(前記変更された楽音制御要素を表す演奏データ)を引数として、アウトプットキュー処理をコールして待機する。
【0042】
アウトプットキュー処理においては、同処理の一部を構成するプログラムがステップ410にて起動され、ステップ412にて、前記一時記憶領域400aに記憶した出力イベントデータ(出力される演奏データ)に関するポインタを引数として非同期プラグインプログラムをコール、すなわち前記ポインタを非同期プラグインプログラムに渡して同プログラムによる処理を要求する。
【0043】
この場合、非同期プラグインプログラム側においては、ステップ458にて前記一時記憶領域400aに記憶した出力イベントデータ(出力される演奏データ)に関するポインタを取得する。そして、ステップ460にて前記操作子イベントデータ(演奏データ)を一時記憶領域400aに書き込み、又は一時記憶領域400aに既に記憶されている演奏データを新たな操作子イベントデータに変更し、同領域400aのポインタを調整し、ステップ462にてこの非同期プラグインプログラムの実行を一旦終了する。
【0044】
これにより、前記アウトプットキュー処理のステップ404によって一時記憶領域400aに書き込まれた出力イベントデータには操作子イベントデータが追加され、又は同出力イベントデータの一部が操作子イベントデータに書き換えられる。
【0045】
したがって、前記ステップ140の外部/音源出力処理においては、この追加又は書き換えられた出力イベントデータを一時記憶領域400aから読み出して外部又は音源回路24に出力するので、外部又は音源回路24に出力される演奏データが前記操作子イベントデータを含むものに変更される。その結果、ユーザは、キーボード12又はマウス13などを操作することにより、外部装置に出力される演奏データをリアルタイムで変更したり、音源回路24から出力される楽音の楽音要素をリアルタイムで変更したりできるようになる。
【0046】
また、シーケンサプログラム側においては、前記ステップ412の処理後、ステップ110の記録/再生処理を実行して、前記非同期プラグインプログラムから渡された操作子イベントデータ(楽音制御要素の変更操作を示す演奏データ)を演奏データ記憶領域50に書き込むこともできる。これによれば、ステップ200のインプットキュー処理及びステップ300のプレイバックキュー処理の影響を受けないで、外部から供給された演奏データに前記操作子イベントデータを加えて演奏データ記憶領域50に記録したり、演奏データ記憶領域50に既に記録されている演奏データに外部の操作子の操作に応じた操作子イベントデータを加えたりすることもできるようになる。
【0047】
上記作動説明からも理解できるように、上記実施形態のインプットキュー処理、プレイバックキュー処理及びアウトプットキュー処理は、時間経過にしたがった一連の処理中に一連の演奏データのうちの一部の演奏データを一時記憶領域200a,300a,400aにそれぞれ一時的に記憶するとともに、この記憶した一部の演奏データに関するポインタを引数として機能拡張モジュールとしての各種プラグインプログラムに渡し、同各種プラグインプログラムによる一時記憶領域200a,300a,400aからの演奏データの読み出し又は同記憶領域200a,300a,400aへの演奏データの書き込みを許容するようにした。したがって、上記各種プラグインプログラムのように、一時記憶領域200a,300a,400aに記憶した一部の演奏データに関するポインタを引数として受け取るとともに、同記憶領域200a,300a,400aから演奏データを読み出す又は同記憶領域200a,300a,400aへ演奏データを書き込む機能を有する機能拡張モジュールとしてのプラグインプログラムを用意しさえすれば、基本的なシーケンサ処理(自動演奏の記録再生処理)に対して各種拡張機能を汎用的かつ簡単に付加できるようになる。
【0048】
なお、上記説明したオンライン処理においては、各種キュー処理を演奏データ全体に対して設けるとともに、各種キュー処理に対して各一つずつのプラグインプログラムを付加するようにした。しかし、これを更に拡張して、各キュー処理をトラック毎に設け、各トラック毎に独立してプラグインプログラムを付加できるようにしてもよい。また、一つのキュー処理に対して複数のプラグインプログラムを付加できるようし、各キュー処理(シーケンサプログラム)側からコールする順序を管理することにより、プラグインプログラム間の論理結線を制御するようにしてもよい。
【0049】
前記変形例の論理結線の一例を図9に示す。図9によれば、シーケンサプログラムは、予め決められたキュー処理(インプットキュー処理、プレイバックキュー処理など)において、複数のトラックのうちのx番目のトラックx用のプラグインプログラムx1〜xmを順にコールし、これと並行して、複数のトラックのうちのy番目のトラックy用のプラグインプログラムy1〜ynを順にコールしていく。そして、各プラグインプログラムx1〜xm,y1〜ynは、トラックx,yの前記キュー処理に対して種々の機能拡張処理を施す。その後、シーケンサプログラムは、全てのトラック用のプラグインプログラムA〜Mを順にコールしていく。これにより、より基本的なシーケンサプログラムに対して複雑な機能拡張を行うことができる。
【0050】
また、このキュー処理とプラグインプログラムとの関係を表示器14を用いて定めるようにすることもできる。この場合、シーケンサプログラム及び各種プラグインプログラムをパーソナルコンピュータPC1にインストールした状態で、キュー処理と各種プラグインプログラムとの関係を表示器14に表示しながら、前記関係を設定していくようにするとよい。これにより、キュー処理とプラグインプログラムとの対応つけを簡単に決めることができるとともに、前記対応付けを簡単に種々に変更することもできる。
【0051】
さらに、上記実施形態の機能拡張モジュールとしてのプラグインプログラムに上記シーケンサプログラムに設けた各種キュー処理と同様なキュー処理を設けて、プラグインプログラムが同プログラムに付加された別のプラグインプログラムをコールするようにすることもできる。これによっても、シーケンサプログラムに対して機能拡張を付加したことになり、複雑かつ多数の機能拡張を簡単に行うことができるようになる。
【0052】
a.オフライン処理
次に、オフライン処理について図面を用いて説明すると、図10は同オフライン処理におけるシーケンサモジュール(シーケンサプログラム)と機能拡張モジュール(編集プラグインプログラム)との関係を概念図により示している。
【0053】
シーケンサモジュールは、上述したような外部から時系列で供給される演奏データを演奏データ記憶領域50に記録したり、演奏データ記憶領域50に記憶されている演奏データを再生したりする処理機能を有しているとともに、機能拡張モジュール600−1,600−2などの追加を可能とするインターフェース処理500を行うようになっている。機能拡張モジュール600−1,600−2は、演奏データ記憶領域50内の演奏データをシーケンサモジュールを介して編集可能とするものである。この場合、演奏データ記憶領域50には、上述したトラック、ブロック及びイベントデータからなる3層構造にしたがった演奏データが記憶されている。なお、この場合の3層構造も、演奏データ記憶領域50内の演奏データの配列がいかなるものであっても、同記憶領域50に対して前記3層構造で各演奏データを指定できるようになっていればよい。また、シーケンサモジュールと機能拡張モジュール600−1,600−2とは、共通の引数及び関数により、互いにコールし合うことができるようになっている。
【0054】
このようなシーケンサモジュールと機能拡張モジュール600−1,600−2との関係を、図11の動作フローを用いてさらに詳細に説明する。前述のように、編集プラグインプログラムとシーケンサプログラムのインターフェース処理500とは、共通の引数及び関数を用いて互いにコールし合えるようになっており、編集プラグインプログラムは所定時間毎に繰り返し実行されるようになっている。この編集プラグインプログラムの実行はステップ600にて開始され、ステップ602にて編集しようとする演奏データの記憶領域(編集領域)がキーボード12、マウス13の入力装置により指定されたか否かを判定する。この場合、表示器14においては、演奏データ編集用の表示がなされており、ユーザは、この表示にしたがってキーボード12、マウス13などの入力装置により編集領域を指定する。
【0055】
編集領域が指定されなければ、ステップ602にて「NO」と判定して、ステップ612にてこの編集プラグインプログラムの実行を一旦終了する。一方、編集領域の指定があれば、ステップ602にて「YES」と判定して、ステップ604にて編集領域を表すトラック番号、ブロック番号及びイベント番号を引数としてインターフェース処理をコールする。もちろん、全ての演奏データのうちの一つ若しくは複数のトラックの全ての演奏データを編集する場合には、前記引数は一つ若しくは複数のトラック番号となる。また、一つ若しくは複数のトラックの演奏データのうちで特定の一つ若しくは複数のブロックの演奏データを編集する場合には、前記引数は一つ若しくは複数のトラック番号及びブロック番号となる。
【0056】
インターフェース処理500においては、前記コールに応答して、ステップ502にて前記引数により指定された編集領域に属する演奏データを演奏データ記憶領域50から読み出し、編集プラグインプログラムをコールして同読み出した演奏データを渡した後、待機する。編集プラグインプログラムにおいては、前記コールに応答して、ステップ606にて前記演奏データ記憶領域50から読み出された演奏データを取得して、RAM33内に適宜設けた編集用記憶領域に書き込むとともに表示器14にて前記取得した演奏データに対応した表示を行う。
【0057】
この状態で、ユーザは、表示器14の表示画面を見ながら、キーボード12又はマウス13を操作して演奏データを編集する。前記ステップ606の処理後、ステップ608にて、前記キーボード12又はマウス13の操作に応じて編集用記憶領域内の演奏データを編集するとともに、表示器14の表示状態も前記編集に合わせて変更する。
【0058】
この後、ユーザによる編集終了の指示に応答して、ステップ610にて編集した演奏データに対する演奏データ記憶領域50内の記憶領域を指定し、インターフェース処理500をコールし、同インターフェース処理500に対して同指定記憶領域を表すデータとともに編集された演奏データを3層構造にしたがったフォーマットで渡し、ステップ612にてこの編集プラグインプログラムの実行を終了する。なお、前記記憶領域を表すデータに関しては、前記指定された編集領域に今回編集された演奏データを戻すだけの場合、同指定された編集領域を表すデータを再度使用することになる。また、演奏データ記憶領域50に記憶されていた一部の演奏データを他の位置にコピーしたり、同一部の演奏データを加工して他の位置に書き込む場合には、ユーザにより新たに指定された記憶領域を表すデータが生成されることになる。
【0059】
インターフェース処理500においては、前記コールに応答して、ステップ504にて、前記編集された演奏データを取得して、同演奏データを演奏データ記憶領域50内の指定記憶領域に書き込む。これにより、演奏データ記憶領域50内の演奏データが、シーケンサプログラムのインターフェース処理500を介して編集プラグインプログラムにより編集されることになる。図12は、前記のような編集作業における演奏データの流れを示しており、演奏データ記憶領域50に記憶されていた一部の演奏データS1,S2,S3が、編集プラグインプログラムの処理により新たな一部の演奏データS1*,S2*,S3*にそれぞれ編集されて演奏データ記憶領域50にふたたび記憶される流れを示している。
【0060】
上記作動説明からも理解できるように、機能拡張モジュールとしての編集プラグインプログラムにより、3層構造に従った関数を用いて演奏データ記憶領域50内の一部の演奏データが指定されると、シーケンサモジュールとしてのシーケンサプログラムのインターフェース処理500は、演奏データ記憶領域50から前記指定された一部の演奏データを編集プラグインプログラムに渡す。そして、編集プラグインプログラムによって前記一部の演奏データが編集されるとともに、インターフェース処理500に再び戻されると、同インターフェース処理500は前記編集された一部の演奏データを演奏データ記憶領域50に書き込む。したがって、機能拡張モジュールとしてのプラグインプログラムをシーケンサモジュール(シーケンサプログラム)に対して付加するだけで、汎用的かつ簡単に演奏データの編集を行うための機能拡張を実現できる。しかも、このプラグインプログラムの付加は、シーケンサプログラムとの間で共通の引数及び関数を定めておくだけでシーケンサプログラムに適用されるので、種々の機能拡張モジュールであるプラグインプログラムを汎用的かつ簡単に利用できるようになる。
【0061】
なお、前記表示器14における演奏データの表示の説明でも明らかなように、このオフライン処理においても、演奏データ記憶領域50内の演奏データをプラグインプログラム側に取り込んで単にモニタすることも可能であり、汎用的かつ簡単に演奏データのモニタを行うための機能拡張も簡単に行える。
【図面の簡単な説明】
【図1】本発明をパーソナルコンピュータに適用した場合における各種機器の接続図である。
【図2】前記パーソナルコンピュータを詳細に表した接続図である。
【図3】オンライン処理における作動を示す作動フロー図である。
【図4】演奏データの3層構造を説明するためのデータフォーマット図である。
【図5】演奏データ列のデータフォーマット図である。
【図6】インプットキュー処理とミディーモニタプラグインプログラムの作動を説明するためのフローチャートである。
【図7】プレイバックキュー処理とプレイバックプラグインプログラムの作動を説明するためのフローチャートである。
【図8】アウトプットキュー処理と非同期プラグインプログラムの作動を説明するためのフローチャートである。
【図9】上記実施形態の変形例に係るプラグインプログラムの論理結線図である。
【図10】オフライン処理におけるシーケンサモジュールと機能拡張モジュールの結線概念図である。
【図11】インターフェース処理と編集プラグインプログラムの作動を説明するためのフローチャートである。
【図12】編集される演奏データの流れを表す概念図である。
【符号の説明】
PC1,PC2…パーソナルコンピュータ装置、SQ…シーケンサ、EMI…電子楽器、11…本体部、12…キーボード、13…マウス、14…表示器、15…ドライブユニット、21…ミディーインターフェース回路、22…操作子スイッチ回路、23…表示制御回路、24…音源回路24、31…CPU、32…ROM、33…RAM33、50…演奏データ記憶領域、100a,200a,300a…一時記憶領域。

Claims (10)

  1. 演奏データを記憶する演奏データ記憶手段と、
    外部から演奏データを入力する入力手段と、
    前記入力された演奏データを前記演奏データ記憶手段に記憶するとともに、前記演奏データ記憶手段に記憶された演奏データを読み出す記録再生手段と、
    前記読み出された演奏データを外部に出力する出力手段とを備えた自動演奏装置において、
    前記演奏データ記憶手段とは独立していて演奏データを一時的に記憶するための一時記憶手段と、
    前記入力手段、記録再生手段又は出力手段による演奏データの処理中に、演奏データを前記一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として機能拡張モジュールをコールして、前記機能拡張モジュールによる前記一時記憶手段からの演奏データの読み出し及び前記一時記憶手段への演奏データの書き込みを許容し、かつ前記機能拡張モジュールによるコールを許容するキュー手段とを設けたことを特徴とする自動演奏装置。
  2. 前記請求項1に記載した自動演奏装置において、
    前記演奏データは3層構造で規定されており、前記3層構造に従った関数を用いて、前記キュー手段と前記機能拡張モジュールとの間で前記演奏データが授受されることを特徴とする自動演奏装置。
  3. 演奏データを記憶する演奏データ記憶手段と、
    外部から演奏データを入力する入力手段と、
    前記入力された演奏データを前記演奏データ記憶手段に記憶するとともに、前記演奏データ記憶手段に記憶された演奏データを読み出す記録再生手段と、
    前記読み出された演奏データを外部に出力する出力手段とを備えた自動演奏装置において、
    前記演奏データ記憶手段とは独立していて演奏データを一時的に記憶するための第1乃至第3の一時記憶手段と、
    前記入力手段によって入力された演奏データを前記第1の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第1の機能拡張モジュールをコールして、前記第1の機能拡張モジュールによる前記第1の一時記憶手段からの演奏データの読み出し及び前記第1の一時記憶手段への演奏データの書き込みを許容し、かつ前記第1の機能拡張モジュールによるコールを許容する第1のキュー手段と、
    前記入力手段によって入力された演奏データ又は前記記録再生手段によって前記演奏データ記憶手段から読み出された演奏データを前記第2の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第2の機能拡張モジュールをコールして、前記第2の機能拡張モジュールによる前記第2の一時記憶手段からの演奏データの読み出し及び前記第2の一時記憶手段への演奏データの書き込みを許容し、かつ前記第2の機能拡張モジュールによるコールを許容する第2のキュー手段と、
    前記出力手段によって外部に出力される演奏データを前記第3の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第3の機能拡張モジュールをコールして、前記第3の機能拡張モジュールによる前記第3の一時記憶手段からの演奏データの読み出し及び前記第3の一時記憶手段への演奏データの書き込みを許容し、かつ前記第3の機能拡張モジュールによるコールを許容する第3のキュー手段とを設けたことを特徴とする自動演奏装置。
  4. 前記請求項3に記載した自動演奏装置において、
    前記演奏データは3層構造で規定されており、前記3層構造に従った関数を用いて、前 記第1乃至第3のキュー手段と前記第1乃至第3の機能拡張モジュールとの間で前記演奏データがそれぞれ授受されることを特徴とする自動演奏装置。
  5. 前記請求項1乃至請求項4のうちのいずれか一つに記載した自動演奏装置において、さらに、
    前記演奏データは複数系列音にそれぞれ対応した複数のトラックを有する構造により規定されており、
    前記入力手段によって入力された演奏データ又は前記記録再生手段によって前記演奏データ記憶手段から読み出された演奏データをトラックごとに処理するトラック処理手段を設けたことを特徴とする自動演奏装置。
  6. 演奏データを記憶する演奏データ記憶手段と、前記演奏データ記憶手段とは独立していて演奏データを一時的に記憶するための一時記憶手段とを有する自動演奏装置に適用され、
    外部から演奏データを入力する入力処理と、
    前記入力された演奏データを前記演奏データ記憶手段に記憶するとともに、前記演奏データ記憶手段に記憶された演奏データを読み出す記録再生処理と、
    前記読み出された演奏データを外部に出力する出力処理と、
    前記入力処理、記録再生処理又は出力処理による演奏データの処理中に、演奏データを前記一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として機能拡張モジュールをコールして、前記機能拡張モジュールによる前記一時記憶手段からの演奏データの読み出し及び前記一時記憶手段への演奏データの書き込みを許容し、かつ前記機能拡張モジュールによるコールを許容するキュー処理とを含むことを特徴とする自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体。
  7. 前記請求項6に記載した記録媒体において、
    前記演奏データは3層構造で規定されており、前記3層構造に従った関数を用いて、前記キュー手段と前記機能拡張モジュールとの間で前記演奏データが授受されるようにした自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体。
  8. 演奏データを記憶する演奏データ記憶手段と、前記演奏データ記憶手段とは独立していて演奏データを一時的に記憶するための第1乃至第3の一時記憶手段とを有する自動演奏装置に適用され、
    外部から演奏データを入力する入力処理と、
    前記入力された演奏データを前記演奏データ記憶手段に記憶するとともに、前記演奏データ記憶手段に記憶された演奏データを読み出す記録再生処理と、
    前記読み出された演奏データを外部に出力する出力処理と、
    前記入力処理によって入力された演奏データを前記第1の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第1の機能拡張モジュールをコールして、前記第1の機能拡張モジュールによる前記第1の一時記憶手段からの演奏データの読み出し及び前記第1の一時記憶手段への演奏データの書き込みを許容し、かつ前記第1の機能拡張モジュールによるコールを許容する第1のキュー処理と、
    前記入力処理によって入力された演奏データ又は前記記録再生処理によって前記演奏データ記憶手段から読み出された演奏データを前記第2の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第2の機能拡張モジュールをコールして、前記第2の機能拡張モジュールによる前記第2の一時記憶手段からの演奏データの読み出し及び前記第2の一時記憶手段への演奏データの書き込みを許容し、かつ前記第2の機能拡張モジュールによるコールを許容する第2のキュー処理と、
    前記出力処理によって外部に出力される演奏データを前記第3の一時記憶手段に一時的に記憶するとともに、同記憶した演奏データに関するポインタを引数として第3の機能拡 張モジュールをコールして、前記第3の機能拡張モジュールによる前記第3の一時記憶手段からの演奏データの読み出し及び前記第3の一時記憶手段への演奏データの書き込みを許容し、かつ前記第3の機能拡張モジュールによるコールを許容する第3のキュー処理とを含むことを特徴とする自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体。
  9. 前記請求項8に記載した記録媒体において、
    前記演奏データは3層構造で規定されており、前記3層構造に従った関数を用いて、前記第1乃至第3のキュー処理と前記第1乃至第3の機能拡張モジュールとの間で前記演奏データがそれぞれ授受されるようにした自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体。
  10. 前記請求項6乃至請求項9のうちのいずれか一つに記載した記録媒体において、さらに、
    前記演奏データは複数系列音にそれぞれ対応した複数のトラックを有する構造により規定されており、
    前記入力処理によって入力された演奏データ又は前記記録再生処理によって前記演奏データ記憶手段から読み出された演奏データをトラックごとに処理するトラック処理を含むようにした自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体。
JP34678499A 1999-12-06 1999-12-06 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体 Expired - Fee Related JP3614061B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP34678499A JP3614061B2 (ja) 1999-12-06 1999-12-06 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体
GB0122170A GB2364161B (en) 1999-12-06 2000-11-28 Automatic play apparatus and function expansion device
GB0028979A GB2359657B (en) 1999-12-06 2000-11-28 Automatic play apparatus and function expansion device
US09/726,715 US6620993B2 (en) 1999-12-06 2000-11-30 Automatic play apparatus and function expansion device
US10/209,713 US6660924B2 (en) 1999-12-06 2002-07-31 Automatic play apparatus and function expansion device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34678499A JP3614061B2 (ja) 1999-12-06 1999-12-06 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2001166772A JP2001166772A (ja) 2001-06-22
JP3614061B2 true JP3614061B2 (ja) 2005-01-26

Family

ID=18385795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34678499A Expired - Fee Related JP3614061B2 (ja) 1999-12-06 1999-12-06 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体

Country Status (3)

Country Link
US (2) US6620993B2 (ja)
JP (1) JP3614061B2 (ja)
GB (1) GB2359657B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2573762A2 (en) 2011-09-25 2013-03-27 Yamaha Corporation Updating music content or program to usable state in cooperation with external electronic audio apparatus
US9188205B2 (en) 2009-09-08 2015-11-17 Gary D. Lee Moon gear assembly

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631318B2 (en) * 2002-06-28 2009-12-08 Microsoft Corporation Secure server plug-in architecture for digital rights management systems
JP3867642B2 (ja) 2002-08-28 2007-01-10 ヤマハ株式会社 楽音再生用デジタルデータの情報処理装置、情報処理方法、プログラム及び記憶媒体
EP1555772A3 (en) * 2004-01-15 2013-07-17 Yamaha Corporation Remote control method of external devices
JP4243862B2 (ja) 2004-10-26 2009-03-25 ソニー株式会社 コンテンツ利用装置およびコンテンツ利用方法
JP4247626B2 (ja) * 2005-01-20 2009-04-02 ソニー株式会社 再生装置および再生方法
JP4595555B2 (ja) 2005-01-20 2010-12-08 ソニー株式会社 コンテンツ再生装置およびコンテンツ再生方法
JP4741267B2 (ja) 2005-03-28 2011-08-03 ソニー株式会社 コンテンツ推薦システム、通信端末およびコンテンツ推薦方法
JP2007011928A (ja) 2005-07-04 2007-01-18 Sony Corp コンテンツ提供システム、コンテンツ提供装置、コンテンツ配信サーバ、コンテンツ受信端末およびコンテンツ提供方法
JP5133508B2 (ja) 2005-07-21 2013-01-30 ソニー株式会社 コンテンツ提供システム、コンテンツ提供装置、コンテンツ配信サーバ、コンテンツ受信端末およびコンテンツ提供方法
JP4296514B2 (ja) * 2006-01-23 2009-07-15 ソニー株式会社 音楽コンテンツ再生装置、音楽コンテンツ再生方法及び音楽コンテンツ再生プログラム
JP4811046B2 (ja) 2006-02-17 2011-11-09 ソニー株式会社 コンテンツの再生装置、オーディオ再生機およびコンテンツの再生方法
US7663051B2 (en) * 2007-03-22 2010-02-16 Qualcomm Incorporated Audio processing hardware elements
US7678986B2 (en) * 2007-03-22 2010-03-16 Qualcomm Incorporated Musical instrument digital interface hardware instructions
JP5029400B2 (ja) * 2008-02-08 2012-09-19 ヤマハ株式会社 管理プログラムおよび情報処理装置
US9286383B1 (en) 2014-08-28 2016-03-15 Sonic Bloom, LLC System and method for synchronization of data and audio
US9552801B2 (en) * 2014-09-02 2017-01-24 Native Instruments Gmbh Electronic music instrument, system and method for controlling an electronic music instrument
US11130066B1 (en) 2015-08-28 2021-09-28 Sonic Bloom, LLC System and method for synchronization of messages and events with a variable rate timeline undergoing processing delay in environments with inconsistent framerates

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59125786A (ja) * 1982-12-24 1984-07-20 カシオ計算機株式会社 自動演奏装置
JPH0772829B2 (ja) * 1986-02-28 1995-08-02 ヤマハ株式会社 電子楽器におけるパラメ−タ供給装置
JP2546663B2 (ja) * 1987-02-06 1996-10-23 ヤマハ株式会社 自動演奏装置
GB2209425A (en) * 1987-09-02 1989-05-10 Fairlight Instr Pty Ltd Music sequencer
JP2596206B2 (ja) 1990-10-08 1997-04-02 ヤマハ株式会社 演奏データ記録再生装置および演奏データ記録再生方法
JP3018821B2 (ja) 1993-03-19 2000-03-13 ヤマハ株式会社 自動演奏装置
US5672837A (en) * 1994-12-29 1997-09-30 Casio Computer Co., Ltd. Automatic performance control apparatus and musical data storing device
US5763800A (en) 1995-08-14 1998-06-09 Creative Labs, Inc. Method and apparatus for formatting digital audio data
US5777250A (en) * 1995-09-29 1998-07-07 Kawai Musical Instruments Manufacturing Co., Ltd. Electronic musical instrument with semi-automatic playing function
US6231347B1 (en) * 1995-11-20 2001-05-15 Yamaha Corporation Computer system and karaoke system
JP2970526B2 (ja) 1996-01-17 1999-11-02 ヤマハ株式会社 コンピュータソフトウェアを用いた音源システム
US6317123B1 (en) * 1996-09-20 2001-11-13 Laboratory Technologies Corp. Progressively generating an output stream with realtime properties from a representation of the output stream which is not monotonic with regard to time
JP3371774B2 (ja) 1997-10-06 2003-01-27 ヤマハ株式会社 演奏データから和音を検出する和音検出方法および和音検出装置、ならびに、和音検出用プログラムを記録した記録媒体
JPH11194763A (ja) * 1997-12-26 1999-07-21 Kawai Musical Instr Mfg Co Ltd 伴奏補助装置及び伴奏補助プログラムを記録したコンピュータ読み取り可能な記録媒体
US6169242B1 (en) * 1999-02-02 2001-01-02 Microsoft Corporation Track-based music performance architecture

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9188205B2 (en) 2009-09-08 2015-11-17 Gary D. Lee Moon gear assembly
EP2573762A2 (en) 2011-09-25 2013-03-27 Yamaha Corporation Updating music content or program to usable state in cooperation with external electronic audio apparatus
US9437178B2 (en) 2011-09-25 2016-09-06 Yamaha Corporation Updating music content or program to usable state in cooperation with external electronic audio apparatus

Also Published As

Publication number Publication date
US20010015121A1 (en) 2001-08-23
JP2001166772A (ja) 2001-06-22
GB2359657A (en) 2001-08-29
GB2359657B (en) 2002-02-27
US6660924B2 (en) 2003-12-09
US20020189428A1 (en) 2002-12-19
GB0028979D0 (en) 2001-01-10
US6620993B2 (en) 2003-09-16

Similar Documents

Publication Publication Date Title
JP3614061B2 (ja) 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体
JP2896716B2 (ja) 自動演奏装置
US20080060501A1 (en) Music data processing apparatus and method
JPS59139093A (ja) 電子楽器のデータ伝送システム
JP2001013962A (ja) 楽曲自動再生装置および連続楽曲情報作成再生プログラムを記録した記録媒体
JP3835290B2 (ja) 電子音楽装置および同装置に適用されるプログラム
JP6569479B2 (ja) 音楽機器及びプログラム
JP3796752B2 (ja) 音楽演奏プログラム
US7840291B2 (en) Digital recorder
JP3709821B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP3928725B2 (ja) 楽音信号発生装置及びレガート処理プログラム
JP7231719B2 (ja) 楽曲データ編集装置、および楽曲データ編集プログラム
GB2364161A (en) Automatic play apparatus and function expansion device.
JP4315116B2 (ja) 電子音楽装置
JP2770767B2 (ja) 自動演奏装置
JPH10207465A (ja) 楽音発生方法および楽音発生装置
JP3709820B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP2625800B2 (ja) 自動演奏装置
JP3797180B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP4062193B2 (ja) 自動伴奏再生位置検出装置、自動伴奏装置及び自動伴奏再生位置検出プログラム並びに自動伴奏制御プログラム
JPS58169192A (ja) 電子楽器
JP3797181B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP3178176B2 (ja) 自動伴奏装置
JP3758041B2 (ja) 楽音制御データ発生装置
JP3820817B2 (ja) 楽音信号発生装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041025

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees