JP2007148377A - 楽音出力装置及び楽音出力用集積回路 - Google Patents
楽音出力装置及び楽音出力用集積回路 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/02—Instruments 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/04—Instruments 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
【解決手段】楽音出力装置100の発振器102は水晶振動子により生成したクロック141を、逓倍回路103はクロック141を逓倍したクロック142を、タイミング制御回路104はクロック142を基にCPU105の動作に必要なタイミング信号150を送出する。CPU105はタイミング信号150を動作クロックとし、DA変換器115はクロック141に基づく信号により動作する。タイミング補正回路114はクロック142の周波数ジッタから生じるクロック141とクロック142とのずれを検出し、クロックレーシングの発生を防止する。
【選択図】図1
Description
そのため、楽音出力部用のクロックを生成する発振器とCPU用のクロックを生成する発振器とをそれぞれ用意し、必要なクロックを生成する方法が考えられるが、発振器を複数使用するため、半導体チップの集積度が低下し、また、コストがかかるというデメリットがある。
一般的に、1つの発振器から生成されたクロックを基に複数の周波数のクロックを発生させるためには、PLL(Phase Locked Loop)やリングオシレータ等のクロック発生回路を使用する。
そこで、本発明はかかる問題に鑑みてなされたものであり、1つの発振器のみで動作させながらも、CPUの性能を限定することなく、出力する楽音信号の音質の低下を抑えた楽音出力装置を提供することを目的とする。
また、CPUは逓倍クロックに基づく信号に同期して動作するため、逓倍回路がCPUの動作に必要な周波数の逓倍クロックを生成することにより、CPUは、動作クロックにより性能を制限されることなく、動作することができる。
一般的に逓倍クロックは、PLLやリングオシレータ等のクロック発生回路を用いて生成されるが、クロック発生回路によって生成される逓倍クロックは、水晶振動子により生成された基準クロックに比べ、周波数ジッタが大きく、基準クロックの基準位置と逓倍クロックの基準位置とを合わせようとしても、ずれを生じる場合がある。
これにより、制御回路はオーバーサンプリングするために各サンプリングデータを複数回転送するため、出力される楽音信号は音質の低下を抑えたものにすることができる。
これにより、読出し調整回路がデータバスの使用権を1回得るのに対し、データ制御回路は複数回の格納処理を行うため、格納処理回数あたりのバス使用権の調整回数を減らし、データバスを有効に活用することができる。
また、前記楽音データは、複数のサンプリングデータから構成され、所定の圧縮率で圧縮されたものであり、前記データ制御回路の前記バッファは、前記データバスから前記楽音データを格納する第1バッファ領域と、楽音データを退避する第2バッファ領域とからなるものであって、前記楽音出力装置は、更に前記サンプリングデータの圧縮後のデータサイズを記憶し、当該データサイズを示す圧縮率信号を前記データ制御回路に送出する圧縮率切替えレジスタを備え、前記データ制御回路は、前記第1バッファ領域に格納された楽音データを前記圧縮率切替えレジスタが送出した前記圧縮率信号が示すデータサイズ毎に転送し、前記圧縮率信号に示すサイズに満たない残データが生じた場合には、当該残データを前記第2バッファ領域に格納し、当該第2バッファ領域に格納された残データと次に前記第1バッファ領域に格納された楽音データの一部とを合わせて前記圧縮率信号が示すデータサイズにして転送することとしてもよい。
また、前記楽音データのデータサイズが、前記データバスのバス幅の整数倍でない場合であって、前記楽音出力装置は、更に、前記楽音データのデータサイズと、前記データ制御回路が1回に転送する楽音データのサイズである転送サイズとを記憶し、内部にカウンタ回路を有し、前記カウンタ回路の値が前記楽音データのサイズと一致すると前記データ制御回路に終了検知信号を送出する終了制御回路を備え、前記データ制御回路は、前記終了検知信号を受領するまで、前記バッファに格納されたデータを転送し、データを転送する毎にデータを送出したことを示すデータ送出信号を前記終了制御回路に送出し、前記終了制御回路は、前記データ送出信号を受領すると、前記カウンタを前記転送サイズ分計数することとしてもよい。
≪実施の形態1≫
<概要>
実施の形態1の楽音出力装置は、CPUが使用する制御プログラム及び制御用データ(以下、「制御プログラム等」という)とデータ制御回路が使用する楽音データとが格納されたメモリから、CPUとのバス使用権を調整し、楽音データを読み出し、DA変換を行って楽音信号として出力する。
DA変換器は、水晶振動子により生成した基準クロックを分周した周波数ジッタの少ないクロックにより動作するため、出力する楽音信号の音質の低下を防ぐことができる。また、CPUは、楽音信号再生用の比較的遅いクロックではなく、逓倍クロックから生成したCPUの動作に必要な周波数のクロックを動作クロックとするため、性能を制限されることなく動作することができる。
そこで、楽音出力装置は、基準クロックから生成されるずれ監視信号と逓倍クロックから生成されるマスク信号とを用いて、基準クロックの基準位置と逓倍クロックの基準位置との間に所定以上のずれが発生しているかを判定し、ずれが発生している場合には、楽音データを格納し、DA変換器へ送出するタイミングを調整する。なお、ずれ監視信号とマスク信号とについては後述する。
<構成>
図1は、実施の形態1に係る楽音出力装置100の構成図である。
タイミング制御回路104は、逓倍回路103から受領したクロック142を基に、各回路の動作タイミングを決定するタイミング信号150〜154を生成し、各回路に送出する回路である。
タイミング信号150は、CPU105の動作クロックであり、タイミング信号151は、読出し調整回路106の動作タイミングを決定するタイミング信号である。タイミング信号150の周波数とタイミング信号151の周波数は等しく、サンプリング周波数に比べ、十分高い周波数の信号である。例えば、サンプリング周波数を10KHzとすると、数MHz程度の信号である。
タイミング信号154は、データ制御回路112の動作タイミングを決定するタイミング信号であり、サンプリング周波数と等しい周波数の信号である。
クロック142は、水晶振動子から生成したクロック141に比べ、周波数ジッタの大きいクロックであるため、クロック142を基に生成したマスク信号138がアサートされるタイミングにずれが生じる場合がある。
楽音データ読出しのための制御について、具体的には、CPU105がシステム全体の制御を行っている際に、楽音再生の要求が発生すると、初期パラメータとして、アドレス制御回路108に所望の楽音データが格納されているメモリ111上のアドレス値を、データ制御回路112に1回に送出する楽音データのサイズ(サンプリングデータのデータサイズ)を設定した上で、読出し調整回路106に楽音信号出力の開始を指示する再生要求信号131を送出する。
読出し調整回路106は、タイミング制御回路104から受領したタイミング信号151に同期したタイミングで、CPU105に対し、バスの使用権を要求するバス調停信号132を送出し、CPU105がバスを解放すると、アドレス制御回路108、読出し制御回路109、及び、データ制御回路112に楽音データの読出しを指示する読出し許可信号134を送出する回路である。
アドレス制御回路108は、所望の楽音データが格納されているメモリ111のアドレス値をアドレスバス107に送出する回路である。
読出し制御回路109は、読出し調整回路106から読出し許可信号134を受領すると、タイミング制御回路104から受領したタイミング信号153に同期したタイミングで、メモリ111にデータバス110へのデータの送出を求める読出し信号135を送出する回路である。
メモリ111は、CPU105が使用する制御プログラム等、及び、楽音データを任意のアドレスに格納する不揮発性のメモリである。
アドレスバス107に送出されたアドレス値が示すアドレスに格納された楽音データをデータバス110に送出する。
データ制御回路112は、タイミング制御回路104から受領したタイミング信号154に同期したタイミングで、メモリ111からデータバス110に送出された楽音データを内部に有するバッファに格納し、バッファに格納された楽音データを、予めCPU105により内部のレジスタに設定された1回に送出する楽音データのサイズ(サンプリングデータのサイズ)毎に、取込み回数可変回路113へ送出する回路である。
そのため、タイミング信号155は、データ制御回路112が送出する楽音データが切り替わってから所定の時間経過したタイミングでアサートされる必要があり、タイミング信号155は、データ制御回路112が楽音データを送出するタイミングと上述のような所定の関係を有するものである。
タイミング補正回路114は、取込み回数可変回路113から受領した楽音データをDA変換器115に転送すると共に、取込み回数可変回路113から受領したずれ監視信号139とタイミング制御回路104から受領したマスク信号138とを用いて、水晶振動子により生成したクロックであるクロック141の基準位置とクロック141を逓倍した送出したクロックであるクロック142の基準位置とのずれを検出する回路である。
なお、マスク信号138の基準位置は所定の幅を有しており、タイミング補正回路114は、マスク信号138の基準位置内でのずれ監視信号139のずれを許容する。マスク信号138の基準位置の幅は、クロックレーシングが発生しないように設計されており、マスク信号138の基準位置内でのずれであれば、大きな影響を与えることはないためである。
<バス使用権の調整及び楽音データ読出しの動作>
以下、上記構成を備えた楽音出力装置100において、CPU105と読出し調整回路106とのバス使用権の調整の動作、及び、メモリ111に格納されている楽音データを、データ制御回路112がデータバス110を介してバッファに格納し、送出データ120として取込み回数可変回路113に送出する動作について説明する。
CPU105は、楽音再生の要求が発生すると、所望の楽音データの格納されているメモリ111上の領域のスタートアドレスとエンドアドレスをアドレス制御回路108に設定し、また、データ制御回路112が内部のバッファから1回に取込み回数可変回路113に送出する楽音データのサイズをデータ制御回路112に設定する。
読出し調整回路106は、CPU105から再生要求信号131を受領すると、タイミング制御回路104から受領したタイミング信号151に同期したタイミングで、CPU105に対し、バス調停信号132を送出する。
<楽音データの読出し>
読出し調整回路106は、CPU105からバス解放信号133を受領すると、アドレス制御回路108、読出し制御回路109、及び、データ制御回路112に、読出し許可信号134を送出する。
読出し制御回路109は、読出し許可信号134を受領すると、タイミング制御回路104から受領したタイミング信号153に同期したタイミングで、メモリ111に読出し信号135を送出する。
データ制御回路112は、タイミング制御回路104から受領したタイミング信号154に同期したタイミングで、メモリ111からデータバス110に送出された楽音データをバッファに格納し、データ制御回路112に読出し完了信号136を送出する。
また、データ制御回路112は、バッファに格納したデータを、CPU105から設定された1回に送出する楽音データのサイズ毎に取込み回数可変回路113に送出し、タイミング制御回路104から受領したタイミング信号154に同期したタイミングで、読出し調整回路106にバス調停要望信号137を送出する。
<タイミングチャートを用いた説明>
上述の動作について、図2に示すタイミングチャートを使用して説明する。
以下では、CPU105が読み込む制御プログラム等をSYD1、SYD2、SYD3、SYD4とし、楽音データをSUD1、SUD2として説明する。なお、制御プログラム等はCPU105の制御の内容によって、サイズが異なるものである。
T2は、CPU105が、読出し調整回路106からバス調停信号132を受領した後、CPU105がバスを解放できるようになったタイミングであり、CPU105は、読出し調整回路106にバス解放信号133を送出する。CPU105は、実行している制御に支障を来さないタイミングでバスを解放するため、読み込む制御プログラム等の内容により、T1−T2間の長さは異なる。
T4は、アドレス制御回路108が、読出し調整回路106から読出し許可信号134を受領した直後のタイミング信号152の立ち上がりのタイミングであり、アドレス制御回路108は、所望の楽音データのメモリ上のアドレス値(SUD1のアドレス)をアドレスバス107に送出する。
読出し制御回路109から読出し信号135を受領したメモリ111は、データバス110からアドレス値を取得し、取得したアドレス値が示すアドレスに格納された楽音データ(SUD1)をデータバス110に送出する。
また、T6において、データ制御回路112は、読出し完了信号136(図示しない)を読出し調整回路106に送出する。
T8は、読出し調整回路106が、読出し許可信号134を送出してから一定期間経過したタイミングであり、読出し調整回路106は、アドレス制御回路108と、読出し制御回路108と、データ制御回路112への読出し許可信号134の送出を終了し、また、CPU105へのバス調停信号132の送出を終了する。
T10は、データ制御回路112が、バッファに楽音データを格納し、送出したタイミング(T6)の次のタイミング信号154の立ち上がりのタイミングであり、次の楽音データの読出しのため、データ制御回路112は、読出し調整回路106にバス調停要望信号137を送出する。
T12は、読出し調整回路106が、アドレス制御回路108と、読出し制御回路109と、データ制御回路112とに読出し許可信号134を送出するタイミングであり、データ制御回路112は、読出し調整回路106へのバス調停要望信号137の送出を終了する。
<楽音信号の出力とずれ検出時の動作>
以下、上記構成を備えた楽音出力装置100において、データ制御回路112が送出した楽音データ(送出データ120)をDA変換器115が楽音信号として出力する動作と、基準クロックの基準位置と逓倍クロックの基準位置とにずれが生じた場合にこれを検出し、データ制御回路112が送出した楽音データ(送出データ120)をバッファに格納するタイミング、及び、オーバーサンプリング数に応じてDA変換器115に送出するタイミングを調整し、マスク信号138とずれ監視信号139とがアサートされるタイミングを初期状態にリセットする動作について説明する。
取込み回数可変回路113は、クロック141を基に生成したタイミング信号155に同期したタイミングで、データ制御回路112から楽音データ(送出データ120)を受領し、バッファに格納する。
また、取込み回数可変回路113は、タイミング信号156を生成し、生成したタイミング信号156と共に、タイミング信号156に同期したタイミングで、バッファに格納した楽音データ(送出データ121)をオーバーサンプリング数に従って、タイミング補正回路114に送出する。
DA変換器115は、タイミング補正回路114から受領したタイミング信号157に同期したタイミングで、楽音データ(送出データ122)を受領し、受領した楽音データの補間を行い、クロック141を分周したクロックに同期したタイミングで、アナログ信号である楽音信号に変換し、出力する。
タイミング制御回路104は、逓倍回路103が送出するクロック142からマスク信号138を生成し、タイミング補正回路114に送出する。
取込み回数可変回路113は、発振器102が送出するクロック141からずれ監視信号139を生成し、タイミング補正回路114に送出する。
ずれ監視信号139の基準位置が、マスク信号138の基準位置からずれた場合には、タイミング補正回路114はこれを検出し、同期リセット信号140をタイミング制御回路104と取込み回数可変回路113とへ送出する。
また、取込み回数可変回路113は、ずれ監視信号139がアサートされるタイミングを初期状態にリセットする。
<タイミングチャートを用いた説明>
上述の動作について、図3、図4に示すタイミングチャートを使用して説明する。
以下では、楽音のサンプリング周波数を10KHz、オーバーサンプリング数を7、DA変換器の分解能を12値、クロック141を4MHz、逓倍回路103は4逓倍するものでクロック142は16MHzとして説明する。
タイミング制御回路内部信号と可変回路内部信号とは、タイミング信号156やタイミング信号157と同様に、1サンプリング周期あたりオーバーサンプリング数個のクロックを出力するものである。
図3は、ずれ監視信号139の基準位置(Highの部分)とマスク信号138の基準位置(Lowの部分)との間にずれが発生していない、即ち、クロック141の基準位置とクロック142の基準位置との間にずれが発生していない場合のタイミングチャートである。
T2は、タイミング信号154(図示しない)の立ち下がりのタイミングであり、データ制御回路112は、送出データ120として楽音データ(SUD2)を送出する。
このように、マスク信号138は、送出データ120の切り替わりのタイミング前後(T1〜T3)でアサート信号である。
T4は、可変回路内部信号(図示しない)の7周期分を1サイクルとした場合に、可変回路内部信号の7周期目の立ち上がりのタイミングであり、取込み回数可変回路113は、タイミング補正回路114にずれ監視信号139を送出し、また、タイミング信号155を立ち上げる。
このように、ずれ監視信号139は、初期状態において、マスク信号138の基準位置にアサートされる信号である。
このように、タイミング信号155は、初期状態において、マスク信号138の基準位置にアサートされる信号である。
以降、取込み回数可変回路113は、タイミング信号156の立ち上がりのタイミングで、バッファに格納した楽音データ(SUD2)を送出データ121(U2−2〜U2−7)として送出する。
図4は、ずれ監視信号139とマスク信号138との間にずれが発生する、即ち、クロック141の基準位置とクロック142の基準位置との間にずれが発生する場合のタイミングチャートである。
なお、クロック141の基準位置とクロック142の基準位置との間にずれが発生しているため、クロック141を基に生成する可変回路内部信号の基準位置とクロック142を基に生成するタイミング制御回路内部信号の基準位置との間にもずれが生じている。
T2は、可変回路内部信号の7周期分を1サイクルとした場合に、可変回路内部信号の7周期目の立ち下がりのタイミングであり、取込み回数可変回路113は、タイミング補正回路114へのずれ監視信号139の送出を終了する。
また、T2は、タイミング制御回路内部信号(図示しない)の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の2周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114にマスク信号138を送出する。
以降、取込み回数可変回路113は、タイミング信号156の立ち上がりのタイミングで、バッファに格納した楽音データ(SUD1)を送出データ121(U1−2〜U1−7)として送出する。
T5は、タイミング制御回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の4周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114へのマスク信号138の送出を終了する。
T6は、タイミング制御回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の2周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114にマスク信号138を送出する。
T6において、マスク信号138のHighの部分に、ずれ監視信号の基準位置が重なっているので、タイミング補正回路114は、クロック141の基準位置とクロック142の基準位置との間にずれが発生したと判定する。
T7は、タイミング補正回路114がクロック141の基準位置とクロック142の基準位置との間にずれが発生したと判定した直後のタイミング信号156の立ち上がりのタイミングであり、タイミング補正回路114は、タイミング制御回路104と取込み回数可変回路113とに同期リセット信号140を送出する。
また、T7は、取込み回数可変回路113が、楽音データ(SUD2)をバッファに格納した直後のタイミング信号156の立ち上がりのタイミングであり、取込み回数可変回路113は、バッファに格納した楽音データ(SUD2)を、送出データ121(U2−1)として送出する。
T8は、タイミング制御回路内部信号の7周期分を1サイクルとした場合に、タイミング制御回路内部信号の4周期目の立ち下がりのタイミングであり、タイミング制御回路104は、タイミング補正回路114へのマスク信号138の送出を終了する。
同期リセット信号140の送出が終了すると、楽音データの送出するタイミングを調整するため、タイミング信号156について、次のクロックを立ち上げる。これにより、送出データ121のU2−2の送信終了タイミングが正常時に比べて縮小される。
T10は、T9におけるリセットを受け、タイミング信号155と、ずれ監視信号139とが立ち上がるタイミングである。T9におけるリセットにより、タイミング信号155とずれ監視信号139がアサートされるタイミングは初期状態に戻り、それぞれマスク信号138の基準位置内にアサートされる。
≪変形例1≫
<概要>
実施の形態1において、楽音データの読出しは、読出し調整回路106とCPU105とのバス使用権の調整が終了した後に開始される。
しかし、CPU105は、バス使用権の調整を開始した時点で行っている制御に支障を来さないタイミングでバスを解放し、読出し調整回路106にバス解放信号133を送出するため、読出し調整回路106がバス調停信号132を送出してから、CPU105がバス解放信号133を送出するまでの時間は常に一定ではない。
変形例1のデータ制御回路は、それぞれ内部にバッファを有する第1データ制御回路と第2データ制御回路とからなるものである。
そのため、バス使用権の調整を開始してからバス解放信号を送出するまでの時間が常に一定でない場合でも、データ制御回路から取込み回数可変回路113への楽音データの送出は一定周期で行うことができるものである。これにより、DA変換器が出力する楽音信号の波形歪の発生を防ぐことができる。
<構成>
変形例1に係る楽音出力装置は、実施の形態1に係る楽音出力装置100のデータ制御回路112をデータ制御回路201に変えて構成したものである。
図5は、データ制御回路201の構成図である。
データ制御回路201は、第1データ制御回路202、第2データ制御回路203、タイミング調整回路204から構成される。
第2データ制御回路203は、タイミング調整回路204から送出された後述するタイミング信号208に同期したタイミングで、第1データ制御回路202から送出された楽音データ(送出データ205)を内部に有するバッファに格納し、バッファに格納された楽音データを送出データ206として取込み回数可変回路113に送出する回路である。
<動作>
データ制御回路201の動作について、タイミングチャートを用いて説明する。図6はデータ制御回路201の動作を示すタイミングチャートである。
また、CPU105が読み込む制御プログラム等をSYD1、SYD2、SYD3、SYD4とし、楽音データをSUD0、SUD1、SUD2、SUD3として説明する。なお、制御プログラム等は、CPU105の制御の内容によって、サイズが異なるものとする。
T3は、読出し制御回路109が、メモリ111に読出し信号135(図示しない)を送出するタイミングであり、メモリ111は、データバス110に楽音データ(SUD1)を送出する。
また、T4は、タイミング信号154が立ち下がるタイミングであり、タイミング信号208も立ち下がる。
T6は、CPU105が、読出し調整回路106へのバス解放信号133(図示しない)の送出を終了するタイミングであり、メモリ111は、データバス110に制御プログラム等(SYD2)の送出をする。
ここで、送出データ205における楽音データの送出開始タイミングの間隔(SUD1とSUD2の長さ)は、一定になっていない。これは、実施の形態1のデータ制御回路112の送出データ120と同様に、CPU105がバス使用権の調整を開始した時点で行っている制御に支障を来さないタイミングでバスを解放するためである。
≪変形例2≫
<概要>
実施の形態1では、データ制御回路112が、データバス110を介してメモリ111から1回楽音データを取得するのに対して、楽音データの取得の前後にそれぞれ1回のバス使用権の調整を必要とする。
変形例2のデータ制御回路は、データバスを介してメモリから複数回続けて楽音データを取得するのに対し、楽音データの取得の前後にそれぞれ1回のバス使用権の調整を行うものであり、データバス110を有効に活用できる。
<構成>
変形例2に係る楽音出力装置は、実施の形態1に係る楽音出力装置100のデータ制御回路112をデータ制御回路301に変えて構成したものである。データ制御回路301以外については、実施の形態1と同様であるため、説明は省略する。
図7は、データ制御回路301の構成図である。
データ制御回路301は、バッファ302、制御回路303から構成される。
バッファ302は、基本的には、実施の形態1のデータ制御回路112が有するバッファと同様のものであるが、データバス110から楽音データを取得する回数に応じて容量を増加させたものである。バッファ302は、制御回路303の制御を受け、後述するタイミング信号304に同期したタイミングで楽音データを格納し、後述するタイミング信号305に同期したタイミングで楽音データを送出する。
<動作>
図8は、変形例2に係るデータ制御回路301の動作を示すタイミングチャートである。以下では、データ制御回路301が1回にバッファ302に格納する楽音データのサイズと、データ制御回路301が取込み回数可変回路113に送出する楽音データのサイズは同一であるとして説明する。
T1は、読出し調整回路106が、CPU105からバス解放信号133(図示しない)を受領した直後のタイミング信号151(図示しない)の立ち上がりのタイミングであり、読出し調整回路106は、アドレス制御回路108と、読出し制御回路109と、データ制御回路301とに読出し許可信号134を送出する。
T3は、読出し調整回路106が、読出し許可信号134を送出した後のタイミング信号304の2つ目の立ち上がりのタイミングであり、データ制御回路301は、データバス110から楽音データ(SUD2)をバッファ302に格納する。
T5は、読出し調整回路106が、読出し許可信号134を送出した後のタイミング信号154の2つ目の立ち下がりのタイミングであり、タイミング信号305も立ち下がり、データ制御回路301は、バッファ302から楽音データ(SUD2)を送出データ306として送出する。
≪実施の形態2≫
<概要>
実施の形態1の楽音出力装置100は、非圧縮の楽音データを楽音信号として出力するものである。
実施の形態2の楽音出力装置は、種々の圧縮率により圧縮された楽音データを、楽音信号として出力できるようにしたものである。
<構成>
図9は、実施の形態2に係る楽音出力装置400の構成図である。
楽音出力装置400は同図に示すように、水晶101、発振器102、逓倍回路103、CPU105、読出し調整回路106、アドレスバス107、アドレス制御回路108、読出し制御回路109、データバス110、メモリ111、取込み回数可変回路113、タイミング補正回路114、DA変換器115、送出サイズ切替えレジスタ401、データ制御回路402、復号化回路403、タイミング制御回路404から構成される。
ここで、実施の形態2における楽音データは、一定の圧縮率で圧縮されたものである。
送出サイズ切替えレジスタ401は、楽音データを構成するサンプリングデータの圧縮後のデータサイズを記憶するレジスタである。
データ制御回路402は、基本的には、実施の形態1に示すデータ制御回路112と同様の回路であるが、送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ毎に、バッファに格納しているデータを送出データ420として、後述する復号化回路403に送出する点で、データ制御回路112とは異なる。
残データが残ると、データ制御回路402は、データバス110に送出された楽音データを格納するバッファ領域とは別のバッファ領域に残データを退避する点で、データ制御回路112とは異なる。
以下では、データバス110に送出された楽音データを格納するバッファ領域を「第1バッファ領域」と、残データを退避するバッファ領域を「第2バッファ領域」として説明する。
復号化回路403は、タイミング制御404から受領した後述するタイミング信号450に同期したタイミングで、データ制御回路402から受領した圧縮された楽音データを順次復号し、取込み回数可変回路113に送出する回路であり、一般的な復号化回路と同様のものである。
タイミング信号450は、復号化回路403の動作タイミングを決定するタイミング信号であり、サンプリング周波数と等しい周波数の信号である。
<動作>
以下、上記構成を備えた楽音出力装置400において、データ制御回路402が内部のバッファに格納した楽音データを送出する際の動作について、説明する。
以下の説明では、データ制御回路402に1回に格納する楽音データのサイズを16ビット、送出サイズ切替えレジスタ402が送出する送出サイズ信号431が示す送出サイズを3ビットとする。
まず、データ制御回路402が、1回目に第1バッファ領域に格納した楽音データを、復号化回路403へ送出する動作について説明する。
なお、送出サイズ切替えレジスタ401は、CPU105からサンプリングデータの圧縮後のデータサイズ(3ビット)が設定された際に、予め送出サイズ(3ビット)を示す送出サイズ信号431をデータ制御回路402に送出してあるものとする。
<2回目に格納した楽音データの送出>
次に、データ制御回路402が、2回目に第1バッファ領域に格納した楽音データを、復号化回路403へ送出する動作について説明する。
データ制御回路402は、10回目の送出を行うと、2ビットが残データとなるため、残データ2ビットを第2データバッファ領域に格納する。
次に、データ制御回路402が、3回目に第1バッファ領域に格納した楽音データを、復号化回路403へ送出する動作について説明する。
データ制御回路402は、第1バッファ領域に3回目の楽音データの格納を行うと、タイミング制御回路404から受領したタイミング信号154に同期したタイミングで、第2バッファ領域に格納された残データ2ビットと、第1バッファ領域に格納した楽音データの先頭1ビットとを合わせて送出サイズ切替えレジスタ401から受領した送出サイズ信号431が示す送出サイズ(3ビット)とした楽音データを送出データ420として、復号化回路403へ11回目の送出を行う。
≪変形例3≫
<概要>
実施の形態2の楽音出力装置400は、データ制御回路402のバッファに格納した圧縮された楽音データを、送出サイズ切替えレジスタ401が送出する送出サイズ信号431が示す一定の送出サイズ毎に、送出するものである。
従って、音質が低下しても全体の音質に影響が出にくい部分と、高い音質を確保しなければ全体の音質に影響が出る部分とで圧縮率を変えた楽音データについて、楽音信号として出力できるようにすれば、全体としての音質は維持しつつ、ある程度データサイズを抑制することもできる。
<構成>
図10は、変形例3に係る楽音出力装置500の構成図である。
圧縮率切替え制御回路501とデータ制御回路502以外は、実施の形態2と同様であるため、説明は省略する。
送出サイズ切替え制御回路501は、各フレーズデータを構成するサンプリングデータの圧縮後のデータサイズ(以下、「送出サイズ」という)をフレーズデータ毎に記憶し、各フレーズデータの送出前に、送出サイズ信号531としてデータ制御回路502に送出する回路である。各フレーズデータの送出サイズは、CPU105により予め内部のレジスタに設定される。
<動作>
以下、上記構成を備えた楽音出力装置500において、データ制御回路502が内部のバッファに格納された楽音データを送出する際の動作について、説明する。
以下の説明では、データ制御回路502が1回に格納する音声データのサイズは12ビットであって、音声データは、第1から第4までの4つのフレーズデータからなるものとする。
また、第1フレーズデータと第3フレーズデータとは24ビットからなるデータであり、フレーズデータを構成するサンプリングデータの圧縮後のデータサイズを4ビットとする。
<第1フレーズデータの送出>
まず第1フレーズデータを復号化回路403へ送出する動作について説明する。
また、データ制御回路502には、CPU105から各フレーズデータのデータサイズが設定されているものとする。
送出サイズ切替え制御回路501は、データ制御回路502から送出完了信号532を受領すると、第2フレーズデータの送出サイズ(3ビット)を示す送出サイズ信号531をデータ制御回路502に送出する。
データ制御回路502は、第2フレーズデータについて、バッファへの格納を行うと、バッファに格納した第2フレーズデータを、送出サイズ切替え制御回路501から受領した送出サイズ信号531が示す送出サイズ(3ビット)毎に、タイミング制御回路404から受領したタイミング信号450に同期したタイミングで、送出データ520として復号化回路403へ送出する。
<第3、第4フレーズデータの送出>
第1、第2フレーズデータの送出と同様に送出サイズ切替え制御回路501とデータ制御回路502とは動作し、第3、第4フレーズデータを送出する。
≪実施の形態3≫
<概要>
実施の形態1では、データバス110のバス幅は、CPU105が処理をするのに必要なmビット(mは整数)で構成されている。読出し制御回路109が読出し信号135を送出すると、メモリ111は、バス幅に合わせて1回にmビットのデータをデータバス110に送出する。
読み出されたデータをそのまま楽音信号に変換してしまうと、楽音信号には、本来の楽音以外の誤った信号が含まれてしまい、音質低下の原因となる。
これに対して、楽音データの最後に、例えば、無音になる楽音データを付け、楽音データのデータサイズが、バス幅mビットの整数倍になるようにしてメモリ111に格納する方法が考えられるが、メモリの格納効率が低下するため好ましくない。
<構成>
図11は、実施の形態3に係る楽音出力装置600の構成図である。
終了制御回路601は、データ制御回路602が楽音データのサイズ分の楽音データを送出すると、データ制御回路602に対し、送出を停止するよう制御する回路である。
具体的には、終了制御回路601は、所望の楽音データのデータサイズが予めCPU105により内部のレジスタに設定されており、また、データ制御回路602から後述するデータ送出信号631を受領すると1つ増加するカウンタを備え、カウンタ値が、CPU105により設定された楽音データのデータサイズに対応するカウント数を超えると、終了検知信号632をデータ制御回路602に送出することにより、データ制御回路602に対し、データの送出を停止させる。
第1レジスタには、CPUから設定された楽音データのデータサイズを1アドレス分のデータサイズで割った商を設定する。第2レジスタは、データ制御回路602から後述するデータ送出信号631を受領する毎にカウントを1つ増加するようにし、第2レジスタの値が、第1のレジスタに設定された値以上になった場合にオーバーフローするようにする。
データ制御回路602は、基本的には、実施の形態1に示すデータ制御回路112と同様の回路であるが、終了制御回路601から終了検知信号632を受領すると、バッファにデータが残っていたとしても、以降のデータの送出を停止する点で、データ制御回路112とは異なる。
終了制御回路601にデータを送出した旨のデータ送出信号631を送出する点でも、データ制御回路112とは異なる。
<動作>
以下、上記構成を備えた楽音出力装置600において、データ制御回路602が内部のバッファに格納された楽音データを送出する際の動作について、説明する。
以下の説明では、データバス110のバス幅を24ビット、メモリ111の1アドレス分のデータサイズを1バイト、楽音データのデータサイズを40ビットとし、データ制御回路602はバッファに格納した楽音データを1バイトずつ送出するものとする。
また、終了制御回路601には、CPU105により、楽音データのデータサイズ40ビットが設定され、カウンタは、初期値として0が設定されており、楽音データのデータサイズ40ビットをメモリ111の1アドレスに格納されるデータサイズ1バイト(8ビット)で割った商5以上になった場合にオーバーフローするものとする。
まず、データ制御回路602が、1回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
終了制御回路601のカウンタには、初期値として0が設定されており、データ制御回路602のバッファには、メモリ111のアドレス‘01’から‘03’に配置されていた楽音データが格納されている。
終了制御回路601は、データ制御回路602からデータ送出信号631を受領する毎にカウンタを1つ増加させる。
<2回目に格納された楽音データの送出>
次にデータ制御回路602が、2回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
データ制御回路602は、1回目に格納された楽音データの送出と同様にタイミング制御回路603から受領したタイミング信号154に同期したタイミングで、バッファに格納しているデータのうち先頭2バイト(アドレス‘04’及び‘05’に配置されていた楽音データ)まで送出を完了する。
終了検知信号632を受領したデータ制御回路602は、取込み回数可変回路113への楽音データの送出を停止し、バッファに残っている楽音データ以外のデータ(アドレス‘06’に配置されていた制御プログラム)を送出しないため、DA変換器115において、楽音データのみが楽音信号に変換され出力される。
≪変形例4≫
<概要>
変形例4に係る楽音出力装置700の終了制御回路701は、実施の形態3に係る楽音出力装置600の終了制御回路601を変形したものであって、データ制御回路602に1回に格納できる楽音データのサイズが、メモリ111の1アドレス分のデータサイズの2倍である場合に、カウンタを用いることなくより簡単に構成したものである。
<構成>
図12は、変形例4に係る楽音出力装置700の構成図である。
楽音出力装置700は、実施の形態3に係る楽音出力装置600の終了制御回路601を終了制御回路701に変えて構成したものである。
終了制御回路701は、所望の楽音データのデータサイズとデータ制御回路602に1回に格納できる楽音データのサイズとが予めCPU105により設定されており、これらからメモリ111に格納された楽音データが奇数アドレス分であるか、偶数アドレス分であるかを判定し、判定結果を終了検知信号731としてデータ制御回路602に送出する回路である。
終了制御回路701は、偶数アドレス分であると判定した場合には“0”を、奇数アドレス分であると判定した場合には“1”を終了検知信号731として送出する。
<動作>
以下、上記構成を備えた楽音出力装置700において、データ制御回路602がバッファに格納した楽音データを送出する際の動作について、説明する。
以下の説明では、データバスのバス幅を16ビット、データ制御回路602に1回に格納できる楽音データのサイズを16ビット、メモリ111の1アドレス分のデータサイズを1バイト、楽音データのデータサイズを40ビットとし、データ制御回路602はバッファに格納した楽音データを1バイトずつ送出するものとする。
また、終了制御回路701には、CPU105により、データ制御回路602に1回に格納できる楽音データのサイズ16ビットと、楽音データのデータサイズ40ビットとが設定されているものとする。
まず、データ制御回路602が、1回目、2回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
なお、終了制御回路701は、CPU105によりデータ制御回路602が1回に格納できる楽音データのサイズ16ビットと、楽音データのデータサイズ40ビットとが設定された際に、楽音データのデータサイズ40ビットを、データ制御回路602が1回に格納できる楽音データのサイズ16ビットで割った余りを求め、余りが“8”であるため、メモリ111に格納された楽音データが奇数アドレス分であることを示す“1”を終了検知信号731として、予めデータ制御回路602に送出してあるものとする。
同様に、メモリ111のアドレス‘03’ 及び‘04’に配置されていた楽音データについても送出する。
次に、データ制御回路602が、3回目に格納した楽音データを取込み回数可変回路113へ送出する動作について説明する。
データ制御回路602は、メモリ111のアドレス‘05’に配置されていた楽音データと、アドレス‘06’に配置されていた制御プログラムをバッファに格納すると、バッファに格納しているデータのうち先頭1バイト(アドレス‘03’に配置されていた楽音データ)を、タイミング制御回路603から受領したタイミング信号154に同期したタイミングで、取込み回数可変回路113へ送出する。
このように、変形例4に係る楽音出力装置700は、終了制御回路701にカウンタを備えることなく、データ制御回路602のバッファに残っている制御プログラムの送出を停止することができるという実施の形態と同様の効果を奏することができる。
≪実施の形態4≫
<概要>
実施の形態1の楽音出力装置100は、予めメモリ111に格納された楽音データを楽音信号として出力するものであり、メモリ111の容量を超える楽音データを楽音信号として出力することはできない。
<構成>
図13は、実施の形態4に係る楽音出力装置800の構成図である。
メモリ801は、基本的には、実施の形態1におけるメモリ111と同様のメモリであるが、メモリ801内の特定の格納領域に、データ転送回路804により後述する外部楽音データ820が格納される点で、メモリ111とは異なる。
読出し制御回路803は、基本的には、実施の形態1における読出し制御回路109と同様の回路であるが、アドレス制御回路802から通信許可要望信号831を受領すると、データ転送回路804に後述する外部楽音データ820をメモリ801に格納するよう指示する通信許可信号832を送出する点で、読出し制御回路109とは異なる。
<動作>
以下、上記構成を備えた楽音出力装置800について、外部楽音データ820のメモリ801への格納と読出しの動作を説明する。
なお、バス使用権の調整については、実施の形態1と同様であるため、説明は省略する。
<1回目の外部楽音データ820の格納>
CPU105は、楽音再生の要求が発生すると、アドレス制御回路802とデータ転送回路804とにメモリ801上のスタートアドレスとエンドアドレスを設定する。
<1回目の楽音データの読出し>
アドレス制御回路802が、エンドアドレスの1つ前のアドレス値をアドレスバス103に送出するまでは、実施の形態1と同様に楽音データの読出しが行われる。
読出し制御回路803は、通信許可要望信号831を受領すると、データ転送回路804に通信許可信号832を送出する。
<2回目の外部楽音データ820の格納>
データ転送回路804は、読出し制御回路803から通信許可信号832を受領すると、1回目の外部楽音データ820の格納と同様に外部装置から受領した外部楽音データ820を、メモリ801のスタートアドレスからエンドアドレスまでの領域に格納し、エンドアドレスまで格納すると、一旦格納を停止する。
<補足>
以上、本発明に係る楽音出力装置について実施形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施形態で示した通りの楽音出力装置に限られないことは勿論である。
(1)実施の形態1の取込み回数可変回路113は、予め設定されたオーバーサンプリング数に従って楽音データを送出データ121として送出するものとしたが、発振器102が送出するクロック141の周波数と、逓倍回路103が送出するクロック142の周波数との関係から、オーバーサンプリング数を適切な値に設定できるものとしてもよい。
まず、DA変換器115に必要なクロック周波数を算出する。DA変換器115に必要なクロック周波数は、楽音のサンプリング周波数、通常のオーバーサンプリング数、及び、DA変換器の分解能から算出でき、10KHz×32回×12値≒4MHzとなる。
変更後のオーバーサンプリング数は、通常のオーバーサンプリング数、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つの領域を設けることにより、上書きを回避することとしてもよい。
通信許可信号832を受領したデータ転送回路804は、アドレス制御回路802が送出しているアドレス値が属する領域とは異なる他方の領域に外部楽音データ820を格納するようにすればよい。
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)
- 楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力装置であって、
水晶振動子を用いて基準クロックを生成するクロック発振器と、
前記基準クロックを逓倍して逓倍クロックを生成する逓倍回路と、
前記逓倍クロックに基づく信号に同期したタイミングで前記メモリに格納された前記楽音データを内部のバッファに格納し、所定のタイミングで当該バッファに格納された前記楽音データを転送する制御回路と、
前記逓倍クロックに基づく信号に同期して動作し、前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、
前記制御回路から転送された前記楽音データを前記基準クロックに基づく信号に同期したタイミングで、前記楽音信号に変換して出力するDA変換器とを備える
ことを特徴とする楽音出力装置。 - 前記制御回路は、前記基準クロックに基づくタイミング信号を生成する転送タイミング補正回路を含み、当該タイミング信号に同期したタイミングを前記所定のタイミングとして前記バッファに格納された前記楽音データを転送するものであって、
前記楽音出力装置は、更に
前記基準クロックの所定の基準位置と前記逓倍クロックの所定の基準位置とのずれが所定程度生じていることを検出すると、前記転送タイミング補正回路にずれを検出した旨のリセット信号を送出するずれ検出回路を備え、
前記転送タイミング補正回路は、前記リセット信号を受領すると、前記制御回路が前記楽音データを前記バッファに格納するタイミングと所定の関係を有するよう前記タイミング信号の生成を調整する
ことを特徴とする請求項1記載の楽音出力装置。 - 前記制御回路は、前記バッファに格納された前記楽音データをオーバーサンプリングするために、当該楽音データを構成する複数のサンプリングデータについて、それぞれ複数回転送するものである
ことを特徴とする請求項2記載の楽音出力装置。 - 前記楽音出力装置は、更に
前記メモリと、前記制御回路と、前記CPUとに接続し、当該メモリに格納された前記楽音データについての当該制御回路への転送、又は、前記制御プログラムについての当該CPUへの転送を媒介するデータバスを有し、
前記CPUの制御は、当該データバスの使用権の調整に係る制御を含むものであって、
前記制御回路は、
前記CPUの制御を受け、前記データバスの使用権を得ると、読出し許可信号を送出する読出し調整回路と、
前記読出し許可信号を受領すると、前記メモリに対し、前記楽音データが格納されたアドレスと、当該アドレスに格納された楽音データの送出を指示する読出し信号とを送出する送出指示処理を行う送出指示回路と、
前記読出し許可信号を受領し、前記データバスに前記楽音データが送出されると、当該データバスから当該楽音データを前記バッファである第1バッファに格納し、当該第1バッファに格納された楽音データを随時転送する第1データ制御回路と、
前記第1バッファとは異なる第2バッファを有し、前記第1データ制御回路から転送された前記楽音データを当該第2バッファに格納し、当該第2バッファに格納された楽音データをサンプリング周期に同期したタイミングで前記DA変換器に転送する第2データ制御回路とからなるものであって、
前記メモリは、前記送出指示回路から前記読出し信号を受領すると、指定されたアドレスに格納された前記楽音データを前記データバスに送出する
ことを特徴とする請求項1記載の楽音出力装置。 - 前記楽音出力装置は、更に
前記メモリと、前記制御回路と、前記CPUとに接続し、当該メモリに格納された前記楽音データについての当該制御回路への転送、又は、前記制御プログラムについての当該CPUへの転送を媒介するデータバスを有し、
前記CPUの制御は、当該データバスの使用権の調整に係る制御を含むものであって、
前記制御回路は、
前記CPUの制御を受け、前記データバスの使用権を得ると、読出し許可信号を送出する読出し調整回路と、
前記読出し許可信号を受領すると、前記メモリに対し、前記楽音データが格納されたアドレスと、当該アドレスに格納された楽音データの送出を指示する読出し信号とを送出する送出指示処理を行う送出指示回路と、
前記読出し許可信号を受領し、前記データバスに前記楽音データが送出されると、当該データバスから当該楽音データを前記バッファに格納する格納処理を行い、当該バッファに格納された楽音データを前記DA変換器に転送するデータ制御回路とからなるものであって、
前記メモリは、前記送出指示回路から前記読出し信号を受領すると、指定されたアドレスに格納された前記楽音データを前記データバスに送出する
ことを特徴とする請求項1記載の楽音出力装置。 - 前記楽音出力装置は、
前記読出し調整回路が、前記データバスの使用権を得て、前記読出し許可信号を送出すると、1回の前記読出し許可信号の受領に対し、前記送出指示回路による前記送出指示処理と、前記データ制御回路による前記格納処理とを複数回行う
ことを特徴とする請求項5記載の楽音出力装置。 - 前記楽音データは、複数のサンプリングデータから構成され、所定の圧縮率で圧縮されたものであり、
前記データ制御回路の前記バッファは、前記データバスから前記楽音データを格納する第1バッファ領域と、楽音データを退避する第2バッファ領域とからなるものであって、
前記楽音出力装置は、更に
前記サンプリングデータの圧縮後のデータサイズを記憶し、当該データサイズを示す圧縮率信号を前記データ制御回路に送出する圧縮率切替えレジスタを備え、
前記データ制御回路は、前記第1バッファ領域に格納された楽音データを前記圧縮率切替えレジスタが送出した前記圧縮率信号が示すデータサイズ毎に転送し、前記圧縮率信号に示すサイズに満たない残データが生じた場合には、当該残データを前記第2バッファ領域に格納し、当該第2バッファ領域に格納された残データと次に前記第1バッファ領域に格納された楽音データの一部とを合わせて前記圧縮率信号が示すデータサイズにして転送する
ことを特徴とする請求項5記載の楽音出力装置。 - 前記楽音データは、圧縮率の異なる複数のフレーズデータからなり、各フレーズデータは、複数のサンプリングデータからなるものであり、
前記楽音出力装置は、更に
前記フレーズデータ毎の圧縮後のサンプリングデータのデータサイズを記憶し、前記データ制御回路が、前記バッファに格納したフレーズデータに対応する前記データサイズ示す圧縮率信号を当該データ制御回路に送出する圧縮率切替え制御回路を備え、
前記データ制御回路は、前記バッファに格納した前記フレーズデータを前記圧縮率信号が示すデータサイズ毎に転送する
ことを特徴とする請求項5記載の楽音出力装置。 - 前記楽音データのデータサイズが、前記データバスのバス幅の整数倍でない場合であって、
前記楽音出力装置は、更に
前記楽音データのデータサイズと、前記データ制御回路が1回に転送する楽音データのサイズである転送サイズとを記憶し、内部にカウンタ回路を有し、前記カウンタ回路の値が前記楽音データのサイズと一致すると前記データ制御回路に終了検知信号を送出する終了制御回路を備え、
前記データ制御回路は、前記終了検知信号を受領するまで、前記バッファに格納されたデータを転送し、データを転送する毎にデータを送出したことを示すデータ送出信号を前記終了制御回路に送出し、
前記終了制御回路は、前記データ送出信号を受領すると、前記カウンタを前記転送サイズ分計数する
ことを特徴とする請求項5記載の楽音出力装置。 - 前記データ制御回路のバッファが1回に格納可能な楽音データのサイズと、メモリの2アドレス分のサイズとが等しい場合であって、
前記楽音出力装置は、更に
前記楽音データのデータサイズと、前記メモリの2アドレス分のサイズとを記憶し、当該楽音データのサイズを当該メモリの2アドレス分のサイズで除算し、剰余がゼロでない場合に、前記データ制御回路に終了検出信号を送出する終了制御回路を備え、
前記データ制御回路は、前記終了検知信号を受領すると、最後に前記バッファに格納した楽音データを1アドレス分のみ送出する
ことを特徴とする請求項5記載の楽音出力装置。 - 前記楽音出力装置は、更に、当該楽音出力装置の外部から取得した楽音データを、前記メモリの所定の開始アドレスから所定の終了アドレスまでの領域に格納するデータ転送回路を備え、
前記送出指示回路は、前記開始アドレスから順次アドレスを送出し、前記終了アドレス以前の所定のアドレスを送出すると、前記データ転送回路に楽音データの格納を許可する格納許可信号を送出し、前記終了アドレスを送出すると、再度前記開始アドレスからアドレスの送出を開始するものであって、
前記データ転送回路は、前記格納許可信号を受領すると、前記メモリの前記開始アドレスから前記終了アドレスまでの領域に楽音データを格納する
ことを特徴とする請求項5記載の楽音出力装置。 - 楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力装置であって、
前記メモリに格納された前記楽音データを内部のバッファに格納し、当該バッファ格納された当該楽音データを転送する制御回路と、
前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、
前記楽音信号に変換して出力するDA変換器とを備える
ことを特徴とする楽音出力装置。 - 楽音データと当該楽音データの読出し制御用の制御プログラムとが格納された内部のメモリから、当該楽音データを読み出し、アナログ信号である楽音信号に変換して出力する楽音出力用集積回路であって、
水晶振動子を用いて基準クロックを生成するクロック発振器と、
前記基準クロックを逓倍して逓倍クロックを生成する逓倍回路と、
前記逓倍クロックに基づく信号に同期したタイミングで前記メモリに格納された前記楽音データを内部のバッファに格納し、所定のタイミングで当該バッファに格納された前記楽音データを転送する制御回路と、
前記逓倍クロックに基づく信号に同期して動作し、前記メモリに格納された前記制御プログラムを実行することにより、前記制御回路に前記楽音データを転送させるよう制御するCPUと、
前記制御回路から転送された前記楽音データを前記基準クロックに基づく信号に同期したタイミングで、前記楽音信号に変換して出力するDA変換器とを備える
ことを特徴とする楽音出力用集積回路。
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)
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)
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)
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)
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 |
-
2006
- 2006-10-16 JP JP2006281358A patent/JP4778872B2/ja not_active Expired - Fee Related
- 2006-10-20 US US11/583,984 patent/US7425673B2/en not_active Expired - Fee Related
Patent Citations (7)
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)
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 |