JP3635361B2 - 電子楽器の音素材処理装置 - Google Patents
電子楽器の音素材処理装置 Download PDFInfo
- Publication number
- JP3635361B2 JP3635361B2 JP18948096A JP18948096A JP3635361B2 JP 3635361 B2 JP3635361 B2 JP 3635361B2 JP 18948096 A JP18948096 A JP 18948096A JP 18948096 A JP18948096 A JP 18948096A JP 3635361 B2 JP3635361 B2 JP 3635361B2
- Authority
- JP
- Japan
- Prior art keywords
- child
- wave
- waveform
- divided
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は例えば演奏者が行った生演奏などの音素材を一音一音に分割する電子楽器の音素材処理装置に関するものである。
【0002】
【従来の技術】
生演奏の例えばリズム楽器音や音声、種々の効果音などの音素材を予め録音しておいて、これを他の演奏音と同期させて演奏する手法がある。例えば特開平7−244480号公報には、演奏者が生演奏した一連の演奏音をPCM録音し、更にその録音した演奏データを時間軸上で例えば等容量毎に複数のデータに分割してブロック化するとともに各ブロック化された演奏データにキーナンバー(ノート番号)を割り当てておき、他の演奏音の演奏タイミングに合わせて人がキーボード等により押鍵してそのキーナンバーに対応したブロックの演奏データを読み出し演奏させることで、他の演奏音との同期多重録音を容易に行えるようにした電子楽器の演奏データ処理方法について記載されている。
【0003】
【発明が解決しようとする課題】
しかし、上述の処理方法では、演奏データを分割してブロック化する際に、等容量毎に複数に分割するものであるので、分割されたブロックが演奏のビートの細かさと対応しなくなるおそれがある。次表はこれを説明するもので、16ビートと4ビートの1小節分の演奏を等容量毎に分割した際の分割の態様を示すものである。
【0004】
【0005】
例えば、図10(a)は16ビートの演奏データを4ブロックに分割したもので1つのブロックには4つの演奏音が入っている。この4ブロックに分割した16ビートの演奏データを演奏速度が半分の他の演奏音と同期させた場合には、図10(b)に示すように、他の演奏音のタイミングに合わせて押鍵する毎に対応するキーナンバーのブロックの4つの演奏音が元の演奏データと同じテンポで演奏されるが、その後は次の押鍵があるまで空白期間となるため、不自然な演奏音になる。
【0006】
なお、この16ビートの演奏データを16ブロックに分割した場合には1つのブロックに1つの演奏音が入るため、他の演奏音のタイミングに合わせて押鍵する毎に1つの演奏音が演奏されることになるので、問題はない。
【0007】
また、図10(c)は4ビートの演奏データを4ブロックに分割したもので、1つのブロックには1つの演奏音が入っている。この場合には問題ない。しかし、図10(d)に示されるように、この4ビートの演奏データを16ブロックに分割した場合には、1つのブロックに1つの演奏音波形の1/4部分が入ることになるので、これを再生すると不自然な演奏音となる。
【0008】
この対策として、ブロックに分割する際に分割するブロック数を選択できるように構成することも考えられるが、この方法でも、演奏の一部のみが細かなビートで演奏されている場合などには対応できない。
【0009】
したがって、本発明は、生演奏などから得た音素材を、演奏のビートの細かさにも対応して音単位に的確に分割しブロック化できるようにすることを目的とする。
また、分割結果の個々のデータを即座に自動演奏できるようにすることも目的とする。
【00 10】
【課題を解決するための手段】
上述の課題を解決するために、本発明に係る電子楽器の音素材処理装置は、一連の演奏音をサンプリングした親波形を記憶する第1の記憶手段と、該第1の記憶手段に記憶された親波形を第1の閾値を用いて該波形の立上りを検出し、該立上がりを分割点として複数の子波形に分割する分割手段と、該分割手段によって分割された複数の子波形各々を示すブロック情報を記憶する第2の記憶手段を備える。このように閾値を用いることで、音素材を演奏のビートの細かさに対応して的確に分割、ブロック化することが容易にできる。
【0011】
上述の分割手段は、分割済の子波形の内、少なくとも1つに対して再度分割処理が指示されたときに、該子波形について、該子波形を分割するに用いた前記第1の閾値と異なる第2の閾値を用いて該子波形をさらに分割すると共に、該子波形に換えて再度分割された新たな子波形各々を示すように、該第2の記憶手段に記憶されたブロック情報を更新する手段を含むように構成してもよい。
【0014】
また本発明に係る電子楽器の音素材処理装置は、該第2の記憶手段に記憶されたブロック情報により示される各々の子波形が、前記分割前の親波形においてそれぞれ対応する順番で順次連続して付される波形番号情報と、各々の子波形の長さに対応したタイミング情報からなるシーケンスデータを作成するシーケンスデータ作成手段を更に備える。このシーケンスデータに基づいて、分割した個々の子波形を即座に自動演奏することができ、元の親波形を再生することもできる。
【0016】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図2は本発明の一実施例としての電子楽器を示すブロック図であり、この電子楽器は演奏データを分割し、テンポ情報に同期させるための機能を備えている。この電子楽器システムは、演奏データ分割処理と全体の制御を行う中央処理装置(CPU)1、装置全体の制御のためのプログラム等が格納されたリード・オンリー・メモリ(ROM)2、演奏データが格納されたりCPUのワーキングエリアとして使用されるランダム・アクセス・メモリ(RAM)3、制御パラメータを確認しながら操作を行う表示部4と操作子部5、演奏データの入力を行うA/D変換部6、演奏データの出力を行うD/A変換部7、出力される演奏データの音色等を制御する音色制御部8、演奏データやMIDIクロックデータの入出力を行うMIDI入出力端子9を含み構成される。
【0017】
図3にはこの電子楽器の操作を行う操作パネルの例が示される。この操作パネルは制御パラメータ等を表示する表示部4とパラメータの設定等の各種操作を行う操作子部5からなる。操作子部5は51〜55の各種操作子からなる。ここで、51は表示部4に表示されたパラメータの値を変化させて設定するためのダイヤル式のロータリ・エンコーダであり、このロータリ・エンコーダ51で設定されるパラメータは、閾値(スレッショルドレベル)、開始ポイント、終了ポイント、ピッチ、レベルがある。52はYES/NOの指示を選択するスイッチ、53は演奏データの分割処理を指示するための解析(アナライズ)スイッチ、54は表示部4に表示されるパラメータを選択するためのパラメータ選択スイッチ、551 〜554 は分割した演奏データを発音させ確認するための再生用スイッチである。なお、図示の例ではこの再生用スイッチは4つのみを示しているが、実際は分割する子ウェーブの数分だけ用意する。
【0018】
ここで本明細書では、分割する前の一連の演奏データを親ウェーブ、分割された個々の演奏データを子ウェーブと呼ぶことにする。再生用スイッチ551 〜554 は、後述するように、分割された複数の子ウェーブにそれぞれ対応付けられており、この再生用スイッチ551 〜554 の何れかを押すことでそれに対応する分割された子ウェーブが再生される。また、分割処理の対象となる親ウェーブが複数ある場合にそれらの親ウェーブにもそれぞれ対応付けられており、解析スイッチ53を押しながら再生用スイッチ551 〜554 のどれかを押した場合には、その押した再生用スイッチに対応した親ウェーブについて演奏データ再構築モードに入るようになっている。
【0019】
この実施例の電子楽器の動作を説明する。まず、原理的な動作について図1を参照して説明する。
【0020】
図1は、ある演奏データを分割した場合の例を示すもので、図1(a)は元の親ウェーブの波形を示し、図1(b)は分割処理の態様を示すものである。図中の波形を形成している各棒線は演奏音波形をサンプリングした各サンプル値を表す。図1(b)に示すように、親ウェーブに対し、第1回目の閾値TH1を設定し親ウェーブがこの閾値TH1を超えてから一旦閾値TH1以下に減少し再び超えるまでの部分を1つのブロックとして分割を行うと、7つの子ウェーブに分割される。
【0021】
この場合、1、2、3、4、6、7番目の子ウェーブについては、1つのブロック内における演奏音のピーク値は1つであるからそれぞれ1つの演奏音を含む子ウェーブといえる。しかし、5番目の子ウェーブについては、1つのブロック内に2つのピーク値があるから、この子ウェーブは2つの演奏音を含んでいるものである。よって、5番目の子ウェーブはさらに分割する必要があるので、5番目の子ウェーブを指定し、再度、閾値TH1よりも大きな適当な閾値TH2を設定して2回目の分割にリトライする。図1(b)の例では、この2回目の分割により、第1回目の5番目の子ウェーブがさらに2つに分割され、その結果、2回の分割実行で8つの子ウェーブに分割された状態が示されている。
【0022】
なお、ノイズ的なピーク値に対してもブロック化されてしまわないように、1ブロックの最小時間(例えば100ms)をあらかじめ決めておいて、それより短いブロックが作成されそうな場合は、その後のブロックに自動的に組み込まれるようにしてもよい。
【0023】
上述の原理的な動作を行うための処理を以下に説明する。
図4は演奏データ再構築ルーチンのフローチャートであり、この演奏データ再構築ルーチンは、図示しないメインルーチン中のパネル処理ルーチン(パネル上のスイッチなどをスキャンして状態を調べるルーチン)において、解析スイッチ53を押しながら再生用スイッチ551 〜554 のどれかを押したのを検出したことを契機として読み出されて、その押した再生用スイッチに対応した親ウェーブについて演奏データ再構築処理を行う。
【0024】
演奏データ再構築モードに入ると、該当する親ウェーブが既に分割済であるか調べ(ステップS2)、既に分割済である場合は、所定のスイッチを押すことによって、既に分割されている演奏データを再生するプレイモードか、さらに分割し直す解析モード(アナライズモード)かを選択する(ステップS3)。プレイモードの場合にはこの演奏データ再構築ルーチンを終了する(ステップS10)。ステップS2で親ウェーブがまだ分割済でないと判定された場合は解析モードになる。
【0025】
解析モードにおいては、該当する親ウェーブを形成しているサンプル値のうちの最大値と最小値を検索し(ステップS4)、検索された最大値から最小値を引いた値を128分割したものを分解能の単位とし、この分解能で操作子を用いて閾値(センス値)の設定を行う(ステップS5)。この設定は操作者が表示部4に表示された閾値を見ながら手動で調整してもよいし、1回目、2回目の分割処理に対しあらかじめ定められた値を制御プログラムが自動的に設定するものであってもよい。なお、閾値の設定にあたっては、親ウェープの絶対値の波形をディレイに表示してユーザが閾値を設定しやすいようにする。
【0026】
閾値の設定が終わると、表示部4に分割を行うか否かの問い合わせ表示がされるので、分割を行う場合はYESスイッチ52を押し、分割しない場合はNOスイッチ52を押す(ステップS6)。YESスイッチ52を押すと分割処理が実行され(ステップS7)、NOスイッチ52を押すとこの演奏データ再構築ルーチンを終了する(ステップS10)。この分割処理(ステップS7)の詳細は図5に示すフローチャートを参照して後述する。
【0027】
分割が終了すると、分割された演奏データと、その発音タイミングに基づき、シーケンスデータが作成される(ステップS8)。このシーケンスデータの作成方法については後述する。
【0028】
分割処理が終了すると、表示部4に分割処理を再実行するかの問い合わせ表示がされる(ステップS9)。このとき、再生用スイッチ551 〜554 には今行った分割処理で分割された個々の演奏データ(子ウェーブ)を演奏するシーケンスデータが割り当てられており、この再生用スイッチ551 〜554 を操作することによって分割された個々の演奏データをそれぞれ再生して確認することができる。この再生確認によって、親ウェーブの分割が正しく行われたか否かを耳で聴いて判断できるので、正しくできている場合には再実行“NO”をNOスイッチ52で指示する。正しくできていない場合には再実行“YES”をYESスイッチ52で指示する。この際、表示部4の表示を見ながら操作子部5を操作することによって、親ウェーブの分割を閾値を設定し直してもう一度最初から全部やり直すか(ALL選択)、あるいは分割が正常にできなかった一部の子ウェーブについてだけ更に閾値を再設定して分割処理をするか、を選択することができる。
【0029】
再実行“YES”の指示がされたときはステップS5〜S8を繰り返す。一部の子ウェーブについてだけ更に閾値を設定して分割処理をする場合は、これが2回目以降の分割処理となる。このような分割処理を繰り返すことによって、最終的に、全ての子ウェーブが1つの演奏音だけからなるように、親ウェーブを分割することができる。
【0030】
次に図5のフローチャートを参照して演奏データの分割処理について説明する。分割の対象となる親ウェーブの演奏データの先頭にポインタPTRを設定する(ステップS702)。このポインタPTRは以降、逐次に1つずつインクリメントされてウェーブの処理位置をサンプリング数の単位で示す。なお、このポインタPTRの設定では、図4のフローチャートの再実行ステップ9において再実行が指示された場合、その際にALL(親ウェーブの分割処理のやり直し)が選択されていれば親ウェーブの先頭が、また任意の子ウェーブが選択されていればその子ウェーブの先頭が設定される。
【0031】
次いで、先頭の子ウェーブ用パラメータに開始ポイント(子ウェーブのブロックの先頭位置)を設定する。すなわち子ウェーブの開始ポイントを記憶しておくパラメータバッファに開始ポイントを書き込む(ステップS703)。この場合も、再実行ステップS9においてALLが選択されているときは先頭の子ウェーブのパラメータバッファに親ウェーブの先頭を開始ポイントとして設定し、任意の子ウェーブが選択されている場合にはその子ウェーブのパラメータバッファに書き込まれている開始ポイントをそのまま用いる。
【0032】
なお、この子ウェーブのパラメータバッファには後述する終了ポイント(子ウェーブのブロックの最後尾位置)も書き込まれる。
【0033】
次いで、フラグFLAGをオフにする(ステップS704)。このフラグFLAGは、次の子ウェーブの先頭を認識するためのもので、子ウェーブのサンプル値が閾値よりも小さくなったこと(サンプル値<閾値)でオンされ、次にそのオン状態で閾値よりも大きいサンプル値(サンプル値≧閾値)を検出したら、それが次の子ウェーブの先頭であることを示す。
【0034】
なお、上記ではサンプル値が閾値より小さいとフラグを反転とすると説明したが、より具体的には、ゼロクロス点付近で頻繁にフラグが反転してしまうことを防ぐために、所定回数サンプル値が閾値より小さいことを確認してから初めてフラグをオンにする。あるいは、他の実施例として、例えば10ms毎の絶対値の最大値を順次に閾値と比較する。図1、図10の各振幅はこの時間毎の絶対値の最大値を表示したものであって、この最大値に基づいて分割点を決定する。
【0035】
以降、ポインタPTRから演奏データの振幅レベル(サンプル値)を1サンプル毎に検索していき、サンプル値>閾値か否かを判定する(ステップS705)。サンプル値が閾値よりも大きい場合、すなわち演奏音が検出された場合には(ステップS705)、さらにフラグFLAGがオンか否かを判定し(ステップS706)、フラグFLAGがオフの場合は、ポインタを1つ更新して(ステップS707)、次のサンプル値と比較する(ステップS705)。
【0036】
サンプル値が閾値よりも小さくなった場合、すなわち検出された演奏音が終了したと判定された場合は、ポインタPTRを1つ更新するとともにフラグFLAGをオンして(ステップS708)、次のサンプル値との比較を行う(ステップS705)。
【0037】
上記のステップS706でフラグFLAGがオンと判定される状態は、演奏音が終了したと判定されてから再び演奏音が検出されたことを意味する。すなわち、次の子ウェーブのブロックの先頭が検出されたことになる。この場合には、子ウェーブの長さが一定以上に達しているか否かを判定する(ステップS709)。一定の長さ以上に達していない場合は、上記演奏音と思って検出したものがノイズである可能性が高いので、フラグFLAGを再びオフにして(ステップS710)、ポインタを更新し(ステップS707)、次のサンプル値との比較を再び行う(ステップS705)。このようにステップS709で子ウェーブの長さが一定以上か見るのは、上述のようにノイズ除去のためであり、また、子ウェーブの番号が不連続にならないよう番号の付け替えも行う。
【0038】
子ウェーブの長さが一定以上に達している場合は(ステップS709)、子ウェーブの終了ポイントを記憶しておくパラメータバッファに終了ポイントを書き込むとともに、フラグFLAGをオフに設定する(ステップS711)。これによって、子ウェーブのパラメータバッファには、分割処理がされた結果として、親ウェーブ中の任意のポイントが、子ウェーブの開始ポイントと終了ポイントとして書き込まれる。なお、このようにフラグがオフになったところを分割点とするものであるが、より詳しく説明すると、分割点と判定したすぐ前の(マイナスからプラスへの)ゼロクロス点で最初にプラスとなったアドレスを開始ポイントとし、その一つ前のアドレスを終了アドレスとする。
【0039】
なお、この実施例では最終アドレスと開始アドレスをこの時点で検出しているが、子ウェースの最終アドレスは、各サンプルのレベルが閾値より所定回数小さくなってから次のゼロクロス点を最終アドレスとし、次の子アドレスの開始アドレスは上述のように閾値レベルを超えた直前のゼロクロスアドレスとするようにしてもよい。また、最終アドレスを検出するための閾値レベルと開始アドレスを検出するための閾値レベルをそれぞれ設定できるようにしてもよい。
【0040】
次いでポインタPTRを1つ更新して(ステップS712)、次のサンプル値を参照し、分割の対象となるウェーブの終端に達しているか否かを判定する(ステップS713)。ウェーブの終端でなければ、次の子ウェーブの開始ポイントを記憶しておくパラメータバッファに開始ポイントを書き込み(ステップS714)、ステップS705以降の処理を繰り返す。ウェーブの終端であれば、この分割処理ルーチンを終了する(ステップS715)。
【0041】
次に、上記の分割処理によって得た複数の子ウェーブに基づき親ウェーブのシーケンスデータを作成する方法について図7、図8を参照して説明する。
図7に示されるように、上記の分割処理で得た複数の子ウェーブとそのパラメータに基づき、各子ウェーブに先頭から順番にウェーブ番号を付けるとともに、分割された各子ウェーブの開始ポイントを基にして、各子ウェーブの発音タイミングからゲートタイムを計算し、シーケンスデータを作成する。このゲートタイムは一の子ウェーブの発音時から次の子ウェーブ発音までのインターバルである。シーケンスデータの構成は、〔ゲートタイム+子ウェーブ番号〕になっていて、ゲートタイム経過後に子ウェーブを開始ポイントから終了ポイントまで再生する。このゲートタイムと子ウェーブ番号のデータはそれぞれ1バイトからなる。
【0042】
このシーケンスデータの作成手順は次のとおりである。
▲1▼最初に再生される子ウェーブ(表では第1番)の開始ポイントをそのまま先頭のゲートタイムとする。
▲2▼2番目に再生される子ウェーブの開始ポイントから、最初に再生される子ウェーブの開始ポイントを引いた値を、2番目のゲートタイムとする。
▲3▼以下、N+1番目に再生される子ウェーブの開始ポイントから、N番目に再生される子ウェーブの開始ポイントを引いた値をN番目のゲートタイムとする。
▲4▼最後のウェーブ番号は“FF”とする。再生時にはこの“FF”番号を再生するところで、再生を終了させる。
【0043】
図7にはシーケンスデータ作成のための子ウェーブのパラメータ例が、図8には作成されたシーケンスデータの例が示される。開始/終了ポイントおよびゲートタイムは16進数で表示されている。ゲートタイムが“FF”の長さを超える場合には次のバイトもゲートタイムに用いられる。図8の例では4番目のゲートタイムは“FF+13”の長さである。演奏テンポの変更があった場合にはこのゲートタイムの値を変更する。
【0044】
また上述の子ウェーブ番号すなわち分割した個々の子ウェーブをそれぞれ再生用スイッチ551 〜554 に割り当てる。
【0045】
上記の子ウェーブ番号にノート番号(すなわちキーナンバー)を割り当ててもよい。図9はその例を示す。ここでは4種類の親ウェーブA、B、C、Dがあり、各親ウェーブA、B、C、Dはそれぞれ16個の子ウェーブA−1〜A16、B−1〜B16、C−1〜C16、D−1〜D16に分割されている。子ウェーブA−1から順番に自動的に図示のようにノート番号を割り当てる。これにより、〔ゲートタイム+ノート番号〕でシーケンスデータを作成することができ、シーケンスデータ中のノート番号を音階の順番で配置することで、シーケンスデータにより元の親ウェーブの演奏音を元のまま再生することができる。
【0046】
上記のシーケンスデータ例では、シーケンスデータのタイミング情報をゲートタイムにより表現し演奏テンポに合わせてこのゲートタイムを変えるするようにしたが、この他に、このタイミング情報をMIDIクロックで表現し外部等からのMIDIクロックを用いて演奏テンポに合わせるようにするものであってもよい。
【0047】
例えば、親ウェーブのサンプリング周波数をFS 〔Hz 〕とすると、1サンプル当たりの所要時間は、
1サンプル=1/FS 〔sec 〕
である。ここで、親ウェーブのテンポをT〔bpm 〕とする。この単位〔bpm 〕は1分間当りの4分音符の数である。MIDIクロックの長さTCLK は、4分音符1つが24MIDIクロックに相当するから、
Tclk =T/60×24〔sec 〕
である。よって、第1番目の子ウェーブから第2番目の子ウェーブが発音されるまでの時間は、N1 、N2 をそれぞれ第1、2番目の子ウェーブの開始ポイントとすると、
となる。
【0048】
このように、シーケンスデータのタイミング情報をMIDIクロックで表現すると、内部や外部からのMIDIクロックによって、上記シーケンスデータ中のタイミング情報を調整することで、上記シーケンスデータによる親ウェーブの再生音を他の演奏データの再生音に簡単に同期させることができる。
【0049】
次に、上記で作成したシーケンスデータの再生処理を説明する。図6はシーケンスデータ再生ルーチンのフローチャートである。この再生ルーチンは、図示しないメインルーチン中のパネル処理ルーチンで、再生用スイッチ551 〜554 の何れかが押されたことによって読み出されて実行される(ステップS11)。
【0050】
まず、シーケンスデータの先頭の1バイト(つまりゲートタイム)をカウンタエリアに格納する(ステップS12)。この格納した値が“FF”であれば、フラグをオンにする。。このカウンタエリアの値は所定時間毎に逐次にデクリメントされることでカウンタとしての役目をする。またポインタをシーケンスデータの先頭に置く。このポインタはシーケンスデータ再生の進行をシーケンスデータのバイト単位で管理するためのものである。
【0051】
次に、タイマを起動する(ステップS13)。このタイマにより所定時間が経過する毎にタイマ割込みを発生させる。タイマ割込みがあるか否かを判定し(ステップS14)、タイマ割込みを受けたら、カウンタエリアに設定した値(ゲートタイム)を1つカウントダウンする(ステップS15)。カウンタの値がカウンタ値≦1か否かを判定し、「0」になっていなければタイマ割込み毎にカウンタの値のデクリメントを続ける(ステップS14〜S16)。
【0052】
カウンタの値が「0」になったら(ステップS17)、設定したゲートタイムが経過したことを意味するので、ポインタを1つカウントアップし(ステップS17)、先にカウンタエリアに設定したデータ(ゲートタイム)が“FF”か否かをフラグを参照して判定する(ステップS18)。このデータが“FF”であれば(ステップS714)、先にシーケンスデータ作成の説明で述べたようにゲータタイムは“FF+○○”であり、まだゲートタイムが終了しておらずカウントダウンが続くので、シーケンスデータから“FF”の次のバイトのデータ(残りのゲートタイム○○)を読み出してカウンタに格納し(ステップS19)、この値が「0」となるまでカウントダウンを繰り返す(ステップS14〜S19)。
【0053】
ステップS18の判定において、次のデータが“FF”でなければ、フラグをオフにリセットし、子ウェーブ番号をワークエリアに格納してから、カウンタにシーケンスデータから読み出した次のゲートタイムのデータをセットする(ステップS20)。
【0054】
この後、子ウェーブの再生処理を行う(ステップS21)。子ウェーブの再生処理が終わったら、シーケンスデータが終了か否かを判定し(ステップS22)、この処理をシーケンスデータが終了するまで繰り返す(ステップS14〜S22)。シーケンスデータが終了したら、このシーケンスデータ再生ルーチンを終了する(ステップS23)。
【0055】
子ウェーブの再生にあたっては、音色制御部8によって、分割した子ウェーブの読出し毎に音色の制御を行って分割後の演奏音毎に音色の制御を行うようにしてもよい。また、この音色制御は、外部から入力された音色制御情報に対応して、読み出された子ウェーブの音色を制御するように構成してもよい。また、作成したシーケンスデータに音色等の制御情報を記録するようにし、音色制御部で分割した演奏データ毎に音色等の制御を行うようにしてもよい。
【0056】
なお、上述の実施例では、テンポが速くなると、前後の子ウェーブが重なって鳴ることになるので、この場合には、後発優先で先に鳴っていた子ウェーブの音を消す、あるいは重なる部分をクロスフェードさせるなどするとよい。
【0057】
本発明の実施にあたっては種々の変形形態が可能である。
例えば、上述の実施例では、1回目の分割処理の結果、2つ以上の演奏音が含まれた子ウェーブが生じた場合には、2回目の分割処理を閾値を変えて行うことでこの子ウェーブをさらに細かく分割するようにしたが、本発明はこれに限られるものではなく、操作者がその2つ以上の演奏音を含む子ウェーブを再生し耳で聴いて子ウェーブ中のどの時間位置に各演奏音があるかを掴み、子ウェーブの2回目の分割位置を手動操作により子ウェーブの時間軸上で時間をパラメータにして指定することで、子ウェーブをさらに細かく分割するようにしてもよい。
【0058】
また、上述の実施例では、1回目の分割の後に、1音だけに分割し切れていないブロックを閾値を変えて2回目以降の分割を行うことで、1音だけのブロックに細分化しているが、これに代えて、初めから複数の閾値を用意しておいて、親ウェーブをこれらの複数の閾値と比較してそれぞれの比較結果を蓄えておいて、親ウェーブとの比較処理が終わった時点でこれらの比較結果に基づいて一挙に1音だけのブロックに分割していくのもであってもよい。
【0059】
また、上述の実施例では、親ウェーブのシーケンスデータを他の演奏データに同期させる方法として、ゲートタイムを変える方法とタイミング情報をMIDIクロックで表現してMIDIクロックで制御する方法を述べたが、本発明はこれに限られるものではなく、例えばシーケンスデータはそのままにして相対的に再生タイミングを変えるようにしてもよい。すなわち、前述の図6に示すシーケンスデータ再生ルーチンにおいて、ステップS13で起動するタイマを、タイマカウンタTCの値を任意に設定できるようにしてこのタイマカウンタTCを一定時間間隔で1ずつ減少させてTC=0になった時にタイマから割込みが発生するように構成する。これによりTCの設定値が小さければ割込みが頻繁にかかり、TCの設定値が大きければ割込みがかかる周期が長くなる。よって、再生タイミングを内部的に変える場合にはこのタイマカウンタTCの値を内部で任意に設定し、再生タイミングを外部から変える場合にはこのタイマカウンタTCの値を外部クロックを用いて設定するようにする。
【0060】
また上述の実施例では、分割した演奏データ(子ウェーブ)を再生する場合には元の演奏データ(親ウェーブ)からその子ウェーブに対応する箇所を部分的に読み出すようにしたが、分割したことによって得られた開始ポイントと終了ポイントに対応する区間の演奏データを各子ウェーブの演奏データとして別途メモリに書き込むようにしてもよい。
【0061】
【発明の効果】
以上に説明したように、本発明によれば、生演奏などから得た音素材を、演奏のビートの細かさに対応して的確に分割、ブロック化することができる。
また、分割結果から得たシーケンスデータを用いれば、分割した個々の子波形演奏データを即座に自動演奏することができる。
【図面の簡単な説明】
【図1】本発明の実施例の原理的な動作を説明するために図である。
【図2】本発明の実施例装置のブロック構成を示す図である。
【図3】実施例装置の操作パネルの例を示す図である。
【図4】実施例装置において実行される演奏データ再構築ルーチンのフローチャートである。
【図5】実施例装置において実行される演奏データ分割処理ルーチンのフローチャートである。
【図6】実施例装置において実行されるシーケンスデータ再生ルーチンのフローチャートである。
【図7】実施例装置におけるシーケンスデータ作成のための子ウェーブ・パラメータの例を示す図である。
【図8】実施例装置におけるシーケンスデータの例を示す図である。
【図9】子ウェーブ番号にノート番号を割り当てる例を示す図である。
【図10】ブロックの分割と演奏のビートの細かさの対応の問題点を説明する図である。
【符号の説明】
1 CPU 2 ROM
3 RAM 4 表示部
5 操作子部 6 A/D変換部
7 D/A変換部 8 音色制御部
9 MIDI入出力部
51 ロータリエンコーダ 52 YES/NOスイッチ
53 解析スイッチ 54 パラメータ選択スイッチ
551 〜554 再生用スイッチ
Claims (3)
- 一連の演奏音をサンプリングした親波形を記憶する第1の記憶手段と、
該第1の記憶手段に記憶された親波形を第1の閾値を用いて該波形の立上りを検出し、該立上がりを分割点として複数の子波形に分割する分割手段と、
該分割手段によって分割された複数の子波形各々を示すブロック情報を記憶する第2の記憶手段と
を備えた電子楽器の音素材処理装置。 - 該分割手段は、分割済の子波形の内、少なくとも1つに対して再度分割処理が指示されたときに、該子波形について、該子波形を分割するに用いた前記第1の閾値と異なる第2の閾値を用いて該子波形をさらに分割すると共に、該子波形に換えて再度分割された新たな子波形各々を示すように、該第2の記憶手段に記憶されたブロック情報を更新する手段を備えたことを特徴とする請求項1記載の電子楽器の音素材処理装置。
- 該第2の記憶手段に記憶されたブロック情報により示される各々の子波形が、前記分割前の親波形においてそれぞれ対応する順番で順次連続して付される波形番号情報と、各々の子波形の長さに対応したタイミング情報からなるシーケンスデータを作成するシーケンスデータ作成手段を更に備えた請求項1〜2のいずれかに記載の電子楽器の音素材処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18948096A JP3635361B2 (ja) | 1996-07-18 | 1996-07-18 | 電子楽器の音素材処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18948096A JP3635361B2 (ja) | 1996-07-18 | 1996-07-18 | 電子楽器の音素材処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1031490A JPH1031490A (ja) | 1998-02-03 |
JP3635361B2 true JP3635361B2 (ja) | 2005-04-06 |
Family
ID=16241975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18948096A Expired - Fee Related JP3635361B2 (ja) | 1996-07-18 | 1996-07-18 | 電子楽器の音素材処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3635361B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7094965B2 (en) | 2001-01-17 | 2006-08-22 | Yamaha Corporation | Waveform data analysis method and apparatus suitable for waveform expansion/compression control |
US6768046B2 (en) * | 2002-04-09 | 2004-07-27 | International Business Machines Corporation | Method of generating a link between a note of a digital score and a realization of the score |
JP5130809B2 (ja) * | 2007-07-13 | 2013-01-30 | ヤマハ株式会社 | 楽曲を制作するための装置およびプログラム |
-
1996
- 1996-07-18 JP JP18948096A patent/JP3635361B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1031490A (ja) | 1998-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1094442B1 (en) | Musical tone-generating method | |
JP2658463B2 (ja) | 自動演奏装置 | |
JP6019803B2 (ja) | 自動演奏装置及びプログラム | |
JP3635361B2 (ja) | 電子楽器の音素材処理装置 | |
JPH0962257A (ja) | 楽音信号処理装置 | |
JP2004317819A (ja) | 自動演奏装置 | |
JP2894233B2 (ja) | 波形データの時間位置をノートコードに割振る機能を備えた電子楽器 | |
JP2970396B2 (ja) | 波形処理装置 | |
JP4685226B2 (ja) | 波形再生用自動演奏装置 | |
JP2002323891A (ja) | 楽曲分析装置、及びプログラム | |
JP2761897B2 (ja) | 自動リズム演奏装置 | |
JP3671788B2 (ja) | 音色設定装置および音色設定方法並びに音色設定プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
JP4389364B2 (ja) | 表示位置情報作成装置および表示位置情報作成プログラム | |
JP3052875B2 (ja) | シーケンスデータ編集方法およびシーケンサ | |
JP4097785B2 (ja) | 波形再生装置 | |
JPS63293595A (ja) | 楽音信号発生装置 | |
JP2564811B2 (ja) | 演奏記録装置 | |
JP4172366B2 (ja) | 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体 | |
JP3617114B2 (ja) | 電子楽器の自動演奏装置 | |
JP3767418B2 (ja) | 自動演奏装置及び自動演奏制御プログラム | |
WO2011030761A1 (ja) | 音楽ゲームシステム及びそのコンピュータプログラム並びに効果音データの生成方法 | |
JP3488037B2 (ja) | 自動演奏装置 | |
JP3862839B2 (ja) | 波形圧縮伸長装置 | |
JP3551650B2 (ja) | 自動演奏装置 | |
JP2650580B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041102 |
|
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: 20041207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041214 |
|
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: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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: 20080114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110114 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110114 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120114 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |