(57)【要約】【課題】複数の音を異なるサンプリング周波数にて任意に設定することを可能にし、複雑な計算を必要とすることなく、多数の音を発生可能な音発生装置を提供する。【解決手段】サンプリング周波数で符号化された音データを記憶するメモリ等の記憶装置１１と、周波数カウンタ原振クロック１８の周波数を基に算出された周波数のクロックを用いて音階を選択する音階選択回路１４と、ＣＰＵ１２と、音出力回路１３とを備える音発生装置において、音階選択回路の周波数カウンタ１５に入力されるクロックの音階毎のカウンタ値は、複数種類のサンプリング周波数にかかわらず固定されている。【選択図】        図２
2004226877.tif 000002
【特許請求の範囲】
【請求項１】
サンプリング周波数で符号化された音データを記憶するメモリ等の記憶装置と、周波数カウンタ原振クロックの周波数を基に算出された周波数のクロックを用いて音階を選択する音階選択回路と、ＣＰＵと、音出力回路とを備える音発生装置において、
前記音階選択回路の周波数カウンタに入力されるクロックの音階毎のカウンタ値は、複数種類のサンプリング周波数にかかわらず固定されていることを特徴とする音発生装置。
【請求項２】
周波数カウンタ原振クロックを入力して複数の周波数の波形を作成する第２の周波数カウンタと、サンプリング周波数に応じてＣＰＵから出力される信号に従い、第２の周波数カウンタが作成した複数の周波数を選択して上記音階選択回路の周波数カウンタに出力する原振選択回路とを備える請求項１記載の音発生装置。
【請求項３】
上記第２の周波数カウンタのカウンタのクロック周波数は、サンプリング周波数の２のｍ乗、ただし、ｍは音階の必要な精度及び周波数カウンタの原振クロックに応じて決定される値、である請求項２記載の音発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、音発生装置であり、特にサンプリングされた音を出力する回路を有する半導体集積回路に関する。
【０００２】
【従来の技術】
半導体集積回路において、音を出力するためには、方形波、サイン波等の波形の繰り返しを組み合わせて音を出力するＰＳＧ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｓｏｕｎｄ  Ｇｅｎｅｒａｔｏｒ）方式、ＦＭ（Ｆｒｅｑｕｅｎｃｙ  Ｍｏｄｕｌａｔｉｏｎ）方式等の方法、もしくは音の変化を時分割でサンプリングし、それをメモリ等の記憶装置に記憶しておき音を出力する際には時分割で音のレベルを出力するＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）方式を用いたものが一般的である。
【０００３】
前者の方法では、複雑な音を出力するのは難しいため、サンプリング可能な音であればたいていの音を出力することが可能な後者の方法を用いることが広く普及しているのであるが、音のサンプリング周波数、サンプリングされた時間に依存し多量の記憶領域を必要とする欠点がある。
【０００４】
この記憶装置のメモリ使用量を節約する手段として用いられる手法の一つに、音をサンプリングした上で符号化し、出力する際に周波数を変更することにより、ひとつの音でいくつもの音を出力することが可能であり、それを組み合わせることにより楽曲等の音を出力する方法がある。例えば、ピアノの“ド”の音をサンプリングしたとすると音階の平均率にしたがってサンプリング周波数に２の１２乗根（約１．０６）を掛け合わせる。これを１２回繰り返すことにより一オクターブ内の１２半音（“ドレミファソラシド＋α”）の音を作成し出力することが可能である。この音を組み合わせることにより任意の楽曲等を出力することができる。
【０００５】
この際、符号化データのサンプリング周波数が同一であるほうが、再生処理が容易なため、従来の技術においては、サンプリング周波数は、固定された周波数でサンプリングの上、符号化し、その符号化データの周波数を任意の値にて再生処理を行うことにより音を作成する。
【０００６】
その他の、記憶装置のメモリ使用量を節約する手段として用いられる一例として、特許文献１に示す手法がある。この手法によると、音の種類によって必要な帯域幅が異なることを利用して、音の種類により各帯域幅に見合ったサンプリング周波数にて符号化を行うことにより音声符号データ作成する。それにより各々の音声データ量が節約することできる。
【０００７】
【特許文献１】
特開平６−８３３５９号公報
【０００８】
【発明が解決しようとする課題】
従来の方式では、サンプリング周波数が固定方式であるため、音の品位が固定化されてしまうという欠点、例えば、ある音は音の品位を下げても大丈夫なものと品位を上げる必要のあるものなど、幾つかの音を扱う際に、サンプリング周波数が固定であるがために、品位の必要の無いものまで、高品位でサンプリングされてしまう、逆に高品位が必要であるのに、低品位でサンプリングされてしまうという欠点があった。
【０００９】
したがって本発明の目的は、複数の音を異なるサンプリング周波数にて任意に設定することを可能にし、複雑な計算を必要とすることなく、多数の音を発生可能な音発生装置を提供することが目的であり、これにより、音の品位を下げても大丈夫なデータに関してサンプリング周波数を下げることが可能となるため、楽曲データに必要な記憶装置のメモリ使用量を節約することができる。
【００１０】
【課題を解決するための手段】
本発明は、サンプリング周波数で符号化された音データを記憶するメモリ等の記憶装置と、周波数カウンタ原振クロックの周波数を基に算出された周波数のクロックを用いて音階を選択する音階選択回路と、ＣＰＵと、音出力回路とを備える音発生装置において、前記音階選択回路の周波数カウンタに入力されるクロックの音階毎のカウンタ値は、複数種類のサンプリング周波数にかかわらず固定されている音発生装置である。
【００１１】
また、本発明は、周波数カウンタ原振クロックを入力して複数の周波数の波形を作成する第２の周波数カウンタと、サンプリング周波数に応じてＣＰＵから出力される信号に従い、第２の周波数カウンタが作成した複数の周波数を選択して上記音階選択回路の周波数カウンタに出力する原振選択回路とを備える音発生装置である。
【００１２】
そして、本発明は、上記第２の周波数カウンタのカウンタのクロック周波数は、サンプリング周波数の２のｍ乗、ただし、ｍは音階の必要な精度及び周波数カウンタの原振クロックに応じて決定される値、である音発生装置である。
【００１３】
本発明は、音のサンプリング周波数を変更しても、複雑な計算無しで音階を選択するために、音階選択回路に入力される周波数カウンタの原振となるクロック部分において、従来技術では固定のところ、可変制御するための回路を有する。可変制御するための回路は周波数カウンタ及び原振選択回路を有する。原振選択回路は、サンプリング周波数の値に依存して音階選択回路の周波数カウンタに入力されるクロックを選択する。これらの回路により音階選択回路に必要な周波数を作成する周波数カウンタの原振入力部分に任意の周波数のクロックを入力するよう回路を構成する。音階選択回路の周波数カウンタ原振部分に入力されるクロックは、記憶装置に記憶されている音のサンプリング周波数に依存し、ＣＰＵもしくはそれに準じる回路にて計算され、任意の周波数が選択されるよう回路を構成する。選択されるクロックは、“サンプリング周波数×２のｍ乗”の周波数、もしくはそれに近い値になるように計算される。ｍは音階の必要な精度、及び周波数カウンタの原振クロックに応じて任意に決定され、原振が１００ＭＨｚ程度では、８程度の値が望ましい。または原振が１０ＭＨｚ〜１０ＧＨｚでｍ値は４〜２０程度になり、原振が大きくなるほどｍ値は大きくなる。
【００１４】
音階の選択回路のブロックは、回路にてカウンタの出力段を、必要とする音階に合う周波数が選択されるように構成しておく。もしくは、多数の出力を用意しておき、音階テーブル等を準備してくことにより、それをＣＰＵもしくはそれに順ずる回路にて選択するように構成する。これにより、音階を選択する際に、ＣＰＵ等の演算回路にて複雑な計算をすることが無く、音階を選択することが可能になる。このブロックの回路もしくは音階テーブル等は、記憶装置に記憶されている音のサンプリング周波数に依存しないため、サンプリング周波数を違う音でも同じ回路もしくは音階テーブル等を使用することが可能となる。
【００１５】
【発明の実施の形態】
本発明の実施の形態を説明する。
本発明の音発生装置の実施例である半導体集積回路を図２に示す。本実施例の音発生装置は、図２に示すように、記憶装置１１、ＣＰＵ１２、音出力回路１３、音階選択回路１４、周波数カウンタ１５、１６、原振選択回路１７を備えている。記憶装置１１に任意のサンプリング周波数で符号化された音データが記憶されている。その音データを出力する際に、サンプリング周波数がＣＰＵ１２に読み込まれる。周波数カウンタ原振クロック１８をクロックとし、周波数カウンタ１６がカウントアップしカウンタ動作する。カウンタ動作することにより生成されるいくつもの周波数波形を、ＣＰＵ１２よりサンプリング周波数に応じた出力される信号に従って、原振選択回路１７が、周波数カウンタ１５のクロック入力に入力される任意の周波数を選択する。
【００１６】
例えば、図２の回路において、周波数カウンタ原振クロック１８に１００ＭＨｚのクロックが入力されたとする。また、周波数カウンタ１５、１６が１０段の分周機能をもつ周波数カウンタとする。この回路において、基準の“ド”の音をサンプリング符号化し、各音階を出力するための周波数カウンタ１５の値は基準のカウンタ値を「２５５」とすると、図４のカウンタ値２の値にて出力することが可能となる。サンプリング周波数を図３の各値にしたと仮定すると、その場合に周波数カウンタ１５に入力されるクロックの周波数は、
サンプリング周波数×２のｍ乗      （式１）
（今回の例では、ｍ＝８として計算）
となり、各々のサンプリング周波数の場合の周波数データは、図３に示す選択クロック値となる。
【００１７】
その周波数は、図３のカウンタ値により選択することが可能である。その選択された周波数のクロックが周波数カウンタ１５に入力される。この時、ＣＰＵ１２にて計算が必要な部分は上記式１の計算式部分のみであり、音階ごとのカウンタ値はサンプリング周波数にかかわらず固定であり計算は不要となる。例えば、サンプリング周波数１０００Ｈｚと８０００Ｈｚで“ド”の音をサンプリングしたとすると、原振選択回路１７を図３のカウンタ値１の計算のみで、図４のカウンタ値２はどちらの周波数でも同じとなる。
【００１８】
図４のカウンタ値は、音階選択回路１４で固定出力のひとつとして回路上に組み込む方法、もしくは、ＣＰＵ１２より制御して出力する方法により選択される。ＣＰＵ１２より選択する際には、あらかじめテーブルデータを作成しておくことにより、容易に音階を選択することが可能となる。この際、サンプリング周波数が変わっても図４のカウンタ値を変更することなく同じ音階を出力することが可能である。
【００１９】
なお、周波数カウンタ１５、１６の段数、周波数カウンタ原振クロック１８は、要求される精度、回路規模の制限により任意に設定する。
【００２０】
【発明の効果】
以上のように、この発明によれば、サンプリング周波数に依存することなく音階の出力が可能となる。これにより、サンプリング周波数の異なる音を合わせて使用することが可能になるため、記憶装置のメモリ使用量を節約することが可能となる。
【図面の簡単な説明】
【図１】従来回路例の説明図。
【図２】実施例の音発生装置の説明図。
【図３】実施例における選択周波数例を説明する図表。
【図４】実施例における音階名毎のカウンタ値２及び選択周波数例を説明する図表。
【符号の説明】
１、１１  記憶装置
２、１２  ＣＰＵ
３  音出力装置
４、１４  音階選択回路
５、１５、１６  周波数カウンタ
６、１８  周波数カウンタ原振クロック
７  外部端子
１３  音出力回路
１７  原振選択回路
【図１】
2004226877.tif 000003
【図２】
2004226877.tif 000004
【図３】
2004226877.tif 000005
【図４】
2004226877.tif 000006