(57)【要約】【課題】簡易な構成で伸長処理できるようにする。【解決手段】１フレームは１アドレスに対応するデータ幅の正数倍の固定長とされており、圧縮関連情報である予測係数、量子化幅、ビット数情報と、圧縮波形データとにより１フレームが構成されている。圧縮関連情報の領域、圧縮波形データの領域は、それぞれ固定長の領域が割り当てられている。このため、フレームの開始位置は決まった位置になると共に、フレームにおける圧縮波形データの開始位置も決まった位置となり、簡易な構成を圧縮波形データを読み出して伸長することができるようになる。【選択図】　図８
2004126127.tif 000002
【特許請求の範囲】
【請求項１】
異なるビット数のサンプルに圧縮された圧縮波形データをフレーム毎に記憶する記憶手段における圧縮データ構造であって、
前記フレームのデータサイズは固定されており、前記フレーム内のそれぞれ固定された位置に、当該フレームの圧縮波形データを伸長するための圧縮関連情報を含む副情報を記憶する副情報領域と、１サンプル当たりのビット数が一定とされた前記圧縮波形データを複数サンプル分記憶するデータ領域とが配置されていることを特徴とする圧縮データ構造。
【請求項２】
フレーム分割されていると共に圧縮されている圧縮波形データに基づいて楽音を生成する楽音生成装置であって、
フレーム毎に一定とされたビット数の圧縮波形データのサンプルを複数サンプル分記憶するデータ領域と、前記圧縮波形データを伸長するための圧縮関連情報を含む副情報を記憶する副情報領域とが、固定されたサイズで、かつ、固定された位置に配置されたフレームにフレーム化して記憶する記憶手段と、
各フレームに記憶されている圧縮波形データのサンプルのビット数を指定するビット数指定手段と、
前記記憶手段から前記フレームを順次読み出す読出部と、
該読出部により読み出された前記フレームの前記副情報領域から前記副情報を取り出すと共に、前記データ領域から前記ビット数指定手段により指定されたビット数の前記圧縮波形データのサンプルを取り出すデータ取出部と、
該データ取出部により取り出された前記副情報に含まれている前記圧縮関連情報を利用することにより、取り出された前記圧縮波形データのサンプルを順次伸長するデコード部と、
該デコード部により伸長された波形データのサンプルに基づいて楽音を生成する楽音生成部と、
を備えたことを特徴とする楽音生成装置。
【請求項３】
前記圧縮関連情報はビット数情報であって、前記ビット数指定手段は、該ビット数情報に基づいて前記ビット数を指定するようにしたことを特徴とする請求項２記載の楽音生成装置。
【請求項４】
波形データのサンプルを異なるビット数に圧縮処理した圧縮波形データをフレーム化して、記憶手段にフレーム毎に書き込む波形記憶装置であって、
前記圧縮波形データのサンプルのビット数を指定する指定手段と、
前記波形データを圧縮処理する際に、フレーム内において圧縮された１サンプル当たりの圧縮波形データのビット数が、前記指定手段により指定された一定のビット数になるように圧縮処理を行う圧縮処理部と、
前記圧縮波形データにおける圧縮関連情報を含む副情報と、前記圧縮処理部から出力される複数の前記圧縮波形データとを、それぞれ固定された副情報領域とデータ領域とにつめこむことにより、サイズが固定とされている前記フレームを構成するフレーム化部と、
該フレーム化部によりフレーム化された前記圧縮波形データを、フレーム毎に記憶手段に書き込む書込手段と、
を備えるようにしたことを特徴とする波形記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音生成装置等に用いられる記憶されている圧縮波形データのデータ構造、その圧縮波形データを読み出して楽音を生成する楽音生成装置、および、波形データを圧縮した圧縮波形データを書き込む波形記憶装置に関するものである。
【０００２】
【従来の技術】
従来、電子楽器における楽音信号の発生方法の一つとして、自然楽器の楽音波形の瞬時値を逐次サンプリングしてディジタルとされたサンプル波形データとして予めメモリに記憶しておき、楽音の発生時にこのサンプル波形データを読み出して楽音信号を発生するようにしたＰＣＭ方式がある。このＰＣＭ方式は自然楽器に近い楽音を発生できるという点で優れているが、波形データを記憶しておくメモリの容量が膨大になるという問題がある。これを解決するために、サンプル波形データを圧縮し、この圧縮波形データをメモリに記憶しておき、再生時にはこの圧縮波形データを伸長して楽音信号を形成するようにした楽音信号発生装置が提案されている（特許第２６０５４３４号参照）。
【０００３】
【発明が解決しようとする課題】
このような楽音信号発生装置においては、サンプル波形データが圧縮されているため、メモリ容量を効率的に使用することができる。また、圧縮波形データは可変長に圧縮処理されており、例えば１６サンプルの固定数の圧縮波形データによりフレームが構成されて、このフレーム毎にメモリに記憶されている。このため、フレームの総ビット数は、圧縮処理された１サンプルあたりの圧縮波形データのビット数に応じて可変とされている。
すると、フレームが可変長とされていることからメモリ上においてフレーム毎にフレーム開始位置が異なるようになる。このため、フレームの先頭アドレスを演算して算出する回路が必要となり、圧縮波形データを伸長処理する回路が複雑になると云う問題点があった。
【０００４】
そこで本発明は、簡易な構成で伸長処理することができる圧縮データ構造、波形生成装置および波形記憶装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、本発明にかかる圧縮データ構造、波形生成装置および波形記憶装置においては、フレームを構成する総ビット数を固定としている。これにより、フレームの開始位置が決まった位置となることからフレームの先頭アドレスを容易に得ることができるようになる。したがって、波形データを効率よく記憶することができると共に、伸長処理を行う回路を簡単化することができるようになる。
また、圧縮波形データと共にフレームを構成する副情報には、前記圧縮波形データにおける圧縮関連情報が含まれている。そこで、この圧縮関連情報を利用して圧縮波形データの伸長処理を行うことができる。なお、フレーム内における圧縮波形データの１サンプル当たりのビット数は一定とされている。さらに、可変長とされた１サンプル当たりの圧縮波形データのビット数を、フレームにおける圧縮波形データが格納される固定長のデータ領域のビット数における素数の倍数のビット数とすると、無駄なビットを生じさせることなく効率よく圧縮波形データを記憶することができるようになる。
【０００６】
【発明の実施の形態】
本発明の実施の形態にかかる波形記憶装置の概略構成を示すブロック図を図１に示す。
図１に示すように、波形記憶装置は波形記憶部１０と制御部４とから構成されている。波形記憶部１０は、入力された元波形データを可変長の圧縮波形データに圧縮処理する圧縮処理部１と、圧縮処理された圧縮波形データを副情報と共にフレーム化するフレーム化部２と、フレーム化部２により生成されたフレームが書き込まれて記憶される記憶手段３から構成されている。制御部４は、波形記憶部１０における波形記憶処理の制御を行うことにより、圧縮波形データの１サンプル当たりのビット数をフレーム毎に可変制御していると共に、圧縮波形データの１サンプル当たりのビット数をフレーム内において一定とする圧縮処理の制御を行うようにしている。圧縮処理部１においては適用差分符号化（ＡＤＰＣＭ）を利用して圧縮処理を行うことができると共に、線形予測符号化（ＬＰＣ）を利用して圧縮処理を行うことができるようにされている。
【０００７】
ここで、ＡＤＰＣＭを利用して圧縮処理を行う圧縮処理部１の構成例を図２に示す。
図２において、元波形データＳｎは、減算器１１に入力されてＡＤＰＣＭ予測部１７より出力される予測信号◇Ｓｎが減算され、残差信号ｄｎ（＝Ｓｎ−◇Ｓｎ）が出力される。この残差信号ｄｎは、量子化部１２において、まず、信号のレベルを量子化幅信号△ｎに基づいて量子化（正規化）されつつビット数ｋを決定され、さらに決定されたビット数ｋで符号化されてビット数ｋの圧縮波形データＬｎに変換される。量子化幅判定部１３は、この圧縮波形データＬｎと過去の圧縮波形データから量子化幅を判定し、最適の量子化幅信号Δｎを出力して量子化部１２に重みとして供給する。また、圧縮波形データＬｎは逆量子化部１５に供給されて量子化幅信号△ｎに基づいて逆量子化（逆正規化）され、圧縮波形データＬｎの復号信号ｑｎとして出力される。復号信号ｑｎは加算器１６に供給され、ＡＤＰＣＭ予測部１７より出力される予測信号◇Ｓｎが加算されて再生波形データ◇Ｘｎが再生され、ＡＤＰＣＭ予測部１７に供給されるようになる。ＡＤＰＣＭ予測部１７では、過去のｐ個の再生波形データ◇Ｘｎ−ｐ，◇Ｘｎ−ｐ＋１，・・・◇Ｘｎ−１までを用いて現サンプルの予測信号◇Ｓｎを生成する。
【０００８】
このようにして元波形データの圧縮処理がサンプル毎に行われることにより、圧縮波形データが量子化部１２から順次出力されてフレーム化部１４に供給される。フレーム化部１４においては、総ビット数が固定とされて固定長とされているフレームを、量子化部１２から順次出力されてフレーム化部１４に供給された圧縮波形データと、ビット数ｋ情報およびその他の副情報からなる副情報とで構成する。この場合、副情報にはフレーム内の固定された副情報領域が割り当てられており、残るフレーム内のデータ領域が圧縮波形データに割り当てられる。圧縮波形データは、順次割り当てられたデータ領域につめこまれて副情報と共にフレームが構成される。このようにして生成されたフレームは、フレーム毎に出力されて記憶手段に書き込まれるようになる。なお、フレーム内における圧縮波形データのビット数は同一とされており、フレーム毎に圧縮波形データのビット数を可変とできるようにされている。
【０００９】
このようにフレーム化された圧縮波形データを伸長するデコーダの構成例を図３に示す。
図３において、記憶手段から読み出されたフレームが供給されるデータ取出部２１は、フレーム内の固定された副情報領域から副情報を取り出すと共に副情報中のビット数ｋ情報から、圧縮波形データのビット数を決定し、決定されたビット数に基づいてフレーム内のデータ領域から順次圧縮波形データＬｎを抽出して逆量子化部２２に供給している。圧縮波形データＬｎは、量子化幅判定部２３にも供給され、量子化幅判定部２３はこの圧縮波形データＬｎと過去の圧縮波形データから量子化幅を判定し、最適の量子化幅信号Δｎを出力して逆量子化部２２に重みとして供給する。逆量子化部２２は、量子化幅判定部２３から出力された量子化幅信号△ｎに基づいて逆量子化（逆正規化）を行い、圧縮波形データＬｎの復号信号ｑｎを出力している。加算器２４においてこの復号信号ｑｎに、ＡＤＰＣＭ予測部２５より出力される予測信号◇Ｓｎが加算されて再生波形データ◇Ｘｎが再生されて復号波形データとして出力される。また、再生波形データ◇ＸｎはＡＤＰＣＭ予測部２５に供給されて、過去のｐ個の再生波形データ◇Ｘｎ−ｐ，◇Ｘｎ−ｐ＋１，・・・◇Ｘｎ−１から現サンプルを復元するのに使用される予測信号◇Ｓｎが生成される。
【００１０】
このようにして、デコーダから出力された復号波形データに基づいて、音を生成することにより再生音を得ることができる。この場合、記憶手段に記憶されているフレーム化された圧縮波形データの元データが楽音波形データであった場合は、出力された復号波形データに基づいて楽音を生成できるようになる。なお、データ取出部２１においては、その他の副情報が出力されており、この副情報を音量情報や波形データのループアドレスとすることにより、楽音を生成する際に音量情報や波形データのループアドレスを利用して楽音を生成することができるようになる。
【００１１】
次に、ＬＰＣを利用して圧縮処理を行う圧縮処理部１の構成を図４に示す。
図４において、元波形データＳｎは予測係数算出部３３に入力され、フレームに対応する所定期間の元波形データのサンプルから自己相関法等の線形予測係数演算によって予測係数Ｐｎ（ｐ個の係数、ないし、ｐ個の係数を示すインディクス）が算出されてフレーム判定部３４に供給される。また、減算器３１に入力された元波形データＳｎからは、線形予測部３８より出力される線形予測信号◇Ｓｎが減算され、残差信号ｄｎ（＝Ｓｎ−◇Ｓｎ）が出力される。この残差信号ｄｎは、量子化部３２において、その信号のレベルを指定された量子化幅信号とビット数とに基づいて量子化（正規化）されつつ符号化され、指定されたビット数の圧縮波形データＬｎに変換される。また、圧縮波形データＬｎは逆量子化部３６に供給されて指定された量子化幅信号とビット数とに基づいて逆量子化（逆正規化）され、圧縮波形データＬｎの復号信号ｑｎとして出力される。復号信号ｑｎは加算器３７において、線形予測部３８より出力される線形予測信号◇Ｓｎが加算されて再生波形データ◇Ｘｎが再生されて、線形予測部３８に供給されるようになる。線形予測部３８では、予測係数Ｐｎと過去のｐ個の再生波形データ◇Ｘｎ−ｐ，◇Ｘｎ−ｐ＋１，・・・◇Ｘｎ−１に基づいて線形予測演算を行い、現サンプルの線形予測信号◇Ｓｎを生成している。
【００１２】
フレーム判定部３４においては、圧縮処理部１による元波形データの１フレーム分の線形予測圧縮を、異なるビット数、予測係数、ないし量子化幅で複数通りに実行させ、その圧縮結果に基づいて各フレームの圧縮のためのビット数、予測係数、量子化幅を決定している。量子化部３２は、決定されたビット数および量子化幅信号に基づいて量子化を行い圧縮波形データＬｎを生成している。この場合、フレーム判定部３４において、まず、過去のビット数に基づいてビット数を仮決定し、線形予測係数算出部３３から仮決定されたビット数で圧縮する場合の１フレームの元波形データに応じた予測係数Ｐｎを供給する。続いて、フレーム判定部３４において、過去の量子化幅に基づいて量子化幅が仮決定され、線形予測部３８における予測係数Ｐｎによる線形予測と、量子化部３２における仮決定されたビット数と量子化幅に基づく量子化が行われ、圧縮波形データＬｎが生成される。以上の仮の線形予測圧縮処理における再生波形データ（加算器３７から出力される）と元波形データとが対比され、再生波形データの歪率が算出される。そして、複数とおりに行われた仮の線形予測圧縮処理の結果に基づき、歪率が許容範囲に入る範囲で最も圧縮率が良くなるビット数、予測係数、量子化幅の組み合わせがフレーム毎に決定される。
【００１３】
このようにしてフレーム毎に決定された予測係数、ビット数および量子化幅によりフレームを構成する元波形データの圧縮処理がサンプル毎に行われて、圧縮波形データが量子化部３２から順次出力されてフレーム化部３５に供給される。フレーム化部３５においては、総ビット数が固定とされて固定長とされているフレームを、量子化部３５から順次出力されてフレーム化部３５に供給された圧縮波形データと、決定された予測係数、ビット数および量子化幅情報およびその他の副情報からなる副情報とにより構成する。この場合、副情報にはフレーム内の固定された副情報領域が割り当てられており、フレーム内の残るデータ領域が圧縮波形データに割り当てられる。圧縮波形データは、順次割り当てられたデータ領域につめこまれて副情報と共にフレームが構成される。このようにして生成されたフレームは、フレーム毎に出力されて記憶手段に書き込まれるようになる。なお、フレーム毎に圧縮波形データの予測係数、ビット数および量子化幅を可変することができる。
【００１４】
このようにしてフレーム化された圧縮波形データを伸長するデコーダの構成例を図５に示す。
図５において、記憶手段から読み出されたフレームが供給されるデータ取出部４１は、フレーム内の固定された副情報領域から副情報を取り出すと共に副情報中のビット数情報に基づいてフレーム内の固定されたデータ領域から圧縮波形データＬｎを順次取り出して逆量子化部４２に供給している。さらに、データ取出部４１においては副情報から予測係数情報Ｐｎを取り出して線形予測部４４に供給すると共に、量子化幅情報を取り出して逆量子化部４２に供給している。逆量子化部４２は、データ取出部４１から供給された量子化幅情報に基づいて圧縮波形データＬｎの逆量子化（逆正規化）を行い、復号信号ｑｎを出力する。復号信号ｑｎは加算器４３において、線形予測部４４より出力される予測信号◇Ｓｎが加算されて再生波形データ◇Ｘｎが再生されて復号波形データとして出力される。また、再生波形データ◇Ｘｎは線形予測部４４に供給され、線形予測部４４は、予測係数Ｐｎと過去のｐ個の再生波形データ◇Ｘｎ−ｐ，◇Ｘｎ−ｐ＋１，・・・◇Ｘｎ−１に基づいて線形予測演算を行うことにより現サンプルの線形予測信号◇Ｓｎを生成している。
【００１５】
このようにして、デコーダから出力された復号波形データに基づいて、音を生成することにより再生音を得ることができる。この場合、記憶手段に記憶されているフレーム化された圧縮波形データの元データが楽音波形データであった場合は、出力された復号波形データに基づいて楽音を生成できるようになる。なお、データ取出部２１においては、その他の副情報が出力されており、この副情報を音量情報や波形データのループアドレスとすることにより、楽音を生成する際に音量情報や波形データのループアドレスを利用して楽音を生成することができるようになる。
【００１６】
ここで、記憶手段３に記憶される圧縮波形データと副情報から構成されるフレームの本発明にかかるデータ構造の線形予測圧縮を利用した場合の一例を図８に示す。
図８には、１サンプル当たりの圧縮波形データが２ビット、３ビット、４ビット、５ビット、６ビットおよび１０ビットとされている場合のフレームのデータ構造が示されている。１サンプル当たりの圧縮波形データが２ビットとされている場合を例に挙げて説明すると、１フレームは、例えば図示するようにアドレスが「００」から「０４」の５アドレスに対応するデータの大きさとされており、１アドレスに対応するデータ幅が、例えば１６ビットとされていることから、１フレームの総ビット数は８０ビットとされている。この１フレームの総ビット数は固定長とされている。また、フレームは先頭から２０ビットの固定長の副情報領域と、残る６０ビットの圧縮波形データが格納される固定長のデータ領域から構成されている。この場合、副情報領域には１１ビットの予測係数情報、５ビットの量子化幅情報および４ビットのビット数情報が格納され、データ領域には１サンプル当たり２ビットに圧縮されているサンプル番号「１」〜「３０」の圧縮波形データが３０サンプル分格納されている。フレーム内においては圧縮された１サンプル当たりの圧縮波形データのビット数は固定とされている。
【００１７】
このように、１フレームの総ビット数が１アドレスに対応するデータ幅を単位とした固定ビット数とされていることから、フレームは決まった位置から開始するようになる。例えば、図８に示すように１フレームが５データ幅とされている場合は、フレームの開始アドレスは「００」から始まり５アドレス毎のアドレス位置から開始するようになる。また、副情報領域は固定長とされていることから圧縮波形データの開始位置も決まった位置となる。したがって、伸長処理する際にフレームを読み出すアドレスを簡易な構成で生成することができるようになる。また、図８に示すように１サンプル当たりの圧縮波形データが３ビット、４ビット、５ビット、６ビットおよび１０ビットとされている場合においても１フレームの総ビット数は、１アドレスに対応するデータ幅を単位とした固定ビット数とされている。
【００１８】
したがって、図８に示すように１フレームが５データ幅とされている場合において、１サンプル当たりの圧縮波形データが３ビットとされている場合は、２０サンプル分の圧縮波形データが１フレームに格納され、４ビットとされている場合は、１５サンプル分の圧縮波形データが１フレームに格納される。同様にして、５ビットとされている場合は、１２サンプル分の圧縮波形データが１フレームに格納され、６ビットとされている場合は、１０サンプル分の圧縮波形データが１フレームに格納され、１０ビットとされている場合は、６サンプル分の圧縮波形データが１フレームに格納される。このように、圧縮波形データに割り当てられている６０ビットの素数である２，３，５の倍数のビット数とすることにより、無駄を生じることなくフレーム内に圧縮波形データを詰め込むことができるようになる。
なお、ＡＤＰＣＭ圧縮された圧縮波形データを記憶する場合には、予測係数や量子化幅の情報を記憶する必要がないので、図８のデータ構造におけるアドレス「００」の領域は不要であり、各フレーム毎に「０１」から「０４」の４アドレスに対応するデータだけを記憶するようにすればよい。
【００１９】
次に、本発明にかかるデータ構造のフレーム化された圧縮波形データが記憶されている記憶手段３を備える本発明にかかる楽音生成装置のブロック図を図６に示す。
図６に示す楽音生成装置５０おいて、ＣＰＵ６１は楽音生成に関連する各種プログラムを実行することにより楽音生成装置５０における楽音生成の動作を制御する中央処理装置（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）であり、タイマ６４は動作時の経過時間を示したり、特定の間隔でタイマ割込を発生するタイマであり、自動演奏の時間管理等に使用される。フラッシュＲＯＭ６２は、ＣＰＵ６１が実行する楽音生成処理のプログラムや、本願発明にかかるデータ構造のフレーム化された圧縮波形データ等の各種データが格納される書き換え可能なフラッシュＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）である。ＲＯＭ／ＲＡＭ６３は楽音生成装置５０におけるメインメモリであり、ＣＰＵ６１のワークエリア等が設定されるＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）と、本願発明にかかる波形記憶装置により、本願発明にかかるデータ構造のフレーム化された圧縮波形データ等のデータが書き込まれているＲＯＭからなるメモリシステムである。
【００２０】
また、演奏操作子６５は鍵盤等の演奏操作子であり、ＭＩＤＩインタフェース６６は、楽音生成装置５０内部で作成したＭＩＤＩメッセージを外部へ送出したり、外部からのＭＩＤＩメッセージを受信するＭＩＤＩインターフェースである。パネルスイッチ（パネルＳＷ）６７は、楽音生成装置５０のパネルに設けられている各種スイッチであり、これを操作することにより楽音生成装置５０に各種指示を与えることができる。表示器６８は、楽音生成時に各種情報を表示させる表示器である。さらに、表示器６８の周囲に設けられている表示器ＳＷ６９を操作することにより楽音生成装置５０に各種指示を与えることができる。ハードディスク７０は、本願発明にかかるデータ構造のフレーム化された圧縮波形データを記憶することができると共に、演奏データやユーザ設定データ等を記憶することができる大容量記憶媒体である。
【００２１】
音源部７１は、フレーム化された圧縮波形データの伸長処理を行う図３や図５に示すような構成のデコーダを備えており、ＣＰＵ６１の制御に基づいて、ＲＯＭ／ＲＡＭ６３から楽音生成に必要とするフレーム化された圧縮波形データを読み出し、この圧縮波形データの伸長処理を行っている。そして、デコードされた波形データの補間、エンベロープ付与、チャンネル累算（ミキシング）、および効果（エフェクト）付与などの処理を行って、楽音波形データとして出力している。音源部７１から出力された楽音波形データは、サウンドシステム７２に供給されてアナログ信号に変換され放音されるようになる。なお、各部はバス７３を介して接続されている。
【００２２】
次に、楽音生成装置５０における音源部７１の詳細構成を示すブロック図を図７に示す。
楽音生成装置５０におけるＣＰＵ６１は、ノートオンに応じて楽音を発生する際に、音源部の有する複数の発音チャンネルの中から、該ノートオンに応じた楽音生成に使用するチャンネル（割り当てチャンネル）を選択し、制御レジスタ８０の割り当てチャンネルに対応する記憶領域に各種音源パラメータを設定し、同チャンネルの発音の開始指示を出す。発音開始指示と共に制御レジスタ８０に供給される音源パラメータ情報は、波形メモリ読み出し速度（楽音ピッチに対応）、波形メモリ読み出し区間、エンベロープパラメータ、ミキサ部８７に対する設定情報、およびエフェクト用係数等とされる。この内の波形メモリ読み出し区間パラメータは、読み出す圧縮波形データの開始アドレスおよびそのデータ長とされる。
【００２３】
アドレス発生部８２は、制御レジスタ８０から供給されている各発音チャンネルのピッチ情報および読出開始アドレスに基づいて、ＲＯＭ／ＲＡＭ６３における波形記憶部６３ａから読み出す圧縮波形データが格納されているフレームを読み出すためのフレームアドレス（ＦＡＤ）を作成している。具体的には、ピッチ情報であるＦナンバを波形データ生成タイミング（サンプリング周期）毎に累算して読み出しアドレスを算出し、その整数部と読出開始アドレスに基づいてフレームアドレス（ＦＡＤ）を作成している。このフレームアドレスはフレーム読出部８１に供給されて、フレームアドレスに対応するフレームが波形記憶部６３ａから読み出されて、フレームキャッシュ部８３に１フレーム分キャッシュされる。この場合、図８に示すようにフレームは１アドレスに対応するデータ幅を単位とする固定長とされて、フレームの先頭アドレスは決まっていることからアドレス発生部８２を簡単な構成とすることができる。そして、フレームキャッシュ部８３に新たなフレームがキャッシュされた際には、フレームキャッシュ部８３から副情報が読み出されて、副情報の内の伸長処理する際に必要な圧縮関連情報がデコーダ８４に設定される。例えば、圧縮波形データがＡＤＰＣＭを利用して圧縮処理されている場合は、圧縮されたビット数情報がデコーダ８４に設定され、ＬＰＣを利用して圧縮処理されている場合は、圧縮されたビット数、線形予測係数、量子化幅情報がデコーダ８４に設定される。また、圧縮関連情報以外の副情報は、制御レジスタ８０に送られて格納される。
【００２４】
さらに、アドレス発生部８２において算出された読出アドレスの整数部はフレームキャッシュ部８３に供給され、その小数部は補間部８５に補間情報として供給される。フレームキャッシュ部８３から読出アドレスの整数部に応じて読み出された圧縮波形データはデコーダ８４に供給される。この場合、補間部８５における補間処理において当該サンプリング周期における読出アドレスの整数部の増加分に対応した数の圧縮波形データのサンプルをフレームキャッシュ部８３から読み出すアドレスがアドレス発生部８２において作成され、対応する圧縮波形データがデコーダ８４に読み出される。デコーダ８４においては、フレームキャッシュ部８３から読み出された複数の圧縮波形データに、設定された圧縮関連情報とデコーダ８４内のバッファに記憶されている伸長されたｐサンプルの波形データとに基づいて順次に伸長処理を施して元の波形データを再生しつつ、同バッファに伸長された波形データを保存している。なお、このバッファは、順次伸長される波形データのうちの最新のｐサンプル分を保存するよう制御されている。
【００２５】
このように、アドレス発生部８２においてはサンプリング周期ごとにＦナンバを累算して波形データの読み出しアドレスを生成するような通常の波形メモリ音源のアドレスカウンタがそのまま使用することができる。また、圧縮波形データのビット数がフレーム毎に異なる場合でも、フレーム内の固定されたデータ領域から決められたビット数ずつ取り出せばよいので、圧縮波形データを取り出すデータ取出部の構成を極めて簡単にすることができる。例えば、図８に示されるフレームであれば、２ビットと４ビット、３ビットと６ビット、５ビットと１０ビットの各組について取り出しのロジックをかなりの部分で共用することができるようになる。
【００２６】
ここで、補間部８５において２点補間が行われる場合は、デコーダ８４内のバッファから、保持されているｐ個の伸長された波形データのうちの最新の２サンプル（そのｎサンプル後の連続した２サンプルでもよい）が供給される。そこで、この２サンプルの圧縮波形データがフレームキャッシュ部８３から読み出されて、デコーダ８４において伸長されバッファに格納されている。そこで、この２サンプルの伸長された波形データ間を、アドレス発生部８２から供給されている波形データ読出アドレスの小数部に基づいて補間処理することにより、補間された波形データを得るようにしている。また、補間部８５において４点補間が行われる場合は、デコーダ８４内のバッファから同最新の４サンプル（そのｎサンプル後の連続した４サンプルでもよい）が供給され、この４サンプルの伸長された波形データと、アドレス発生部８２から供給されている波形データ読出アドレスの小数部に基づいて補間処理することにより、補間された波形データを得るようにしている。
【００２７】
補間部８５から出力された補間された波形データは、音量ＥＧ部８６において制御レジスタ８０から供給されている音量エンベロープデータにしたがって音量制御される。このような処理は、発音チャンネル毎にその処理タイミングにおいて行われており、音量ＥＧ部８６から出力されたエンベロープ付与された複数の発音チャンネルの波形データが、ミキサ部８７においてミキシングされる。ミキサ部８７から出力された複数の発音チャンネルがミキシングされた波形データは、ＤＡＣ８８においてアナログ信号に変換されてサウンドシステム７２に向けて出力される。また、ミキサ部８７において操作子の操作に応じた効果付与処理を行うようにしてもよい。
【００２８】
以上の説明においては、１フレームごとに圧縮波形データのビット数を変えることのできる可変長となっていたが、必ずしもそうしなくてもよい。例えば、複数フレームごとにビット数を変えられるようにしてもよいし、あるいは、（フレームごとにはビット数を変えずに）選択される波形データごとにビット数を変えるようにしてもよい。
さらに、上記の説明においては記憶手段の１アドレスに対応するデータ幅は１６ビットとされていたが、１データ幅は１６ビットに限らず８ビット、２４ビット等でもよい。
さらにまた、８０ビットからなる１フレームの場合には、副情報に２０ビット、圧縮波形データに６０ビットを割り当てるようにしたが、１フレームの総ビット数はこれに限るものではなく、１アドレスに対応するデータ幅を単位とする固定長とされていればよく、副情報および圧縮波形データの割り当てもそれぞれ固定長とされていれば任意の割合で割り当てることができるものである。
さらにまた、上記の説明では圧縮波形データのビット数を、格納されるデータ領域のビット数における素数の倍数のビット数としたが、これに限るものではなく任意のビット数としてもよい。この場合においては、フレームにおける最後のサンプルの圧縮波形データを捨てるようにすればよい。
【００２９】
【発明の効果】
本発明は以上説明したように、圧縮波形データを記憶するフレームのサイズを固定とし、そのフレーム内の固定された位置に副情報領域とデータ領域とを設け、それぞれ副情報と圧縮波形データのサンプルを記憶する。圧縮波形データのサンプルのビット数が異なる場合でもデータ領域のサイズが変わらないため、記憶する圧縮波形データのサンプルのビット数に応じて、１つのフレームに記憶される圧縮波形データのサンプル数が変化する。これにより、圧縮波形データのサンプルのビット数が異なる場合であっても、フレームの開始位置がメモリアドレス上で一定間隔ごとにきちんと並び、フレームの先頭アドレスを容易に得ることができる。さらに、各フレーム内において副情報と圧縮波形データのサンプルの記憶領域が決まっているので、各データを容易に取り出すことができる。従って、波形データを効率よく記憶することができると共に、伸長処理を行う回路を簡単化することができるようになる。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかる波形記憶装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態にかかる波形記憶装置にかかるＡＤＰＣＭを利用して圧縮処理を行う圧縮処理部の構成を示す図である。
【図３】本発明の実施の形態にかかるフレーム化された圧縮波形データを伸長するＡＤＰＣＭデコーダの構成例を示す図である。
【図４】本発明の実施の形態にかかる波形記憶装置にかかるＬＰＣを利用して圧縮処理を行う圧縮処理部の構成を示す図である。
【図５】本発明の実施の形態にかかるフレーム化された圧縮波形データを伸長するＬＰＣデコーダの構成例を示す図である。
【図６】本発明にかかるデータ構造の圧縮波形データがフレーム毎に記憶されている記憶手段を備える本発明の実施の形態にかかる楽音生成装置のブロック図である。
【図７】本発明の実施の形態の楽音生成装置にかかる音源部の詳細構成を示すブロック図である。
【図８】本発明の実施の形態にかかるデータ構造を示す図である。
【符号の説明】
１　圧縮処理部、２　フレーム化部、３　記憶手段、４　制御部、１０　波形記憶部、１１　減算器、１２　量子化部、１３　量子化幅判定部、１４　フレーム化部、１５　逆量子化部、１６　加算器、１７　ＡＤＰＣＭ予測部、２１　データ取出部、２２　逆量子化部、２３　量子化幅判定部、２４　加算器、２５　ＡＤＰＣＭ予測部、３１　減算器、３２　量子化部、３３　予測係数算出部、３４フレーム判定部、３５　フレーム化部、３５　量子化部、３６　逆量子化部、３７　加算器、３８　線形予測部、４１　データ取出部、４２　逆量子化部、４３　加算器、４４　線形予測部、５０　楽音生成装置、６１　ＣＰＵ、６２　フラッシュＲＯＭ、６３　ＲＯＭ／ＲＡＭ、６３ａ　波形記憶部、６４　タイマ、６５　演奏操作子、６６　ＭＩＤＩインタフェース、６７　パネルＳＷ、６８　表示器、６９　表示器ＳＷ、７０　ハードディスク、７１　音源部、７２　サウンドシステム、７３　バス、８０　制御レジスタ、８１　フレーム読出部、８２アドレス発生部、８３　フレームキャッシュ部、８４　デコーダ、８５　補間部、８６　音量ＥＧ部、８７　ミキサ部、８８　ＤＡＣ
【図１】
2004126127.tif 000003
【図２】
2004126127.tif 000004
【図３】
2004126127.tif 000005
【図４】
2004126127.tif 000006
【図５】
2004126127.tif 000007
【図６】
2004126127.tif 000008
【図７】
2004126127.tif 000009
【図８】
2004126127.tif 000010