JPH11202866A - 楽音発生方法および楽音発生装置 - Google Patents

楽音発生方法および楽音発生装置

Info

Publication number
JPH11202866A
JPH11202866A JP10011956A JP1195698A JPH11202866A JP H11202866 A JPH11202866 A JP H11202866A JP 10011956 A JP10011956 A JP 10011956A JP 1195698 A JP1195698 A JP 1195698A JP H11202866 A JPH11202866 A JP H11202866A
Authority
JP
Japan
Prior art keywords
memory
program
read
waveform
sound source
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
JP10011956A
Other languages
English (en)
Other versions
JP3152198B2 (ja
Inventor
Tetsuji Ichiki
哲二 市来
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP01195698A priority Critical patent/JP3152198B2/ja
Publication of JPH11202866A publication Critical patent/JPH11202866A/ja
Application granted granted Critical
Publication of JP3152198B2 publication Critical patent/JP3152198B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】CPUのパフォーマンスを向上させる。 【解決手段】高速なDW−RAM3の容量に余裕がある
場合に、低速なWP−ROM3に記憶されているCPU
11が実行するプログラムをDW−RAM3にコピーす
る。例えば、メインルーチンと音源ドライバ処理のプロ
グラムをDW−RAM3にコピーすれば、当該プログラ
ムの実行時にDW−RAM3から読み出して高速に実行
することができ、CPU11のパフォーマンスを向上す
ることができる。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、メモリに記憶され
ている波形サンプルデータを読み出すことにより楽音を
生成する波形メモリ音源を有する楽音発生方法および装
置に関する。
【0002】
【従来の技術】従来の波形メモリ音源を有する楽音発生
装置においては、演奏情報が入力された際に演算処理手
段(CPU)においてプログラムメモリから、例えば音
源ドライバ処理プログラムが読み出されて実行される。
これにより音源パラメータ情報が送出され、このパラメ
ータ情報は音源レジスタに格納される。波形メモリ音源
部においては、音源レジスタに格納されたパラメータ情
報に基づいて楽音データを生成する楽音生成処理が実行
される。すなわち、波形サンプルデータが格納された波
形メモリから波形サンプルデータが読み出され、読み出
された波形サンプルデータにエンベロープを付加し、さ
らにエフェクトを付与することにより楽音データが生成
される。
【0003】
【発明が解決しようとする課題】ここで、CPUが実行
する音源ドライバ処理プログラム等のプログラムと、波
形メモリ音源が読み出す波形サンプルデータとが読み出
し専用メモリ(Read Only Memory:ROM)に記憶され
ている場合がある。これは、ROMをまとめることがで
きれば、全体として回路を小型化することができると共
に、コスト的にも有利であるからである。すると、RO
Mのアクセスタイムは、一般にRAM(Random Access
Memory)のアクセスタイムに比較して長いので、CPU
がROMに格納されたプログラムを読み出して実行する
ようにすると、CPUのパフォーマンスが低下するとい
う問題点があった。また、CPUと波形メモリ音源部と
はメモリバス上でプログラムと波形サンプルデータとが
記憶されたROMを共有することになる。このため、波
形メモリ音源部とCPUとでメモリアクセスの競合が生
じた際には、例えばCPUにウェイトが挿入されてCP
Uのパフォーマンスが低下するようになるという問題点
があった。このように、CPUにウェイトがかかりレス
ポンスが遅くなることは、特に演奏操作に対するリアル
タイム性や楽曲の進行に対する正確さが要求される楽音
発生装置や電子楽器等にとっては重大な問題である。
【0004】そこで、本発明は高速メモリの容量に余裕
があるときにプログラムを低速のROMから読み出して
高速なメモリに格納することにより、CPUのパフォー
マンスの低下を防止するようにした楽音発生方法および
装置を提供することを目的としている。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、本発明の楽音発生方法は、メモリバス上で共有され
る読み出し専用メモリに、演算処理部が読み出して実行
する複数のプログラムと、波形メモリ音源部が読み出し
て楽音波形を生成する波形サンプルデータとが記憶され
ており、前記演算処理部が前記プログラムを実行する際
に使用するワークエリア領域が設定される高速のメモリ
の容量を検出し、検出された前記高速のメモリ容量に応
じた数の前記プログラムを前記読み出し専用メモリから
前記高速のメモリにコピーし、当該プログラムを実行す
る際には、前記演算処理部が高速のメモリにコピーされ
たプログラムを読み出して実行するようにしている。
【0006】また、上記目的を達成することのできる本
発明の楽音発生装置は、演算処理部と、楽音データを生
成する波形メモリ音源部と、前記演算処理部が実行可能
な複数のプログラムと、楽音波形生成時に前記波形メモ
リ音源部が読み出す波形サンプルデータが記憶されてい
る前記演算処理部と前記波形メモリ音源部とによりメモ
リバス上で共有される読み出し専用メモリとを備え、起
動時に前記演算処理部用のワークエリアが設定される高
速のメモリの容量を検出し、検出された前記高速のメモ
リ容量に応じた数の前記プログラムを前記読み出し専用
メモリから前記高速のメモリにコピーする処理を実行
し、当該プログラムを実行する際には、前記演算処理部
が前記高速のメモリにコピーされたプログラムを読み出
して実行するようにしている。
【0007】このような本発明によれば、高速メモリの
容量に余裕があるときに低速のメモリから高速のメモリ
にプログラムをコピーするようにしたので、このプログ
ラムをCPUが実行する際には高速のメモリから読み出
して実行することができる。したがって、プログラムの
実行を高速に行えCPUのパフォーマンスを向上するこ
とができる。この際に、CPUは高速のメモリをアクセ
スし、音源部は波形サンプルデータが格納されているR
OMをアクセスするようになるため、CPUと音源部と
でメモリアクセスの競合が生じないようになる。したが
って、CPUのパフォーマンスの低下を防止することが
できCPUはより高速に演算処理することができるよう
になる。
【0008】
【発明の実施の形態】本発明の楽音発生方法が実行され
る本発明の楽音発生装置の実施の形態の構成例を示すブ
ロック図を図1に示す。図1において、1は演算処理装
置(Central Processing Unit:CPU)11や波形メ
モリ音源部と、その周辺回路が1チップ上に形成されて
いる音源LSIであり、2は音源LSI1によりアクセ
スされる波形サンプルデータとプログラムとが格納され
ているWAVE&PROGRAM ROMである。ま
た、3は波形メモリ音源部において楽音にエフェクトを
付与するエフェクト処理を行う際の遅延手段として使用
されると共に、CPU11が使用するワークエリアが設
定されるDELAY&WORK RAMであり、アクセ
スタイムの高速なダイナミックRAM(DRAM)によ
り構成するのが好適である。さらに、4はマイクロフォ
ン等のアナログ波形入力手段、5はアナログ波形入力手
段から入力されたアナログ信号をディジタル信号に変換
して音源LSI1に入力するADC(Analog Digital C
onverter)である。
【0009】さらに、6は音源LSI1から出力される
ディジタル楽音データをアナログ楽音信号に変換するD
AC(Digital Analog Converter)であり、7はDAC
6により変換されたアナログ楽音信号を増幅して発音す
るサウンドシステムである。さらに、8は外部MIDI
機器からMIDI信号が入出力されるMIDI端子、9
はユーザが演奏操作を行う複数の鍵を備えた鍵盤、10
はパラレル入出力ポート15に接続される各種情報が表
示されるパネル表示器やユーザが操作することにより楽
音発生装置の各種の指示を与えるパネル操作子、あるい
は、CPU11に代わることのできる外部CPUであ
る。
【0010】さらにまた、11は楽音発生装置の全体の
動作を制御するCPU、12は楽音発生装置の動作時の
経過時間を示したり、特定の間隔でタイマ割込を発生す
る自動演奏や自動伴奏の時間管理やエンベロープ制御お
よび効果制御等を行うタイマ、13は外部MIDI機器
からMIDI端子8を介して入力されるMIDIメッセ
ージを音源LSI1内に取り込んだり、音源LSI1内
で生成されたMIDIメッセージをMIDI端子8を介
して外部MIDI機器へ出力するためのMIDIインタ
ーフェース、14は鍵盤9のノートオンやノートオフの
押鍵情報やアフタタッチデータが直列データとして受信
されるシリアル入出力(シリアルI/O)ポート、15
はパネル表示器を制御するデータが出力され、パネル操
作子の操作データが受信され、さらに外部CPUとのデ
ータをやりとりするパラレル入出力(パラレルI/O)
ポートである。16はCPU11と読出回路21からの
WAVE&PROGRAM ROM2(以下、WP−R
OM2という)に対するアクセスの管理を行うアクセス
管理部A、17はCPU11とミキサ付DSP23から
のDELAY&WORK RAM3(以下、DW−RA
M3という)に対するアクセスの管理を行うアクセス管
理部Bであり、アクセス管理部A16およびアクセス管
理部B17は読出回路21およびミキサ付DSP23か
らのアクセスを優先するセレクタとして動作する。さら
にまた、18は各部を接続するバスラインである。
【0011】20は波形メモリ音源部において各発音チ
ャンネルで生成される楽音を制御する楽音制御データ、
ミキサ付DSP23を制御するためのミキサ制御データ
およびDSP制御データが格納される音源レジスタ、2
1は音源レジスタ20に格納されている周波数ナンバパ
ラメータや音色パラメータに基づいて複数の発音チャン
ネル(例えば、32チャンネル)のチャンネル毎の読み
出しアドレスを生成し、読み出しアドレスに基づいて補
間処理に必要な数の各発音チャンネルの波形サンプルデ
ータをWP−ROM2から読み出し、読み出された各発
音チャンネルの波形サンプルデータの補間処理を行う読
出回路である。22は読出回路21から出力された各発
音チャンネルの波形サンプルデータに音源レジスタ内の
当該チャンネルのエンベロープパラメータに基づく音量
エンベロープ等を付与するEG付与部であり、23は各
発音チャンネルの波形サンプルデータおよびアナログ波
形入力部4からの波形データを音源レジスタ20内のミ
キサ制御データに基づいて複数通りにミキシングし、そ
の一部のミキシング出力に音源レジスタ20内のDSP
制御データに基づいてコーラス、リバーブ、バリエーシ
ョン等のエフェクト処理を付与して、サンプリング周期
毎の楽音データとして出力するミキサ付DSP(Digita
l Signal Processor)である。なお、波形メモリ音源部
は音源レジスタ20,読み出し回路21,EG付与部2
2,ミキサ付DSP23により構成される。
【0012】このように構成されている本発明の楽音発
生装置の動作を説明する。鍵盤9からシリアルI/Oポ
ート14を介して押鍵情報が取り込まれたり、MIDI
イベントの発音タイミングとなった際に、CPU11は
音源ドライバ処理を実行し、音源レジスタ20に音源パ
ラメータを送出する。この際にノートオンイベントが入
力された場合は、CPU11はノートオンイベントに基
づいた新たな楽音を生成できるように、まず、チャンネ
ル割り当てを行い、ノートナンバ、音色情報(波形アド
レス)、ベロシティ(エンベロープパラメータ)、変調
パラメータ等の音源パラメータが音源レジスタ20の割
り当てたチャンネル位置にセットされる。また、ノート
オフイベントが入力された場合は、当該ノートオフイベ
ントに基づいた発音停止を行えるエンベロープパラメー
タ等を音源レジスタ20にセットする。なお、これらの
指示はCPU11がWP−ROM2に記憶されている音
源ドライバ処理プログラムを実行することにより行われ
る。
【0013】波形メモリ音源部では所定タイミング毎に
楽音生成処理が実行される。この楽音生成処理では、ア
ドレス読出回路21が1サンプリング周期を等分した時
分割チャンネルタイミングに従って音源レジスタ20に
セットされている各チャンネルのノートナンバに応じた
周波数情報の累算値および波形アドレスに基づいてWP
−ROM2に対する読み出しアドレスを作成する。次い
で、作成された読み出しアドレスの整数部に従って、前
記時分割チャンネルタイミングとは異なるタイミングで
WP−ROM2にアクセスすることにより、各チャンネ
ルに必要な波形サンプルデータが1サンプリング周期毎
に読み出されバッファに格納される。この場合、作成さ
れた読み出しアドレスの小数部に従って波形サンプルデ
ータを内挿補間して算出するために必要な数の波形サン
プルデータがバッファに用意される。そして、バッファ
に用意されている各チャンネルの波形サンプルデータか
ら、作成された読み出しアドレスの小数部に従って内挿
補間された波形サンプルデータが算出される。なお、補
間処理は前記時分割チャンネルタイミングでチャンネル
毎に行われる。
【0014】ここで、前記バッファは各チャンネルに対
応して独立に設けられており、各チャンネルについて、
あるサンプリング周期で読み出されたデータが次のサン
プリング周期でも使用できるため、各サンプリング周期
毎には、WP−ROM2を前記読み出しアドレスが進ん
だ数と同じ回数だけアクセスして、その数の波形サンプ
ルデータを読み出して前記バッファに供給する。従っ
て、前記周波数情報が大きいチャンネルでは各サンプリ
ング周期毎のアクセス回数が多くなり、小さいチャンネ
ルでは各サンプリング周期毎のアクセス回数が少なくな
る。
【0015】なお、バッファに読み出しアドレスの小数
部に従って波形サンプルデータを内挿補間して算出する
ために必要な数の波形サンプルデータを用意するため
に、各チャンネルにおいてWP−ROM2から新たに読
み出す波形サンプルデータ数、すなわち、読出回路21
において1サンプリング周期においてWP−ROM2に
アクセスするアクセス回数が各チャンネル毎に算出され
る。この各チャンネル毎に必要なアクセス回数が全チャ
ンネル分累算されて、1サンプリング周期においてWP
−ROM2にアクセスする全アクセス回数が算出され
る。この全アクセス回数が多い場合には波形読み出し処
理の優先度が高くされているため、CPU11によるW
P−ROM2へのアクセス時にウェイトサイクルが挿入
される場合があり、CPU11のパフォーマンスが低下
するおそれが生じる。そこで、これを防止するために1
サンプリング周期における読出回路21によるWP−R
OM2への全アクセス回数に上限を設定し、上限のアク
セス回数を算出した全アクセス回数が超える場合には、
補間処理の態様を内挿補間から外挿補間に変更すること
により全アクセス回数を減少させる処理が読出回路21
において実行される。
【0016】読み出し回路21から出力された補間処理
後の各チャンネルの波形サンプルデータは、EG付与部
22において音源レジスタ20にセットされている当該
チャンネルの音量情報および音色情報に応じたエンベロ
ープが付与される。さらにエンベロープが付与された各
チャンネルの波形サンプルデータには、アナログ波形入
力部4から入力されるADC5によりディジタル化され
た音声データ等が、ミキサ付DSP23においてミキシ
ングされる。この際、音源レジスタ20内のミキサ制御
データに基づいて複数通りにミキシングされ、そのミキ
シング出力の一部に、音源レジスタ内のDSP制御デー
タに基づいてコーラス、リバーブ、バリエーション等の
エフェクト処理が施されることにより、サンプリング周
期毎の楽音データが生成される。このミキサ付DSP2
3において、エフェクト処理時に楽音データの遅延が必
要な場合は、DW−RAM3に楽音データを書き込み所
定時間後に読み出すことによりDW−RAM3を遅延手
段として使用している。そして、ミキサ付DSP23か
ら1サンプリング周期毎に出力される楽音データはDA
C6においてアナログ楽音信号に変換され、DAC6に
より変換されたアナログ楽音信号はサウンドシステム7
において増幅されて発音される。
【0017】また、MIDIインターフェース13を介
して外部MIDI機器からMIDIメッセージが入力さ
れた場合は、それに応じて音源ドライバ処理が実行され
ることにより、音源レジスタ20に音源パラメータがセ
ットされ、上述した鍵盤9からの演奏情報による楽音生
成と同様に、MIDIメッセージに基づく楽音が波形メ
モリ音源部により生成されてサウンドシステム7から発
音されるようになる。さらにまた、パラレルI/Oポー
ト15からはパネル表示器に表示される画像データが出
力されると共に、パネルスイッチをスキャンしてその操
作信号を取り込むスキャン信号が出力される。なお、パ
ラレルI/Oポート15を外部CPUに接続することが
可能であり、その場合には内部CPU11の動作が停止
されると共に、音源LSI1の各ブロックはパラレルI
/O15を通じて外部CPUにより制御される。
【0018】ところで、WP−ROM2に記憶されてい
るプログラムには、起動要因に応じたプログラムを呼び
出してその処理を実行するメインルーチンプログラム
(MAIN)、演奏イベントの発生時にメインルーチン
プログラムから呼び出され、MIDI等の該演奏イベン
トに応じた音源パラメータを音源レジスタ20に供給す
るルーチンである音源ドライバ処理プログラム(TG_
DRV)、自動演奏を制御する操作イベントやタイマ割
り込みイベントが発生したときにメインルーチンプログ
ラムから呼び出され、自動演奏の設定を変化させたり曲
データの時刻に対応した演奏イベントを発生したりする
ルーチンであるソング処理プログラム(SG_PL
Y)、自動伴奏を制御する操作イベントやタイマ割り込
みイベントが発生したときにメインルーチンプログラム
から呼び出され、自動伴奏の設定を変更させたり伴奏パ
ターンデータの時刻に対応した演奏イベントを発生した
りするルーチンであるスタイル処理プログラム(SL_
PLY)、パネルスイッチの操作イベント発生時にメイ
ンルーチンプログラムから呼び出され、音色データのエ
ディットや装置全体の設定処理を行うルーチンであるそ
の他処理プログラム(OTHER)がある。このうちで
最も重い処理は音源ドライバ処理であり、音源ドライバ
処理プログラムをアクセスタイムの遅いWP−ROM2
から読み出して実行すると、音源ドライバ処理プログラ
ムの実行に多くの時間が費やされ、CPU11のパフォ
ーマンスを低下させるようになる。
【0019】そこで、アクセスタイムが高速とされたD
W−RAM3の空き容量がある場合に、WP−ROM2
から音源ドライバ処理プログラムを優先的に読み出して
DW−RAM3へコピーするようにすれば、音源ドライ
バ処理プログラムをアクセスタイムの高速なDW−RA
M3から読み出して実行することができる。この場合、
音源ドライバ処理プログラムの実行を高速に行え、CP
U11のパフォーマンスを向上することができるように
なる。さらに、DW−RAM3の空き容量に応じて、音
源ドライバ処理プログラムだけでなく他のプログラムも
WP−ROM2からを読み出してDW−RAM3へコピ
ーするようにすれば、CPU11のパフォーマンスをよ
り向上することができるようになる。なお、メインルー
チンプログラムがまず高速に動作しないことには、その
他のルーチンがいくら速く動作できても全体としての動
作の高速化はできないので、メインルーチンプログラム
が最優先のプログラムとなる。
【0020】本発明の楽音発生装置は、このようにDW
−RAM3の空き容量に応じて、メインルーチンプログ
ラム、音源ドライバ処理プログラムや他のプログラムを
WP−ROM2からを読み出してDW−RAM3へコピ
ーする起動ルーチンを有し、この起動ルーチンを楽音発
生装置の立ち上げ時に実行することにより、CPU11
のパフォーマンスを向上するようにしている。なお、W
P−ROM2に記憶されている各種プログラムはリロケ
ータブルなプログラムとされてどの場所に格納されいて
も実行することができるようにされている。そこで、D
W−RAM3の空き容量に応じて、メインルーチンプロ
グラム、音源ドライバ処理プログラムや他のプログラム
をWP−ROM2からを読み出してDW−RAM3へコ
ピーする態様の一例を、図2に示すメモリマップを参照
しながら以下に説明する。
【0021】図2(a)はWP−ROM2のメモリマッ
プを示しており、複数の音色毎の波形サンプルデータ
(WAVE)を格納する領域と、メインルーチンプログ
ラム(MAIN)、音源ドライバ処理プログラム(TG
_DRV)、ソング処理プログラム(SG_PLY)、
スタイル処理プログラム(SL_PLY)、その他処理
プログラム(OTHER)からなるプログラムを格納す
る領域とが設定されている。また、図2(b)はDW−
RAM3を構成しているDRAMが増設されずDW−R
OM3のメモリ容量が非常に小さい場合の状態が示され
ており、この場合は遅延手段として使用されるDELA
Y領域と、CPU11の小さなワークエリア(WOR
K)領域が設定される。そして、図2(c)(d)
(e)(f)はDW−RAM3のメモリマップを示して
おり、次第にDW−RAM3を構成しているDRAMが
増設されてメモリ容量が増加している態様が示されてい
る。
【0022】ここで、DW−RAM3を構成しているD
RAMが増設されて図2(c)に示す小さいメモリ容量
に増加された場合は、遅延手段として使用されるDEL
AY領域と、CPU11の多少大きくされたワークエリ
ア(WORK)領域と、コピーされた最優先のメインル
ーチンプログラム(MAIN)を格納する領域が設定さ
れる。すなわち、図2(c)に示すメモリ容量とされた
場合は、メインルーチンプログラム(MAIN)だけが
DW−RAM3へコピーされる。さらに、DW−RAM
3を構成しているDRAMがより増設されて図2(d)
に示すメモリ容量に増加された場合は、遅延手段として
使用されるDELAY領域と、CPU11のより大きく
されたワークエリア(WORK)領域と、コピーされた
メインルーチンプログラム(MAIN)と音源ドライバ
処理プログラム(TG_DRV)を格納する領域が設定
される。すなわち、図2(d)に示すメモリ容量とされ
た場合は、メインルーチンプログラム(MAIN)と音
源ドライバ処理プログラム(TG_DRV)がDW−R
AM3へコピーされる。
【0023】さらにまた、DW−RAM3を構成してい
るDRAMがさらに増設されて図2(e)に示すメモリ
容量に増加された場合は、遅延手段として使用されるD
ELAY領域と、CPU11のさらに大きくされたワー
クエリア(WORK)領域と、コピーされたメインルー
チンプログラム(MAIN)と音源ドライバ処理プログ
ラム(TG_DRV)とソング処理プログラム(SG_
PLY)を格納する領域が設定される。すなわち、図2
(d)に示すメモリ容量とされた場合は、メインルーチ
ンプログラム(MAIN)と音源ドライバ処理プログラ
ム(TG_DRV)とソング処理プログラム(SG_P
LY)がDW−RAM3へコピーされる。さらにまた、
DW−RAM3を構成しているDRAMが非常に多く増
設されて図2(f)に示すメモリ容量に増加された場合
は、遅延手段として使用されるDELAY領域と、CP
U11の非常に大きくされたワークエリア(WORK)
領域と、コピーされたメインルーチンプログラム(MA
IN)と音源ドライバ処理プログラム(TG_DRV)
とソング処理プログラム(SG_PLY)とスタイル処
理プログラム(SL_PLY)を格納する領域が設定さ
れる。すなわち、図2(d)に示すメモリ容量とされた
場合は、メインルーチンプログラム(MAIN)と音源
ドライバ処理プログラム(TG_DRV)とソング処理
プログラム(SG_PLY)とスタイル処理プログラム
(SL_PLY)がDW−RAM3へコピーされる。
【0024】なお、図2(b)ないし図2(f)に示す
ようにWP−ROM2からDW−RAM3へプログラム
をコピーした場合に、コピーしたプログラムをDW−R
AM3から読み出して実行できるように、コピーしたプ
ログラムが格納されている領域の先頭アドレスを示すポ
インタ情報を、図3に示す制御情報テーブルの該当する
プログラムのポインタ情報として書き込むようにしてい
る。制御情報テーブルには図3に示すように、音源ドラ
イバ処理プログラム(TG_DRV)が格納されている
領域の先頭アドレスを示すTG_DRVポインタ情報、
ソング処理プログラム(SG_PLY)格納されている
領域の先頭アドレスを示すSG_PLYポインタ情報、
スタイル処理プログラム(SL_PLY)格納されてい
る領域の先頭アドレスを示すSL_PLYポインタ情
報、プログラムを実行する際に必要とされるその他のポ
インタのポインタ情報、CPU11用のワークエリアが
設定されている領域の先頭アドレスを示すWORK領域
情報、エフェクト用の遅延エリアが設定されている領域
の先頭アドレスを示すDELAY領域情報が格納されて
いる。また、メインルーチンプログラム(MAIN)は
WP−ROM2へその先頭アドレスから書き込まれてい
ると共に、DW−RAM3にコピーされた際にもDW−
RAM3へ先頭アドレスの位置から書き込まれるので、
そのポインタ情報をレジスタに格納することを省略する
ことができる。
【0025】次に、本発明の楽音発生装置の電源が投入
された際等に最初に実行される起動ルーチンを図4に示
すフローチャートを参照しながら説明する。起動ルーチ
ンがスタートされると、ステップS11にてDW−RA
M3がクリアされると共にその容量が調べられて、その
容量情報がレジスタYJに格納される。この容量情報は
「0」〜「4」の5段階とされ、ほぼ図2(b)に示す
状態の非常に小さいことを示す容量情報は「0」、ほぼ
図2(c)に示す状態の小さいことを示す容量情報は
「1」、ほぼ図2(d)に示す状態の中位を示す容量情
報は「2」、ほぼ図2(e)に示す状態の大きいことを
示す容量情報は「3」、ほぼ図2(f)に示す状態の非
常に大きいことを示す容量情報は「4」とされる。例え
ば、DW−RAM3の容量が256kbit以下なら
(b)、257kbit〜512kbitなら(c)、
513kbit〜1024kbitなら(e)、それ以
上なら(f)と判定する。次いで、ステップS12にて
レジスタYJの値が「0」か否かが判定され、レジスタ
YJの値が「0」の場合は、ステップS21に分岐して
この場合にDW−RAM3に設定される領域の情報が図
3に示す制御情報テーブルに格納される。具体的には、
この場合はDW−RAM3が非常に小さい容量とされて
いるので、CPU11は、容量に応じてDW−RAM3
をDELAY領域とワークエリア領域に分割し、各領域
の先頭アドレスをWORK領域情報とDELAY領域情
報として格納する。
【0026】ステップS21の処理が終了するとステッ
プS22にてWP−ROM2に格納されている後述する
メインルーチンプログラムが起動されて実行され、起動
ルーチンは終了する。また、レジスタYJの値が「1」
以上とされていた場合はステップS12にてNOと判定
されてステップS13に進み、最優先のメインルーチン
プログラムがWP−ROM2から読み出されてDW−R
AM3へ転送され、その先頭アドレスから書き込まれ
る。次いで、ステップS14にて容量情報の値に応じて
プログラムをWP−ROM2から読み出してDW−RA
M3へ転送するための判定処理が行われる。このステッ
プS14にてレジスタYJが「1」と判定された場合は
メモリ容量は小さいので、メインルーチンプログラム以
外には転送しないステップS15に進む。また、ステッ
プS14にてレジスタYJが「2」と判定された場合は
メモリ容量は中位なので、最優先のメインルーチンプロ
グラムに加えて次に優先する音源ドライバ処理プログラ
ム(TG_DRV)をWP−ROM2から読み出してD
W−RAM3へ転送するステップS16に進む。この場
合もメインルーチンプログラムはDW−RAM3の先頭
アドレスから書き込まれる。
【0027】さらに、ステップS14にてレジスタYJ
が「3」と判定された場合はメモリ容量が大きいので、
メインルーチンプログラムに加えて音源ドライバ処理プ
ログラム(TG_DRV)とソング処理プログラム(S
G_PLY)とをWP−ROM2から読み出してDW−
RAM3へ転送するステップS17に進む。この場合も
メインルーチンプログラムはDW−RAM3の先頭アド
レスから書き込まれる。さらにまた、ステップS14に
てレジスタYJが「4」と判定された場合はメモリ容量
が非常に大きいので、メインルーチンプログラムに加え
て音源ドライバ処理プログラム(TG_DRV)とソン
グ処理プログラム(SG_PLY)とスタイル処理プロ
グラム(SL_PLY)をWP−ROM2から読み出し
てDW−RAM3へ転送するステップS18に進む。こ
の場合もメインルーチンプログラムはDW−RAM3の
先頭アドレスから書き込まれる。そして、ステップS1
5ないしステップS18の処理が終了すると、ステップ
S19にてDW−RAM3に設定された領域の情報が図
3に示す制御情報テーブルに格納される。
【0028】この場合は、DW−RAM3にはDELA
Y領域とワークエリア領域に加えて少なくともメインル
ーチンプログラムが格納される領域が設定されている。
しかし、メインルーチンプログラムが常にDW−RAM
3の先頭アドレスから書き込まれるので、そのポインタ
情報は省略され、DELAY領域とワークエリア領域の
各先頭アドレスが自動的に割り当てられてWORK領域
情報、DELAY領域情報として制御情報テーブルに格
納される。さらに、TG_DRVポインタ情報、SG_
PLYポインタ情報、SL_PLYポインタ情報として
は、DW−RAM3にコピーされたプログラムについて
はその先頭アドレスが、制御情報テーブルに格納され
る。また、DW−RAM3にコピーされないプログラム
については、制御情報テーブルには有意のポインタ情報
は格納されない。ステップS19の処理が終了するとス
テップS20にてDW−RAM3にコピーされた後述す
るメインルーチンプログラムが起動されて、起動ルーチ
ンは終了する。
【0029】次に、起動ルーチンのステップS20ある
いはステップS22にて起動されるメインルーチンを図
5に示すフローチャートを参照しながら説明する。WP
−ROM2の先頭アドレスあるいはDW−RAM3の先
頭アドレスからルーチンが読み出されることにより、メ
インルーチンがスタートされると、ステップS31にて
各種レジスタのクリアや、パネル表示器に表示する画面
の準備処理などの初期設定処理が実行される。ついで、
ステップS32において起動要因が存在するか否かのチ
ェックが行われる。起動要因としては、(1)演奏イベ
ントが入力ないし発生されたこと、(2)自動演奏を制
御する操作イベントや自動演奏のタイマ割り込みイベン
トが発生したこと、(3)自動伴奏を制御する操作イベ
ントや自動伴奏のタイマ割り込みイベントが発生したこ
と、(4)パネルスイッチの操作イベントが発生したこ
と、(5)終了スイッチの操作イベントが発生したこと
の5通りの要因が存在している。
【0030】そこで、ステップS32において前記5通
りのうちの1つでも起動要因があるか否かがチェックさ
れ、次いでステップS33にて起動要因が発生している
か否かが判定される。そして、起動要因があると判定さ
れた場合は、ステップS34に進み、起動要因が1つも
検出されないときにはステップS32に戻って、起動要
因の発生を待つようになる。ステップS34では、前記
起動要因(1)が検出されたときに、ステップS35に
て音源ドライバ処理が実行されて、ステップS32に戻
る。この際に、音源ドライバ処理プログラムがDW−R
AM3にコピーされている場合(レジスタYJの値が
「2」以上)は、図3に示す制御情報テーブルに有意な
TG_DRVポインタが書き込まれているので、そのポ
インタのアドレスからルーチンを読み出して実行するこ
とにより、DW−RAM3にコピーされた音源ドライバ
処理プログラムを実行することができる。また、DW−
RAM3にコピーされていない場合(レジスタYJの値
が「1」以下)は、WP−ROM2から音源ドライバ処
理プログラムを読み出して実行する
【0031】この音源ドライバ処理では、入力されたイ
ベントに応じた音源パラメータが音源レジスタ20にセ
ットされて、楽音を生成する準備処理が行われる。例え
ば、鍵盤9やMIDIインターフェース13からノート
オンイベントが検出されたときには、音源レジスタ20
の割り当てたチャンネル領域に、ノートナンバ、音色情
報(波形アドレス)、ベロシティ(エンベロープパラメ
ータ)、変調パラメータ等のパラメータがセットされ
る。また、エンベロープの形状を変化させるイベントが
入力された際には、変更されたエンベロープパラメータ
が音源レジスタ20にセットされるようになる。
【0032】これにより、楽音生成タイミングとなった
ときに波形メモリ音源部において行われる楽音生成処理
において、アドレス読出回路21が1サンプリング周期
を等分した時分割チャンネルタイミングに従って、音源
レジスタ20にセットされている各チャンネルの音色情
報とノートナンバに応じた読み出しアドレスによりWP
−ROM2から波形サンプルデータが読み出される。読
み出された波形サンプルデータは、EG付与部22にお
いてベロシティおよび音色情報等に応じたエンベロープ
が付与され、さらに、前述したようにミキサ付DSP2
3において各チャンネルの波形サンプルデータが複数通
りにミキシングされると共に、その一部にエフェクトが
付与される。また、アナログ波形入力部4からのディジ
タル化されたアナログ波形信号もミキサ付DSP23に
おいてミキシングされる。このようにして生成された楽
音データは所定のサンプリング周期で読み出され、DA
C6を介してサウンドシステム7から発音されるように
なる。
【0033】また、前記要因(2)が検出されたとき
は、ステップS34からステップS36に進みソング処
理が行われる。この際に、ソング処理プログラム(SG
_PLY)がDW−RAM3にコピーされている場合
(レジスタYJの値が「3」以上)には、制御情報テー
ブルのSG_PLYポインタで示されるDW−RAM3
上のソング処理プログラムを使用し、そうでない場合に
は、WP−ROM2上のソング処理プログラムを使用す
る。このソング処理では、自動演奏用ファイルから読み
出された曲データに応じて楽譜通りのタイミングで演奏
イベントを発生する自動演奏処理が行われ、ステップS
32に戻る。なお、起動要因(2)に応じて発生したイ
ベントも起動要因(1)の要因となる。さらに、起動要
因(3)が検出されたときには、ステップS34からス
テップS37に進みスタイル処理が行われる。この際
に、スタイル処理プログラム(SL−PLY)がDW−
RAM3にコピーされている場合(レジスタYJの値が
「4」)には、制御情報テーブルのSL_PLYポイン
タで示されるDW−RAM3上のスタイル処理プログラ
ムを使用し、そうでない場合には、WP−ROM2上の
スタイル処理プログラムを使用する。このスタイル処理
では、設定されたスタイルの伴奏データ等に応じた楽譜
のタイミングで演奏イベントを発生する処理が行われ、
ステップS32に戻る。この起動要因(3)に応じて発
生したイベントも入力イベントとして起動要因(1)の
要因となる。
【0034】さらにまた、前記起動要因(4)が検出さ
れたときは、ステップS34からステップS38に進み
その他の処理が行われステップS32に戻る。その他の
処理としては、パネルスイッチに設けられているパート
別の音量を設定する操作子が操作されてパート別音量設
定が行われたとき行われるパート音量制御処理等があ
る。さらにまた、起動要因(5)が検出されたときは、
ステップS34からステップS39に進み、楽音発生装
置における楽音発生に関連するプログラムを終了させる
ための所定の終了処理が行われ、メインルーチンは終了
される。なお、起動要因(4)および(5)では、WP
−ROM2上のその他処理プログラム(OTHER)お
よび終了プログラムがそれぞれ使用される。
【0035】なお、以上の説明ではDW−RAM3をD
RAMで構成するとしたが、本発明はこれに限らずスタ
ティックRAM(SRAM)で構成するようにしてもよ
く、DW−RAM3としては高速のアクセスタイムとさ
れた書き込み/読出メモリであればどのようなメモリで
あってもよい。以上説明した本発明の実施の態様におい
ては、メインルーチンプログラムに次いで2番目に音源
ドライバ処理プログラム(TG_DRV)をコピーする
ようになされているが、これはソング処理プログラムや
スタイル処理プログラムで発生した演奏イベントルーチ
ンも、音源ドライバ処理プログラムで処理されており、
音源ドライバ処理プログラムのコピーにより自動演奏や
自動伴奏の処理も効率化できるためである。
【0036】さらに、本発明の実施の態様において、そ
の他処理プログラム(OTHER)や終了処理のプログ
ラムをDW−RAM3に余裕があってもコピーしないの
は、それらのプログラムが演奏に使用されず、リアルタ
イム性を要求されていないからである。なお、制御情報
テーブルにコピーしたプログラムが格納されている領域
の先頭アドレスを示すポインタを格納する代わりに、使
用するプログラムが格納されている領域の先頭アドレス
を示すポインタを格納するようにしてもよい。その場
合、各ルーチンについてDW−RAM3にコピーしたプ
ログラムがある場合にはその領域を示すポインタが、な
い場合にはWP−ROM2のプログラムの領域を示すポ
インタが格納される。
【0037】
【発明の効果】本発明は以上のように、DRAMのよう
な増設可能な高速のメモリの容量に余裕があるときに、
ROMのような低速のメモリに記憶されている複数のプ
ログラムの内の優先度の高いプログラムから高速のメモ
リにコピーするようにしたので、コピーしたプログラム
についてはCPUが高速のメモリからプログラムを読み
出して実行することができる。したがって、プログラム
の実行を高速に行えるためCPUのパフォーマンスを向
上することができる。またこの際には、CPUは高速の
メモリをアクセスし、音源部は波形サンプルデータが格
納されているROMをアクセスするようになるため、C
PUと音源部とで同一のメモリへのメモリアクセスの競
合が生じないようになるため、CPUのパフォーマンス
の低下を防止することができCPUは高速に演算処理す
ることができるようになる。
【図面の簡単な説明】
【図1】 本発明の楽音発生装置の実施の形態における
構成例を示すブロック図である。
【図2】 本発明の楽音発生装置におけるメモリマップ
の一例を示す図である。
【図3】 本発明の楽音発生装置における制御情報テー
ブルの一例を示す図である。
【図4】 本発明の楽音発生装置における起動ルーチン
のフローチャートを示す図である。
【図5】 本発明の楽音発生装置におけるメインルーチ
ンのフローチャートを示す図である。
【符号の説明】
1 音源LSI、2 WAVE&PROGRAM RO
M、3 DELAY&WORK RAM、4 アナログ
波形入力、5 ADC、6 DAC、7 サウンドシス
テム、8 MIDI端子、9 鍵盤、10 パネル/外
部CPU、11CPU、12 タイマ、13 MIDI
インタフェース、14 シリアルI/O、15 パラレ
ルI/O、16 アクセス管理A、17 アクセス管理
B、18バスライン、20 音源レジスタ、21 読出
回路、22 EG付与部、23ミキサ付DSP

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 メモリバス上で共有される読み出し専用
    メモリに、演算処理部が読み出して実行する複数のプロ
    グラムと、波形メモリ音源部が読み出して楽音波形を生
    成する波形サンプルデータとが記憶されており、 前記演算処理部が前記プログラムを実行する際に使用す
    るワークエリア領域が設定される高速のメモリの容量を
    検出し、検出された前記高速のメモリ容量に応じた数の
    前記プログラムを前記読み出し専用メモリから前記高速
    のメモリにコピーし、当該プログラムを実行する際に
    は、前記演算処理部が高速のメモリにコピーされたプロ
    グラムを読み出して実行するようにしたことを特徴とす
    る楽音発生方法。
  2. 【請求項2】 演算処理部と、 楽音データを生成する波形メモリ音源部と、 前記演算処理部が実行可能な複数のプログラムと、楽音
    波形生成時に前記波形メモリ音源部が読み出す波形サン
    プルデータが記憶されている前記演算処理部と前記波形
    メモリ音源部とによりメモリバス上で共有される読み出
    し専用メモリとを備え、 起動時に前記演算処理部用のワークエリアが設定される
    高速のメモリの容量を検出し、検出された前記高速のメ
    モリ容量に応じた数の前記プログラムを前記読み出し専
    用メモリから前記高速のメモリにコピーする処理を実行
    し、当該プログラムを実行する際には、前記演算処理部
    が前記高速のメモリにコピーされたプログラムを読み出
    して実行するようにしたことを特徴とする楽音発生装
    置。
JP01195698A 1998-01-07 1998-01-07 楽音発生方法および楽音発生装置 Expired - Fee Related JP3152198B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01195698A JP3152198B2 (ja) 1998-01-07 1998-01-07 楽音発生方法および楽音発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01195698A JP3152198B2 (ja) 1998-01-07 1998-01-07 楽音発生方法および楽音発生装置

Publications (2)

Publication Number Publication Date
JPH11202866A true JPH11202866A (ja) 1999-07-30
JP3152198B2 JP3152198B2 (ja) 2001-04-03

Family

ID=11792081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01195698A Expired - Fee Related JP3152198B2 (ja) 1998-01-07 1998-01-07 楽音発生方法および楽音発生装置

Country Status (1)

Country Link
JP (1) JP3152198B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005181775A (ja) * 2003-12-22 2005-07-07 Kawai Musical Instr Mfg Co Ltd データ処理用lsi
JP2006268370A (ja) * 2005-03-23 2006-10-05 Nec Corp 組み込み機器ソフトウェアの実行形式最適化方式
JP2007257007A (ja) * 2006-03-20 2007-10-04 Yamaha Corp 半導体集積回路及び音響信号処理装置
JP2009244751A (ja) * 2008-03-31 2009-10-22 Yamaha Corp 楽音発生装置用の集積回路
JP2011007888A (ja) * 2009-06-24 2011-01-13 Kawai Musical Instr Mfg Co Ltd 楽音生成装置のメモリ制御装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4690115B2 (ja) 2005-05-31 2011-06-01 株式会社リコー 制御装置及び画像処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005181775A (ja) * 2003-12-22 2005-07-07 Kawai Musical Instr Mfg Co Ltd データ処理用lsi
JP4642348B2 (ja) * 2003-12-22 2011-03-02 株式会社河合楽器製作所 データ処理用lsi
JP2006268370A (ja) * 2005-03-23 2006-10-05 Nec Corp 組み込み機器ソフトウェアの実行形式最適化方式
JP2007257007A (ja) * 2006-03-20 2007-10-04 Yamaha Corp 半導体集積回路及び音響信号処理装置
JP2009244751A (ja) * 2008-03-31 2009-10-22 Yamaha Corp 楽音発生装置用の集積回路
JP2011007888A (ja) * 2009-06-24 2011-01-13 Kawai Musical Instr Mfg Co Ltd 楽音生成装置のメモリ制御装置

Also Published As

Publication number Publication date
JP3152198B2 (ja) 2001-04-03

Similar Documents

Publication Publication Date Title
US5703310A (en) Automatic performance data processing system with judging CPU operation-capacity
USRE37367E1 (en) Computerized music system having software and hardware sound sources
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
JP2812222B2 (ja) 電子楽器および音源手段の置き換え方法
JPH11126070A (ja) 楽音生成方法
JP2924745B2 (ja) 楽音発生装置及び方法
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
JPH09325778A (ja) 楽音発生方法
JPH04306697A (ja) ステレオ方式
JP3152196B2 (ja) 楽音発生回路
JP3372124B2 (ja) 電子楽器
US6919502B1 (en) Musical tone generation apparatus installing extension board for expansion of tone colors and effects
JP2629891B2 (ja) 楽音信号発生装置
JP3637577B2 (ja) 楽音生成方法
JP3003559B2 (ja) 楽音生成方法
JP3050779B2 (ja) 信号処理装置
JP3781171B2 (ja) 楽音発生方法
JPH0638192B2 (ja) 楽音発生装置
JP3632744B2 (ja) 音生成方法
JPH10207465A (ja) 楽音発生方法および楽音発生装置
JP7159583B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP3627590B2 (ja) 音生成方法
JP4124434B2 (ja) デジタル音源付き電子楽器
JPS6252317B2 (ja)
JP3705203B2 (ja) 楽音発生方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001226

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090126

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100126

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees