JP2016090869A - 処理装置、処理方法、プログラム、楽音発生装置および電子楽器 - Google Patents

処理装置、処理方法、プログラム、楽音発生装置および電子楽器 Download PDF

Info

Publication number
JP2016090869A
JP2016090869A JP2014226577A JP2014226577A JP2016090869A JP 2016090869 A JP2016090869 A JP 2016090869A JP 2014226577 A JP2014226577 A JP 2014226577A JP 2014226577 A JP2014226577 A JP 2014226577A JP 2016090869 A JP2016090869 A JP 2016090869A
Authority
JP
Japan
Prior art keywords
memory
processing
bus
traffic
processing unit
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
JP2014226577A
Other languages
English (en)
Other versions
JP2016090869A5 (ja
JP6447024B2 (ja
Inventor
浩明 長坂
Hiroaki Nagasaka
浩明 長坂
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2014226577A priority Critical patent/JP6447024B2/ja
Priority to CN201510598358.3A priority patent/CN105590620B/zh
Priority to US14/872,882 priority patent/US10127164B2/en
Publication of JP2016090869A publication Critical patent/JP2016090869A/ja
Publication of JP2016090869A5 publication Critical patent/JP2016090869A5/ja
Application granted granted Critical
Publication of JP6447024B2 publication Critical patent/JP6447024B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Memory System (AREA)

Abstract

【課題】システム全体(楽器全体)を制御する処理能力の低下を回避する楽音発生装置を提供する。
【解決手段】共有メモリ15から読み出したデータに基づいて装置各部を制御するCPU13と、CPU13の制御の下に共有メモリ15から読み出したデータに基づいて楽音を発生する音源16と、共有メモリ15にアクセスするCPU13および音源の各バスの負荷状態をモニタするトラフィックモニタ30とを備える。トラフィックモニタ30によりモニタされる各バスの負荷状態に応じて、CPU13が音源16にバス負荷を下げる制御を指示及び又は共有メモリ15にアクセスする音源16の優先順位を変更する。
【選択図】図1

Description

本発明は、CPUおよび音源等、複数の処理部がメモリを共有するように構成された処理装置、処理方法、プログラム、楽音発生装置および電子楽器に関する。
一般に電子楽器では、楽器全体を制御するCPUと、このCPUの制御の下で楽音波形を発生する音源とから構成される楽音発生装置を備える。近年では、製品コスト削減の要求に基づき、音源が必要な波形データを読み出すメモリを、楽器各部を制御するCPUと共有するように構成されたものも知られている。
音源およびCPUがメモリを共有する楽音発生装置では、複数のプロセスが同時並行的に共有メモリにアクセスする結果、アクセス競合(衝突)が起こり得る。アクセス競合を回避するには、共有メモリへのアクセスを待機させればよいが、とりわけ音源において同時発音するチャンネル数が増えるほどアクセス待機に起因する処理遅延が顕著になり、処理効率の低下を招いてしまう。
そこで、近年では、例えば特許文献1に開示されように、バスの空き状態に対応して、発音中の各チャンネルのタイムスロット以外の期間を利用して共有メモリから所定チャンネル分の波形データを読み出して処理効率の向上を図る技術や、特許文献2に開示されるように、バスの空き状態に対応して、共有メモリから所定チャンネル分の波形データを読み出す際に、破綻判定タイミングの経過前に波形データの読み出しが完了しないチャンネルについて発音を停止させてバス負荷の低減を図りつつ意図しない異音の発生を防ぐ技術が開発されている。
特開2013−186368号公報 特開2014−16378号公報
ところで、上記特許文献1,2に開示の技術では、音源において実行する楽音波形の生成に係る処理の効率化を図ったり、意図しない異音の発生を防いだりするだけなので、システム全体(楽器全体)を制御する処理能力の低下を招く虞がある。具体的には、例えば音源のバス優先順位がCPUよりも高い場合に、当該音源において同時発音するチャンネル数が増えるほど共有メモリにアクセスする頻度も増加する反面、CPUが共有メモリにアクセスする頻度が減少する結果、当該CPUにより音源を制御する処理を含め、システム全体(楽器全体)を制御する処理能力の低下を招致してしまう。
本発明は、このような事情に鑑みてなされたもので、システム全体(楽器全体)を制御する処理能力の低下を回避することが出来る処理装置、処理方法、プログラム、楽音発生装置および電子楽器を提供することを目的としている。
上記目的を達成するため、本発明の処理装置は、
メモリと、
前記メモリから読み出されるデータに基づいて処理を行う複数の処理部と、
前記メモリと前記複数の処理部とを接続するバスと、
前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するバストラフィックモニタとを備えたことを特徴とする。
また、本発明の処理装置は、
メモリと、
前記メモリから読み出されるデータに基づいて夫々処理を行う第一の処理部及び第二の処理部を少なくとも含む複数の処理部と、
前記メモリと前記第一の処理部とを接続するとともに前記メモリと前記第二の処理部とを接続するバスと、
前記第一の処理部及び前記第二の処理部のいずれか一方に前記メモリに対するアクセス権が付与されていた状態で、前記第一の処理部及び前記第二の処理部のいずれか他方から前記メモリに対するアクセス権が要求される場合、予め設定された優先順位に従って、前記メモリに対するアクセス権を前記第一の処理部及び前記第二の処理部のいずれかに付与するように前記バスを制御するバスアービタと、
前記バスに対する前記第一の処理部及び前記第二の処理部のトラフィックをモニタするとともに、前記アクセス権を付与された前記第一の処理部及び前記第二の処理部のいずれかがトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するバストラフィックモニタとを備えたことを特徴とする。
本発明の処理方法は、メモリと、前記メモリから読み出されるデータに基づいて処理を行う複数の処理部と、前記メモリと前記複数の処理部とを接続するバスと、を有する処理装置で用いられる処理方法であって、
前記処理装置は、
前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力する、ことを特徴とする。
本発明のプログラムは、メモリと、前記メモリから読み出されるデータに基づいて夫々処理を行う複数の処理部と、前記メモリと前記複数の処理部夫々とを接続するバスと、を有する処理装置として用いられるコンピュータに、
前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するステップを実行させることを特徴とする。
また、本発明の楽音発生装置は、
メモリと、
前記メモリから読み出されるデータに基づいて楽音を生成する音源と、
前記メモリから読み出されるデータに基づいて前記音源を制御する制御部と、
前記メモリ、音源及び制御部の夫々を接続するバスと、
前記バスに対する前記音源及び制御部のトラフィックをモニタするとともに、前記メモリに対し最も優先してアクセス権を付与された前記音源及び制御部のいずれか一方のトラフィックが予め定められた上限値を越えた場合に、当該最も優先してアクセス権を付与された前記音源及び制御部のいずれか一方のトラフィックを減少させる信号を出力するバストラフィックモニタと、
を備えたことを特徴とする。
本発明では、システム全体(楽器全体)を制御する処理能力の低下を回避することが出来る。
本発明の一実施形態による楽音発生装置を備えた電子楽器100の全体構成を示すブロック図である。 基本クロックmc、クロックmc[10:4]、クロックmc[3:0]およびサンプリングクロックSC[7:0]の対応関係を示すタイムチャートである。 本発明の一実施形態による楽音発生装置の構成を示すブロック図である。 トラフィックモニタ30の構成を示す回路図およびBUSY累算値格納メモリ36の構成を示すメモリマップである。 書き込みアドレスADRに従ってBUSY累算値をBUSY累算値格納メモリ36(巡回メモリ)に書き込む動作の一例を示すタイムチャートである。 共有メモリ15にアクセスするバスマスターを選択する動作の一例を示すタイムチャートである。 CPU13が実行するノートイベント処理の動作を示すフローチャートである。 CPU13およびトラフィックモニタ30(波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30c)が協調して実行するバスモニタ処理の動作を示すフローチャートである。 CPU13が実行する優先順位変更処理の動作を示すフローチャートである。 変形例による楽音発生装置の構成を示すブロック図である。
以下、図面を参照して本発明の実施形態について説明する。
A.全体構成
図1を参照して本発明の一実施形態による楽音発生装置を備えた電子楽器100の全体構成について説明する。図1は、電子楽器100の全体構成を示すブロック図である。図1において、鍵盤10は発生すべき楽音の音高を指定するための操作子としの複数の鍵を有し、演奏操作(押離鍵操作)に応じたキーオン/キーオフ信号、そして指定された音高としての押鍵された鍵の鍵番号(又は離鍵された鍵の鍵番号)を含む演奏情報を出力する。
操作部11は、図示していないが、電源をパワーオン/パワーオフする電源スイッチの他、発生楽音を修飾する各種パラメータを設定したり選択したりする各種スイッチを有し、操作されるスイッチ種に対応したスイッチイベントを発生する。この操作部11が発生するスイッチイベントは、CPU13に取り込まれる。表示部12は、CPU13から供給される表示制御信号に基づき、楽器各部の設定状態や動作状態などを画面表示する。
CPU13は、操作部11から供給される各種スイッチイベントに基づき装置各部の動作状態を設定する他、ユーザの押鍵操作で発生する演奏情報を含むノートオンイベントを発生して音源16に供給して楽音発生を指示したり、ユーザの離鍵操作で発生する演奏情報を含むノートオフイベントを発生して音源16に供給して消音を指示したりする。本発明の要旨に係るCPU13の特徴的な処理動作については追って詳述する。
プログラムメモリ14は、例えばROMから構成され、上記CPU13にロードされる各種プログラムデータを記憶する。共有メモリ15は、例えばRAMから構成され、CPU13および音源16が共にアクセス可能なメモリであり、CPU13のプログラムデータ/ワークデータや、音源16のプログラムデータ/ワークデータ/各種音色の波形データ等が記憶される。
音源16は、周知の波形メモリ読み出し方式にて構成される複数の発音チャンネル(MIDIチャンネル)を備え、CPU13から供給されるノートオン/ノートオフイベントに従って楽音波形データWを発生する他、発生した楽音波形データWに効果付与して出力する。サウンドシステム17は、音源16から出力される楽音波形データWをアナログ形式の楽音信号に変換し、当該楽音信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカから放音させる。
これら鍵盤10、操作部11、表示部12、CPU13及び音源16は、直接バス19に接続され、プログラムメモリ14は、メモリコントローラ20を介して、共有メモリ15はメモリコントローラ60、アービタ40を介してバス19に接続される。
また、このバス19には、トラフィックモニタ30及び優先順位設定レジスタ50が接続され、さらにトラフィックモニタ30は、メモリコントローラ60及びアービタ40を介して共有メモリ15にアクセスしてくるCPU13及び音源16のトラフィックを監視する。
クロック発生部18は、基本クロックCKを発生すると共に、当該基本クロックCKをカウントする11ビットのマスタカウンタmcおよび8ビットのサンプリングカウンタscを備える。クロック発生部18では、マスタカウンタmcの上位7ビット出力(10SB(MSB)〜4SB)であるクロックmc[10:4]、下位4ビット出力(3SB〜0SB(LSB))であるクロックmc[3:0]およびサンプリングクロックsc[7:0]を発生する。
ここで、図2を参照して基本クロックCK、クロックmc[10:4]およびクロックmc[3:0]の対応関係について説明する。図2において、クロックmc[10:4]は、音源16において時分割動作する128個(0h〜7Fh)の発音チャンネルにそれぞれ対応するタイムスロットに相当するチャンネル0処理〜チャンネル127処理を形成する。
チャンネル0処理〜チャンネル127処理には、それぞれクロックmc[3:0]の16クロック分×3の区間が割り当てられる。この16クロック分×3の区間の内、16クロック分×1の期間は自チャンネル処理に占有され、残りの16クロック分×2の期間は次チャンネルとのパイプライン処理に割り当てられる。サンプリングクロックsc[7:0]は、クロックmc[10:4]が1周する1サプリング時間経過毎に歩進される。
B.楽音発生装置の構成
(1)全体構成
次に、図3を参照して上記実施形態が備える楽音発生装置の全体構成について説明する。図3は、楽音発生装置の全体構成を示すブロック図である。この図において、図1に図示した各部と共通する構成要素には同一の番号を付し、その説明を省略する。
図3に図示する楽音発生装置は、CPU13、プログラムメモリ14、共有メモリ15、メモリコントローラ20、トラフィクモニタ30、アービタ40、優先順位設定レジスタ50、メモリコントローラ60および音源16(波形発生部160、波形処理部161、ミキサ162およびD/A変換器163)から構成される。なお、図3において、構成要素に付記される「M」はバスマスタを示し、「S」はバススレーブを示す。
メモリコントローラ20は、バスマスタとして動作するCPU13の要求に応じて、プログラムメモリ14からプログラムデータを読み出す。トラフィクモニタ30は、波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30b、CPUトラフィックモニタ30cおよび上限値設定レジスタ30dから構成される。
波形発生部トラフィックモニタ30aは、音源16を構成する波形発生部160(後述する)とアービタ40とのバスのトラフィック(バス負荷)をモニタする。波形発生部トラフィックモニタ30aでは、モニタ中のトラフィック(バス負荷)が、上限値設定レジスタ30dに登録された設定値(上限値)を超えた場合にインタラプト信号を発生してCPU13に供給する。
波形処理部トラフィックモニタ30bは、音源16を構成する波形処理部161(後述する)とアービタ40とのバスのトラフィック(バス負荷)をモニタする。波形処理部トラフィックモニタ30bでは、モニタ中のトラフィック(バス負荷)が、上限値設定レジスタ30dに登録された設定値(上限値)を超えた場合にインタラプト信号を発生してCPU13に供給する。
CPUトラフィックモニタ30cは、CPU13とアービタ40とのバスのトラフィック(バス負荷)をモニタする。CPUトラフィックモニタ30cでは、モニタ中のトラフィック(バス負荷)が、上限値設定レジスタ30dに登録された設定値(上限値)を超えた場合にインタラプト信号を発生してCPU13に供給する。
上限値設定レジスタ30dは、上述した波形発生部160、波形処理部161およびCPU13のバス負荷の上限値を一時記憶する。これら上限値は、CPU13により書き込まれる。上記波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30cの基本的構成については追って述べる。
アービタ40は、共有メモリ15に対してバスマスタと成り得るCPU13、波形発生部160および波形処理部161からのバス要求を、優先順位設定レジスタ50に登録された優先順位に従って調停し、メモリコントローラ60を介して共有メモリ15にアクセスする権限を与える。優先順位設定レジスタ50に登録される優先順位は、CPU13により書き込まれる。共有メモリ15には、前述した通り、CPU13のプログラムデータ/ワークデータや、音源16のプログラムデータ/ワークデータ/各種音色の波形データ等が記憶される。
アービタ40に対してバスマスタとなる波形発生部160は、波形発生パラメータメモリ160aおよび波形発生部160bから構成される。波形発生パラメータメモリ160aには、CPU13から供給されるノートオン/ノートオフイベントや、上記アービタ40およびメモリコントローラ60を介してアクセスする共有メモリ15から読み出す波形データ等が記憶される。波形発生部160bは、波形発生パラメータメモリ160aに記憶されるノートオン/ノトオフイベントおよび波形データに基づいて楽音波形データWを発生する。
アービタ40に対してバスマスタとなる波形処理部161は、波形処理パラメータメモリ161aおよび波形処理部161bから構成される。波形処理パラメータメモリ161aには、CPU13から指示されるエフェクト種や、上記アービタ40およびメモリコントローラ60を介してアクセスする共有メモリ15から読み出すエフェクトパラメータ等が記憶される。波形処理部161bは、波形発生部160が発生した楽音波形データWに対し、波形発生パラメータメモリ160aに記憶されるエフェクト種やエフェクトパラメータに応じた効果音(ディレイやリバーブ、コーラス等)を発生する。
ミキサ162は、波形発生部160から出力される楽音波形データWに、波形処理部161から出力される効果音を混合して出力する。D/A変換器163は、ミキサ162の出力をアナログ形式の楽音出力に変換する。
上記構成において、アービタ40およびメモリコントローラ60を介して共有メモリ15にアクセスする波形発生部160、波形処理部161およびCPU13のトラフィック(バス負荷)を、トラフィクモニタ30の波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30cが各々モニタする。
CPU13は、上記波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30cの各モニタ結果を監視し、共有メモリ15から波形発生部160および波形処理部161にそれぞれ転送されるデータ量が最大転送レートを超えないようバス制御する。具体的には、優先順位設定レジスタ50の優先順位を変更する他、音源16の波形発生部160に対して同時発音する発音チャンネルの数を抑えたり、再生ピッチを抑えるように指示する。
(2)トラフィックモニタ30の構成
次に、図4を参照してトラフィックモニタ30の構成について説明する。図4(a)は、トラフィックモニタ30(波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30b、CPUトラフィックモニタ30c)の構成を示す回路図である。図4(b)は、トラフィックモニタ30が備えるBUSY累算値格納メモリ36の構成を示すメモリマップである。
図4(a)に図示するトラフィックモニタ30は、歩進器31、セレクタ32、レジスタ33、アドレスレジスタ34、アドレス歩進器35およびBUSY累算値格納メモリ36から構成される。歩進器31は、イネーブル端子ENにBUSY信号が供給された場合に、レジスタ33の出力をインクリメント(+1)してBUSY累算値を出力する。なお、BUSY信号は、モニタ中のバスから供給される。
セレクタ32は、クロックmc[9:0]が「0」になる毎、すなわち1/2サンプリング周期毎に「0」入力を選択してBUSY累算値をゼロリセットし、それ以外では歩進器31から入力されるBUSY累算値を次段のレジスタ33に出力する。レジスタ33は、動作クロックCLKに同期してBUSY累算値を歩進器31に帰還入力する一方、後述するアドレスレジスタ34が発生する書き込みアドレスADRに従ってBUSY累算値をBUSY累算値格納メモリ36に書き込む。このように、歩進器31、セレクタ32およびレジスタ33は、1/2サンプリング周期毎にモニタ中のバスのBUSY累算値(BUSY信号の発生回数)を計数する。
アドレスレジスタ34およびアドレス歩進器35は、1/2サンプリング周期毎にインクリメントされる書き込みアドレスADRを発生する。BUSY累算値格納メモリ36は、図4(b)に図示する通り、書き込みアドレスADRが所定値に達した場合に先頭アドレスに戻る巡回メモリとして機能する。
BUSY累算値格納メモリ36では、アドレスレジスタ34が発生する書き込みアドレスADRに従って上記レジスタ33のBUSY累算値が書き込まれる。すなわち、図5に図示するように、1/2サンプリング周期を1つの区間として、1サンプリング周期において前半区間のBUSY累算値および後半区間のBUSY累算値が1/2サンプリング周期毎にインクリメントされる書き込みアドレスADRに従って順次書き込まれる。なお、図5中に記される巡回メモリとは、BUSY累算値格納メモリ36を指す。
CPU13は、こうしたBUSY累算値格納メモリ36の書き込みアドレスADRを参照することで直前区間(1/2サンプリング周期の期間)のBUSY累算値を取得する。このBUSY累算値がバスのトラフィック(バス負荷)を表す指標となる。なお、BUSY累算値を複数の区間(1/2サンプリング周期の期間)にわたってBUSY累算値格納メモリ36に格納する理由は、それら複数の区間のBUSY累算値から平均的なバス負荷を算出したり、バス負荷変化を予測したりする等の判断に用いる為である。
CPU13では、前述した波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30cの各BUSY累算値格納メモリ36から各々読み出す直前区間(1/2サンプリング周期の期間)のBUSY累算値に基づいて共有メモリ15にアクセス要求する各部(波形発生部160、波形処理部161およびCPU13)のバス負荷を最適化する。
ここで、図6を参照して各部(波形発生部160、波形処理部161およびCPU13)のBUSY累算動作の一例に基づき共有メモリ15にアクセスするバスマスター選択動作の一例について説明する。なお、この動作例では、優先順位設定レジスタ50に登録される優先順位を「波形発生部160」>「CPU13」>「波形処理部161」としている。また、図6において、WGは波形発生部160を表し、DSPは波形処理部161を表す。
先ず区間1では、CPU13および波形発生部160(WG)が共に共有メモリ15にアクセスする為のバス要求を発生するが、この場合、CPU13よりも波形発生部160(WG)の優先順位が高い為、波形発生部160(WG)が共有メモリ15のバスマスタに選択される。次に、区間2では、波形発生部160(WG)のバス要求を停止する一方で、CPU13および波形処理部161(DSP)が共に共有メモリ15にアクセスする為のバス要求を発生するが、この場合、波形処理部161(DSP)よりもCPU13の優先順位が高い為、CPU13が共有メモリ15のバスマスタに選択される。
続いて、区間3では、CPU13のみバス要求を停止して、波形処理部161(DSP)のみ共有メモリ15にアクセスする為のバス要求を発生している状態となる。この場合、優先順位の一番低い波形処理部161(DSP)が共有メモリ15のバスマスタに選択される。そして、次の区間4では、波形処理部161(DSP)のみ共有メモリ15にアクセスする為のバス要求を発生している状態のままで、再び波形発生部160(WG)が共有メモリ15にアクセスする為のバス要求を発生する。この場合、波形処理部161(DSP)よりも波形発生部160(WG)の優先順位が高い為、波形発生部160(WG)が共有メモリ15のバスマスタに選択される。
C.動作
次に、図7〜図9を参照して、一実施形態による楽音発生装置の動作を説明する。以下では、CPU13が実行するノートイベント処理、CPU13およびトラフィックモニタ30(波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30c)が協調して実行するバスモニタ処理、CPU13が実行する優先順位変更処理について述べる。
(1)ノートイベント処理の動作
図7は、CPU13が実行するノートイベント処理の動作を示すフローチャートである。ノートイベント処理は、ノートオン/ノートオフイベント発生時あるいは発音中のピッチを制御するピッチベンドイベント発生時に実行される。これら何れかのイベントが発生すると、CPU13は本処理を実行して図7に図示するステップSA1に進む。
ステップSA1では、前述した波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30cが各々備えるBUSY累算値格納メモリ36からそれぞれBUSY累算値を読み出す。各モニタ30a〜30cのBUSY累算値格納メモリ36から読み出すBUSY累算値は、各バスの負荷を示す指標である。
続いて、ステップSA2では、読み出した各バスの負荷(BUSY累算値)に基づき余裕の有無を判断する。具体的には、各バスの負荷(BUSY累算値)が上限値設定レジスタ30dに登録した上限値を超えていないかどうかを判断する。
そして、各バスの負荷(BUSY累算値)が上限値設定レジスタ30dに登録した上限値を超えずに余裕が有る場合には、上記ステップSA2の判断結果は「YES」になり、ステップSA3に進み、処理要求に応じた音源制御、例えば処理要求がノートオンイベントであれば、当該ノートオンイベントを音源16に送付して本処理を終える。なお、音源16(波形発生部160)では受領したノートオンイベントに基づいて楽音波形を発生する。
一方、各バスの負荷(BUSY累算値)の何れかが上限値設定レジスタ30dに登録した上限値を超えた場合には、上記ステップSA2の判断結果が「NO」になり、ステップSA4に進む。ステップSA4では、処理要求に対する音源制御が可能であるか否かを判断する。可能であれば、判断結果は「YES」になり、ステップSA5に進み、例えば同時発音中の複数の発音チャンネルの内、最も減衰が進んだ楽音波形を発生している発音チャンネルを消音して発音数を減らす等の、バス負荷の低減を図る音源制御を実行した後、上述のステップSA1に処理を戻して再び各バスの負荷状態をモニタする。
これに対し、処理要求に対する音源制御が出来ない状況であると、上記ステップSA4の判断結果は「NO」になり、ステップSA6に進み、処理要求を拒否するための処理を実行した後、本処理を終える。
このように、ノートイベント処理では、ノートオン/ノートオフイベントやピッチベンドイベントが発生すると、共有メモリ15にアクセスする各バスの負荷(BUSY累算値)をモニタし、バス負荷に余裕が有れば、要求されたイベントに応じた音源制御を実行するが、バス負荷に余裕が無い場合、すなわち各バスの負荷(BUSY累算値)の何れかが上限値設定レジスタ30dに登録した上限値を超えると、例えば同時発音中の複数の発音チャンネルの内、最も減衰が進んだ楽音波形を発生している発音チャンネルを消音して発音数を減らす等の、バス負荷の低減を図るので、システム全体(楽器全体)を制御する処理能力の低下を回避することが出来る。
(2)バスモニタ処理の動作
図8は、バスモニタ処理の動作を示すフローチャートである。本処理は、CPU13およびトラフィックモニタ30(波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30c)が協調して実行する。
先ず、ステップSB1では、CPU13が各バスの負荷(BUSY累算値)の上限値を、前述した上限値設定レジスタ30d(図3参照)に登録する。この後、ステップSB2〜SB3は、トラフィックモニタ30(波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30c)の動作となる。
ステップSB2では、BUSY累算値格納メモリ36(図4参照)に書き込まれた現在のBUSY累算値と上限値設定レジスタ30dの上限値とを比較し、続くステップSB3では、現在のBUSY累算値が上限値を超えたか否かを判断する。現在のBUSY累算値が上限値設定レジスタ30dの上限値を超えなければ、上記ステップSB3の判断結果は「NO」になり、上記ステップSB2に処理を戻し、BUSY累算値と上限値との比較を継続する。これに対し、現在のBUSY累算値が上限値設定レジスタ30dの上限値を超えると、上記ステップSB3の判断結果が「YES」になり、ステップSB4に進み、インタラプト信号を発生してCPU13に送出した後、上記ステップSB2に処理を戻す。
次に、CPU13は、トラフィックモニタ30からのインタラプト信号を受信してステップSB5を実行する。ステップSB5では、例えば同時発音中の複数の発音チャンネルの内、最も減衰が進んだ楽音波形を発生している発音チャンネルの消音を指示して発音数を減らす等の、バス負荷の低減を図る音源制御を実行して本処理を終える。
このように、CPU13およびトラフィックモニタ30が協調して実行するバスモニタ処理では、各バスの負荷(BUSY累算値)の上限値を、上限値設定レジスタ30d(図3参照)に登録しておき、トラフィックモニタ30が時々刻々変化する各バスのBUSY累算値と上限値とを比較し、BUSY累算値が上限値を超えると、CPU13にインタラプト信号を送出する。CPU13は、このインタラプト信号に応じて、例えば同時発音中の複数の発音チャンネルの内、最も減衰が進んだ楽音波形を発生している発音チャンネルの消音を指示して発音数を減らす等の、バス負荷の低減を図るので、システム全体(楽器全体)を制御する処理能力の低下を回避することが出来る。
(3)優先順位変更処理の動作
図9は、CPU13が実行する優先順位変更処理の動作を示すフローチャートである。本処理は、割り込み処理として所定周期毎に実行される。その実行タイミングになると、CPU13は図9に図示するステップSC1に進み、前述した波形発生部トラフィックモニタ30a、波形処理部トラフィックモニタ30bおよびCPUトラフィックモニタ30cが各々備えるBUSY累算値格納メモリ36からそれぞれBUSY累算値を読み出す。各モニタ30a〜30cのBUSY累算値格納メモリ36から読み出すBUSY累算値は、各バスの負荷を示す指標である。
次いで、ステップSC2では、音源16(波形発生部160)のバス優先順位が下がる場合に、波形発生部160の現在のバス負荷を満たすことが可能であるか否かを判断する。可能であれば、判断結果は「YES」になり、ステップSC4に進み、優先順位設定レジスタ50(図3参照)に登録される優先順位の設定を変更する。
具体的には、波形発生部160の優先順位を下げる一方、CPU13又は波形処理部161の何れかの内、当該波形発生部160よりもバス負荷の大きい側の優先順位を上げる。これにより、アービタ40は、バス負荷の大きいバスマスタを優先的に共有メモリ15にアクセス可能とする。
一方、音源16(波形発生部160)のバス優先順位を下げた場合に、波形発生部160の現在のバス負荷を満たすことが出来なければ、上記ステップSC2の判断結果は「NO」になり、ステップSC3に進む。ステップSC3では、例えば同時発音中の複数の発音チャンネルの内、最も減衰が進んだ楽音波形を発生している発音チャンネルを消音させて発音数を減らす等の、バス負荷を下げる音源制御を実行した後、上述のステップSC1に処理を戻す。
このように、優先順位変更処理では、例えばCPU13の処理負荷増加により共有メモリ15にアクセスする音源16(波形発生部160)のバス優先順位を下げる必要が生じると、当該波形発生部160のバス優先順位を下げて現在のバス負荷を満たすことが出来なければ、例えば同時発音中の複数の発音チャンネルの内、最も減衰が進んだ楽音波形を発生している発音チャンネルを消音させて発音数を減らす等の、バス負荷の低減を図るので、システム全体(楽器全体)を制御する処理能力の低下を回避することが出来る。
D.変形例
次に、図10を参照して上記実施形態の変形例について説明する。図10は、変形例による楽音発生装置の構成を示すブロック図である。この図において、図3に図示した各部と共通する構成要素には同一の番号を付し、その説明を省略する。
図10に図示する変形例が、図3に図示した楽音発生装置と相違する点は、
(a)2系統の共有メモリA15−1および共有メモリB15−2を設け、
(b)上記(a)に対応して共有メモリA系統のトラフィックメモリ30、アービタ40、優先順位設定レジスタ50およびメモリコントローラ60と、共有メモリB系統のトラフィックメモリ31、アービタ41、優先順位設定レジスタ51およびメモリコントローラ61とを備え、
(c)波形発生部160が共有メモリA15−1および共有メモリB15−2の両系統にアクセス可能とし、
(d)さらにCPU13が共有メモリA15−1、波形処理部161が共有メモリB15−2にそれぞれアクセス可能としたことにある。
上記構成によれば、2系統の共有メモリを設けることで各バスの負荷が分散し、これにてBUSY累算値が下がり転送待ちを減少させる為、より一層システム全体(楽器全体)を制御する処理能力の低下を回避することが出来る。
以上説明したように、本実施形態では、共有メモリ15から読み出したデータに基づいて装置各部を制御するCPU13と、このCPU13の制御の下に共有メモリ15から読み出したデータに基づいて楽音を発生する音源16とを備える楽音発生装置において、共有メモリ15にアクセスするCPU13および音源16の各バスの負荷状態をモニタするトラフィックモニタ30を設け、このトラフィックモニタ30によりモニタされる各バスの負荷状態に応じて、CPU13が音源16にバス負荷を下げる制御を指示したり、共有メモリ15にアクセスする音源16の優先順位を変更するので、システム全体(楽器全体)を制御する処理能力の低下を回避することが可能になる。
以上、本発明の実施形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
(付記)
[請求項1]
メモリと、
前記メモリから読み出されるデータに基づいて処理を行う複数の処理部と、
前記メモリと前記複数の処理部とを接続するバスと、
前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するバストラフィックモニタと、
を備えた処理装置。
[請求項2]
前記処理装置はさらに、前記複数の処理部のいずれかひとつの処理部に前記メモリに対するアクセス権が付与されている状態で、当該処理部とは別の処理部から前記メモリに対するアクセス権を要求された場合、予め設定された優先順位に従って、前記メモリに対するアクセス権を前記複数の処理部のいずれかに付与するように前記バスを制御するバスアービタを有する請求項1に記載の処理装置。
[請求項3]
前記バスアービタはさらに、前記複数の処理部夫々の優先順位を設定する優先順位設定レジスタを有する請求項2に記載の処理装置。
[請求項4]
前記優先順位設定レジスタ設定された優先順位は設定可能である請求項3に記載の処理装置。
[請求項5]
前記トラフィックモニタは、前記複数の処理部それぞれのトラフィック上限値を設定する上限値設定レジスタを有する請求項1に記載の処理装置。
[請求項6]
前記複数の処理部は、
前記メモリから読み出されたデータに基づき楽音波形を発生する楽音発生部と、
前記メモリから読み出されたデータに基づき前記発生された楽音波形を処理する波形処理部と、
前記メモリから読み出されたデータに基づき前記楽音発生部及び前記波形処理部を制御するCPUと、
を有する請求項1に記載の処理装置。
[請求項7]
前記バスアービタは、前記楽音発生部、波形処理部及びCPUの順で設定された優先順位に従って、前記メモリに対するアクセス権を付与するように前記バスを制御する請求項2に記載の処理装置。
[請求項8]
前記トラフィックモニタは、前記楽音発生部のトラフィックが予め定められた上限値を越えた場合に、前記CPUに対して、トラフィックを減少させるように前記楽音発生部を制御する制御信号を出力する請求項7に記載の処理装置。
[請求項9]
前記CPUは、前記制御信号の入力に応答して、同時に発音している楽音の数を減らすように前記楽音発生部を制御する請求項8に記載の処理装置。
[請求項10]
メモリと、
前記メモリから読み出されるデータに基づいて夫々処理を行う第一の処理部及び第二の処理部を少なくとも含む複数の処理部と、
前記メモリと前記第一の処理部とを接続するとともに前記メモリと前記第二の処理部とを接続するバスと、
前記第一の処理部及び前記第二の処理部のいずれか一方に前記メモリに対するアクセス権が付与されていた状態で、前記第一の処理部及び前記第二の処理部のいずれか他方から前記メモリに対するアクセス権が要求される場合、予め設定された優先順位に従って、前記メモリに対するアクセス権を前記第一の処理部及び前記第二の処理部のいずれかに付与するように前記バスを制御するバスアービタと、
前記バスに対する前記第一の処理部及び前記第二の処理部のトラフィックをモニタするとともに、前記アクセス権を付与された前記第一の処理部及び前記第二の処理部のいずれかがトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するバストラフィックモニタと、
を備えた処理装置。
[請求項11]
メモリと、前記メモリから読み出されるデータに基づいて処理を行う複数の処理部と、前記メモリと前記複数の処理部とを接続するバスと、を有する処理装置で用いられる処理方法であって、前記処理装置は、
前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力する、処理方法。
[請求項12]
メモリと、前記メモリから読み出されるデータに基づいて夫々処理を行う複数の処理部と、前記メモリと前記複数の処理部夫々とを接続するバスと、を有する処理装置として用いられるコンピュータに、
前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するステップを実行させるプログラム。
[請求項13]
メモリと、
前記メモリから読み出されるデータに基づいて楽音を生成する音源と、
前記メモリから読み出されるデータに基づいて前記音源を制御する制御部と、
前記メモリ、音源及び制御部の夫々を接続するバスと、
前記バスに対する前記音源及び制御部のトラフィックをモニタするとともに、前記メモリに対し最も優先してアクセス権を付与された前記音源及び制御部のいずれか一方のトラフィックが予め定められた上限値を越えた場合に、当該最も優先してアクセス権を付与された前記音源及び制御部のいずれか一方のトラフィックを減少させる信号を出力するバストラフィックモニタと、
を備えた楽音発生装置。
[請求項14]
請求項13に記載の楽音発生装置と、
発生すべき楽音の音高を指定する操作子とを有し、
前記制御部は、前記操作子にて指定された音高の楽音の発生を指示するように前記音源を制御する、電子楽器。
10…鍵盤、11…操作部、12…表示部、13…CPU、14…プログラムメモリ、15…共有メモリ、16…音源、17…サウンドシステム、18…クロック発生部、20…メモリコントローラ、30…トラフィックモニタ、30a…波形発生部トラフィックモニタ、30b…波形処理部トラフィックモニタ、30c…CPUトラフィックモニタ、30d…上限値設定レジスタ、31…歩進器、32…セレクタ、33…レジスタ、34…アドレスレジスタ、35…アドレス歩進器、36…BUSY累算値格納メモリ、40…アービタ、50…優先順位設定レジスタ、60…メモリコントローラ、100…電子楽器

Claims (14)

  1. メモリと、
    前記メモリから読み出されるデータに基づいて処理を行う複数の処理部と、
    前記メモリと前記複数の処理部とを接続するバスと、
    前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するバストラフィックモニタと、
    を備えた処理装置。
  2. 前記処理装置はさらに、前記複数の処理部のいずれかひとつの処理部に前記メモリに対するアクセス権が付与されている状態で、当該処理部とは別の処理部から前記メモリに対するアクセス権を要求された場合、予め設定された優先順位に従って、前記メモリに対するアクセス権を前記複数の処理部のいずれかに付与するように前記バスを制御するバスアービタを有する請求項1に記載の処理装置。
  3. 前記バスアービタはさらに、前記複数の処理部夫々の優先順位を設定する優先順位設定レジスタを有する請求項2に記載の処理装置。
  4. 前記優先順位設定レジスタに設定された優先順位は設定可能である請求項3に記載の処理装置。
  5. 前記トラフィックモニタは、前記複数の処理部それぞれのトラフィック上限値を設定する上限値設定レジスタを有する請求項1に記載の処理装置。
  6. 前記複数の処理部は、
    前記メモリから読み出されたデータに基づき楽音波形を発生する楽音発生部と、
    前記メモリから読み出されたデータに基づき前記発生された楽音波形を処理する波形処理部と、
    前記メモリから読み出されたデータに基づき前記楽音発生部及び前記波形処理部を制御するCPUと、
    を有する請求項1に記載の処理装置。
  7. 前記バスアービタは、前記楽音発生部、波形処理部及びCPUの順で設定された優先順位に従って、前記メモリに対するアクセス権を付与するように前記バスを制御する請求項2に記載の処理装置。
  8. 前記トラフィックモニタは、前記楽音発生部のトラフィックが予め定められた上限値を越えた場合に、前記CPUに対して、トラフィックを減少させるように前記楽音発生部を制御する制御信号を出力する請求項7に記載の処理装置。
  9. 前記CPUは、前記制御信号の入力に応答して、同時に発音している楽音の数を減らすように前記楽音発生部を制御する請求項8に記載の処理装置。
  10. メモリと、
    前記メモリから読み出されるデータに基づいて夫々処理を行う第一の処理部及び第二の処理部を少なくとも含む複数の処理部と、
    前記メモリと前記第一の処理部とを接続するとともに前記メモリと前記第二の処理部とを接続するバスと、
    前記第一の処理部及び前記第二の処理部のいずれか一方に前記メモリに対するアクセス権が付与されていた状態で、前記第一の処理部及び前記第二の処理部のいずれか他方から前記メモリに対するアクセス権が要求される場合、予め設定された優先順位に従って、前記メモリに対するアクセス権を前記第一の処理部及び前記第二の処理部のいずれかに付与するように前記バスを制御するバスアービタと、
    前記バスに対する前記第一の処理部及び前記第二の処理部のトラフィックをモニタするとともに、前記アクセス権を付与された前記第一の処理部及び前記第二の処理部のいずれかがトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するバストラフィックモニタと、
    を備えた処理装置。
  11. メモリと、前記メモリから読み出されるデータに基づいて処理を行う複数の処理部と、
    前記メモリと前記複数の処理部とを接続するバスと、を有する処理装置で用いられる処理方法であって、前記処理装置は、
    前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力する、処理方法。
  12. メモリと、前記メモリから読み出されるデータに基づいて夫々処理を行う複数の処理部と、前記メモリと前記複数の処理部夫々とを接続するバスと、を有する処理装置として用いられるコンピュータに、
    前記バスに対する前記複数の処理部のトラフィックをモニタするとともに、前記複数の処理部のうち前記メモリに対し最も優先してアクセス権を付与された処理部のトラフィックが予め定められた上限値を越えた場合に、当該処理部のトラフィックを減少させる信号を出力するステップを実行させるプログラム。
  13. メモリと、
    前記メモリから読み出されるデータに基づいて楽音を生成する音源と、
    前記メモリから読み出されるデータに基づいて前記音源を制御する制御部と、
    前記メモリ、音源及び制御部の夫々を接続するバスと、
    前記バスに対する前記音源及び制御部のトラフィックをモニタするとともに、前記メモリに対し最も優先してアクセス権を付与された前記音源及び制御部のいずれか一方のトラフィックが予め定められた上限値を越えた場合に、当該最も優先してアクセス権を付与された前記音源及び制御部のいずれか一方のトラフィックを減少させる信号を出力するバストラフィックモニタと、
    を備えた楽音発生装置。
  14. 請求項13に記載の楽音発生装置と、
    発生すべき楽音の音高を指定する操作子とを有し、
    前記制御部は、前記操作子にて指定された音高の楽音の発生を指示するように前記音源を制御する、電子楽器。
JP2014226577A 2014-11-07 2014-11-07 楽音発生装置、処理方法、プログラムおよび電子楽器 Active JP6447024B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014226577A JP6447024B2 (ja) 2014-11-07 2014-11-07 楽音発生装置、処理方法、プログラムおよび電子楽器
CN201510598358.3A CN105590620B (zh) 2014-11-07 2015-09-18 处理装置、处理方法以及电子乐器
US14/872,882 US10127164B2 (en) 2014-11-07 2015-10-01 Processing device, processing method, storage medium, and electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014226577A JP6447024B2 (ja) 2014-11-07 2014-11-07 楽音発生装置、処理方法、プログラムおよび電子楽器

Publications (3)

Publication Number Publication Date
JP2016090869A true JP2016090869A (ja) 2016-05-23
JP2016090869A5 JP2016090869A5 (ja) 2017-12-21
JP6447024B2 JP6447024B2 (ja) 2019-01-09

Family

ID=55912321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014226577A Active JP6447024B2 (ja) 2014-11-07 2014-11-07 楽音発生装置、処理方法、プログラムおよび電子楽器

Country Status (3)

Country Link
US (1) US10127164B2 (ja)
JP (1) JP6447024B2 (ja)
CN (1) CN105590620B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101359A (ja) * 2016-12-21 2018-06-28 富士通株式会社 情報処理装置、pld管理プログラム及びpld管理方法
JP2018120490A (ja) * 2017-01-26 2018-08-02 キヤノン株式会社 メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
JP2019168645A (ja) * 2018-03-26 2019-10-03 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6388048B1 (ja) * 2017-03-23 2018-09-12 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6443772B2 (ja) * 2017-03-23 2018-12-26 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271376A (ja) * 1994-03-31 1995-10-20 Yamaha Corp 音源装置
JPH0830549A (ja) * 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置
JPH10177388A (ja) * 1996-12-18 1998-06-30 Yamaha Corp サウンドメモリアクセス制御装置
US6223244B1 (en) * 1998-12-10 2001-04-24 International Business Machines Corporation Method for assuring device access to a bus having a fixed priority arbitration scheme
JP2005158035A (ja) * 2003-11-05 2005-06-16 Matsushita Electric Ind Co Ltd 調停回路及びこれに備える機能処理回路
JP2008501157A (ja) * 2004-06-01 2008-01-17 新世代株式会社 データ処理装置及びバス調停装置
JP2011085989A (ja) * 2009-10-13 2011-04-28 Renesas Electronics Corp メモリ調停回路及びメモリ調停方法
JP2013161242A (ja) * 2012-02-03 2013-08-19 Toyota Motor Corp 電子制御装置
JP2014016378A (ja) * 2012-07-05 2014-01-30 Casio Comput Co Ltd 楽音発生装置、楽音発生方法及びプログラム
US20140189189A1 (en) * 2012-12-28 2014-07-03 Asmedia Technology Inc. Computer arbitration system, bandwidth, allocation apparatus, and method thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970002384B1 (ko) * 1994-10-26 1997-03-03 엘지전자 주식회사 휴대형 단말기의 사운드 발생 및 디스플레이 제어장치
US6444890B2 (en) * 1999-12-17 2002-09-03 Yamaha Corporation Musical tone-generating apparatus and method and storage medium
JP3785934B2 (ja) * 2001-03-05 2006-06-14 ヤマハ株式会社 自動伴奏装置、方法、プログラム及び媒体
JP4321418B2 (ja) * 2004-09-22 2009-08-26 ヤマハ株式会社 電子音楽装置及びプログラム
JP2008191473A (ja) * 2007-02-06 2008-08-21 Sanyo Electric Co Ltd 音データ処理装置
US8183452B2 (en) * 2010-03-23 2012-05-22 Yamaha Corporation Tone generation apparatus
JP5552918B2 (ja) * 2010-06-24 2014-07-16 ソニー株式会社 接続設定方法、カメラシステム及び記憶媒体
JP5614420B2 (ja) * 2012-03-09 2014-10-29 カシオ計算機株式会社 楽音発生装置、電子楽器、プログラム及び楽音発生方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271376A (ja) * 1994-03-31 1995-10-20 Yamaha Corp 音源装置
JPH0830549A (ja) * 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置
JPH10177388A (ja) * 1996-12-18 1998-06-30 Yamaha Corp サウンドメモリアクセス制御装置
US6223244B1 (en) * 1998-12-10 2001-04-24 International Business Machines Corporation Method for assuring device access to a bus having a fixed priority arbitration scheme
JP2005158035A (ja) * 2003-11-05 2005-06-16 Matsushita Electric Ind Co Ltd 調停回路及びこれに備える機能処理回路
JP2008501157A (ja) * 2004-06-01 2008-01-17 新世代株式会社 データ処理装置及びバス調停装置
JP2011085989A (ja) * 2009-10-13 2011-04-28 Renesas Electronics Corp メモリ調停回路及びメモリ調停方法
JP2013161242A (ja) * 2012-02-03 2013-08-19 Toyota Motor Corp 電子制御装置
JP2014016378A (ja) * 2012-07-05 2014-01-30 Casio Comput Co Ltd 楽音発生装置、楽音発生方法及びプログラム
US20140189189A1 (en) * 2012-12-28 2014-07-03 Asmedia Technology Inc. Computer arbitration system, bandwidth, allocation apparatus, and method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101359A (ja) * 2016-12-21 2018-06-28 富士通株式会社 情報処理装置、pld管理プログラム及びpld管理方法
JP2018120490A (ja) * 2017-01-26 2018-08-02 キヤノン株式会社 メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
JP2019168645A (ja) * 2018-03-26 2019-10-03 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP7159583B2 (ja) 2018-03-26 2022-10-25 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器

Also Published As

Publication number Publication date
CN105590620B (zh) 2019-12-17
CN105590620A (zh) 2016-05-18
JP6447024B2 (ja) 2019-01-09
US20160132438A1 (en) 2016-05-12
US10127164B2 (en) 2018-11-13

Similar Documents

Publication Publication Date Title
JP6447024B2 (ja) 楽音発生装置、処理方法、プログラムおよび電子楽器
JP5614420B2 (ja) 楽音発生装置、電子楽器、プログラム及び楽音発生方法
JP5915420B2 (ja) 楽音発生装置、楽音発生方法、電子楽器及びプログラム
JP4513625B2 (ja) 楽音発生装置および楽音発生処理のプログラム
JP4438766B2 (ja) 楽音発生装置、及びプログラム
JP2009175677A (ja) 共鳴音付加装置および電子楽器
JP5057280B2 (ja) ディジタル信号処理用集積回路
JP7131668B2 (ja) 楽音発生装置、電子楽器、楽音発生方法、及びプログラム
JP2762926B2 (ja) 楽音生成装置
WO2017195292A1 (ja) 楽曲構造解析装置、楽曲構造解析方法および楽曲構造解析プログラム
US5804754A (en) Wave table sound source capable of processing external waveform
JP2017090501A (ja) 音楽機器及びプログラム
JP4353225B2 (ja) 楽音形成装置
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JP3721789B2 (ja) ミキシング装置
JP7159583B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP2018159734A (ja) 音色制御装置、音色制御方法、プログラムおよび電子楽器
JP5104522B2 (ja) 波形発生装置および波形発生処理プログラム
JP2004361528A (ja) 楽音信号発生装置及びレガート処理プログラム
JPH06259249A (ja) 信号処理装置
JP3707908B2 (ja) 電子楽器の効果付加装置
WO2017168694A1 (ja) 楽曲構造解析装置、楽曲構造解析方法および楽曲構造解析プログラム
JP2017181686A (ja) 電子楽器、及び電子楽器用アンプ制御回路
JP2020154217A (ja) 電子楽器、電子楽器の制御方法及びプログラム
JP2939098B2 (ja) 電子楽器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6447024

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150