JP3904012B2 - 波形生成装置及び方法 - Google Patents

波形生成装置及び方法 Download PDF

Info

Publication number
JP3904012B2
JP3904012B2 JP2004280251A JP2004280251A JP3904012B2 JP 3904012 B2 JP3904012 B2 JP 3904012B2 JP 2004280251 A JP2004280251 A JP 2004280251A JP 2004280251 A JP2004280251 A JP 2004280251A JP 3904012 B2 JP3904012 B2 JP 3904012B2
Authority
JP
Japan
Prior art keywords
waveform
loop
data
unit
sequence
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
JP2004280251A
Other languages
English (en)
Other versions
JP2005037964A (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 JP2004280251A priority Critical patent/JP3904012B2/ja
Publication of JP2005037964A publication Critical patent/JP2005037964A/ja
Application granted granted Critical
Publication of JP3904012B2 publication Critical patent/JP3904012B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、メモリに記憶した波形データを読み出すことに基づき、楽音あるいは音声若しくはその他任意の音の波形を形成する装置及び方法に関し、特に、繰り返し読み出しされるループ波形を使用するものに関する。この発明は、電子楽器は勿論のこと、自動演奏装置、コンピュータ、電子ゲーム装置その他マルチメディア機器等、楽音あるいは音声若しくはその他任意の音を発生する機能を有する汎ゆる分野の機器若しくは装置または方法において広範囲に応用できるものである。なお、この明細書において、楽音波形という場合、音楽的な音の波形に限るものではなく、音声あるいはその他任意の音の波形を含んでいてもよい意味合いで用いるものとする。
波形メモリにおいて、PCM(パルス符号変調)あるいはDPCM(差分PCM)又はADPCM(適応差分PCM)等の任意の符号化方式で符号化した波形データ(つまり波形サンプルデータ)を記憶しておき、これを所望の楽音ピッチに対応して読み出すことにより、楽音波形を形成するようにした、いわゆる「波形メモリ読み出し」技術は、既に公知であり、また、様々なタイプの「波形メモリ読み出し」技術が知られている。従来知られた「波形メモリ読み出し」技術のほとんどは、発音開始から終了までの1つの音の波形を発生するためのものである。一例として、発音開始から終了までの1音の全波形の波形データを記憶する方式がある。また、別の例として、変化の複雑なアタック部についてはその全波形の波形データを記憶し、変化のあまりないサステイン部については所定のループ波形を記憶する方式がある(例えば特許文献1)。後者の方式では、ループ波形を記憶する構成であることにより波形データ記憶量を簡素化することができると共に、ループ波形を繰り返し読み出すことにより、音の持続時間を任意に調節することができる。なお、本明細書において、「ループ波形」とは、繰り返し読み出し(ループ読み出し)される波形という意味で用いるものとし、「ループ再生波形」とは、「ループ波形」を繰り返し読み出し(ループ読み出し)することで得られた(再生された)波形という意味で用いるものとする。
特開昭59−188697号公報
また、1つの音の発生のために、複数のループ波形を使用し、各ループ波形を特定のシーケンスに従って順次切り替えて読み出し、相前後するループ波形のループ読出出力データ(つまり「ループ再生波形」)をクロスフェード合成することで、各ループ再生波形が滑らかに接続されるようにした技術も知られている(例えば特許文献2)。この場合、クロスフェード合成は、所定のクロスフェード区間において行なわれるようになっており、上述した単純な1つのループ波形の繰り返し読み出し技術とは異なり、個々のクロスフェード区間の時間長を任意に可変調節することについては示されていない。また、この種のループ波形は、1つの音に対応する上記特定のシーケンスでのみ用いられるものである。
特開昭62−14696号公報
一方、音声信号の時間軸圧縮技術としては、例えば特許文献3に示されたものがある。そこでは、音声波形を母音区間と子音区間とに分け、子音区間の時間軸圧縮比率を相対的に小さくし、母音区間の時間軸圧縮比率を相対的に大きくすることが示されている。また、特許文献4においては、子音区間では時間軸圧縮制御を行なわず、母音区間でのみ時間軸圧縮制御を行なうことが示されている。しかし、これらの技術は、音声信号のデータ圧縮のためのものであり、音のアーティキュレーション(奏法)を考慮したり、そのコントロールを可能にすることとは全く無関係である。
特開平1−93795号公報 特開平5−274599号公報
従来のループ波形を用いた楽音波形形成技術においては、記憶する波形データ量を簡素化することに関しては適していたが、それと引き替えに、表現力のある楽音波形の形成には適さないものであり、また、音のアーティキュレーション(奏法)を考慮した楽音波形の形成とは無関係であった。一方、繰り返し読み出しをしない波形(これをノンループ波形ということにする)を複数周期にわたって記憶しておき、これを読み出すことにより楽音波形を形成する方式においては、記憶した複数周期波形それ自体は、品質のよい、音のアーティキュレーション(奏法)を考慮した楽音波形であるということができるが、記憶した波形データの通りにしか再生することができないので、制御性に乏しく、また、編集性にも乏しかった。
この発明は上述の点に鑑みてなされたもので、ループ波形を使用して、楽音波形を形成する場合において、音のアーティキュレーション(奏法)を考慮した品質のよい波形形成を行なうことができる波形生成装置及び方法を提供しようとするものであり、特に、演奏フレーズに対応する楽音波形を高品質に生成し得るようにした波形生成装置及び方法を提供しようとするものである。更には、制御性に富み、また、編集性にも富んだ波形生成装置及び方法を提供することを目的とする。
この発明に係る波形生成装置は、繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも1つのループ波形とからなる単位波形データを複数記憶してなる記憶手段と、複数の任意の前記単位波形データを順次読み出す順序を当該単位波形を再生する時間を示すタイミングデータで規定する波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データにおいて相前後する単位波形データの前記ループ波形を繰り返して読み出してクロスフェード合成することで、該相前後する単位波形データに基づく波形を接続して楽音波形を生成する波形形成手段とを具備する。
この発明によれば、繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも1つのループ波形とからなる単位波形データが記憶手段に複数記憶されており、所望の楽音波形を生成するのに使用する複数の単位波形データを、それを順次読み出す順序を当該単位波形を再生する時間を示すタイミングデータで規定する波形シーケンスによって特定し、この波形シーケンスに従って該記憶手段から単位波形データを前記タイミングデータに従う時間で順次読み出し、かつ相前後する単位波形データの前記ループ波形を繰り返して読み出してクロスフェード合成することで、これらの単位波形データに基づく波形を接続して楽音波形を生成する。これによって、繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも1つのループ波形とからなる単位波形データを任意に組み合わせてなる任意の楽音波形を、それに対応する波形シーケンスを特定することで、容易に生成することができるものであり、しかも、波形シーケンスは、複数の単位波形データを順次読み出す順序を、各単位波形を再生する時間を示すタイミングデータで規定するので、多様な時間的バリエーションで各単位波形を接続することができるようになる。また、各単位波形データに含まれるノンループ波形は、アーティキュレーション(奏法)等の特徴を有する高品質な波形であるので、高品質な演奏フレーズ楽音波形を生成することができる。
また、ノンループ波形は、アーティキュレーション(奏法)等の特徴を有する高品質な波形であるが、複雑な特徴を持つが故に、それ自体では他の任意の波形と滑らかに接続するのに適していないが、この発明によれば、ノンループ波形の前後の少なくとも一方にループ波形を具備してなる単位波形データを用いるので、単位波形データ同士の接続を容易にかつ滑らかに行うことができる。したがって、この発明によれば、アーティキュレーション(奏法)等の特徴を有する高品質な波形であるノンループ波形同士を簡便に組み合わせて自由な演奏フレーズの楽音波形形成を行うことができるようになり、制御性に富み、また、編集性にも富んだ形態で、音のアーティキュレーション(奏法)を考慮した品質のよい波形形成を行なうことができるようになる、という優れた効果を奏する。
また、ノンループ波形は、一般に、再生時間長が固定されるので、その再生時間長を可変するには、再生ピッチを変えるしかない。従って、再生ピッチに影響を与えることなく、ノンループ波形の再生時間長を可変制御するのには困難が伴う。これに対して、ループ波形は、ループ回数を可変制御することにより、再生ピッチに影響を与えることなく、その再生時間長を可変制御することができるので、波形データの時間制御が容易である。したがって、この発明によば、ループ波形の時間制御が容易である点に着目して、ループ波形の部分で時間制御を行うことにより、高品質のノンループ波形とループ波形とを含む楽音波形全体の再生時間長を可変制御することができる、という優れた特徴を有するものである。
これによって、例えば、複数の音符に対応するフレーズ演奏の波形を時間制御することで種々の特殊な制御を実現することができるようになる。例えば、第1,第2,第3の各音符の主要部はそれぞれノンループ波形で構成し、各音符をスラー等の特殊な奏法でつなぐ部分もノンループ波形で構成し、各ノンループ波形をつなぐ部分をそれぞれループ波形で構成する。その場合、各ノンループ波形のループ再生区間を適宜の時間軸伸縮比でそれぞれ制御すれば、各音符の長さを所定の比率で均一に伸縮することができる(例えば8分音符を4分音符に変える等)。若しくは、それによって、見かけ上の演奏テンポを可変することができる。あるいは、特定の音符についてのループ波形を他とは異なる時間軸伸縮比で制御することにより、該特定の音符だけその音符長を変化させることができる。例えば、8分音符の3連符からなるフレーズを、8分音符1個と16分音符2個からなるフレーズに変更する、といった制御が可能となる。
本発明は、装置発明として構成し、実施することができるのみならず、方法発明として構成し、実施することもできる。また、本発明は、コンピュータプログラムの形態で実施することができるし、そのようなコンピュータプログラムを記憶した記録媒体の形態で実施することもできる。更に、本発明は、新規な波形データ構造からなる波形データを記憶した記録媒体の形態で実施することもできる。
以下、添付図面を参照してこの発明の実施の形態を詳細に説明しよう。
図1は、この発明の一実施例に係る波形生成装置のハードウェア構成例を示すブロック図である。ここに示されたハードウェア構成例はコンピュータを用いて構成されており、そこにおいて、波形形成処理は、コンピュータがこの発明に係る波形形成処理を実現する所定のプログラム(ソフトウェア)を実行することにより実施される。勿論、この波形形成処理は、コンピュータソフトウェアの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウェア装置の形態で実施してもよい。また、この波形生成装置は、電子楽器あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器又はパーソナルコンピュータ等、任意の製品応用形態をとっていてよい。
図1に示されたハードウェア構成例においては、コンピュータのメイン制御部としてのCPU(中央処理部)100に、ROM(リードオンリーメモリ)101、RAM(ランダムアクセスメモリ)102、ハードディスク装置103、リムーバブルディスク装置(例えばCD−ROMドライブ若しくはMOドライブなど)104,表示器105,キーボード及びマウス等の入力操作装置106,波形インタフェース107,タイマ108、通信インタフェース109,MIDIインタフェース110等が、バス111を介して接続されている。波形インタフェース107は、外部からアナログ波形信号(オーディオ信号)を入力してディジタル信号に変換してバス111に送り出す機能と、このコンピュータにより実行した波形形成処理によって形成されたディジタル波形データをバス111を介して受け取り、アナログ変換してスピーカシステム等に出力する機能等を有するものである。もちろん、形成されたディジタル波形データをディジタルデータのまま外部に転送出力することも可能である。
この波形生成装置が楽器の製品応用形態をとっている場合は、入力操作装置106におけるキーボードとして、所望の楽音ピッチを選択・指定するための演奏キーボードを含んでいる。一方、この波形形成装置が楽器以外の製品応用形態をとっている場合は、MIDIインタフェース110にMIDIキーボードモジュールを接続し、これにより所望の楽音ピッチを選択・指定することができる。また、所望の楽音ピッチを選択・指定は、自動演奏データの形態で与えるようにしてもよい。自動演奏データは、ROM101、RAM102、ハードディスク装置103、リムーバブルディスク装置104等のいずれかの記憶装置に記憶されているものを読み出すことにより与えられるようになっていてもよいし、MIDIインタフェース110を介して外部から与えられるようにしてもよい。特に詳しく説明しないが、電子楽器の分野では通常知られているように、入力操作装置106においては、各種音色や楽音効果、音量等、各種楽音要素の選択・設定等を行うためのスイッチや操作子類が適宜設けられている。また、これらの各種楽音要素の選択・設定は、上記と同様に自動演奏データの形態で与える要になっていてもよい。
波形データを記憶する波形メモリWMの機能は、どのタイプのデータ記憶装置が受け持ってもよい。すなわち、ROM101、RAM102、ハードディスク装置103、リムーバブルディスク装置104のいずれを波形メモリWMとして機能させてもよい。一般的には、大容量の記憶装置であるハードディスク装置103における適宜の記憶領域あるいはリムーバブルディスク装置104に着脱可能なCD−ROMやMO等のリムーバブルな記録媒体を、波形データベースとしてつまり波形メモリWMとして、機能させればよい。あるいは、外部のホスト又はサーバコンピュータに具備されている波形データベースに対して、通信インタフェース109及び通信回線を介してアクセスし、必要な波形データをハードディスク装置103あるいはRAM102等にダウンロードするようにしてもよい。
CPU100の制御の下で、この発明に係る波形形成処理を実行するソフトウェアプログラムは、ROM101又はRAM102あるいはハードディスク装置103のいずれに記憶しておくようにしてもよい。また、このプログラムは、リムーバブルディスク装置104に着脱可能なCD−ROMやMO等のリムーバブルな記録媒体に記録されていてもよく、また、外部のホスト又はサーバコンピュータから通信回線及び通信インタフェース109を介して該プログラムを受信し、ハードディスク装置103あるいはRAM102等にダウンロードするようにしてもよい。
波形メモリWMにおいては、多数の単位波形の波形データが記憶されている。単位波形とは、それを一つの単位として選択することが可能な波形の一単位を指す。単位波形には、複数のタイプがあり、そのタイプは、音楽的若しくは感性的な意味と、データ読み出しの仕方に基づく技術的意味の、両面から分類するようにしてよい。技術的意味に基づく分類は、その波形データを繰り返し読み出しするか否かによる分類であり、便宜上、波形データが繰り返し読み出しされるものを「ループ波形」といい、波形データが繰り返し読み出しされないものを「ノンループ波形」という。一方、音楽的若しくは感性的な意味に基づく分類は、その波形が、音のどのような部分若しくは区間で使用されるのに相応しいか、ということに基づく分類である。例えば、音の立ち上がり部分(アタック部)で使用されるのに相応しい単位波形を「アタック部波形」、音の立ち下げ部分(リリース部)で使用されるのに相応しい単位波形を「リリース部波形」、音の持続部分(サステイン部)で使用されるのに相応しい単位波形を「サステイン部波形」、スラー等の特定の奏法に従う音と音のつながり部分で使用されるのに相応しい単位波形を「つなぎ奏法波形」、あるいは、ビブラートやトレモロ等の特定の奏法に従って音の持続部で使用されるのに相応しい単位波形を「中間奏法波形」、等のように、適宜に分類し、適切に名付けることができる。
通常の演奏では、定常的でない波形が連続することはまれであり、「ノンループ波形」が必要な部分でもその前後は定常的な波形となる。従って、奏法を色濃く表現する波形であっても、ほとんどの場合「ノンループ波形」の両端に「ループ波形」を含むような単位波形で表現できる。概して、微妙なアーティキュレーション(奏法)が要求される部分で使用されるのに相応しい単位波形としては、そのアーティキュレーション(奏法)の特徴を色濃く表現することができる「ノンループ波形」を含んで使用するのがよい。「ノンループ波形」は、通常、そのアーティキュレーション(奏法)の特徴を表現するのに必要十分な複数周期分の波形からなる。一方、比較的単調な音の部分では、「ループ波形」を使用するのが、波形データ記憶容量の節約の点で都合がよい。「ループ波形」は、通常、1周期または適当な複数周期分の波形からなる。「ループ波形」は、それ単独で、比較的単調な音部分の単位波形として、例えば「サステイン部波形」の単位波形として、使用することができる。その場合に、複数の「ループ波形」を適宜順次組み合わせることにより、つまり、複数の単位波形を順次組み合わせることにより、一連の音の持続部分の波形を形成するようにしてもよく、それは音の品質を上げることができる点で有利である。また、単位波形同士の接続をクロスフェード合成によって滑らかに行うために、その接続箇所部分で、「ループ波形」を使用するのも有利である。しかして、「ノンループ波形」を含む単位波形にあっても、他の単位波形との接続箇所となる始端又は終端において予め「ループ波形」を含むことが、好ましい一実施の形態として考えられる。よって、「ノンループ波形」の両端に「ループ波形」を含むような単位波形であれば、前後の「ループ波形」で他の単位波形と接続ができるので、例えば、「つなぎ奏法波形」または「中間奏法波形」の単位波形として、使用することができる。一方、「ノンループ波形」のみで構成される単位波形があってもよい。ただし、そのような単位波形の場合、接続点において適切な位相合わせ処理等を行ったとしても、他の単位波形と滑らかに接続することは困難である。
なお、以下では「サステイン部波形」、「つなぎ奏法波形」、「中間奏法波形」等をすべてまとめて「中間波形」と呼ぶことにする。
図2は、波形メモリWMに記憶されるいくつかの単位波形の典型例を示す概略図である。図示の簡略化のために、実際の波形図形は略示にて示し、波形の所在の概要を四角枠で囲って図示している。なお、この図示例では、記憶する波形データの振幅ピークレベルを規格化せずに、任意の振幅エンベロープが付与された状態のまま記憶しておくようにしている。勿論、これに限らず、波形データの振幅ピークレベルを一定値に規格化して記憶しておき、読出・再生時に、所要の振幅エンベロープを付与するようにしてもよい。図で横軸はメモリのアドレスである。なお、波形メモリWMに記憶する各単位波形の波形データは、典型的には、PCM化された波形サンプルデータであるものとする。しかし、波形データのコード化フォームは、PCMに限らず、DPCMあるいはADPCM等であってもよい。
図2(a)はアタック部波形の一例であり、このアタック部波形AUWは先行するノンループ波形NLWと後続するループ波形LWとからなっている。波形メモリWMにおけるこのアタック部波形AUWのノンループ波形の開始点は特定のスタートアドレスNLSによって、終了点は特定のエンドアドレスNLEによって特定される。また、ループ波形LWの開始点は特定のループスタートアドレスL2S(=NLE)によって、終了点は特定のループエンドアドレスL2Eによって特定される。
図2(b)はサステイン部波形を含む中間波形IUWに該当する単位波形の一例であり、この中間波形IUWは、所定のノンループ波形NLWの前後にループ波形LWをそれぞれ配置して1つの単位波形を構成している。波形メモリWMにおけるこの中間波形IUWのループ波形LWの開始点は特定のループスタートアドレスL1Sによって、終了点は特定のループエンドアドレスL1Eによって特定される。また、ノンループ波形NLWの開始点は特定のスタートアドレスNLS(=L1E)によって、終了点は特定のエンドアドレスNLEによって特定される。また、ノンループ波形NLWに後続するループ波形LWの開始点は特定のループスタートアドレスL2S(=NLE)によって、終了点は特定のループエンドアドレスL2Eによって特定される。なお、中間波形IUWに該当する単位波形の形態は、これに限らず、図2(d)に示すように1つのループ波形LWのみからなっていてもよい。この場合におけるループ波形LWの開始点は特定のループスタートアドレスL1Sによって、終了点は特定のループエンドアドレスL1Eによって特定される。
図2(c)はリリース部波形RUWの一例であり、このリリース部波形RUWは先行するループ波形LWと後続するノンループ波形NLWとからなっている。波形メモリWMにおけるこのリリース部波形RUWのループ波形LWの開始点は特定のループスタートアドレスL1Sによって、終了点は特定のループエンドアドレスL1Eによって特定される。また、ノンループ波形NLWの開始点は特定のスタートアドレスNLS(=L1E)によって、終了点は特定のエンドアドレスNLEによって特定される。なお、前述のとおり、アタック部波形AUW又はリリース部波形RUWは、ループ波形LWを含まずに、ノンループ波形NLWのみからなっていてもよい。
ループスタートアドレスL1S(またはL2S)は前述の通りループ波形LWの開始点のアドレスであり、繰り返し読み出しつまりループ読み出しの開始アドレスを示す。ループエンドアドレスL1E(またはL2E)はループ読み出しのおわりのアドレスである。ただし、ループエンドアドレスの特定については、直接ループエンドアドレスを特定することなく、例えば、該ループ波形LWの長さをアドレス数によって示すデータ(すなわち、ループ長LL)を備え、「LS+LL」によってループエンドアドレスを特定することによってもよい。この場合には、当該ループ波形LWの繰り返し読み出しつまりループ読み出しは、ループスタートアドレスL1S(またはL2S)からループエンドアドレス「L1S(またはL2S)+LL」までの波形データを繰り返し読み出すことにより行われる。
以下の説明では、便宜上、ループ波形LWとノンループ波形部NLWとを適宜組み合わせた構造である単位波形をまとめて「ユニット波形」と呼び、ループ波形LWのみで構成される単位波形を単に「ループ波形」と呼ぶことにする。
図3は、ユニット波形(すなわち、アタック部波形AUW、中間波形IUW、リリース部波形RUW)の具体的な記憶例のいくつかを示したものである。図3の左側から順にアタック部波形AUW、中間波形IUW、リリース部波形RUWを表すユニット波形の一実施例を示した。ただし、波形そのものではなくエンベロープによって波形の所在の概要を四角枠内に示した。
図3から理解できるように、波形メモリWMにおいては様々な音についての、アタック部波形AUW、リリース部波形RUW、およびつなぎ奏法波形等を含む中間波形IUW毎に波形データを多数記憶するようにしている。この場合、複数の音色及び楽音特性(音高又は音域に応じた特性や、ビブラート、スラー等の変調特性)に対応した波形データをそれぞれ記憶することができる。すなわち、複数周期波形からなる単位波形を、各音色に対応して単に1種類だけ記憶するのではなく、各音色毎に、音高または音域に対応して、あるいはタッチ(ベロシティ)の強さに対応して、あるいは様々な奏法(ビブラート、トレモロ、ピッチベンド、スラー等)または奏法態様(速いスラー、ゆっくりしたスラー等)に対応して、複数種類記憶する。例えば、アタック部波形AUWには「鋭い立ち上がり」や「グライドを伴ったゆっくりした立ち上がり」の波形等、リリース部波形RUWには「ビブラート付きの急速な立ち下がり」の波形等、中間波形IUWには「次音のアタックの小さなテヌート」の波形等を各々記憶する。また、必ずしも各音色毎に異なる記憶波形データを使用しなければならないわけでなく、異なる音色間で共通の波形データを使用するようにすることもできる。さらに、記憶する複数周期波形は、オリジナル波形の音量エンベロープをそのまま具備しているものであってもよいし、あるいは、音量エンベロープを一定レベルに規格化したものであってもよい。また、記憶する複数周期波形は、外部からサンプリングした波形そのものに限らず、適宜の波形加工処理(クロスフェード合成やフィルタ処理等)を施したものであってもよい。
図4(a)は、波形メモリWMにおける記憶フォーマットを略示する図であり、波形メモリWMは管理データ領域と波形データ領域とからなる。波形データ領域は、上述したような様々なタイプの単位波形の波形データ(具体的な波形サンプルデータ)をそれぞれ個別に記憶する領域である。管理データ領域は、波形データ領域に記憶している個々の波形データについて必要な各種の管理情報を記憶している領域である。
図4(b)〜(e)は、管理データ領域に記憶される各波形データ毎の管理データの具体的なフォーマットを、いくつかのタイプの単位波形について例示するものである。(b)はループ波形LWのみからなる中間波形IUW(すなわち、「サステイン部波形」)についての管理データの一例、(c)はノンループ波形NLWと第2のループ波形とからなるアタック部波形AUWについての管理データの一例、(d)は第1のループ波形LWとノンループ波形NLWと第2のループ波形とからなる中間波形IUW(すなわち、「つなぎ奏法波形」または「中間奏法波形」)についての管理データの一例、(e)は第1のループ波形LWとノンループ波形NLWとからなるリリース部波形RUWの管理データの一例を示す。 なお、図4においてはアタック部波形AUW、中間波形IUW、リリース部波形RUWの各々で異なるフォーマットを用いているが、これら全ての波形のフォーマットを図4(d)のようなフォーマットにしてもよい。ただし、この場合には、各波形の区別を後述の識別データIDによって行うようにする。
図示した管理データフォーマットにおいて、タイプデータTYPEは、その単位波形がいかなるタイプのものであるかを示すデータである。例えば、(b)の場合は「ループ波形LWのみからなる中間波形IUW」ということがタイプデータTYPEによって示され、(c)の場合は「ノンループ波形NLWと第2のループ波形LWからなるアタック部波形AUW」ということがタイプデータTYPEによって示され、(d)の場合は「第1のループ波形LWとノンループ波形NLWと第2のループ波形LWからなる中間波形IUW」ということがタイプデータTYPEによって示され、(e)の場合は「第1のループ波形LWとノンループ波形NLWとからなるリリース部波形RUW」ということがタイプデータTYPEによって示される。その他、タイプデータTYPEは、上述した各種のタイプに応じて、当該タイプを示すことができるような情報からなる。識別データIDは、個々の波形データを識別するデータ(例えば個別波形データのファイル名)である。
上述したように、単位波形はアタック部波形AUW、中間波形IUW、リリース部波形RUW、ループ波形LW毎に各々複数種類記憶される。そこで、識別データIDを付加することで、各々の波形の種類内において単位波形の区別を行うことができるようになる。スタートアドレス(L1S、NLS、L2S等)およびエンドアドレス(L1E、NLE、L2E等)は、ループ波形LWまたはノンループ波形NLWの各々のスタートアドレスおよびエンドアドレスを示す(図2参照)。位相情報(L1P、L2P等)は、ループ波形LWの波形開始時における初期位相データである。また、その他の情報には、ピッチや音量や振幅といったデータが含まれる。なお、データフォーマットは上述のものだけに限られるものではなく、例えば、位相情報等を備えていないものであってもよい。
ここで説明した各種の単位波形は、データベースによって管理されている。ユーザは該データベースを、属性、奏法およびその態様、音高、タッチ、音量等の1乃至複数をキーとして参照することにより、所望の単位波形を見つけることができる。
図1に示すような波形形成装置において、波形の形成は、コンピュータがこの発明に係る波形形成処理を実現する所定のプログラム(ソフトウェア)を実行することにより実施される。この際に、波形メモリWMから複数の単位波形を所定のシーケンスで選択的に順次読み出して、これら各単位波形の読み出し出力波形データを組み合わせることによって、一連の音(1または複数の音若しくは音の一部分等)の波形形成が行われる(以下、このシーケンスを波形シーケンスWSと呼ぶ)。図5は、1つの波形シーケンスWSにおけるその一部のシーケンスデータの一例を示し、RAM10またはハードディスク装置103等の適宜のデータ記憶装置内に設定された波形シーケンスメモリ部に記憶されるものである。図6は、前記波形形成処理を実現する所定のプログラム(ソフトウェア)のフローチャートの一実施例を示したものである。
図5の波形シーケンスWSは、後述の図8(a)に示した波形を再生することのできる波形シーケンスWSを一例として示したものである。
波形シーケンスWSは、単位波形を選択するデータ(AUW(5),LW(12),・・・)と当該単位波形の再生を開始する時間(つまり、当該単位波形で示される音の発音開始時間)を示すタイミングデータ(Dt0,Dt2,・・・)とを含む「波形イベント」により構成される。前記波形選択データは、図4に示した管理データ領域における識別データIDに対応するものであり、また、前記タイミングデータは、図8(a)に示した再生波形図における各単位波形の再生開始時間に対応するものである(すなわち、Dt0に対してt0、Dt2に対してt2、・・・)。
各波形イベントに対応するタイミングで対応する単位波形の再生読み出しが開始され、波形形成が行われる。図5の例では、最初の波形イベントに対応してタイミングデータDt0と波形選択データAUW(5)(アタック部波形AUWの属性を持つ)が記憶され、次の波形イベントに対応してタイミングデータDt2と波形選択データLW(12)(ループ波形LWの属性を持つ)が記憶され、さらに次の波形イベントに対応して タイミングデータDt3と波形選択データIUW(8)(中間波形IUWの属性を持つ)が記憶される、といったように波形シーケンスWSが構成されている。
なお、タイミングデータは上述の説明では絶対時間を示すものとしたがこれに限られるものではなく、例えば、相対時間、あるいはイベント間の差分時間を示すものであってもよい。ただし、ループ再生波形をクロスフェード合成する場合はクロスフェード時間つまりクロスフェード合成区間長を示すものとする。
図6に示した波形再生処理のフローチャートは、例えばMIDIフォーマット等からなる自動演奏シーケンスデータに基づき、波形再生開始指示(例えば、曲選択)を受信したような場合に開始される。
最初のステップS1において、再生を行う曲データおよびその曲データの中の再生範囲の指定命令を受信する。ステップS2では、指定された再生範囲の再生のために必要な波形シーケンスWSが予め波形シーケンスメモリ部に記憶されているかを判定し、記憶されていた場合(YES)には、ステップS4に行き、指定範囲の波形シーケンスWSに基づき波形を形成して再生する処理(波形形成処理)を行う。波形シーケンスメモリ部に該当する波形シーケンスWSが存在しない場合(ステップS2のNO)には、必要な波形シーケンスWSを作成した後に(ステップS3)、作成した波形シーケンスWSに応じて波形を形成して再生する(ステップS4)。
このように、例えばMIDIフォーマットからなる曲データに基づき必要な波形シーケンスWSを特定し、これに基づき波形を形成する。そして、この際に曲データの再生範囲に応じた波形シーケンスWSが予め存在しない場合には、ステップS3において、曲データの特徴に応じて波形シーケンスWSを自動作成する。例えば、音符データに重なりがあるならば(すなわち、スラーを検出した場合)単位波形としてスラー奏法波形を選択し、または音量データが徐々に増加または減少していたならばクレッシェンド奏法波形またはデクレッシェンド奏法波形を選択し、またはピッチベンドが時間的に変化していたならば当該ピッチベンドの時間変化カーブに応じたピッチベンド奏法波形を選択する、等と必要な単位波形を選択的に組み合わせて新規の波形シーケンスWSを作成する。つまり、ステップS3は、MIDIフォーマット等で表現された曲データを波形シーケンスWSに変換する変換ステップであるといえる。
なお、本実施例においては波形シーケンスWSに応じた波形形成と形成された波形データに基づく再生発音を一連の処理で行っているが、波形シーケンスWSに基づき形成した波形データをバッファメモリに記憶しておき、その後の再生発音指示に従ってバッファメモリから波形データを読み出して再生発音するようにしてもよい。
図7は、上述のステップS4で実行する波形形成処理のフローチャートの一実施例を詳細に示したものである。
最初のステップS10において、波形シーケンスWSの最初の波形イベントをセットする(読み出す)。図5の例では、例えばタイミングデータDt0のイベントが最初の波形イベントであったとすると、該タイミングデータDt0と波形選択データAUW(5)が読み出され、レジスタにセットされる。次のステップS11では、ストップ命令STOPを受け付ける。NOであれば、ステップS12に行き、セットされたイベントのタイミングつまり発音開始タイミングが到来したかを判定する。処理は、ステップS11とステップS12によるループで、ストップ命令STOPの発生、ないし、発音開始タイミングの到来まで待機する。発音開始タイミングが到来したら、ステップS14で、当該波形イベントにおける波形選択データがユニット波形であるか、それともループ波形であるかの判断を行う(ステップS14)。
波形選択データがユニット波形であった場合(通常は、最初はアタック部波形AUWであり、先頭がノンループ波形NLWからなるが、これに限らない)、ステップS15に行き、当該ユニット波形の前記管理データに基づいてノンループ波形NLWの波形データを順次読み出す。このノンループ波形NLWの波形データの読み出しを終了したら、ステップS16に進み、このユニット波形において上記ノンループ波形NLWの後に続いているループ波形LWの読み出しを行う。すなわち、該ループ波形に関する各種の前記管理データを波形メモリWMの管理データ領域から読み出し、これに基づき波形データ領域から該ループ波形の波形データのループ読み出しを開始する。そして、波形シーケンスメモリ部から次の波形イベントの読み出しを行う(ステップS17)。
一方、ステップS14において、単独のループ波形LWであると判定された場合には、該ループ波形LWの読み出しを行って(ステップS19)、ステップS17に行き、次の波形イベントの読み出しを行う。
例えば、上述の波形形成処理において波形シーケンスWSが図5に示したようなものである場合、最初の波形イベントの波形選択データはアタック部波形AUW(5)である。従って、ステップS15により当該アタック部波形AUW(5)のノンループ波形NLWの読み出しが行われる(後述の図8(a)において時点t0から始まる波形)。このノンループ波形NLWの波形データの読み出しを終了したら(図8(a)における時点t1)、このノンループ波形NLWに続くループ波形LWの読み出しが行われる(ステップS16)。
ステップS18では、上述のステップS17で読み出した波形イベントにおける波形選択データがユニット波形であるか、単独のループ波形LWであるか(すなわち、ユニット波形の先頭のループ波形LWを含まず)、それともそもそも波形イベントが存在しないのかの判断を行う。図5の例では、2番目の波形イベントの波形選択データは単独のループ波形LW(12)であるので、ステップS23に行き、当該ループ波形LW(12)の読み出しを行う。次のステップS24(ループ読出及びクロスフェード合成処理)では、既に読み出しされた2つのループ波形(ステップS16で読み出ししたアタック部波形AUW(5)の後端部のループ波形つまり先行するループ波形と、ステップS23で読み出ししたループ波形つまり後続するループ波形)をそれぞれループ波形読み出しを継続しながらクロスフェード合成する。このクロスフェード合成は、ステップS17で読み出したイベントデータに含まれるタイミングデータ(2番目の波形イベントの場合はDt2)で指定される時間だけ行われる。クロスフェード時間が経過すると、先行するループ波形の波形再生読出が停止される(ステップS25)。そして、ステップS17に戻って、次の波形イベントの読み出しを行う。
図5の例では、3番目の波形イベントの単位波形選択データは中間波形IUW(8)であり、ステップS18では「ユニット波形」と判定されて、ステップS20に行く。ステップS20では、ステップS23と同様に、当該ユニット波形おける先頭のループ波形の読み出しを行う。次のステップS21では、ステップ24と同様に、ループ読出及びクロスフェード合成処理を行う。今の例では、前回のクロスフェード合成における後続ループ波形であったループ波形LW(12)が先行ループ波形に切り替わり、ステップS20で新たに読み出しされたユニット波形(中間波形IUW(8)の先頭のループ波形)が後続ループ波形となり、両ループ波形をループ読み出ししつつクロスフェード合成する。このクロスフェード合成も、ステップS17で読み出したイベントデータに含まれるタイミングデータ(3番目の波形イベントの場合はDt3)で指定される時間だけ行われる。クロスフェード時間が経過すると、両方のループ波形の波形再生読み出しを停止し(ステップS22)、ステップS15に戻り、当該ユニット波形(今の例では中間波形IUW(8))におけるノンループ波形NLWの読み出しを行う。このノンループ波形NLWの波形データの読み出しを終了したら、前述のように、ステップS16に進み、このユニット波形において上記ノンループ波形NLWの後に続いているループ波形LWの読み出しを行う。その後、ステップS17に行き、以後、同様にしてループ波形LW(3)、中間波形IUW(7)、リリース部波形RUW(1)が順次読み出され、クロスフェードにより接続される。
最後の波形イベントに対応して、リリース部波形RUW(1)のノンループ波形がステップS15で読み出された後は、それに続くループ波形がないためステップS16を通り越してステップS17に行く。この場合、新たな波形イベントが当該波形シーケンスWSに存在していないので、ステップS26に行き、現在再生中の波形に対してフェードアウト処理を実行しながら、ステップS27で波形の再生読出を停止させ、発音を終了する。その後、ステップS11に戻り、ステップS11とステップS12によるループで、ストップ命令STOPの発生、ないし、次の発音開始タイミングの到来まで待機する。波形シーケンスWSの次の発音開始タイミングが到来した場合には、ステップS12で「YES」に分岐し、上述したのと同様の処理により対応する波形の再生処理を行う。このようにして波形シーケンスWSが順次再生され、ステップS1で指定された再生範囲の再生が終了した場合、ないし、ユーザにより入力操作装置1でストップ操作が行われた場合には、ステップS11で「YES」と判断され、波形形成処理を終了する(ステップS13)。
ここで、先行するループ波形と後続するループ波形をループ再生(繰り返し読み出し)しつつクロスフェード合成する例につき、図8(a)に示したループ波形A,B,Cを参照して説明する。図8(a)は、図5の波形シーケンスWSに示される6つの波形イベントにより生成される楽音波形の例である。
この場合は、時点t1からt2までのクロスフェード区間において、先行するループ波形A(すなわち、波形シーケンスWSのアタック部波形AUW(5)におけるループ波形)をループ読み出しすると同時に、後続するループ波形B(すなわち、ループ波形LW(12))もループ読み出しし、先行するループ波形Aのループ再生波形をフェードアウト(立ち下がり)特性のエンベロープで振幅制御し、後続するループ波形Bのループ再生波形をフェードイン(立ち上がり)特性のエンベロープで振幅制御し、両者を加算合成して、1つのループ再生波形を合成する。クロスフェード合成されたループ再生波形は、ループ波形Aからループ波形Bへと滑らかに変化することになる。この処理は図7のステップS24で行なわれる。この場合のクロスフェード時間つまりクロスフェード区間長は、前述の通り、後続するループ波形Bについてのイベントデータに含まれるタイミングデータDt2によって特定される。つまり、タイミングデータDt2によって特定される開始時点t1から終了時点t2までのクロスフェード区間の間で、先行するループ波形A用のフェードアウト(立ち下がり)特性のクロスフェード係数が最大値「1」から最小値「0」まで直線的に立ち下がるようにし、後続するループ波形B用のフェードイン(立ち上がり)特性のクロスフェード係数が最小値「0」から最大値「1」まで直線的に立ち上がるようにする。このタイミングデータDt2を時間軸伸縮制御情報に応じて可変制御することにより、クロスフェード終了時点t2を、図8(b)に例示するように、t2'に伸張(又は圧縮)することができ、ループ波形によるクロスフェード区間長を自由に時間軸制御することができる。なお、クロスフェード区間長を指定するタイミングデータは、クロスフェードカーブの傾きを示す係数データとして表現するようにしてよい。
すなわち、上述した図7のステップS16およびS19で行われるループ読み出しにおいては、ループ波形(すなわち、先行するループ波形)を前述のクロスフェード係数を最大値「1」として読み出し開始する。また、図7のステップS20およびS23で行われるループ読み出しでは、ループ波形(すなわち、後続のループ波形)をクロスフェード係数を最小値「0」として読み出し開始する。そして、ステップS21およびS24では、上述したように先行するループ波形と後続のループ波形の両方のループ読み出しを継続しながらクロスフェード合成を行うようにしている。
図8(a)において、その次の時点t2からt3までのクロスフェード区間においては、それまで後続ループ波形であったループ波形Bを先行ループ波形に切り替えてそのループ読出しを続けると共にフェードアウト(立ち下がり)特性のエンベロープで振幅制御し、同時に、後続ループ波形をループ波形C(すなわち、中間波形IUW(8)のループ波形)に切り替えてそのループ読出しを開始すると共に、フェードイン(立ち上がり)特性のエンベロープで振幅制御し、両者を加算合成して、1つのループ再生波形を合成する。この処理は図7のステップS21で行なわれる。この場合のクロスフェード時間つまりクロスフェード区間長は、前述の通り、後続するループ波形Cについてのイベントデータに含まれるタイミングデータDt3によって特定される。この場合も、タイミングデータDt3を時間軸伸縮制御情報に応じて可変制御することにより、クロスフェード終了時点t3を、図8(b)に例示するように、t3'に伸張(又は圧縮)することができる。
この発明においては、再生する楽音のピッチ制御とは独立に、波形データの時間軸上の長さを、任意の範囲で伸張又は圧縮した状態で読み出す制御(これをTime Stretch & Compress 制御と称し、"TSC制御"と略称する)を行い、これによって発生する楽音の特徴を自由かつ多様に制御するようにしている。TSC制御を用いた各種奏法若しくは楽音効果等の制御のいくつかの具体例を例示すると次のようなものがある。
(1)ビブラートやトレモロのような周期的変調効果の周期を制御する。
(2)ピッチベンドのような経過的ピッチ変調効果の時間を制御する。
(3)アタック、ディケイ等の音の立上りや立下りの時間を制御する。
(4)楽音に"ゆらぎ"を積極的かつ自在に付与する。
(5)ループ制御(持続音形成のためのループ読出制御又はビブラートのループ的制御を含む)の単調性を解消する。
(6)音と音をつなげる制御(スラー等)の時間(つなぎ時間)を制御する。
(7)装飾音の長さを制御する。
(8)記憶された元波形を異なるピッチで読み出したときの発音時間長の変化を補償する。
(9)記憶された元波形を局所的あるいは部分的に時間軸制御して読み出すことにより、該元波形から様々なバリエーションの音を作り出す。
(10)記憶された元波形の全体の発音時間長を任意に可変制御して読み出すことにより、該元波形に基づく音の再生時の発音時間長を任意に制御する(例えば、自動演奏情報にて与えられた楽譜の音符長に合わせる)。
etc.
上述のTSC制御について図8を用いて詳細に説明する。図8(a)はTSC制御前の元の波形を概念的に示した図であり、(b)はTSC制御された後の波形を概念的に示した図であり、共に横軸は時間軸を示す。また、各波形図の下には、当該波形によって示される譜面上の音符データを各々示した。当該音符データのすべてにスラー記号が付されていることから理解できるように、当該音符データによって示される波形データは連続した一連の音の波形である。
図8(a)は、図5の波形シーケンスWSに示される6つの波形イベントにより生成される楽音波形の例である。当該波形は、1つのアタック部波形(AUW(5))と2つの中間波形(IUW(8),IUW(7))と1つのリリース部波形(RUW(1))と2つのループ波形(LW(12),LW(3))とにより構成され、これらはすべて1つの波形シーケンスWSに波形イベントとして保持されている。
波形シーケンスWSは、図5に示すように各単位波形毎に所定の再生開始時間をデータとして保持するが、その時間を図8の各単位波形の下に示している。すなわち、時点t0において四分音符「ド」のアタック部波形AUW(5)の再生が開始される。時点t2においては前記「ド」のサスティン波形たるループ波形LW(12)の再生が開始される。時点t3においては前記「ド」のリリース波形と次の四分音符「レ」のアタック波形とがスラー奏法でつながった波形である中間波形ILW(8)の再生が開始される。時点t5では前記「レ」のサスティン波形たるループ波形LW(3)が、時点t6では前記「レ」のリリース波形と次の四分音符「ミ」のアタック波形とがスラー奏法でつながった波形である中間波形ILW(7)の再生が各々の時点で再生れる。最後に、時点t8では前記「ミ」のリリース波形たるリリース部波形RLW(1)が再生される。このようにして、順次波形の再生がなされる。そして、この際に各波形の接続(すなわち、波形の合成)を滑らかに行うためにクロスフェード合成を各ループ範囲間で行っている。
具体的なクロスフェード合成のやり方としては、種々の手法が考えられる。この実施例においては、前述の通り、波形メモリから2系列のループ波形をそれぞれループ読み出しして、クロスフェード合成するようにしている。クロスフェード合成の手法(例えばフェードインとアウトの関係やクロスフェード関数の特性など)はこれに限らず、種々変更可能である。なお、このようなクロスフェード合成を行うことは非常に好ましいことであるが、必ずしも必須ではない。すなわち、単に1つのループ波形のループ再生時間を可変制御することでもTSC制御を行うことができる。
波形シーケンスWSは各波形イベント毎にタイミングデータを有し、当該タイミングデータにより波形の再生開始時間および再生時間長さが決定されることから、当該タイミングデータを変更することによるTSC制御を行うことができる。再生時間を伸縮するためのタイム伸縮制御を行う際には、パラメータとして標準の再生時間に対する伸縮比を指示する時間伸縮比CRateを使用する。「標準の再生時間」とは元波形の時間長さ(すなわち、時間軸伸縮なしで、ピッチアップおよびピッチダウンしないときの再生時間長)である。
ここで、上述の時間伸縮比CRateについて説明すると、時間伸縮比CRateは、「出力波形の再生時間(時間長さ)を、元の波形(ピッチ制御されたもの)の再生時間(時間長さ)の1/CRateとすること」を意味するパラメータである。もちろん、CRateは一定値とは限らず、波形読み出しの途中(発音の途中)でもリアルタイムに変更可能であるので、局所的に見て上記の意味があるということである。出力波形は、CRate=1.0なら等倍、CRate>1.0なら圧縮、CRate<1.0なら伸張されることになる。
図8に戻る。図8(b)に示した例ではループ読み出し区間に対してTSC制御を施すようにしている。つまり、図8(a)の波形に対してt1〜t2間およびt2〜t3間の再生時間を伸張し(t1'〜t2'間およびt2'〜t3'間と比較)、さらにt7〜t8間の再生時間を圧縮(t7'〜t8'間と比較)した例を示している。すなわち、t1〜t2間およびt2〜t3間では、時間圧縮比CRateをCRate>1.0とし、t7〜t8間をCRate<1.0として、それ以外の時間ではCRate=1.0として上述の波形合成/再生処理を行ったものである。こうすることにより、上述したTSC制御を容易に行うことができるようになる。
例えば、図8(a)に示すオリジナルの波形シーケンスWSが、その下に音符を付記して示したように、3個の四分音符「ド」、「レ」、「ミ」と四分休符からなる曲データの演奏フレーズに対応しているものであるとして、当該演奏フレーズを(b)に示すように、二分音符「ド」と、四分音符「レ」、八分音符「ミ」と八分休符からなる演奏フレーズに変更すると、各音符長の変化に対応して所望のループ再生区間に夫々個別に時間軸伸縮制御が施され、再生ピッチは変化させずに、そのループ再生区間の時間長のみを伸縮制御することができる。このほか、様々な態様で時間軸伸縮制御を施すことにより、オリジナルの波形シーケンスWSの演奏フレーズを、再生演奏時にリアルタイムで又はノンリアルタイムで、可変制御することができる。例えば、3個の四分音符「ド」、「レ」、「ミ」を夫々八分音符の長さになるように変化させたり、逆に夫々二分音符の長さになるように変化させることに対応して時間軸伸張の制御が行われることから、実質的に、演奏テンポを速くしたり遅くしたりする制御を行なうことができることとなる。 なお、この発明においては、上述したような時間伸縮比CRateによる波形の時間軸伸縮制御(TSC制御)と同時に、かつ、それとは独立に波形の読み出し速度を制御することにより再生する楽音のピッチ制御を行うことができるので、これによって発生する楽音をより多様に制御することができる。
上述のように、ループ波形の場合は、基本的には、ループ回数ないしループ継続時間を可変することによって、比較的簡単に、楽音再生ピッチとは独立に、ループ再生波形全体の時間長を可変制御することができる。つまり、タイミングデータDtによってクロスフェード区間長が特定されると、それに伴ってクロスフェードカーブの傾きが決まってくるので、このクロスフェードカーブの傾きを(若しくはタイミングデータDtの値を)時間軸伸縮比データCRateによって可変制御することにより、クロスフェードの速さが可変制御され、結局、クロスフェード区間の時間長を可変制御することができる。その間、楽音再生ピッチには影響を与えないので、結局、ループ回数が可変制御されることで当該クロスフェード区間(つまりループ再生区間)の時間長が可変制御される。
一方、ノンループ波形の場合は、楽音再生ピッチとは独立に、時間軸上におけるその存在時間長を可変制御することはそれほど簡単ではない。従って、上記のように、ノンループ波形とループ波形とからなる一連の音の波形において、ループ読出区間の時間長を伸縮可変制御することで全体の発音時間長を可変制御するように工夫することは、時間軸伸縮制御を容易にするので極めて好ましい。また、特殊な奏法に対応するノンループ波形においては、その部分の時間軸の長さを可変してしまうと、かえって好ましくないものがある。しかし、その種のノンループ波形を含む楽音波形においても、時間軸伸縮制御を行ないたいという要求はあるので、その要求に応えるために、ノンループ波形の部分においては時間軸伸縮制御を行なわずに、部分的にループ波形の部分においてのみ時間軸伸縮制御を行なうようにすることは、極めて効果的である。
一方、本出願人が既に出願済み(特願平9−130394号)の新技術である「波形データの時間軸伸縮制御」技術を用いることで、ノンループ波形の時間軸伸縮制御も可能である。すなわち、簡単に要約すれば、一定の波形データ量からなるノンループ波形を、一定の再生サンプリング周波数と所定の再生ピッチを維持しつつ、その時間軸上の波形データ存在時間長を伸縮するために、圧縮する場合は、波形データの適宜の部分を飛び越して読み出しを行ない、伸張する場合は、波形データの適宜の部分を繰り返し読み出しするようにし、そして、飛び越し若しくは部分的繰り返し読み出しによる波形データの不連続性を除去するためにクロスフェード合成を行なうようにする。この手法を、本実施例におけるノンループ波形の読出処理(図7のステップS15)に対して適用し、該ノンループ波形部分でTSC制御を施すことも可能であるが、本明細書では詳しくは説明しない。
更に、本実施例においては、波形シーケンスWSのデータを任意にエディットすることができる。図9は、そのための波形エディット処理のフローチャートの一例を示す。
最初のステップS30において、波形シーケンスWSにおける単位波形データを任意に変更および追加する位置の指定を行う。波形シーケンスWSにおける任意に指定された単位波形データを別の単位波形データと差し替えたり、指定された単位波形データを削除したり、新たに指定位置に単位波形データを追加したりすることによって、波形シーケンスWSを変更する(ステップS31)。
例えば、作成済みの波形シーケンスWSにおける或る中間波形がノンループ波形を含むものであっても、その前後にループ波形を具備するので(例えば、図4の真ん中に示すような中間波形)、これを別の中間波形(例えば、図4の一番下側に示すような中間波形)に変更することが容易に行える。また、図8(d)に示すように、リリース部波形RUWを差し替えることもできる。また、図8(c)に示すように、任意の指定位置に新たにループ波形を追加することもできる。このように、単位波形を任意かつ容易に変更することができるのは、本発明の波形データフォーマットを採用したおかげである。
個々の波形シーケンスWSは、曲データに対応するノートシーケンス(自動演奏シーケンス)によって指定される。例えば、1つのノートイベントに対応して1つの波形シーケンスWSが指定されることもあれば、スラー等の特殊奏法を伴う連続する複数のノートイベントに対応して1つの波形シーケンスWS(例えば図8(a)のような)が指定されることもあり、また、1つのノートイベントに対応して複数の波形シーケンスWSが指定されることがあってもよい。そのようなノートシーケンスも、ユーザーによって適宜エディットできるようになっていてよい。図10は、そのためのノートシーケンスエディット処理の一例を示す。 最初のステップS40において、ノートシーケンスにおけるノートイベントを任意に変更および追加する位置の指定を行う。ノートシーケンスにおける任意に指定されたノートイベントを別のノートイベントと差し替えたり、指定されたノートイベントを削除したり、指定位置に新たなノートイベントを追加したりすることによって、ノートシーケンスを変更する(ステップS41)。ノートシーケンスのエディットされた曲データの再生が指示された場合、エディットされた部分に対応する波形シーケンスWSは未だ用意されていないので、図6のステップS2で「NO」が判断され、続くステップS3でエディットされた曲データに対応する波形シーケンスWSが生成される。なお、曲データの一部だけがエディットされた場合、ステップS3では、そのエディットされた部分についてだけ対応する波形シーケンスWSを新規作成し、残りの部分は過去に作成した波形シーケンスWSを使用すればよい。
例えば、図8(b)に対応する波形シーケンスWSは、図8(a)に対応する3個の四分音符「ド」、「レ」、「ミ」と1個の四分休符からなるノートシーケンスを上述したノートシーケンスエディット処理により、二分音符「ド」と四分音符「レ」と八分音符「ミ」と八分休符とにエディットし(すなわち、ノートイベントの変更)、当該エディット後のノートシーケンスによって指定される波形シーケンスWSはまだ存在していないので、図6のステップS3で当該ノートシーケンスに対応する波形シーケンスWSが新規に作成される。
なお、図7の波形形成処理プログラムにおいて、ステップS15,S21,S24等で行なわれる波形サンプルデータの読出処理の具体的手順については、任意の方式を用いてよい。例えば、所定の再生サンプリング周波数の1周期毎の割込み処理として当該サンプリング周期における1サンプル分の波形サンプルデータを読み出して形成する方式であってもよい。あるいは、本出願人が既に提案済みのソフトウェア音源技術で知られているように、1フレーム区間に該当する多数のサンプル数分の波形サンプルデータを短時間で一括して形成し、これを出力バッファに蓄えておき、出力バッファからの波形サンプルデータの読み出しを再生サンプリング周波数fsの1周期毎に行なうようにしてもよい。また、ソフトウェアプログラムに基づく波形形成処理に限らず、上記実施例と同様の波形形成処理用のマイクロプログラムで動作するように構成されたDSP装置によって本発明に従う波形形成処理を行なうようにしてもよいし、あるいは、LSI回路やディスクリート回路によって上記実施例と同様の波形形成処理を行なうように専用ハードウェア回路を構成してもよい。
以上のように、上記実施例によれば、波形データの構造として、ノンループ波形の前後に第1および第2のループ波形をそれぞれ具備してなる波形を1単位の波形データとして構成したので、該1単位の波形データとそれに先行するまたは後続する他の波形とを当該ループ波形の部分を介して接続することで、順次組み合わせるようにして波形形成を行うことができるようになる。すなわち、アーティキュレーション(奏法)等の特徴を有する高品質な波形であるノンループ波形を、他の任意の波形と簡便に組み合わせて自由な波形形成を行うことができるようにしたので、音のアーティキュレーション(奏法)を考慮した品質のよい波形形成を行なうことができる、という優れた効果を奏する。
したがって、ノンループ波形として、ビブラートやトレモロ等の変調が付与された波形、ベンド等のピッチ変調が付与された波形、スラーの付与された波形、あるいは経過音や装飾音のような経過的なピッチ変動が付与された波形等、任意のアーティキュレーション(奏法)や効果等の特徴を有する高品質な波形を用いれば、そのような高品質の波形を他の任意の波形と簡便に組み合わせて自由な波形形成を行うことによって、高品質な波形の利用効率を高めることができ、制御性に富み、また、編集性にも富んだ形態で、音のアーティキュレーション(奏法)や効果を考慮した品質のよい波形形成を行なうことができるようになる、という優れた効果を奏する。
また、上記実施例によれば、記憶部に記憶したノンループ波形とループ波形を含む単位波形データを、ループ波形を含む他の単位波形データとそれぞれのループ波形の部分を介して組み合わせることで、上述と同様に、アーティキュレーション(奏法)等の特徴を有する高品質な波形であるノンループ波形を、他の任意の波形と簡便に組み合わせて自由な波形形成を行うことができるようになり、制御性に富み、また、編集性にも富んだ形態で、音のアーティキュレーション(奏法)を考慮した品質のよい波形形成を行なうことができるようになる、という優れた効果を奏する。また、両者の接続箇所においてループ再生波形をクロスフェード合成する場合に、そのクロスフェード合成時間長を時間制御情報に応じて自由に制御することができるようにしたので、形成される楽音波形全体の時間軸上の存在時間長を、該楽音波形のピッチとは独立に自由に可変伸縮制御することができるようになり、音のアーティキュレーション(奏法)を考慮した品質のよい波形形成を行うにあたって、時間軸伸縮制御を導入することができるものとなり、制御性を豊かにすることができる、という優れた効果を奏する。
さらに、上記実施例によれば、読み出し速度の制御(発生楽音の音高制御)とは独立に発音の任意の部分(全体または一部の区間)で、波形データの読み出し位置を時間軸で伸縮制御することにより、所望部分の発生時間長を任意に制御することにより、発生楽音の多様な変化を実現し、従来にない、表現力と制御性に富んだ形態で楽音発生・制御を行うことができる、という優れた効果を奏する。例えば、発生楽音の音高を所望音高に維持しつつ、音の立ち上がり部分または立ち下がり部分等の発生時間長を自由に可変制御することができる。あるいは、発生楽音の音高を所望音高に維持しつつ、発生楽音全体の時間長を可変制御することにより、音符長等にあわせて自由に発生時間長を制御することもできる。
この発明の一実施例に係る波形生成装置のハードウェア構成例を示すブロック図。 波形メモリに記憶されるいくつかの単位波形の典型例を示す概略図。 ユニット波形の具体的な記憶例を示した概念図。 波形メモリにおける記憶フォーマットの一実施例を略示した概念図。 1つの波形シーケンスにおけるシーケンスデータの一例を示した概念図。 波形再生処理の一例を示したフローチャート。 波形形成処理の一例を示したフローチャート。 TSC制御の一実施例を説明するための波形概念図。 波形シーケンスにおける波形エディット処理の一例を示したフローチャート。 ノートシーケンスにおける波形エディット処理の一例を示したフローチャート。
符号の説明
100 CPU
101 ROM
102 RAM
103 ハードディスク
104 リムーバブルディスク
105 表示器
106 入力操作装置
107 波形インタフェース
108 タイマ
109 通信インタフェース
110 MIDIインタフェース
111 バス
WM 波形メモリ
AUW アタック部波形
IUW 中間波形
RUW リリース部波形
NLW ノンループ波形
LW ループ波形
WS 波形シーケンス

Claims (9)

  1. 繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも1つのループ波形とからなる単位波形データを複数記憶してなる記憶手段と、
    複数の任意の前記単位波形データを順次読み出す順序を当該単位波形を再生する時間を示すタイミングデータで規定する波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データにおいて相前後する単位波形データの前記ループ波形を繰り返して読み出してクロスフェード合成することで、該相前後する単位波形データに基づく波形を接続して楽音波形を生成する波形形成手段と
    を具備する波形生成装置。
  2. 前記波形シーケンスは、順次再生すべき各単位波形を選択する情報を含むことを特徴とする請求項1に記載の波形生成装置。
  3. 前記波形シーケンスにおける前記タイミングデータには、前記ループ波形のクロスフェード合成の時間を示すデータを含むことを特徴とする請求項1又は2に記載の波形生成装置。
  4. 前記波形シーケンスを編集する手段を更に具備することを特徴とする請求項1乃至3のいずれかに記載の波形生成装置。
  5. 複数の波形シーケンスを記憶する手段と、記憶された波形シーケンスの中から、生成すべき演奏フレーズに対応する波形シーケンスを選択する手段とを更に具え、前記波形形成手段では、該選択された波形シーケンスに従い前記記憶手段から前記単位波形データを読み出すことを特徴とする請求項1乃至4のいずれかに記載の波形生成装置。
  6. 前記波形シーケンスを選択する手段は、複数の音符の演奏順序を定義する演奏データに基づき前記波形シーケンスを選択することを特徴とする請求項に記載の波形生成装置。
  7. 複数の音符の演奏順序を定義する演奏データに基づき、適宜の演奏範囲に対応する波形シーケンスを作成する手段を更に具え、前記波形形成手段では、該作成された波形シーケンスに従い前記記憶手段から前記単位波形データを読み出すことを特徴とする請求項1乃至6のいずれかに記載の波形生成装置。
  8. 繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも1つのループ波形とからなる単位波形データを複数記憶してなる記憶手段を使用して波形を生成する方法であって、
    数の任意の前記単位波形データを順次読み出す順序を当該単位波形を再生する時間を示すタイミングデータで規定する波形シーケンスを特定するステップと、
    前記特定された波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データにおいて相前後する単位波形データの前記ループ波形を繰り返して読み出してクロスフェード合成することで、該相前後する単位波形データに基づく波形を接続して楽音波形を生成するステップと
    を具備する波形生成方法。
  9. 繰返し読み出されないノンループ波形とその前後の少なくとも一方につながる繰返し読み出しされる少なくとも1つのループ波形とからなる単位波形データを複数記憶してなる記憶手段を使用して波形を生成する手順をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記手順は、
    数の任意の前記単位波形データを順次読み出す順序を当該単位波形を再生する時間を示すタイミングデータで規定する波形シーケンスを特定するステップと、
    前記特定された波形シーケンスに従い、前記記憶手段から前記単位波形データを読み出し、前記複数の任意の単位波形データにおいて相前後する単位波形データの前記ループ波形を繰り返して読み出してクロスフェード合成することで、該相前後する単位波形データに基づく波形を接続して楽音波形を生成するステップと
    を具備する。
JP2004280251A 2004-09-27 2004-09-27 波形生成装置及び方法 Expired - Fee Related JP3904012B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004280251A JP3904012B2 (ja) 2004-09-27 2004-09-27 波形生成装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004280251A JP3904012B2 (ja) 2004-09-27 2004-09-27 波形生成装置及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP22485098A Division JP3744216B2 (ja) 1998-08-07 1998-08-07 波形形成装置及び方法

Publications (2)

Publication Number Publication Date
JP2005037964A JP2005037964A (ja) 2005-02-10
JP3904012B2 true JP3904012B2 (ja) 2007-04-11

Family

ID=34214473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004280251A Expired - Fee Related JP3904012B2 (ja) 2004-09-27 2004-09-27 波形生成装置及び方法

Country Status (1)

Country Link
JP (1) JP3904012B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5239433B2 (ja) * 2008-03-24 2013-07-17 ヤマハ株式会社 音源装置およびプログラム
JP5239432B2 (ja) * 2008-03-24 2013-07-17 ヤマハ株式会社 音源装置およびプログラム
JP2011013445A (ja) * 2009-07-02 2011-01-20 Korg Inc 電子楽器
JP6114492B2 (ja) * 2011-05-26 2017-04-12 ヤマハ株式会社 データ処理装置およびプログラム

Also Published As

Publication number Publication date
JP2005037964A (ja) 2005-02-10

Similar Documents

Publication Publication Date Title
JP3744216B2 (ja) 波形形成装置及び方法
JP3644263B2 (ja) 波形形成装置及び方法
JP6191459B2 (ja) オーディオ波形データを使用する自動演奏技術
JP4274152B2 (ja) 楽音合成装置
JP2007011217A (ja) 楽音合成装置及びプログラム
JP3601371B2 (ja) 波形生成方法及び装置
JP4802857B2 (ja) 楽音合成装置及びプログラム
JP4561636B2 (ja) 楽音合成装置及びプログラム
JP3904012B2 (ja) 波形生成装置及び方法
JP3675184B2 (ja) 波形形成装置及び方法
JP2010113278A (ja) 楽曲処理装置およびプログラム
JP3654084B2 (ja) 波形生成方法及び装置
JP3520781B2 (ja) 波形生成装置及び方法
JP2000276194A (ja) 波形圧縮方法及び波形生成方法
JP4552769B2 (ja) 楽音波形合成装置
JP3744247B2 (ja) 波形圧縮方法及び波形生成方法
JP5359203B2 (ja) 楽曲処理装置およびプログラム
JP3788096B2 (ja) 波形圧縮方法及び波形生成方法
JP3613191B2 (ja) 波形生成方法及び装置
JP3726765B2 (ja) 波形形成装置及び方法
JP3933162B2 (ja) 波形生成方法及び装置
JP4826276B2 (ja) 楽音合成装置及びプログラム
JP3933161B2 (ja) 波形生成方法及び装置
JP4007374B2 (ja) 波形生成方法及び装置
JP3876896B2 (ja) 波形生成方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070101

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140119

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees