JP3800947B2 - 演奏データ処理装置及び方法並びに記憶媒体 - Google Patents
演奏データ処理装置及び方法並びに記憶媒体 Download PDFInfo
- Publication number
- JP3800947B2 JP3800947B2 JP2000345170A JP2000345170A JP3800947B2 JP 3800947 B2 JP3800947 B2 JP 3800947B2 JP 2000345170 A JP2000345170 A JP 2000345170A JP 2000345170 A JP2000345170 A JP 2000345170A JP 3800947 B2 JP3800947 B2 JP 3800947B2
- Authority
- JP
- Japan
- Prior art keywords
- fingering
- information
- performance data
- pitch
- performance
- 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
Links
Images
Description
【発明の属する技術分野】
この発明は、演奏データに含まれる一連の音符列の各音高をそれぞれ表す複数の音高情報を分析し、所定の楽器を用いて各音符を演奏する際に操作すべき指を表す運指情報や楽音に所定の楽器特有の音楽的な表現を付加する演奏情報を自動的に生成する演奏データ処理装置および方法並びに記憶媒体に関し、特に前記運指情報や前記演奏情報を簡単な処理で生成することを可能とした演奏データ処理装置及び方法並びに記憶媒体に関する。
【0002】
【従来の技術】
楽器の演奏方法を習得する場合、単に楽譜等が記された教本を見て実際に楽器を演奏操作しながら段階的に習得していくことは特に初心者にとって非常に難しいことである。そこで、近年においては、ディスプレイ上で楽器の演奏指示を行うことによって楽器の演奏方法を習得することが可能となっている。該楽器の演奏指示では、例えば、所定のディスプレイ上に演奏方法を習得したい楽器の一部画像を表示し、該表示した楽器上における現在の演奏操作対象となる操作子の位置を演奏曲の再生にあわせて順次指示することが行われる。すなわち、楽器をどの指で操作していけばよいかを表す運指を曲の進行と共に表示する。ユーザはディスプレイ上に表示される演奏指示に従うことで、簡単に該楽器の演奏方法を習得することができる。こうした運指をディスプレイ上に示す場合には、各音符を操作するために用いる指を表す運指情報を予め生成しておく必要がある(つまり、運指付け)。そこで、演奏データに含まれる一連の音符列の各音高をそれぞれ表す複数の音高情報を分析し、各音符毎に運指情報を自動的に生成することによって運指付けを行う装置などが従来から知られている(例えば、本出願人が既に出願済みの特開平7−261750など)。
また、演奏データを一連の音符列の各音高をそれぞれ表す複数の音高情報のみで構成すると機械的な無表情な演奏が再生されることとなり非常に不自然であるために、より自然な演奏、生々しい演奏とするためには、様々な楽器毎に特有の音楽的な表現(すなわち、楽器らしさ)を表す演奏情報を制御データとして加える必要がある(つまり、表情付け)。そこで、演奏データを分析して自動的に表情付けを行う装置などが従来から知られている(例えば、本出願人が既に出願済みの特開平10−105173など)。
【0003】
【発明が解決しようとする課題】
ところで、運指付けや表情付けを自動的に行う従来から知られた装置では、演奏データを曲の先頭から後方に向かって(すなわち、曲の流れに従って順方向に)検索することによって、曲の進行順に運指付けや表情付けを行っている。しかし、場合によっては後方の演奏データを参照しながら運指付けや表情付けを行う方が適切な運指付けや表情付けを行うことができることがある。そこで、従来の装置では、適切な運指付けや表情付けを行うために、一旦後方の演奏データをチェックしてから前の演奏データに戻って運指付けや表情付けを行う等の複雑な処理を行わなければならず処理効率が悪い、という問題点があった。
また、従来の装置では、特に弦楽器に対する運指付けを行う場合に、演奏時に弦を抑える際に配置する手の位置を考慮して運指付けが行われることがなかったことから、演奏時に滑らかな操作が可能な運指付けを行うことが困難である、という問題点があった。
【0004】
本発明は上述の点に鑑みてなされたもので、複雑な処理を行うことなく簡単な処理を行うことによって、連続的な操作を行うことが可能な運指付けや種々の楽器特有の音楽的な表情付けを効率的に行うことができるようにした演奏データ処理装置及び方法並びに記憶媒体を提供しようとするものである。
【0005】
【課題を解決するための手段】
本発明に係る演奏データ処理装置は、一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データを供給する演奏データ供給手段と、前記供給された演奏データに含まれる複数の音高情報を分析して所定の楽器を用いて各音符を演奏する際に操作すべき指を表す運指情報を自動的に生成する情報生成手段とを具えてなり、前記情報生成手段は、前記音高情報を曲の進行順に検索して分析し、これによって前記運指情報が生成できなかった場合に、次に、前記音高情報を前記曲の進行順とは逆方向に検索して分析することによって、前記運指情報を生成することを特徴とする。これによれば、演奏データを曲の進行順で検索するのみならず、逆方向にも検索するようにしたので、適切な運指付けを自動的に行うことができる。
【0006】
更に、本発明に係る演奏データ処理装置は、一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データを供給する演奏データ供給手段と、前記供給された演奏データに含まれる複数の音高情報を分析して所定の楽器特有の音楽的な表現を楽音に付加する演奏情報を自動的に生成する情報生成手段とを具えてなり、前記情報生成手段は、前記音高情報を演奏進行順とは逆方向に検索して分析することによって、前記演奏情報を生成することを特徴とする。
情報生成手段は、演奏データに少なくとも含まれる一連の音符列の各音高をそれぞれ表す複数の音高情報を演奏進行順とは逆方向に検索し、検索により得られた音高情報を分析することによって所定の楽器特有の音楽的な表現を楽音に付加する演奏情報を生成する。すなわち、演奏データに含まれる音高情報を演奏時に最後に演奏される音高情報から演奏時に最初に演奏される音高情報へと順次に遡るようにして検索し、検索した音高情報を分析する。こうすると、後方の演奏データを参照しながら処理しないと適切に生成することができない所定の楽器特有の音楽的な表現を楽音に付加する演奏情報を、演奏データを演奏進行順と逆方向に検索するだけで生成することができるようになる。すなわち、演奏データの逆方向検索に従う音高情報の分析といった簡単な処理を行うだけで、適切な演奏情報の生成を効率的に行うことができるようになる。
【0008】
また、本発明に係る演奏データ処理装置は、一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データを供給する演奏データ供給手段と、前記供給された演奏データに含まれる複数の音高情報を分析して弦楽器の演奏指を表す運指情報を生成する情報生成手段とを具えてなり、前記情報生成手段は、当該弦楽器における演奏ポジションに応じて異なる運指パターンに従って前記運指情報を生成することを特徴とする。これによると、当該弦楽器における演奏ポジションの領域に応じて異なる運指パターンに従って前記運指情報を生成することになることから、演奏ポジションに応じて連続的な運指を行うことのできる最適な運指情報を生成することができるようになる。
【0009】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【0010】
【発明の実施の形態】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【0011】
図1は、この発明に係る演奏データ処理装置を適用した電子楽器の実施の形態を示すハード構成ブロック図である。
この実施の形態においては、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。この実施の形態では、1個のCPU1によって各種処理を行う電子楽器を例に説明する。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してリードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3、検出回路4、スイッチ検出回路5、表示回路6、音源回路7、効果回路8、外部記憶装置9、MIDIインタフェース(I/F)10および通信インタフェース11がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。すなわち、タイマ1Aは時間間隔を計数したり、演奏データに従う曲を自動演奏する際の演奏テンポを設定したりするためのテンポクロックパルスを発生する。このテンポクロックパルスの周波数は、各種スイッチ5Aの中の例えばテンポ設定スイッチ等によって調整される。このようなタイマ1AからのテンポクロックパルスはCPU1に対して処理タイミング命令として与えられたり、あるいはCPU1に対してインタラプト命令として与えられる。CPU1は、これらの命令に従って各種処理を実行する。各種処理には、例えば該電子楽器を操作する際に用いる指の指定に関する運指情報を生成する運指付け処理、曲に対してより自然な演奏や生々しい演奏を行うための様々な楽器毎に特有の音楽的な表現に関する演奏情報を生成する表情付け処理等がある。
なお、この演奏データ処理装置は専用の装置に限られず、例えばパソコンなどの汎用装置あるいはマルチメディア機器等であってもよく、本発明に従う所定のソフトウエア又はハードウエアを用いることによって演奏データを自動的に分析して運指付けや表情付けを行うことのできるように構成した装置であればどのようなものであってもよい。
【0012】
ROM2は、CPU1により実行あるいは参照される各種プログラムや各種データ等を格納するものである。RAM3は、演奏データに基づく曲を自動演奏する際に用いる自動演奏情報やCPU1が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。演奏操作子4Aは楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子4Aは楽音演奏のために使用できるのは勿論のこと、自動演奏を行う際に用いるメロディのピッチやリズムを入力するための入力手段として使用することもできる。勿論、これに限らず、楽音の音高を選択するための弦を備えたネック等のようなものであってもよいことは言うまでもない。検出回路4は、演奏操作子4Aの各鍵の押圧及び離鍵を検出することによって、あるいは弦の振動を検出することによって、検出出力を生じる。パネル操作子(スイッチ等)5Aは各種のパラメータを指定したり、あるいは自動演奏時における各種演奏条件等を入力するための各種の操作子を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボードなどの各種操作子を含んでいてよい。スイッチ検出回路5は、スイッチ5Aの各操作子の操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。表示回路6は演奏データに含まれる一連の音符列の各音高をそれぞれ表す複数の音高情報や運指情報等の各種情報を、例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイ6Aに表示するのは勿論のこと、自動演奏に関する各種情報あるいはCPU1の制御状態などをディスプレイ6Aに表示する。
【0013】
音源回路7は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた演奏データを入力し、この演奏データに基づいて楽音信号を発生する。音源回路7から発生された楽音信号は、サウンドシステム8Aを介して発音される。また、効果回路8は前記音源回路7から発生された楽音信号に対して各種効果を与える。前記音源回路7における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してもよい。すなわち、音源回路7の方式は、波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO+VCF+VCAのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路7を構成するものに限らず、DSPとマイクロプログラム、あるいはCPUとソフトウェアを用いて音源回路7を構成するようにしてもよい。さらに、1つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、1つの発音チャンネルが1つの回路で形成されるようなものであってもよい。
【0014】
外部記憶装置9は、自動演奏時に用いる各種パラメータ、運指情報や演奏情報を付与する対象としての演奏データ、CPU1が実行する各種プログラムの制御に関するデータ等を記憶するものである。前記ROM2に制御プログラムが記憶されていない場合、この外部記憶装置9(例えばハードディスク)に制御プログラムを記憶させておき、それを前記RAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置9はハードディスク(HD)に限られず、フロッピィーディスク(FD)、コンパクトディスク(CD−ROM・CD−RAM)、光磁気ディスク(MO)、あるいはDVD(Digital VersatileDiskの略)等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
【0015】
MIDIインタフェース(I/F)10は、他のMIDI機器10A等からMIDI規格の楽音情報(つまり、MIDIデータ)を当該電子楽器へ入力したり、あるいは当該電子楽器からMIDI規格の楽音情報(MIDIデータ)を他のMIDI機器10A等へ出力するためのインタフェースである。他のMIDI機器10Aはユーザによる操作に応じてMIDIデータを発生する機器であればよく、鍵盤型、弦楽器型、管楽器型、打楽器型、ミブリ型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。通信インタフェース11は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワーク11Bに接続されており、該通信ネットワーク11Bを介して、サーバコンピュータ11Aと接続され、当該サーバコンピュータ11Aから制御プログラムや各種データを電子楽器側に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置9(例えば、ハードディスク)等に制御プログラムや各種データが記憶されていない場合に、サーバコンピュータ11Aから制御プログラムや各種データをダウンロードするために用いられる。クライアントとなる電子楽器は、通信インターフェース10及び通信ネットワーク11Bを介してサーバコンピュータ11Aへと制御プログラムや各種データのダウンロードを要求するコマンドを送信する。サーバコンピュータ11Aは、このコマンドを受け、要求された制御プログラムやデータを、通信ネットワーク11Bを介して本電子楽器へと配信し、本電子楽器が通信インタフェース11を介して、これら制御プログラムや各種データを受信して外部記憶装置9(例えば、ハードディスク)等に蓄積することにより、ダウンロードが完了する。
【0016】
なお、MIDIインタフェース10は専用のMIDIインタフェースを用いるものに限らず、RS232−C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェース10を構成するようにしてもよい。この場合、MIDIイベントデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース10として上記したような汎用のインタフェースを用いる場合には、他のMIDI機器10AはMIDIイベントデータ以外のデータも送受信できるようにしてよい。勿論、音楽情報に関するデータフォーマットはMIDI形式のデータに限らず、他の形式であってもよく、その場合はMIDIインタフェース10と他のMIDI機器10Aはそれにあった構成とする。
【0017】
本発明に係る演奏データ処理装置は、演奏データを自動的に分析し、運指付けや表情付けに関する各種情報(つまり、運指情報や演奏情報など)を自動的に生成する。そこで、まず運指付けに関する情報を演奏データに基づいて自動的に生成する処理について、図2を用いて説明する。図2は、該演奏データ処理装置におけるCPU1で実行する「運指付け処理」の一実施例を示したフローチャートである。ただし、この実施例では弦楽器型の電子楽器、特に弦を指で押さえることによって音の高さを決める形態の弦楽器に関する運指付けを行う場合について説明する。以下、図2のフローチャートに従って、当該処理における運指付けの処理動作を説明する。なお、以下の説明では説明を理解しやすくするために、弦楽器としてチェロを用いた場合の運指付けを例にあげて説明を行うことにする。また、チェロの場合における開放弦を「A弦」「D弦」「G弦」「C弦」とし、それぞれの弦を開放状態で鳴らした場合の音高を便宜的に「A2」「D2」「G1」「C1」と示すことにする。音高の後に付された数字はオクターブ上あるいはオクターブ下の関係を表すためのものであり、例えば「A1」「A2」「A3」では順に1オクターブずつ音高が上がった「A」の音を示す。
【0018】
ステップS1では、第1優先順位のポジションを設定する。すなわち、運指付けの際に用いるポジションとして、予めポジション毎に付された優先順位に従って、第1優先順位のポジションを最初のポジションとして運指付けをスタートする。ここで、簡単に「ポジション」について説明する。例えばチェロのような弦を押さえて音の高さを決める弦楽器を演奏する場合、指が指板の上を動き回って該指板上の異なる位置で弦を押さえることによって異なる音高を演奏することができるようになっている。すなわち、こうした弦楽器の場合には、指板上の指(すなわち、手)の位置を決めるとそこで出せる音の高さの範囲が決まる。この指板上の手の位置を、音の低い方から順に第1ポジション、第2ポジション、第3ポジション、第4ポジションと一般的に呼んでいる。すなわち、第1ポジションとは、開放弦が奏でる音から全音(つまり2半音)上の音がなる位置に人指し指が位置し、その他の指が半音間隔の音がなる位置に位置するポジションである。第2ポジションとは、第1ポジションから半音又は2半音高音側に移動したポジションである。第3ポジションとは、第1ポジションから3半音高音側に移動したポジションである。第4ポジションとは、第1ポジションから5半音高音側に移動したポジションである。ただし、この実施例においては便宜的に第1ポジションの半音下のポジションを「ポジション2」、第1ポジションを「ポジション3」と新たに定義し、以下第1ポジションから半音上がる毎にポジション番号を1つ大きくするように番号付けして再定義する。このようにすると、この実施例では一般的に第1ポジションと呼ばれる位置を「ポジション3」、第2ポジションと呼ばれる位置を「ポジション4」、第3ポジションと呼ばれる位置を「ポジション6」、第4ポジションと呼ばれる位置を「ポジション8」と呼ぶことになる。このようなポジション毎に優先順位が予め設定されており、これに従って運指付けに用いるポジションを決定する。
【0019】
チェロにおいてはポジション3(つまり、第1ポジション)が最も演奏しやすく、次いでポジション8(つまり、第4ポジション)が演奏しやすいポジションである、と一般的に言われる。そこで、ステップS1では予めポジションに付された優先順位を基に、その優先順位の中で最も優先度の高いポジションを運指付けを行う際に最初に用いるポジションとして設定する。なお、ポジションの優先順位付けとして、例えば優先順位の高い順に、ポジション3(つまり、第1ポジション)、ポジション8(つまり、第4ポジション)、ポジション4(つまり、第2ポジション)、ポジション6(つまり、第3ポジション)、…といったような優先順位付けをユーザが適宜に設定することができるようにしてよい。なお、この実施例においては、各指が拡張状態(後述)でなく基本状態(後述)にある場合における人指し指の位置を基準としてポジション番号を対応付けるものとする。また、ポジションはポジション2〜ポジション8に限らないことは言うまでもないが、一般的にチェロを用いる場合の通常の音域ではポジション9程度までが使われることが多いことから、運指付けの際にはポジション2〜ポジション9までを調べると効率的であり好ましい。ただし、曲の音域が高い場合には、ポジション9まででは演奏不能となる場合もあるので、予め曲中の最高音を調べておき、運指付けに必要なポジションを適宜設定しておくようにしてもよい。
【0020】
ステップS2では、順方向運指チェック処理を行う。すなわち、上記ステップS1で設定したポジションに基づいて運指付けを開始する。詳しくは後述するが、ステップS2の順方向運指チェック処理では演奏データを曲の進行順(すなわち、順方向)に検索し、出現する音符の音高(つまり、音高情報)を上記ステップS1で設定したポジションで演奏可能な範囲の音高であるか否かを判定し、演奏可能な音高であれば該ポジションにおいて該当指を運指付けする。例えば、設定したポジションがポジション3であって、かつ、運指付け対象の音高が「C3」である場合には、「A弦」においてポジション3の指番号「2」を用いるように該音符に対して運指付けされる。この指番号はポジションと同じように便宜的に各指に付された番号であり、指番号「1」は人指し指に、指番号「2」は中指に、指番号「3」は薬指に、指番号「4」は小指に対して各々付される。したがって、運指付け対象の音符の音高が「C3」である場合には、ポジション3の指番号「2」、すなわち「A弦」を第1ポジションの状態で中指を用いて押さえるよう運指を決定する。
【0021】
ステップS3では、上記ステップS2の順方向運指チェック処理によって、運指付け対象区間(以下、運指付けを行うべき曲の所定区間を「フレーズ」と呼ぶ)の先頭から最後まで運指付けができたか否かを判定する。当該フレーズの最後まで、すなわち該フレーズ内に存在する全ての音符に対して運指付けができた場合には(ステップS3のYES)、ステップS4へ行く。一方、フレーズの最後まで運指付けができなかった場合、すなわちフレーズ内の途中の音符までしか運指付けができなかった場合には(ステップS3のNO)、逆方向運指チェック処理(ステップS5)を行う。すなわち、上記ステップS1で設定したポジションに基づいて運指付けを開始する。詳しくは後述するが、ステップS5の逆方向運指チェック処理では演奏データを曲の進行順とは反対(すなわち、逆方向)に検索し、出現する音符の音高(つまり、音高情報)を上記ステップS1で設定したポジションで演奏可能な範囲の音高であるか否かを判定し、演奏可能な音高であれば該ポジションにおいて該当指を運指付けする。逆方向運指チェック処理を行った結果、順方向運指チェック処理時と同様に、フレーズの最後から先頭までの音符全てに対して運指付けができたか否かを判定する(ステップS6)。この逆方向運指チェック処理を行うことによって、フレーズの最後から先頭までの全ての音符に対して運指付けができた場合には(ステップS6のYES)、ステップS4へ行く。一方、逆方向運指チェック処理を行った場合においても、フレーズ内の途中の音符までに対してしか運指付けができなかった場合には(ステップS6のNO)、全ポジションについて順方向運指チェック処理及び逆方向運指チェック処理を行ったか否かの判定を行う(ステップS7)。全てのポジションにおいて上記各処理を行っていない場合には(ステップS7のNO)、運指付けの際に用いるポジションを次の優先順位のポジションに再設定して(ステップS9)、ステップS2の処理に戻る。すなわち、新たなポジションを用いてフレーズ全体にわたる音符全てに対して運指付けを再度行うために、既に処理済のポジションに続く優先順位のポジションを用いて上記各処理を繰り返し行う。既に全てのポジションにおいて上記各処理を行っている場合には(ステップS7のYES)、最も遠くまで(すなわち、数多くの音符に対して連続的に)運指付けができたポジションでの運指を選択し、後述する図3に示すようにその位置でフレーズを分割し、分割されたフレーズのうち運指付けがなされていない残りのフレーズを新たに運指付けする対象区間に再設定して(ステップS8)、該区間内の音符に対して運指付けを行うためにステップS1へ戻り、上記ステップS1〜ステップS9までの各処理を繰り返し行う。
【0022】
ここで、上述したステップS8で行うフレーズ分割について図3を用いて簡単に説明する。図3は、フレーズ分割する際のフレーズ分割位置の決定方法を説明するための概念図である。図3の上段はフレーズの先頭から音符の音高をチェックして運指付けした場合(すなわち、順方向運指チェック処理による場合)を示し、図3の下段はフレーズの最後から音符の音高をチェックして運指付けした場合(すなわち、逆方向運指チェック処理による場合)を示す。これらの図において、斜線を施した部分が連続的に運指付けできたフレーズ範囲を示すものである。
上述のステップS8においては、最も遠くの音符まで運指付けができたポジションでの運指を選択し、その位置でフレーズを分割し、残りの部分に含まれる音符に対して新たに運指付けする。図3に示した例では、上段に示した先頭からチェックした場合の方が下段に示した最後からチェックした場合に比べて最も遠くの音符まで運指付けされている。そこで、この場合には、先頭からチェックした場合において斜線を施した範囲と斜線を施していない範囲とに分けて該フレーズを分割する。そして、斜線を施していない範囲を新たに運指付けするフレーズとして再設定し、該新フレーズ全体に対して運指付けを行うよう上記運指付け処理が繰り返し実行される。なお、ステップS8において、最も遠くまで運指付けができたポジションでの運指が複数存在する場合には、所定の条件に基づいていずれか1つのポジションでの運指を選択するようにしてよい。例えば、ポジションの優先順位に従う、拡張形を多用していない運指を優先する、小指を多用していない運指を優先する、等の条件を用いて選択する。
【0023】
図2に戻り、フレーズ内の全ての音符に対して運指付けが行われた場合には(ステップS3のYES)、設定したポジションでの運指に決定して(ステップS4)、当該運指付け処理を終了する。すなわち、当該フレーズ内に存在する全ての音高に対してポジション移動の少ない(つまり、当該フレーズの先頭から最後まで大きなポジション変化のない)運指付けができた場合には、当該運指に決定する。こうして、ポジション移動の少ない運指付けができたフレーズを組合せることによって、1曲全体の運指付けを行っていくことができる。
以上のように、本発明に係る演奏データ処理装置においては、なるべくポジション移動が少ないことを条件に、効率のよいフィンガリング(つまり、運指)を決定することができる。すなわち、フレーズ毎に最初の音符からなるべくたくさんの音符をポジション移動しなくて良いものをポジション移動回数が最少のものと決めて、以降、次にポジション移動が必要な音符から改めてポジション移動回数が最少のものを探す。こうして、1曲を通じて、ポジション移動の回数が最少数の運指を求めることができるようになる。上述した運指付け処理では、ポジション移動回数が最少のものを探す場合に曲の進行に従う順方向だけでなく曲の進行とは反対である逆方向の両方から音符を検索することから、効率的に運指付けを行うことができるようになっている。
【0024】
次に、上述した運指付け処理において実行する順方向運指チェック処理(ステップS2参照)及び逆方向運指チェック処理(ステップS5参照)について図4を用いて説明する。図4は、順方向(又は逆方向)運指チェック処理の一実施例を示したフローチャートである。以下、図4のフローチャートに従って、当該処理における処理動作を説明する。順方向運指チェック処理と逆方向運指チェック処理とは、運指付けの際の処理方法がフレーズの先頭から最後に向かって処理するか(順方向運指チェック処理の場合:以下、単に順方向処理と呼ぶ)、フレーズの最後から先頭に向かって処理するか(逆方向運指チェック処理の場合:以下、単に逆方向処理と呼ぶ)の違いのみであることから、順方向運指チェック処理と逆方向運指チェック処理とを同じフローチャートを用いて説明する。
【0025】
ステップS11では、運指付けの対象とする音符をフレーズ先頭の音符(順方向処理の場合)あるいはフレーズ最後の音符(逆方向処理の場合)に設定する。すなわち、フレーズ分の演奏データを順方向あるいは逆方向に検索して、該演奏データに従う曲を構成する個々の音符のうち最初に検出された音符を運指付け対象の音符に設定する。ステップS12では、設定されたポジションで(図2のステップS1あるいはステップS9参照)、運指付け対象に設定された音符に対して運指付けが可能であるか否かを判定する。すなわち、検出された音符の音高を鳴らすために押さえるべき指板上の所定位置に、設定されたポジションの基本状態にある各指のいずれかが位置しているか否かを判定する。設定されたポジションで運指付けが可能と判定された場合(ステップS12のYES)、該音符の運指を該運指に決定し(ステップS13)、ステップS14ヘ行く。一方、設定されたポジションで運指付けが可能でないと判定された場合(ステップS12のNO)、拡張運指での運指付けは可能であるか否かを判定する(ステップS17)。すなわち、設定されたポジションにおける基本状態を用いて該音符に対して運指付けすることができない場合に、設定されたポジションにおける拡張状態を用いて該音符に対して運指付けすることができるか否かを判定する。この基本状態及び拡張状態とはローポジション(つまり、第1ポジションから第4ポジション)における左手の形を示すものであり、指が等間隔に並ぶものを「基本状態」(つまり、基本形)、人指し指と中指との間が広いものを「拡張状態」(つまり、拡張形)と呼んでいる。基本状態から拡張状態に変更する方法としては、中指、薬指、小指はそのままの位置で人指し指のみを伸ばす方法(以下、これを「上行拡張」と呼ぶ)と、人指し指はそのままの位置で中指、薬指、小指を移動する方法(以下、これを「下行拡張」と呼ぶ)とがある。そうすると、例えば、設定したポジションがポジション3である場合に基本形を用いて「A弦」を押さえた場合に演奏できる音高の範囲は、「B2」「C3」「C3♯」「D3」となる。拡張形を用いて「A弦」を押さえた場合に演奏できる音高の範囲は、上記「B2」「C3」「C3♯」「D3」に加えて「A3♯」(上行拡張した場合)及び「D3♯」(下行拡張した場合)とが含まれることとなる。
【0026】
この実施例では、各指の届く範囲を基本的には1半音の固定とし、例外として人指し指は1半音拡張(すなわち2半音)できるものとした。勿論、これに限らず、各ポジションに応じて、各指の届く範囲を異ならせるように構成してもよい。例えばチェロにおいては、ポジションが高くなる(つまり、駒側に近づく)につれて半音毎に異なる音を鳴らすことのできる指板上の位置の間隔が狭くなることから、ポジションが高くなるにつれてより遠い音(つまり、音高が離れた音)を鳴らすことのできる指板上の位置まで各指が届くようになる。そこで、各ポジションに応じて、各指の届く範囲を異ならせる。こうした場合には、ポジション毎に拡張できる指の範囲を設定した拡張範囲テーブルを外部記憶装置9等に予め記憶しておき、上述のステップS17において、該拡張範囲テーブルに基づいて拡張運指での運指付けが可能であるか否かを判定するようにしてよい。このような拡張範囲テーブルの一実施例を示すと、図5のような構成になる。図5は、拡張範囲テーブルの一実施例を示す概念図である。
【0027】
該拡張範囲テーブルは、ポジション毎に各指の届く範囲や拡張範囲等を設定したテーブルである。「ポジション」とは、上述したように便宜的に第1ポジションの半音下のポジションをポジション2、第1ポジションをポジション3のように再定義した場合におけるポジション番号を表す。「各指の届く範囲」とは、基本形における人指し指、中指、薬指、小指の各指が届く範囲(つまり、各指で弦を押さえることが可能な範囲)を表す。「拡張範囲」とは、人指し指を「各指の届く範囲」からさらに拡げた場合(つまり、拡張形)において弦を押さえることを可能とする許容範囲を表す。この実施例において、例えばポジション2〜6では「各指の届く範囲」が「1」であることから、基本形として人指し指、中指、薬指、小指は1半音分ずつの間隔で配置することができる。ポジション7〜11では「各指の届く範囲」が「2」であることから、基本形として人指し指、中指、薬指、小指は1半音分あるいは2半音分ずつの間隔で配置することができる。また、各ポジションにおいて「拡張範囲」が「1」であることから、例えばポジション2〜6では人指し指については1半音分の弦を押さえることができるだけでなく(すなわち、「各指の届く範囲」が「1」である)、基本形から2半音分(つまり全音分)拡張して弦を押さえることも可能である(すなわち、「各指の届く範囲」の「1」に「拡張範囲」の「1」を足すことによって、人指し指の届く範囲を「2(1+1)」半音分とすることができる)。
なお、図5に示す実施例はポジションと指の届く範囲などの関係を示すものであるが、チェロの場合、ポジションが高くなると人指し指と中指の間以外の部分も拡張させる場合がある。また、ポジション7以上では、一般的に小指を用いない代わりに親指を用いる場合がある。こうした場合には、親指と人指し指の間隔はかなり自在になるので、運指不可能な場合には親指に任せるように運指付けするようにしてもよい。上述した実施例においては説明を簡単にするために、こうした場合を省略して簡略化した。
【0028】
図4に戻り、ステップS17において、拡張運指での運指付けが可能であると判定された場合には(ステップS17のYES)、拡張された位置に各指を尺取(後述)移動するように設定して(ステップS18)、ステップS13へ行く。このステップS18では、拡張運指が下行拡張である場合には現在設定されているポジションを1つアップするように、拡張運指が上行拡張である場合には現在設定されているポジションを1つダウンするようにして、ポジションを再設定する。例えば、順方向処理あるいは逆方向処理においてポジション3の下行拡張で運指した場合には、運指付けに用いるポジションをポジション3からポジション4に再設定して当該処理を続行する。順方向処理あるいは逆方向処理においてポジション3の上行拡張で運指した場合には、運指付けに用いるポジションをポジション3からポジション2に再設定して当該処理を続行する。このようにして、順方向運指チェック処理及び逆方向運指チェック処理においては、拡張運指での運指付けが可能であるか否かを判定し、可能であるならば拡張運指で運指付けしていくことにより(ステップS17参照)、尺取奏法を用いた演奏ができるように運指付けを行う。例えば、ポジション3(つまり、第1ポジション)を用いてチェロの第1弦(つまり、A弦)を押さえた場合、人指し指の位置はBの音高を出す位置に位置するが、Bを運指中の人指し指以外の指を移動してポジションをポジション4に変更する。つまり、人指し指で「A弦」を押さえたまま他の指の位置を半音分上げることによって、ポジション3の拡張形に変更する。そして、次の音符で人指し指以外の他の指が運指している間に、人指し指を拡張形から基本形に戻せば、運指を続けたままポジションを半音分シフトさせることができる。このような運指を続けた状態、すなわち隣り合うポジション間における拡張形と基本形とを繰り返し行うと、指が尺取り虫のように指板上を移動しながら演奏を行うことができるため、この実施例ではこうした尺取り虫のように指が指板上を移動して演奏する奏法を「尺取り虫奏法(略して尺取奏法)」と呼んでいる。こうした尺取奏法を行うように運指付けを行うと、ポジション移動が少ない運指で演奏を行うことが可能になる。すなわち、全ての指を同時に移動しなければならない類のポジション移動が生じることのない滑らかな運指を可能とする、連続的な運指付けを行うことができるようになる。
【0029】
一方、ステップS17において、拡張運指を用いても運指付けが可能でないと判定された場合には(ステップS17のNO)、運指付け失敗として(ステップS19)、運指付けできた音符までの位置を記憶して(ステップS20)、該チェック処理を終了する。この場合には、同一ポジションによる連続的な運指付け、あるいは尺取移動による連続的な運指付けが該運指付け対象音符までしかできないことから、連続的な運指付けのできた該音符までの位置を記憶しておく。ここで記憶された運指付けできた音符までの位置は、上述した運指付け処理においてフレーズ最後まで運指付けができたか否かを判定する際(図2のステップS3及びステップS6参照)の判定対象として用いられるし、またフレーズを分割する際(図2のステップS8参照)にフレーズ分割位置として用いられる。こうすると、曲全体に対して連続的な運指付けができなくても、連続的な運指付けができた複数のフレーズで1曲全体を構成することができる。つまり、ポジション移動の少ない運指付けを行うことができる。
【0030】
設定されたポジションにおける基本形あるいは拡張形で運指付けができた場合には(ステップS12のYES又はステップS17のYES)、運指付け対象音符に付する運指として該運指に決定する(ステップS13)。そして、当該フレーズの最後あるいは先頭の音符まで運指付けが終了したか否かを判定する(ステップS14)。つまり、フレーズに含まれる全ての音符に対して運指付けが行われたか否かを判定する。フレーズ最後あるいは先頭の音符まで運指付けが終了していない場合(ステップS14のNO)、この場合にはフレーズに含まれる全ての音符に対して運指付けが行われていないことから運指付け対象音符を次に続く音符に設定し(ステップS16)、ステップS12の処理へ戻る。すなわち、運指付けの対象とする音符を新たに設定し、上記各処理を繰り返し行い、順次に音符に対して運指付けを行っていく。フレーズ最後あるいは先頭の音符まで運指付けが終了した場合(ステップS14のYES)、この場合にはフレーズに含まれる全ての音符に対して運指付けが行われていることから、運指付け成功として(ステップS15)、該処理を終了する。
【0031】
上述した運指付け処理及び順方向(あるいは逆方向)運指チェック処理(図2及び図4参照)によって行われる運指付けの具体例について、図6を用いて説明する。図6は運指付け処理及び順方向(あるいは逆方向)運指チェック処理を行った場合の運指付け結果の具体例を示す図であり、図6(A)は順方向から運指付けをした場合(すなわち、順方向運指チェック処理)を示し、図6(B)は逆方向から運指付けした場合(すなわち、逆方向運指チェック処理)を示す。この実施例では説明を理解しやすくするために、「A♯→C→B→C♯→C→E」の順に進行するフレーズを第1弦(つまり「A弦」)だけを用いて演奏することができる場合におけるチェロの運指付けについて説明する。すなわち、ここではチェロの「A弦」のみを用いて演奏することのできるフレーズを例として、チェロの運指付けについて説明する。図6は指板上におけるポジション毎の各指の位置を示すものであり、図の上段に運指付け対象の音符の音高を、図の左側に指板上におけるポジションを示す番号P2〜P8を(例えば、P2はポジション2を表す)、図の下段に運指として決定したポジションをそれぞれ示す。また、図中の数字1〜4は運指として決定したポジション毎の指番号を、図中の丸印は「A♯→C→B→C♯→C→E」の各音を出すためにユーザが押さえなければならない「A弦」の位置を便宜的に示したものである。なお、以下の説明ではポジションの優先順位付けとして、ポジション3、ポジション8、ポジション4の順に優先順位が高く設定されているものとする。
【0032】
運指付け処理を開始すると、第1優先順位のポジション3が設定されて順方向運指チェック処理へ行く(図2のステップS1及びS2参照)。順方向運指チェック処理では、フレーズの先頭の「A♯」を運指付け対象音符に設定する(図4のステップS11参照)。先頭の「A♯」に対する運指付けを行う場合、優先順位に従って設定されたポジション3の基本形(P3)では運指付けができないことから、ポジション3の上行拡張(P3U)で運指付けがなされる(図4のステップS12及びS17及びS13参照)。すなわち、演奏データ中の音高情報「A♯」に対して付される運指情報は「A弦」「ポジション3上行」「指番号1」である。次に運指付け対象音符を次の音符、すなわち「A♯」の直後に続く「C」に設定する(図4のステップS14及びS16参照)。この「C」に対する運指付けは、「A♯」に対する運指付けの際に尺取移動(図4のステップS18参照)が行われていることからポジション2で行われる。当該「C」に対してはポジション2の基本形P2で運指付けを行うことができることから、演奏データ中の音高情報「A♯」の直後に続く音高情報「C」に対して付される運指情報は「A弦」「ポジション2」「指番号3」となる。このようにして、「A♯」以降の「C」「B」「C♯」「C」までは全てポジション2の基本形(P2)を用いて連続的に運指付けを行うことができる。すなわち、音高情報「B」に対して「A弦」「ポジション2」「指番号2」、音高情報「C♯」に対して「A弦」「ポジション2」「指番号4」、音高情報「C」に対して「A弦」「ポジション2」「指番号3」を運指情報としてそれぞれ生成する。ところで、図6(A)に示すように、最後のフレーズ最後の「E」に対してはポジション2の基本形(P2)のみならずポジション2の下行拡張(P2L)を用いたとしても「E」を鳴らすことのできる位置まで指が届くことはない。つまり、該「E」に対してはポジション2を用いては運指付けすることができないし、また尺取移動によっても運指付けすることができない。そこで、運指付け失敗として運指付けできた音符の位置を記憶し(図4のステップS19及びS20参照)、順方向運指チェック処理を終了する。
以上のようにして、図6(A)に示すような運指を行う運指情報が生成されて、一時的にメモリ等に記憶される。
【0033】
運指付け処理に戻ると、順方向運指チェック処理ではフレーズの最後まで運指付けができなかったことから、次に逆方向運指チェック処理を行う(図2のステップS3及びS5参照)。逆方向運指チェック処理では、フレーズの最後の「E」を運指付け対象音符に設定する(図4のステップS11参照)。最後の「E」に対する運指付けを行う場合、優先順位に従って設定されたポジション3の基本形(P3)及びポジション3の拡張形(P3U及びP3L)では運指付けができないことから、この場合には演奏データ中の音高情報「E」に対する運指情報を生成することなしに逆方向運指チェック処理を終了し、運指付け処理に戻る。こうして、順方向運指チェック処理及び逆方向運指チェック処理を行ったにも関わらず、フレーズ最後まで運指付けできなかった場合には、次の優先順位のポジション8を設定して上記処理を繰り返して行う(図2のステップS7及びS9参照)。
【0034】
ポジション8において順方向運指チェック処理を行った場合はフレーズ先頭の「A♯」に対して運指付けすることができず、また逆方向処理を行った場合にはフレーズ最後の「E」に対してのみしか運指付けをすることができない。したがって、この場合にも次の優先順位のポジション4を設定して上記処理を繰り返して行うことになる。
ポジション4において順方向運指チェック処理を行った場合はフレーズ先頭の「A♯」に対して運指付けすることができないことから、逆方向処理を行う。逆方向運指チェック処理においてフレーズの最後の「E」に対する運指付けを行う場合、優先順位に従って設定されたポジション4の基本形(P4)では運指付けができないことから、ポジション4の下行拡張(P4L)で運指付けがなされる(図4のステップS12及びS17及びS13参照)。すなわち、演奏データ中の音高情報「E」に対して付される運指情報は「A弦」「ポジション4下行」「指番号4」である。次に運指付け対象音符を次の音符、すなわち「E」の直前の「C」に設定する(図4のステップS14及びS16参照)。この「C」に対する運指付けは、「E」に対する運指付けの際に尺取移動(図4のステップS18参照)が行われていることからポジション5で行われる。当該「C」に対してはポジション5の上行拡張(P5U)で運指付けを行うことができることから、演奏データ中の音高情報「E」の直前の音高情報「C」に対して付される運指情報は「A弦」「ポジション5上行」「指番号1」となる。該「C」の直前の「C♯」に対する運指付けは、「C♯」に対する運指付けの際に尺取移動(図4のステップS18参照)が行われていることからポジション4で行われる。当該「C」に対してはポジション4の基本形(P4)で運指付けを行うことができることから、演奏データ中の音高情報「C♯」に対して付される運指情報は「A弦」「ポジション4」「指番号2」となる。該「C♯」の直前の「B」に対する運指付けは、ポジション4で行われる。当該「B」に対してはポジション4の上行拡張(P4U)で運指付けを行うことができることから、演奏データ中の音高情報「B」に対して付される運指情報は「A弦」「ポジション4上行」「指番号1」となる。該「B」の直前の「C」に対する運指付けは、尺取移動(図4のステップS18参照)が行われていることからポジション3で行われる。当該「C」に対してはポジション3の基本形(P3)で運指付けを行うことができることから、演奏データ中の音高情報「C♯」に対して付される運指情報は「A弦」「ポジション3」「指番号2」となる。該「C」の直前の「A♯」に対する運指付けは、尺取移動(図4のステップS18参照)が行われていないことからポジション3で行われる。当該「A♯」に対してはポジション3の上行拡張(P3U)で運指付けを行うことができることから、演奏データ中の音高情報「A♯」に対して付される運指情報は「A弦」「ポジション3上行」「指番号1」となる。こうして、ポジション4を用いてフレーズの進行順とは逆方向から運指付けを始めると、該フレーズの「A♯」「C」「B」「C♯」「C」「E」の全てを連続的に運指付けすることができる。そこで、この場合には図6(B)に示すような運指に決定される(図2のステップS6、S4参照)。
以上のように、順方向からだけではなく逆方向から検索を行うといった単純な処理を行うだけで、連続的な運指を簡単に決定することができるようになる。
【0035】
なお、逆方向運指チェック処理を行うことによって連続的な運指付けができた場合には、逆方向運指チェック処理で生成した運指情報の一部を変換する必要がある。すなわち、逆方向運指チェック処理で行われる上行拡張や下行拡張は、順方向からの運指では異なるポジションにおける下行拡張や上行拡張に対応するため、逆方向運指チェック処理で生成した上行拡張や下行拡張に関する運指情報を変換しなければならない。例えば、上述した具体例において、逆方向運指チェック処理において「E」から「C」に推移する際に上行拡張で運指付けし、また、「C♯」から「B」に推移する際にも上行拡張で運指付けを行っている。そこで、順方向からの運指付けに対応するようにこれらの運指情報を変換すると、「C」に対して付される運指情報は「A弦」「ポジション4下行」「指番号1」となり、「B」に対して付される運指情報は「A弦」「ポジション3下行」「指番号1」となる。このように、逆方向運指チェック処理において「上行拡張」「下行拡張」で運指付けした場合には、生成した運指情報を変換しなければならない。
【0036】
次に、表情付けについて説明する。
演奏データを一連の音符列の各音高情報のみで構成すると機械的な無表情な演奏が再生されることとなり非常に不自然であるために、より自然な演奏、生々しい演奏とするためには、様々な楽器毎に特有の音楽的な表現(すなわち、楽器らしさ)を表す演奏情報を制御データとして加えた方がよい(すなわち、表情付け)。例えば、ギターのような弦楽器においてはハンマリングオンやプリングオフという奏法が知られており、このハンマリングオンやプリングオフといった奏法を普通の奏法に織り交ぜて用いることによって、ギターらしい表情を作り出すことができる。本発明に係る演奏データ処理装置は、上述したような運指付け処理によって運指情報を生成するだけでなく、楽音に音楽的な表現を付加する表情付けに関する情報も生成することができる。そこで、楽音に音楽的な表現を付加する表情付け処理について、図7を用いて説明する。図7は、表情付け処理の一実施例を示したフローチャートである。以下、図7を用いて該表情付け処理の動作について説明する。
【0037】
ステップS31では、演奏データをフレーズ分割する。この場合におけるフレーズ分割の方法としては、以下のようなルールを用いてフレーズ分割を行うとよい。例えば、無音部分があれば区間の区切りとする。予め指定された音価よりも長い音符があれば区間の区切りとする。同じ音高の音が連続したら区間の区切りとする。ただし、こうした場合には同じ音高の音符のうち、1つ目の音符は区間に含める(つまり、同じ音高の音符が連続する場合には、同じ音高の音符のうち最後の音符が次の区間の先頭になる)。連続する音符の音程が4半音以上離れたら区間の区切りとする。この場合、4半音離れる手前の音符までが区間内に含まれることになる。勿論、これら以外の方法でもよい。例えば、前述の運指評価を事前に行い、その結果、演奏弦が異なると評価された部分もフレーズ区切りとすると良い。
ステップS32では、分割したフレーズのうち最初のフレーズを選択する。ステップS33では、選択したフレーズ内の最後から2つの音符をペアにする。ステップS34では、各ペアに表情データを付与する。例えば、ギターの場合におけるハンマリングオンやプリングオフ等を、ペアを構成する音符に付与する。ステップS35では、表情データを付与したペアの前に2つ以上音符があるか否かを判定する。2つ以上音符がある場合には(ステップS35のYES)、前にある2つの音符をペアにして(ステップS36)、ステップS34の処理へ戻る。一方、前に2つ以上の音符がない場合には(ステップS35のNO)、最後のフレーズまで処理が終わったか否かを判定する(ステップS37)。最後のフレーズまで処理が終わった場合(ステップS37のYES)、処理を終了する。最後のフレーズまで処理が終わっていない場合(ステップS37のNO)、次のフレーズを選択して(ステップS38)、ステップS33へ戻る。
【0038】
以上のように、フレーズ内の音符をフレーズの最後から、つまり曲の進行順とは逆方向に順次に2つずつ組合せてペアを構成し、該ペアに対して表情データを付与していく。そして、分割したフレーズ全てについて上記表情データの付与が終わるまで上記処理を繰り返し行う。こうすることによって、十分な音楽性は得られないまでもギターらしさを表現することの可能な表情付けを、曲の進行順とは逆方向から処理することで、効率的に行うことができるようになる。このように2音ずつのペアに対して表情データを付与する場合は、フレーズの区切り位置(すなわち、フレーズ内の最後のペア)に表情データが付与されているのが好ましく、フレーズの区切り位置に単独の音符が存在しない方がよい。順方向処理の場合、フレーズ区切り位置に単独音符が存在しないことを確認(例えば、フレーズ内音符が偶数個であるなど)しなければいけないが、逆方向処理によりフレーズ内の最後の音符から2音ずつペアを構成することで、前記確認処理を省略することができる。
なお、上記実施例においてはフレーズ内の全ての音符を順次組合せてペアを構成し表情データを付与するようにしたが、こうしたフレーズ内の全ての音符を順次組合せて構成した各ペアすべてに表情データを付与するものに限らず、所定のルールに当てはまるペアのみに表情データを付与するようにしてもよい。あるいは、ユーザが設定した若しくは予め設定された付与割合に応じて、付与するペアをランダムに選択するようにしてもよい。
【0039】
なお、上述した運指付け処理(図2参照)は1曲全体について運指付けを行ってもよいし、1曲全体を予め複数フレーズに分割し、各フレーズ毎に運指付けを行ってもよい。なお、1曲全体が1つのポジションで運指付け可能なことは稀であることから、予め複数フレーズに分割して各フレーズ毎に運指付けを行うのが効率的であり好ましい。こうした場合におけるフレーズの分割方法はどのようなものであってもよく、例えばユーザによる指定に基づいて適宜の位置で分割するマニュアル分割、所定のアルゴリズムに従って適宜の位置で分割する自動分割など、各種様々なものであってよい。また、上述した運指付け処理(図2参照)では同一ポジションの連続を優先して運指付けするようにしたが、同一弦の連続を優先して運指付けするようにしてもよい。同一弦の連続を優先して運指付けする場合には、選択する弦を制限して運指付け処理を行うようにすればよい。
なお、上述した実施例においてはチェロの運指を例に示したが、他の楽器に適用してよいことは言うまでもない。例えば、ギターの場合には、コードによる定型的な運指があるので、そうしたコード毎の定型的な運指を示すテーブルを参照することによって、よりギターらしい運指を実現することができるようになる。
【0040】
なお、上述した実施例においては、連続する音符は必ず異なる指を使うようにして運指付けを行うようにしたが、こうすると、ポジションの連続性が途切れた場合には、その部分で大きなポジション移動を引き起こす場合がある。そこで、ポジションの連続性が切断された場合には、指をずらすことによって運指可能であるか否かを判定するとよい。連続する音符を同じ指で運指する、つまり、指を押さえたままポジションをずらすことが可能である場合には、大きなポジション移動を引き起こすことがないように運指付けをすることができるようになる。
【0041】
この演奏データ処理装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、音源装置、演奏データ処理装置等を1つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置や自動演奏ピアノのような自動演奏装置、ゲーム装置、携帯電話等の携帯型通信端末などに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【0042】
なお、運指情報や表情情報等を自動的に付与する際の対象となる演奏データのフォーマットは、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント+絶対時間』形式のもの、イベントの発生時刻を1つ前のイベントからの時間で表した『イベント+相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で演奏データを表した『音高(休符)+符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。また生成した演奏データの自動演奏時における処理方法は、設定されたテンポに応じて処理周期を変更する方法、処理周期は一定で1回の処理において演奏データ中のタイミングデータの計数の仕方をテンポに応じて変更する方法等、どのようなものであってもよい。また、複数チャンネル分の演奏データが存在する場合は、複数のチャンネルのデータが混在した形式であってもよいし、各チャンネルのデータがトラック毎に別れているような形式であってもよい。
【0043】
【発明の効果】
本発明によれば、演奏データを順方向から処理するだけでなく逆方向から処理するといった簡単な処理を行うだけで連続的な操作を行うことが可能な運指付けや所定の楽器特有の音楽的な表情付けが自動的にできるようにしたことから、曲の流れに応じて滑らかに演奏可能な運指情報や楽器毎に特有な音楽的な表現を施す演奏情報を演奏データに付与することが効率的に実施できる、という効果が得られる。
また、特に弦を押さえる位置によって奏でられる音高が変化するタイプの弦楽器に対する運指付けを行う場合に、弦を抑える際に配置する手の位置を考慮しながら運指付けを行うようにしたことから、演奏時に滑らかな操作が可能である連続的な運指付けを行うことができる、という効果が得られる。
【図面の簡単な説明】
【図1】 この発明に係る演奏データ処理装置を適用した電子楽器の実施の形態を示すハード構成ブロック図である。
【図2】 該演奏データ処理装置におけるCPU1で実行する「運指付け処理」の一実施例を示したフローチャートである。
【図3】 フレーズ分割する際のフレーズ分割位置の決定方法を説明するための概念図である。
【図4】 順方向(又は逆方向)運指チェック処理の一実施例を示したフローチャートである。
【図5】 拡張範囲テーブルの一実施例を示す概念図である。
【図6】 運指付け結果の具体例を示す図であり、(A)は順方向運指チェック処理により運指付けをした場合を示し、(B)は逆方向運指チェック処理により運指付けした場合を示す。
【図7】 表情付け処理の一実施例を示したフローチャートである。
【符号の説明】
1…CPU、1A…タイマ、2…ROM、3…RAM、4…検出回路、4A…演奏操作子(鍵盤等)、5…スイッチ検出回路、5A…パネル操作子(スイッチ等)、6…表示回路、6A…ディスプレイ、7…音源回路、8…効果回路、8A…サウンドシステム、9…外部記憶装置、10…MIDIインタフェース、10A…他のMIDI機器、11…通信インタフェース、11A…サーバコンピュータ、11B…通信ネットワーク、1D…データ及びアドレスバス
Claims (11)
- 一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データを供給する演奏データ供給手段と、
前記供給された演奏データに含まれる複数の音高情報を分析して所定の楽器を用いて各音符を演奏する際に操作すべき指を表す運指情報を自動的に生成する情報生成手段とを具えてなり、
前記情報生成手段は、前記音高情報を曲の進行順に検索して分析し、これによって前記運指情報が生成できなかった場合に、次に、前記音高情報を前記曲の進行順とは逆方向に検索して分析することによって、前記運指情報を生成することを特徴とする演奏データ処理装置。 - 前記情報生成手段はまず前記音高情報を曲の進行順に検索して分析し、これによって運指情報を生成することができなかった場合にのみ、前記音高情報を曲の進行順とは逆方向に操作して分析することを特徴とする請求項1に記載の演奏データ処理装置。
- 前記情報生成手段は前記音高情報を曲の進行順に検索して分析した結果と、前記音高情報を曲の進行順とは逆方向に操作して分析した結果とを比較して、より長い区間で前記運指情報を生成することができた方を選択することを特徴とする請求項1に記載の演奏データ処理装置。
- 一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データを供給する演奏データ供給手段と、
前記供給された演奏データに含まれる複数の音高情報を分析して所定の楽器特有の音楽的な表現を楽音に付加する演奏情報を自動的に生成する情報生成手段とを具えてなり、
前記情報生成手段は、前記音高情報を演奏進行順とは逆方向に検索して分析することによって、前記演奏情報を生成することを特徴とする演奏データ処理装置。 - 一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データを供給する演奏データ供給手段と、
前記供給された演奏データに含まれる複数の音高情報を分析して弦楽器の演奏指を表す運指情報を生成する情報生成手段とを具えてなり、
前記情報生成手段は、当該弦楽器における演奏ポジションに応じて異なる運指パターンに従って前記運指情報を生成することを特徴とする演奏データ処理装置。 - 一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データをその供給元から処理装置に供給するステップと、
前記処理装置において、前記供給された演奏データに含まれる複数の音高情報を曲の進行順に検索して分析し、所定の楽器を用いて各音符を演奏する際に操作すべき指を表す運指情報を自動的に生成し、前記曲の進行順での検索によって前記運指情報が生成できなかった場合に、前記音高情報を前記曲の進行順とは逆方向に検索して分析することによって、前記運指情報を生成するステップと
を具えた演奏データ処理方法。 - 一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データをその供給元から処理装置に供給するステップと、
前記処理装置において、前記供給された演奏データに含まれる複数の音高情報を演奏進行順とは逆方向に検索して分析することによって、所定の楽器特有の音楽的な表現を楽音に付加する演奏情報を自動的に生成するステップと
を具えた演奏データ処理方法。 - 一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データをその供給元から処理装置に供給するステップと、
前記処理装置において、前記供給された演奏データに含まれる複数の音高情報を分析して弦楽器の演奏指を表す運指情報を、当該弦楽器における演奏ポジションに応じて異なる運指パターンに従って生成するステップと
を具えた演奏データ処理方法。 - コンピュータ読取り可能な記憶媒体であって、コンピュータに、
一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データをその供給元から該コンピュータの処理装置に供給させるステップと、
前記処理装置において、前記供給された演奏データに含まれる複数の音高情報を曲の進行順に検索して分析し、所定の楽器を用いて各音符を演奏する際に操作すべき指を表す運指情報を自動的に生成し、前記曲の進行順での検索によって前記運指情報が生成できなかった場合に、前記音高情報を前記曲の進行順とは逆方向に検索して分析することによって、前記運指情報を生成するステップと
を実行させるためのプログラムを記憶してなる記憶媒体。 - コンピュータ読取り可能な記憶媒体であって、コンピュータに、
一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データをその供給元から該コンピュータの処理装置に供給させるステップと、
前記処理装置において、前記供給された演奏データに含まれる複数の音高情報を演奏進行順とは逆方向に検索して分析することによって、所定の楽器特有の音楽的な表現を楽音に付加する演奏情報を自動的に生成するステップと
を実行させるためのプログラムを記憶してなる記憶媒体。 - コンピュータ読取り可能な記憶媒体であって、コンピュータに、
一連の音符列の各音高をそれぞれ表す複数の音高情報を少なくとも含む演奏データをその供給元から該コンピュータの処理装置に供給させるステップと、
前記処理装置において、前記供給された演奏データに含まれる複数の音高情報を分析して弦楽器の演奏指を表す運指情報を、当該弦楽器における演奏ポジションンに応じて異なる運指パターンに従って生成するステップと
を実行させるためのプログラムを記憶してなる記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000345170A JP3800947B2 (ja) | 2000-11-13 | 2000-11-13 | 演奏データ処理装置及び方法並びに記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000345170A JP3800947B2 (ja) | 2000-11-13 | 2000-11-13 | 演奏データ処理装置及び方法並びに記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002149157A JP2002149157A (ja) | 2002-05-24 |
JP3800947B2 true JP3800947B2 (ja) | 2006-07-26 |
Family
ID=18819249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000345170A Expired - Fee Related JP3800947B2 (ja) | 2000-11-13 | 2000-11-13 | 演奏データ処理装置及び方法並びに記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3800947B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009047860A (ja) * | 2007-08-17 | 2009-03-05 | Sony Corp | 演奏支援装置、演奏支援方法及びプログラム |
-
2000
- 2000-11-13 JP JP2000345170A patent/JP3800947B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002149157A (ja) | 2002-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6175072B1 (en) | Automatic music composing apparatus and method | |
JP3807275B2 (ja) | コード提示装置およびコード提示用コンピュータプログラム | |
US8314320B2 (en) | Automatic accompanying apparatus and computer readable storing medium | |
JP3407626B2 (ja) | 演奏練習装置、演奏練習方法及び記録媒体 | |
JP3637775B2 (ja) | メロディ生成装置と記録媒体 | |
JP2002023747A (ja) | 自動作曲方法と装置及び記録媒体 | |
JP3900188B2 (ja) | 演奏データ作成装置 | |
JP3915807B2 (ja) | 奏法自動判定装置及びプログラム | |
JP3906997B2 (ja) | 演奏補助装置、入力音変換装置及びそれらのプログラム | |
JP3800947B2 (ja) | 演奏データ処理装置及び方法並びに記憶媒体 | |
JP4670686B2 (ja) | コード表示装置及びプログラム | |
JP2006126710A (ja) | 奏法決定装置及びプログラム | |
JP3724347B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3879524B2 (ja) | 波形生成方法、演奏データ処理方法および波形選択装置 | |
JP2007163710A (ja) | 演奏支援装置及びプログラム | |
JP3835131B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP3719157B2 (ja) | 楽曲データの表情付け装置及び楽曲データの表情付け方法並びに楽曲データの表情付けプログラム | |
JP4244504B2 (ja) | 演奏制御装置 | |
JP2689614B2 (ja) | 電子楽器 | |
JP5104414B2 (ja) | 自動演奏装置及びプログラム | |
JP6525034B2 (ja) | コード進行情報生成装置およびコード進行情報生成方法を実現するためのプログラム | |
JP3669301B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP4172509B2 (ja) | 奏法自動判定装置及び方法 | |
JP3755468B2 (ja) | 楽曲データの表情付け装置及びプログラム | |
JP2000172253A (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060313 |
|
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: 20060411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060424 |
|
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: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140512 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |