JP4120662B2 - 演奏データ変換装置 - Google Patents

演奏データ変換装置 Download PDF

Info

Publication number
JP4120662B2
JP4120662B2 JP2005165982A JP2005165982A JP4120662B2 JP 4120662 B2 JP4120662 B2 JP 4120662B2 JP 2005165982 A JP2005165982 A JP 2005165982A JP 2005165982 A JP2005165982 A JP 2005165982A JP 4120662 B2 JP4120662 B2 JP 4120662B2
Authority
JP
Japan
Prior art keywords
note
performance data
data
phrase
pitch
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
JP2005165982A
Other languages
English (en)
Other versions
JP2005316505A (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 JP2005165982A priority Critical patent/JP4120662B2/ja
Publication of JP2005316505A publication Critical patent/JP2005316505A/ja
Application granted granted Critical
Publication of JP4120662B2 publication Critical patent/JP4120662B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、演奏データに楽器、特に弦楽器特有の表情付けを行う演奏データ変換装置に関する。
従来、演奏データに楽器、特に弦楽器特有の演奏表情を付与する技術として、和音(コード)において当該和音の各構成音の発音タイミングをずらしたり(たとえば、特許文献1参照)、フレットノイズを付与したりする技術は知られている。
特開昭64−4795号公報
しかしながら、上記従来の技術のうち前者では、すべての和音に対して、当該各構成音の発音タイミングを一律に所定時間(ΔTIME)だけずらしていたので、たとえば和音全体としての発音時間に長短があったとしても各構成音の発音タイミングは常に一様にずれ、味気のない表情付けになったり、違和感のある表情付けになったりすることがあった。
一方、上記従来技術のうち後者では、フレットノイズは、発音に係るフレットから次の発音に係るフレットへの移行に要した時間が所定時間より短い場合に挿入されるので、次の音が発音されない限りフレットノイズが挿入されず、すなわち指の動きが完了した時点でフレットノイズが発音されたので、非常に不自然であった。
本発明は、上記問題に鑑みてなされたもので、演奏データに楽器特有の表情付けをより適切に行うことが可能な演奏データ変換装置を提供することを目的とする。
請求項1記載の発明は、入力された演奏データのうち隣接する個のかつ音高が異なるノートを1つのノートにまとめて新たな演奏データとし、該新演奏データの音高を当該個のノートのうちののノートの音高にするとともに、その発音継続時間を当該個のノートのうちの前のノートの発音開始タイミングから後のノートの発音終了タイミングまでにする複数ノートまとめ手段と、該新演奏データの音高が当該個のノートのうちの前のノートの音高から後のノートの音高まで変化するように、前記演奏データの所定の位置にピッチベンドデータを挿入することにより演奏データを変換する演奏データ変換手段とを有することを特徴とする。
これにより、単音かつ複数のノートの演奏データから新演奏データが生成され、該新演奏データの音高は、ピッチベンドによりその元の2個のノートのうちの前のノートの音高から後のノートの音高まで変化するので、当該演奏データに各種態様の演奏表情を付与することができる。
請求項2記載の発明は、請求項1記載の発明において、前記演奏データ変換手段は、前記新演奏データの元の個のノートの音程と所定音程との大小関係に応じてピッチの変化態様の異なるピッチベンドデータを挿入することを特徴とする。
これにより、隣接する2個のノートの音程と所定音程との大小関係に応じてピッチの変化態様を決定するので、簡単なアルゴリズムによりその制御位置を決定することができる。
請求項3記載の発明は、請求項1または2のいずれかに記載の発明において、前記演奏データ変換手段は、前記新演奏データに付随するピッチベンドデータのうち最初のピッチベンドデータによるピッチベンド開始タイミングが、当該新演奏データの発音開始タイミングから所定ディレイ時間経過後となるような位置に、該最初のピッチベンドデータを挿入することを特徴とする。
これより、前記新演奏データの発音開始タイミングからピッチベンド開始タイミングまで所定のディレイ時間が設けられるので、当該新演奏データに、いわゆる「ため」という演奏表情を付与することができる。
請求項4記載の発明は、請求項1乃至3のいずれかに記載の発明において、前記変換された演奏データのうち隣接する2個のかつ音程が異なるノートをサーチする隣接ノートサーチ手段をさらに有し、前記演奏データ変換手段は、前記サーチされたノートの音程に応じて、所定の効果音を発生させる効果音データを、前記演奏データの所定の位置に挿入することにより、演奏データをさらに変換することを特徴とする。
これにより、前記サーチされた2個のノートの音程に応じて、所定の効果音を発生させる効果音データを所定の位置に挿入するか否かが決定されるので、効果音データをその効果音が最適に発生される位置に適切に配置させることができる。
ここで、効果音とは、たとえばフレットノイズであり、効果音データとは、フレットノイズを発生させるためのデータである。
請求項5記載の発明は、請求項4記載の発明において、前記所定の位置は、前記サーチされた2個のノートの各発音開始タイミングの間であることを特徴とする。
これにより、自然な位置(時間)で効果音を発生させることができる。たとえば、効果音がフレットノイズである場合には、前記従来の問題点である不自然なフレットノイズの発生を、より自然な位置での発生にすることができる。
請求項6記載の発明は、請求項1乃至5のいずれかに記載の発明において、入力された演奏データをフレーズに分割するフレーズ分割手段と、該分割されたフレーズに含まれるノートのうち、所定の条件に該当するノートを検出するノート検出手段と、該検出されたノートの発音継続時間をシフトするための発音継続時間シフト量を決定する発音継続時間シフト量決定手段と、前記検出されたノートのベロシティをシフトするためのベロシティシフト量を決定するベロシティシフト量決定手段と、前記決定された発音継続時間シフト量およびベロシティシフト量に従って、当該ノートの発音継続時間をシフトするとともにそのベロシティをシフトすることにより当該演奏データを変換する演奏データ変換手段とを有することを特徴とする。
請求項7記載の発明は、請求項1乃至6のいずれかに記載の発明において、前記演奏データ変換手段が前記入力された演奏データを変換するときの基礎となる各種の表情付けパラメータを当該演奏データに対応させて記憶媒体に記憶する記憶手段を有し、前記演奏データ変換手段は、前記記憶手段から読み出した表情付けパラメータを用いて演奏データを変換することを特徴とする。
これにより、ユーザは各種の表情付けパラメータを設定する必要がなくなり、操作性を向上させることができる。
請求項8記載の発明は、請求項7記載の発明において、前記記憶手段は、前記各種の表情付けパラメータから成る複数個の表情付けパラメータ群をシーケンスデータとして記憶し、前記演奏データ変換手段は、前記入力された演奏データに基づいて当該演奏データの変換を行うときに、その変換の進行に従って前記パラメータ群を切り換え、該切り換え後のパラメータ群に含まれる表情付けパラメータに基づいて当該演奏データを変換することを特徴とする。
これにより、演奏データ中のある部分を指定して、その位置に所望のパラメータ群の表情付けパラメータを設定することができるので、演奏データに、より細かな演奏表情を付与することができる。
請求項9記載の発明は、請求項8記載の発明において、前記記憶手段は、演奏データに設定可能な音色に対応する楽器毎に最適な前記表情付けパラメータを前記記憶媒体に記憶し、前記演奏データ変換手段は、前記入力された演奏データに設定された楽器の種類に応じて前記記憶された表情付けパラメータをロードし、該ロード後の表情付けパラメータに基づいて当該演奏データを変換することを特徴とする。
これにより、選択された楽器の種類に応じて最適な表情付けパラメータで演奏データを変換することができる。
請求項1記載の発明に依れば、入力された演奏データのうち隣接する個のかつ音高が異なるノートを1つのノートにまとめて新たな演奏データとし、該新演奏データの音高を当該個のノートのうちののノートの音高にするとともに、その発音継続時間を当該個のノートのうちの前のノートの発音開始タイミングから後のノートの発音終了タイミングまでにし、該新演奏データの音高が当該個のノートのうちの前のノートの音高から後のノートの音高まで変化するように、前記演奏データの所定の位置にピッチベンドデータを挿入することにより演奏データが変換されるので、当該演奏データに各種態様の演奏表情を付与することができる。
請求項2記載の発明に依れば、前記新演奏データの元の個のノートの音程と所定音程との大小関係に応じてピッチの変化態様の異なるピッチベンドデータが挿入されるので、簡単なアルゴリズムによりその制御位置を決定することができる。
請求項3記載の発明に依れば、前記新演奏データに付随するピッチベンドデータのうち最初のピッチベンドデータによるピッチベンド開始タイミングが、当該新演奏データの発音開始タイミングから所定ディレイ時間経過後となるような位置に、該最初のピッチベンドデータが挿入されるので、当該新演奏データに、いわゆる「ため」という演奏表情を付与することができる。
請求項4記載の発明に依れば、隣接ノートサーチ手段によりサーチされたノートの音程に応じて、所定の効果音を発生させる効果音データを前記変換された演奏データの所定の位置に挿入することにより演奏データが変換されるので、効果音データをその効果音が最適に発生される位置に適切に配置させることができる。
請求項5記載の発明に依れば、前記所定の位置は、前記サーチされた2個のノートの各発音開始タイミングの間であるので、自然な位置(時間)で効果音を発生させることができる。
請求項7記載の発明に依れば、前記入力された演奏データが変換されるときの基礎となる各種の表情付けパラメータが当該演奏データに対応させて記憶媒体に記憶されるので、ユーザは各種の表情付けパラメータを設定する必要がなくなり、操作性を向上させることができる。
請求項8記載の発明に依れば、前記各種の表情付けパラメータから成る複数個の表情付けパラメータ群がシーケンスデータとして記憶され、前記入力された演奏データに基づいて当該演奏データの変換が行われるときに、その変換の進行に従って前記パラメータ群が切り換えられ、該切り換え後のパラメータ群に含まれる表情付けパラメータに基づいて当該演奏データが変換されるので、演奏データ中のある部分を指定して、その位置に所望のパラメータ群の表情付けパラメータを設定することができ、これにより、演奏データに、より細かな演奏表情を付与することができる。
請求項9記載の発明に依れば、演奏データに設定可能な音色に対応する楽器毎に最適な前記表情付けパラメータが前記記憶媒体に記憶され、前記入力された演奏データに設定された楽器の種類に応じて前記記憶された表情付けパラメータがロードされ、該ロード後の表情付けパラメータに基づいて当該演奏データが変換されるので、選択された楽器の種類に応じて最適な表情付けパラメータで演奏データを変換することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の実施の一形態に係る演奏データ変換装置の概略構成を示すブロック図である。
同図に示すように、本実施の形態の演奏データ変換装置は、音高情報を入力するための鍵盤1と、各種情報を入力するための複数のスイッチを備えたパネルスイッチ2と、鍵盤1の各鍵の押鍵状態を検出する押鍵検出回路3と、パネルスイッチ2の各スイッチの押下状態を検出するスイッチ検出回路4と、装置全体の制御を司るCPU5と、該CPU5が実行する制御プログラムやテーブルデータ等を記憶するROM6と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM7と、タイマ割り込み処理における割り込み時間や各種時間を計時するタイマ8と、各種情報等を表示する、たとえば大型液晶ディスプレイ(LCD)若しくはCRT(Cathode Ray Tube)ディスプレイおよび発光ダイオード(LED)等を備えた表示装置9と、記憶媒体であるフロッピディスク(FD)をドライブするフロッピディスクドライブ(FDD)10と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するハードディスクをドライブするハードディスクドライブ(HDD)11と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するコンパクトディスク−リード・オンリ・メモリ(CD−ROM)をドライブするCD−ROMドライブ12と、外部からのMIDI(Musical Instrument Digital Interface)信号を入力したり、MIDI信号として外部に出力したりするMIDIインターフェース(I/F)13と、通信ネットワーク101を介して、たとえばサーバコンピュータ102とデータの送受信を行う通信インターフェース(I/F)14と、鍵盤1から入力された演奏データや予め設定された演奏データ等を楽音信号に変換する音源回路15と、該音源回路15からの楽音信号に各種効果を付与するための効果回路16と、該効果回路16からの楽音信号を音響に変換する、たとえばスピーカ等のサウンドシステム17とにより構成されている。
上記構成要素3〜16は、バス18を介して相互に接続され、CPU5にはタイマ8が接続され、MIDII/F13には他のMIDI機器100が接続され、通信I/F14には通信ネットワーク101が接続され、音源回路15には効果回路16が接続され、効果回路16にはサウンドシステム17が接続されている。
HDD11のハードディスクには、前述のように、CPU5が実行する制御プログラムも記憶でき、ROM6に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをRAM7に読み込むことにより、ROM6に制御プログラムを記憶している場合と同様の動作をCPU5にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
CD−ROMドライブ12のCD−ROMから読み出された制御プログラムや各種データは、HDD11内のハードディスクにストアされる。これにより、制御プログラムの新規インストールやバージョンアップ等が容易に行える。なお、このCD−ROMドライブ12以外にも、外部記憶装置として、光磁気ディスク(MO)装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
通信I/F14は、上述のように、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワーク101に接続されており、該通信ネットワーク101を介して、サーバコンピュータ102に接続される。HDD11内のハードディスクに上記各プログラムや各種パラメータが記憶されていない場合には、通信I/F14は、サーバコンピュータ102からプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ(本実施の形態では、演奏データ変換装置)は、通信I/F14および通信ネットワーク101を介してサーバコンピュータ102へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ102は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク101を介してコンピュータへと配信し、コンピュータが通信I/F101を介して、これらプログラムやパラメータを受信してHDD11内のハードディスクに蓄積することにより、ダウンロードが完了する。
この他、外部コンピュータ等との間で直接データのやりとりを行うためのインターフェースを備えてもよい。
図2は、演奏データのデータフォーマットの一例を示す図であり、(a)は、タブ譜変換を行う前の通常の演奏データファイル(ソングファイル)のデータフォーマットを示し、(b)は、(a)の演奏データをタブ譜変換した後のタブ譜形式のデータファイルのフォーマットを示している。
(a)に示すように、演奏データファイルは、ヘッダデータ21、タイミングデータ22、イベントデータ23およびファイルエンドデータ24により、主として構成されている。
ヘッダデータ21とは、演奏データの先頭に記憶されるデータをいい、ヘッダデータ21として、たとえば曲名や初期テンポ等のデータが記憶されている。
タイミングデータ22とは、イベントデータ23間の相対的な時間間隔、すなわちイベントデータ23を音源回路15に出力するタイミングを示す時間データをいう。なお、タイミングデータは通常数値データであり、この数値データは、タイマ8が所定時間毎に発生するタイマ割込に応じて実行されるタイマ割込処理中でデクリメントされ、"0"になるまで次のイベントデータの読み出しが待機される。したがって、タイミングデータとしては、タイマ割込処理においてデクリメント(ダウンカウント)されるカウント値が設定される。ここで、テンポデータ(たとえば、前記初期テンポデータや曲の途中でテンポの変更を指示するテンポデータ)により、自動演奏のテンポを変更する必要があるが、その方法としては、上記タイマ割込が発生する時間間隔(上記所定時間)をテンポデータに応じて変更する方法や、この時間間隔はそのままでタイミングデータの値をテンポデータに応じて変更する方法、または、この時間間隔はそのままで上記タイマ割込処理中で1回にデクリメントされる値の幅をテンポデータに応じて変更する方法等があり、そのうちいずれかの方法を用いてもよい。
イベントデータ23とは、ノートオンイベントデータ、ノートオフイベントデータ、テンポデータおよびピッチベンドイベントデータ等のデータをいう。ノートオンイベントデータは、ノートオン、MIDIチャンネル(CH)、ノートナンバおよびベロシティの各データにより構成され、ノートオフイベントデータも、同様に、ノートオフ、MIDIチャンネル、ノートナンバおよびベロシティの各データにより構成されている。このように、各ノートイベントデータ毎にMIDIチャンネルを記憶するようにしたのは、本実施の形態では、ノートイベントデータを各イベントの種類に拘わらず出力順に1列に並べて記憶し、実際に読み出して処理する段階で、当該MIDIチャンネルに基づいてイベントの種類を判別し、その判別結果に応じてノートイベントの処理を行うようにしたからである。なお、ノートオフイベントデータは、ベロシティを含まないような構成にしてもよい。
なお、本実施の形態では、音源回路15におけるMIDIチャンネル(以下、混同のおそれがない場合には「チャンネル」と略す)は16チャンネルで構成され、そのうち0〜8チャンネルは、ユーザが自由に音色を割り当てることができ、9〜15チャンネルは、後述するように、本システムがそれぞれ所定の目的のために使用する。
また、本実施の形態では、タブ譜変換は、0〜8チャンネルのうちいずれか1つのチャンネルのみの演奏データを対象にして行われる。このチャンネルをソーストラックといい、後述するように、ソーストラックは、ユーザが任意に設定することができる。このように、本実施の形態では、ソーストラックとして1チャンネルのみ指定できるように構成したが、これに限らず、複数のチャンネルを指定できるように構成してもよい。
実際には、演奏データには、上述のデータ以外のデータも含まれているが、本発明を説明する上で必須のものではないため、その説明を省略する。
また、本実施の形態では、イベントデータを、その割り当てられたMIDIチャンネルに拘わらず、出力順に1列に並べて記憶するようにしたが、これに限らず、MIDIチャンネルに対応したトラックを設け、このトラック毎にイベントデータを割り当てるようにしてもよい。このようにすれば、上述のように、ノートイベントデータ毎にMIDIチャンネルを記憶する必要はないが、メモリ容量は増大する。
また、本実施の形態では、演奏データのデータフォーマットを上述のように「イベントデータ+タイミング(相対時間)データ」という構成にしたが、これに限る必要はなく、たとえば「イベントデータ+絶対時間データ」、「音高データ+符長データ」等どのようなフォーマットでもよい。
このようなフォーマットを有する演奏データは、本発明の方法により、図2(b)に示すタブ譜形式のデータに変換される。以下、本発明のタブ譜変換の概要を説明し、その後、詳細に説明する。
(a)の演奏データを、まず、2種類のフレーズに分割する。この2種類のフレーズとは、「単音フレーズ」および「和音フレーズ」であり、ノートオンイベント同士が時間的にオーバーラップしないフレーズを単音フレーズと判別し、オーバーラップするフレーズを和音フレーズと判別する。なお、この単音フレーズおよび和音フレーズの判別方法の詳細は、それぞれ図9および10を用いて後述する。
フレーズ分割処理が進むに従って、分割されたフレーズの始めを示す「フレーズ始」データおよびその終わりを示す「フレーズ終」データが演奏データ中に挿入される。これにより、1つのフレーズを構成するタイミングデータ22およびイベントデータ23を判別することができる。ここで、「フレーズ始」データには、単音フレーズと和音フレーズとをそれぞれ区別するための「単音フレーズ始」データおよび「和音フレーズ始」データがあり、「フレーズ終」データには、同様に、単音フレーズと和音フレーズとをそれぞれ区別するための「単音フレーズ終」データおよび「和音フレーズ終」データがある。
このようにして分割された各フレーズ毎に、当該フレーズを構成する各イベントデータ(ノートオン/オフイベントデータ)を、それぞれタブ譜形式のデータに変換する。本実施の形態では、タブ譜形式のデータへの変換とは、ソーストラック(チャンネル0〜8のうちのいずれか指定されたチャンネル)のノートオン/オフイベントデータをチャンネル10〜15のうちいずれかのチャンネル(各チャンネルは、それぞれタブ譜における6線譜の1弦〜6弦に対応し、音源回路15においては、MIDIチャンネル10〜15にそれぞれギターの1弦〜6弦に相当する若干異なる音色が割当てられる)に割り当てることを云う。すなわち、タブ譜形式のデータへの変換とは、本実施の形態では、演奏者が押さえるべき弦を決定することである。この変換されたタブ譜形式のデータを用いて、実際にタブ譜表示する場合には、タブ譜は演奏者が押さえるべき弦とフレット番号により表現される一方、本実施の形態では、各ノートイベントのノートナンバをフレット番号に変換しないように構成したため、ノートナンバからフレット番号を算出する必要がある。このように、ノートナンバをそのままにしたのは、ノートナンバからフレット番号の算出を容易に行うことができるのに反して、変換後のデータはタブ譜表示に使用されるのみではないため、ノートナンバをそのまま保持しておく方が汎用性が高いからである。しかし、ノートナンバに代えて、対応するフレット番号に変換して記憶するようにしてもよいことは云うまでもない。
このように各ノートイベントをギターの1弦〜6弦に対応した6つのMIDIチャンネルに振り分け、該振り分けた各ノートイベントを、音源回路15のそれぞれギターの1弦〜6弦に対応した若干異なる音色が設定された6つのMIDIチャンネルへと供給すると、実際のギター演奏に近い自然な演奏となる。
図3は、本実施の形態の演奏データ変換装置で用いられるパラメータの一例を示す図である。
本実施の形態の演奏データ変換装置は、主として、通常の演奏データ(図2(a))をタブ譜形式の演奏データ(図2(b))に変換するタブ譜変換処理とこの変換後の演奏データに表情付けを行う表情付け変換処理の2種類の異なった処理を独立して行うように構成されているので、パラメータも、図3に示すように、「タブ譜変換用パラメータ」と「表情付けパラメータ」の2種類のパラメータにより構成されている。
タブ譜変換用パラメータは、前記ソーストラックの番号を指定するソーストラックパラメータSTN、フレーズ区切りを判別するためのクロック数(時間間隔)を指定するフレーズ区切り時間間隔パラメータPIC、フレット番号の上限値を指定する最高フレット番号パラメータUFN、現在処理の対象となっているフレーズ(以下、「対象フレーズ」という)に対する候補ポジション(この詳細は、図8〜12で後述する)をサーチしたときに、複数の候補ポジションがサーチされ、そのうち1つを決定する場合に、直前のフレーズにおいて決定されたポジションを参照して対象フレーズのポジションを決定するか否かを指定する前ポジション参照パラメータRTPP、タブ譜変換すべき演奏データ(ソーストラックのノートオン/オフイベントデータ)がフレットボード上に乗らない(収まらない)データであっても、そのすべてをフレットボード上に強制的に配置するか否かを指定する強制配置パラメータFANOF等により構成されている。
表情付けパラメータは、和音フレーズのように、複数のノートイベントデータの発音開始時刻が略同一の場合に、その各発音開始時点を所定時間だけずらせるコードクオンタイズ処理を行うか否かを指定するコードクオンタイズパラメータCQ、この所定時間を決定するためのノートオンシフト幅を指定するノートオンシフト幅パラメータOSW、3種類のコードストローク、すなわちアップストローク、ダウンストロークおよびオルタネートのうちいずれのストロークが選択されているかをモードで示すパラメータ(以下、「ストロークモード」という)S−MODE等により構成されている。なお、上述したパラメータ以外にも、表情付けパラメータとして使用するパラメータはあるが、そのパラメータについては、実際に使用する時点で説明し、ここでの説明は省略する。
以上のように構成された演奏データ変換装置が実行する制御処理を、以下、図4〜31を参照して説明する。
前述したように、本実施の形態の演奏データ変換装置は、主として「タブ譜変換処理機能」と「表情付け変換処理機能」の2種類の機能を備えているので、各機能をそれぞれ個別に説明する。
まず、図4〜12を参照して、「タブ譜変換処理機能」を実現する制御処理を説明する。
図4は、タブ譜変換処理サブルーチンの手順を示すフローチャートであり、本タブ変換処理は、前記CPU5が実行するメインルーチン(図示せず)を構成する一部の処理である。
ユーザが、たとえば前記パネルスイッチ2のタブ譜変換スイッチ(図示せず)を押下すると、本タブ譜変換処理サブルーチンが呼び出され、実行される。なお、本タブ譜変換処理サブルーチンにCPU5の制御が移行する前に、ユーザの指示に応じてタブ譜変換の対象となる演奏データファイルが前記HDD11のハードディスクから読み出され、前記RAM7の所定位置に確保された演奏データ格納領域にロードされているものとする。
図4において、まず、ユーザが前記タブ譜変換用パラメータから所望のパラメータを選択し、その値を変更指示すると、当該パラメータはその指示された値に設定される(ステップS1)。ここで、タブ譜変換用パラメータを含む前記図3のパラメータ群は、その初期値が前記ROM6またはHDD11のハードディスクに予め格納されており、ユーザが、たとえば前記パネルスイッチ2の電源スイッチ(図示せず)を押下すると、この初期値が読み出され、RAM7の所定位置に確保されたパラメータ格納領域にロードされる。したがって、このステップS1のパラメータ設定処理では、ユーザが初期設定されたパラメータ値を変更したい場合にのみ、その設定を行うようにする。
次に、前記演奏データ格納領域にロードされた元演奏データをフレーズ分割するために、当該元演奏データ中の各フレーズをサーチするフレーズサーチ処理サブルーチン(その詳細は、図5を用いて後述する)を実行する(ステップS2)。
さらに、ステップS2でサーチされ、分割された各フレーズ毎に、その中に含まれるノートオン/オフイベントデータが入る前記ポジション(前述のように、候補ポジションが複数個ある場合にはそのうちの1つ)を決定するとともに、該各ノートオン/オフイベントデータをそれぞれ前記チャンネル10〜15のうちいずれかのチャンネルに振り分ける(割り当てる)ポジション決定、振り分け処理サブルーチン(その詳細は、図8を用いて後述する)を実行した(ステップS3)後に、本タブ譜変換処理サブルーチンを終了する。
図5は、上記フレーズサーチ処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、ソーストラックを選択する(ステップS11)。この処理は、前記ソーストラックパラメータSTNの値に応じて行われる。すなわち、前記ロードされた演奏データが複数のチャンネル分のデータである場合には、その中から、ソーストラックパラメータSTNにより指定されたトラック(チャンネル)が選択され、この選択されたチャンネルの演奏データ(ノートオン/オフイベントデータ)に対して、以下の処理が実行される。
次に、演奏データを1つ読み出し(ステップS12)、該読み出された演奏データがノートオンイベントデータであるか否かを判別する(ステップS13)。
ステップS13で、読み出された演奏データがノートオンイベントデータのときには、図6を用いて後述するノートンオン処理サブルーチンを実行した(ステップS14)後に、前記ステップS12に戻る一方、読み出された演奏データがノートオンイベントデータでないときにはステップS15に進む。
ステップS15では、読み出された演奏データがノートオフイベントデータであるか否かを判別し、ノートオフイベントデータのときには、図7を用いて後述するノートオフ処理サブルーチンを実行した(ステップS16)後に、前記ステップS12に戻る一方、ノートオフイベントデータでないときにはステップS17に進む。
ステップS17では、読み出された演奏データが前記ファイルエンドデータであるか否かを判別し、ファイルエンドデータでないとき、すなわち前記タイミングデータまたはノートオン/オフイベント以外のイベントデータ(たとえばピッチベンドイベントデータ等)であるときには何もせずに前記ステップS12に戻る一方、ファイルエンドデータのときには本フレーズサーチ処理サブルーチンを終了する。
図6は、前記ステップS14のノートオン処理サブルーチンの詳細な手順を示すフローチャートである。
本ノートオン処理および次に説明するノートオフ処理は、下記のフレーズ区切り条件に基づいて、対象となる演奏データ(前記演奏データ格納領域にロードされた演奏データ)を「単音フレーズ」または「和音フレーズ」に分割する処理を行っている。
1)単音フレーズの始まりと判別する条件
i)単音フレーズにおいて無音区間が所定時間(たとえば、前記フレーズ区切り時間間隔パラメータPICで指定された時間)以上経過した後に最初にノートオンがあったとき
ii)和音フレーズが終了した後に最初にノートオンがあったとき
2)単音フレーズの終わりと判別する条件
iii)単音フレーズにおいて無音区間が所定時間(たとえば、前記フレーズ区切り時間間隔パラメータPICで指定された時間)以上経過したとき
iv)単音フレーズにおいて複音になったとき
3)和音フレーズの始まりと判別する条件
v)単音フレーズにおいて複音になったとき
4)和音フレーズの終わりと判別する条件
vi)和音フレーズにおいてすべてのノートがオフになったとき
図6において、まず、他のノートが継続中か否か、すなわち本処理の対象ノートオンイベントデータが読み出される前に、他のノートオンイベントデータが読み出され、そのノートオンイベントデータに対応するノートオフイベントデータが読み出されていないか否かを判別し(ステップS21)、他のノートが継続中でないときにはステップS22に進む一方、他のノートが継続中のときにはステップS27に進む。
ステップS22では、直前に読み出されたノートのノートオフタイミングから、前記図3のフレーズ区切り時間間隔パラメータPICによって示されるクロック数(以下、「時間PIC」という)経過したか否かを判別する。なお、本タブ譜変換処理は、演奏データの再生処理と異なり、演奏データを実時間で1つずつ読み出して行うのではなく、CPU5の能力に応じた速度で行うため、時間PIC経過したか否かの判別は、実際の経過時間に基づいて行っているわけではない。したがって、経過時間は、タイミングデータを読み出す毎に、その直前に読み出されたノートオン/オフイベントデータに応じて、当該タイミングデータの値を加算または減算して算出する。
前記ステップS22の判別で、直前に読み出されたノートのノートオフタイミングから時間PIC経過したときには、読み出されたノートオンイベントデータが単音フレーズ中のものであるか否か、すなわち前記「単音フレーズ始」データが挿入されたフレーズ中のものであるか否かを判別する(ステップS23)。
ステップS23で、読み出されたノートオンイベントデータが単音フレーズ中のものであるときには、このノートオンイベントデータのノートオンタイミング、すなわちこのノートオンイベントデータの直前に前記「単音フレーズ終」データを挿入する(ステップS24)一方、単音フレーズ中のものでないときには、ステップS24をスキップしてステップS25に進む。すなわち、ステップS24に処理が移行するときには、前記フレーズ区切り条件iii)が満たされているため、当該ノートオンの直前は「単音フレーズの終わり」と判別される。
ステップS25では、このノートオンイベントデータのノートオンタイミングに「単音フレーズ始」データを挿入した後に、本ノートオン処理サブルーチンを終了する。すなわち、ステップS22からステップS23を経てステップS25に処理が移行するときには、前記フレーズ区切り条件i)が満たされているため、当該ノートオンは「単音フレーズの始まり」と判別される。
一方、ステップS22の判別で、直前に読み出されたノートのノートオフタイミングから時間PIC経過していないときには、前回判別されたフレーズは和音フレーズか否かを判別する(ステップS26)。
ステップS26で、前回判別されたフレーズが和音フレーズのときには前記ステップS25に進む一方、前回判別されたフレーズが和音フレーズでないときには本ノートオン処理サブルーチンを終了する。すなわち、ステップS22からステップS26を経てステップS25に処理が移行するときには、前記フレーズ区切り条件ii)が満されているため、当該ノートオンは「単音フレーズの始まり」と判別される。
ステップS27では、読み出されたノートオンイベントデータが和音フレーズ中のものであるか否か、すなわち前記「和音フレーズ始」データが挿入されたフレーズ中のものであるか否かを判別し、和音フレーズ中のものであるときには直ちに本ノートオン処理サブルーチンを終了する一方、和音フレーズ中のものでないときにはステップS28に進む。
ステップS28では、直前に読み出されたノートのノートオンタイミングに「単音フレーズ始」データが挿入されているか否かを判別し、「単音フレーズ始」データが挿入されているときには、該「単音フレーズ始」データを「和音フレーズ始」データに書き換えた(ステップS29)後に、本ノートオン処理サブルーチンを終了する一方、「単音フレーズ始」データが挿入されていないときには、当該ノートオンイベントデータのノートオンタイミングに「単音フレーズ終」データおよび「和音フレーズ始」データをこの順序で挿入した(ステップS30)後に、本ノートオン処理サブルーチンを終了する。
ここで、ステップS28で、「単音フレーズ始」データが挿入されているか否かを判別するのは、本実施の形態では、フレーズの先頭には、当該フレーズの種類に拘わらず、最初は「単音フレーズ始」データが常に挿入され(前記ステップS25参照)、その後、当該フレーズが和音フレーズの条件を満たすことが分かった時点で、この「単音フレーズ始」データを「和音フレーズ始」データに書き換えるように構成したからである。
このように、ステップS29に処理が移行するときには、前記フレーズ区切り条件v)が満たされているため、当該ノートオンは「和音フレーズの始まり」と判別される。また、ステップS30に処理が移行するときには、前記フレーズ区切り条件iv),v)が満たされているため、当該ノートオンの直前は「単音フレーズの終わり」と判別されるとともに、当該ノートオンは「和音フレーズの始まり」と判別される。
図7は、前記ステップS16のノートオフ処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、読み出されたノートオフイベントデータが和音フレーズ中のものであるか否かを判別し(ステップS41)、和音フレーズ中のものでないときには、直ちに本ノートオフ処理サブルーチンを終了する一方、和音フレーズ中のものであるときには、前記21と同様にして、他のノートが継続中か否かを判別する(ステップS42)。
ステップS42で、他のノートが継続中のときには、直ちに本ノートオフ処理サブルーチンを終了する一方、他のノートが継続中でないときには、前記読み出されたノートオフイベントデータのノートオフタイミングに「和音フレーズ終」データを挿入した(ステップS43)後に、本ノートオフ処理サブルーチンを終了する。すなわち、ステップS43に処理が移行するときには、前記フレーズ区切り条件vi)が満たされているため、当該ノートオンは「和音フレーズの終わり」と判別される。
図8は、前記図4のステップS3のポジション決定、振り分け処理サブルーチンの詳細な手順を示すフローチャートである。
図8において、まず、1フレーズ分の演奏データを読み出す(ステップS51)。上述したように、演奏データは単音フレーズおよび和音フレーズの2種類のフレーズに分割され、各フレーズは「フレーズ始」データおよび「フレーズ終」データにより区切られているため、このステップS51の処理は、「フレーズ始」データおよびその直後の「フレーズ終」データをサーチし、この両データ間のすべてのノートオン/オフイベントデータを読み出すことによってなされる。
次に、対象フレーズが和音フレーズであるか否かを判別し(ステップS52)、和音フレーズでないとき、すなわち単音フレーズのときには、図9を用いて後述する単音フレーズ処理サブルーチンを実行する(ステップS53)一方、和音フレーズのときには、図10を用いて後述する和音フレーズ処理サブルーチンを実行する(ステップS54)。
続くステップS55では、最後のフレーズまで上記処理を行ったか否かを判別し、まだ処理すべきフレーズが残っているときには前記ステップS51に戻って前述の処理を実行する一方、処理すべきフレーズが残っていないときには、本ポジション決定、振り分け処理サブルーチンを終了する。
このように、本実施の形態では、分割されたフレーズを1単位として、候補ポジションの決定およびチャンネルの振り分け行われる。
図9は、上記ステップS53の単音フレーズ処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、読み出されたフレーズ中のすべてのノートが入る候補ポジションをポジション1〜UFN−3の間で1個または複数個サーチする(ステップS61)。
図12は、フレットボードの一例を示す図であり、候補ポジションを説明するためのものである。
同図中、垂直方向の線分f0〜fUFNはフレットを示し(ただし、f0については開放を意味する)、水平方向の線分g1〜g6は弦を示している。フレットは、前記図3の最高フレット番号パラメータUFNで示される個数あり、前述したように、最高フレット番号パラメータUFNの値は、ユーザが任意に設定できる。
フレットは、最大4本の指で押さえるため、各指がそれぞれ別のフレットを押さえる場合があり、したがって、候補ポジションは、6弦かつ4フレットを1単位として構成される(ただし、候補ポジション1のみ開放位置を含めて5フレットを1単位とする)。このため、候補ポジションの個数は、UFN−3個となる。
なお、1つの単音フレーズを演奏する際に、手の位置を多少フレット方向にスライドさせて演奏することもできるため、候補ポジションを5フレット以上を1単位として構成するようにしてもよい。
また、すべての弦について同一フレット番号からなるものに限らず、各弦毎に多少フレット番号が異なるようなポジションを設定してもよい。
図9に戻り、候補ポジションがサーチされたか否かを判別し(ステップS62)、候補ポジションがサーチされなかったときには、前記読み出された全ノートから最高音および最低音を除外し、残りのノートに対して再度候補ポジションをサーチし(ステップS63)、前記ステップS62に戻る。なお、最高音または最低音のどちらか一方のみを除外するようにしてもよい。
一方、ステップS62で、候補ポジションがサーチされたときにはステップS64に進み、前記前ポジション参照パラメータRTPPの値が"1"であるか否かを判別する。ここで、前ポジション参照パラメータRTPPは、フラグと同様に、"0"または"1"のいずれかの値を採り、"1"が設定されている場合には、直前のフレーズにおいて決定されたポジションを参照して対象フレーズのポジションが決定される。
ステップS64で、RTPP=1のときには、前回ポジション、すなわち直前のフレーズにおいて決定されたポジションに最も近いポジションを選択する(ステップS65)。ただし、対象フレーズが曲の先頭に位置する場合には、最も音高が低いポジションを選択する。
一方、ステップS64で、RTPP=0のときには、最も音高が低いポジションを選択する(ステップS66)。
なお、ステップS65およびS66の処理は、候補ポジションが複数個サーチされたときにのみ意味を持つことは云うまでもない。
続くステップS67では、対象フレーズに含まれる全ノートオン/オフイベントデータを前記選択された候補ポジション中の弦およびフレットに振り分けるノート振り分け処理サブルーチンを実行した(ステップS67)後に、本単音フレーズ処理サブルーチンを終了する。
なお、本単音フレーズ処理サブルーチンでは、ステップS62およびS63で、1フレーズ内のノートが1つの候補ポジション内に入りきらなかった場合には、その最高音および最低音をそれぞれ除外し、残りのノートに対して再度候補ポジションをサーチするようにしたが、これに限らず、このフレーズをさらに分割して、別々に候補ポジションをサーチするようにしてもよい。
図10は、前記ステップS54の和音フレーズ処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、読み出されたすべてのノート、すなわちノートオン/オフイベントデータを音高順(たとえば低い順)に並び替え、前記ステップS61と同様にして、そのすべての音高が入る候補ポジションをポジション1〜UFN−3の間で1個または複数個サーチする。
続くステップS72〜S75の処理は、それぞれ前記ステップS64〜67の処理と同様であるので、その説明を省略する。
なお、本和音フレーズ処理サブルーチンは、前記単音フレーズ処理サブルーチンに比較して、候補ポジションが見つからなかった場合の処理を省略しているが、これは、和音フレーズを構成するノートをすべて含む候補ポジションは必ず存在するという前提に立っているからであり、この前提が常に成り立つとは限らないときには、単音フレーズ処理サブルーチンと同じように、候補ポジションが見つからなかった場合の処理を追加すればよい。
図11は、前記ステップS67およびS75のノート振り分け処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、対象フレーズ内のノートデータ、すなわちノートオン/オフイベントデータを1つ読み出す(ステップS81)。
次に、該ノート、すなわち該読み出されたノートオン/オフイベントデータの音高は前記選択された候補ポジション内に入るか否かを判別する(ステップS82)。ここで、候補ポジション内に入るか否かの判別を行うのは、前記図9の単音フレーズ処理サブルーチンのステップS63で、最高音および最低音を除外して候補ポジションがサーチされた場合があるからである。
ステップS82で、対象ノートが前記選択された候補ポジションに入るときには、その候補ポジションに基づいて、該ノートが位置する弦およびフレット位置を決定し、該決定された弦に基づいて各チャンネルに振り分ける、すなわち候補ポジションの中において、対象ノートが何弦の何フレットに対応するかをテーブル参照や演奏等により求め、該決定された弦に対応するチャンネルを決定する(ステップS83)。なお、ポジション1のみ2弦の最低フレット(f0)と3弦の最高フレット(f4)の音は同一であるので、このノートについては弦およびフレットが一義的には決まらないが、そのフレーズ内の他の音の弦およびフレットとの関係から、より自然に演奏できる方を選択すればよい。他のノートについては弦とフレットは一義的に決まる。このようにして決定された弦が、たとえば、前記図12の弦g1である場合にはチャンネル10に振り分けられ、弦g3である場合にはチャンネル12に振り分けられる。
一方、ステップS82で、対象ノートが前記選択された候補ポジション内に入らないときには、該ノートの音高は6弦(図12の弦g6)を開放した状態で発音される楽音の音高より低いか、または、1弦(図12の弦g1)の最高フレット(本実施の形態では、図12のフレットfUFN)が押さえられた状態で発音される楽音の音高より高いか否かを判別する(ステップS84)。
ステップS84で、その答えが否定("NO")のときには、候補ポジションに入らない低い音については弦を6弦(弦g6)とし、高い音については1弦(弦g1)として、フレット位置を決定し、該決定された弦に基づいて、前記ステップS83と同様に各チャンネルに振り分けた(ステップS85)後に、ステップS89に進む。
一方、ステップS84で、その答えが肯定("YES")のときには、前記強制配置パラメータFANOFの値を判別する(ステップS86)。ここで、強制配置パラメータFANOFは、前記前ポジション参照パラメータRTPPと同様に、"0"または"1"のいずれかの値を採り、"1"が設定されている場合には、対象ノートがフレットボード上に乗らないものであったとしても、フレットボード上に強制的に配置される。
ステップS86で、強制配置パラメータFANOFが"1"のとき、すなわち、たとえば演奏データが弦楽器用に作成されたものではなく、対象ノートを割り当てる弦およびフレットがない場合であっても、すべてのノートをフレットボード上に強制的に割り当てるように設定されているときには、対象ノートの音高を、低い音については1オクターブだけ上に、高い音については下にシフトした(ステップS87)後に、前記ステップS82に戻り、上記候補ポジションに基づいた弦およびフレット位置の再サーチを実行する。
一方、ステップS86で、強制配置パラメータFANOFが"0"のときには、該ノートに対応するノートオン/オフイベントデータを削除した(ステップS88)後に、ステップS89に進む。
ステップS89では、対象フレーズのすべてのノートに対して上記ステップS81〜S88の処理を終了したか否かを判別し、まだ処理すべきノートが残っているときには前記ステップS81に戻って、前述の処理を繰り返す一方、すべてのノートに対して処理を終了したときには、本ノート振り分け処理サブルーチンを終了する。
このようにして、本実施の形態では、演奏データを単音フレーズおよび和音フレーズの2種類のフレーズに分割し、該分割されたフレーズ毎に候補ポジションをサーチするように構成したので、演奏内容に応じて適切な候補ポジションを検出することができ、これにより、タブ譜変換を行う際に、1つのフレーズは1つのポジションで演奏できるように対象ノートを最適な弦に振り分けることができる。
また、候補ポジションが複数個サーチされ、その中からポジションを1つ決定する場合に、ユーザの設定に応じて、「最も音高が低いポジション」または「前回ポジション参照」のいずれか一方の条件を満たすポジションを決定するようにしたので、ユーザのポジション選択の自由度を増加させ、これにより操作性を向上させることができる。このとき、「最も音高が低いポジション」を選択した場合には、和音演奏の際に開放弦を利用した押さえやすいポジションを決定することができる一方、「前回ポジション参照」を選択した場合には、ポジションチェンジの少ない、スムーズな演奏ポジションを決定することができる。
なお、本実施の形態では、「最も音高が低いポジション」または「前回ポジション参照」のうちいずれか一方の選択を、ユーザが自由に設定するように構成したが、これに限らず、対象フレーズが「和音フレーズ」である場合または「単音フレーズ」である場合に応じて、自動的に選択条件を変更するようにしてもよい。たとえば、和音演奏時は、最も低いポジションを優先する一方、単音演奏時は、前回のポジションを参照する。これにより、よりスムーズな演奏を行うことができ、和音演奏と単音演奏が混在していない曲の場合には、特に有効である。
また、本実施の形態では、演奏データを単音フレーズと和音フレーズの2種類のフレーズに分割し、各フレーズの区切りを示すデータを演奏データ中に記憶させるようにしたが、これに限らず、他の方法により区切るようにしてもよい。たとえば、演奏データとは別のトラックに時間データと区切りデータを記憶させるようにしてもよい。
次に、図13〜31を参照して、「表情付け変換処理機能」を実現する制御処理を説明する。
図13は、表情付け変換処理サブルーチンの手順を示すフローチャートであり、本表情付け変換処理は、前記タブ譜変換処理と同様に、前記CPU5が実行するメインルーチンを構成する一部の処理である。
ユーザが、たとえば前記パネルスイッチ2の表情付け変換スイッチ(図示せず)を押下すると、本表情付け変換処理サブルーチンが呼び出され、実行される。
図13において、まず、前記ステップS1と同様にして、ユーザが前記図2の表情付けパラメータから所望のパラメータを選択し、その値を変更指示すると、当該パラメータはその指示された値に設定される(ステップS91)。
次に、表情付け変換処理として前記コードクオンタイズ処理が設定されている場合に、演奏データにコードクオンタイズ処理を施すコードクオンタイズ処理サブルーチンを実行し(ステップS92)、表情付け変換処理としてポルタメント変換処理が設定されている場合に、演奏データにポルタメントを施すポルタメント変換処理サブルーチンを実行する(ステップS93)。
次いで、表情付け変換処理として、効果音(本実施の形態では、フレットノイズ)を挿入する効果音挿入処理が設定されている場合に、演奏データに当該効果音を挿入する効果音挿入処理サブルーチンを実行し(ステップS94)、表情付け変換処理としてアルペジオ強調処理が設定されている場合に、演奏データにアルペジオ強調を施すアルペジオ強調処理サブルーチンを実行し(ステップS95)、表情付け変換処理としてベロシティランダマイズ処理が設定されている場合に、演奏データのベロシティをランダムに変更するベロシティランダマイズ処理サブルーチンを実行した(ステップS96)後に、最終フレーズまで処理が進んだか否かを判別する(ステップS97)。
ステップS97で、最終フレーズまで進んでいれば、本表情付け変換処理サブルーチンを終了する一方、最終フレーズまで進んでいなければ、次のフレーズを対象フレーズとし(ステップS98)、ステップS92へと戻る。
図14は、前記ステップS92のコードクオンタイズ処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、コードクオンタイズの設定はオンであるか否かを、前記コードクオンタイズパラメータCQの値をチェックすることにより判別する(ステップS101)。ここで、コードクオンタイズパラメータCQは、前記前ポジション参照パラメータRTPPと同様にして、"0"または"1"のいずれかの値を採り、"1"が設定されている場合には、表情付け変換処理としてコードクオンタイズ処理が設定(オン)されていることを示す。
ステップS101で、コードクオンタイズの設定がオン(CQ=1)のときには、対象フレーズが和音フレーズであるか否かを判別する(ステップS102)。
ステップS102の判別で、対象フレーズが和音フレーズでないとき、または、前記ステップS101の判別で、コードクオンタイズの設定がオフ(CQ=0)のときには、直ちに本コードクオンタイズ処理サブルーチンを終了する一方、ステップS102の判別で、対象フレーズが和音フレーズのときにはステップS103に進む。
このように、ステップS102で、対象フレーズが和音フレーズか否かの判別を行うようにしたのは、コードクオンタイズの設定がフレーズの種類に依存せずになされるからである。したがって、コードクオンタイズの設定がフレーズの種類に依存する場合、たとえば曲の進行に従ってパラメータシーケンス、すなわち前記図2のパラメータ群の各パラメータ値(各表情付け処理のオン/オフ設定を含む)が演奏データ中の適切な位置に配置されたシーケンスが与えられるように構成された場合(後述する図33を参照)には、このステップS102の処理を省略することができる。他の表情付け処理においても、上記シーケンスが与えられている場合には、この判別は、同様に省略することができる。
ステップS103では、全チャンネル、すなわちチャンネル10〜15のノートデータ、すなわちノートオン/オフイベントデータを見て、同一タイミングでノートオンする複数ノートをサーチする。ここで、同一タイミングであるか否かは、対象ノートデータ間のノートオンタイミングの差が"0"である場合に限らず、その差が、予め設定された幅の範囲内に入っている場合にも、同一タイミングと判定するようにしてもよい。
続くステップS104では、対象ノートがあるか否か、すなわちステップS103で複数のノートがサーチされたか否かを判別し、対象ノートがあるとき、すなわち複数のノートがサーチされたときには、その対象ノートに対応するノートオンタイミングをシフトするタイミングシフト処理サブルーチン(その詳細は、図15を用いて後述する)を実行する(ステップS105)。
次いで、ステップS106では、予め設定されたレシオに応じて対象ノートのベロシティ値をシフト(変更)するベロシティシフト処理サブルーチン(その詳細は、図16を用いて後述する)を実行し、ステップS107では、対象ノートの発音時間を短縮する、いわゆるミュートカッティング奏法をシミュレートするミュートカッティング処理サブルーチン(その詳細は、図17を用いて後述する)を実行した(ステップS107)後に、前記ステップS103に戻って、前述の処理を繰り返す。
一方、ステップS104の判別で、対象ノートがないとき、すなわちステップS103で複数のノートがサーチされなかったときには、本コードクオンタイズ処理サブルーチンを終了する。
図15は、前記ステップS105のタイミングシフト処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、対象ノートの発音継続時間を示すゲートタイムデータのうち、最短ゲートタイムを求め、該最短ゲートタイムに前記ノートオンシフト幅パラメータOSW値を乗算してシフト量を算出する(ステップS111)。本実施の形態では、ノートオンシフト幅パラメータOSWは%値で設定されているので、シフト量、すなわちシフトクロック数(時間)は、次式により算出される。
シフト量 = 最短ゲートタイム×OSW/100
なお、ノートオンシフト幅パラメータOSWは、%値に限らず、たとえばレシオで設定してもよい。
次に、現在のストロークモードパラメータS−MODEを判別し(ステップS112)、ストロークモードパラメータS−MODEが「オルタネートモード」、すなわち弦をカッティングする方向がアップ方向とダウン方向とに交互に切り替わるモードのときには、ストロークがアップ方向のストロークであるか、またはダウン方向のストロークであるかを判定する(ステップS113)。以下、このアップ/ダウン判定の方法を説明する。
本実施の形態では、アップ/ダウン判定は、対象和音フレーズ内のコード(和音)のノートオンタイミングが8分音符上タイミングのとき行われ、8分音符(8ビートのコードストローク)単位でダウンとアップが繰り返すように、具体的には、ノートオンタイミングが8分音符の奇数拍、すなわち4分音符上にあるときにはダウンストロークと判定され、ノートオンタイミングが8分音符の偶数拍上にあるときにはアップストロークと判定される。
なお、ノートオンタイミングが8分音符のタイミングからわずかにずれているときも8分音符とみなす。また、8分音符上にはのらない16分音符の偶数拍はすべてアップストロークとしている。
図19は、このアップ/ダウン判定の方法を説明するための図であり、(a)は、アップストロークとダウンストロークとをどのようなタイミングで判定するかを示す図であり、(b)は、(a)の方法により8ビートのコードストロークのアップ/ダウン判定を行った判定結果を示す図である。図中、横軸はクロック数を示し、記号vは、対象コードのノートオンタイミングを示し、記号dは、該記号dに対応するノートオンタイミングvのコードがダウンストロークと判定されたことを示し、記号uは、該記号uに対応するノートオンタイミングvのコードがアップストロークと判定されたことを示している。なお、本実施の形態では、1クロックの周期は1536分長、すなわち4分音符を384等分した時間に相当する。
同図(a)に示すように、コード1のノートオンタイミングは384番目のクロック上、すなわち4分音符上にあるため、コード1はダウンストロークと判定され、コード2のノートオンタイミングは960番目のクロック上、すなわち8分音符の裏拍上にあるため、コード2はアップストロークと判定される。
このような方法により、8ビートのコードストロークのアップ/ダウン判定を行うと、(b)に示すように、8分音符毎にアップストロークとダウンストロークとが繰り返すことになる。
なお、16ビートの3,7,11,15拍は8分音符の偶数拍となるためアップストロークとなってしまう。この不都合を解消するため、コード演奏が8ビートなのか16ビートなのかを判定し、アップストロークとダウンストロークの判定アルゴリズムを変えるようにしてもよい。
図15に戻り、ステップS114では、上述のようにしてアップ/ダウン判定されたコードストロークがダウンストロークであるか否かを判別し、ダウンストロークのときには、6弦(前記図12では弦g6)から1弦(図12では弦g1)の方向にノートオンタイミングがずれるように、前記ステップS111で算出したシフト量に基づいて対象ノートのノートオンタイミングをシフトした(ステップS115)後に、本タイミングシフト処理サブルーチンを終了する。
一方、ステップS114で、判定されたコードストロークがアップストロークのときには、ステップS115の処理と逆に、1弦から6弦の方向にノートオンタイミングがずれるように、前記算出されたシフト量に基づいて対象ノートのノートオンタイミングをシフトした(ステップS116)後に、本タイミングシフト処理サブルーチンを終了する。
一方、前記ステップS112の判別で、ストロークモードパラメータS−MODEが「ダウンモード」のときには前記ステップS115に進む一方、ストロークモードパラメータS−MODEが「アップモード」のときには前記ステップS116に進む。
図18は、このタイミングシフト処理サブルーチンによりタイミングシフトされる前および後のコードのノートオンタイミングを示す図であり、図中、縦軸は音高を示し、横軸は時刻を示している。そして、(a)は、タイミングシフトされる前の対象コードのノートオンタイミングの一例を示し、(b)は、(a)のノートオンタイミングをタイミングシフトした結果を示し、(c)は、対象コードのゲートタイム時間が(a)より短い場合のノートオンタイミングの一例を示し、(d)は、(c)のノートオンタイミングをタイミングシフトした結果を示している。なお、(b)および(d)はアップストロークのときのタイミングシフト例である。
同図の例では、ノートオンシフト幅パラメータOSWは20%に設定されているので、(b)に示すように、対象コードの各隣接するノートのノートオンタイミングは、(a)の最短ゲートタイム(時間t0〜t1)の20%だけシフト(時間t0〜t01,t01〜t02)している。同様にして、(d)に示すように、対象コードの各隣接するノートのノートオンタイミングは、(c)の最短ゲートタイム(時間t0〜t2)の20%だけシフト(時間t0〜t03,t03〜t04)している。
このように、本実施の形態では、対象コード中、最短ゲートタイムに応じてシフト量が決定されるので、最初にノートオンしたノートのノートオフタイミングが、該対象コード中の他のノートオンタイミングより遅れることがなくなり、違和感のないタイミングシフトがなされる。また、対象コードの各ノートのノートオンタイミングのずれ量を、当該コード中所定の(本実施例では最短の)ノートのゲートタイムを基準にして制御するので、すばやいカッティング(当該各ノートのゲートタイムが短いことが多い)に対しては当該ノートの各ノートオンタイミングのずれは少なくなる一方、ゆっくりとしたストローク(当該各ノートのゲートタイムが長いことが多い)に対しては当該ノートの各ノートオンタイミングのずれは多くなるという制御を行うことができ、これにより、当該コードをよりギター演奏らしく変換することができる。
図16は、前記ステップS106のベロシティシフト処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、スロープトップ、すなわちベロシティスロープの最初(ベロシティのシフト量が最小)となる弦を判別する(ステップS121)。ここで、スロープトップの判別は、図示しないスロープトップパラメータに設定されたパラメータ値に応じて行われる。スロープトップパラメータには、アップストロークとダウンストロークとに応じて、それぞれ1弦側と6弦側とを交互に切り換えてスロープトップに割り当てる「オルタネートモード」、スロープトップを常に1弦側に割り当てる「オールウェーズボトムゲージモード」、スロープトップを常に6弦側に割り当てる「オールウェーズトップゲージモード」の3種類のモードの内いずれかのモードパラメータが、ユーザにより設定される。
ステップS121で、スロープトップがオルタネートに切り替わるとき、すなわち「オルタネートモード」が設定されているときにはステップS122に進み、前記ステップS113と同様にして、アップ/ダウン判定を行う。
続くステップS123では、この判定されたコードストロークがダウンストロークか否かを判別し、ダウンストロークのときには、図20に示すベロシティスロープにおいて、スロープトップを1弦に設定するとともにスロープボトムを6弦に設定し、このように設定されたベロシティスロープに基づいて各弦に対応するスロープレシオを決定し、該決定されたスロープレシオに従って各対象ノートのベロシティをシフトした(ステップS124)後に、本ベロシティシフト処理を終了する。
ここで、図20に示すベロシティスロープのレシオ値は、スロープトップおよびスロープボトムにおける各レシオ値のみ、ユーザが任意に設定できるように構成され、他のレシオ値は、この設定された両レシオ値に基づいて、たとえば線形補間により算出する。なお、これに限らず、すべての弦に対応するレシオ値を、ユーザが任意に設定できるようにしてもよいことは云うまでもない。
一方、ステップS123の判別で、前記判定されたコードストロークがアップストロークのときには、上記ステップS124の処理と逆に、図20のベロシティスロープにおいて、スロープトップを6弦に設定するとともにスロープボトムを1弦に設定し、このように設定されたベロシティスロープに基づいて各弦に対応するスロープレシオを決定し、該決定されたスロープレシオに従って各対象ノートのベロシティをシフトした(ステップS125)後に、本ベロシティシフト処理を終了する。
一方、ステップS121の判別で、スロープトップが1弦のときにはステップS124に進む一方、スロープトップが6弦のときにはステップS125に進む。
図17は、前記ステップS107のミュートカッティング処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、各対象ノートのゲートタイムはミュート対象であるか否かを判別し(ステップS131)、ミュート対象であるときには、ストロークモードS−MODEはミュート対象であるか否かを判別する(ステップS132)。
ここで、各対象ノートのゲートタイムおよびストロークモードS−MODEがそれぞれミュート対象であるか否かは、各パラメータの状態に応じて判別する。すなわち、この各パラメータには、ミュート対象となるゲートタイムの上限値およびコードストロークの方向を設定でき、ステップS131では、対象ゲートタイムがこの設定されたゲートタイムの上限値より短かいときに、当該ゲートタイムはミュート対象と判別され、ステップS132では、ストロークモードS−MODEがこの設定されたコードストロークの方向に一致するときに、当該ストロークモードS−MODEはミュート対象と判別される。
ステップS132の判別で、ストロークモードS−MODEがミュート対象のときには、図示しない設定パラメータに従ってゲートタイムを変更した(ステップS133)後に、本ミュートカッティング処理を終了する。ここで、設定パラメータとは、前記ノートオンシフト幅パラメータOSWと同様に、ゲートタイムを変更するレシオ値を設定するパラメータであって、そのレシオ値は、前記ステップS91のパラメータ設定においてユーザが決定する。なお、「ミュート」感を出すために設定パラメータには、通常ゲートタイムを短くするような値が設定されるが、これに限らず、ゲートタイムを長くするような値を設定するようにしてもよい。
一方、ステップS131の判別で、各対象ノートのゲートタイムがミュート対象でないとき、またはステップS132で、ストロークモードS−MODEがミュート対象でないときには、直ちに本ミュートカッティング処理を終了する。
このように、本コードクオンタイズ処理サブルーチンでは、対象ノートのゲートタイムに応じて和音の発音タイミングのずれ量が制御されるので、たとえばすばやいカッティング(ゲートタイムが短い場合が多い)のときにはずれが少なく、ゆっくりとしたストローク(ゲートタイムが長い場合が多い)のときにはずれが多いといった制御を行うことができ、これにより、特にギター演奏をシミュレートする場合には、演奏データの楽音をよりギター演奏らしく発音することができる。
図21は、前記図13のステップS93のポルタメント変換処理サブルーチンの詳細な手順を示すフローチャートである。本ポルタメント変換処理サブルーチンは、「チョーキング」、「ハンマリングオン/プリングオフ」、「グリッサンド(スライド)」の3種類のギター奏法をシミュレートする。
図21において、まず、ポルタメント変換の設定はオンになっているか否かを判別する(ステップS141)。この判別は、ポルタメント変換を行うか否か(オン/オフ)をユーザが自由に設定できるポルタメント変換パラメータ(図示せず)の値をチェックすることにより行う。
ステップS141で、ポルタメント変換の設定がオンのときには、対象フレーズが単音フレーズであるか否かを判別する(ステップS142)。
ステップS142で、対象フレーズが単音フレーズのときにはステップS143に進む一方、対象フレーズが単音フレーズではないとき、すなわち和音フレーズのとき、または、ステップS141で、ポルタメント変換の設定がオフのときには、直ちに本ポルタメント変換処理サブルーチンを終了する。
ステップS143では、全チャンネル、すなわちチャンネル10〜15のノートデータ、すなわちノートオン/オフイベントデータを見て、時間的に隣接する2つのノートを決定し、ステップS144では、該2つのノートは同じ弦上にあるか否か、すなわち該2つのノートに割り当てられた各チャンネル番号は同一であるか否かを判別する。
ステップS144で、該2つのノートが同じ弦上にあるときには、該2つのノートの音程はハンマリングオン/プリングオフ処理を施すべき指定値(以下、「ハンマリングオン/プリングオフ用指定値」という)以内に入っているか否かを判別する(ステップS145)。なお、このハンマリングオン/プリングオフ用指定値も、ユーザが任意に設定することができるが、好ましくは、後述するグリッサンド用指定値よりも小さい値を設定するとよく、半音1〜2程度がよい。
ステップS145で、該2つのノートの音程がハンマリングオン/プリングオフ用指定値よりも大きいときには、該2つのノートの音程はグリッサンド処理を施すべき指定値(以下、「グリッサンド用指定値」という)以上であるか否かを判別する(ステップS146)。なお、このグリッサンド用指定値も、ユーザが任意に設定することができるが、好ましくは、ハンマリングオン/プリングオフ用指定値よりも大きく設定するとよく、3半音程度がよい。
ステップS146で、該2つのノートの音程がグリッサンド用指定値以上であるときには、グリッサンドの設定はオンであるか否かを判別する(ステップS147)。この判別は、グリッサンド処理を行うか否か(オン/オフ)をユーザが自由に設定できるグリッサンド処理パラメータ(図示せず)の値をチェックすることにより行う。
ステップS147で、グリッサンドの設定がオンのときには、図26を用いて後述するグリッサンド処理サブルーチンを実行する。
一方、ステップS146の判別で、前記2つのノートの音程がグリッサンド用指定値未満のとき、または、ステップS147の判別で、グリッサンドの設定がオフのときには、ステップS154に進む。
一方、前記ステップS145の判別で、前記2つのノートの音程がハンマリング/プリングオフ用指定値以内のときには、ハンマリングオン/プリングオフの設定はオンであるか否かを判別する(ステップS149)。この判別も、前記ステップS147の判別と同様に、ハンマリングオン/プリングオフ処理を行うか否か(オン/オフ)をユーザが自由に設定できるハンマリングオン/プリングオフ処理パラメータ(図示せず)の値をチェックすることにより行う。
ステップS149の判別で、ハンマリングオン/プリングオフの設定がオンのときには、図22を用いて後述するハンマリングオン/プリングオフ処理サブルーチンを実行する(ステップS150)一方、ハンマリングオン/プリングオフの設定がオフのときには、ステップS150をスキップしてステップS154に進む。
一方、前記ステップS144の判別で、前記2つのノートが同じ弦上にないときには、該2つのノートの音程はチョーキング処理を施すべき指定値(以下、「チョーキング用指定値」という)以内であるか否かを判別する(ステップS151)。なお、このチョーキング用指定値もユーザが任意に設定することができ、好ましくは、半音2つ程度がよい。
ステップS151で、該2つのノートの音程がチョーキング用指定値以内であるときには、チョーキングの設定はオンであるか否かを判別する(ステップS152)。この判別も、前記ステップS147の判別と同様に、チョーキング処理を行うか否か(オン/オフ)をユーザが自由に設定できるチョーキング処理パラメータ(図示せず)の値をチェックすることにより行う。
ステップS152で、チョーキングの設定がオンのときには、図24を用いて後述するチョーキング処理サブルーチンを実行した(ステップS153)後に、ステップS154に進む一方、チョーキングの設定がオフのとき、または、前記ステップS151の判別で、前記2つのノートの音程がチョーキング用指定値より大きいときには、ステップS153をスキップしてステップS154に進む。
ステップS154では、対象フレーズの全ノートに対して、上述の処理を終了したか否かを判別し、まだ処理すべきノートが残っているときには、前記ステップS143に戻って前述の処理を繰り返す一方、処理すべきノートが残っていないときには、本ポルタメント変換処理サブルーチンを終了する。
図22は、前記ステップS150のハンマリングオン/プリングオフ処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、対象となる2つのノートのうち、後ろのノートを削除し、該後ろのノートのノートオフタイミングに前のノートのノートオフタイミングを延ばす(ステップS161)。
次に、前記後ろのノートのノートオンタイミングの位置にピッチベンドを挿入する(ステップS162)。但し、ピッチベンドのベンド量は、該後ろのノートのピッチになるように設定する。
さらに、図示しない設定パラメータに従ってベロシティを変更した(ステップS163)後に、本ハンマリングオン/プリングオフ処理サブルーチンを終了する。ここで、設定パラメータとは、前記前のノートのベロシティを変更するためのレシオ値を設定するパラメータであって、そのレシオ値は、ユーザが任意に設定できる。
図23は、このハンマリングオン/プリングオフ処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図であり、(a)は、変換前の対象となる2つのノートイベントの一例を示し、(b)は、(a)のノートイベントの変換後の状態を示し、(c)は、変換後に挿入されたピッチベンドイベントデータのピッチベンド量の推移を示している。図23中、横軸は時刻を示し、縦軸は、(a),(b)においては音高を示し、(c)においてはピッチベンド量を示している。
前記対象となる2つのノートイベントの音高が、(a)に示すように、それぞれ「ノート1」および「ノート2」である場合に、ハンマリングオン/プリングオフ処理サブルーチンが実行されると、(b)に示すように、後ろのノートイベントである「ノート2」は削除され、前のノートイベントである「ノート1」のノートオフタイミングtf1が「ノート2」のノートオフタイミングtf2まで延ばされ、「ノート1」の発音継続時間(ゲートタイム)は時間T1となる。そして、(c)に示すように、「ノート2」が存在した位置(to2〜tf2)に、「ノート1」の音高が「ノート2」の音高になるようなピッチベンド量、すなわち「ノート1」と「ノート2」との音高差に相当するピッチベンド量を有するピッチベンドイベントデータが挿入される。
このようにして、変換前は「ノート1」の発音を終了し、所定時間(tf1〜to2)無音状態を継続した後に、「ノート2」の発音を開始するという構造であったノートイベントデータが、「ノート1」の音高の楽音を発音している状態から急に「ノート2」の音高に変化する構造のノートイベントデータに変換されるので、奏法ハンマリングオン/プリングオフを適切にシミュレートすることができる。
図24は、前記ステップS153のチョーキング処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、前記ステップS161と同様にして、対象となる2つのノートのうち、後ろのノートを削除し、該後ろのノートのノートオフタイミングに前のノートのノートオフタイミングを延ばす(ステップS171)。
次に、図示しない設定パラメータに従ってピッチベンドを挿入する(ステップS172)。ここで、設定パラメータとは、ディレイパラメータおよびレゾリューションパラメータをいう。ディレイパラメータとは、前記前のノートのノートオンタイミングからピッチベンドを開始するタイミングまでのディレイ時間を設定するパラメータであり、その設定値はクロック数で表され、ユーザが任意に設定できる。レゾリューションパラメータとは、ピッチベンドを開始してから終了するまで挿入されるピッチイベントデータの個数を示すパラメータであり、その設定値はピッチベンドのオンタイミングをクロック数で表し、ユーザが任意に設定できる。そして、ピッチベンド量は、たとえば前記ROM6にテーブルデータとして設定されるピッチベンドカーブ(図示せず)に従って決定され、このようにして決定されたピッチベンド量を用いて、ピッチベンドイベントデータは、前記前のノートのノートオンタイミングよりディレイパラメータで示されるディレイ時間後から前記後ろのノートのノートオンタイミングまで、値(前記ピッチベンド量)が該後ろのノートイベントのピッチまで前記ピッチベンドカーブに従って徐々に変化するとともに、前記レゾリューションパラメータで指定された間隔でベンド量が変化するように挿入される。なお、ピッチベンドカーブを複数種類用意しておき、任意に選択できるようにしてもよい。
次いで、ステップS173では、前記ステップS163と同様にして、設定パラメータに従ってベロシティを変更した後に、本チョーキング処理サブルーチンを終了する。
図25は、このチョーキング処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図であり、(a)は、変換前の対象となる2つのノートイベントの一例を示し、(b)は、(a)のノートイベントの変換後の状態を示し、(c)は、変換後に挿入されたピッチベンドイベントデータのピッチベンド量の推移を示している。なお、(a)および(b)は、それぞれ前記図23(a)および(b)と同様であるため、その説明を省略する。
(c)に示すように、「ノート1」のノートオンタイミング(時刻to1)よりディレイパラメータで示されるディレイ時間T2後、すなわち「ノート1」の発音途中のある時点(時刻to1+T2)から、徐々に、すなわちレゾリューションパラメータで示される時間間隔かつ前記ピッチベンドカーブで示されるベンド量の幅で、「ノート1」の音高が変更され、「ノート2」のノートオンタイミング(時刻to2)で、「ノート2」の音高となるようにピッチベンドが挿入される。
このようにして、変換前は「ノート1」の発音を終了し、所定時間(tf1〜to2)無音状態を継続した後に、「ノート2」の発音を開始するという構造であったイベントデータが、「ノート1」の音高の楽音を発音している状態から徐々に「ノート2」の音高に変化する構造のイベントデータに変換されるので、奏法チョーキングを適切にシミュレートすることができる。
また、ディレイ時間T2によりディレイチョーキングまでもシュミレートすることができる。なお、このディレイ時間T2は、ディレイパラメータにより絶対時間が設定されるものに限らず、ノート1のゲートタイムに対する割合や、ノート1のノートオンからノート2のノートオンまでの時間に対する割合で設定するようにしてもよい。
図26は、前記ステップS148のグリッサンド処理サブルーチンの詳細な手順を示すフローチャートである。
同図において、まず、前記ステップS161と同様にして、対象となる2つのノートのうち、後ろのノートを削除し、該後ろのノートのノートオフタイミングに前のノートのノートオフタイミングを延ばす(ステップS181)。
次に、図示しない設定パラメータに従ってピッチベンドを挿入する(ステップS182)。ここで、設定パラメータとは、ディレイパラメータを云い、このディレイパラメータは、前記図24で説明したディレイパラメータと同様に、前記前のノートのノートオンタイミングからピッチベンドを開始するタイミングまでのディレイ時間を設定するパラメータである。このステップS182の処理が前記ステップS172の処理に対して異なる点は、変更するピッチベンド量が半音単位で変化するのみであるので、その説明を省略する。
次いで、前記ステップS163と同様にして、設定パラメータに従ってベロシティを変更した(ステップS183)後に、本グリッサンド処理サブルーチンを終了する。
図27は、このグリッサンド処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図であり、図25に対して、ピッチベンド量の推移が、(c)に示すように、半音単位で変更されている点が異なるのみであるので、その説明を省略する。
このようにして、変換前は「ノート1」の発音を終了し、所定時間(tf1〜to2)無音状態を継続した後に、「ノート2」の発音を開始するという構造のイベントデータが、「ノート1」の音高を発音している状態から半音単位で「ノート2」の音高に変化する構造のイベントデータに変換されるので、奏法グリッサンドを適切にシミュレートすることができる。
以上説明したように、ポルタメント変換処理では、「グリッサンド処理」、「ハンマリングオン/プリングオフ処理」、「チョーキング処理」の3種類の変換処理から、対象となる2つのノートの音程に応じて1つの処理が選択され、この処理に従って当該2つのノートのノートイベントの構造が変更される。
なお、本実施の形態では、ポルタメント変換処理が呼び出され、上記条件を満足する場合には、必ず上記3種類の変換処理から1つの変換処理が選択されて実行されるが、このように、該1つの変換処理をポルタメント変換処理毎に毎回実行せずに、所定回数毎に1回実行するようにしてもよい。さらに、この所定回数は、ランダムに変更するようにしてもよい。
図28は、前記図13のステップS94の効果音挿入処理サブルーチンの詳細な手順を示すフローチャートである。
図28において、まず、ステップS141と同様にして、効果音挿入の設定はオンであるか否かを判別する(ステップS191)。この判別は、効果音(本実施の形態では、フレットノイズ)を挿入するか否か(オン/オフ)をユーザが自由に設定できる効果音パラメータ(図示せず)の値をチェックすることにより行う。
ステップS191で、効果音挿入の設定がオンのときには、対象フレーズは単音フレーズであるか否かを判別する(ステップS192)。
ステップS192で、対象フレーズが単音フレーズのときにはステップS193に進む一方、対象フレーズが単音フレーズでないとき、すなわち和音フレーズのとき、または、ステップS191で、効果音挿入の設定がオフのときには、直ちに本効果音挿入処理サブルーチンを終了する。
ステップS193では、前記ステップS143と同様にして、全チャンネル、すなわちチャンネル10〜15のノートデータ、すなわちノートオン/オフイベントデータを見て、時間的に隣接する2つのノートを決定し、ステップS194では、前記ステップS145と同様にして、該2つのノートの音程は効果音を挿入すべき指定値(以下、「効果音挿入指定値」という)以上か否かを判別する(ステップS194)。なお、この効果音挿入指定値も、ユーザが任意に設定することができる。
ステップS194で、該2つのノートの音程が効果音挿入指定値以上であるときには、フレットノイズを発音するノートイベントを所定チャンネル(本実施の形態では、チャンネル9)に挿入する(ステップS195)。具体的には、フレットノイズのノートイベントは、そのノートナンバは上記2つのノートイベントのうち前のノートと同じノートナンバで、そのベロシティは所定値を採り、そのノートオンタイミングは前のノートのノートオフタイミングであり、そのノートオフタイミングは後ろのノートのノートオンタイミングであるように決定される。
一方、ステップS194で、前記2つのノートの音程が前記効果音挿入指定値未満のときには、ステップS195をスキップしてステップS196に進む。
ステップS196では、対象フレーズのすべてのノートに対して上記処理を終了したか否かを判別し、まだ処理すべきノートが残っているときには、前記ステップS193に戻って前記処理を繰り返す一方、すべてのノートに対して処理を終了したときには、本効果音挿入処理サブルーチンを終了する。
図29は、この効果音挿入処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図であり、(a)は、変換前の対象となる2つのノートイベントの一例を示し、(b)は、(a)のノートイベントの変換後の状態を示している。
(b)中、「FXノート」は、挿入されたフレットノイズのノートイベントを示し、前述のように、「FXノート」は、「ノート1」と同じノートナンバを有し、そのノートオンタイミングは、「ノート1」のノートオフタイミング(時刻tf1)となり、そのノートオフタイミングは、「ノート2」のノートオンタイミング(時刻to2)となっている。
このようにして、隣接する2音において、前の音と次の音の間でフレットノイズを発音するように構成したので、自然な位置(時間)でフレットノイズを発生させることができる。
なお、上述したポルタメント変換処理と効果音挿入処理は、1つのフレーズ内における2つのノートの間にピッチベンドや効果音を挿入するようにしたが、連続する2つのフレーズのうちの、前フレーズの最終ノートと、次フレーズの先頭ノートの間に挿入するようにしてもよい。
図30は、前記図13のステップS95のアルペジオ強調処理サブルーチンの詳細な手順を示すフローチャートである。
図30において、まず、前記ステップS141と同様にして、アルペジオ強調の設定はオンであるか否かを判別する(ステップS201)。この判別も、アルペジオ強調を行うか否か(オン/オフ)をユーザが自由に設定できるアルペジオ強調パラメータ(図示せず)の値をチェックすることにより行う。
ステップS201で、アルペジオ強調の設定がオンであるときには、対象フレーズが単音フレーズであるか否かを判別する(ステップS202)。
ステップS202で、対象フレーズが単音フレーズのときには、図示しない設定パラメータに従って、対象フレーズ内の指定された弦に対応するチャンネルの全ノートのゲートタイムおよびベロシティを変更した(ステップS203)後に、本アルペジオ強調処理サブルーチンを終了する。ここで、設定パラメータとは、ベースノートとして取り扱う弦を、その対応するチャンネル番号で決定するためのストリングパラメータ、ゲートタイムを変更するレシオを決定するためのゲートタイムレシオパラメータ、前記ベースノートのベロシティを変更するレシオを決定するためのベロシティレシオパラメータの3種類のパラメータをいう。これらすべてのパラメータの値は、ユーザが任意に設定できる。
一方、ステップS201の判別で、アルペジオ強調の設定がオフのとき、または、ステップS202の判別で、対象フレーズが単音フレーズでないときには、直ちに本アルペジオ強調処理サブルーチンを終了する。
このようにして、親指で演奏するノートについては、音を強く、そして長く演奏することにより、ギターのアルペジオ奏法をより効果的にシミュレートすることができる。なお、本アルペジオ強調サブルーチンは、アルペジオ奏法をシミュレートする目的のみの使用に限らず、指弾きのバッキング、たとえばボサノバのバッキングやジャズのハーモナイズソロ等のシミュレートに使用すれば、コードのベースラインの動きが強調されて、さらに効果的な表現を演奏データに付与することができる。
図31は、前記図13のステップS96のベロシティランダマイズ処理サブルーチンの詳細な手順を示すフローチャートである。
図31において、まず、前記ステップS141と同様にして、ベロシティランダマイズの設定はオンであるか否かを判別する(ステップS211)。この判別も、ベロシティランダマイズを行うか否か(オン/オフ)をユーザが自由に設定できるベロシティランダマイズパラメータ(図示せず)の値をチェックすることにより行う。
ステップS211で、ベロシティランダマイズの設定がオフのときには、直ちに本ベロシティランダマイズ処理サブルーチンを終了する一方、ベロシティランダマイズの設定がオンのときにはステップS212に進む。
ステップS212では、図示しない設定パラメータに従って、対象フレーズ内の全ノートのベロシティをランダムに変更した後に、本ベロシティランダマイズ処理サブルーチンを終了する。ここで、設定パラメータとは、元のベロシティを変更するレシオの範囲を設定するためのベロシティレシオレンジパラメータをいい、このパラメータ値も、ユーザが任意に設定できる。そして、このようにして設定された範囲内のレンジ値がランダムに選択され、この選択されたレンジ値が、対象フレーズ内のすべてのノートのベロシティに乗算される。
このようにして、対象フレーズ内の各ノート間のフラットなベロシティがランダムに変更されるので、演奏データに、より音楽的な味付けをすることができる。
なお、本実施の形態では、各種パラメータは、前記ステップS1およびS91のパラメータ設定処理において、ユーザが1つずつ設定するようにしたが、これに限らず、図32に示すように、演奏データに最適な(標準的な)パラメータ群を予め設定し、当該演奏データファイル(ソングファイル)に対応させて、パラメータファイルとして、たとえば前記HDD11のハードディスク等に記憶し、ユーザがある1つのソングファイルを選択したときには、そのソングファイルに対応するパラメータファイルを自動的に前記パラメータ格納領域にロードするようにしてもよい。これにより、ユーザは演奏データ毎に各パラメータを設定する必要がなくなり、目的の演奏データに標準的なパラメータのみを選択するユーザにとっては、パラメータ設定を行う手間が省け、操作性が向上する。
さらに、曲の進行に従って使用するパラメータを変更したいユーザには、図33に示すように、ソングファイルに対応してパラメータシーケンスファイルを予め記憶し、ユーザがある1つのソングファイルを選択したときに、該ソングファイルに対応するパラメータシーケンスファイルおよびこのパラメータシーケンスファイルで使用しているパラメータファイルもソングファイルとともに前記所定領域にロードするようにすればよい。これにより、曲中のある部分を指定して、その位置に、たとえば「チョーキング」をかける等のより細かな設定を行うことができ、熟練者にとっても、満足できるパラメータ設定ができ、操作性をより向上させることができる。
また、パラメータファイルは、図34に示すように、弦楽器の種類に応じて、個別に用意するようにしてもよい。たとえば、弦楽器がエレキギターの場合にはチョーキングを多用する反面、アコースティックギターの場合にはフレットノイズが出やすいというように、弦楽器の種類に応じて効果音が変わるため、表情付けパラメータも変更する必要があるからである。これにより、選択した楽器の種類に応じて最適なパラメータを設定することができる。
図35は、前記図32または33で説明したように、ソングファイルに対応してパラメータファイルまたはパラメータシーケンスファイルが記憶されている場合に、前記演奏データ記憶領域にソングファイルをロードするソングファイルロード処理サブルーチンの手順を示すフローチャートである。図35中、かっこ内は、ソングファイルに対応してパラメータシーケンスファイルが記憶されている場合のソングファイルロード処理を示している。このように、ソングファイルに対応してパラメータファイルが記憶されている場合とパラメータシーケンスファイルが記憶されている場合の両方の処理手順を1つのフローチャートで示したのは、両処理手順に共通する処理が多いからである。したがって、以下、ソングファイルに対応してパラメータファイルが記憶されている場合についてのみ、ソングファイルロード処理手順を説明する。
図35において、まず、ユーザの指示に応じてソングファイルが選択され(ステップS221)、該選択されたファイルが前記演奏データ格納領域にロードされる(ステップS222)。
次に、該ソングファイルと同一ファイル名のパラメータファイルがあるか否かを判別し(ステップS223)、同一ファイル名のパラメータファイルがあるときには、該パラメータファイルを前記パラメータ格納領域にロードした(ステップS224)後に、本ソングファイルロード処理サブルーチンを終了する。ここで、ソングファイルに対応するパラメータファイルは、図32に示すように、そのファイル名は同一であり、そのセカンダリネーム、すなわちコンマ以下の名称("PRM")を異ならせることにより、ソングファイルであるのか、またはパラメータファイルであるのかを区別している。したがって、ソングファイルに対応して記憶したパラメータファイルを検索するためには、ステップS223の判別のように、対象ソングファイルと同一ファイル名のパラメータファイルを検索するようにすればよい。これは、パラメータシーケンスファイルを検索する場合でも同様である。
一方、ステップS223で、対象ソングファイルと同一ファイル名のパラメータファイルがないときには、ユーザが指示したパラメータファイルを選択し(ステップS225)、該選択されたパラメータファイルを前記パラメータ格納領域にロードした(ステップS226)後に、本ソングファイルロード処理を終了する。
このようにして、ユーザが所望のソングファイルを指定すると、該ソングファイルに対応するパラメータファイル(またはパラメータシーケンスファイル)が自動的にロードされる。したがって、ユーザはパラメータを1つずつ設定する手間を省くことができ、これにより、操作性がさらに向上する。
また、演奏データと楽器とを対応させ、ユーザが演奏データを選択すると、自動的に対応する楽器が選択されるようにしてもよい。そして、この楽器の選択により、たとえば、前記表示装置9にその楽器の絵を表示させ、タブ譜形式データに基づいてユーザの指使いを表示したり、さらに、その楽器の音色を音源回路15に自動的に設定する等を行うようにしてもよい。
なお、本実施の形態では、弦楽器としてギターを例に挙げて説明したが、これに限らず、ベース等の他の弦楽器特有の表情付けを行う演奏データを生成するようにしてもよい。また、表情付けパラメータの種類も、本実施の形態で説明したものに限らないことは云うまでもない。
なお、本実施の形態では、本発明を演奏データ変換装置の形態で構成したが、これに限らず、パーソナルコンピュータとアプリケーションプログラムの形態で構成することもできる。このアプリケーションプログラムは、磁気ディスク、光ディスク、半導体メモリ等の記憶媒体に記憶させ、パーソナルコンピュータに供給するようにしてもよいし、ネットワークを介して供給するようにしてもよい。
また、本実施の形態では、図1に示すように、本発明を音源装置(音源回路12、効果回路13およびサウンドシステム14)および自動演奏装置(CPU5)を内蔵した演奏データ変換装置で実現したが、これに限らず、それぞれ別体の装置で構成し、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続して本発明を実現するようにしてもよい。
さらに、本実施の形態では、本発明を鍵盤1を備えた電子楽器に適用した例を説明したが、これに限らず、カラオケ装置が再生する伴奏データ等を作成する機器等に適用することもできる。
本発明の実施の一形態に係る演奏データ変換装置の概略構成を示すブロック図である。 演奏データのデータフォーマットの一例を示す図である。 図1の演奏データ変換装置で用いられるパラメータの一例を示す図である。 タブ譜変換処理サブルーチンの手順を示すフローチャートである。 図4のフレーズサーチ処理サブルーチンの詳細な手順を示すフローチャートである。 図5のノートオン処理サブルーチンの詳細な手順を示すフローチャートである。 図5のノートオフ処理サブルーチンの詳細な手順を示すフローチャートである。 図4のポジション決定、振り分け処理サブルーチンの詳細な手順を示すフローチャートである。 図8の単音フレーズ処理サブルーチンの詳細な手順を示すフローチャートである。 図8の和音フレーズ処理サブルーチンの詳細な手順を示すフローチャートである。 図9および10のノート振り分け処理サブルーチンの詳細な手順を示すフローチャートである。 フレットボードの一例を示す図であり、候補ポジションの選択方法を説明するための図である。 表情付け変換処理サブルーチンの手順を示すフローチャートである。 図13のコードクオンタイズ処理サブルーチンの詳細な手順を示すフローチャートである。 図14のタイミングシフト処理サブルーチンの詳細な手順を示すフローチャートである。 図14のベロシティシフト処理サブルーチンの詳細な手順を示すフローチャートである。 図14のミュートカッティング処理サブルーチンの詳細な手順を示すフローチャートである。 図15のタイミングシフト処理サブルーチンによりタイミングシフトされる前および後のコードのノートオンタイミングを示す図である。 図15および16中のアップ/ダウン判定の方法を説明するための図である。 ベロシティスロープの一例を示す図である。 図13のポルタメント変換処理サブルーチンの詳細な手順を示すフローチャートである。 図21のハンマリングオン/プリングオフ処理サブルーチンの詳細な手順を示すフローチャートを示す図である。 図22のハンマリングオン/プリングオフ処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図である。 図21のチョーキング処理サブルーチンの詳細な手順を示すフローチャートである。 図24のチョーキング処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図である。 図21のグリッサンド処理サブルーチンの詳細な手順を示すフローチャートである。 図26のグリッサンド処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図である。 図13の効果音挿入処理サブルーチンの詳細な手順を示すフローチャートである。 図28の効果音挿入処理サブルーチンにより表情付け変換を行う前および後のノートイベントの構造を示す図である。 図13のアルペジオ強調処理サブルーチンの詳細な手順を示すフローチャートである。 図13のベロシティランダマイズ処理サブルーチンの詳細な手順を示すフローチャートである。 パラメータファイルをソングファイルに対応付けるようにした場合の一例を示す図である。 パラメータシーケンスファイルをソングファイルに対応付けるようにした場合の一例を示す図である。 楽器の種類に応じてパラメータファイルを用意した場合のパラメータファイルの一例を示す図である。 ソングファイルに対応するパラメータファイルまたはパラメータシーケンスファイルがある場合に、ソングファイルをロードするソングファイルロード処理サブルーチンの手順を示すフローチャートである。
符号の説明
5 CPU
6 ROM
7 RAM
11 ハードディスクドライブ
13 MIDIインターフェース

Claims (9)

  1. 入力された演奏データのうち隣接する個のかつ音高が異なるノートを1つのノートにまとめて新たな演奏データとし、該新演奏データの音高を当該個のノートのうちののノートの音高にするとともに、その発音継続時間を当該個のノートのうちの前のノートの発音開始タイミングから後のノートの発音終了タイミングまでにする複数ノートまとめ手段と、
    該新演奏データの音高が当該個のノートのうちの前のノートの音高から後のノートの音高まで変化するように、前記演奏データの所定の位置にピッチベンドデータを挿入することにより演奏データを変換する演奏データ変換手段と
    を有することを特徴とする演奏データ変換装置。
  2. 前記演奏データ変換手段は、前記新演奏データの元の個のノートの音程と所定音程との大小関係に応じてピッチの変化態様の異なるピッチベンドデータを挿入することを特徴とする請求項1記載の演奏データ変換装置。
  3. 前記演奏データ変換手段は、前記新演奏データに付随するピッチベンドデータのうち最初のピッチベンドデータによるピッチベンド開始タイミングが、当該新演奏データの発音開始タイミングから所定ディレイ時間経過後となるような位置に、該最初のピッチベンドデータを挿入することを特徴とする請求項1または2のいずれかに記載の演奏データ変換装置。
  4. 前記変換された演奏データのうち隣接する2個のかつ音程が異なるノートをサーチする隣接ノートサーチ手段をさらに有し、
    前記演奏データ変換手段は、前記サーチされたノートの音程に応じて、所定の効果音を発生させる効果音データを、前記演奏データの所定の位置に挿入することにより、演奏データをさらに変換することを特徴とする請求項1乃至3のいずれかに記載の演奏データ変換装置。
  5. 前記所定の位置は、前記サーチされた2個のノートの各発音開始タイミングの間であることを特徴とする請求項4記載の演奏データ変換装置。
  6. 入力された演奏データをフレーズに分割するフレーズ分割手段をさらに有し
    前記複数ノートまとめ手段は、前記分割されたフレーズ単位で1つのノートにまとめて新たな演奏データとすることを特徴とする請求項1乃至5のいずれかに記載の演奏データ変換装置。
  7. 前記演奏データ変換手段が前記入力された演奏データを変換するときの基礎となる各種の表情付けパラメータを当該演奏データに対応させて記憶媒体に記憶する記憶手段を有し、
    前記演奏データ変換手段は、前記記憶手段から読み出した表情付けパラメータを用いて演奏データを変換することを特徴とする請求項1乃至6のいずれかに記載の演奏データ変換装置。
  8. 前記記憶手段は、前記各種の表情付けパラメータから成る複数個の表情付けパラメータ群をシーケンスデータとして記憶し、
    前記演奏データ変換手段は、前記入力された演奏データに基づいて当該演奏データの変換を行うときに、その変換の進行に従って前記パラメータ群を切り換え、該切り換え後のパラメータ群に含まれる表情付けパラメータに基づいて当該演奏データを変換することを特徴とする請求項7記載の演奏データ変換装置。
  9. 前記記憶手段は、演奏データに設定可能な音色に対応する楽器毎に最適な前記表情付けパラメータを前記記憶媒体に記憶し、
    前記演奏データ変換手段は、前記入力された演奏データに設定された楽器の種類に応じて前記記憶された表情付けパラメータをロードし、該ロード後の表情付けパラメータに基づいて当該演奏データを変換することを特徴とする請求項8記載の演奏データ変換装置。
JP2005165982A 2005-06-06 2005-06-06 演奏データ変換装置 Expired - Fee Related JP4120662B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005165982A JP4120662B2 (ja) 2005-06-06 2005-06-06 演奏データ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005165982A JP4120662B2 (ja) 2005-06-06 2005-06-06 演奏データ変換装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP27692896A Division JP3704842B2 (ja) 1996-09-30 1996-09-30 演奏データ変換装置

Publications (2)

Publication Number Publication Date
JP2005316505A JP2005316505A (ja) 2005-11-10
JP4120662B2 true JP4120662B2 (ja) 2008-07-16

Family

ID=35443896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005165982A Expired - Fee Related JP4120662B2 (ja) 2005-06-06 2005-06-06 演奏データ変換装置

Country Status (1)

Country Link
JP (1) JP4120662B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5995343B2 (ja) * 2011-03-11 2016-09-21 ローランド株式会社 電子楽器

Also Published As

Publication number Publication date
JP2005316505A (ja) 2005-11-10

Similar Documents

Publication Publication Date Title
JP3675287B2 (ja) 演奏データ作成装置
US9333418B2 (en) Music instruction system
US7288711B2 (en) Chord presenting apparatus and storage device storing a chord presenting computer program
US8314320B2 (en) Automatic accompanying apparatus and computer readable storing medium
JP2004264501A (ja) 鍵盤楽器
JP3900188B2 (ja) 演奏データ作成装置
JP3266149B2 (ja) 演奏ガイド装置
JP4626551B2 (ja) 楽器のペダル操作表示装置
JP3704842B2 (ja) 演奏データ変換装置
JPH10214083A (ja) 楽音生成方法および記憶媒体
JP3266007B2 (ja) 演奏データ変換装置
JP4120662B2 (ja) 演奏データ変換装置
JP2003288077A (ja) 曲データ出力装置及びプログラム
JP3623557B2 (ja) 自動作曲システムおよび自動作曲方法
JP3900187B2 (ja) 演奏データ作成装置
JP3705144B2 (ja) 演奏データ変更処理装置
JP3613062B2 (ja) 楽音データ作成方法および記憶媒体
JP2007163710A (ja) 演奏支援装置及びプログラム
JP2002304175A (ja) 波形生成方法、演奏データ処理方法および波形選択装置
JP7263998B2 (ja) 電子楽器、制御方法およびプログラム
JP3807333B2 (ja) メロディ検索装置およびメロディ検索プログラム
JP3870948B2 (ja) 表情付け処理装置および表情付け用コンピュータプログラム
JP2023133602A (ja) プログラム、方法、情報処理装置、および画像表示システム
JP3800947B2 (ja) 演奏データ処理装置及び方法並びに記憶媒体
JP3861886B2 (ja) 楽音波形データ作成方法および記憶媒体

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080414

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

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130509

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140509

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees