(57)【特許請求の範囲】
【請求項１】
音の波形を表す波形データを記憶した波形データ領域と、前記波形データを前記音の物理的性質の少なくとも一つを変えて再生するために用いる補助データであってそれに用いる再生方式に応じて前記波形データを予め解析して得たものを、異なる複数の再生方式のそれぞれに対応して複数組記憶した補助データ領域とを組み合わせたフォーマットのデータ構造を持つ波形データファイルを記憶する記憶手段と、
前記波形データファイル中の波形データを、それに組み合わされた補助データを参照して再生する再生方式を、少なくとも２つの方式について実行できる再生手段と、
前記波形データファイルに基づいて、前記波形データファイルに含まれる補助データに対応した複数の再生方式から１つを選択する選択手段と、
を備え、前記波形データファイルの波形データを、前記選択手段で選択された再生方式に対応した補助データを参照して、前記選択された再生方式で再生する波形再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音の波形データファイルの構成方法、その波形データファイルを記憶した記憶媒体、その波形データファイルに基づいて波形を再生する再生装置に関する。
【０００２】
例えば、楽音や音声などの音の波形データ（時系列な振幅値データなど）を記憶しておいて、その波形データに基づいて音をピッチ変換やタイムストレッチ等して再生する再生装置があり、例えば電子楽器の分野では自動演奏装置の音源などに利用されている。かかる再生装置においては、その波形データをその波形データにあった最適な方法でピッチ変換やタイムストレッチ等して再生できることが望まれる。
【０００３】
【従来の技術】
一般に、音源などの再生装置では、一連の音を周期的にサンプリングしたサンプル値データ（振幅値データ）からなる波形データを記憶しておき、この波形データを再生する際に、再生される音をピッチ変換したりタイムストレッチ（再生時間の圧縮／伸張）したりすることが行われている。
【０００４】
かかる波形データをピッチ変換したりタイムストレッチしたりする方法には種々の方式があり、再生にあたって、再生される音の品質に対する要求やその波形データの性質（すなわち再生しようとする音の性質）などその用途に応じて最適な結果を得ることができるよう、方式を選択することが望ましい。
【０００５】
例えば、ある方式Ａはタイムストレッチやピッチ変換を広い可変範囲で行えるが、それらの値を少しでも変えると再生音声が原音から目立って変化してしまうという性質があり、一方、他の方式Ｂは可変範囲が狭い代わりにその範囲内においては再生音声は非常に原音に近いという性質がある、というような場合には、音を再生する目的の違いに応じて方式を使い分けることが有効である。
【０００６】
また、再生する音が例えばサックス、ベース、ギターなど何れの種類の音であるかに応じて、それらの音の性格がよく現れる再生方式を選択することも有効である。
【０００７】
このため、これらの波形データを記憶しておくファイルのデータ・フォーマットは、従来、図５に示すように、使用する音源の再生方式にあわせて別々のファイルになっていた。例えば、波形データを再生方式Ａで再生するための方式Ａ専用のファイル（ファイル名：filename.dta) は、波形データ本体（時系列なサンプル値）とその波形データ本体を方式Ａで再生するために必要なその波形データに関する解析情報（ヘッダー情報）との二つの部分から大きくは構成される。同様に波形データを再生方式Ｂで再生するための方式Ｂ専用のファイル（ファイル名：filename.dtb) も、波形データ本体とその波形データを再生方式Ｂで再生するための解析情報（ヘッダー情報）との二つの部分から構成される。
【０００８】
ここで、それぞれの方式のヘッダー情報部分には、波形データに対する基本的な情報（波形の総サンプル数、サンプル時のサンプリング周波数など）の他に、音源でそれぞれの方式に従って再生する際に必要な情報が含まれる。各方式では、それぞれの方式での再生に必要な固有の情報をあらかじめ波形データを解析してヘッダー情報として持つことで高品位なタイム・ストレッチやピッチ・シフトを実現しているため、ここに収められる情報は非常に重要なものとなる。
このように、再生に使用する音源の方式によって再生時に必要とする解析情報が異なるため、方式が異なれば必要とされるヘッダー情報も異なる。
【０００９】
【発明が解決しようとする課題】
従来の方式では、たとえ波形データ本体が共通でも、再生する方式が異なればそのヘッダー情報が異なるため、波形データを各方式に応じた異なるファイルとして作成することが必要であった。このため、複数の方式に対応した音源（すなわち複数の再生方式のいずれかを任意に選択できる音源）などでは、同じ音の波形データであっても、対応する方式の数だけ波形データファイルを作成して記憶しておくことが必要になり、記憶媒体の利用効率が非常に悪かった。
【００１０】
例えば、一つの音声の波形データについて、二つの再生方式に対応するためには、一つの方式だけに対応する場合の約２倍の記憶容量が必要になる。これが、３つの方式に対応する場合には約３倍となり、記憶媒体の利用効率は、はなはだ良くないものになっていた。
この結果、記憶媒体の容量が限られている場合には、通常は必要なファイルだけを選択して記憶している場合が多く、多種類の波形データのファイルを記憶させることはできなかった。
このように、こうした多くの方式に対応するためには、ある種類の音声の波形データについて複数の音源方式にそれぞれ対応する波形データファイルをそれぞれ用意する代わりに、波形データの種類を全体として減らすか、種類はそのままに音源方式毎に記憶媒体を分ける、などといった対策が必要であり、不便であった。
【００１１】
また、方式Ａのための波形データファイルは方式Ａに対応する音源でしか利用できず、方式Ｂにしか対応しない音源で方式Ａのための波形データファイルを用いてピッチ変換等を行うことはできなかった。
このため、ある方式の音源についての波形データファイルを収めた記憶媒体を多数所持していても、例えば新機種を購入するなどで音源の方式が変わってしまうと、それまで所持していた記憶媒体が利用できなくなってしまうことになり、はなはだ不便であった。
【００１２】
その他、データ管理の面では、同じ波形データについて複数の方式にそれぞれ対応してファイルがあった場合、それぞれのファイルが同じ元波形データを有していることを示す情報は、ファイル名などしかないのが実情である。このため、これらのファイルのうち何れかの方式のファイルを書換え可能な記憶媒体にコピーした後に、そのファイル名を書き換えた場合には、コピー前とコピー後のファイルがそれぞれどのような関係にあったのかを追跡するのは非常に難しくなってしまっていた。例えば、filename.dtaとfilename.dtbというファイル名の状態では、同じ元データであることが用意に理解できるが、片方のファイル名を変更してしまった場合には、特定が難しくなる。
【００１３】
本発明の上述の諸問題点に鑑みてなされたものであり、各種方式に対応できる波形データファイルを少ないデータ量で記憶媒体に記憶できるようにしてその記憶媒体の利用効率を高める、あるいは再生方式の変更によって所持している記憶媒体が無駄になるようなことを防ぐ、あるいは波形データファイルの管理を容易化するなどを目的とする。
【００１４】
【課題を解決するための手段】
上述の課題を解決するために、本発明に係る波形再生装置は、音の波形を表す波形データを記憶した波形データ領域と、前記波形データを前記音の物理的性質の少なくとも一つを変えて再生するために用いる補助データであってそれに用いる再生方式に応じて前記波形データを予め解析して得たものを、異なる複数の再生方式のそれぞれに対応して複数組記憶した補助データ領域とを組み合わせたフォーマットのデータ構造を持つ波形データファイルを記憶する記憶手段と、前記波形データファイル中の波形データを、それに組み合わされた補助データを参照して再生する再生方式を、少なくとも２つの方式について実行できる再生手段と、前記波形データファイルに基づいて、前記波形データファイルに含まれる補助データに対応した複数の再生方式から１つを選択する選択手段と、を備え、前記波形データファイルの波形データを、前記選択手段で選択された再生方式に対応した補助データを参照して、前記選択された再生方式で再生するように構成する。ここで、上述の補助データに基づいて変えられるその音の物理的性質としては、再生時間（時間軸の圧縮／伸張）やピッチなどが考えられる。この補助データとしては、例えば波形データ領域に記憶された波形の位置を複数指し示す情報などとすることができる。
【００１６】
【作用】
本発明では、上述の課題を解決するために、波形データ＋再生時に必要な補助データ（複数）を一つのファイルとしている。
具体的には図１に示すようなファイル構造となる。
この複数方式対応ファイル（この例ではfilename.dat) には、波形データ以外に、方式Ａのための補助データと方式Ｂのための補助データを持っている。この例では二つの方式で説明しているが、もちろん３以上の方式でもよい。このファイルの波形データを再生する際には、再生装置が対応している再生方式に応じて、記憶媒体から必要なデータ（波形データとその方式の補助データ）だけを取り出してもよいし、あるいは波形データファイルをいったん全部取り出して再生時に必要なデータだけを使うようにしてもよい。
【００１７】
例えば  方式Ａで使用する場合には「方式Ａのための補助データ＋波形データ」を読み出す。一方で、方式Ｂで使用する場合には「方式Ｂのための補助データ＋波形データ」を読み出す。このように、必要に応じて必要なデータだけを読み出すことにより、方式専用に複数のファイルを用意した場合と同じことが実現でき、同時に、記憶媒体の消費量、データ管理のためのコストなどを最小限に抑えることができる。
【００１８】
このようなデータ構造で波形データファイルを記憶した記憶媒体であれば、再生方式がそれぞれ異なっている再生装置に対しても、それらの再生方式に対応した補助データが波形データファイル中に記憶されていれば、いずれの再生装置によっても波形データを再生できることになる。この結果、例えば現在所持している再生装置を買い換えるなどした結果その再生方式が変わってしまった場合にも、それまで所持していた記憶媒体が無駄になるといったことはなくなる。また、ファイルの管理上でも、波形データが同じであれば、再生方式が複数あってもファイルが一つとなるので、管理が容易である。
【００１９】
また、本発明に係る再生装置は複数の再生方式に対応しており、このファイルに含まれているヘッダー等から対応している方式を自動選択し、ユーザーに選択肢を提示する、といった利用方法が可能である。
【００２０】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図２には本発明に係る一実施例としての再生装置が示される。この実施例は、ユーザによる実演奏も可能な自動演奏装置に本発明の再生装置を搭載したものである。
【００２１】
図２において、ＣＰＵ１はこの再生装置の全体的な制御を司る中央処理装置であり、バス１４を介して各種回路と接続されており、各種の制御プログラムを実行してそれらの回路の制御などを行う。ＲＯＭ２は各種の制御プログラムやテーブルなどを記憶するリード・オンリー・メモリである。ＲＡＭ３は作業用領域を提供するランダム・アクセス・メモリである。各種操作子群４は再生装置を操作するための各種のスイッチ群であり、操作子制御回路５を介してバス１４に接続される。ＬＣＤ６は各種の操作指示のための表示や動作状態の表示などをする液晶表示装置であり、ＬＣＤインタフェース（Ｉ／Ｆ）回路７を介してバス１４に接続される。ＭＩＤＩインタフェース回路８は外部からの又は外部へのＭＩＤＩ信号のインタフェースとなる部分である。
【００２２】
９はＣＤドライバーなどのＣＤ−ＲＯＭ等制御回路であり、ＣＤ−ＲＯＭ等の外部の記憶媒体１０が装填され、その記憶媒体に格納されているデータを読み取ってこの再生装置内のＲＡＭ３に転送するなどデータの取り込みなどを行うことができる。記憶媒体１０はＣＤ−ＲＯＭ、フロッピィディスク、磁気ディスク、磁気テープなどの各種の可搬型の媒体からなり、各種の音の波形に関しての波形データファイルが格納されている。この波形データファイルのフォーマットについては後述する。
【００２３】
オーディオ・フレーズ音源１１は、波形データファイルに基づき各種の再生方式に従って音信号を再生する音源装置であって、具体的にはＤＳＰ（ディジタル・シグナル・プロセッサ）とＤＳＰ用プログラムとから構成されている。本実施例では再生方式として、方式Ａ（ホルマント方式）と方式Ｂ（グレイン方式）の２種類を実行できるようにしてある。このホルマント方式とグレイン方式については後に項目を挙げて詳述する。このオーディオ・フレーズ音源１１からの音声信号はＤ／Ａ変換器でディジタル／アナログ変換されてから増幅回路１３で増幅され、図示しないスピーカから放音される。
【００２４】
図３に記憶媒体１０に格納されている波形データファイルのファイル構造が概略的に示される。このファイルは内部で幾つかの領域に分かれており、ここではそのそれぞれの領域をチャンクと呼ぶ。それぞれのチャンクはチャンク毎の「サイズ」、「ＩＤ（識別子）」、「情報データ」という３つの部分から構成されている。チャンク内の各データは１アドレスに対して１バイト長で格納される。
【００２５】
ここで、チャンクの「サイズ」は、そのチャンクのサイズをバイト(byte)を単位にして表したものであり、あるチャンクの次のチャンクを参照するときには、この「サイズ」値を現在のチャンクの開始アドレスに加算することで次チャンクの開始アドレスを求めることができる。
【００２６】
また、「ＩＤ（識別子）」はそれぞれのチャンクに収められている情報の種類を４文字で表すもので、これによって各チャンクの情報がどのようなものであるかを識別することができる。この種類については後に詳説するが、本実施例では“head",“typ1",“typ2",“whed",“wave"などの種類がある。
【００２７】
「情報データ」を収納する部分については、それぞれ独自の形式で情報データが収納される。この情報データとしては、ファイルの目録的情報、波形データ本体（サンプル値）、波形データの解析情報などがある。
【００２８】
このファイル構造では、内部に持つチャンクの数に制限はないため、必要な数だけチャンクを追加することができる。ファイル全体のサイズはファイルの一番最初のチャンク（ヘッダー）に定められ、ここを読み込むことがファイルを記憶媒体から読み込む際の最初の操作となる。
【００２９】
この実施例のファイルは方式Ａ、Ｂの２つの再生方式に対応している例である。最初のチャンクであるチャンク１（ＩＤ＝“head"）はファイル全体のヘッダーとなる部分である。ファイル全体のヘッダーに収められている情報は、その後に収められている各チャンクのヘッダーや波形データ本体のアドレス、対応している再生方式のリスト、著作権情報などである。
【００３０】
チャンク２と３（ＩＤ＝“typ1" or “typ2"）には、各再生方式のための解析情報が収納されている。この部分は再生方式の数に対応するものであってファイルによって個数が異なる。この実施例では、再生方式ＡとＢのための２種類の解析情報が用意されている。各解析情報の中身は再生方式によって大きく異なる。例えば、詳しくは後述するが、この解析情報としては、再生方式Ａ（ホルマント方式）の場合には切出し開始アドレスｃｓａなどがあり、方式Ｂ（グレイン方式）の場合にはマークアドレスｍなどがある。
【００３１】
チャンク４（ＩＤ＝“whed"）には、波形データ本体のための各種情報がヘッダー情報として収納されている。この波形データ本体のためのヘッダー情報の中身（すなわち「情報データ」領域の内容）は、総サンプル数、サンプリング周波数、サンプリングビット数といったものであり、波形データを再生装置で利用するための情報である。
【００３２】
最後のチャンク５（ＩＤ＝“wave"）に収められているものが波形データ本体である。このチャンク５の「情報データ」領域には、音の波形を所定のサンプリング周波数でサンプリングした時系列なサンプル値（振幅値）のデータが所定の形式（例えばデータ幅：１６ビット／サンプリング周波数：４４１００ｋHzなど）で収められており、通常、ファイル中で最もデータ量が大きな部分となる。
【００３３】
次に、この実施例装置の動作を説明する。
まず、記憶媒体１０に格納されている波形データファイルを再生装置内のＲＡＭ３上にロードする際の動作について説明する。
【００３４】
図４には記憶媒体１０（ディスク等）上からＲＡＭ３上に必要なデータをロードしてくる際の手順を示す。
記憶媒体１０がその読取り用のドライバに装填されると、最初に必要な初期設定を行った後（ステップＳ１）、その記憶媒体１０の中に格納されている各ファイルのファイル名が読み出されて、ＬＣＤ６に表示される。これによりユーザーが操作子によってファイルの指定を行う（ステップＳ２）。ファイルが指定されると、その指定されたファイルについて、図３のフォーマットに従って、最初のチャンク１の中からこのファイルが対応している再生方式のリストを取得する（ステップＳ３）。
【００３５】
リストが取得できたら、これをＬＣＤ６に表示し（ステップＳ４）、ユーザーに再生方式の選択を求める。ユーザーは表示された再生方式の中から自分の用途（音を再生する目的）に最適と思われる方式を選択する（ステップＳ５）。再生方式が選択されると、再びファイルのフォーマットに従って、指定された再生方式に必要な解析情報が収められているチャンク（本実施例ではチャンク２または３）の開始アドレスを求めて、そのチャンクのデータをＲＡＭ３上にロードする（ステップＳ６）。続いて波形データのヘッダー（チャンク４）および波形データ本体（チャンク５）をＲＡＭ３上にロードし（ステップＳ７、Ｓ８）、処理を終了する。
【００３６】
本発明の実施にあたっては種々の変形形態が可能である。例えば上述の実施例では、波形データ本体は記憶媒体中に非圧縮の状態で格納されているものとして説明したが、本発明はこれに限られるものではなく、波形データ本体を圧縮形式で持つようにしてもよい。すなわち、さまざまな方法を用いて波形データ本体をデータ量を圧縮した状態で持つようにする。この場合、波形データ本体を外部記憶媒体から装置内のメモリ上に展開する際に解凍されている状態にする必要があれば、ロードの時点で同時に解凍すればよい。また、再生時に解凍処理を行いながら再生することが可能であれば、メモリ上には、外部記憶媒体上でのファイルのデータ形式と同様、圧縮された状態で転送するものであってもよい。
【００３７】
また、本実施例では、必要な解析情報だけを外部記憶媒体から装置内のメモリに転送する仕方のみを説明したが、本発明はこれに限られるものではなく、装置内のメモリ上に十分な記憶容量がある場合には、外部記憶媒体上にある各方式の解析情報を丸ごと一括して装置内メモリに転送してしまい、再生時に最適な再生方式を選択して、その選択した方式の解析情報を装置内メモリから読み出して再生するという手法を用いてもよい。
【００３８】
例えば、ある方式はテンポとピッチを少し変える場合に最も効果を発揮し、別の方式は大きく変えた場合に最も効果を発揮する、という場合を想定する。こうした場合、再生直前に最適と思われる方式を自動的に選択してその方式で再生するという方法が可能である。
【００３９】
また、再生方法によってＤＳＰの負荷が異なる場合、多くのトラック分の処理を同時に行っているときには、品質よりも負荷の低さを優先した方式を選択し、同時再生しているトラックが少ない場合には高品質な方式を選択するという応用も可能である。
【００４０】
〔ホルマント方式の説明〕
以下、前述したホルマント（Formant)方式により波形データを時間軸圧縮伸張（タイムストレッチ）する装置について図６〜図８を参照して説明する。この装置では、ＣＰＵから必要なパラメータが供給され、ＤＳＰにおいてソフトウェアによってホルマント方式で時間軸圧縮伸張が処理される。図６〜図８に示したものは、再生音高が原波形信号と同じ音高の場合の処理であり、図６は時間軸を伸張する場合の処理を、図７は時間軸を圧縮する場合の処理を示しており、図８は再生音高が原波形信号よりも高く、時間軸の圧縮伸張はしないように設定した場合の処理を示している。
【００４１】
処理を制御するパラメータとして、ＣＰＵから時間圧縮／伸張量を表す時間圧縮伸張量情報（以下、時間圧伸量情報という）と、再生する音高を制御する音高情報とが供給される。
この「時間圧伸量情報」については、ＣＰＵが、時間軸の圧縮／伸張量を設定する操作子の操作状態や変調信号に従って時間圧伸量情報を演算し、ＤＳＰに転送している。
また、「音高情報」については、ＣＰＵが、キーボード（鍵盤）の演奏操作に対応して押鍵された鍵に従って音高情報を演算し、ＤＳＰに転送している。
【００４２】
図６〜図８に示されている各パラメータの詳細は以下のとおりである。
「波形データ」は、記憶装置に記憶されているものであり、図示されるような波形データとともに、ｃｓａ１、ｃｓａ２、ｃｓａ３・・・で示されるような、波形データを切り出すときに使用する切出し開始アドレスも記憶されている。
「時間情報ｐｐ」は、波形データのアドレスを示して、波形データの時間軸上の位置を示す情報である。ＣＰＵから転送された時間圧伸量情報を、ＤＳＰにおいて所望の周期（具体的にはサンプリング周期）で累算して算出する。したがって、時間情報ＰＰは、時間圧伸量情報の値に対応した変化速度で変化する。
【００４３】
ＤＳＰにおいて行う処理は、２つの信号処理系を有して、第１処理系と第２処理系に示すような波形信号を生成する。
この第１処理系では、ＣＰＵから供給される音高情報に対応する、再生音高の周期の２倍の周期に、切出し開始アドレスの更新と、窓関数の周期が設定される。再生音高の周期の２倍の周期毎に、時間情報ＰＰが示す位置（波形データのアドレス）に対応した切出し開始アドレスから波形データを読み出す。そして、切り出した波形データの切出し始めと終わりの部分で、前後の波形データと不連続に繋がることを防止する目的で、読み出した波形データに、再生音高の周期の２倍の周期の三角波の窓関数で振幅変調している。
この第２処理系では、ＣＰＵから供給される音高情報に対応する、再生音高の周期の２倍の周期に、切出し開始アドレスの更新と、窓関数の周期が設定される。第１の処理系と再生音高の周期だけ位相がずれて、再生音高の周期の２倍の周期毎に、時間情報ＰＰが示す位置（波形データのアドレス）に対応した切出し開始アドレスから波形データを読み出す。そして、切り出した波形データの切出し始めと終わりの部分で、前後の波形データと不連続に繋がることを防止する目的で、読み出した波形データに、再生音高の周期の２倍の周期の三角波の窓関数で振幅変調している。
【００４４】
次に、図６を参照して、時間軸伸張の場合の処理を説明する。
ＣＰＵから転送される時間圧伸量情報が、１より小さな値の場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報ＰＰがサンプリング周期毎に１より小さな値で進むことになる。
したがって、再生音高の周期である時間ｔ０、ｔ１、ｔ２、ｔ３・・・での時間情報ＰＰ（０）、ＰＰ（１）、ＰＰ（２）・・・の変化は、図示のように波形データの原波形信号よりも遅く進む。
ここで、ＰＰ（０）はｃｓａ１、ＰＰ（１）はｃｓａ１とｃｓａ２の間、ＰＰ（２）はｃｓａ２とｃｓａ３の間、ＰＰ（３）はｃｓａ３とｃｓａ４の間、ＰＰ（４）はｃｓａ４とｃｓａ５の間、・・・と変化する。
【００４５】
第１処理系は、各時間ｔ０、ｔ２、ｔ４・・・毎に各時間情報の示すＰＰ（０）、ＰＰ（２）、ＰＰ（４）・・・より前で最も近い切出し開始アドレスｃｓａ１、ｃｓａ２、ｃｓａ４・・・から波形データの読出しを開始している。
第２処理系は、各時間ｔ１、ｔ３、ｔ５・・・毎に各時間情報の示すＰＰ（１）、ＰＰ（３）、ＰＰ（５）・・・より前で最も近い切出し開始アドレスｃｓａ１、ｃｓａ３、ｃｓａ５・・・から波形データの読出しを開始している。
そして、読み出した波形データに窓関数を付与して、それぞれ第１処理系および第２処理系に示されるような波形信号を生成する。さらに、２つの処理系の波形信号を加算して出力する。
以上の処理によって、原波形では、Ｔo の長さの波形データをＴs の長さとして、時間軸を伸張して再生することができる。
【００４６】
次に、図７を参照して、時間軸圧縮の場合の処理を説明する。
ＣＰＵから転送される時間圧伸量情報が１よりも大きな値である場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報ＰＰが、サンプリング周期毎に１より大きな値で進むことになる。
したがって、再生音高の周期である時間ｔ０、ｔ１、ｔ２、ｔ３・・・での時間情報ＰＰ（０）、ＰＰ（１）、ＰＰ（２）・・・の変化は、図示のように波形データの原波形信号よりも速く進む。
ここで、ＰＰ（０）はｃｓａ１、ＰＰ（１）はｃｓａ２とｃｓａ３の間、ＰＰ（２）はｃｓａ３とｃｓａ４の間、ＰＰ（３）はｃｓａ４とｃｓａ５の間、ＰＰ（４）はｃｓａ５とｃｓａ６の間、ＰＰ（５）はｃｓａ７と・・・と変化する。
【００４７】
第１処理系は、各時間ｔ０、ｔ２、ｔ４・・・毎に各時間情報の示すＰＰ（０）、ＰＰ（２）、ＰＰ（４）・・・より前で最も近い切出し開始アドレスｃｓａ１、ｃｓａ３、ｃｓａ５・・・から波形データの読出しを開始している。
第２処理系は、各時間ｔ１、ｔ３、ｔ５・・・毎に各時間情報の示すＰＰ（１）、ＰＰ（３）、ＰＰ（５）・・・より前で最も近い切出し開始アドレスｃｓａ２、ｃｓａ４、ｃｓａ７・・・から波形データの読出しを開始している。
そして、読み出した波形データに窓関数を付与して、それぞれ第１処理系および第２処理系に示されるような波形信号を生成する。さらに、２つの処理系の波形信号を加算して出力する。
以上の処理によって、原波形ではＴo の長さの波形データをＴc の長さとして、時間軸を圧縮して再生することができる。
【００４８】
次に、図８を参照して、時間軸圧縮伸張は行わず、再生音高を原波形データより高くする場合の処理を説明する。
再生音高を原波形信号の音高より高い音高で再生するように音高情報を供給する場合である。ただし、ＣＰＵから転送される時間圧伸量情報は１として時間軸圧縮伸張は行わない。
時間情報ＰＰが、サンプリング周期毎に１の値で進むことになる。
したがって、再生音高の周期である時間ｔ０、ｔ１、ｔ２、ｔ３・・・での時間情報ＰＰ（０）、ＰＰ（１）、ＰＰ（２）・・・の変化は、図示のように波形データの原波形信号と同じ速さで進む。
ここで、ＰＰ（０）はｃｓａ１、ＰＰ（１）はｃｓａ１とｃｓａ２の間、ＰＰ（２）はｃｓａ２とｃｓａ３の間、ＰＰ（３）はｃｓａ３とｃｓａ４の間、ＰＰ（４）はｃｓａ４とｃｓａ５の間、ＰＰ（５）はｃｓａ５と・・・と変化する。
【００４９】
第１処理系は、各時間ｔ０、ｔ２、ｔ４・・・毎に各時間情報の示すＰＰ（０）、ＰＰ（２）、ＰＰ（４）・・・より前で最も近い切出し開始アドレスｃｓａ１、ｃｓａ２、ｃｓａ４・・・から波形データの読出しを開始している。
第２処理系は、各時間ｔ１、ｔ３、ｔ５・・・毎に各時間情報の示すＰＰ（１）、ＰＰ（３）、ＰＰ（５）・・・より前で最も近い切出し開始アドレスｃｓａ１、ｃｓａ３、ｃｓａ５・・・から波形データの読出しを開始している。
そして、読み出した波形データに窓関数を付与して、それぞれ第１処理系および第２処理系に示されるような波形信号を生成する。さらに、２つの処理系の波形信号を加算して出力する。
以上の処理によって、原波形ではＴo の長さの波形データをＴn の長さとして、波形単位でみれば多少の誤差はあるが、時間軸を圧縮も伸張もせずに再生音高を原波形データより高い周期で再生することができる。
【００５０】
以上、この装置では、時間圧伸量情報、音高情報をリアルタイルで供給することによって、記憶手段に記憶されている波形データの時間軸圧縮伸張、および音高をリアルタイムで任意に制御することができる。また、この装置は、波形信号のホルマントを維持したまま、再生音高を変化させることができるものである。さらに、この波形データの読出し速度を変化させることによって、ホルマントを高域側あるいは低域側にシフトすることもできる。
なお，この手法の波形発生装置では、ホルマントを含んだ波形信号（１波あるいは複数波）を抽出できない波形信号（例、ピッチ検出できない波形信号）はうまく制御することができない。
【００５１】
〔グレイン方式の説明〕
以下、前述したグレイン（Grain)方式により波形データを時間軸圧縮伸張（タイムストレッチ）する装置について図９〜図１１を参照して説明する。この装置では、ＣＰＵから必要なパラメータが供給され、ＤＳＰにおいてソフトウェアによってグレイン方式で時間軸圧縮伸張が処理される。図９〜図１１に示したものは、再生音高が原波形信号と同じ音高の場合の処理であり、図９は時間軸を伸張する場合の処理を、図１０は時間軸を圧縮する場合の処理を示しており、図１１は再生音高が原波形信号よりも高く、時間軸の圧縮伸張はしないように設定した場合の処理を示している。
【００５２】
処理を制御するパラメータとして、ＣＰＵから時間圧縮／伸張量を表す時間圧縮伸張量情報（以下、時間圧伸量情報という）と、再生する音高を制御する音高情報とが供給される。
この「時間圧伸量情報」については、ＣＰＵが、時間軸の圧縮／伸張量を設定する操作子の操作状態や変調信号に従って時間圧伸量情報を演算し、ＤＳＰに転送している。
また、「音高情報」については、ＣＰＵが、キーボード（鍵盤）の演奏操作に対応して押鍵された鍵に従って音高情報を演算し、ＤＳＰに転送している。
【００５３】
図９〜図１１に示されている各パラメータの詳細は以下のとおりである。
「波形データ」は、記憶装置に記憶されているものであり、図示されるような波形データとともに、ｍ１、ｍ２、ｍ３・・・で示されるような、繰り返し再生や飛び越し再生時に使用するマークアドレスも記憶されている。このマークアドレスｍ１、ｍ２、ｍ３・・・は波形データを繰り返したり、飛び越したりしても、不快なノイズが発生しないようなポイントを見つけてそれぞれ設定している。
「時間情報ｐｐ」は、波形データのアドレスを示して、波形データの時間軸上の位置を示す情報である。ＣＰＵから転送された時間圧伸量情報を、ＤＳＰにおいて所望の周期（具体的にはサンプリング周期）で累算して算出する。したがって、時間情報ＰＰは、時間圧伸量情報の値に対応した変化速度で変化する。
「読出し波形データ」は、再生音高に対応した読出し速度で記憶装置から読み出した波形データである。再生音高はＣＰＵから供給される音高情報に対応して算出される。また、読出し波形データが次のマークアドレスに達する毎に時間情報の示す値を参照し、通過したマークアドレスで最も近いマークアドレスから波形データの読出しを開始する。
【００５４】
次に、図９を参照して、時間軸伸張の場合の処理を説明する。
ＣＰＵから転送される時間圧伸量情報が、１より小さな値の場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報ＰＰがサンプリング周期毎に１より小さな値で進むことになる。初期値として時間情報ＰＰ（０）は、波形データのスタート位置を示すマークアドレスｍ１を設定している。
まず、スタートにおける時間ｔ０での時間情報ＰＰ（０）はマークアドレスｍ１を示しているため、マークアドレスｍ１から読み出された波形データが読出し波形データとなる。
次に、マークアドレスｍ１からの波形データが読み終わり、次のマークアドレスに達して時間ｔ１になったとき、時間情報ＰＰ（１）を参照する。
時間情報ＰＰの変化は、図示のように、波形データの原波形信号より遅く進むように設定されているため、時間ｔ１での時間情報ＰＰ（１）の値は次のマークアドレスｍ２まで達していない。よって、時間ｔ１からは、前回と同じマークアドレスｍ１からの波形データが読み出される。
以下同様に、各マークアドレスからの波形データが読み出し終わり、次のマークアドレスに達したとき毎に、時間情報ＰＰを参照し、読出し開始のアドレスを決定する。そして、読み出した波形データを再生波形信号として出力する。
以上の処理によって、この例ではマークアドレスｍ１からの波形データを２回読み出しており、原波形ではＴo の長さの波形データをＴs の長さとして、時間軸を伸張する処理を行っている。
【００５５】
次に、図１０を参照して、時間軸圧縮の場合の処理を説明する。
ＣＰＵから転送される時間圧伸量情報が１よりも大きな値である場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報ＰＰが、サンプリング周期毎に１より大きな値で進むことになる。初期値として時間情報ＰＰ（０）は、波形データのスタート位置を示すマークアドレスｍ１を設定している。
まず、スタートにおける時間ｔ０での時間情報ＰＰ（０）はマークアドレスｍ１を示しているため、マークアドレスｍ１から読み出された波形データが読出し波形データとなる。
次に、マークアドレスｍ１からの波形データが読み終わり、次のマークアドレスに達して時間ｔ１になったとき、時間情報ＰＰ（１）を参照する。
時間情報ＰＰの変化は、図示のように、波形データの原波形信号より速く進むように設定されているため、時間ｔ１での時間情報ＰＰ（１）の値は次のマークアドレスｍ２を超えている。よって、時間ｔ１からは、前回と同じマークアドレスｍ２からの波形データが読み出される。
以下同様に、各マークアドレスからの波形データが読出し終わり、次のマークアドレスに達したとき毎に、時間情報ＰＰを参照し、読出し開始のアドレスを決定する。そして、読み出した波形データを再生波形信号として出力する。
以上の処理によって、この例ではマークアドレスｍ４からの波形データを読み飛ばしており、原波形ではＴo の長さの波形データをＴc の長さとして、時間軸を圧縮する処理を行っている。
【００５６】
次に、図１１を参照して、時間軸圧縮伸張は行わず、再生音高を原波形データより高くする場合の処理を説明する。
再生音高を原波形信号の音高より高い音高で再生するように音高情報を供給する場合である。ただし、ＣＰＵから転送される時間圧伸量情報は１として時間軸圧縮伸張は行わない。
時間情報ＰＰが、サンプリング周期毎に１の値で進むことになる。初期値として時間情報ＰＰ（０）は、波形データのスタート位置を示すマークアドレスｍ１を設定している。
まず、スタートにおける時間ｔ０での時間情報ＰＰ（０）はマークアドレスｍ１を示しているため、マークアドレスｍ１から読み出された波形データが読出し波形データとなる。このとき、再生音高を原波形信号の音高より高くするように音高情報が入力されているため、波形データの読出し速度が速く制御される。
従って、マークアドレスｍ１からの波形データが読み終わり、次のマークアドレスに達して時間ｔ１になったとき、時間情報ＰＰ（１）を参照すると、次のマークアドレスｍ２までには達していない。よって、時間ｔ１からは、前回と同じマークアドレスｍ１からの波形データが読み出される。
以下同様に、各マークアドレスからの波形データが読出し終わり、次のマークアドレスに達したとき毎に、時間情報ＰＰを参照し、読出し開始のアドレスを決定する。そして、読み出した波形データを再生波形信号として出力する。
以上の処理によって、この例ではマークアドレスｍ１やｍ４からの波形データを繰り返して読み出しており、原波形ではＴo の長さの波形データをほぼ同じＴn の長さとして、再生音高は異なるが、時間軸を圧縮も伸張もしない処理を行っている。
【００５７】
以上、この装置では、時間圧伸量情報、音高情報をリアルタイルで供給することによって、記憶手段に記憶されている波形データの時間軸圧縮伸張および音高をリアルタイムで任意に制御することができる。この装置は、波形信号のホルマントが再生音高の変化に応じて変化するものであるが、波形形成の処理系統が１チャネルでよいことから、同時に複数楽音を形成する場合に有利となる。
【００５８】
【発明の効果】
以上に説明したように、本発明によれば、各種方式に対応できる波形データファイルを少ないデータ量で記憶媒体に記憶できるようにしてその記憶媒体の利用効率を高めることができる。
あるいは再生方式の変更によって所持している記憶媒体が無駄になるようなことを防ぐことができる。
あるいは波形データファイルの管理を容易化することができる。
【図面の簡単な説明】
【図１】本発明に係る原理説明のための図である。
【図２】本発明に係る一実施例としての再生装置のブロック構成を示す図である。
【図３】実施例装置における波形データファイルのフォーマットを示す図である。
【図４】実施例装置の動作手順を説明するためのフローチャートである。
【図５】従来の各種方式専用のファイルのフォーマットを説明する図である。
【図６】ホルマント方式の説明図である。
【図７】ホルマント方式の説明図である。
【図８】ホルマント方式の説明図である。
【図９】グレイン方式の説明図である。
【図１０】グレイン方式の説明図である。
【図１１】グレイン方式の説明図である。
【符号の説明】
１  ＣＰＵ（中央処理装置）
２  ＲＯＭ（リード・オンリー・メモリ）
３  ＲＡＭ（ランダム・アクセス・メモリ）
４  各種操作子群
５  操作子制御回路
６  ＬＣＤ（液晶表示器）
７  ＬＣＤインタフェース回路
８  ＭＩＤＩインタフェース回路
９  ＣＤ−ＲＯＭ等の制御回路
１０  ＣＤ−ＲＯＭ等の記憶媒体
１１  オーディオ・フレーズ音源（ＤＳＰ）
１２  Ｄ／Ａ変換器
１３  増幅器
１４  バス
【図１】
0004037973.tif 000002
【図２】
0004037973.tif 000003
【図３】
0004037973.tif 000004
【図４】
0004037973.tif 000005
【図５】
0004037973.tif 000006
【図６】
0004037973.tif 000007
【図７】
0004037973.tif 000008
【図８】
0004037973.tif 000009
【図９】
0004037973.tif 000010
【図１０】
0004037973.tif 000011
【図１１】
0004037973.tif 000012