JP2007148377A - 楽音出力装置及び楽音出力用集積回路 - Google Patents

楽音出力装置及び楽音出力用集積回路 Download PDF

Info

Publication number
JP2007148377A
JP2007148377A JP2006281358A JP2006281358A JP2007148377A JP 2007148377 A JP2007148377 A JP 2007148377A JP 2006281358 A JP2006281358 A JP 2006281358A JP 2006281358 A JP2006281358 A JP 2006281358A JP 2007148377 A JP2007148377 A JP 2007148377A
Authority
JP
Japan
Prior art keywords
data
control circuit
signal
circuit
timing
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.)
Granted
Application number
JP2006281358A
Other languages
English (en)
Other versions
JP4778872B2 (ja
Inventor
Takamasa Fujisaka
孝誠 藤阪
Tetsuo Sugioka
徹郎 杉岡
Kazuki Adachi
一樹 足立
Kiyomi Kimura
聖美 木村
Takeyuki Takayama
強之 高山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006281358A priority Critical patent/JP4778872B2/ja
Priority to US11/583,984 priority patent/US7425673B2/en
Publication of JP2007148377A publication Critical patent/JP2007148377A/ja
Application granted granted Critical
Publication of JP4778872B2 publication Critical patent/JP4778872B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • G10H7/04Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories in which amplitudes are read at varying rates, e.g. according to pitch

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephone Function (AREA)
  • Information Transfer Systems (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】CPUによるシステム制御と楽音出力部による楽音信号出力とを並列して実行する楽音出力装置において、1つの発振器のみで動作させながらも、CPUの性能を限定することなく、出力する楽音信号の音質の低下を抑えた楽音出力装置を提供する。
【解決手段】楽音出力装置100の発振器102は水晶振動子により生成したクロック141を、逓倍回路103はクロック141を逓倍したクロック142を、タイミング制御回路104はクロック142を基にCPU105の動作に必要なタイミング信号150を送出する。CPU105はタイミング信号150を動作クロックとし、DA変換器115はクロック141に基づく信号により動作する。タイミング補正回路114はクロック142の周波数ジッタから生じるクロック141とクロック142とのずれを検出し、クロックレーシングの発生を防止する。
【選択図】図1

Description

本発明は、楽音信号を出力する楽音出力装置及び楽音出力用集積回路に関し、特にCPUによる制御と楽音信号出力とを並列して実行する技術に関する。
楽音出力部による楽音信号出力とCPUによる楽音信号出力に用いるデータ指定等の制御を含むシステム制御とを並列して実行する楽音出力装置では、楽音出力部は、楽音信号再生用の比較的低い周波数のクロックにより動作させ、CPUは、その性能を発揮するため、一般的に、楽音出力部よりも高い周波数のクロックにより動作させる必要がある。
そのため、楽音出力部用のクロックを生成する発振器とCPU用のクロックを生成する発振器とをそれぞれ用意し、必要なクロックを生成する方法が考えられるが、発振器を複数使用するため、半導体チップの集積度が低下し、また、コストがかかるというデメリットがある。
そのため、1つの発振器により生成されたクロックから、楽音出力部とCPUとに必要なクロックを発生させ、それぞれを動作させる方法が考えられる(例えば、特許文献1参照)。
一般的に、1つの発振器から生成されたクロックを基に複数の周波数のクロックを発生させるためには、PLL(Phase Locked Loop)やリングオシレータ等のクロック発生回路を使用する。
特開平9−198045号公報
しかし、PLL等のクロック発生回路により生成されるクロックは、比較的周波数ジッタが大きく、クロック発生回路により生成されたクロックにより楽音出力部を動作させると、生成される楽音の音質が低下する原因となる。
そこで、本発明はかかる問題に鑑みてなされたものであり、1つの発振器のみで動作させながらも、CPUの性能を限定することなく、出力する楽音信号の音質の低下を抑えた楽音出力装置を提供することを目的とする。
上記課題を解決するために本発明にかかる楽音出力装置は、楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力装置であって、水晶振動子を用いて基準クロックを生成するクロック発振器と、前記基準クロックを逓倍して逓倍クロックを生成する逓倍回路と、前記逓倍クロックに基づく信号に同期したタイミングで前記メモリに格納された前記楽音データを内部のバッファに格納し、所定のタイミングで当該バッファに格納された前記楽音データを転送する制御回路と、前記逓倍クロックに基づく信号に同期して動作し、前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、前記制御回路から転送された前記楽音データを前記基準クロックに基づく信号に同期したタイミングで、前記楽音信号に変換して出力するDA変換器とを備えることを特徴とする。
また、上記課題を解決するために、楽音出力装置に用いられる本発明にかかる楽音出力用集積回路は、楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力用集積回路であって、前記メモリに格納された前記楽音データを内部のバッファに格納し、当該バッファ格納された当該楽音データを転送する制御回路と、前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、前記楽音信号に変換して出力するDA変換器とを備えることを特徴とする。
上述の構成を備える本発明に係る楽音出力装置、及び、楽音出力用集積回路において、DA変換器は、水晶振動子を用いて生成された比較的周波数ジッタの少ない基準クロックに基づく信号に同期したタイミングで楽音信号を出力するため、周波数ジッタによる音質の低下を抑えた楽音信号を出力することできる。
また、CPUは逓倍クロックに基づく信号に同期して動作するため、逓倍回路がCPUの動作に必要な周波数の逓倍クロックを生成することにより、CPUは、動作クロックにより性能を制限されることなく、動作することができる。
また、前記制御回路は、前記基準クロックに基づくタイミング信号を生成する転送タイミング補正回路を含み、当該タイミング信号に同期したタイミングを前記所定のタイミングとして前記バッファに格納された前記楽音データを転送するものであって、前記楽音出力装置は、更に、前記基準クロックの所定の基準位置と前記逓倍クロックの所定の基準位置とのずれが所定程度生じていることを検出すると、前記転送タイミング補正回路にずれを検出した旨のリセット信号を送出するずれ検出回路を備え、前記転送タイミング補正回路は、前記リセット信号を受領すると、前記制御回路が前記楽音データを前記バッファに格納するタイミングと所定の関係を有するよう前記タイミング信号の生成を調整することとしてもよい。
これにより、基準クロックの基準位置と逓倍クロックの基準位置とが所定値以上ずれた場合に、転送タイミング補正回路は、制御回路がバッファに楽音データを格納するタイミングと所定の関係を有するよう、例えば、メモリに格納された楽音データを所定単位の単位データ毎に制御回路のバッファに格納する場合に、次の単位データがバッファに格納される前に既に格納されている単位データを転送するようタイミング信号の生成を調整するため、クロックレーシングの発生による楽音信号の音質低下を防止することができる。
ここで、基準位置とは、基準クロック、及び、逓倍クロックの所定の立ち上がり、又は、立ち下がりのエッジをいう。
一般的に逓倍クロックは、PLLやリングオシレータ等のクロック発生回路を用いて生成されるが、クロック発生回路によって生成される逓倍クロックは、水晶振動子により生成された基準クロックに比べ、周波数ジッタが大きく、基準クロックの基準位置と逓倍クロックの基準位置とを合わせようとしても、ずれを生じる場合がある。
また、前記制御回路は、前記バッファに格納された前記楽音データをオーバーサンプリングするために、当該楽音データを構成する複数のサンプリングデータについて、それぞれ複数回転送するものであることとしてもよい。
これにより、制御回路はオーバーサンプリングするために各サンプリングデータを複数回転送するため、出力される楽音信号は音質の低下を抑えたものにすることができる。
また、前記楽音出力装置は、更に、前記メモリと、前記制御回路と、前記CPUとに接続し、当該メモリに格納された前記楽音データについての当該制御回路への転送、又は、前記制御プログラムについての当該CPUへの転送を媒介するデータバスを有し、前記CPUの制御は、当該データバスの使用権の調整に係る制御を含むものであって、前記制御回路は、前記CPUの制御を受け、前記データバスの使用権を得ると、読出し許可信号を送出する読出し調整回路と、前記読出し許可信号を受領すると、前記メモリに対し、前記楽音データが格納されたアドレスと、当該アドレスに格納された楽音データの送出を指示する読出し信号とを送出する送出指示処理を行う送出指示回路と、前記読出し許可信号を受領し、前記データバスに前記楽音データが送出されると、当該データバスから当該楽音データを前記バッファである第1バッファに格納し、当該第1バッファに格納された楽音データを随時転送する第1データ制御回路と、前記第1バッファとは異なる第2バッファを有し、前記第1データ制御回路から転送された前記楽音データを当該第2バッファに格納し、当該第2バッファに格納された楽音データをサンプリング周期に同期したタイミングで前記DA変換器に転送する第2データ制御回路とからなるものであって、前記メモリは、前記送出指示回路から前記読出し信号を受領すると、指定されたアドレスに格納された前記楽音データを前記データバスに送出することとしてもよい。
これにより、データバスに送出された楽音データは、それぞれバッファを有する第1データ制御回路と第2データ制御回路とを経由してDA変換器に転送され、読出し調整回路は、常に一定の周期でデータバスの使用権を得られなくても、第2データ制御装置は、サンプリング周期に同期した一定の周期で楽音データを転送することができるため、楽音再生時の波形歪みの発生を低減することができる。
また、前記楽音出力装置は、更に、前記メモリと、前記制御回路と、前記CPUとに接続し、当該メモリに格納された前記楽音データについての当該制御回路への転送、又は、前記制御プログラムについての当該CPUへの転送を媒介するデータバスを有し、前記CPUの制御は、当該データバスの使用権の調整に係る制御を含むものであって、前記制御回路は、前記CPUの制御を受け、前記データバスの使用権を得ると、読出し許可信号を送出する読出し調整回路と、前記読出し許可信号を受領すると、前記メモリに対し、前記楽音データが格納されたアドレスと、当該アドレスに格納された楽音データの送出を指示する読出し信号とを送出する送出指示処理を行う送出指示回路と、前記読出し許可信号を受領し、前記データバスに前記楽音データが送出されると、当該データバスから当該楽音データを前記バッファに格納する格納処理を行い、当該バッファに格納された楽音データを前記DA変換器に転送するデータ制御回路とからなるものであって、前記メモリは、前記送出指示回路から前記読出し信号を受領すると、指定されたアドレスに格納された前記楽音データを前記データバスに送出することとしてもよい。
これにより、1つのメモリに楽音データと楽音データの読出し制御用の制御プログラムが格納されている場合であっても、読出し調整回路が、CPUによる制御を受けてデータバスの使用権を得た後、データ制御回路は、データバスから楽音データをバッファに格納するため、CPUとデータバスの競合を起こすことなく、楽音データを取得することができる。
また、前記楽音出力装置は、前記読出し調整回路が、前記データバスの使用権を得て、前記読出し許可信号を送出すると、1回の前記読出し許可信号の受領に対し、前記送出指示回路による前記送出指示処理と、前記データ制御回路による前記格納処理とを複数回行うこととしてもよい。
これにより、読出し調整回路がデータバスの使用権を1回得るのに対し、データ制御回路は複数回の格納処理を行うため、格納処理回数あたりのバス使用権の調整回数を減らし、データバスを有効に活用することができる。
なお、データバスの使用権を得る際には、CPUと読出し調整回路との間で、データバスの使用権をどちらが得るかを調整する必要があり、バス使用権の調整中は、CPUもデータ制御回路もデータバスを使用することができない。
また、前記楽音データは、複数のサンプリングデータから構成され、所定の圧縮率で圧縮されたものであり、前記データ制御回路の前記バッファは、前記データバスから前記楽音データを格納する第1バッファ領域と、楽音データを退避する第2バッファ領域とからなるものであって、前記楽音出力装置は、更に前記サンプリングデータの圧縮後のデータサイズを記憶し、当該データサイズを示す圧縮率信号を前記データ制御回路に送出する圧縮率切替えレジスタを備え、前記データ制御回路は、前記第1バッファ領域に格納された楽音データを前記圧縮率切替えレジスタが送出した前記圧縮率信号が示すデータサイズ毎に転送し、前記圧縮率信号に示すサイズに満たない残データが生じた場合には、当該残データを前記第2バッファ領域に格納し、当該第2バッファ領域に格納された残データと次に前記第1バッファ領域に格納された楽音データの一部とを合わせて前記圧縮率信号が示すデータサイズにして転送することとしてもよい。
これにより、データ制御回路は、1回に第1バッファ領域に格納する楽音データのサイズが、1回に転送する楽音データのサイズの整数倍でない場合でも、1回に転送する楽音データのサイズに満たない残データが生じたときはこれを退避し、次にバッファに格納した楽音データと合わせて1回に転送する楽音データのサイズにして転送するため、DA変換器に正しく楽音データを送出することができる。
また、前記楽音データは、圧縮率の異なる複数のフレーズデータからなり、各フレーズデータは、複数のサンプリングデータからなるものであり、前記楽音出力装置は、更に前記フレーズデータ毎の圧縮後のサンプリングデータのデータサイズを記憶し、前記データ制御回路が、前記バッファに格納したフレーズデータに対応する前記データサイズ示す圧縮率信号を当該データ制御回路に送出する圧縮率切替え制御回路を備え、前記データ制御回路は、前記バッファに格納した前記フレーズデータを前記圧縮率信号が示すデータサイズ毎に転送することとしてもよい。
これにより、フレーズ毎に圧縮率の異なる楽音データであっても、データ制御回路は、各フレーズの圧縮率に対応したサイズ毎に楽音データを転送するため、DA変換器に正しく楽音データを送出することができる。
また、前記楽音データのデータサイズが、前記データバスのバス幅の整数倍でない場合であって、前記楽音出力装置は、更に、前記楽音データのデータサイズと、前記データ制御回路が1回に転送する楽音データのサイズである転送サイズとを記憶し、内部にカウンタ回路を有し、前記カウンタ回路の値が前記楽音データのサイズと一致すると前記データ制御回路に終了検知信号を送出する終了制御回路を備え、前記データ制御回路は、前記終了検知信号を受領するまで、前記バッファに格納されたデータを転送し、データを転送する毎にデータを送出したことを示すデータ送出信号を前記終了制御回路に送出し、前記終了制御回路は、前記データ送出信号を受領すると、前記カウンタを前記転送サイズ分計数することとしてもよい。
これにより、楽音データのデータサイズが、データバスのバス幅の整数倍でない場合でも、データ制御回路が楽音データサイズ分のデータの転送を完了すると、終了制御回路が終了検出信号をデータ制御回路に送出し、データ制御回路はDA変換器への転送を停止するため、バッファに残った楽音データ以外のデータをDA変換器へ転送することを防止することができる。
また、前記データ制御回路のバッファが1回に格納可能な楽音データのサイズと、メモリの2アドレス分のサイズとが等しい場合であって、前記楽音出力装置は、更に、前記楽音データのデータサイズと、前記メモリの2アドレス分のサイズとを記憶し、当該楽音データのサイズを当該メモリの2アドレス分のサイズで除算し、剰余がゼロでない場合に、前記データ制御回路に終了検出信号を送出する終了制御回路を備え、前記データ制御回路は、前記終了検知信号を受領すると、最後に前記バッファに格納した楽音データを1アドレス分のみ送出することとしてもよい。
これにより、データ制御回路が1回にバッファに楽音データを格納するサイズが、メモリの2アドレス分のサイズと等しい場合に、終了制御回路は、楽音データのサイズとメモリの1アドレス分のサイズとから、楽音データが奇数アドレス分であるかを判定し、奇数アドレス分である場合に、データ制御回路に終了検出信号を送出するため、データ制御回路は、終了検出信号を受領した場合には、最後に格納した楽音データを1アドレス分のみ転送することで、バッファに残った楽音データ以外のデータをDA変換器へ転送することを防止することができる。
また、前記楽音出力装置は、更に、当該楽音出力装置の外部から取得した楽音データを、前記メモリの所定の開始アドレスから所定の終了アドレスまでの領域に格納するデータ転送回路を備え、前記送出指示回路は、前記開始アドレスから順次アドレスを送出し、前記終了アドレス以前の所定のアドレスを送出すると、前記データ転送回路に楽音データの格納を許可する格納許可信号を送出し、前記終了アドレスを送出すると、再度前記開始アドレスからアドレスの送出を開始するものであって、前記データ転送回路は、前記格納許可信号を受領すると、前記メモリの前記開始アドレスから前記終了アドレスまでの領域に楽音データを格納することとしてもよい。
これにより、送出指示回路が、例えば、終了アドレスの1つ前のアドレスを送出すると、データ転送回路に格納許可信号を送出するようにすることによって、メモリに格納済みの楽音データのうち、データ制御回路がバッファに格納していない楽音データの残りが少なくなると、データ転送回路は外部から楽音データを取得してメモリへの格納を行うため、メモリの格納サイズを超える長大なサイズの楽音データであっても、途切れなく楽音信号として出力することができる。
以下、本発明の実施形態に係る楽音出力装置ついて説明する。
≪実施の形態1≫
<概要>
実施の形態1の楽音出力装置は、CPUが使用する制御プログラム及び制御用データ(以下、「制御プログラム等」という)とデータ制御回路が使用する楽音データとが格納されたメモリから、CPUとのバス使用権を調整し、楽音データを読み出し、DA変換を行って楽音信号として出力する。
また、楽音出力装置において、DA変換器は、水晶振動子により生成した基準クロックを分周したクロックに同期したタイミングで動作し、CPUは、基準クロックを逓倍した逓倍クロックから生成した各回路の動作に必要な周波数のクロックに同期したタイミングで動作する。
DA変換器は、水晶振動子により生成した基準クロックを分周した周波数ジッタの少ないクロックにより動作するため、出力する楽音信号の音質の低下を防ぐことができる。また、CPUは、楽音信号再生用の比較的遅いクロックではなく、逓倍クロックから生成したCPUの動作に必要な周波数のクロックを動作クロックとするため、性能を制限されることなく動作することができる。
また、逓倍クロックは、逓倍回路(PLL)を使用して生成するため、水晶振動子から直接生成した基準クロックより周波数ジッタが高く、逓倍クロックの基準位置と基準クロックの基準位置とを合わせようとしてもずれを生じる場合がある。
そこで、楽音出力装置は、基準クロックから生成されるずれ監視信号と逓倍クロックから生成されるマスク信号とを用いて、基準クロックの基準位置と逓倍クロックの基準位置との間に所定以上のずれが発生しているかを判定し、ずれが発生している場合には、楽音データを格納し、DA変換器へ送出するタイミングを調整する。なお、ずれ監視信号とマスク信号とについては後述する。
これにより、クロックレーシングの発生を防ぎ、メモリに格納された楽音データを適切なタイミングでDA変換器に送出できるため、音質を維持して楽音信号を出力することができる。
<構成>
図1は、実施の形態1に係る楽音出力装置100の構成図である。
楽音出力装置100は同図に示すように、水晶101、発振器102、逓倍回路103、タイミング制御回路104、CPU105、読出し調整回路106、アドレスバス107、アドレス制御回路108、読出し制御回路109、データバス110、メモリ111、データ制御回路112、取込み回数可変回路113、タイミング補正回路114、DA変換器115から構成される。
ここで、水晶101は、通常の水晶振動子であり、発振器102は、水晶101を用いた発振回路であり、クロック141を送出する。クロック141は、逓倍回路103の基準クロックであり、DA変換器115の動作タイミングを決定するクロックであり、取込み回数可変回路113が生成する後述するずれ監視信号139の基となるクロックである。
逓倍回路103は、発振器102から受領したクロック141の整数倍の周波数のクロックを生成することのできるクロック生成回路であり、逓倍回路103が送出するクロック142は、タイミング制御回路104の基準クロックである。
タイミング制御回路104は、逓倍回路103から受領したクロック142を基に、各回路の動作タイミングを決定するタイミング信号150〜154を生成し、各回路に送出する回路である。
また、タイミング制御回路104は、後述するタイミング補正回路114のずれ検出処理において使用されるマスク信号138を生成し、タイミング補正回路114へ送出する回路である。タイミング補正回路114が、クロック141の基準位置とクロック142の基準位置とのずれを検出した場合に、タイミング補正回路114から同期リセット信号140を受領すると、タイミング制御回路104は、マスク信号138がアサートされるタイミングをリセットし、クロック141の基準位置とクロック142の基準位置とのずれが発生していないときの状態(以下、「初期状態」という)に戻す。
以下、簡単にタイミング制御回路104が生成する信号について説明する。
タイミング信号150は、CPU105の動作クロックであり、タイミング信号151は、読出し調整回路106の動作タイミングを決定するタイミング信号である。タイミング信号150の周波数とタイミング信号151の周波数は等しく、サンプリング周波数に比べ、十分高い周波数の信号である。例えば、サンプリング周波数を10KHzとすると、数MHz程度の信号である。
タイミング信号152は、アドレス制御回路108の動作タイミングを決定するタイミング信号であり、タイミング信号153は、読出し制御回路109の動作タイミングを決定するタイミング信号である。タイミング信号152の周波数とタイミング信号153の周波数は等しく、サンプリング周波数の整数倍の周波数の信号である。
タイミング信号154は、データ制御回路112の動作タイミングを決定するタイミング信号であり、サンプリング周波数と等しい周波数の信号である。
マスク信号138は、サンプリング周期毎に一定の幅でアサートされる信号であり、タイミング補正回路114へ送出され、後述するタイミング補正回路114のずれ検出処理に使用される。なお、以下では、マスク信号138においてアサートされていない部分をマスク信号138の基準位置という。
クロック142は、水晶振動子から生成したクロック141に比べ、周波数ジッタの大きいクロックであるため、クロック142を基に生成したマスク信号138がアサートされるタイミングにずれが生じる場合がある。
CPU105は、タイミング制御回路104から受領したタイミング信号150を動作クロックとして、メモリ111に格納された制御プログラムに従い、システム全体の制御の他、初期パラメータの設定、楽音信号出力の開始指示、バス使用権の調整といった楽音データ読出しのための制御を行う回路である。
楽音データ読出しのための制御について、具体的には、CPU105がシステム全体の制御を行っている際に、楽音再生の要求が発生すると、初期パラメータとして、アドレス制御回路108に所望の楽音データが格納されているメモリ111上のアドレス値を、データ制御回路112に1回に送出する楽音データのサイズ(サンプリングデータのデータサイズ)を設定した上で、読出し調整回路106に楽音信号出力の開始を指示する再生要求信号131を送出する。
また、CPU105は、読出し調整回路106から後述するバス調停信号132を受領すると、実行している制御に支障を来さないタイミングでバスを解放することで、バスの使用権の調整を行う。
読出し調整回路106は、タイミング制御回路104から受領したタイミング信号151に同期したタイミングで、CPU105に対し、バスの使用権を要求するバス調停信号132を送出し、CPU105がバスを解放すると、アドレス制御回路108、読出し制御回路109、及び、データ制御回路112に楽音データの読出しを指示する読出し許可信号134を送出する回路である。
アドレスバス107は、CPU105が所望の制御プログラム等が格納されたアドレス値を、又は、アドレス制御回路108が所望の楽音データが格納されたアドレス値を、メモリ111に対して指定するためのバスである。
アドレス制御回路108は、所望の楽音データが格納されているメモリ111のアドレス値をアドレスバス107に送出する回路である。
具体的には、アドレス制御回路108は、読出し調整回路106から読出し許可信号134を受領すると、タイミング制御回路104から受領したタイミング信号152に同期したタイミングで、予めCPU105から内部のレジスタに設定されたメモリ111上の所望の楽音データが格納されている領域のスタートアドレスからエンドアドレスまでのアドレス値を、順次変化させながらアドレスバス107に送出する。
なお、楽音データが、メモリ111の連続した領域に格納されている場合には、1対のスタートアドレスとエンドアドレスとが内部のレジスタに設定され、複数の領域にまたがって格納されている場合には、複数の対となるスタートアドレスとエンドアドレスとが内部のレジスタに設定される。
読出し制御回路109は、読出し調整回路106から読出し許可信号134を受領すると、タイミング制御回路104から受領したタイミング信号153に同期したタイミングで、メモリ111にデータバス110へのデータの送出を求める読出し信号135を送出する回路である。
データバス110は、メモリ111が、アドレスバス107に指定されたアドレスに格納されている制御プログラム等、又は、楽音データを送出するバスである。CPU105はメモリ111に格納された制御プログラム等を、データ制御回路112はメモリ111に格納された楽音データを、データバス110を介して受領することができる。
メモリ111は、CPU105が使用する制御プログラム等、及び、楽音データを任意のアドレスに格納する不揮発性のメモリである。
メモリ111は、読出し制御回路109から読出し信号135を受領すると、
アドレスバス107に送出されたアドレス値が示すアドレスに格納された楽音データをデータバス110に送出する。
データ制御回路112は、タイミング制御回路104から受領したタイミング信号154に同期したタイミングで、メモリ111からデータバス110に送出された楽音データを内部に有するバッファに格納し、バッファに格納された楽音データを、予めCPU105により内部のレジスタに設定された1回に送出する楽音データのサイズ(サンプリングデータのサイズ)毎に、取込み回数可変回路113へ送出する回路である。
取込み回数可変回路113は、水晶振動子により生成したクロックであるクロック141を基にサンプリング周期毎にアサートされるタイミング信号155(図3参照)を生成し、タイミング信号155に同期したタイミングで、データ制御回路112から送出された楽音データを内部に有するバッファに格納し、取込み回数可変回路113の内部で生成したタイミング信号156に同期したタイミングで、予め設定されたオーバーサンプリング数に従って、バッファに格納された楽音データをタイミング補正回路114に送出する回路である。タイミング信号156は、タイミング信号155がアサートされる間隔(サンプリング周期と等しい間隔)にオーバーサンプリング数個のクロックを出力するものである。
ここで、取込み回数可変回路113は、データ制御回路112が送出する楽音データの切り替わりで楽音データをバッファに格納することのないようにする必要がある。切り替わりの楽音データは安定していないため、これを用いて楽音信号を生成してしまうと、音質が低下する原因となるためである。
そのため、タイミング信号155は、データ制御回路112が送出する楽音データが切り替わってから所定の時間経過したタイミングでアサートされる必要があり、タイミング信号155は、データ制御回路112が楽音データを送出するタイミングと上述のような所定の関係を有するものである。
また、取込み回数可変回路113は、水晶振動子により生成したクロックであるクロック141を基にずれ監視信号139を生成し、タイミング補正回路114に送出する。ずれ監視信号139は、サンプリング周期毎にアサートされる信号であり、後述するタイミング補正回路114のずれ検出処理において使用される。なお、以下では、ずれ監視信号139においてアサートされている部分をずれ監視信号139の基準位置という。初期状態において、ずれ監視信号139の基準位置は、マスク信号138の基準位置内に位置する。
タイミング補正回路114が、クロック141の基準位置とクロック142の基準位置とのずれを検出した場合に、タイミング補正回路114から同期リセット信号140を受領すると、取込み回数可変回路113は、タイミング信号155の出力タイミングが、データ制御回路112が送出する楽音データの切り替わりのタイミングと一致しないよう調整し、また、タイミング信号156の出力タイミングについても、あわせて調整する。
また、タイミング補正回路114から同期リセット信号140を受領した取込み回数可変回路113は、ずれ監視信号139がアサートされるタイミングをリセットし、初期状態に戻す。
タイミング補正回路114は、取込み回数可変回路113から受領した楽音データをDA変換器115に転送すると共に、取込み回数可変回路113から受領したずれ監視信号139とタイミング制御回路104から受領したマスク信号138とを用いて、水晶振動子により生成したクロックであるクロック141の基準位置とクロック141を逓倍した送出したクロックであるクロック142の基準位置とのずれを検出する回路である。
タイミング補正回路114は、ずれ監視信号139の基準位置とマスク信号138の基準位置とがずれ、クロック141の基準位置とクロック142の基準位置とに一定以上のずれが発生していることを検出すると、タイミング制御回路104と取込み回数可変回路113とに、ずれを検出した旨の同期リセット信号140を送出する。
なお、マスク信号138の基準位置は所定の幅を有しており、タイミング補正回路114は、マスク信号138の基準位置内でのずれ監視信号139のずれを許容する。マスク信号138の基準位置の幅は、クロックレーシングが発生しないように設計されており、マスク信号138の基準位置内でのずれであれば、大きな影響を与えることはないためである。
DA変換器115は、通常のDA変換器と同様に、デジタルデータをアナログ信号に変換し、出力する回路である。DA変換器115は、タイミング補正回路114から受領したタイミング信号157に同期したタイミングで、タイミング補正回路114から楽音データを受領し、楽音データの補間を行い、発振器102から受領したクロック141を分周したクロックに同期したタイミングで、楽音データをアナログ信号である楽音信号に変換し、出力する。
<バス使用権の調整及び楽音データ読出しの動作>
以下、上記構成を備えた楽音出力装置100において、CPU105と読出し調整回路106とのバス使用権の調整の動作、及び、メモリ111に格納されている楽音データを、データ制御回路112がデータバス110を介してバッファに格納し、送出データ120として取込み回数可変回路113に送出する動作について説明する。
以下の説明では、楽音データはメモリ111上に連続して格納されているものとする。また、データ制御回路112が1回にバッファに格納する楽音データのサイズと、データ制御回路112がバッファから取込み回数可変回路113に送出する楽音データのサイズは同一であり、かつ、これらのサイズは、メモリ111の1アドレス分のサイズと同一であるとする。
<バス使用権の調整>
CPU105は、楽音再生の要求が発生すると、所望の楽音データの格納されているメモリ111上の領域のスタートアドレスとエンドアドレスをアドレス制御回路108に設定し、また、データ制御回路112が内部のバッファから1回に取込み回数可変回路113に送出する楽音データのサイズをデータ制御回路112に設定する。
CPU105は、タイミング制御回路104から受領したタイミング信号150に同期したタイミングで、読出し調整回路106に再生要求信号131を送出する。
読出し調整回路106は、CPU105から再生要求信号131を受領すると、タイミング制御回路104から受領したタイミング信号151に同期したタイミングで、CPU105に対し、バス調停信号132を送出する。
CPU105は、読出し調整回路106からバス調停信号132を受領すると、実行している制御に支障を来さないタイミングでバスを解放し、タイミング制御回路104から受領したタイミング信号150に同期したタイミングで、読出し調整回路106にバス解放信号133を送出する。
<楽音データの読出し>
読出し調整回路106は、CPU105からバス解放信号133を受領すると、アドレス制御回路108、読出し制御回路109、及び、データ制御回路112に、読出し許可信号134を送出する。
アドレス制御回路108は、読出し許可信号134を受領すると、タイミング制御回路104から受領したタイミング信号152に同期したタイミングで、CPU105から設定されたアドレス値を変化させながらアドレスバス107に送出する。
読出し制御回路109は、読出し許可信号134を受領すると、タイミング制御回路104から受領したタイミング信号153に同期したタイミングで、メモリ111に読出し信号135を送出する。
メモリ111は、読出し信号135を受領すると、アドレス制御回路108によりアドレスバス107に送出されたアドレス値を取得し、取得したアドレス値が示すアドレスに格納された楽音データをデータバス110へ送出する。
データ制御回路112は、タイミング制御回路104から受領したタイミング信号154に同期したタイミングで、メモリ111からデータバス110に送出された楽音データをバッファに格納し、データ制御回路112に読出し完了信号136を送出する。
読出し完了信号136を受領した読出し調整回路106は、バスを解放する。
また、データ制御回路112は、バッファに格納したデータを、CPU105から設定された1回に送出する楽音データのサイズ毎に取込み回数可変回路113に送出し、タイミング制御回路104から受領したタイミング信号154に同期したタイミングで、読出し調整回路106にバス調停要望信号137を送出する。
以降、上述の動作を繰り返すことで、メモリ111に格納された所望の楽音データ全体を取込み回数可変回路113に送出することができる。
<タイミングチャートを用いた説明>
上述の動作について、図2に示すタイミングチャートを使用して説明する。
以下では、CPU105が読み込む制御プログラム等をSYD1、SYD2、SYD3、SYD4とし、楽音データをSUD1、SUD2として説明する。なお、制御プログラム等はCPU105の制御の内容によって、サイズが異なるものである。
T1は、読出し調整回路106が、CPU105からの再生要求信号131(図示しない)を受領した直後のタイミング信号151の立ち上がりのタイミングであり、読出し調整回路106は、CPU105にバス調停信号132を送出する。
T2は、CPU105が、読出し調整回路106からバス調停信号132を受領した後、CPU105がバスを解放できるようになったタイミングであり、CPU105は、読出し調整回路106にバス解放信号133を送出する。CPU105は、実行している制御に支障を来さないタイミングでバスを解放するため、読み込む制御プログラム等の内容により、T1−T2間の長さは異なる。
T3は、読出し調整回路106が、CPU105からバス解放信号133を受領した直後のタイミング信号151の立ち上がりのタイミングであり、読出し調整回路106は、アドレス制御回路108と、読出し制御回路109と、データ制御回路112とに読出し許可信号134を送出する。
T4は、アドレス制御回路108が、読出し調整回路106から読出し許可信号134を受領した直後のタイミング信号152の立ち上がりのタイミングであり、アドレス制御回路108は、所望の楽音データのメモリ上のアドレス値(SUD1のアドレス)をアドレスバス107に送出する。
T5は、読出し制御回路109が、読出し調整回路106から読出し許可信号134を受領した直後のタイミング信号153の立ち下がりのタイミングであり、読出し制御回路109は、メモリ111に読出し信号135を送出する。
読出し制御回路109から読出し信号135を受領したメモリ111は、データバス110からアドレス値を取得し、取得したアドレス値が示すアドレスに格納された楽音データ(SUD1)をデータバス110に送出する。
T6は、データ制御回路112が、読出し制御回路109から読出し信号135を受領した直後のタイミング信号154の立ち下がりのタイミングであり、データ制御回路112は、データバス110から楽音データ(SUD1)をバッファに格納し、送出データ120として送出する。
また、T6において、データ制御回路112は、読出し完了信号136(図示しない)を読出し調整回路106に送出する。
T7は、読出し制御回路109が、読出し信号135を送出してから一定期間経過したタイミングであり、読出し制御回路109は、メモリ111への読出し信号135の送出を終了する。
T8は、読出し調整回路106が、読出し許可信号134を送出してから一定期間経過したタイミングであり、読出し調整回路106は、アドレス制御回路108と、読出し制御回路108と、データ制御回路112への読出し許可信号134の送出を終了し、また、CPU105へのバス調停信号132の送出を終了する。
T9は、読出し調整回路106がバス調停信号132の送出を終了してから一定期間経過したタイミングであり、CPU105は、読出し調整回路106へのバス解放信号133の送出を終了する。
T10は、データ制御回路112が、バッファに楽音データを格納し、送出したタイミング(T6)の次のタイミング信号154の立ち上がりのタイミングであり、次の楽音データの読出しのため、データ制御回路112は、読出し調整回路106にバス調停要望信号137を送出する。
T11は、読出し調整回路106がバス調停要望信号137を受領した直後のタイミング信号151の立ち上がりのタイミングであり、読出し調整回路106は、CPU105にバス調停信号132を送出する。
T12は、読出し調整回路106が、アドレス制御回路108と、読出し制御回路109と、データ制御回路112とに読出し許可信号134を送出するタイミングであり、データ制御回路112は、読出し調整回路106へのバス調停要望信号137の送出を終了する。
以降、T1〜T12の動作を繰り返すことで、所望の楽音データ全体を取込み回数可変回路113に送出することができる。
<楽音信号の出力とずれ検出時の動作>
以下、上記構成を備えた楽音出力装置100において、データ制御回路112が送出した楽音データ(送出データ120)をDA変換器115が楽音信号として出力する動作と、基準クロックの基準位置と逓倍クロックの基準位置とにずれが生じた場合にこれを検出し、データ制御回路112が送出した楽音データ(送出データ120)をバッファに格納するタイミング、及び、オーバーサンプリング数に応じてDA変換器115に送出するタイミングを調整し、マスク信号138とずれ監視信号139とがアサートされるタイミングを初期状態にリセットする動作について説明する。
<楽音信号の出力>
取込み回数可変回路113は、クロック141を基に生成したタイミング信号155に同期したタイミングで、データ制御回路112から楽音データ(送出データ120)を受領し、バッファに格納する。
また、取込み回数可変回路113は、タイミング信号156を生成し、生成したタイミング信号156と共に、タイミング信号156に同期したタイミングで、バッファに格納した楽音データ(送出データ121)をオーバーサンプリング数に従って、タイミング補正回路114に送出する。
タイミング補正回路114は、取込み回数可変回路113から受領したタイミング信号156に同期したタイミングで、取込み回数可変回路113から楽音データ(送出データ121)を受領し、タイミング信号156と等しい周波数のタイミング信号157と共に、受領した楽音データを送出データ122としてDA変換器115に送出する。
DA変換器115は、タイミング補正回路114から受領したタイミング信号157に同期したタイミングで、楽音データ(送出データ122)を受領し、受領した楽音データの補間を行い、クロック141を分周したクロックに同期したタイミングで、アナログ信号である楽音信号に変換し、出力する。
<ずれの検出及び検出後の動作>
タイミング制御回路104は、逓倍回路103が送出するクロック142からマスク信号138を生成し、タイミング補正回路114に送出する。
取込み回数可変回路113は、発振器102が送出するクロック141からずれ監視信号139を生成し、タイミング補正回路114に送出する。
タイミング補正回路114は、取込み回数可変回路113から受領したずれ監視信号139の基準位置が、タイミング制御回路104から受領したマスク信号138の基準位置にあるかを確認する。
ずれ監視信号139の基準位置が、マスク信号138の基準位置からずれた場合には、タイミング補正回路114はこれを検出し、同期リセット信号140をタイミング制御回路104と取込み回数可変回路113とへ送出する。
取込み回数可変回路113は、同期リセット信号140を受領すると、タイミング信号155の出力タイミングが、データ制御回路112が送出する楽音データの切り替わりのタイミングと一致しないよう調整し、あわせて、タイミング信号156の出力タイミングを調整する。
また、取込み回数可変回路113は、ずれ監視信号139がアサートされるタイミングを初期状態にリセットする。
また、同期リセット信号140を受領したタイミング制御回路104は、マスク信号138がアサートされるタイミングを初期状態にリセットする。
<タイミングチャートを用いた説明>
上述の動作について、図3、図4に示すタイミングチャートを使用して説明する。
以下では、楽音のサンプリング周波数を10KHz、オーバーサンプリング数を7、DA変換器の分解能を12値、クロック141を4MHz、逓倍回路103は4逓倍するものでクロック142は16MHzとして説明する。
また、以下では、タイミング制御回路104の内部において、クロック142を分周した信号(以下、「タイミング制御回路内部信号」という)を、取込み回数可変回路の109の内部において、クロック141を分周した信号(以下、「可変回路内部信号」という)を生成しているとして説明する。
タイミング制御回路内部信号と可変回路内部信号とは、タイミング信号156やタイミング信号157と同様に、1サンプリング周期あたりオーバーサンプリング数個のクロックを出力するものである。
<ずれが発生しない場合>
図3は、ずれ監視信号139の基準位置(Highの部分)とマスク信号138の基準位置(Lowの部分)との間にずれが発生していない、即ち、クロック141の基準位置とクロック142の基準位置との間にずれが発生していない場合のタイミングチャートである。
T1は、タイミング制御回路内部信号(図示しない)の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の2周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114にマスク信号138を送出する。
T2は、タイミング信号154(図示しない)の立ち下がりのタイミングであり、データ制御回路112は、送出データ120として楽音データ(SUD2)を送出する。
T3は、タイミング制御回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の4周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114へのマスク信号138の送出を終了する。
このように、マスク信号138は、送出データ120の切り替わりのタイミング前後(T1〜T3)でアサート信号である。
タイミング補正回路114は、マスク信号138がアサートされているT1〜T3において、ずれ監視信号139がアサートされていないため、クロック141の基準位置とクロック142の基準位置との間にずれは発生していないと判定し、同期リセット信号140はLowのままである。
T4は、可変回路内部信号(図示しない)の7周期分を1サイクルとした場合に、可変回路内部信号の7周期目の立ち上がりのタイミングであり、取込み回数可変回路113は、タイミング補正回路114にずれ監視信号139を送出し、また、タイミング信号155を立ち上げる。
T5は、可変回路内部信号の7周期分を1サイクルとした場合に、可変回路内部信号の7周期目の立ち下がりのタイミングであり、取込み回数可変回路113は、タイミング補正回路114へのずれ監視信号139の送出を終了する。
このように、ずれ監視信号139は、初期状態において、マスク信号138の基準位置にアサートされる信号である。
また、T5は、タイミング信号155の立ち下がりのタイミングであり、取込み回数可変回路113は、データ制御回路112から送出された楽音データ(SUD2)をバッファに格納する。
このように、タイミング信号155は、初期状態において、マスク信号138の基準位置にアサートされる信号である。
T6は、取込み回数可変回路113が、楽音データ(SUD2)をバッファに格納した直後のタイミング信号156の立ち上がりのタイミングであり、取込み回数可変回路113は、バッファに格納した楽音データ(SUD2)をオーバーサンプリング数に応じて、送出データ121(U2−1)として送出する。
以降、取込み回数可変回路113は、タイミング信号156の立ち上がりのタイミングで、バッファに格納した楽音データ(SUD2)を送出データ121(U2−2〜U2−7)として送出する。
<ずれが発生する場合>
図4は、ずれ監視信号139とマスク信号138との間にずれが発生する、即ち、クロック141の基準位置とクロック142の基準位置との間にずれが発生する場合のタイミングチャートである。
なお、クロック141の基準位置とクロック142の基準位置との間にずれが発生しているため、クロック141を基に生成する可変回路内部信号の基準位置とクロック142を基に生成するタイミング制御回路内部信号の基準位置との間にもずれが生じている。
T1は、可変回路内部信号(図示しない)の7周期分を1サイクルとした場合に、可変回路内部信号の7周期目の立ち上がりのタイミングであり、取込み回数可変回路113は、タイミング補正回路114にずれ監視信号139を送出し、また、タイミング信号155を立ち上げる。
T2は、可変回路内部信号の7周期分を1サイクルとした場合に、可変回路内部信号の7周期目の立ち下がりのタイミングであり、取込み回数可変回路113は、タイミング補正回路114へのずれ監視信号139の送出を終了する。
また、T2は、タイミング信号155の立ち下がりのタイミングであり、取込み回数可変回路113は、データ制御回路112から送出された楽音データ(SUD1)をバッファに格納する。
また、T2は、タイミング制御回路内部信号(図示しない)の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の2周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114にマスク信号138を送出する。
T3は、取込み回数可変回路113が、楽音データ(SUD1)をバッファに格納した直後のタイミング信号156の立ち上がりのタイミングであり、取込み回数可変回路113は、バッファに格納した楽音データ(SUD1)をオーバーサンプリング数に応じて送出データ121(U1−1)として送出する。
以降、取込み回数可変回路113は、タイミング信号156の立ち上がりのタイミングで、バッファに格納した楽音データ(SUD1)を送出データ121(U1−2〜U1−7)として送出する。
T4は、タイミング信号154(図示しない)の立ち下がりのタイミングであり、データ制御回路112は、送出データ120として楽音データ(SUD2)を送出する。
T5は、タイミング制御回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の4周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114へのマスク信号138の送出を終了する。
タイミング補正回路114は、マスク信号138がアサートされているT2からT5において、ずれ監視信号139がアサートされていないため、クロック141の基準位置とクロック142の基準位置との間にずれは発生していないと判定し、同期リセット信号140はLowのままである。
T6は、タイミング制御回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の2周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114にマスク信号138を送出する。
また、T6は、可変回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の7周期目の立ち上がりのタイミングであり、取込み回数可変回路113は、タイミング補正回路114にずれ監視信号139を送出する。
T6において、マスク信号138のHighの部分に、ずれ監視信号の基準位置が重なっているので、タイミング補正回路114は、クロック141の基準位置とクロック142の基準位置との間にずれが発生したと判定する。
また、T6において、取込み回数可変回路113は、タイミング信号155を立ち上げる。
T7は、タイミング補正回路114がクロック141の基準位置とクロック142の基準位置との間にずれが発生したと判定した直後のタイミング信号156の立ち上がりのタイミングであり、タイミング補正回路114は、タイミング制御回路104と取込み回数可変回路113とに同期リセット信号140を送出する。
また、T7は、タイミング信号155の立ち下がりのタイミングであり、取込み回数可変回路113は、データ制御回路112から楽音データ(SUD2)を受領し、バッファに格納する。
また、T7は、取込み回数可変回路113が、楽音データ(SUD2)をバッファに格納した直後のタイミング信号156の立ち上がりのタイミングであり、取込み回数可変回路113は、バッファに格納した楽音データ(SUD2)を、送出データ121(U2−1)として送出する。
以降、取込み回数可変回路113は、タイミング信号156の立ち上がりのタイミングで、バッファに格納した楽音データ(SUD2)を送出データ121(U2−2〜U2−5)として送出する。
T8は、タイミング制御回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の4周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114へのマスク信号138の送出を終了する。
T9は、タイミング制御回路104が、マスク信号138の送出を終了した直後のタイミング補正回路114が受領したクロック141(図示しない)の立ち上がりのタイミングであり、タイミング補正回路114は、タイミング制御回路104と取込み回数可変回路113とへの同期リセット信号140の送出を終了する。
同期リセット信号140の送出が終了すると、楽音データの送出するタイミングを調整するため、タイミング信号156について、次のクロックを立ち上げる。これにより、送出データ121のU2−2の送信終了タイミングが正常時に比べて縮小される。
タイミング信号157は、タイミング信号156と同期した信号であるため、タイミング信号156と同様に次のクロックを立ち上げる。
T10は、T9におけるリセットを受け、タイミング信号155と、ずれ監視信号139とが立ち上がるタイミングである。T9におけるリセットにより、タイミング信号155とずれ監視信号139がアサートされるタイミングは初期状態に戻り、それぞれマスク信号138の基準位置内にアサートされる。
このように、クロック141の基準位置とクロック142の基準位置との間に一定以上のずれが発生した場合に、タイミング信号155がアサートされるタイミングを初期状態に戻すことによって、クロックレーシングの発生を防ぐことができる。
≪変形例1≫
<概要>
実施の形態1において、楽音データの読出しは、読出し調整回路106とCPU105とのバス使用権の調整が終了した後に開始される。
バス使用権の調整は、読出し調整回路106がCPU105にバス調停信号132を送出することで開始し、CPU105がバス解放信号133を読出し調整回路106に送出することで終了する。
しかし、CPU105は、バス使用権の調整を開始した時点で行っている制御に支障を来さないタイミングでバスを解放し、読出し調整回路106にバス解放信号133を送出するため、読出し調整回路106がバス調停信号132を送出してから、CPU105がバス解放信号133を送出するまでの時間は常に一定ではない。
従って、データ制御回路112は読み出した楽音データをサンプリング周期と同期した一定の間隔で送出することができない恐れがあり、DA変換器115も、サンプリング周期に従ったタイミングでDA変換ができず、出力した楽音信号に波形歪が生じ、音質が低下を招く恐れがある。
変形例1のデータ制御回路は、それぞれ内部にバッファを有する第1データ制御回路と第2データ制御回路とからなるものである。
第1データ制御回路は、CPUとのバス使用権の調整が終了した後、データバスから受領した楽音データを第2データ制御回路に送出し、第2データ制御回路は、第1データ制御回路から受領した楽音データをサンプリング周波数に同期したタイミングで送出する。
そのため、バス使用権の調整を開始してからバス解放信号を送出するまでの時間が常に一定でない場合でも、データ制御回路から取込み回数可変回路113への楽音データの送出は一定周期で行うことができるものである。これにより、DA変換器が出力する楽音信号の波形歪の発生を防ぐことができる。
<構成>
変形例1に係る楽音出力装置は、実施の形態1に係る楽音出力装置100のデータ制御回路112をデータ制御回路201に変えて構成したものである。
ここで、データ制御回路201以外については、実施の形態1と同様であるため、説明は省略する。
図5は、データ制御回路201の構成図である。
データ制御回路201は、第1データ制御回路202、第2データ制御回路203、タイミング調整回路204から構成される。
第1データ制御回路202は、タイミング調整回路204から送出された後述のタイミング信号207に同期したタイミングで、メモリ111からデータバス110に送出された楽音データを内部に有するバッファに格納し、バッファに格納された楽音データを送出データ205として後述の第2データ制御回路203に送出する回路である。
第2データ制御回路203は、タイミング調整回路204から送出された後述するタイミング信号208に同期したタイミングで、第1データ制御回路202から送出された楽音データ(送出データ205)を内部に有するバッファに格納し、バッファに格納された楽音データを送出データ206として取込み回数可変回路113に送出する回路である。
タイミング調整回路204は、サンプリング周波数と等しい周波数のタイミング信号154からタイミング信号207とタイミング信号208を生成する回路である。タイミング信号207とタイミング信号208の内容については、タイミングチャートを用いた動作の説明の中で説明する。
<動作>
データ制御回路201の動作について、タイミングチャートを用いて説明する。図6はデータ制御回路201の動作を示すタイミングチャートである。
以下では、第1データ制御回路202が1回に格納する楽音データのサイズと、送出データ205として1回に送出する楽音データのサイズと、第2データ制御回路203が1回に格納する楽音データのサイズと、送出データ206として1回に送出する楽音データのサイズは同一であるとして説明する。
また、CPU105が読み込む制御プログラム等をSYD1、SYD2、SYD3、SYD4とし、楽音データをSUD0、SUD1、SUD2、SUD3として説明する。なお、制御プログラム等は、CPU105の制御の内容によって、サイズが異なるものとする。
T1は、タイミング信号154が立ち上がるタイミングであり、タイミング信号154が立ち上がると、タイミング信号207とタイミング信号208とが立ち上がり、タイミング信号208の立ち上がりで、第2データ制御回路203は、第1データ制御回路202から楽音データ(SUD0)を受領してバッファに格納し、バッファに格納した楽音データ(SUD0)を送出データ206として送出する。
T2は、CPU105が、読出し調整回路106にバス解放信号133(図示しない)を送出するタイミングであり、メモリ111は、データバス110への制御プログラム等(SYD1)の送出を終了する。制御プログラム等のデータ量は制御の内容により異なるため、T2は、T1から不定量ずれたタイミングとなる。
T3は、読出し制御回路109が、メモリ111に読出し信号135(図示しない)を送出するタイミングであり、メモリ111は、データバス110に楽音データ(SUD1)を送出する。
T4は、タイミング調整回路204が、読出し許可信号134を受領してから一定期間経ったタイミングであり、タイミング信号207が立ち下がり、第1データ制御回路202は、データバス110から楽音データ(SUD1)を受領してバッファに格納し、バッファに格納した楽音データ(SUD1)を送出データ205として送出する。
また、T4は、タイミング信号154が立ち下がるタイミングであり、タイミング信号208も立ち下がる。
T5は、読出し調整回路106が、アドレス制御回路108と、読出し制御回路109と、データ制御回路201とへの読出し許可信号134の送出を終了するタイミングであり、メモリ111は、データバス110への楽音データ(SUD1)の送出を終了する。
T6は、CPU105が、読出し調整回路106へのバス解放信号133(図示しない)の送出を終了するタイミングであり、メモリ111は、データバス110に制御プログラム等(SYD2)の送出をする。
以降、楽音データの再生が終了するまで、このT1からT6までの動作と同様の動作が繰り返される。
ここで、送出データ205における楽音データの送出開始タイミングの間隔(SUD1とSUD2の長さ)は、一定になっていない。これは、実施の形態1のデータ制御回路112の送出データ120と同様に、CPU105がバス使用権の調整を開始した時点で行っている制御に支障を来さないタイミングでバスを解放するためである。
一方、第2データ制御回路203の送出データ206における楽音データの送出開始タイミングの間隔(SUD0とSUD1の長さ)は等しく、また、サンプリング周期に同期したタイミングで送出されているため、楽音再生時の波形歪を抑えることが可能となる。
≪変形例2≫
<概要>
実施の形態1では、データ制御回路112が、データバス110を介してメモリ111から1回楽音データを取得するのに対して、楽音データの取得の前後にそれぞれ1回のバス使用権の調整を必要とする。
バス使用権の調整中は、CPU105もデータ制御回路112もデータバス110からデータを取得することができないため、データバス110を使用できない期間が多く発生していた。
変形例2のデータ制御回路は、データバスを介してメモリから複数回続けて楽音データを取得するのに対し、楽音データの取得の前後にそれぞれ1回のバス使用権の調整を行うものであり、データバス110を有効に活用できる。
<構成>
変形例2に係る楽音出力装置は、実施の形態1に係る楽音出力装置100のデータ制御回路112をデータ制御回路301に変えて構成したものである。データ制御回路301以外については、実施の形態1と同様であるため、説明は省略する。
なお、以下の説明では、データ制御回路301は、データバス110を介してメモリ111から2回続けて楽音データを取得するものとする。
図7は、データ制御回路301の構成図である。
データ制御回路301は、バッファ302、制御回路303から構成される。
バッファ302は、基本的には、実施の形態1のデータ制御回路112が有するバッファと同様のものであるが、データバス110から楽音データを取得する回数に応じて容量を増加させたものである。バッファ302は、制御回路303の制御を受け、後述するタイミング信号304に同期したタイミングで楽音データを格納し、後述するタイミング信号305に同期したタイミングで楽音データを送出する。
制御回路303は、バッファ302の楽音データの格納、送出についての制御を行う他、サンプリング周波数と等しい周波数のタイミング信号154からタイミング信号154の4倍の周波数のタイミング信号304と、タイミング信号154と等しい周波数のタイミング信号305とを生成する。
<動作>
図8は、変形例2に係るデータ制御回路301の動作を示すタイミングチャートである。以下では、データ制御回路301が1回にバッファ302に格納する楽音データのサイズと、データ制御回路301が取込み回数可変回路113に送出する楽音データのサイズは同一であるとして説明する。
また、CPU105が読み込む制御プログラム等をSYD1、SYD2、SYD3、SYD4、SYD5、SYD6、SYD7とし、楽音データをSUD1、SUD2として説明する。なお、制御プログラム等は、CPU105の制御の内容によって、サイズが異なるものとする。
T1は、読出し調整回路106が、CPU105からバス解放信号133(図示しない)を受領した直後のタイミング信号151(図示しない)の立ち上がりのタイミングであり、読出し調整回路106は、アドレス制御回路108と、読出し制御回路109と、データ制御回路301とに読出し許可信号134を送出する。
T2は、読出し調整回路106が、読出し許可信号134を送出した直後のタイミング信号304の立ち上がりのタイミングであり、データ制御回路301は、データバス110から楽音データ(SUD1)をバッファ302(図示しない)に格納する。
T3は、読出し調整回路106が、読出し許可信号134を送出した後のタイミング信号304の2つ目の立ち上がりのタイミングであり、データ制御回路301は、データバス110から楽音データ(SUD2)をバッファ302に格納する。
T4は、読出し調整回路106が、読出し許可信号134を送出した直後のタイミング信号154の立ち下がりのタイミングであり、タイミング信号305も立ち下がり、データ制御回路301は、バッファ302から楽音データ(SUD1)を送出データ306として送出する。
T5は、読出し調整回路106が、読出し許可信号134を送出した後のタイミング信号154の2つ目の立ち下がりのタイミングであり、タイミング信号305も立ち下がり、データ制御回路301は、バッファ302から楽音データ(SUD2)を送出データ306として送出する。
≪実施の形態2≫
<概要>
実施の形態1の楽音出力装置100は、非圧縮の楽音データを楽音信号として出力するものである。
一般的に、楽音データを半導体メモリに格納する場合、データサイズを抑制するために圧縮して格納する場合が多く、また、その際の楽音データの圧縮率は、楽音データ毎に異なる。
実施の形態2の楽音出力装置は、種々の圧縮率により圧縮された楽音データを、楽音信号として出力できるようにしたものである。
また、データ制御回路のバッファに、1回に格納する楽音データのサイズが、データ制御回路のバッファから1回に送出する楽音データのサイズの整数倍でない場合に、データ制御回路のバッファに格納した楽音データを順次送出していくと、最後に1回に送出する楽音データのサイズに満たない楽音データ(以下、「残データ」という)がバッファに残る。
実施の形態2の楽音出力装置は、この残データの処理を適切に行い、正常に楽音信号を送出することができるものである。
<構成>
図9は、実施の形態2に係る楽音出力装置400の構成図である。
楽音出力装置400は同図に示すように、水晶101、発振器102、逓倍回路103、CPU105、読出し調整回路106、アドレスバス107、アドレス制御回路108、読出し制御回路109、データバス110、メモリ111、取込み回数可変回路113、タイミング補正回路114、DA変換器115、送出サイズ切替えレジスタ401、データ制御回路402、復号化回路403、タイミング制御回路404から構成される。
なお、送出サイズ切替えレジスタ401、データ制御回路402、復号化回路403、タイミング制御回路404以外は、実施の形態1と同様であるため説明は省略する。
ここで、実施の形態2における楽音データは、一定の圧縮率で圧縮されたものである。
送出サイズ切替えレジスタ401は、楽音データを構成するサンプリングデータの圧縮後のデータサイズを記憶するレジスタである。
サンプリングデータの圧縮後のデータサイズ(以下、「送出サイズ」という)は、予めCPU105により設定され、送出サイズ切替えレジスタ401は、送出サイズを示す送出サイズ信号431を後述するデータ制御回路402に送出する。
データ制御回路402は、基本的には、実施の形態1に示すデータ制御回路112と同様の回路であるが、送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ毎に、バッファに格納しているデータを送出データ420として、後述する復号化回路403に送出する点で、データ制御回路112とは異なる。
また、データ制御回路402のバッファに1回に格納した楽音データのサイズが、送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズの整数倍でない場合には、バッファに残データが残る。
残データが残ると、データ制御回路402は、データバス110に送出された楽音データを格納するバッファ領域とは別のバッファ領域に残データを退避する点で、データ制御回路112とは異なる。
ここで、残データを退避するバッファ領域は、データバス110に送出された楽音データを格納するバッファと物理的には同一のバッファ内のデータバス110に送出された楽音データを格納する領域とは別の領域であることを想定している。
以下では、データバス110に送出された楽音データを格納するバッファ領域を「第1バッファ領域」と、残データを退避するバッファ領域を「第2バッファ領域」として説明する。
データ制御回路402は、残データを第2バッファ領域に退避している場合に、次に、データバス110からデータ制御回路402の第1バッファ領域に楽音データを格納すると、残データと第1バッファ領域に格納した楽音データとをあわせて送出サイズ信号431が示す送出サイズにして送出データ420として復号化回路403へ送出する。
復号化回路403は、タイミング制御404から受領した後述するタイミング信号450に同期したタイミングで、データ制御回路402から受領した圧縮された楽音データを順次復号し、取込み回数可変回路113に送出する回路であり、一般的な復号化回路と同様のものである。
タイミング制御回路404は、基本的には、実施の形態1のタイミング制御回路104と同様の回路であるが、逓倍回路103から受領したクロック142を基にタイミング信号450を生成し、タイミング信号450を復号化回路403へ送出する点でタイミング制御回路104とは異なる。
タイミング信号450は、復号化回路403の動作タイミングを決定するタイミング信号であり、サンプリング周波数と等しい周波数の信号である。
<動作>
以下、上記構成を備えた楽音出力装置400において、データ制御回路402が内部のバッファに格納した楽音データを送出する際の動作について、説明する。
なお、データ制御回路402がデータバス110に送出された楽音データを第1バッファ領域に格納するまでの動作は実施の形態1と同様であるため、説明は省略する。
以下の説明では、データ制御回路402に1回に格納する楽音データのサイズを16ビット、送出サイズ切替えレジスタ402が送出する送出サイズ信号431が示す送出サイズを3ビットとする。
<1回目に格納した楽音データの送出>
まず、データ制御回路402が、1回目に第1バッファ領域に格納した楽音データを、復号化回路403へ送出する動作について説明する。
なお、送出サイズ切替えレジスタ401は、CPU105からサンプリングデータの圧縮後のデータサイズ(3ビット)が設定された際に、予め送出サイズ(3ビット)を示す送出サイズ信号431をデータ制御回路402に送出してあるものとする。
データ制御回路402は、第1バッファ領域に1回目の楽音データの格納を行うと、タイミング制御回路404から受領したタイミング信号154に同期したタイミングで、第1バッファ領域に格納している楽音データを送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ(3ビット)毎に、送出データ420として、復号化回路403へ送出する。
データ制御回路402は、5回目の送出を行うと、1ビットが残データとなるため、データ制御回路402は、第2バッファ領域に残データ1ビットを格納する。
<2回目に格納した楽音データの送出>
次に、データ制御回路402が、2回目に第1バッファ領域に格納した楽音データを、復号化回路403へ送出する動作について説明する。
データ制御回路402は、第1バッファ領域に2回目の楽音データの格納を行うと、タイミング制御回路404から受領したタイミング信号154に同期したタイミングで、第2バッファ領域に格納された残データ1ビットと、第1バッファ領域に格納した楽音データの先頭2ビットとを合わせて送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ(3ビット)とした楽音データを送出データ420として、復号化回路403へ6回目の送出を行う。
データ制御回路402は、第1バッファ領域に残っている楽音データについて、タイミング制御回路404から受領したタイミング信号154に同期したタイミングで、送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ(3ビット)毎に、復号化回路403へ送出していく。
データ制御回路402は、10回目の送出を行うと、2ビットが残データとなるため、残データ2ビットを第2データバッファ領域に格納する。
<3回目に格納した楽音データの送出>
次に、データ制御回路402が、3回目に第1バッファ領域に格納した楽音データを、復号化回路403へ送出する動作について説明する。
データ制御回路402は、第1バッファ領域に3回目の楽音データの格納を行うと、タイミング制御回路404から受領したタイミング信号154に同期したタイミングで、第2バッファ領域に格納された残データ2ビットと、第1バッファ領域に格納した楽音データの先頭1ビットとを合わせて送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ(3ビット)とした楽音データを送出データ420として、復号化回路403へ11回目の送出を行う。
データ制御回路402は、タイミング制御回路404から受領したタイミング信号450に同期したタイミングで、第1バッファ領域に格納している残りの楽音データを、送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ(3ビット)毎に、送出データ421として、復号化回路403へ送出していくと、残データは発生せず、第1バッファ領域に格納した楽音データは全て送出される。
以降、上記の1回目から3回目までのデータ送出を繰り返すことにより、データ制御回路402に格納した楽音データのサイズが、1回に送出する楽音データのサイズの整数倍になっていない場合であっても、正常に楽音信号を送出することが可能である。
≪変形例3≫
<概要>
実施の形態2の楽音出力装置400は、データ制御回路402のバッファに格納した圧縮された楽音データを、送出サイズ切替えレジスタ401が送出する送出サイズ信号431が示す一定の送出サイズ毎に、送出するものである。
メモリに格納する楽音データのデータサイズを抑制するためには、より高い圧縮率で圧縮するのが望ましいが、圧縮率が高い程、元の楽音波形を再現することが困難となり、音質が低下してしまう。
従って、音質が低下しても全体の音質に影響が出にくい部分と、高い音質を確保しなければ全体の音質に影響が出る部分とで圧縮率を変えた楽音データについて、楽音信号として出力できるようにすれば、全体としての音質は維持しつつ、ある程度データサイズを抑制することもできる。
変形例3の楽音出力装置は、複数のフレーズデータからなる音声データを例に、高い音質を確保しなければならないフレーズデータと比較的低い音質でもよいフレーズデータとで圧縮率を変えた音声データを音声信号として出力できるようにしたものである。
<構成>
図10は、変形例3に係る楽音出力装置500の構成図である。
楽音出力装置500は、実施の形態2に係る送出サイズ切替えレジスタ401を送出サイズ切替え制御回路501に、実施の形態2のデータ制御回路402をデータ制御回路502に変えて構成したものである。
圧縮率切替え制御回路501とデータ制御回路502以外は、実施の形態2と同様であるため、説明は省略する。
ここで、変形例3における音声データを構成する各フレーズデータは、それぞれ異なる所定の圧縮率で圧縮されたものである。
送出サイズ切替え制御回路501は、各フレーズデータを構成するサンプリングデータの圧縮後のデータサイズ(以下、「送出サイズ」という)をフレーズデータ毎に記憶し、各フレーズデータの送出前に、送出サイズ信号531としてデータ制御回路502に送出する回路である。各フレーズデータの送出サイズは、CPU105により予め内部のレジスタに設定される。
送出サイズ切替え制御回路501は、CPU105から各フレーズデータの送出サイズを設定されると、最初のフレーズデータの送出サイズを送出サイズ信号531として、データ制御回路502に送出する。また、データ制御回路502から後述する送出完了信号532を受領すると、次のフレーズデータの送出サイズを送出サイズ信号531として、データ制御回路502に送出する。
データ制御回路502は、基本的には実施の形態2のデータ制御回路402と同様の回路であるが、CPUから各フレーズデータのデータサイズが予め内部のレジスタに設定され、バッファに格納した楽音データを送出データ520として復号化回路403へ送出していき、各フレーズのデータサイズ分のデータの送出が完了すると、送出サイズ切替え制御回路501に送出完了信号532を送出する点でデータ制御回路402とは異なる。
<動作>
以下、上記構成を備えた楽音出力装置500において、データ制御回路502が内部のバッファに格納された楽音データを送出する際の動作について、説明する。
なお、データ制御回路502がデータバス110に送出された楽音データをバッファに格納するまでの動作は実施の形態1と同様であるため、説明は省略する。
以下の説明では、データ制御回路502が1回に格納する音声データのサイズは12ビットであって、音声データは、第1から第4までの4つのフレーズデータからなるものとする。
また、第1から第4のフレーズデータは、それぞれ「今日」、「は」、「晴れ」、「です」を表す音声データであって、第1から第4の順番に再生することで、「今日は晴れです」という文章を再生するものとする。
また、第1フレーズデータと第3フレーズデータとは24ビットからなるデータであり、フレーズデータを構成するサンプリングデータの圧縮後のデータサイズを4ビットとする。
また、第2フレーズデータと第4フレーズデータは12ビットからなるデータであり、フレーズデータを構成するサンプリングデータの圧縮後のデータサイズを3ビットとする。
<第1フレーズデータの送出>
まず第1フレーズデータを復号化回路403へ送出する動作について説明する。
なお、CPU105から各フレーズデータを構成するサンプリングデータの圧縮後のデータサイズが設定された際に、送出サイズ切替え制御回路501は、第1フレーズデータの送出サイズ(4ビット)を示す送出サイズ信号531を、予めデータ制御回路502に送出してあるものとする。
また、データ制御回路502には、CPU105から各フレーズデータのデータサイズが設定されているものとする。
データ制御回路502は、第1フレーズデータについて、1回目のバッファへの格納を行うと、バッファに格納した第1フレーズデータを、送出サイズ切替え制御回路501から受領した送出サイズ信号531が示す送出サイズ(4ビット)毎に、タイミング制御回路404から受領したタイミング信号450に同期したタイミングで、送出データ520として復号化回路403へ送出する。
データ制御回路502は、同様に第1フレーズデータについて、2回目のバッファへの格納を行うと、送出サイズ信号531が示す送出サイズ(4ビット)毎に、復号化回路403へ送出すると、CPU105により設定された第1フレーズデータのサイズ分(24ビット)の送出が完了するため、送出サイズ切替え制御回路501に送出完了信号532を送出する。
<第2フレーズデータの送出>
送出サイズ切替え制御回路501は、データ制御回路502から送出完了信号532を受領すると、第2フレーズデータの送出サイズ(3ビット)を示す送出サイズ信号531をデータ制御回路502に送出する。
データ制御回路502は、第2フレーズデータについて、バッファへの格納を行うと、バッファに格納した第2フレーズデータを、送出サイズ切替え制御回路501から受領した送出サイズ信号531が示す送出サイズ(3ビット)毎に、タイミング制御回路404から受領したタイミング信号450に同期したタイミングで、送出データ520として復号化回路403へ送出する。
バッファに格納した第2フレーズデータを全て送出すると、第2フレーズデータのサイズ分(12ビット)の送出が完了するため、送出サイズ切替え制御回路501に送出完了信号532を送出する。
<第3、第4フレーズデータの送出>
第1、第2フレーズデータの送出と同様に送出サイズ切替え制御回路501とデータ制御回路502とは動作し、第3、第4フレーズデータを送出する。
上記のように変形例3係る楽音出力装置500によれば、文章のキーワードとなる「今日」と「晴れ」のフレーズデータの圧縮率を下げることで音質を高め、それ以外のフレーズデータの圧縮率を高めて音質を下げることで、実聴における音質低下を感じさせずに、データサイズを抑制し、メモリの格納効率を向上することが可能となる。
≪実施の形態3≫
<概要>
実施の形態1では、データバス110のバス幅は、CPU105が処理をするのに必要なmビット(mは整数)で構成されている。読出し制御回路109が読出し信号135を送出すると、メモリ111は、バス幅に合わせて1回にmビットのデータをデータバス110に送出する。
従って、メモリ111に格納される楽音データのデータサイズが、mビットの整数倍でない場合には、最後の読出し時に楽音データと一緒に不要なデータも読み出される。
読み出されたデータをそのまま楽音信号に変換してしまうと、楽音信号には、本来の楽音以外の誤った信号が含まれてしまい、音質低下の原因となる。
これに対して、楽音データの最後に、例えば、無音になる楽音データを付け、楽音データのデータサイズが、バス幅mビットの整数倍になるようにしてメモリ111に格納する方法が考えられるが、メモリの格納効率が低下するため好ましくない。
そこで、実施の形態3に係る楽音出力装置は、データ制御回路のバッファに格納された楽音データを取込み回数可変回路113に送出していき、楽音データのデータサイズ分の送出が完了すると、データ制御回路のバッファにデータが残っていても送出しないよう制御することで、必要な楽音データだけを楽音信号として出力するものである。
<構成>
図11は、実施の形態3に係る楽音出力装置600の構成図である。
楽音出力装置600は同図に示すように、水晶101、発振器102、逓倍回路103、タイミング制御回路104、CPU105、読出し調整回路106、アドレスバス107、アドレス制御回路108、読出し制御回路109、データバス110、メモリ111、取込み回数可変回路113、タイミング補正回路114、DA変換器115、終了制御回路601、データ制御回路602から構成される。
なお、終了制御回路601、データ制御回路602以外は、実施の形態1と同様であるため、説明は省略する。
終了制御回路601は、データ制御回路602が楽音データのサイズ分の楽音データを送出すると、データ制御回路602に対し、送出を停止するよう制御する回路である。
具体的には、終了制御回路601は、所望の楽音データのデータサイズが予めCPU105により内部のレジスタに設定されており、また、データ制御回路602から後述するデータ送出信号631を受領すると1つ増加するカウンタを備え、カウンタ値が、CPU105により設定された楽音データのデータサイズに対応するカウント数を超えると、終了検知信号632をデータ制御回路602に送出することにより、データ制御回路602に対し、データの送出を停止させる。
ここで、終了制御回路601が備えるカウンタは、例えば、第1レジスタと第2レジスタの2つのレジスタから構成されるプログラマブルカウンタである。
第1レジスタには、CPUから設定された楽音データのデータサイズを1アドレス分のデータサイズで割った商を設定する。第2レジスタは、データ制御回路602から後述するデータ送出信号631を受領する毎にカウントを1つ増加するようにし、第2レジスタの値が、第1のレジスタに設定された値以上になった場合にオーバーフローするようにする。
なお、プログラマブルカウンタは、周知技術であるため、詳細な説明は省略する。
データ制御回路602は、基本的には、実施の形態1に示すデータ制御回路112と同様の回路であるが、終了制御回路601から終了検知信号632を受領すると、バッファにデータが残っていたとしても、以降のデータの送出を停止する点で、データ制御回路112とは異なる。
また、データ制御回路602は、1アドレス分の楽音データを送出する毎に
終了制御回路601にデータを送出した旨のデータ送出信号631を送出する点でも、データ制御回路112とは異なる。
<動作>
以下、上記構成を備えた楽音出力装置600において、データ制御回路602が内部のバッファに格納された楽音データを送出する際の動作について、説明する。
なお、データ制御回路602がデータバス110に送出された楽音データを内部のバッファに格納するまでの動作は実施の形態1と同様であるため、説明は省略する。
以下の説明では、データバス110のバス幅を24ビット、メモリ111の1アドレス分のデータサイズを1バイト、楽音データのデータサイズを40ビットとし、データ制御回路602はバッファに格納した楽音データを1バイトずつ送出するものとする。
また、40ビットの楽音データは、メモリ111のアドレス‘01’から‘05’に1バイトずつ配置され、メモリ111のアドレス‘06’には制御プログラムが配置されているものとする。
また、終了制御回路601には、CPU105により、楽音データのデータサイズ40ビットが設定され、カウンタは、初期値として0が設定されており、楽音データのデータサイズ40ビットをメモリ111の1アドレスに格納されるデータサイズ1バイト(8ビット)で割った商5以上になった場合にオーバーフローするものとする。
<1回目に格納された楽音データの送出>
まず、データ制御回路602が、1回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
終了制御回路601のカウンタには、初期値として0が設定されており、データ制御回路602のバッファには、メモリ111のアドレス‘01’から‘03’に配置されていた楽音データが格納されている。
データ制御回路602は、格納している楽音データをタイミング制御回路603から受領したタイミング信号154に同期したタイミングで、1バイトずつ送出データ620として取込み回数可変回路113へ送出し、1バイト送出する毎に、終了制御回路601にデータ送出信号631を送出する。
終了制御回路601は、データ制御回路602からデータ送出信号631を受領する毎にカウンタを1つ増加させる。
データ制御回路602が、格納されている楽音データについて、取込み回数可変回路113への3回目の送出を行うと、楽音データが格納されていたバッファは空になる。この時点で、終了制御回路601のカウンタは3であり、5以上でないため、オーバーフローしない。
<2回目に格納された楽音データの送出>
次にデータ制御回路602が、2回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
終了制御回路601のカウンタには、3が設定されており、データ制御回路602のバッファには、メモリ111のアドレス‘04’及び‘05’に配置されていた楽音データと、アドレス‘06’に配置されていた制御プログラムが格納されている。
データ制御回路602は、1回目に格納された楽音データの送出と同様にタイミング制御回路603から受領したタイミング信号154に同期したタイミングで、バッファに格納しているデータのうち先頭2バイト(アドレス‘04’及び‘05’に配置されていた楽音データ)まで送出を完了する。
終了制御回路601のカウンタは5となり、5以上であるため、オーバーフローし、終了制御回路601は、終了検知信号632をデータ制御回路602に送出する。
終了検知信号632を受領したデータ制御回路602は、取込み回数可変回路113への楽音データの送出を停止し、バッファに残っている楽音データ以外のデータ(アドレス‘06’に配置されていた制御プログラム)を送出しないため、DA変換器115において、楽音データのみが楽音信号に変換され出力される。
≪変形例4≫
<概要>
変形例4に係る楽音出力装置700の終了制御回路701は、実施の形態3に係る楽音出力装置600の終了制御回路601を変形したものであって、データ制御回路602に1回に格納できる楽音データのサイズが、メモリ111の1アドレス分のデータサイズの2倍である場合に、カウンタを用いることなくより簡単に構成したものである。
終了制御回路701は、終了制御回路602に比べ、より簡単な構成となっているため、低コスト化を図ることができる。
<構成>
図12は、変形例4に係る楽音出力装置700の構成図である。
楽音出力装置700は、実施の形態3に係る楽音出力装置600の終了制御回路601を終了制御回路701に変えて構成したものである。
終了制御回路701以外は、実施の形態3と同様であるため、説明は省略する。
終了制御回路701は、所望の楽音データのデータサイズとデータ制御回路602に1回に格納できる楽音データのサイズとが予めCPU105により設定されており、これらからメモリ111に格納された楽音データが奇数アドレス分であるか、偶数アドレス分であるかを判定し、判定結果を終了検知信号731としてデータ制御回路602に送出する回路である。
判定は、CPU105により設定された楽音データのデータサイズをデータ制御回路602に1回に格納できる楽音データのサイズで割った余りによって行い、余りが“0”の場合には、偶数アドレス分であると判定し、余りが“0”でない場合には、奇数アドレス分であると判定する。
終了制御回路701は、偶数アドレス分であると判定した場合には“0”を、奇数アドレス分であると判定した場合には“1”を終了検知信号731として送出する。
<動作>
以下、上記構成を備えた楽音出力装置700において、データ制御回路602がバッファに格納した楽音データを送出する際の動作について、説明する。
なお、データ制御回路602がデータバス110に送出された楽音データをバッファに格納するまでの動作は実施の形態1と同様であるため、説明は省略する。
以下の説明では、データバスのバス幅を16ビット、データ制御回路602に1回に格納できる楽音データのサイズを16ビット、メモリ111の1アドレス分のデータサイズを1バイト、楽音データのデータサイズを40ビットとし、データ制御回路602はバッファに格納した楽音データを1バイトずつ送出するものとする。
また、40ビットの楽音データは、メモリ111のアドレス‘01’から‘05’に1バイトずつ配置され、メモリ111のアドレス ‘06’には制御プログラムが配置されているものとする。
また、終了制御回路701には、CPU105により、データ制御回路602に1回に格納できる楽音データのサイズ16ビットと、楽音データのデータサイズ40ビットとが設定されているものとする。
<1回目、2回目に格納された楽音データの出力>
まず、データ制御回路602が、1回目、2回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
なお、終了制御回路701は、CPU105によりデータ制御回路602が1回に格納できる楽音データのサイズ16ビットと、楽音データのデータサイズ40ビットとが設定された際に、楽音データのデータサイズ40ビットを、データ制御回路602が1回に格納できる楽音データのサイズ16ビットで割った余りを求め、余りが“8”であるため、メモリ111に格納された楽音データが奇数アドレス分であることを示す“1”を終了検知信号731として、予めデータ制御回路602に送出してあるものとする。
データ制御回路602は、メモリ111のアドレス‘01’ 及び‘02’に配置されていた楽音データをバッファに格納すると、バッファに格納している楽音データを1バイトずつ、タイミング制御回路603から受領したタイミング信号154に同期したタイミングで、取込み回数可変回路113へ送出する。
同様に、メモリ111のアドレス‘03’ 及び‘04’に配置されていた楽音データについても送出する。
<3回目に格納された楽音データの出力>
次に、データ制御回路602が、3回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
データ制御回路602は、メモリ111のアドレス‘05’に配置されていた楽音データと、アドレス‘06’に配置されていた制御プログラムをバッファに格納すると、バッファに格納しているデータのうち先頭1バイト(アドレス‘03’に配置されていた楽音データ)を、タイミング制御回路603から受領したタイミング信号154に同期したタイミングで、取込み回数可変回路113へ送出する。
データ制御回路602は、終了制御回路701から受領した終了検知信号731が“1”であることから、取込み回数可変回路113への楽音データの送出を停止する。
このように、変形例4に係る楽音出力装置700は、終了制御回路701にカウンタを備えることなく、データ制御回路602のバッファに残っている制御プログラムの送出を停止することができるという実施の形態と同様の効果を奏することができる。
≪実施の形態4≫
<概要>
実施の形態1の楽音出力装置100は、予めメモリ111に格納された楽音データを楽音信号として出力するものであり、メモリ111の容量を超える楽音データを楽音信号として出力することはできない。
実施の形態4の楽音出力装置は、楽音出力装置の外部の装置から読み込んだ外部楽音データをメモリに格納しながら、楽音信号として出力できるようにしたものであり、メモリの容量を超える長大な楽音データを楽音信号として出力することができる。
<構成>
図13は、実施の形態4に係る楽音出力装置800の構成図である。
楽音出力装置800は同図に示すように、水晶101、発振器102、逓倍回路103、タイミング制御回路104、CPU105、読出し調整回路106、アドレスバス107、データバス110、データ制御回路112、取込み回数可変回路113、タイミング補正回路114、DA変換器115、メモリ801、アドレス制御回路802、読出し制御回路803、データ転送回路804から構成される。
メモリ801、アドレス制御回路802、読出し制御回路803、データ転送回路804以外は、実施の形態1と同様であるため説明は省略する。
メモリ801は、基本的には、実施の形態1におけるメモリ111と同様のメモリであるが、メモリ801内の特定の格納領域に、データ転送回路804により後述する外部楽音データ820が格納される点で、メモリ111とは異なる。
アドレス制御回路802は、基本的には、実施の形態1におけるアドレス制御回路108と同様の回路であるが、メモリ801に格納されている楽音データの格納アドレスとして、予めCPU105から内部のレジスタにスタートアドレスとエンドアドレスとが設定されており、スタートアドレスからエンドアドレスまで順次変化させながらアドレス値を送出し、エンドアドレス送出後は再度スタートアドレスから送出する点でアドレス制御回路108とは異なる。
また、アドレス制御回路802は、所定のアドレスデータ、例えば、エンドアドレスデータより1つ前のアドレスデータを送出した場合に、読出し制御回路803に後述する通信許可信号832の送出を求める通信許可要望信号831を送出する点でもアドレス制御回路108とは異なる。
読出し制御回路803は、基本的には、実施の形態1における読出し制御回路109と同様の回路であるが、アドレス制御回路802から通信許可要望信号831を受領すると、データ転送回路804に後述する外部楽音データ820をメモリ801に格納するよう指示する通信許可信号832を送出する点で、読出し制御回路109とは異なる。
データ転送回路804は、読出し制御回路803から通信許可信号832を受領すると、楽音出力装置800の外部の装置、例えば、CD−ROMドライブ(以下、「外部装置」という)と同期を取りながら、外部装置から受領した外部楽音データ820を内部に有するバッファに格納し、バッファに格納された外部楽音データ820を予めCPU105から内部のレジスタに設定されたメモリ801のスタートアドレスからエンドアドレスまでの領域に転送する回路である。
また、データ転送回路804は、順次外部楽音データ820をメモリ801に格納していき、エンドアドレスに外部楽音データ820を格納すると、一旦格納を停止し、読出し制御回路803から通信許可信号832を受領すると、再度、メモリ801のスタートアドレスからエンドアドレスまでの領域への外部楽音データ820の格納を開始し、上記動作を繰り返す。
なお、データ転送回路804は、データ制御回路112が読み出していない楽音データが配置されたメモリ801上の領域を新たな外部楽音データ820で上書きすることがないよう、通常のフロー制御がなされているものとする。
<動作>
以下、上記構成を備えた楽音出力装置800について、外部楽音データ820のメモリ801への格納と読出しの動作を説明する。
以下の説明では、アドレス制御回路802は、エンドアドレスより1つ前のアドレス値を送出した場合に、通信許可要望信号831を送出するものとする。
なお、バス使用権の調整については、実施の形態1と同様であるため、説明は省略する。
<1回目の外部楽音データ820の格納>
CPU105は、楽音再生の要求が発生すると、アドレス制御回路802とデータ転送回路804とにメモリ801上のスタートアドレスとエンドアドレスを設定する。
データ転送回路804は、CPU105からメモリ801のスタートアドレスとエンドアドレスを設定されると、外部装置から受領した外部楽音データ820をバッファに格納し、バッファに格納された外部楽音データ820をメモリ801のスタートアドレスから順に格納をしていき、エンドアドレスに格納すると、一旦格納を停止する。
<1回目の楽音データの読出し>
アドレス制御回路802が、エンドアドレスの1つ前のアドレス値をアドレスバス103に送出するまでは、実施の形態1と同様に楽音データの読出しが行われる。
アドレス制御回路802が、エンドアドレスの1つ前のアドレス値をアドレスバス103に送出すると、アドレス制御回路802は、読出し制御回路803に通信許可要望信号831を送出する。
読出し制御回路803は、通信許可要望信号831を受領すると、データ転送回路804に通信許可信号832を送出する。
アドレス制御回路802は、エンドアドレスを送出し、実施の形態1と同様に楽音データの読出しが行われる。
<2回目の外部楽音データ820の格納>
データ転送回路804は、読出し制御回路803から通信許可信号832を受領すると、1回目の外部楽音データ820の格納と同様に外部装置から受領した外部楽音データ820を、メモリ801のスタートアドレスからエンドアドレスまでの領域に格納し、エンドアドレスまで格納すると、一旦格納を停止する。
以降、1回目の楽音データの読出しと同様に、2回目の楽音データの読出しが行われ、上記の動作を繰り返すことにより、外部から入力される長大な楽音データを再生し続ける事が出来る。
<補足>
以上、本発明に係る楽音出力装置について実施形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施形態で示した通りの楽音出力装置に限られないことは勿論である。
(1)実施の形態1の取込み回数可変回路113は、予め設定されたオーバーサンプリング数に従って楽音データを送出データ121として送出するものとしたが、発振器102が送出するクロック141の周波数と、逓倍回路103が送出するクロック142の周波数との関係から、オーバーサンプリング数を適切な値に設定できるものとしてもよい。
具体的なオーバーサンプリング数の設定値について、楽音のサンプリング周波数を10KHz、通常のオーバーサンプリング数を32回、DA変換器の分解能を12値、クロック141を6MHz、逓倍回路103は2逓倍するものでクロック142は12MHzとした場合を例に説明する。
まず、DA変換器115に必要なクロック周波数を算出する。DA変換器115に必要なクロック周波数は、楽音のサンプリング周波数、通常のオーバーサンプリング数、及び、DA変換器の分解能から算出でき、10KHz×32回×12値≒4MHzとなる。
しかし、DA変換器115が実際に受領するクロック141は、6MHzであるため、取込み回数可変回路159は、オーバーサンプリング数を通常のオーバーサンプリング数32回から適切なオーバーサンプリング数に変更する必要がある。
変更後のオーバーサンプリング数は、通常のオーバーサンプリング数、DA変換器が受領するクロック周波数、及び、DA変換器に必要なクロック周波数から算出でき、32回×6MHz/4MHz=48回となる。
(2)実施の形態2のデータ制御回路402は、1つのバッファの中に、残データを格納するバッファ領域とデータバス110に送出された楽音データを格納するバッファ領域とを設けることとしたが、それぞれ専用のバッファを設けることとしてもよい。
(3)実施の形態3では、データ制御回路602は、終了制御回路601から終了検知信号632を受領すると、バッファに送出されていないデータが残っていたとしても以降のデータ送出を停止するとしたが、残ったデータがある場合には、残ったデータの値に関わらず無音データを送出するとしてもよい。
(4)実施の形態3では、データバス110のバス幅とメモリ111の1アドレス分のデータサイズとが異なる例で説明したが、データバス110のバス幅とメモリ111の1アドレス分のデータサイズとが同一の場合(実施の形態3の例では24ビット)としてもよい。
(5)実施の形態4のメモリ801は、外部楽音データ820を格納できるものであれば、不揮発性のメモリであっても、揮発性のメモリであってもよい。なお、揮発性のメモリである場合、メモリ801上のデータが失われた場合には、CPU105が使用する制御プログラム等を、外部の記憶装置等に記憶しておき、その記憶装置等からメモリ801に書き込んで使用する必要がある。
(6)実施の形態4では、フロー制御により、データ制御回路112が読み出していない楽音データが配置されたメモリ801上の領域に、データ転送回路804が新たな外部楽音データ820を上書きすることがないようにしているが、外部楽音データ820を格納する領域として、メモリ802上に2つの領域を設けることにより、上書きを回避することとしてもよい。
例えば、アドレス制御回路802が一方の領域のスタートアドレスを送出すると、読出し制御回路803に通信許可要望信号831を送出し、通信許可要望信号831を受領した読出し制御回路803はデータ転送回路804に通信許可信号832を送出する。
通信許可信号832を受領したデータ転送回路804は、アドレス制御回路802が送出しているアドレス値が属する領域とは異なる他方の領域に外部楽音データ820を格納するようにすればよい。
本発明に係る楽音出力装置は、楽音データと制御プログラムが格納されたメモリから、楽音データを読み出してアナログ信号に変換して出力するために利用されるものである。
実施の形態1に係る楽音出力装置100の構成図である。 実施の形態1に係る楽音出力装置100のバス使用権の調整及び楽音データの読出しの動作を示すタイミングチャートである。 ずれが発生しない場合の実施の形態1に係るタイミング補正回路114の動作を示すタイミングチャートである。 ずれが発生する場合の実施の形態1に係るタイミング補正回路114の動作を示すタイミングチャートである。 変形例1に係るデータ制御回路201の構成図である。 変形例1に係るデータ制御回路201の動作を示すタイミングチャートである。 変形例2に係るデータ制御回路301の構成図である。 変形例2に係るデータ制御回路301の動作を示すタイミングチャートである。 実施の形態2に係る楽音出力装置400の構成図である。 変形例3に係る楽音出力装置500の構成図である。 実施の形態3に係る楽音出力装置600の構成図である。 変形例4に係る楽音出力装置700の構成図である。 実施の形態4に係る楽音出力装置800の構成図である。
符号の説明
100、400、500、600、700、800 楽音出力装置
101 水晶
102 発振器
103 逓倍回路
104、404 タイミング制御回路
105 CPU
106 読出し調整回路
107 アドレスバス
108、802 アドレス制御回路
109、803 読出し制御回路
110 データバス
111、801 メモリ
112、201、301、402、502、602 データ制御回路
113 取込み回数可変回路
114 タイミング補正回路
115 DA変換器
202 第1データ制御回路
203 第2データ制御回路
204、305 タイミング調整回路
302 バッファ
303 制御回路
401 送出サイズ切替えレジスタ
403 復号化回路
501 送出サイズ切替え制御回路
601、701 終了制御回路
804 データ転送回路

Claims (13)

  1. 楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力装置であって、
    水晶振動子を用いて基準クロックを生成するクロック発振器と、
    前記基準クロックを逓倍して逓倍クロックを生成する逓倍回路と、
    前記逓倍クロックに基づく信号に同期したタイミングで前記メモリに格納された前記楽音データを内部のバッファに格納し、所定のタイミングで当該バッファに格納された前記楽音データを転送する制御回路と、
    前記逓倍クロックに基づく信号に同期して動作し、前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、
    前記制御回路から転送された前記楽音データを前記基準クロックに基づく信号に同期したタイミングで、前記楽音信号に変換して出力するDA変換器とを備える
    ことを特徴とする楽音出力装置。
  2. 前記制御回路は、前記基準クロックに基づくタイミング信号を生成する転送タイミング補正回路を含み、当該タイミング信号に同期したタイミングを前記所定のタイミングとして前記バッファに格納された前記楽音データを転送するものであって、
    前記楽音出力装置は、更に
    前記基準クロックの所定の基準位置と前記逓倍クロックの所定の基準位置とのずれが所定程度生じていることを検出すると、前記転送タイミング補正回路にずれを検出した旨のリセット信号を送出するずれ検出回路を備え、
    前記転送タイミング補正回路は、前記リセット信号を受領すると、前記制御回路が前記楽音データを前記バッファに格納するタイミングと所定の関係を有するよう前記タイミング信号の生成を調整する
    ことを特徴とする請求項1記載の楽音出力装置。
  3. 前記制御回路は、前記バッファに格納された前記楽音データをオーバーサンプリングするために、当該楽音データを構成する複数のサンプリングデータについて、それぞれ複数回転送するものである
    ことを特徴とする請求項2記載の楽音出力装置。
  4. 前記楽音出力装置は、更に
    前記メモリと、前記制御回路と、前記CPUとに接続し、当該メモリに格納された前記楽音データについての当該制御回路への転送、又は、前記制御プログラムについての当該CPUへの転送を媒介するデータバスを有し、
    前記CPUの制御は、当該データバスの使用権の調整に係る制御を含むものであって、
    前記制御回路は、
    前記CPUの制御を受け、前記データバスの使用権を得ると、読出し許可信号を送出する読出し調整回路と、
    前記読出し許可信号を受領すると、前記メモリに対し、前記楽音データが格納されたアドレスと、当該アドレスに格納された楽音データの送出を指示する読出し信号とを送出する送出指示処理を行う送出指示回路と、
    前記読出し許可信号を受領し、前記データバスに前記楽音データが送出されると、当該データバスから当該楽音データを前記バッファである第1バッファに格納し、当該第1バッファに格納された楽音データを随時転送する第1データ制御回路と、
    前記第1バッファとは異なる第2バッファを有し、前記第1データ制御回路から転送された前記楽音データを当該第2バッファに格納し、当該第2バッファに格納された楽音データをサンプリング周期に同期したタイミングで前記DA変換器に転送する第2データ制御回路とからなるものであって、
    前記メモリは、前記送出指示回路から前記読出し信号を受領すると、指定されたアドレスに格納された前記楽音データを前記データバスに送出する
    ことを特徴とする請求項1記載の楽音出力装置。
  5. 前記楽音出力装置は、更に
    前記メモリと、前記制御回路と、前記CPUとに接続し、当該メモリに格納された前記楽音データについての当該制御回路への転送、又は、前記制御プログラムについての当該CPUへの転送を媒介するデータバスを有し、
    前記CPUの制御は、当該データバスの使用権の調整に係る制御を含むものであって、
    前記制御回路は、
    前記CPUの制御を受け、前記データバスの使用権を得ると、読出し許可信号を送出する読出し調整回路と、
    前記読出し許可信号を受領すると、前記メモリに対し、前記楽音データが格納されたアドレスと、当該アドレスに格納された楽音データの送出を指示する読出し信号とを送出する送出指示処理を行う送出指示回路と、
    前記読出し許可信号を受領し、前記データバスに前記楽音データが送出されると、当該データバスから当該楽音データを前記バッファに格納する格納処理を行い、当該バッファに格納された楽音データを前記DA変換器に転送するデータ制御回路とからなるものであって、
    前記メモリは、前記送出指示回路から前記読出し信号を受領すると、指定されたアドレスに格納された前記楽音データを前記データバスに送出する
    ことを特徴とする請求項1記載の楽音出力装置。
  6. 前記楽音出力装置は、
    前記読出し調整回路が、前記データバスの使用権を得て、前記読出し許可信号を送出すると、1回の前記読出し許可信号の受領に対し、前記送出指示回路による前記送出指示処理と、前記データ制御回路による前記格納処理とを複数回行う
    ことを特徴とする請求項5記載の楽音出力装置。
  7. 前記楽音データは、複数のサンプリングデータから構成され、所定の圧縮率で圧縮されたものであり、
    前記データ制御回路の前記バッファは、前記データバスから前記楽音データを格納する第1バッファ領域と、楽音データを退避する第2バッファ領域とからなるものであって、
    前記楽音出力装置は、更に
    前記サンプリングデータの圧縮後のデータサイズを記憶し、当該データサイズを示す圧縮率信号を前記データ制御回路に送出する圧縮率切替えレジスタを備え、
    前記データ制御回路は、前記第1バッファ領域に格納された楽音データを前記圧縮率切替えレジスタが送出した前記圧縮率信号が示すデータサイズ毎に転送し、前記圧縮率信号に示すサイズに満たない残データが生じた場合には、当該残データを前記第2バッファ領域に格納し、当該第2バッファ領域に格納された残データと次に前記第1バッファ領域に格納された楽音データの一部とを合わせて前記圧縮率信号が示すデータサイズにして転送する
    ことを特徴とする請求項5記載の楽音出力装置。
  8. 前記楽音データは、圧縮率の異なる複数のフレーズデータからなり、各フレーズデータは、複数のサンプリングデータからなるものであり、
    前記楽音出力装置は、更に
    前記フレーズデータ毎の圧縮後のサンプリングデータのデータサイズを記憶し、前記データ制御回路が、前記バッファに格納したフレーズデータに対応する前記データサイズ示す圧縮率信号を当該データ制御回路に送出する圧縮率切替え制御回路を備え、
    前記データ制御回路は、前記バッファに格納した前記フレーズデータを前記圧縮率信号が示すデータサイズ毎に転送する
    ことを特徴とする請求項5記載の楽音出力装置。
  9. 前記楽音データのデータサイズが、前記データバスのバス幅の整数倍でない場合であって、
    前記楽音出力装置は、更に
    前記楽音データのデータサイズと、前記データ制御回路が1回に転送する楽音データのサイズである転送サイズとを記憶し、内部にカウンタ回路を有し、前記カウンタ回路の値が前記楽音データのサイズと一致すると前記データ制御回路に終了検知信号を送出する終了制御回路を備え、
    前記データ制御回路は、前記終了検知信号を受領するまで、前記バッファに格納されたデータを転送し、データを転送する毎にデータを送出したことを示すデータ送出信号を前記終了制御回路に送出し、
    前記終了制御回路は、前記データ送出信号を受領すると、前記カウンタを前記転送サイズ分計数する
    ことを特徴とする請求項5記載の楽音出力装置。
  10. 前記データ制御回路のバッファが1回に格納可能な楽音データのサイズと、メモリの2アドレス分のサイズとが等しい場合であって、
    前記楽音出力装置は、更に
    前記楽音データのデータサイズと、前記メモリの2アドレス分のサイズとを記憶し、当該楽音データのサイズを当該メモリの2アドレス分のサイズで除算し、剰余がゼロでない場合に、前記データ制御回路に終了検出信号を送出する終了制御回路を備え、
    前記データ制御回路は、前記終了検知信号を受領すると、最後に前記バッファに格納した楽音データを1アドレス分のみ送出する
    ことを特徴とする請求項5記載の楽音出力装置。
  11. 前記楽音出力装置は、更に、当該楽音出力装置の外部から取得した楽音データを、前記メモリの所定の開始アドレスから所定の終了アドレスまでの領域に格納するデータ転送回路を備え、
    前記送出指示回路は、前記開始アドレスから順次アドレスを送出し、前記終了アドレス以前の所定のアドレスを送出すると、前記データ転送回路に楽音データの格納を許可する格納許可信号を送出し、前記終了アドレスを送出すると、再度前記開始アドレスからアドレスの送出を開始するものであって、
    前記データ転送回路は、前記格納許可信号を受領すると、前記メモリの前記開始アドレスから前記終了アドレスまでの領域に楽音データを格納する
    ことを特徴とする請求項5記載の楽音出力装置。
  12. 楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力装置であって、
    前記メモリに格納された前記楽音データを内部のバッファに格納し、当該バッファ格納された当該楽音データを転送する制御回路と、
    前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、
    前記楽音信号に変換して出力するDA変換器とを備える
    ことを特徴とする楽音出力装置。
  13. 楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力用集積回路であって、
    水晶振動子を用いて基準クロックを生成するクロック発振器と、
    前記基準クロックを逓倍して逓倍クロックを生成する逓倍回路と、
    前記逓倍クロックに基づく信号に同期したタイミングで前記メモリに格納された前記楽音データを内部のバッファに格納し、所定のタイミングで当該バッファに格納された前記楽音データを転送する制御回路と、
    前記逓倍クロックに基づく信号に同期して動作し、前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、
    前記制御回路から転送された前記楽音データを前記基準クロックに基づく信号に同期したタイミングで、前記楽音信号に変換して出力するDA変換器とを備える
    ことを特徴とする楽音出力用集積回路。
JP2006281358A 2005-10-20 2006-10-16 楽音出力装置 Expired - Fee Related JP4778872B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006281358A JP4778872B2 (ja) 2005-10-20 2006-10-16 楽音出力装置
US11/583,984 US7425673B2 (en) 2005-10-20 2006-10-20 Tone output device and integrated circuit for tone output

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005305504 2005-10-20
JP2005305504 2005-10-20
JP2005321976 2005-11-07
JP2005321976 2005-11-07
JP2006281358A JP4778872B2 (ja) 2005-10-20 2006-10-16 楽音出力装置

Publications (2)

Publication Number Publication Date
JP2007148377A true JP2007148377A (ja) 2007-06-14
JP4778872B2 JP4778872B2 (ja) 2011-09-21

Family

ID=38002437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006281358A Expired - Fee Related JP4778872B2 (ja) 2005-10-20 2006-10-16 楽音出力装置

Country Status (2)

Country Link
US (1) US7425673B2 (ja)
JP (1) JP4778872B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186368A (ja) * 2012-03-09 2013-09-19 Casio Comput Co Ltd 楽音発生装置、プログラム及び楽音発生方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132983B2 (en) 2014-08-20 2021-09-28 Steven Heckenlively Music yielder with conformance to requisites

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03259685A (ja) * 1990-03-09 1991-11-19 Sanyo Electric Co Ltd 時間軸補正装置
JPH03283782A (ja) * 1990-03-30 1991-12-13 Hitachi Ltd 時間軸誤差補正回路
JPH044482A (ja) * 1990-04-23 1992-01-08 Seiko Epson Corp マイクロコンピュータ
JPH07298206A (ja) * 1994-04-27 1995-11-10 Toshiba Corp 時間軸変換方式
JPH08287600A (ja) * 1995-04-12 1996-11-01 Sharp Corp デジタルデータのバッファリング装置
JP2001345792A (ja) * 2000-06-02 2001-12-14 Alpine Electronics Inc 位相制御回路
JP2005234597A (ja) * 2005-03-29 2005-09-02 Yamaha Corp 音源装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200564A (en) 1990-06-29 1993-04-06 Casio Computer Co., Ltd. Digital information processing apparatus with multiple CPUs
JP2962217B2 (ja) * 1995-11-22 1999-10-12 ヤマハ株式会社 楽音生成装置及び方法
JP2914265B2 (ja) 1996-01-17 1999-06-28 ヤマハ株式会社 音源装置
JP3384290B2 (ja) * 1997-07-25 2003-03-10 ヤマハ株式会社 音源装置
JP3991458B2 (ja) * 1998-07-31 2007-10-17 ヤマハ株式会社 楽音データ処理装置およびコンピュータシステム
JP3661556B2 (ja) * 2000-03-22 2005-06-15 ヤマハ株式会社 楽音信号処理装置
JP2001298368A (ja) * 2000-04-14 2001-10-26 Sakai Yasue 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体
JP3567905B2 (ja) * 2001-04-06 2004-09-22 セイコーエプソン株式会社 ノイズ低減機能付き発振器、書き込み装置及び書き込み装置の制御方法
US6972362B2 (en) * 2002-01-09 2005-12-06 Rohm Co., Ltd. Method and device for generating electronic sounds and portable apparatus utilizing such device and method
US7464243B2 (en) * 2004-12-21 2008-12-09 Cisco Technology, Inc. Method and apparatus for arbitrarily initializing a portion of memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03259685A (ja) * 1990-03-09 1991-11-19 Sanyo Electric Co Ltd 時間軸補正装置
JPH03283782A (ja) * 1990-03-30 1991-12-13 Hitachi Ltd 時間軸誤差補正回路
JPH044482A (ja) * 1990-04-23 1992-01-08 Seiko Epson Corp マイクロコンピュータ
JPH07298206A (ja) * 1994-04-27 1995-11-10 Toshiba Corp 時間軸変換方式
JPH08287600A (ja) * 1995-04-12 1996-11-01 Sharp Corp デジタルデータのバッファリング装置
JP2001345792A (ja) * 2000-06-02 2001-12-14 Alpine Electronics Inc 位相制御回路
JP2005234597A (ja) * 2005-03-29 2005-09-02 Yamaha Corp 音源装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186368A (ja) * 2012-03-09 2013-09-19 Casio Comput Co Ltd 楽音発生装置、プログラム及び楽音発生方法
US8962965B2 (en) 2012-03-09 2015-02-24 Casio Computer Co., Ltd. Musical sound generation device, storage medium, and musical sound generation method
US9202452B2 (en) 2012-03-09 2015-12-01 Casio Computer Co., Ltd. Musical sound generation device, storage medium, and musical sound generation method

Also Published As

Publication number Publication date
JP4778872B2 (ja) 2011-09-21
US7425673B2 (en) 2008-09-16
US20070101854A1 (en) 2007-05-10

Similar Documents

Publication Publication Date Title
US7414550B1 (en) Methods and systems for sample rate conversion and sample clock synchronization
JP4778872B2 (ja) 楽音出力装置
JP4760052B2 (ja) 伝送制御装置およびサンプリング周波数変換装置
TWI629597B (zh) 一種時脈訊號處理系統及其方法
US7443213B2 (en) Staged locking of two phase locked loops
JP2009026047A (ja) 動作周波数動的自動制御機能を有するオーディオプロセッサ
TWI386002B (zh) 重建取樣頻率並據以快速鎖定訊號的方法與裝置
JP2003208400A (ja) クロック切替回路
JP4661284B2 (ja) 伝送制御装置
US5936859A (en) Method and apparatus for performing decimation and interpolation of PCM data
KR100682444B1 (ko) 오디오 신호 프로세서
JP4084646B2 (ja) デジタル放送受信再生機能付き通信端末
JP2011130171A (ja) 無線通信装置及び無線通信方法
EP1540863B1 (en) Staged locking of phase locked loops
JP2004226968A (ja) 音声合成装置及び方法
JP2008047223A (ja) オーディオ再生回路
JP4628620B2 (ja) デジタルav信号処理装置
KR100540982B1 (ko) 휴대용 wma 복호화 장치
JP2005318029A (ja) 補正pcr値算出方法及びその回路
TW202304155A (zh) 顯示接口訊號輸出轉換電路及相關的方法
JPH08163399A (ja) ディジタル信号の位相差吸収装置
JPH071885B2 (ja) ワ−ド同期器
JPH1195750A (ja) デジタル音声再生装置
JP2003299179A (ja) ディジタルオーディオ装置
JP2907118B2 (ja) データ転送回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110601

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110704

R150 Certificate of patent or registration of utility model

Ref document number: 4778872

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees