JP4037973B2 - 波形再生装置 - Google Patents
波形再生装置 Download PDFInfo
- Publication number
- JP4037973B2 JP4037973B2 JP33925398A JP33925398A JP4037973B2 JP 4037973 B2 JP4037973 B2 JP 4037973B2 JP 33925398 A JP33925398 A JP 33925398A JP 33925398 A JP33925398 A JP 33925398A JP 4037973 B2 JP4037973 B2 JP 4037973B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- waveform
- time
- data
- information
- 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】
例えば、楽音や音声などの音の波形データ(時系列な振幅値データなど)を記憶しておいて、その波形データに基づいて音をピッチ変換やタイムストレッチ等して再生する再生装置があり、例えば電子楽器の分野では自動演奏装置の音源などに利用されている。かかる再生装置においては、その波形データをその波形データにあった最適な方法でピッチ変換やタイムストレッチ等して再生できることが望まれる。
【0003】
【従来の技術】
一般に、音源などの再生装置では、一連の音を周期的にサンプリングしたサンプル値データ(振幅値データ)からなる波形データを記憶しておき、この波形データを再生する際に、再生される音をピッチ変換したりタイムストレッチ(再生時間の圧縮/伸張)したりすることが行われている。
【0004】
かかる波形データをピッチ変換したりタイムストレッチしたりする方法には種々の方式があり、再生にあたって、再生される音の品質に対する要求やその波形データの性質(すなわち再生しようとする音の性質)などその用途に応じて最適な結果を得ることができるよう、方式を選択することが望ましい。
【0005】
例えば、ある方式Aはタイムストレッチやピッチ変換を広い可変範囲で行えるが、それらの値を少しでも変えると再生音声が原音から目立って変化してしまうという性質があり、一方、他の方式Bは可変範囲が狭い代わりにその範囲内においては再生音声は非常に原音に近いという性質がある、というような場合には、音を再生する目的の違いに応じて方式を使い分けることが有効である。
【0006】
また、再生する音が例えばサックス、ベース、ギターなど何れの種類の音であるかに応じて、それらの音の性格がよく現れる再生方式を選択することも有効である。
【0007】
このため、これらの波形データを記憶しておくファイルのデータ・フォーマットは、従来、図5に示すように、使用する音源の再生方式にあわせて別々のファイルになっていた。例えば、波形データを再生方式Aで再生するための方式A専用のファイル(ファイル名:filename.dta) は、波形データ本体(時系列なサンプル値)とその波形データ本体を方式Aで再生するために必要なその波形データに関する解析情報(ヘッダー情報)との二つの部分から大きくは構成される。同様に波形データを再生方式Bで再生するための方式B専用のファイル(ファイル名:filename.dtb) も、波形データ本体とその波形データを再生方式Bで再生するための解析情報(ヘッダー情報)との二つの部分から構成される。
【0008】
ここで、それぞれの方式のヘッダー情報部分には、波形データに対する基本的な情報(波形の総サンプル数、サンプル時のサンプリング周波数など)の他に、音源でそれぞれの方式に従って再生する際に必要な情報が含まれる。各方式では、それぞれの方式での再生に必要な固有の情報をあらかじめ波形データを解析してヘッダー情報として持つことで高品位なタイム・ストレッチやピッチ・シフトを実現しているため、ここに収められる情報は非常に重要なものとなる。
このように、再生に使用する音源の方式によって再生時に必要とする解析情報が異なるため、方式が異なれば必要とされるヘッダー情報も異なる。
【0009】
【発明が解決しようとする課題】
従来の方式では、たとえ波形データ本体が共通でも、再生する方式が異なればそのヘッダー情報が異なるため、波形データを各方式に応じた異なるファイルとして作成することが必要であった。このため、複数の方式に対応した音源(すなわち複数の再生方式のいずれかを任意に選択できる音源)などでは、同じ音の波形データであっても、対応する方式の数だけ波形データファイルを作成して記憶しておくことが必要になり、記憶媒体の利用効率が非常に悪かった。
【0010】
例えば、一つの音声の波形データについて、二つの再生方式に対応するためには、一つの方式だけに対応する場合の約2倍の記憶容量が必要になる。これが、3つの方式に対応する場合には約3倍となり、記憶媒体の利用効率は、はなはだ良くないものになっていた。
この結果、記憶媒体の容量が限られている場合には、通常は必要なファイルだけを選択して記憶している場合が多く、多種類の波形データのファイルを記憶させることはできなかった。
このように、こうした多くの方式に対応するためには、ある種類の音声の波形データについて複数の音源方式にそれぞれ対応する波形データファイルをそれぞれ用意する代わりに、波形データの種類を全体として減らすか、種類はそのままに音源方式毎に記憶媒体を分ける、などといった対策が必要であり、不便であった。
【0011】
また、方式Aのための波形データファイルは方式Aに対応する音源でしか利用できず、方式Bにしか対応しない音源で方式Aのための波形データファイルを用いてピッチ変換等を行うことはできなかった。
このため、ある方式の音源についての波形データファイルを収めた記憶媒体を多数所持していても、例えば新機種を購入するなどで音源の方式が変わってしまうと、それまで所持していた記憶媒体が利用できなくなってしまうことになり、はなはだ不便であった。
【0012】
その他、データ管理の面では、同じ波形データについて複数の方式にそれぞれ対応してファイルがあった場合、それぞれのファイルが同じ元波形データを有していることを示す情報は、ファイル名などしかないのが実情である。このため、これらのファイルのうち何れかの方式のファイルを書換え可能な記憶媒体にコピーした後に、そのファイル名を書き換えた場合には、コピー前とコピー後のファイルがそれぞれどのような関係にあったのかを追跡するのは非常に難しくなってしまっていた。例えば、filename.dtaとfilename.dtbというファイル名の状態では、同じ元データであることが用意に理解できるが、片方のファイル名を変更してしまった場合には、特定が難しくなる。
【0013】
本発明の上述の諸問題点に鑑みてなされたものであり、各種方式に対応できる波形データファイルを少ないデータ量で記憶媒体に記憶できるようにしてその記憶媒体の利用効率を高める、あるいは再生方式の変更によって所持している記憶媒体が無駄になるようなことを防ぐ、あるいは波形データファイルの管理を容易化するなどを目的とする。
【0014】
【課題を解決するための手段】
上述の課題を解決するために、本発明に係る波形再生装置は、音の波形を表す波形データを記憶した波形データ領域と、前記波形データを前記音の物理的性質の少なくとも一つを変えて再生するために用いる補助データであってそれに用いる再生方式に応じて前記波形データを予め解析して得たものを、異なる複数の再生方式のそれぞれに対応して複数組記憶した補助データ領域とを組み合わせたフォーマットのデータ構造を持つ波形データファイルを記憶する記憶手段と、前記波形データファイル中の波形データを、それに組み合わされた補助データを参照して再生する再生方式を、少なくとも2つの方式について実行できる再生手段と、前記波形データファイルに基づいて、前記波形データファイルに含まれる補助データに対応した複数の再生方式から1つを選択する選択手段と、を備え、前記波形データファイルの波形データを、前記選択手段で選択された再生方式に対応した補助データを参照して、前記選択された再生方式で再生するように構成する。ここで、上述の補助データに基づいて変えられるその音の物理的性質としては、再生時間(時間軸の圧縮/伸張)やピッチなどが考えられる。この補助データとしては、例えば波形データ領域に記憶された波形の位置を複数指し示す情報などとすることができる。
【0016】
【作用】
本発明では、上述の課題を解決するために、波形データ+再生時に必要な補助データ(複数)を一つのファイルとしている。
具体的には図1に示すようなファイル構造となる。
この複数方式対応ファイル(この例ではfilename.dat) には、波形データ以外に、方式Aのための補助データと方式Bのための補助データを持っている。この例では二つの方式で説明しているが、もちろん3以上の方式でもよい。このファイルの波形データを再生する際には、再生装置が対応している再生方式に応じて、記憶媒体から必要なデータ(波形データとその方式の補助データ)だけを取り出してもよいし、あるいは波形データファイルをいったん全部取り出して再生時に必要なデータだけを使うようにしてもよい。
【0017】
例えば 方式Aで使用する場合には「方式Aのための補助データ+波形データ」を読み出す。一方で、方式Bで使用する場合には「方式Bのための補助データ+波形データ」を読み出す。このように、必要に応じて必要なデータだけを読み出すことにより、方式専用に複数のファイルを用意した場合と同じことが実現でき、同時に、記憶媒体の消費量、データ管理のためのコストなどを最小限に抑えることができる。
【0018】
このようなデータ構造で波形データファイルを記憶した記憶媒体であれば、再生方式がそれぞれ異なっている再生装置に対しても、それらの再生方式に対応した補助データが波形データファイル中に記憶されていれば、いずれの再生装置によっても波形データを再生できることになる。この結果、例えば現在所持している再生装置を買い換えるなどした結果その再生方式が変わってしまった場合にも、それまで所持していた記憶媒体が無駄になるといったことはなくなる。また、ファイルの管理上でも、波形データが同じであれば、再生方式が複数あってもファイルが一つとなるので、管理が容易である。
【0019】
また、本発明に係る再生装置は複数の再生方式に対応しており、このファイルに含まれているヘッダー等から対応している方式を自動選択し、ユーザーに選択肢を提示する、といった利用方法が可能である。
【0020】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図2には本発明に係る一実施例としての再生装置が示される。この実施例は、ユーザによる実演奏も可能な自動演奏装置に本発明の再生装置を搭載したものである。
【0021】
図2において、CPU1はこの再生装置の全体的な制御を司る中央処理装置であり、バス14を介して各種回路と接続されており、各種の制御プログラムを実行してそれらの回路の制御などを行う。ROM2は各種の制御プログラムやテーブルなどを記憶するリード・オンリー・メモリである。RAM3は作業用領域を提供するランダム・アクセス・メモリである。各種操作子群4は再生装置を操作するための各種のスイッチ群であり、操作子制御回路5を介してバス14に接続される。LCD6は各種の操作指示のための表示や動作状態の表示などをする液晶表示装置であり、LCDインタフェース(I/F)回路7を介してバス14に接続される。MIDIインタフェース回路8は外部からの又は外部へのMIDI信号のインタフェースとなる部分である。
【0022】
9はCDドライバーなどのCD−ROM等制御回路であり、CD−ROM等の外部の記憶媒体10が装填され、その記憶媒体に格納されているデータを読み取ってこの再生装置内のRAM3に転送するなどデータの取り込みなどを行うことができる。記憶媒体10はCD−ROM、フロッピィディスク、磁気ディスク、磁気テープなどの各種の可搬型の媒体からなり、各種の音の波形に関しての波形データファイルが格納されている。この波形データファイルのフォーマットについては後述する。
【0023】
オーディオ・フレーズ音源11は、波形データファイルに基づき各種の再生方式に従って音信号を再生する音源装置であって、具体的にはDSP(ディジタル・シグナル・プロセッサ)とDSP用プログラムとから構成されている。本実施例では再生方式として、方式A(ホルマント方式)と方式B(グレイン方式)の2種類を実行できるようにしてある。このホルマント方式とグレイン方式については後に項目を挙げて詳述する。このオーディオ・フレーズ音源11からの音声信号はD/A変換器でディジタル/アナログ変換されてから増幅回路13で増幅され、図示しないスピーカから放音される。
【0024】
図3に記憶媒体10に格納されている波形データファイルのファイル構造が概略的に示される。このファイルは内部で幾つかの領域に分かれており、ここではそのそれぞれの領域をチャンクと呼ぶ。それぞれのチャンクはチャンク毎の「サイズ」、「ID(識別子)」、「情報データ」という3つの部分から構成されている。チャンク内の各データは1アドレスに対して1バイト長で格納される。
【0025】
ここで、チャンクの「サイズ」は、そのチャンクのサイズをバイト(byte)を単位にして表したものであり、あるチャンクの次のチャンクを参照するときには、この「サイズ」値を現在のチャンクの開始アドレスに加算することで次チャンクの開始アドレスを求めることができる。
【0026】
また、「ID(識別子)」はそれぞれのチャンクに収められている情報の種類を4文字で表すもので、これによって各チャンクの情報がどのようなものであるかを識別することができる。この種類については後に詳説するが、本実施例では“head",“typ1",“typ2",“whed",“wave"などの種類がある。
【0027】
「情報データ」を収納する部分については、それぞれ独自の形式で情報データが収納される。この情報データとしては、ファイルの目録的情報、波形データ本体(サンプル値)、波形データの解析情報などがある。
【0028】
このファイル構造では、内部に持つチャンクの数に制限はないため、必要な数だけチャンクを追加することができる。ファイル全体のサイズはファイルの一番最初のチャンク(ヘッダー)に定められ、ここを読み込むことがファイルを記憶媒体から読み込む際の最初の操作となる。
【0029】
この実施例のファイルは方式A、Bの2つの再生方式に対応している例である。最初のチャンクであるチャンク1(ID=“head")はファイル全体のヘッダーとなる部分である。ファイル全体のヘッダーに収められている情報は、その後に収められている各チャンクのヘッダーや波形データ本体のアドレス、対応している再生方式のリスト、著作権情報などである。
【0030】
チャンク2と3(ID=“typ1" or “typ2")には、各再生方式のための解析情報が収納されている。この部分は再生方式の数に対応するものであってファイルによって個数が異なる。この実施例では、再生方式AとBのための2種類の解析情報が用意されている。各解析情報の中身は再生方式によって大きく異なる。例えば、詳しくは後述するが、この解析情報としては、再生方式A(ホルマント方式)の場合には切出し開始アドレスcsaなどがあり、方式B(グレイン方式)の場合にはマークアドレスmなどがある。
【0031】
チャンク4(ID=“whed")には、波形データ本体のための各種情報がヘッダー情報として収納されている。この波形データ本体のためのヘッダー情報の中身(すなわち「情報データ」領域の内容)は、総サンプル数、サンプリング周波数、サンプリングビット数といったものであり、波形データを再生装置で利用するための情報である。
【0032】
最後のチャンク5(ID=“wave")に収められているものが波形データ本体である。このチャンク5の「情報データ」領域には、音の波形を所定のサンプリング周波数でサンプリングした時系列なサンプル値(振幅値)のデータが所定の形式(例えばデータ幅:16ビット/サンプリング周波数:44100kHzなど)で収められており、通常、ファイル中で最もデータ量が大きな部分となる。
【0033】
次に、この実施例装置の動作を説明する。
まず、記憶媒体10に格納されている波形データファイルを再生装置内のRAM3上にロードする際の動作について説明する。
【0034】
図4には記憶媒体10(ディスク等)上からRAM3上に必要なデータをロードしてくる際の手順を示す。
記憶媒体10がその読取り用のドライバに装填されると、最初に必要な初期設定を行った後(ステップS1)、その記憶媒体10の中に格納されている各ファイルのファイル名が読み出されて、LCD6に表示される。これによりユーザーが操作子によってファイルの指定を行う(ステップS2)。ファイルが指定されると、その指定されたファイルについて、図3のフォーマットに従って、最初のチャンク1の中からこのファイルが対応している再生方式のリストを取得する(ステップS3)。
【0035】
リストが取得できたら、これをLCD6に表示し(ステップS4)、ユーザーに再生方式の選択を求める。ユーザーは表示された再生方式の中から自分の用途(音を再生する目的)に最適と思われる方式を選択する(ステップS5)。再生方式が選択されると、再びファイルのフォーマットに従って、指定された再生方式に必要な解析情報が収められているチャンク(本実施例ではチャンク2または3)の開始アドレスを求めて、そのチャンクのデータをRAM3上にロードする(ステップS6)。続いて波形データのヘッダー(チャンク4)および波形データ本体(チャンク5)をRAM3上にロードし(ステップS7、S8)、処理を終了する。
【0036】
本発明の実施にあたっては種々の変形形態が可能である。例えば上述の実施例では、波形データ本体は記憶媒体中に非圧縮の状態で格納されているものとして説明したが、本発明はこれに限られるものではなく、波形データ本体を圧縮形式で持つようにしてもよい。すなわち、さまざまな方法を用いて波形データ本体をデータ量を圧縮した状態で持つようにする。この場合、波形データ本体を外部記憶媒体から装置内のメモリ上に展開する際に解凍されている状態にする必要があれば、ロードの時点で同時に解凍すればよい。また、再生時に解凍処理を行いながら再生することが可能であれば、メモリ上には、外部記憶媒体上でのファイルのデータ形式と同様、圧縮された状態で転送するものであってもよい。
【0037】
また、本実施例では、必要な解析情報だけを外部記憶媒体から装置内のメモリに転送する仕方のみを説明したが、本発明はこれに限られるものではなく、装置内のメモリ上に十分な記憶容量がある場合には、外部記憶媒体上にある各方式の解析情報を丸ごと一括して装置内メモリに転送してしまい、再生時に最適な再生方式を選択して、その選択した方式の解析情報を装置内メモリから読み出して再生するという手法を用いてもよい。
【0038】
例えば、ある方式はテンポとピッチを少し変える場合に最も効果を発揮し、別の方式は大きく変えた場合に最も効果を発揮する、という場合を想定する。こうした場合、再生直前に最適と思われる方式を自動的に選択してその方式で再生するという方法が可能である。
【0039】
また、再生方法によってDSPの負荷が異なる場合、多くのトラック分の処理を同時に行っているときには、品質よりも負荷の低さを優先した方式を選択し、同時再生しているトラックが少ない場合には高品質な方式を選択するという応用も可能である。
【0040】
〔ホルマント方式の説明〕
以下、前述したホルマント(Formant)方式により波形データを時間軸圧縮伸張(タイムストレッチ)する装置について図6〜図8を参照して説明する。この装置では、CPUから必要なパラメータが供給され、DSPにおいてソフトウェアによってホルマント方式で時間軸圧縮伸張が処理される。図6〜図8に示したものは、再生音高が原波形信号と同じ音高の場合の処理であり、図6は時間軸を伸張する場合の処理を、図7は時間軸を圧縮する場合の処理を示しており、図8は再生音高が原波形信号よりも高く、時間軸の圧縮伸張はしないように設定した場合の処理を示している。
【0041】
処理を制御するパラメータとして、CPUから時間圧縮/伸張量を表す時間圧縮伸張量情報(以下、時間圧伸量情報という)と、再生する音高を制御する音高情報とが供給される。
この「時間圧伸量情報」については、CPUが、時間軸の圧縮/伸張量を設定する操作子の操作状態や変調信号に従って時間圧伸量情報を演算し、DSPに転送している。
また、「音高情報」については、CPUが、キーボード(鍵盤)の演奏操作に対応して押鍵された鍵に従って音高情報を演算し、DSPに転送している。
【0042】
図6〜図8に示されている各パラメータの詳細は以下のとおりである。
「波形データ」は、記憶装置に記憶されているものであり、図示されるような波形データとともに、csa1、csa2、csa3・・・で示されるような、波形データを切り出すときに使用する切出し開始アドレスも記憶されている。
「時間情報pp」は、波形データのアドレスを示して、波形データの時間軸上の位置を示す情報である。CPUから転送された時間圧伸量情報を、DSPにおいて所望の周期(具体的にはサンプリング周期)で累算して算出する。したがって、時間情報PPは、時間圧伸量情報の値に対応した変化速度で変化する。
【0043】
DSPにおいて行う処理は、2つの信号処理系を有して、第1処理系と第2処理系に示すような波形信号を生成する。
この第1処理系では、CPUから供給される音高情報に対応する、再生音高の周期の2倍の周期に、切出し開始アドレスの更新と、窓関数の周期が設定される。再生音高の周期の2倍の周期毎に、時間情報PPが示す位置(波形データのアドレス)に対応した切出し開始アドレスから波形データを読み出す。そして、切り出した波形データの切出し始めと終わりの部分で、前後の波形データと不連続に繋がることを防止する目的で、読み出した波形データに、再生音高の周期の2倍の周期の三角波の窓関数で振幅変調している。
この第2処理系では、CPUから供給される音高情報に対応する、再生音高の周期の2倍の周期に、切出し開始アドレスの更新と、窓関数の周期が設定される。第1の処理系と再生音高の周期だけ位相がずれて、再生音高の周期の2倍の周期毎に、時間情報PPが示す位置(波形データのアドレス)に対応した切出し開始アドレスから波形データを読み出す。そして、切り出した波形データの切出し始めと終わりの部分で、前後の波形データと不連続に繋がることを防止する目的で、読み出した波形データに、再生音高の周期の2倍の周期の三角波の窓関数で振幅変調している。
【0044】
次に、図6を参照して、時間軸伸張の場合の処理を説明する。
CPUから転送される時間圧伸量情報が、1より小さな値の場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報PPがサンプリング周期毎に1より小さな値で進むことになる。
したがって、再生音高の周期である時間t0、t1、t2、t3・・・での時間情報PP(0)、PP(1)、PP(2)・・・の変化は、図示のように波形データの原波形信号よりも遅く進む。
ここで、PP(0)はcsa1、PP(1)はcsa1とcsa2の間、PP(2)はcsa2とcsa3の間、PP(3)はcsa3とcsa4の間、PP(4)はcsa4とcsa5の間、・・・と変化する。
【0045】
第1処理系は、各時間t0、t2、t4・・・毎に各時間情報の示すPP(0)、PP(2)、PP(4)・・・より前で最も近い切出し開始アドレスcsa1、csa2、csa4・・・から波形データの読出しを開始している。
第2処理系は、各時間t1、t3、t5・・・毎に各時間情報の示すPP(1)、PP(3)、PP(5)・・・より前で最も近い切出し開始アドレスcsa1、csa3、csa5・・・から波形データの読出しを開始している。
そして、読み出した波形データに窓関数を付与して、それぞれ第1処理系および第2処理系に示されるような波形信号を生成する。さらに、2つの処理系の波形信号を加算して出力する。
以上の処理によって、原波形では、To の長さの波形データをTs の長さとして、時間軸を伸張して再生することができる。
【0046】
次に、図7を参照して、時間軸圧縮の場合の処理を説明する。
CPUから転送される時間圧伸量情報が1よりも大きな値である場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報PPが、サンプリング周期毎に1より大きな値で進むことになる。
したがって、再生音高の周期である時間t0、t1、t2、t3・・・での時間情報PP(0)、PP(1)、PP(2)・・・の変化は、図示のように波形データの原波形信号よりも速く進む。
ここで、PP(0)はcsa1、PP(1)はcsa2とcsa3の間、PP(2)はcsa3とcsa4の間、PP(3)はcsa4とcsa5の間、PP(4)はcsa5とcsa6の間、PP(5)はcsa7と・・・と変化する。
【0047】
第1処理系は、各時間t0、t2、t4・・・毎に各時間情報の示すPP(0)、PP(2)、PP(4)・・・より前で最も近い切出し開始アドレスcsa1、csa3、csa5・・・から波形データの読出しを開始している。
第2処理系は、各時間t1、t3、t5・・・毎に各時間情報の示すPP(1)、PP(3)、PP(5)・・・より前で最も近い切出し開始アドレスcsa2、csa4、csa7・・・から波形データの読出しを開始している。
そして、読み出した波形データに窓関数を付与して、それぞれ第1処理系および第2処理系に示されるような波形信号を生成する。さらに、2つの処理系の波形信号を加算して出力する。
以上の処理によって、原波形ではTo の長さの波形データをTc の長さとして、時間軸を圧縮して再生することができる。
【0048】
次に、図8を参照して、時間軸圧縮伸張は行わず、再生音高を原波形データより高くする場合の処理を説明する。
再生音高を原波形信号の音高より高い音高で再生するように音高情報を供給する場合である。ただし、CPUから転送される時間圧伸量情報は1として時間軸圧縮伸張は行わない。
時間情報PPが、サンプリング周期毎に1の値で進むことになる。
したがって、再生音高の周期である時間t0、t1、t2、t3・・・での時間情報PP(0)、PP(1)、PP(2)・・・の変化は、図示のように波形データの原波形信号と同じ速さで進む。
ここで、PP(0)はcsa1、PP(1)はcsa1とcsa2の間、PP(2)はcsa2とcsa3の間、PP(3)はcsa3とcsa4の間、PP(4)はcsa4とcsa5の間、PP(5)はcsa5と・・・と変化する。
【0049】
第1処理系は、各時間t0、t2、t4・・・毎に各時間情報の示すPP(0)、PP(2)、PP(4)・・・より前で最も近い切出し開始アドレスcsa1、csa2、csa4・・・から波形データの読出しを開始している。
第2処理系は、各時間t1、t3、t5・・・毎に各時間情報の示すPP(1)、PP(3)、PP(5)・・・より前で最も近い切出し開始アドレスcsa1、csa3、csa5・・・から波形データの読出しを開始している。
そして、読み出した波形データに窓関数を付与して、それぞれ第1処理系および第2処理系に示されるような波形信号を生成する。さらに、2つの処理系の波形信号を加算して出力する。
以上の処理によって、原波形ではTo の長さの波形データをTn の長さとして、波形単位でみれば多少の誤差はあるが、時間軸を圧縮も伸張もせずに再生音高を原波形データより高い周期で再生することができる。
【0050】
以上、この装置では、時間圧伸量情報、音高情報をリアルタイルで供給することによって、記憶手段に記憶されている波形データの時間軸圧縮伸張、および音高をリアルタイムで任意に制御することができる。また、この装置は、波形信号のホルマントを維持したまま、再生音高を変化させることができるものである。さらに、この波形データの読出し速度を変化させることによって、ホルマントを高域側あるいは低域側にシフトすることもできる。
なお,この手法の波形発生装置では、ホルマントを含んだ波形信号(1波あるいは複数波)を抽出できない波形信号(例、ピッチ検出できない波形信号)はうまく制御することができない。
【0051】
〔グレイン方式の説明〕
以下、前述したグレイン(Grain)方式により波形データを時間軸圧縮伸張(タイムストレッチ)する装置について図9〜図11を参照して説明する。この装置では、CPUから必要なパラメータが供給され、DSPにおいてソフトウェアによってグレイン方式で時間軸圧縮伸張が処理される。図9〜図11に示したものは、再生音高が原波形信号と同じ音高の場合の処理であり、図9は時間軸を伸張する場合の処理を、図10は時間軸を圧縮する場合の処理を示しており、図11は再生音高が原波形信号よりも高く、時間軸の圧縮伸張はしないように設定した場合の処理を示している。
【0052】
処理を制御するパラメータとして、CPUから時間圧縮/伸張量を表す時間圧縮伸張量情報(以下、時間圧伸量情報という)と、再生する音高を制御する音高情報とが供給される。
この「時間圧伸量情報」については、CPUが、時間軸の圧縮/伸張量を設定する操作子の操作状態や変調信号に従って時間圧伸量情報を演算し、DSPに転送している。
また、「音高情報」については、CPUが、キーボード(鍵盤)の演奏操作に対応して押鍵された鍵に従って音高情報を演算し、DSPに転送している。
【0053】
図9〜図11に示されている各パラメータの詳細は以下のとおりである。
「波形データ」は、記憶装置に記憶されているものであり、図示されるような波形データとともに、m1、m2、m3・・・で示されるような、繰り返し再生や飛び越し再生時に使用するマークアドレスも記憶されている。このマークアドレスm1、m2、m3・・・は波形データを繰り返したり、飛び越したりしても、不快なノイズが発生しないようなポイントを見つけてそれぞれ設定している。
「時間情報pp」は、波形データのアドレスを示して、波形データの時間軸上の位置を示す情報である。CPUから転送された時間圧伸量情報を、DSPにおいて所望の周期(具体的にはサンプリング周期)で累算して算出する。したがって、時間情報PPは、時間圧伸量情報の値に対応した変化速度で変化する。
「読出し波形データ」は、再生音高に対応した読出し速度で記憶装置から読み出した波形データである。再生音高はCPUから供給される音高情報に対応して算出される。また、読出し波形データが次のマークアドレスに達する毎に時間情報の示す値を参照し、通過したマークアドレスで最も近いマークアドレスから波形データの読出しを開始する。
【0054】
次に、図9を参照して、時間軸伸張の場合の処理を説明する。
CPUから転送される時間圧伸量情報が、1より小さな値の場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報PPがサンプリング周期毎に1より小さな値で進むことになる。初期値として時間情報PP(0)は、波形データのスタート位置を示すマークアドレスm1を設定している。
まず、スタートにおける時間t0での時間情報PP(0)はマークアドレスm1を示しているため、マークアドレスm1から読み出された波形データが読出し波形データとなる。
次に、マークアドレスm1からの波形データが読み終わり、次のマークアドレスに達して時間t1になったとき、時間情報PP(1)を参照する。
時間情報PPの変化は、図示のように、波形データの原波形信号より遅く進むように設定されているため、時間t1での時間情報PP(1)の値は次のマークアドレスm2まで達していない。よって、時間t1からは、前回と同じマークアドレスm1からの波形データが読み出される。
以下同様に、各マークアドレスからの波形データが読み出し終わり、次のマークアドレスに達したとき毎に、時間情報PPを参照し、読出し開始のアドレスを決定する。そして、読み出した波形データを再生波形信号として出力する。
以上の処理によって、この例ではマークアドレスm1からの波形データを2回読み出しており、原波形ではTo の長さの波形データをTs の長さとして、時間軸を伸張する処理を行っている。
【0055】
次に、図10を参照して、時間軸圧縮の場合の処理を説明する。
CPUから転送される時間圧伸量情報が1よりも大きな値である場合である。ただし、再生音高は、原波形信号の音高と同じ音高で再生するように、音高情報を供給しているものとする。
時間情報PPが、サンプリング周期毎に1より大きな値で進むことになる。初期値として時間情報PP(0)は、波形データのスタート位置を示すマークアドレスm1を設定している。
まず、スタートにおける時間t0での時間情報PP(0)はマークアドレスm1を示しているため、マークアドレスm1から読み出された波形データが読出し波形データとなる。
次に、マークアドレスm1からの波形データが読み終わり、次のマークアドレスに達して時間t1になったとき、時間情報PP(1)を参照する。
時間情報PPの変化は、図示のように、波形データの原波形信号より速く進むように設定されているため、時間t1での時間情報PP(1)の値は次のマークアドレスm2を超えている。よって、時間t1からは、前回と同じマークアドレスm2からの波形データが読み出される。
以下同様に、各マークアドレスからの波形データが読出し終わり、次のマークアドレスに達したとき毎に、時間情報PPを参照し、読出し開始のアドレスを決定する。そして、読み出した波形データを再生波形信号として出力する。
以上の処理によって、この例ではマークアドレスm4からの波形データを読み飛ばしており、原波形ではTo の長さの波形データをTc の長さとして、時間軸を圧縮する処理を行っている。
【0056】
次に、図11を参照して、時間軸圧縮伸張は行わず、再生音高を原波形データより高くする場合の処理を説明する。
再生音高を原波形信号の音高より高い音高で再生するように音高情報を供給する場合である。ただし、CPUから転送される時間圧伸量情報は1として時間軸圧縮伸張は行わない。
時間情報PPが、サンプリング周期毎に1の値で進むことになる。初期値として時間情報PP(0)は、波形データのスタート位置を示すマークアドレスm1を設定している。
まず、スタートにおける時間t0での時間情報PP(0)はマークアドレスm1を示しているため、マークアドレスm1から読み出された波形データが読出し波形データとなる。このとき、再生音高を原波形信号の音高より高くするように音高情報が入力されているため、波形データの読出し速度が速く制御される。
従って、マークアドレスm1からの波形データが読み終わり、次のマークアドレスに達して時間t1になったとき、時間情報PP(1)を参照すると、次のマークアドレスm2までには達していない。よって、時間t1からは、前回と同じマークアドレスm1からの波形データが読み出される。
以下同様に、各マークアドレスからの波形データが読出し終わり、次のマークアドレスに達したとき毎に、時間情報PPを参照し、読出し開始のアドレスを決定する。そして、読み出した波形データを再生波形信号として出力する。
以上の処理によって、この例ではマークアドレスm1やm4からの波形データを繰り返して読み出しており、原波形ではTo の長さの波形データをほぼ同じTn の長さとして、再生音高は異なるが、時間軸を圧縮も伸張もしない処理を行っている。
【0057】
以上、この装置では、時間圧伸量情報、音高情報をリアルタイルで供給することによって、記憶手段に記憶されている波形データの時間軸圧縮伸張および音高をリアルタイムで任意に制御することができる。この装置は、波形信号のホルマントが再生音高の変化に応じて変化するものであるが、波形形成の処理系統が1チャネルでよいことから、同時に複数楽音を形成する場合に有利となる。
【0058】
【発明の効果】
以上に説明したように、本発明によれば、各種方式に対応できる波形データファイルを少ないデータ量で記憶媒体に記憶できるようにしてその記憶媒体の利用効率を高めることができる。
あるいは再生方式の変更によって所持している記憶媒体が無駄になるようなことを防ぐことができる。
あるいは波形データファイルの管理を容易化することができる。
【図面の簡単な説明】
【図1】本発明に係る原理説明のための図である。
【図2】本発明に係る一実施例としての再生装置のブロック構成を示す図である。
【図3】実施例装置における波形データファイルのフォーマットを示す図である。
【図4】実施例装置の動作手順を説明するためのフローチャートである。
【図5】従来の各種方式専用のファイルのフォーマットを説明する図である。
【図6】ホルマント方式の説明図である。
【図7】ホルマント方式の説明図である。
【図8】ホルマント方式の説明図である。
【図9】グレイン方式の説明図である。
【図10】グレイン方式の説明図である。
【図11】グレイン方式の説明図である。
【符号の説明】
1 CPU(中央処理装置)
2 ROM(リード・オンリー・メモリ)
3 RAM(ランダム・アクセス・メモリ)
4 各種操作子群
5 操作子制御回路
6 LCD(液晶表示器)
7 LCDインタフェース回路
8 MIDIインタフェース回路
9 CD−ROM等の制御回路
10 CD−ROM等の記憶媒体
11 オーディオ・フレーズ音源(DSP)
12 D/A変換器
13 増幅器
14 バス
Claims (1)
- 音の波形を表す波形データを記憶した波形データ領域と、前記波形データを前記音の物理的性質の少なくとも一つを変えて再生するために用いる補助データであってそれに用いる再生方式に応じて前記波形データを予め解析して得たものを、異なる複数の再生方式のそれぞれに対応して複数組記憶した補助データ領域とを組み合わせたフォーマットのデータ構造を持つ波形データファイルを記憶する記憶手段と、
前記波形データファイル中の波形データを、それに組み合わされた補助データを参照して再生する再生方式を、少なくとも2つの方式について実行できる再生手段と、
前記波形データファイルに基づいて、前記波形データファイルに含まれる補助データに対応した複数の再生方式から1つを選択する選択手段と、
を備え、前記波形データファイルの波形データを、前記選択手段で選択された再生方式に対応した補助データを参照して、前記選択された再生方式で再生する波形再生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33925398A JP4037973B2 (ja) | 1998-11-30 | 1998-11-30 | 波形再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33925398A JP4037973B2 (ja) | 1998-11-30 | 1998-11-30 | 波形再生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000163073A JP2000163073A (ja) | 2000-06-16 |
JP4037973B2 true JP4037973B2 (ja) | 2008-01-23 |
Family
ID=18325710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33925398A Expired - Fee Related JP4037973B2 (ja) | 1998-11-30 | 1998-11-30 | 波形再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4037973B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3823705B2 (ja) | 2000-08-30 | 2006-09-20 | ヤマハ株式会社 | パッドを備えた音声データのミキシング装置、その制御方法および記憶媒体 |
-
1998
- 1998-11-30 JP JP33925398A patent/JP4037973B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000163073A (ja) | 2000-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6191459B2 (ja) | オーディオ波形データを使用する自動演奏技術 | |
JP2000047667A (ja) | 波形形成装置及び方法 | |
JP2000056773A (ja) | 波形形成装置及び方法 | |
JP4122936B2 (ja) | ミキシング記録装置およびその制御方法を実現するためのプログラム | |
JPH04339000A (ja) | 音楽再生装置 | |
JP3610841B2 (ja) | 自動演奏装置及び方法 | |
JP4037973B2 (ja) | 波形再生装置 | |
JP4739598B2 (ja) | 音楽データ再生装置 | |
JP3829513B2 (ja) | 再生装置、再生方法 | |
JP3731470B2 (ja) | 波形データ生成方法、波形データ生成装置および記録媒体 | |
JP5838563B2 (ja) | 電子楽器及びプログラム | |
US7547839B2 (en) | Performance data processing apparatus, performance data processing method, and computer readable medium containing program for implementing the method | |
JP2004085609A (ja) | 音声データと演奏データの同期再生を行うための装置および方法 | |
JP3731476B2 (ja) | 波形データ解析方法、波形データ解析装置および記録媒体 | |
JP4049465B2 (ja) | 波形再生装置のピッチ制御装置 | |
JP3546801B2 (ja) | 波形データ生成方法、波形データ記憶方法、波形データ生成装置および記録媒体 | |
JP3656906B2 (ja) | 時間軸可変の波形データ再生装置 | |
JP3613191B2 (ja) | 波形生成方法及び装置 | |
JP3879684B2 (ja) | 曲データ変換装置および曲データ変換プログラム | |
JP2000214852A (ja) | 波形再生装置および波形記憶媒体 | |
JP3363667B2 (ja) | カラオケ装置 | |
JP3407625B2 (ja) | 自動演奏装置、自動演奏方法及びプログラムを記録した媒体 | |
JP4066319B2 (ja) | サンプラ機能を備えたディジタルレコーダ | |
JP2001075571A (ja) | 波形生成装置 | |
JPH07287576A (ja) | 音楽再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050630 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071001 |
|
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: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071102 |
|
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: 20101109 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |