JPH0950281A - 可変アルゴリズム音源および音色編集装置 - Google Patents

可変アルゴリズム音源および音色編集装置

Info

Publication number
JPH0950281A
JPH0950281A JP8055600A JP5560096A JPH0950281A JP H0950281 A JPH0950281 A JP H0950281A JP 8055600 A JP8055600 A JP 8055600A JP 5560096 A JP5560096 A JP 5560096A JP H0950281 A JPH0950281 A JP H0950281A
Authority
JP
Japan
Prior art keywords
module
tone
program
microprogram
block
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
JP8055600A
Other languages
English (en)
Other versions
JP2962465B2 (ja
Inventor
Hideo Yamada
秀夫 山田
Masashi Hirano
正志 平野
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 JP8055600A priority Critical patent/JP2962465B2/ja
Priority to US08/657,045 priority patent/US5698806A/en
Priority to EP96108574A priority patent/EP0745970B1/en
Priority to DE69613904T priority patent/DE69613904T2/de
Priority to KR1019960019440A priority patent/KR100288328B1/ko
Priority to SG1996009948A priority patent/SG45480A1/en
Publication of JPH0950281A publication Critical patent/JPH0950281A/ja
Priority to HK98111662A priority patent/HK1010764A1/xx
Application granted granted Critical
Publication of JP2962465B2 publication Critical patent/JP2962465B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • 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/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/004Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
    • 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
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/106Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters using icons, e.g. selecting, moving or linking icons, on-screen symbols, screen regions or segments representing musical elements or parameters
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/615Waveform editing, i.e. setting or modifying parameters for waveform synthesis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】DSPによるディジタル演算で楽音信号を発生
する音源において、限られたハードウエア規模あるいは
マイクロプログラムのステップ数で、幅広い音色を合成
できる自由度のある楽音発生アルゴリズムをユーザが設
定できるようにし、柔軟な音作りが可能となるようにす
ることを目的とする。 【解決手段】楽音発生のための演算手順を表すアルゴリ
ズムを、そのアルゴリズムを構成する各要素機能を1つ
のブロックで表わして表示し、ユーザが、表示された各
ブロックのオン/オフを指定する。あらかじめ各ブロッ
クごとに、そのブロックを有効に機能せしめるときに組
み込むべきオン用基本プログラムと、そのブロックを無
効にするときに組み込むべきオフ用基本プログラムとを
用意しておく。オンが指定されたブロックについてはオ
ン用基本プログラムを、オフが指定されたブロックにつ
いてはオフ用基本プログラムを、組み合わせて楽音発生
プログラムを生成する。生成した楽音発生プログラムを
DSPである音源に転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、限られた演算量
で幅広い音色を合成することができ、自由度のある楽音
発生アルゴリズムを実現することができる可変アルゴリ
ズム音源および音色編集装置に関する。
【0002】
【従来の技術】従来より、DSP(ディジタル・シグナ
ル・プロセッサ)によりマイクロプログラムに基づいて
所定の演算を行ない、これにより楽音信号を発生する音
源が知られている。例えば、特開平5−173576号
には、選択された音色に対応するマイクロプログラムを
音源回路(DSPとRAMから構成されている)に転送
し、音源回路でそのマイクロプログラムを実行すること
により、音色に応じた楽音発生アルゴリズムで楽音信号
を発生する音源が開示されている。
【0003】
【発明が解決しようとする課題】ところで、このような
音源において音色を変更するためには、楽音発生アルゴ
リズム(本願において、楽音発生アルゴリズムとは、楽
音信号の発生から最終的にサウンドシステムへ出力する
までの全体の手順を表すものとする)を何種類か用意し
ておき、作ろうとする音色に最適と思われるものをまず
選択し、それから音色パラメータを設定して音作りをす
る。したがって、音作りの途中でアルゴリズムを変更す
ると、それまでの音色パラメータは新しいアルゴリズム
においては意味合いが必ずしも対応しなくなるため、ほ
とんど最初から音作りをやり直さなければならなかっ
た。
【0004】また、このような音源において、楽音発生
アルゴリズムの一部の要素機能の動作をオン/オフして
アルゴリズムの形態を変化させる場合も、関連パラメー
タを適宜設定変更することにより等価的に不必要な部分
が機能しないようにしていた。例えば、楽音発生アルゴ
リズムのうちノイズ発生器が不要ならば、ノイズ発生器
の出力を0にするように関連パラメータを与えていた。
この場合、ノイズ発生器の機能を果たすためのマイクロ
プログラム自体は変更されない。
【0005】したがって、楽音発生アルゴリズムは上記
のようにして実質的に変更することができるが、マイク
ロプログラムのステップ数自体は楽音発生アルゴリズム
の変化にかかわらず固定である。そのため、楽音発生ア
ルゴリズムを簡略化したものに変更したとしても、DS
Pで他の処理を行なったり、発音チャンネル数を増やし
たりすることはできなかった。
【0006】この発明は、DSPによるディジタル演算
で楽音信号を発生する音源において、限られたハードウ
エア規模あるいはマイクロプログラムのステップ数で、
幅広い音色を合成できる自由度のある楽音発生アルゴリ
ズムをユーザが設定できるようにし、柔軟な音作りが可
能となるようにすることを目的とする。
【0007】
【課題を解決するための手段】請求項1に記載の発明に
係る可変アルゴリズム音源は、楽音を発生するための手
順を編集指定する楽音発生手順編集手段と、前記楽音発
生手順編集手段で編集指定された手順に対応する楽音発
生プログラムを生成する楽音発生プログラム生成手段
と、前記楽音発生プログラム生成手段で生成した楽音発
生プログラムを記憶する記憶手段と、前記記憶手段に記
憶された楽音発生プログラムにしたがってディジタル演
算処理を行なうことにより楽音信号を生成する楽音発生
手段とを備えたことを特徴とする。
【0008】また、請求項2に記載の発明に係る可変ア
ルゴリズム音源は、楽音発生のための演算手順を表すア
ルゴリズムを、そのアルゴリズムを構成する各要素機能
を1つのブロックで表わして表示する表示手段と、前記
表示手段に表示された各ブロックのオン/オフを指定す
るオン/オフ指定手段と、前記各ブロックごとに、その
ブロックを有効に機能せしめるときに組み込むべきオン
用基本プログラムと、そのブロックを無効にするときに
組み込むべきオフ用基本プログラムとを、あらかじめ格
納した基本プログラム格納手段と、前記各ブロックごと
に、前記オン/オフ指定手段でオンが指定されたブロッ
クについてはオン用基本プログラムを、前記オン/オフ
指定手段でオフが指定されたブロックについてはオフ用
基本プログラムを、それぞれ前記基本プログラム格納手
段から読み出し、読み出した基本プログラムを組み合わ
せて楽音発生プログラムを生成する楽音発生プログラム
生成手段と、前記楽音発生プログラム生成手段で生成し
た楽音発生プログラムを記憶する記憶手段と、前記記憶
手段に記憶された楽音発生プログラムにしたがってディ
ジタル演算処理を行なうことにより楽音信号を生成する
楽音発生手段とを備えたことを特徴とする。
【0009】請求項3は、請求項1または2に記載の可
変アルゴリズム音源において、前記楽音発生手段がディ
ジタル・シグナル・プロセッサであり、前記記憶手段が
マイクロプログラムRAMであり、前記楽音発生プログ
ラムが楽音発生のためのマイクロプログラムである点を
限定したものである。
【0010】請求項4に記載の発明は、マイクロプログ
ラムにしたがってディジタル演算処理を行なうことによ
り楽音信号を生成するディジタル・シグナル・プロセッ
サからなる音源に、マイクロプログラムを転送する音色
編集装置であって、楽音発生のための演算手順を表すア
ルゴリズムを、そのアルゴリズムを構成する各要素機能
を1つのブロックで表わして表示する表示手段と、前記
表示手段に表示された各ブロックのオン/オフを指定す
るオン/オフ指定手段と、前記各ブロックごとに、その
ブロックを有効に機能せしめるときに組み込むべきオン
用基本マイクロプログラムと、そのブロックを無効にす
るときに組み込むべきオフ用基本マイクロプログラムと
を、あらかじめ格納した基本マイクロプログラム格納手
段と、前記各ブロックごとに、前記オン/オフ指定手段
でオンが指定されたブロックについてはオン用基本マイ
クロプログラムを、前記オン/オフ指定手段でオフが指
定されたブロックについてはオフ用基本マイクロプログ
ラムを、それぞれ前記基本マイクロプログラム格納手段
から読み出し、読み出した基本マイクロプログラムを組
み合わせて楽音発生マイクロプログラムを生成する楽音
発生マイクロプログラム生成手段と、前記楽音発生マイ
クロプログラム生成手段で生成した楽音発生マイクロプ
ログラムを音源に転送する転送手段とを備えたことを特
徴とする。
【0011】請求項5に記載の発明に係る可変アルゴリ
ズム音源は、楽音発生のための複数の要素機能のうちか
ら、幾つかの要素機能を選択する要素機能選択手段と、
前記要素機能選択手段により選択された各要素機能をそ
れぞれ1つのブロックで表わして表示する表示手段と、
前記表示手段に表示された各ブロックの間の入出力関係
を定義する入出力関係定義手段と、前記表示手段に表示
された各ブロックのオン/オフを指定するオン/オフ指
定手段と、前記各要素機能ごとに、その要素機能を前記
要素機能選択手段で選択して前記表示手段により表示す
るとともに前記オン/オフ指定手段によってオンするこ
とにより有効に機能させるときに組み込むべきオン用基
本プログラムと、その要素機能を前記要素機能選択手段
で選択して前記表示手段により表示するとともに前記オ
ン/オフ指定手段によってオフすることにより無効にす
るときに組み込むべきオフ用基本プログラムとを、あら
かじめ格納した基本プログラム格納手段と、前記表示手
段に表示された各ブロックごとに、前記オン/オフ指定
手段でオンが指定されたブロックについてはオン用基本
プログラムを、前記オン/オフ指定手段でオフが指定さ
れたブロックについてはオフ用基本プログラムを、それ
ぞれ前記基本プログラム格納手段から読み出し、読み出
した基本プログラムを組み合わせて楽音発生プログラム
を生成する楽音発生プログラム生成手段と、前記楽音発
生プログラム生成手段で生成した楽音発生プログラムを
記憶する記憶手段と、前記記憶手段に記憶された楽音発
生プログラムにしたがってディジタル演算処理を行なう
ことにより楽音信号を生成する楽音発生手段とを備えた
ことを特徴とする。
【0012】この発明によれば、ユーザが、楽音を発生
するための手順を編集指定すると、その編集指定された
手順に対応する楽音発生プログラムが生成され、記憶手
段に格納される。そして、その記憶された楽音発生プロ
グラムにしたがってディジタル演算処理を行なうことに
より楽音信号が生成される。
【0013】特に、楽音発生のための演算手順を表すア
ルゴリズムを、そのアルゴリズムを構成する各要素機能
を1つのブロックで表わして表示し、ユーザが、表示さ
れた各ブロックのオン/オフを指定するようにしてもよ
い。この場合、あらかじめ各ブロックごとに、そのブロ
ックを有効に機能せしめるときに組み込むべきオン用基
本プログラムと、そのブロックを無効にするときに組み
込むべきオフ用基本プログラムとを、用意しておき、オ
ンが指定されたブロックについてはオン用基本プログラ
ムを、オフが指定されたブロックについてはオフ用基本
プログラムを、組み合わせて楽音発生プログラムを生成
する。また、楽音発生のための複数の要素機能のうちか
ら幾つかの要素機能を選択してブロックとして表示し、
それらのブロックを結線して入出力関係を定義して作成
したアルゴリズムに対して、上気したようにオン/オフ
を指定して楽音発生プログラムを生成するようにしても
よい。
【0014】
【発明の実施の形態】以下、図面を用いて、この発明の
実施の形態を説明する。
【0015】図1は、この発明の第1の実施の形態に係
る可変アルゴリズム音源および音色編集装置を適用した
電子楽器のシステム概要図である。この電子楽器は、中
央処理装置(CPU)101、リード・オンリ・メモリ
(ROM)102、ランダム・アクセス・メモリ(RA
M)103、ディスク・ドライブ104、演奏操作子1
05、設定操作子106、表示装置107、音源(トー
ン・ジェネレータTG)108、およびディジタル・ア
ナログ変換器(DAC)109を備えている。110は
これら各部を相互に接続するバス・ラインである。
【0016】CPU101は、この電子楽器全体の動作
を制御する。ROM102は、CPU101が実行する
プログラムや音源(DSP)108に転送するためのD
SP基本マイクロプログラムなどが格納されている。R
AM103には、バッファ領域やユーザ音色パラメータ
の格納領域などが設けられている。ディスクドライブ1
04は、ユーザ音色パラメータなど各種の情報を保存す
るための外部記憶装置である。演奏操作子105は、ユ
ーザが演奏操作するための鍵盤などの操作子である。設
定操作子106は、ユーザが各種の設定を行なうための
操作子(マウスなども含む)である。表示装置107
は、各種の情報を表示するためのディスプレイである。
DAC109は、DSP108から出力されたディジタ
ル楽音信号をアナログ信号に変換して出力するためのも
のである。
【0017】音源108は、主としてDSPにより構成
されるプログラマブル音源である。具体的には、DSP
108は、演算用RAM(PRORAM)111、マイ
クロプログラムRAM(MPRAM)112、パラメー
タRAM(PARRAM)113、および演算処理部1
14から構成される。演算用RAM111は、演算処理
用レジスタ、遅延用レジスタ、および波形データなどの
テーブル類などに用いられる。マイクロプログラムRA
M112はマイクロプログラムを格納するRAM、パラ
メータRAM113はボイスパラメータを格納するRA
Mである。
【0018】演算処理部114は、マイクロプログラム
RAM112に格納されているマイクロプログラムにし
たがい、パラメータRAM113に格納されているボイ
スパラメータを用いて、演算(すなわち楽音信号生成処
理)を行なう。マイクロプログラムRAM112に格納
されているマイクロプログラムにより、音源108の楽
音発生アルゴリズムが規定されることになる。
【0019】図1の電子楽器において、ユーザは、表示
装置107を見ながら設定操作子106を操作すること
により、音色の設定および編集を行なうことができる。
具体的には、まずユーザは、ROM102内に格納され
ているプリセット音色あるいはRAM103に格納され
ているユーザ音色から所望の音色を選択する。RAM1
03上のユーザ音色は、あらかじめディスクドライブ1
04からロードしておく。ユーザがそれらの中から何れ
かの音色を選択すると、その音色に対応する楽音発生ア
ルゴリズムを実現するマイクロプログラムがRAM10
3内のバッファ(図5で後述するVバッファ)上に生成
され、生成されたマイクロプログラムが音源108に転
送される。音源108は、転送されたマイクロプログラ
ムをマイクロプログラムRAM112に格納する。
【0020】以上のような音色の選択が終了した後、ユ
ーザが演奏操作子105を操作すると、その演奏操作情
報(例えば、鍵盤なら音高情報やタッチ情報)に応じた
ボイスパラメータがRAM103内のバッファ(後述の
Vバッファ)を介して音源108に転送される。音源1
08は、転送されたボイスパラメータをパラメータRA
M113に格納し、楽音信号生成のための演算を開始す
る。これにより、マイクロプログラムRAM112に格
納されているマイクロプログラムにしたがい、パラメー
タRAM113に格納されているパラメータを用いて、
演算が行なわれ、指定した音色の楽音信号が生成出力さ
れる。
【0021】さらに、この電子楽器では、指定した音色
の楽音発生アルゴリズムを編集することができる。具体
的には、楽音発生アルゴリズムを表すブロック図を表示
装置107に表示し、各ブロックに関してオン/オフを
指定して、所望の楽音発生アルゴリズムを設定すること
ができる。
【0022】図2は、音源108における楽音発生アル
ゴリズムの例を示す。このアルゴリズムは、本電子楽器
における最大構成のアルゴリズムである。図2のアルゴ
リズムを簡単に説明する。波形発生部(WAVE GE
N)201により波形データWAVEOUTを発生す
る。波形データWAVEOUTは、波形フィルタ(WA
VE−FILTER)202によりフィルタリングさ
れ、その出力データWFOUTはミキシング部(IN−
MIX)205に入力する。一方、ノイズ発生部(NO
ISE GEN)203により、ノイズデータNOUT
を発生する。ノイズデータNOUTは、ノイズフィルタ
(NOISE−FILTER)204によりフィルタリ
ングされ、その出力データNFOUTはミキシング部
(IN−MIX)205に入力する。ミキシング部20
5は、WFOUTとNFOUTをミキシングし、出力デ
ータIMXOUTとして出力する。
【0023】出力データIMXOUTは、2系列に分け
られ、ディストーション部211および221に入力す
る。ディストーション部(DIST1)211は、出力
データIMXOUTを歪ませるディストーションの処理
を行ない、DIST1OUTを出力する。ハイパスフィ
ルタ(IN−HPF1)212は、DIST1OUTを
入力し、低周波成分を減衰させてINHPF1OUTを
出力する。INHPF1OUTは、ループ処理部(LO
OP1)の加算部(ADD1)213に入力する。加算
部213は、ハイパスフィルタ212からの出力INH
PF1OUTとオールパスフィルタ(APF1)216
からの出力APF1OUTとを加算する。加算結果は、
ローパスフィルタ(LPF1)214に入力する。ロー
パスフィルタ214の出力は、遅延部(DELAY1)
215に入力して所定時間遅延される。遅延部215か
らの出力DELAY1OUTは、オールパスフィルタ
(APF1)216に入力し、所定の位相特性が付与さ
れる。オールパスフィルタ216の出力APF1OUT
は、加算部213にフィードバックされる。ローパスフ
ィルタ214の出力が、ループ処理部(LOOP1)の
出力LOOP1OUTとなる。もう一方の系列を構成す
る221〜226に示す各ブロックは、上述の211〜
216の各ブロックに対応しており、同様に動作するの
で説明は省略する。
【0024】出力ミキシング部(OUT−MIX)23
1は、ループ処理部(LOOP1)の出力LOOP1O
UTとループ処理部(LOOP2)の出力LOOP2O
UTとを入力し、ミキシングしてOMXOUTを出力す
る。出力フィルタ(OUT−FILTER)232は、
OMXOUTをフィルタリングして、OFOUTを出力
する。効果付与部(EFFECT)233は、OFOU
Tに対し種々の効果(残響効果や変調効果など)を付与
し、最終的な楽音信号OUTPUTを出力する。
【0025】以上説明した図2のアルゴリズムが本電子
楽器における最大構成の楽音発生アルゴリズムである
が、この本発明の第1の実施の形態では、ユーザは、図
2のアルゴリズムの各ブロックのオン/オフを指定し
て、アルゴリズムの編集(すなわち、音色の編集)を行
なうことができる。以下、そのようなアルゴリズムの編
集を行なう操作について説明する。
【0026】図3および図4は、アルゴリズムの編集を
行なう際の表示画面を示す。図3および図4における3
01〜333の各ブロックは、図2の201〜233の
各ブロックに対応(付番の下2桁が同じブロック同士で
対応)している。図3および図4の各ブロックをつなぐ
矢印も、図2でデータの流れを示す矢印に対応してい
る。345および346は、2系列設けられている各ル
ープ処理部の出力が出力ミキシング部(OUT−MI
X)331に入力することを単に分かり易くするために
表示してあるノードであり、アルゴリズム上で何等かの
機能を果たすブロックではない。353は、現在編集を
行なっているボイス名(音色名)の表示である。
【0027】図3および図4のアルゴリズム編集画面に
おいて、波形発生部(WAVE GEN)を示すブロッ
ク301内にある小さな矩形351は、当該ブロックの
オン/オフを表すチェックボックスである。当該ブロッ
クがオンされているというのは、当該ブロックが楽音発
生アルゴリズムの中で有効に機能するということを示
す。当該ブロックがオフされているというのは、当該ブ
ロックが楽音発生アルゴリズムの中で無効であり機能し
ない(すなわち、信号をスルーする、あるいは常に0を
出力する)ということを示す。チェックボックス351
が図3のように白抜きで表示されているとき、当該ブロ
ックがオンされていることを示す。また、図4のチェッ
クボックス401のように黒塗りで表示されているとき
は、当該ブロックがオフされていることを示す。なお、
ブロック302,303,304,311,312,3
16,321,322,326,332,333にも、
チェックボックス351と同様のチェックボックスが設
けられている。
【0028】図3および図4において、ブロック30
5,331中にはチェックボックスが設けられていな
い。これらのチェックボックスがないブロックは、アル
ゴリズムの構成上、必須のブロック(オフすることがで
きない)を示す。
【0029】また、ブロック313,314,315
は、ループ処理部(LOOP1)を構成するブロックと
して一括してオン/オフできるように、ループ処理部を
示すブロック341を設け、該ブロック341内にルー
プ処理部のオン/オフを示すチェックボックス343を
設けてある。したがって、チェックボックス343が白
抜きの状態、すなわちループ処理部を示すブロック34
1がオンされているときは、ブロック313,314,
315は何れもアルゴリズム中で有効に機能する。同様
に、ブロック323,324,325も、ループ処理部
(LOOP2)を構成するブロックとして一括してオン
/オフできるように、ループ処理部を示すブロック34
2を設け、該ブロック342内にループ処理部のオン/
オフを示すチェックボックス344を設けてある。
【0030】ユーザは、設定操作子106(図1)を操
作することにより、各ブロックのオン/オフを指定でき
る。図3は、すべてのブロックをオンにした状態(最大
構成)である。図4は、ブロック301,302,31
1,341,316,332をオンし、ブロック30
3,304,312,321,322,342,32
6,333をオフした状態である。以下では、簡単のた
め、各ブロックを、該ブロックに対応する楽音発生アル
ゴリズム中の構成要素としての名称でも呼ぶものとす
る。例えば、ブロック301は、波形発生部(WAVE
GEN)301とも呼ぶものとする。なお、各ブロッ
クには、そのブロックの機能に対応したパラメータが表
示されており(例えば、図3の352)、設定操作子1
06(図1)を操作することにより、これらのパラメー
タ値を変更することができる。
【0031】図4のアルゴリズムにおいて、オンされて
いるブロックは、既に図2で説明したように動作する。
図4のアルゴリズムでは、ブロック303,304がオ
フされているので、ノイズ発生部(NOISE GE
N)303からはノイズデータNOUTとして常に
「0」が出力され、ノイズフィルタ(NOISE−FI
LTER)304をスルーして、この信号「0」がミキ
シング部(IN−MIX)305に入力する。ハイパス
フィルタ(IN−HPF1)312は、オフされている
ので、ディストーション部(DIST1)311からの
出力信号はハイパスフィルタ(IN−HPF1)312
をスルーして、ループ処理部(LOOP1)341の加
算部(ADD1)313に入力する。一方、ディストー
ション部(DIST2)321からループ処理部(LO
OP2)342までのブロックはすべてオフされている
ので、ディストーション部(DIST2)321への入
力信号は、そのままスルーして、ノード346を介し
て、出力ミキシング部(OUT−MIX)331に入力
する。効果付与部(EFFECT)333は、オフされ
ているので、出力フィルタ(OUT−FILTER)3
32からの出力信号はスルーして出力される。
【0032】この電子楽器では、以上のようなアルゴリ
ズムの編集に基づいて生成されたマイクロプログラムが
音源108に転送される。したがって、簡単なアルゴリ
ズムである場合は少ないステップ数で、複雑なアルゴリ
ズムである場合は大きいステップ数で、それぞれマイク
ロプログラムが生成され音源108に転送されることに
なる。音源108内のマイクロプログラムRAM112
は、512ステップ分のマイクロプログラムを格納でき
るようになっており、編集したアルゴリズムのマイクロ
プログラムが何セット格納できるかに応じてボイス数
(同時に発音できる数)が決定される。
【0033】図3および図4の354は、表示されてい
るアルゴリズムの設定において何ステップのマイクロプ
ログラムになっているか、および何ボイス確保できる
か、を示す表示である。図3の最大構成では、表示35
4に「PROGRAM STEPS:128」および
「VOICES:4」とあるので、このアルゴリズムを
実現するマイクロプログラムのステップ数は128ステ
ップであり、128×4=512であるのでマイクロプ
ログラムRAM112には4セット格納できる(すなわ
ち、4音同時発音可能な4ボイスである)ことが分か
る。
【0034】一方、図4の状態では、表示354に「P
ROGRAM STEPS:96」および「VOICE
S:5」とあるので、このアルゴリズムを実現するマイ
クロプログラムのステップ数は96ステップであり、9
6×5=480<512であるのでマイクロプログラム
RAM112には5セット格納できる(5ボイス)こと
が分かる。
【0035】図5は、図1のROM102およびRAM
103のメモリマップを示す。501はROM102の
内容、502はRAM103の内容である。ROM10
2内には、CPU101が実行するためのCPUプログ
ラム(その動作については図9〜17で後述する)、D
SP基本マイクロプログラム(その内容については図7
で後述する)、プリセット音色パラメータ群(VOIC
E P1〜Pm)、およびその他のデータが格納されて
いる。RAM103内には、MPバッファ、MPフラグ
バッファ、VPバッファ、ユーザ音色パラメータ群(V
OICE U1〜Um)、およびその他のデータの格納
領域が確保されている。MPバッファ、MPフラグバッ
ファ、およびVPバッファの3つのバッファを合せてV
バッファと呼ぶ。
【0036】既に図2〜図4を参照して、ユーザが、R
OM102内のプリセット音色あるいはRAM103内
のユーザ音色を選択し、その音色の楽音発生アルゴリズ
ムを編集する操作について説明した。ユーザが音色を選
択するというのは、具体的には、ROM102内に格納
されているプリセット音色パラメータ(図5のVOIC
E P1〜Pm)またはあらかじめディスクドライブ1
04から読出されてRAM103内に格納されているユ
ーザ音色パラメータ(図5のVOICE U1〜Um)
のうちから1つの音色パラメータを選択するということ
である。選択された音色パラメータはRAM103のV
バッファにコピーされる。
【0037】図5の503に、RAM103のVバッフ
ァの内容を示す。Vバッファのうち、MPバッファは音
源108のマイクロプログラムRAM112に転送する
ためのマイクロプログラムを格納するバッファ、MPフ
ラグバッファはMPフラグ(図6で後述)を格納するバ
ッファ、VPバッファはボイスパラメータ(図3の35
2に示したようなパラメータ、あるいは演奏操作子10
5からの演奏情報に応じて設定されるパラメータなど)
を格納するバッファである。
【0038】図6に、MPフラグの一覧を示す。MPフ
ラグは、図2〜図4で説明した楽音発生アルゴリズムの
要素機能を表すブロックに対応している。以下、各フラ
グについて説明する。なお、各フラグは、0でオフ、1
でオンを示す。
【0039】(1)WAVE GEN FLG:図3の
波形発生部(WAVE GEN)301のオン/オフ
(有効/無効)を示すフラグである。 (2)NOISE GEN FLG:図3のノイズ発生
部(NOISE GEN)303のオン/オフ(有効/
無効)を示すフラグである。 (3)WAVE−FILTER FLG:図3の波形フ
ィルタ(WAVE−FILTER)302のオン/オフ
(有効/無効)を示すフラグである。 (4)NOISE−FILTER FLG:図3のノイ
ズフィルタ(NOISE−FILTER)304のオン
/オフ(有効/無効)を示すフラグである。 (5)DIST1 FLG:図3のディストーション部
(DIST1)311のオン/オフ(有効/無効)を示
すフラグである。 (6)IN−HPF1 FLG:図3のハイパスフィル
タ(IN−HPF1)312のオン/オフ(有効/無
効)を示すフラグである。 (7)LOOP1 FLG:図3のループ処理部(LO
OP1)341のオン/オフ(有効/無効)を示すフラ
グである。 (8)APF1 FLG:図3のオールパスフィルタ
(APF1)316のオン/オフ(有効/無効)を示す
フラグである。 (9)DIST2 FLG:図3のディストーション部
(DIST2)321のオン/オフ(有効/無効)を示
すフラグである。 (10)IN−HPF2 FLG:図3のハイパスフィ
ルタ(IN−HPF2)322のオン/オフ(有効/無
効)を示すフラグである。 (11)LOOP2 FLG:図3のループ処理部(L
OOP2)342のオン/オフ(有効/無効)を示すフ
ラグである。 (12)APF2 FLG:図3のオールパスフィルタ
(APF2)326のオン/オフ(有効/無効)を示す
フラグである。 (13)OUT−FILTER FLG:図3の出力フ
ィルタ(OUT−FILTER)332のオン/オフ
(有効/無効)を示すフラグである。 (14)EFFECT FLG:図3の効果付与部(E
FFECT)333のオン/オフ(有効/無効)を示す
フラグである。
【0040】ROM102上のプリセット音色パラメー
タVOICE P1〜PmやRAM103上のユーザ音
色パラメータVOICE U1〜Umは、その音色に応
じたMPフラグとボイスパラメータ(演奏に応じて設定
されるパラメータを除く)から構成されている。ユーザ
により音色が選択されると、その音色パラメータのMP
フラグがMPフラグバッファに、ボイスパラメータがV
Pバッファに、それぞれコピーされる。そして、MPフ
ラグに応じてROM102上のDSP基本マイクロプロ
グラムから所定の基本マイクロプログラムを読出し組合
せて、MPバッファ上に、当該音色の楽音発生アルゴリ
ズムを実現するマイクロプログラムを生成する。
【0041】図7は、ROM102上のDSP基本マイ
クロプログラムの内容を示す。図8は、各基本マイクロ
プログラムの処理と入出力の関係を示す。基本マイクロ
プログラムは、図2〜図4で説明した楽音発生アルゴリ
ズムの要素機能を表すブロックに対応している。そし
て、オン/オフすることのできるブロックについては、
オンの場合に用いるオン用の基本マイクロプログラムと
オフの場合に用いるオフ用の基本マイクロプログラムと
の2つが用意されている。以下、図7および図8を参照
して、各基本マイクロプログラムについて説明する。
【0042】(1)WAVE GEN:図2の201、
図3,4の301に示した波形発生部(WAVE GE
N)の波形発生処理を行なう基本マイクロプログラムで
ある。WAVE GEN FLGがオンのとき組み込ま
れる。入力はなし、出力はWAVEOUTである。 (2)WAVE GEN OFF:WAVE GEN
FLGがオフのとき、上記WAVE GENの代わりに
組み込まれる基本マイクロプログラムである。「CLR
WAVEOUT」の処理、すなわち出力WAVEOU
Tを0にクリア(常に0を出力するということ)する。 (3)NOISE GEN:図2の203、図3,4の
303に示したノイズ発生部(NOISE GEN)の
ノイズ発生処理を行なう基本マイクロプログラムであ
る。NOISE GEN FLGがオンのとき組み込ま
れる。入力はなし、出力はNOUTである。
【0043】(4)NOISE GEN OFF:NO
ISE GEN FLGがオフのとき、上記NOISE
GENの代わりに組み込まれる基本マイクロプログラ
ムである。「CLR NOUT」の処理、すなわち出力
NOUTを0にクリアする。 (5)WAVE−FILTER:図2の202、図3,
4の302に示した波形フィルタ(WAVE−FILT
ER)のフィルタリング処理を行なう基本マイクロプロ
グラムである。WAVE−FILTER FLGがオン
のとき組み込まれる。入力はWAVEOUT、出力はW
FOUTである。前段の波形発生部がオフされていると
きは0が入力する。 (6)WAVE−FILTER OFF:WAVE−F
ILTER FLGがオフのとき、上記WAVE−FI
LTERの代わりに組み込まれる基本マイクロプログラ
ムである。「MOVE WOUT WFOUT」の処
理、すなわちWOUTの内容をWFOUTに転送する
(入力をスルーして出力するということ)処理を行な
う。
【0044】以下、他の基本マイクロプログラムについ
ても図7および図8に示した通りであるので説明を省略
する。要するに、対応するMPフラグがオンされている
ときに組み込まれる基本マイクロプログラムは、対応す
る要素機能を果たすマイクロプログラムであり、MPフ
ラグがオフされているときに組み込まれる基本マイクロ
プログラムは、0を出力するか、入力をスルーして出力
するマイクロプログラムになっている。
【0045】なお、上述したようにアルゴリズム上で必
須のブロックに関しては、当該機能をオフするというこ
とがないから、オフしたときの基本マイクロプログラム
もない。例えば、図2のミキシング部(IN−MIX)
205は必須のブロックであるので、図7にはIN−M
IX処理を行なう基本マイクロプログラムは登録されて
いるが、IN−MIX OFFという基本マイクロプロ
グラムはない。
【0046】次に、この電子楽器における動作を説明す
る。図9(a)は、CPU101が実行するメインプロ
グラムの処理手順を示すフローチャートである。まず、
ステップ901で初期化処理を行ない、ステップ902
で各種の操作イベントの検出処理を行なう。ステップ9
03では、音色設定処理を行なう。音色設定処理では、
音色選択の操作が為されていた場合に、指定された音色
パラメータをVバッファにコピーし、マイクロプログラ
ムの編集展開処理を行なう。音色設定処理については、
図10〜図13で詳述する。
【0047】次に、ステップ904で動作モード管理を
行なう。動作モード管理では、各種のモード切り替え操
作の有無を検出して、その操作に応じたモードに切り替
える。ステップ905では現在のモードが音色エディッ
トモードであるか否か判定する。音色エディットモード
のときは、ステップ906で音色エディット処理を行な
い、ステップ907に進む。音色エディットモードでな
いときは、そのままステップ907に進む。音色エディ
ット処理は、図2〜図4で説明したように、アルゴリズ
ム編集画面を表示して、その画面内の各ブロックのオン
/オフ指定イベントを検出し、MPフラグをセット/リ
セットする処理である。音色エディット処理について
は、図14〜図17で詳述する。
【0048】次に、ステップ907で、音源制御処理を
行なう。音源制御処理は、Vバッファの内容(特に、ボ
イスパラメータ)を音源108に転送して発音を指示す
る処理である。ステップ908でその他の処理を行なっ
た後、ステップ902に戻る。
【0049】図9(b)は、図9(a)のステップ90
7の音源制御処理の詳細を示す。ステップ911では、
発音を指示するイベントがあるか(演奏操作子105の
操作があるか)否か判定する。発音イベントがあるとき
は、ステップ912で音源108へVバッファのデータ
を転送する。Vバッファのデータは、音源108内のパ
ラメータRAM113に格納される。マイクロプログラ
ムRAM112には、既に音色設定処理(具体的には、
図13のステップ1310)で、VバッファのMPバッ
ファに用意されたマイクロプログラムが転送され格納さ
れている。次に、ステップ913で発音開始処理、すな
わち音源108に対し楽音信号を発生する処理の開始を
指示する。これにより、Vバッファの音色パラメータに
基づいた発音が行なわれる。ステップ913の後、リタ
ーンする。ステップ911で発音イベントがないとき
は、ステップ914でその他の関連イベント処理を行な
った後、リターンする。
【0050】図10〜図13は、図9(a)のステップ
903の音色設定処理の詳細を示す。まず、ステップ1
001で音色を選択する設定操作子106の操作が為さ
れたか否かを判定する。音色選択操作が為されていたと
きは、ステップ1002で、選択された音色Xの音色パ
ラメータをVバッファに転送する。転送する音色パラメ
ータは、ROM102内に格納されているプリセット音
色パラメータまたはRAM103内に格納されているユ
ーザ音色パラメータからユーザの操作に応じて選択した
ものである。ステップ1002の後、またはステップ1
001で音色選択操作がないときはそのまま、ステップ
1003に進む。
【0051】ステップ1003では、Vバッファ上のM
PフラグのうちWAVE GENFLGが0か否か判定
する。0のときは、ステップ1004で、MPバッファ
上にWAVE GENおよびWAVE−FILTERの
基本マイクロプログラムがあるときにはそれらを削除
し、代わりにWAVE GEN OFFをMPバッファ
に転送する。そして、MPバッファ上のマイクロプログ
ラムを整理する。ステップ1003でWAVE GEN
FLGが0でないときは、ステップ1005で、MP
バッファ上にWAVE GEN OFFの基本マイクロ
プログラムがあるときにはそれを削除し、代わりにWA
VE GENおよびWAVE−FILTERをMPバッ
ファに転送する。そして、MPバッファ上のマイクロプ
ログラムを整理する。なお、ステップ1004,100
5の基本マイクロプログラムの入れ替えを行なうのは、
音色選択操作があったときあるいはアルゴリズム編集画
面上で各ブロックのオン/オフ指定が為されMPフラグ
のオン/オフ切り替えがあったときのみでよい。
【0052】以下のステップ1006〜1308では、
MPフラグのオン/オフに応じて基本マイクロプログラ
ムをMPバッファに転送する処理を行なう。これらの処
理は、参照するフラグおよび転送するプログラム名が異
なるほかは、ステップ1003〜1005と同様の処理
である。
【0053】すなわち、ステップ1006〜1008で
は、NOISE GEN FLGがオフのときはNOI
SE GEN OFFを、NOISE GEN FLG
がオンのときはNOISE GENを、MPバッファに
転送する。図11のステップ1101〜1103では、
WAVE−FILTER FLGがオフのときはWAV
E−FILTER OFFを、WAVE−FILTER
FLGがオンのときはWAVE−FILTERを、M
Pバッファに転送する。ステップ1104〜1106で
は、NOISE−FILTER FLGがオフのときは
NOISE−FILTER OFFを、NOISE−F
ILTER FLGがオンのときはNOISE−FIL
TERを、MPバッファに転送する。
【0054】ステップ1107では、アルゴリズム上必
須の基本プログラムIN−MIXをMPバッファに転送
し、MPバッファを整理する。ステップ1108〜11
10では、DIST1 FLGがオフのときはDIST
1 OFFを、DIST1FLGがオンのときはDIS
T1を、MPバッファに転送する。ステップ1111〜
1113では、IN−HPF1 FLGがオフのときは
IN−HPF1 OFFを、IN−HPF1 FLGが
オンのときはIN−HPF1を、MPバッファに転送す
る。
【0055】図12のステップ1201〜1205で
は、ループ処理部のプログラムとそのループ内のオーフ
パスフィルタのプログラムを転送するため、LOOP1
FLGがオフのときはLOOP1 OFFを、LOO
P1 FLGがオンのときはLOOP1を、MPバッフ
ァに転送する。LOOP1 FLGがオンでAPF1F
LGがオフのときはLOOP1とAPF1 OFFを、
LOOP1 FLGがオンでAPF1 FLGがオンの
ときはLOOP1とAPF1を、MPバッファに転送す
る。
【0056】図13のステップ1301は図12のステ
ップ1201〜1205と同様の処理をLOOP2に関
して行なうものである。ステップ1302では、アルゴ
リズム上必須のOUT−MIXをMPバッファに転送す
る。
【0057】ステップ1303〜1305では、OUT
−FILTER FLGがオフのときはOUT−FIL
TER OFFを、OUT−FILTER FLGがオ
ンのときはOUT−FILTERを、MPバッファに転
送する。ステップ1306〜1308では、EFFEC
T FLGがオフのときはEFFECT OFFを、E
FFECT FLGがオンのときはEFFECTを、M
Pバッファに転送する。
【0058】ステップ1309では、MPバッファ上の
マイクロプログラムのステップ数をカウントし、変数S
にそのステップ数をセットし、変数Sの値を表示する。
この表示が、図3および図4の表示354のうちの「P
ROGRAM STEPS:*」の表示である。さら
に、ステップ1310では、変数Sの値と音源108の
マイクロプログラムRAM112の容量とから何ボイス
分が確保できるか算出し、そのボイス数分のマイクロプ
ログラムをMPバッファからマイクロプログラムRAM
112に転送する。そして、ボイス確保数を表示する。
この表示が図3および図4の表示354のうちの「VO
ICES:*」の表示である。
【0059】次に、図14〜図17を参照して、図9
(a)のステップ906の音色エディット処理について
説明する。音色エディット処理では、まずステップ14
01でエディット項目管理を行なう。これは、音色の編
集を行なう項目に関するユーザの選択管理を行なうもの
である。楽音発生アルゴリズムの編集が選択されたとき
は、アルゴリズム編集処理モードになる。
【0060】ステップ1402でアルゴリズム編集処理
モードであるか否か判定する。アルゴリズム編集処理モ
ードである場合は、ステップ1404に進み、そうでな
いときはステップ1403に進んでその他の処理を行な
いリターンする。ステップ1403のその他の処理と
は、例えば、図3および図4の各ブロックのパラメータ
設定編集、ボイス名の編集、あるいは音色を選択してV
バッファ上に音色パラメータをロードしたりVバッファ
上の音色パラメータをRAM103やディスクドライブ
104にセーブする処理などである。
【0061】ステップ1402でアルゴリズム編集処理
モードであるときは、ステップ1404でアルゴリズム
編集画面(例えば図3や図4)を表示装置107に表示
する。アルゴリズムの各ブロックのオン/オフは、現在
Vバッファ上にロードされている音色パラメータの状
態、すなわちMPフラグの内容に応じて決定され表示さ
れる。
【0062】以下の図14のステップ1405〜図17
のステップ1709の処理は、各ブロックのオンイベン
トまたはオフイベントがあるか否かを判別し、それに応
じてMPフラグをオン/オフする処理である。例えば、
ステップ1405では波形発生部(WAVE GEN)
のオフイベントがあったか否か判定し、あった場合はス
テップ1405でWAVE GEN FLGをオフ(0
を設定)してリターンする。WAVE GENのオフイ
ベントでないときは、ステップ1406でWAVE G
ENのオンイベントがあったか否か判定し、あった場合
はステップ1407でWAVE GEN FLGをオン
(1を設定)してリターンする。以下、同様にして、他
のMPフラグについてもオン/オフイベントを検出して
オン/オフを設定する。
【0063】なお、図16のステップ1601〜160
8は、LOOP1関連処理であり、LOOP1内にAP
F1が設けられているため、以下のようにMPフラグを
設定する。すなわち、ステップ1601でループ処理部
(LOOP1)のオフイベントがあったときは、ステッ
プ1602でLOOP1 FLGとAPF1 FLGと
を共にオフする。LOOP1をオフしたときは、強制的
にAPF1もオフするようにしたものである。ステップ
1603でループ処理部(LOOP1)のオンイベント
があったときは、ステップ1604でLOOP1 FL
GとAPF1FLGとを共にオンする。LOOP1をオ
ンしたときは、強制的にAPF1もオンするようにした
ものである。ステップ1605でオールパスフィルタ
(APF1)のオンイベントがあったときは、ステップ
1606でLOOP1 FLGとAPF1 FLGとを
共にオンする。APF1をオンしたときは、強制的にL
OOP1をオンするようにしたものである。ステップ1
607でオールパスフィルタ(APF1)のオフイベン
トがあったときは、ステップ1608でAPF1FLG
をオフする。図17のステップ1701は、以上の図1
6のステップ1601〜1608と同様の処理をLOO
P2に関して行なうものである。
【0064】上述の本発明の第1の実施の形態によれ
ば、ユーザは、表示装置に表示された各ブロックのオン
/オフを指定するだけで所望のアルゴリズムのマイクロ
プログラムを生成でき、しかも生成したマイクロプログ
ラムは無駄なステップの無いマイクロプログラムである
から、DSPのマイクロプログラムRAMを有効に活用
することができる。すなわち、簡単なアルゴリズムでス
テップ数の少ないマイクロプログラムを生成した場合
は、ボイス数を大きく取ることができる、あるいは別の
処理を行なうことができる、という効果がある。
【0065】なお、遅延ループやその他の構成ブロック
は上記実施の形態で示した数、種類に限らない。また上
記実施の形態では、最大構成のブロック図を表示して各
ブロックのオン/オフをユーザが決定するようにしてい
るが、ブロックを任意に組み合わせて楽音合成回路を表
示装置上でユーザが組み立てるようにしてもよい。さら
に、上記実施の形態では、遅延ループを利用した音源を
例にしたが、FM音源やフォルマント合成音源など他の
楽音合成方式の音源に適用することもできる。
【0066】上記実施の形態では省略したが、マイクロ
プログラムには、楽音の時間変化制御のためのEG(エ
ンベロープジェネレータ)や変調信号発生器(LFO)
などの発生プログラムも含まれることがある。そこで、
楽音合成に費やされるステップ数の増減に応じて、EG
やLFOの数を増減させるようにしてもよい。
【0067】上記実施の形態では、ユーザがブロックを
オン/オフすると、即時にそのオン/オフイベントに応
じてMPフラグが書き換えられ、MPフラグに応じてリ
アルタイムにマイクロプログラムがMPバッファに転送
される。しかし、アルゴリズムを編集しているときには
最大構成のアルゴリズムで動作していて、終了時にコン
パイルをしてマイクロプログラムを生成するようにして
もよい。
【0068】さらに、アルゴリズムを編集する際には、
発音数(ボイス数)を確保するために、予定したステッ
プサイズをオーバーしないように編集を行ないたい場合
がある。この場合、あらかじめステップサイズの上限値
を設定しておき、その設定値を越えるようなブロックを
選択しようとしたとき警告を出したり、他のブロックを
削除しない限り選択を禁止する、というような機能を付
加してもよい。
【0069】なお、本願でDSPと称しているものは、
信号処理用に特化されたプロセッサに限らず、汎用のマ
イクロプロセッサも使用することができる。また全ての
処理を1つのマイクロプロセッサで行うようにしてもよ
い。次に説明する本発明の第2の実施の形態でも同じで
ある。
【0070】次に、この発明に係る第2の実施の形態に
ついて説明する。上述の第1の実施の形態では楽音発生
のための最大構成のアルゴリズムを示すブロック図を表
示してそのうち所望のブロックをオン/オフするように
しているが、第2の実施の形態では、その最大構成自体
をも編集できるようにしている。
【0071】図18は、この発明の第2の実施の形態に
係る電子楽器のシステム概要図である。この電子楽器
は、CPU1801、ROM1802、RAM180
3、ディスプレイ1804、ディジタル・アナログ変換
器(DAC)1805、ダイレクト・メモリ・アクセス
・コントローラ(DMAC)1806、手動操作子(マ
ウス)1807、タイピング・キーボード1808、デ
ィジタル・シグナル・プロセッサ1809,1810、
ハードウェア・デバイス1811,1812、波形メモ
リ1813、インターフェース1814、フット・コン
トローラ1815、鍵盤1816、およびバス・ライン
1817を備えている。
【0072】図19は、この電子楽器の外観を示す。図
19において、ディスプレイ1902は図18のディス
プレイ1804に、マウス1904は図18の手動操作
子1807に、キーボード1903は図18のタイピン
グキーボード1808に、鍵盤1905は図18の鍵盤
1816に、フットコントローラ1906は図18のフ
ットコントローラ1815に、それぞれ、対応する。図
18のその他の部分は図19の本体1901に格納され
ている。
【0073】図18のCPU1801、ROM180
2、RAM1803、およびディスプレイ1804は、
第1の実施の形態で説明した図1のCPU101、RO
M102、RAM103、および表示装置107にそれ
ぞれ対応し同様の機能を果たす。図18のインターフェ
ース1814、フットコントローラ1815、および鍵
盤1816は、図1の演奏操作子105に対応し同様の
機能を果たす。図18の手動操作子(マウス)1807
およびタイピングキーボード1808は、図1の設定操
作子106に対応し同様の機能を果たす。なお、この第
2の実施の形態では、手動操作子1807はマウスであ
るものとし、クリック(ディスプレイ上に表示されてい
る文字や図形などにマウスポインタを合せてマウスボタ
ンをオンした後、すぐにオフする操作)、およびドラッ
グ(ディスプレイ上に表示されている文字や図形などに
マウスポインタを合せてマウスボタンをオンし、そのま
まマウスを移動し、マウスボタンをオフする操作)が可
能なものである。なお、手動操作子1807はマウス以
外のポインティングデバイスでもよい。
【0074】上述の第1の実施の形態の図1のものでは
音源の役割を果たすのは1つのDSP111であった
が、この第2の実施の形態では2つのDSP1809,
1810を備えている。DSP1809,1810の各
々は、図1のDSP111と同等のものであり、演算用
RAM、マイクロプログラムRAM、パラメータRA
M、および演算処理部などを含むものである。DSP1
809,1810の各々は、波形データ読み出し方式
(波形データはROM1802またはRAM1803に
格納されているものを用いる)の音源あるいはFM(周
波数変調)方式の音源として動作可能であり、さらに楽
音信号に対する各種の処理(例えば、フィルタリング処
理、遅延とフィルタリングのループ処理、効果付与処
理、およびミキシング処理など)を実行することも可能
なものである。
【0075】ハードデバイス1811,1812は、楽
音信号形成に係る各種の処理を行なうためのハードウェ
アであり、ここではハードデバイス1811がFM音源
であり、ハードデバイス1812が波形メモリ読み出し
方式の音源であるものとする。波形メモリ1813は、
ハードデバイス1812が読み出すための波形データを
記憶した波形メモリである。
【0076】さらに、この電子楽器のCPU1801
は、波形メモリ読み出し方式の音源としても働き、RO
M1802上の波形データを読み出して楽音信号を発生
する処理、デジタルフィルタ処理、およびエンベロープ
付与処理を行なうことができる。
【0077】以上のように、楽音信号形成に係る動作は
CPU1801、DSP1809,1810、およびハ
ードデバイス1811,1812のそれぞれで行なうこ
とができるが、これら各部の動作において生成途中の中
間的な楽音信号や最終結果の楽音信号の授受はRAM1
803の所定のバッファ領域を用いて行なう。このバッ
ファ領域(図20のOUTPUT BUFFERS)の
詳細は後述する。DAC1805は、種々の方式にて生
成したディジタル楽音信号をアナログ信号に変換し、不
図示のサウンドシステムに送出する。このDAC180
5は、コーデック(CODEC)と呼ばれるLSIでも
よい。
【0078】DMAC1806は、バスライン1817
に接続されているメモリ(すなわち、ROM1802お
よびRAM1803)と該メモリ以外の部分との間のデ
ータ転送を制御するコントローラである。特に、DMA
C1806は、DSP1809,1810やハードデバ
イス1811,1812、およびDAC1805などか
らのデータ転送要求に応じて、任意のデータを任意のア
ドレスにCPU1801を介さずにダイレクトに転送す
るためのコントローラである。
【0079】CPU1801、DSP1809,181
0、およびハードデバイス1811,1812のそれぞ
れで楽音信号形成に係る動作を行なうが、具体的には幾
つかの楽音信号形成に係る要素機能を組み合わせて最終
的な楽音を生成する。これらの各要素機能は、CPU1
801、DSP1809,1810、およびハードデバ
イス1811,1812が所定のプログラムやパラメー
タで動作することにより実現される。CPU1801、
DSP1809,1810、およびハードデバイス18
11,1812のそれぞれが各要素機能を果たすために
必要なソフトウエア(プログラムやパラメータ)をソフ
トウエアモジュールと呼ぶ。各ソフトウエアモジュール
は、あらかじめROM1802上に用意されている。以
下の(1)〜(15)で各ソフトウエアモジュールの概
略を説明する。なお、この電子楽器では、上述の第1の
実施の形態と同様に、ユーザが楽音信号形成に係る各要
素機能のオン/オフ(有効/無効)を指定できるように
なっており(その詳細は後述する)、当該要素機能がオ
ンされたときに使用するソフトウエアモジュール(名称
が「… ONモジュール」となっているもの)だけでな
く、当該要素機能がオフされたときに使用するソフトウ
エアモジュール(名称が「… OFFモジュール」とな
っているもの)も用意されている。
【0080】(1)CPU1801で楽音信号の発生
(波形メモリ読み出し方式)を行なう機能に係るソフト
ウエアモジュールとして、当該機能がオンされていると
きに用いるCPU WM TG ONモジュールと、当
該機能がオフされているときに用いるCPU WM T
G OFFモジュールとが用意されている。CPU W
MTG ONモジュールは、CPU1801で楽音信号
の発生(波形メモリ読み出し方式)を行なうプログラム
である。CPU WM TG OFFモジュールは、常
に0を出力するプログラムである。
【0081】(2)CPU1801でディジタルフィル
タ処理を行なう機能に係るソフトウエアモジュールとし
て、当該機能がオンされているときに用いるCPU D
F ONモジュールと、当該機能がオフされているとき
に用いるCPU DF OFFモジュールとが用意され
ている。CPU DF ONモジュールは、CPU18
01でディジタルフィルタ処理を行なうプログラムであ
る。CPU DF OFFモジュールは、入力をそのま
まスルーして出力するプログラムである。
【0082】(3)CPU1801で振幅制御(エンベ
ロープ付与処理)を行なう機能に係るソフトウエアモジ
ュールとして、当該機能がオンされているときに用いる
CPUAMPL ONモジュールと、当該機能がオフさ
れているときに用いるCPUAMPL OFFモジュー
ルとが用意されている。CPU AMPL ONモジュ
ールは、CPU1801で振幅制御(エンベロープ付与
処理)を行なうプログラムである。CPU AMPL
OFFモジュールは、入力をそのままスルーして出力す
るプログラムである。
【0083】(4)DSP1809で楽音信号の発生
(波形メモリ読み出し方式)を行なう機能に係るソフト
ウエアモジュールとして、当該機能がオンされていると
きに用いるDSP1 WM TG ONモジュールと、
当該機能がオフされているときに用いるDSP1 WM
TG OFFモジュールとが用意されている。DSP
1WM TG ONモジュールは、DSP1809で楽
音信号の発生(波形メモリ読み出し方式)を行なうマイ
クロプログラムである。DSP1 WM TGOFFモ
ジュールは、常に0を出力するマイクロプログラムであ
る。
【0084】(5)DSP1809でディジタルフィル
タ処理を行なう機能に係るソフトウエアモジュールとし
て、当該機能がオンされているときに用いるDSP1
DFONモジュールと、当該機能がオフされているとき
に用いるDSP1 DF OFFモジュールとが用意さ
れている。DSP1 DF ONモジュールは、DSP
1809でディジタルフィルタ処理を行なうマイクロプ
ログラムである。DSP1 DF OFFモジュール
は、入力をそのままスルーして出力するマイクロプログ
ラムである。
【0085】(6)DSP1809で振幅制御(エンベ
ロープ付与処理)を行なう機能に係るソフトウエアモジ
ュールとして、当該機能がオンされているときに用いる
DSP1 AMPL ONモジュールと、当該機能がオ
フされているときに用いるDSP1 AMPL OFF
モジュールとが用意されている。DSP1 AMPLO
Nモジュールは、DSP1809で振幅制御(エンベロ
ープ付与処理)を行なうマイクロプログラムである。D
SP1 AMPL OFFモジュールは、入力をそのま
まスルーして出力するマイクロプログラムである。
【0086】(7)DSP1809でディレイ(遅延)
処理とフィルタ処理のループ処理を行なう機能に係るソ
フトウエアモジュールとして、当該機能がオンされてい
るときに用いるDSP1 D&F LOOP ONモジ
ュールと、当該機能がオフされているときに用いるDS
P1 D&F LOOP OFFモジュールとが用意さ
れている。DSP1 D&F LOOP ONモジュー
ルは、DSP1809でディレイ(遅延)処理とフィル
タ処理のループ処理を行なうマイクロプログラムであ
る。DSP1 D&F LOOP OFFモジュール
は、入力をそのままスルーして出力するマイクロプログ
ラムである。
【0087】(8)DSP1809で残響(リバーブ)
効果付与処理を行なう機能に係るソフトウエアモジュー
ルとして、当該機能がオンされているときに用いるDS
P1REVERB ONモジュールと、当該機能がオフ
されているときに用いるDSP1 REVERB OF
Fモジュールとが用意されている。DSP1 REVE
RB ONモジュールは、DSP1809で残響(リバ
ーブ)効果付与処理を行なうマイクロプログラムであ
る。DSP1 REVERB OFFモジュールは、入
力をそのままスルーして出力するマイクロプログラムで
ある。
【0088】(9)DSP1809でコーラス効果付与
処理を行なう機能に係るソフトウエアモジュールとし
て、当該機能がオンされているときに用いるDSP1
CHORUS ONモジュールと、当該機能がオフされ
ているときに用いるDSP1 CHORUS OFFモ
ジュールとが用意されている。DSP1 CHORUS
ONモジュールは、DSP1809でコーラス効果付与
処理を行なうマイクロプログラムである。DSP1 C
HORUS OFFモジュールは、入力をそのままスル
ーして出力するマイクロプログラムである。
【0089】(10)DSP1809でフェーズシフト
効果付与処理を行なう機能に係るソフトウエアモジュー
ルとして、当該機能がオンされているときに用いるDS
P1PHASE SHIFTER ONモジュールと、
当該機能がオフされているときに用いるDSP1 PH
ASE SHIFTER OFFモジュールとが用意さ
れている。DSP1 PHASE SHIFTER O
Nモジュールは、DSP1809でフェーズシフト効果
付与処理を行なうマイクロプログラムである。DSP1
PHASE SHIFTER OFFモジュールは、
入力をそのままスルーして出力するマイクロプログラム
である。
【0090】(11)DSP1809でミキシング処理
を行なう機能に係るソフトウエアモジュールとして、当
該機能がオンされているときに用いるDSP1 MIX
ERiONモジュールと、当該機能がオフされていると
きに用いるDSP1 MIXERi OFFモジュール
とが用意されている。DSP1 MIXERi ONモ
ジュールは、DSP1809でミキシング処理(指定さ
れたパラメータに基づく)を行なうマイクロプログラム
である。DSP1 MIXERi OFFモジュール
は、すべての入力を無条件に混合して出力するマイクロ
プログラムである。なお、DSP1809によるミキサ
はn個(nは所定数)用意することができるものとし、
したがって上記のiは1〜nの値をとる。
【0091】(12)DSP1809でFM方式音源処
理を行なう機能に係るソフトウエアモジュールとして、
当該機能がオンされているときに用いるDSP1 FM
ONモジュールと、当該機能がオフされているときに
用いるDSP1 FM OFFモジュールとが用意され
ている。DSP1 FM ONモジュールは、DSP1
809でFM方式音源処理を行なうマイクロプログラム
である。DSP1 FMOFFモジュールは、常に0を
出力するマイクロプログラムである。
【0092】(13)上記(4)から(12)と同様の
ソフトウエアモジュールであって、DSP1810に係
るものが用意されている。すなわち、上記(4)から
(12)において、「DSP1」を「DSP2」に、
「DSP1809」を「DSP1810」に、読み替え
ればよい。
【0093】(14)装備されているハードデバイス1
811による機能を実現するソフトウエアモジュールと
して、当該機能がオンされているときに用いるHARD
1 ONモジュールと、当該機能がオフされているとき
に用いるHARD1 OFFモジュールとが用意されて
いる。HARD1 ONモジュールは、FM方式音源処
理を行なう際にハードデバイス1811に与えるパラメ
ータである。HARD1OFFモジュールは、常に0を
出力する動作を行なわせるためにハードデバイス181
1に与えるパラメータである。
【0094】(15)装備されているハードデバイス1
812による機能を実現するソフトウエアモジュールと
して、当該機能がオンされているときに用いるHARD
2 ONモジュールと、当該機能がオフされているとき
に用いるHARD2 OFFモジュールとが用意されて
いる。HARD2 ONモジュールは、波形メモリ読み
出し方式の音源処理を行なう際にハードデバイス181
2に与えるパラメータである。HARD2 OFFモジ
ュールは、常に0を出力する動作を行なわせるためにハ
ードデバイス1812に与えるパラメータである。
【0095】上述の(1)〜(3)のソフトウエアモジ
ュールは、RAM1803上のワーク領域にロードされ
CPU1801により実行される。(4)〜(12)の
ソフトウエアモジュールは、DSP1809のマイクロ
プログラムRAMにロードされ実行される。(13)の
ソフトウエアモジュールは、DSP1810のマイクロ
プログラムRAMにロードされ実行される。(14)の
ソフトウエアモジュールは、ハードデバイス1811に
転送され、ハードデバイス1811は転送されたパラメ
ータに基づいて動作する。(15)のソフトウエアモジ
ュールは、ハードデバイス1812に転送され、ハード
デバイス1812は転送されたパラメータに基づいて動
作する。
【0096】図20は、図18のRAM1803のメモ
リマップを示す。RAM1803には、CPU1801
が使用するワーク領域2001、出力バッファ(OUT
PUT BUFFERS)2002、およびその他のバ
ッファ領域2003が設けられている。出力バッファ2
002には、図20の右側に示してあるように、CPU
1801、DSP1809,1810、およびハードデ
バイス1811,1812が上述の各ソフトウエアモジ
ュールを用いた動作を行なった結果を記録するための領
域が設けられている。各ソフトウエアモジュールは、他
のソフトウエアモジュールによる出力をこれらの領域か
ら読み出して処理に用いる。なお、CPU1801以外
のプロセッサやデバイス(すなわち、DSP1809,
1810およびハードデバイス1811,1812)が
これらの領域を読み出し/書き込みする場合は、それぞ
れDMAC1806に対して転送要求を出してDMA
(ダイレクト・メモリ・アクセス)によって行なう。た
だし、CPU1801で管理制御するようにしても良
い。以下、出力バッファ2002の各領域について説明
する。
【0097】(1)CPU WM TG:CPU WM
TG ONモジュールまたはCPUWM TG OF
Fモジュールが、その出力を記録する領域である。 (2)CPU DF:CPU DF ONモジュールま
たはCPU DF OFFモジュールが、その出力を記
録する領域である。 (3)CPU AMPL:CPU AMPL ONモジ
ュールまたはCPU AMPL OFFモジュールが、
その出力を記録する領域である。 (4)DSP1 WM TG:DSP1 WM TG
ONモジュールまたはDSP1 WM TG OFFモ
ジュールが、その出力を記録する領域である。
【0098】(5)DSP1 DF:DSP1 DF
ONモジュールまたはDSP1 DFOFFモジュール
が、その出力を記録する領域である。 (6)DSP1 AMPL:DSP1 AMPL ON
モジュールまたはDSP1 AMPL OFFモジュー
ルが、その出力を記録する領域である。 (7)DSP1 D&F LOOP:DSP1 D&F
LOOP ONモジュールまたはDSP1 D&F
LOOP OFFモジュールが、その出力を記録する領
域である。 (8)DSP1 REVERB:DSP1 REVER
B ONモジュールまたはDSP1 REVERB O
FFモジュールが、その出力を記録する領域である。
【0099】(9)DSP1 CHORUS:DSP1
CHORUS ONモジュールまたはDSP1 CH
ORUS OFFモジュールが、その出力を記録する領
域である。 (10)DSP1 PHASE SHIFTER:DS
P1 PHASE SHIFTER ONモジュールま
たはDSP1 PHASE SHIFTER OFFモ
ジュールが、その出力を記録する領域である。 (11)DSP1 MIXERi(i=1〜n):DS
P1 MIXERi ONモジュールまたはDSP1
MIXERi OFFモジュールが、その出力を記録す
る領域である。このミキサはn個(nは所定数)用意す
ることができ、それぞれのミキシング結果を格納する領
域が確保されている。 (12)DSP1 FM:DSP1 FM ONモジュ
ールまたはDSP1 FM OFFモジュールが、その
出力を記録する領域である。
【0100】(13)DSP2 WM TGからDSP
2 FMまでの各領域:上述の(4)から(12)と同
様のバッファ領域であって、DSP1810に係るバッ
ファ領域である。 (14)HARD1:HARD1 ONモジュールまた
はHARD1 OFFモジュールに基づいて動作するハ
ードデバイス1811が、その出力を記録する領域であ
る。 (15)HARD2:HARD2 ONモジュールまた
はHARD2 OFFモジュールに基づいて動作するハ
ードデバイス1812が、その出力を記録する領域であ
る。 (16)HARD3〜m:他のハードデバイスで処理し
た結果をそれぞれ格納する領域であるが、この電子楽器
で装備されているのはハードデバイス1811,181
2のみであるので未使用である。
【0101】次に、この電子楽器における楽音発生のア
ルゴリズムの編集操作について説明する。この電子楽器
では、ユーザはディスプレイ1804を見ながら手動操
作子1807およびタイピングキーボード1808を操
作することにより、楽音発生のアルゴリズムを適宜編集
することができる。具体的には、以下の(1)〜(5)
ような手順にしたがう。
【0102】(1)システムが、ディスプレイ1804
にモジュール画面を表示する。モジュール画面は、楽音
信号形成のための各種の要素機能を示すブロック(部品
といえる)を表示する画面である。各ブロックは、上述
の各ソフトウエアモジュールで実現される要素機能に対
応するものであり、以下ではモジュール画面に表示され
る各ブロックをモジュールと呼ぶものとする。 (2)ユーザは、モジュール画面から楽音発生アルゴリ
ズムの編集に用いるモジュールを選択する。この選択は
モジュール画面上に表示された複数のモジュールから、
所望のモジュールをマウス1807でクリック操作する
ことにより行なう。
【0103】(3)システムが、ディスプレイ1804
に表示する画面をモジュール画面からパッチ画面に切り
換え、上記(2)で選択されたモジュールを当該パッチ
画面に表示(貼り付け)する。パッチ画面とは、楽音発
生アルゴリズムを編集作成する画面であり、上述の第1
の実施の形態の図3および図4に示した画面に対応する
ものである。 (4)ユーザは、パッチ画面上で、各モジュールの設定
(後述する「SETTINGS」や「PARAMETE
RS」の設定)を行ない、さらに各モジュール間の入出
力関係を規定する結線を行なう。 (5)上記の処理を繰り返し、パッチ画面上に、使用す
るモジュールを貼り付けて編集し(適宜、表示画面上で
移動あるいは削除もできる)、所望の楽音発生アルゴリ
ズムを編集作成する。
【0104】図21は、モジュール画面の一例を示す。
図22は、各モジュールに対してどのような設定ができ
るかを説明するための図である。図23および図24
は、パッチ画面の一例を示す。
【0105】図21において、2100はディスプレイ
1804に表示されるモジュール画面の範囲を示す。こ
のモジュール画面2100上には、2101〜2111
に示すように各モジュールを示す図形が表示されてい
る。これらのモジュール2101〜2111の何れかに
マウスポインタを合わせてマウスボタンをクリックする
と(この操作を「モジュールの選択」と呼ぶ)、図21
のモジュール画面2100が消去され、ディスプレイ1
804上にはパッチ画面が表示され、そのパッチ画面に
いま選択したモジュールが貼り付けられる。モジュール
の選択は、楽音信号形成のための要素機能を選択するこ
とに相当する。図23および図24の例では、すでにい
くつかのモジュールが貼り付けられ結線された様子を示
してあるが、パッチ画面の初期状態は、何らのモジュー
ルが表示されていない白紙(ただしパッチ画面の名称や
プレイあるいはモジュール画面に戻る際にクリックする
項目は除く)の状態である。
【0106】図21のモジュール画面において、各モジ
ュールを示す矩形の上部左側には当該モジュールに対応
する要素機能がパッチ画面において有効か無効か(オン
/オフ)を指定するためのチェックボックス、および当
該モジュールの名称が表示されている。例えば、波形メ
モリ読み出し方式で楽音波形を発生するモジュール21
01の矩形の上部左側にはチェックボックス2131と
名称「WAVE MEMORY TG」2132が表示
されている。他のモジュール2102〜2110の上部
にも同様にチェックボックスと名称が表示されている。
特別なモジュールとして最終的に楽音信号を取り出す位
置を指定するための「OUT」モジュール2111があ
る。「OUT」モジュール2111は必ず必要なモジュ
ールであるのでオン/オフを指定するためのチェックボ
ックスは表示されていない。
【0107】基本的に、各モジュールの下部左側には
「SETTINGS」、その右側には「PARAMET
ERS」が表示される。例えば、「WAVE MEMO
RYTG」モジュール2101の下部左側には「SET
TINGS」2136が、右側には「PARAMETE
RS」2137が表示されている。各モジュールをパッ
チ画面に貼り付けた後、「SETTINGS」をマウス
でクリックすることにより、当該モジュールに関する各
種の設定を行なうことができる。また、「PARAME
TERS」をマウスでクリックすることにより、当該モ
ジュールに関する各種のパラメータ設定を行なうことが
できる。
【0108】図22(b)は、パッチ画面上で図22
(a)の「WAVE MEMORYTG」モジュール2
101の「SETTINGS」2136をマウスでクリ
ックした状態を示し、「SETTINGS」に関する新
たなメニュー2210が表示されている。メニュー22
10には、各種の選択項目がリスト形式で表示されてい
る。「PROCESSOR」2211は当該モジュール
の要素機能を実現するプロセッサを選択するときにクリ
ックする項目、「SAMPLING FREQ」221
2はサンプリング周波数を設定するときにクリックする
項目である。
【0109】メニュー2210のうち、「PROCES
SOR」2211をマウスでクリックすると、図22
(c)または図22(d)のプロセッサ選択メニュー2
220または2230が表示される。プロセッサ選択メ
ニューは、当該モジュールの要素機能をどのプロセッサ
で実現するかを選択させるためのメニューである。図2
2(c)のプロセッサ選択メニュー2220では、チェ
ックボックス付きで「CPU」2222、「DSP1」
2223、および「DSP2」2224が表示されてい
る。「CPU」2222、「DSP1」2223、およ
び「DSP2」2224の何れかのチェックボックスを
マウスでクリックして選択すると、当該モジュールの要
素機能は、それぞれCPU1801、DSP1809、
またはDSP1810で実現されることになる。
【0110】図22(c)のプロセッサ選択メニュー2
220では、「HARD LSI」2225が×印付き
で表示されているが、これは当該モジュールの要素機能
を実現するハードデバイスが装備されていないことを示
す。一方、図22(d)のプロセッサ選択メニュー22
30では、当該モジュールの要素機能を実現するハード
デバイスが装備されているので、「HARD LSI」
2232も選択項目の1つとしてチェックボックス付き
で表示されている。このチェックボックスをマウスでク
リックして選択すると、当該モジュールの要素機能はそ
のハードデバイスで実現されることになる。「WAVE
MEMORY TG」モジュール2101は波形メモ
リ読み出し方式の楽音信号発生部を表すモジュールであ
り、既に説明したように、CPU1801、DSP18
09,1810、およびハードデバイス1812の何れ
によってもこの機能は実現できるので、モジュール21
01では図22(d)のプロセッサ選択メニュー223
0が表示される。
【0111】このように、各モジュールごとに、そのモ
ジュールの機能を実現できるプロセッサがプロセッサ選
択メニューに表示され選択できるようになっている。図
22(c)または図22(d)のプロセッサ選択メニュ
ー2220,2230において、2221,2231は
クローズボックスであり、ユーザはプロセッサ選択メニ
ューで所望のプロセッサを選択したのちこのクローズボ
ックス2221,2231をクリックしてプロセッサ選
択メニュー2220,2230を閉じる。
【0112】なお、この第2の実施の形態では、チェッ
クボックスが黒く塗りつぶされている項目が選択状態
(有効/オン)を示し、白抜きの項目が非選択状態(無
効/オフ)を示すものとする。この点、第1の実施の形
態とは逆になっている。要するに、何れの項目が選択さ
れているかが分かるような表示形式であればどのような
表示形式でも良い。
【0113】図22(e)は、パッチ画面上で図22
(a)の「WAVE MEMORYTG」モジュール2
101の「PARAMETERS」2137をマウスで
クリックした状態を示し、新たにパラメータ設定メニュ
ー2240が表示されている。パラメータ設定メニュー
2240には、クローズボックス2241が設けられて
おり、これをクリックすることにより閉じることができ
る。また、パラメータ設定メニュー2240には、当該
モジュールに関する各種のパラメータ値2243がリス
ト形式で表示されており、ユーザはマウス1807やタ
イピングキーボード1808を操作してこれらの各パラ
メータ値を設定変更することができる。2242はパラ
メータグループの番号と名称を示す。パラメータグルー
プとは、このパラメータ設定メニュー2240で設定さ
れている一連のパラメータ値全体をまとめて把握したも
のである。
【0114】パラメータグループを選択することによ
り、当該モジュールに関するパラメータ値を一括して変
更できる。図22(a)のモジュール2101の中央部
には「001 PIANO1」2134というパラメー
タグループの番号と名称がアンダライン付きで表示され
ている。これは、現在、このモジュール2101には
「001 PIANO1」で表されるパラメータグルー
プが設定されていることを示している。この表示213
4部分をクリックすると、図22(f)のように、プリ
セットされているパラメータグループの一覧表示245
0がなされる。ユーザがこの一覧表示2450のうちか
ら所望のパラメータグループを選択すると、そのパラメ
ータグループの各パラメータ値が当該モジュールに関す
るパラメータとして一括して設定される。
【0115】図22(g)および(h)は、FM音源モ
ジュール2109において別のパラメータグループを選
択した例を示す。図22(g)では2261に示すよう
に「008 FM−BRASS1」が選択されており、
図22(h)では2262に示すように「058 FM
−SYNTH1」が選択されている。FM音源モジュー
ルでは、パラメータグループを指定することにより狭義
のアルゴリズム(オペレータの組み合わせ方)を指定す
ることができるので、図22(g)および(h)ではそ
れぞれ指定されたパラメータグループに応じたオペレー
タの組み合わせを表す図形がモジュール2109の内部
に表示されている。
【0116】再び図21を参照して、「SETTING
S」および「PARAMETERS」は基本的にすべて
のモジュールに表示されるが、例外として「FOOT
CONTROLLER」モジュール2110では設定す
べきパラメータがないので、「PARAMETERS」
は表示されていない。また、「MIXER」モジュール
2108や「OUT」モジュール2111では、設定す
る項目やパラメータがないので、「SETTINGS」
および「PARAMETERS」の両方とも表示されて
いない。また、「AMPLITUDE CONTROL
LER」モジュール2103では、設定すべきパラメー
タは内部のエンべローブジェネレータのパラメータであ
るので、「EG PARAMETERS」と表示されて
いる。
【0117】パラメータグループを選択することにより
一括してパラメータを設定できるモジュールには、現在
選択されているパラメータグループを表す番号と名称の
表示(モジュール内にアンダライン付きで表示されてお
り、ここをクリックすることにより図22(f)で説明
したように所望のパラメータグループを選択できる)が
表示されている。設定すべきパラメータがない「FOO
T CONTROLLER」モジュール2110、「M
IXER」モジュール2108、および「OUT」モジ
ュール2111にはパラメータグループの表示はない。
【0118】各モジュールには入力端子および出力端子
を表す小さな矩形が設けられている。例えば、モジュー
ル2101には発生した楽音信号を出力する出力端子2
135が表示され、モジュール2102には入力端子2
151および出力端子2152の両方が表示されてい
る。モジュールの機能として楽音信号を入力しないモジ
ュールは入力端子を持たない。
【0119】「MIXER」モジュール2108では、
入力端子および出力端子のそれぞれに各入出力信号の重
みを示す00〜99の数値がアンダライン付きで表示さ
れている。この重みを示す数値は、パッチ画面上でユー
ザが適宜変更できる。
【0120】図21のモジュール画面2100におい
て、2121はこのモジュール画面の名称を示す。この
名称部分をクリックすることにより、他のモジュール画
面の名称の一覧が表示され、ユーザはその一覧表示の中
から所望のモジュール画面を選択することができる。こ
れにより、別のモジュールの集合から成るモジュール画
面を表示して、そこから別のモジュールを選択すること
もできる。2123は通常演奏モードに移行する際にク
リックする項目の表示であり、この項目をクリックする
ことにより通常演奏モードに移行する。2122はモジ
ュールを選択すること無しにパッチ画面に移行するため
の項目の表示であり、この項目をクリックすることによ
りパッチ画面に移行する。
【0121】次に、図23および図24を参照して、パ
ッチ画面における操作について説明する。図23のパッ
チ画面において、2300はディスプレイ上に表示され
る範囲を示す。パッチ画面2300の初期状態(パッチ
画面に何もモジュールを貼り付けていない状態)では、
パッチ画面の名称の表示2301、通常演奏モードに戻
る際に指定する項目の表示2302、およびモジュール
画面に戻る際に指定する項目の表示2303のみが表示
され、それ以外は白紙である。
【0122】図21および図22で説明したように、モ
ジュール画面から各モジュールを選択し、図23のよう
にパッチ画面上に貼り付ける。そして、図22で説明し
たように、各モジュールに関するプロセッサなどの選択
やパラメータの設定を行なう。さらに、各モジュールの
入力端子および出力端子を結線する。結線の仕方は、マ
ウスにより入力端子から出力端子にドラッグする。結線
された入力端子および出力端子は黒く塗りつぶされる。
また、上述の第1の実施形態例と同様に、貼り付けたモ
ジュールの上部左側のチェックボックスをクリックして
当該モジュールに対応する要素機能のオン/オフを決定
する。
【0123】以上のようにして、パッチ画面上で楽音発
生アルゴリズム(楽音信号形成の全体の手順)を作成す
る。作成した楽音発生アルゴリズムは、パッチデータと
してRAM1803(バックアップ電池を備えており、
装置が電源オフしても記憶内容は保持される)に記憶さ
れ、その名称(図23の2301)で呼び出す(パッチ
データの選択)ことができる。パッチデータの実体は、
使用するモジュールを示すデータ、それらのモジュール
の設定(「SETTINGS」や「PARAMETER
S」やパラメータグループの設定)を示すデータ、各モ
ジュール間の結線状況を示すデータ、および各モジュー
ルのオン/オフを示すデータなどである。
【0124】パッチデータが選択されると、そのパッチ
データに含まれるモジュールに対応したソフトウエアモ
ジュールが、RAM1803、DSP1809,181
0のマイクロプログラムRAM、およびハードデバイス
1811,1812に展開(ロード)され、それらのソ
フトウエアモジュールにしたがって楽音が形成される。
図21に示した各モジュールと、上述したソフトウエア
モジュールとの対応関係を以下の(1)〜(11)に示
す。なお、対応するソフトウエアモジュールとして名称
が「… ONモジュール」となっているものと「… O
FFモジュール」となっているものとの両方が挙げられ
ているものがあるが、各モジュールの要素機能のオン/
オフ(すなわち、各モジュールの上部左のチェックボッ
クスのオン/オフ)に応じて「… ONモジュール」ま
たは「… OFFモジュール」の何れかが当該モジュー
ルに対応するソフトウエアモジュールとなる。
【0125】(1)「WAVE MEMORY TG」
モジュール2101:当該モジュールの要素機能を実現
するプロセッサとして「CPU」が選択されたときはC
PUWM TG ONモジュールまたはCPU WM
TG OFFモジュール、「DSP1」が選択されたと
きはDSP1 WM TG ONモジュールまたはDS
P1 WM TG OFFモジュール、「DSP2」が
選択されたときはDSP2 WM TG ONモジュー
ルまたはDSP2 WM TG OFFモジュール、
「HARD LSI」が選択されたときはHARD2
ONモジュールまたはHARD2 OFFモジュール
が、対応する。
【0126】(2)「DIGITAL FILTER」
モジュール2102:当該モジュールの要素機能を実現
するプロセッサとして「CPU」が選択されたときはC
PUDF ONモジュールまたはCPU DF OFF
モジュール、「DSP1」が選択されたときはDSP1
DF ONモジュールまたはDSP1 DF OFF
モジュール、「DSP2」が選択されたときはDSP2
DF ONモジュールまたはDSP2 DF OFF
モジュールが、対応する。
【0127】(3)「AMPLITUDE CONTR
OLLER」モジュール2103:当該モジュールの要
素機能を実現するプロセッサとして「CPU」が選択さ
れたときはCPU AMPL ONモジュールまたはC
PU AMPL OFFモジュール、「DSP1」が選
択されたときはDSP1 AMPL ONモジュールま
たはDSP1 AMPL OFFモジュール、「DSP
2」が選択されたときはDSP2 AMPL ONモジ
ュールまたはDSP2 AMPL OFFモジュール
が、対応する。
【0128】(4)「DELAY&FILTER LO
OP」モジュール2104:当該モジュールの要素機能
を実現するプロセッサとして「DSP1」が選択された
ときはDSP1 D&F LOOP ONモジュールま
たはDSP1 D&F LOOP OFFモジュール、
「DSP2」が選択されたときはDSP2 D&F L
OOP ONモジュールまたはDSP2 D&F LO
OP OFFモジュールが、対応する。
【0129】(5)「REVERVE」モジュール21
05:当該モジュールの要素機能を実現するプロセッサ
として「DSP1」が選択されたときはDSP1 RE
VERB ONモジュールまたはDSP1 REVER
B OFFモジュール、「DSP2」が選択されたとき
はDSP2 REVERB ONモジュールまたはDS
P2 REVERB OFFモジュールが、対応する。
【0130】(6)「CHORUS」モジュール210
6:当該モジュールの要素機能を実現するプロセッサと
して「DSP1」が選択されたときはDSP1 CHO
RUSONモジュールまたはDSP1 CHORUS
OFFモジュール、「DSP2」が選択されたときはD
SP2 CHORUS ONモジュールまたはDSP2
CHORUS OFFモジュールが、対応する。
【0131】(7)「PHASE SHIFTER」モ
ジュール2107:当該モジュールの要素機能を実現す
るプロセッサとして「DSP1」が選択されたときはD
SP1PHASE SHIFTER ONモジュールま
たはDSP1 PHASESHIFTER OFFモジ
ュール、「DSP2」が選択されたときはDSP2PH
ASE SHIFTER ONモジュールまたはDSP
2 PHASESHIFTER OFFモジュールが、
対応する。
【0132】(8)「MIXER」モジュール210
8:当該モジュールの要素機能(ミキシング機能)はD
SP1809または1810の何れかで実現されるが、
どちらのDSPで実現するかはシステムが適宜決定す
る。したがって、DSP1809が選ばれたときはDS
P1 MIXERi ONモジュールまたはDSP1
MIXERi OFFモジュール、DSP1810が選
ばれたときはDSP2 MIXERi ONモジュール
またはDSP2 MIXERi OFFモジュールが、
対応する。なお、1つのDSPでミキサはn個(nは所
定数)用意することができるので、i=1〜nであり、
「MIXER」モジュール2108は1つのDSPに対
してn個までパッチ画面に貼り付けることができる。貼
り付けた順に、i=1,2,…と割り当てるものとす
る。
【0133】(9)「FM TONE GENERAT
OR」モジュール2109:当該モジュールの要素機能
を実現するプロセッサとして「DSP1」が選択された
ときはDSP1 FM ONモジュールまたはDSP1
FM OFFモジュール、「DSP2」が選択された
ときはDSP2 FM ONモジュールまたはDSP2
FM OFFモジュール、「HARD LSI」が選択
されたときはHARD1 ONモジュールまたはHAR
D1 OFFモジュールが、対応する。
【0134】(10)「FOOT CONTROLLE
R」モジュール2110:当該モジュールに対応するソ
フトウエアモジュールはない。このモジュール2110
の出力を入力するモジュールの側でフットコントローラ
1815の出力値を取り込むようにしている。
【0135】(11)「OUT」モジュール2111:
当該モジュールに対応するソフトウエアモジュールはな
い。DAC1805が最終的に楽音信号を取り込んでサ
ウンドシステムに送出する際、DAC1805はこのモ
ジュール2111に結線されているモジュールの出力デ
ータを取り込むようにしている。
【0136】以上のように、選択されたパッチデータに
応じたソフトウエアモジュールが展開され、さらに上記
第1の実施の形態と同様に、オフされたモジュールに対
してはステップ数の少ないソフトウエアモジュール(常
に0を出力したり、入力をスルーして出力するソフトウ
エアモジュール)が使用されるので、無駄なステップの
ないプログラムで楽音信号形成を行なうことができるな
ど、上記第1の実施の形態と同様の効果を奏する。
【0137】次に、この電子楽器における動作を詳しく
説明する。図25は、CPU1801が実行するメイン
プログラムの処理手順を示すフローチャートである。ま
ず、ステップ2501で各種の初期設定を行なう。特
に、後述するパッチエディット処理での処理手順を制御
するためのシーケンスフラグSEQFLG1およびSE
QFLG2は0に初期化する。次に、ステップ2502
で操作イベント検出処理を行ない、ステップ2503で
演奏イベント処理を行なう。操作イベント検出処理は、
マウス1807およびタイピングキーボード1808な
どの操作イベントを検出する処理である。演奏イベント
処理は、演奏者による鍵盤1816やフットコントロー
ラ1815の演奏イベント(MIDI入力も含む)を検
出し、検出した演奏イベントに応じて楽音発生の指示を
行なう処理である。
【0138】次に、ステップ2504でモード管理処理
を行なう。この電子楽器は、通常演奏モード(ユーザの
演奏操作に応じて楽音を発音するモード)とパッチエデ
ィットモード(上述したようにモジュール画面とパッチ
画面を切り替えながらパッチ画面上でパッチデータを作
成するモード)の2つのモードを有する。モード管理処
理では、これらのモードの切り替え処理を行なう。
【0139】次に、ステップ2505で、現在のモード
がパッチエディットモードであるか否かを判別する。パ
ッチエディットモードであるときは、ステップ2507
でパッチエディット処理(図27)を行ない、そうでな
いときはステップ2506でパッチ選択処理を行なう。
パッチ選択処理は名称などを指定することによりパッチ
データを選択する処理である。パッチ選択処理では、選
択されたパッチデータに含まれるモジュールに対応した
ソフトウエアモジュールを、RAM1803、DSP1
809,1810のマイクロプログラムRAM、および
ハードデバイス1811,1812に展開する処理も行
なう。
【0140】次に、ステップ2508で、CPU180
1による音源処理動作の選択があるか否かを判別する。
これは、現在選択されて展開されているパッチデータ中
に、CPUで音源処理を行なうモジュールが含まれてい
るか否かを判別するものである。CPU1801による
音源処理動作の選択がある場合は、ステップ2509で
CPU1801による音源処理(図26)を行なう。そ
うでないときは、直接ステップ2510に進む。ステッ
プ2510でその他の処理を行ない、再びステップ25
02に戻る。
【0141】図26は、図25のステップ2509のC
PU音源処理の詳細を示すフローチャートである。CP
U音源処理では、まずステップ2601で、波形メモリ
音源CPU処理が選択されているか否かを判別する。こ
れは、現在選択されているパッチデータが「WAVE
MEMORY TG」モジュール2101を含み、かつ
当該モジュール2101を実現するプロセッサとして
「CPU」が設定されているか否かを判別するものであ
る。もしそうであるなら、RAM1803上に当該モジ
ュール2101のオン/オフに応じてCPU WM T
G ONモジュールまたはCPU WM TG OFF
モジュールが展開されているから、ステップ2602で
その展開されているソフトウエアモジュールを実行する
ことにより、波形メモリ音源処理(所定の波形メモリか
ら波形データを読み出して発生する処理)を行なう。
【0142】次に、ステップ2603で、ディジタルフ
ィルタCPU処理が選択されているか否かを判別する。
これは、現在選択されているパッチデータが「DIGI
TAL FILTER」モジュール2102を含み、か
つ当該モジュール2102を実現するプロセッサとして
「CPU」が設定されているか否かを判別するものであ
る。もしそうであるなら、RAM1803上に当該モジ
ュール2102のオン/オフに応じてCPU DF O
NモジュールまたはCPU DF OFFモジュールが
展開されているから、ステップ2604でその展開され
ているソフトウエアモジュールを実行することにより、
デジタルフィルタ処理を行なう。
【0143】次に、ステップ2605で、振幅制御CP
U処理が選択されているか否かを判別する。これは、現
在選択されているパッチデータが「AMPLITUDE
CONTROLLER」モジュール2103を含み、
かつ当該モジュール2103を実現するプロセッサとし
て「CPU」が設定されているか否かを判別するもので
ある。もしそうであるなら、RAM1803上に当該モ
ジュール2103のオン/オフに応じてCPU AMP
L ONモジュールまたはCPU AMPLOFFモジ
ュールが展開されているから、ステップ2606でその
展開されているソフトウエアモジュールを実行すること
により、振幅制御処理を行なう。
【0144】図27は、図25のステップ2507のパ
ッチエディット処理の詳細な処理手順を示すフローチャ
ートである。パッチエディット処理では、まずステップ
2701で、シーケンスフラグSEQFLG1が0であ
るか否かを判別する。シーケンスフラグSEQFLG1
は、通常演奏モードのとき0、パッチエディットモード
のとき1となるフラグである。シーケンスフラグSEQ
FLG1が0であるときは、通常演奏モードからパッチ
エディットモードに切り替えられた直後にこのパッチエ
ディット処理に入ってきたということであるから、ステ
ップ2702で、現在選択されているパッチデータに応
じてパッチ構成をパッチ画面に表示する。次に、ステッ
プ2703でフラグSEQFLG1に1をセットし、リ
ターンする。
【0145】ステップ2701でフラグSEQFLG1
が0でないときは、ステップ2704でシーケンスフラ
グSEQFLG2が0であるか否かを判別する。シーケ
ンスフラグSEQFLG2は、モジュール画面を表示す
る状態で1、パッチ画面を表示している状態で0となる
フラグである。フラグSEQFLG2が0なら、現在パ
ッチ画面が表示されているということだから、ステップ
2705で、パッチ画面上でモジュール画面への移行イ
ベント(図23の項目2303のクリック操作)が発生
したか否かを判別する。そうであるときは、ステップ2
706でモジュール画面を表示し、ステップ2707で
フラグSEQFLG2に1をセットして、リターンす
る。ステップ2705でモジュール画面への移行イベン
トでないときは、パッチ画面上で種々の編集処理を行な
うため、ステップ2708でパッチ詳細編集処理(図2
8)を行ない、リターンする。
【0146】ステップ2704でフラグSEQFLG2
が0でないときは、現在モジュール画面が表示されてい
るということだから、ステップ2709で、モジュール
画面上で何れかのモジュールの選択イベントがあったか
否かを判別する。モジュールの選択イベントがあった場
合は、ステップ2710でパッチ画面(現在選択されて
いるパッチデータのパッチ画面)表示に移行し、選択さ
れたモジュールをそのパッチ画面上に貼り付ける処理を
行なう。次に、ステップ2711でフラグSEQFLG
2を0にリセットし、リターンする。
【0147】ステップ2709でモジュールの選択イベ
ントでない場合は、ステップ2712で、モジュール画
面上でパッチ画面への移行イベント(図21の項目21
22のクリック操作)が発生したか否かを判別する。そ
うであるときは、ステップ2713でパッチ画面(現在
選択されているパッチデータのパッチ画面)表示を行な
い、ステップ2714でフラグSEQFLG2を0にリ
セットし、リターンする。ステップ2712でパッチ画
面への移行イベントでない場合は、ステップ2715で
モジュール画面変更処理を行ない、リターンする。モジ
ュール画面変更処理とは、現在表示されているモジュー
ル画面の名称部分(図21の2121)がクリックされ
たとき、他のモジュール画面の名称の一覧を表示し、ユ
ーザにその一覧表示の中から所望のモジュール画面を選
択させる処理である。なお、モジュール画面の名称部分
(図21の2121)のクリックがなかったときは、何
もせずにモジュール画面変更処理を抜けるものとする。
【0148】図28は、図27のステップ2708のパ
ッチ詳細編集処理の詳細なフローチャートを示す。パッ
チ詳細編集処理では、まずステップ2801で、パッチ
データの各モジュールの設定処理を行なう。これは、現
在選択されているパッチデータの各モジュールについ
て、パッチ画面上で、そのモジュールのオン/オフの設
定(例えば図22(a)のチェックボックス2131の
オン/オフ)、パラメータグループの指定(例えば図2
2(a)のパラメータグループの番号と名称2134の
変更)、「SETTINGS」に係る各種の設定(例え
ば図22(b)の2219、図22(c)、図22
(d))、および「PARAMETERS」に係る各種
のパラメータ設定(例えば図22(e)の2240)を
行なうものである。
【0149】次にステップ2802で、現在のパッチデ
ータに基づいて、DSPマイクロプログラムとCPU音
源処理プログラムの展開処理、およびハードデバイスへ
のパラメータ転送処理を行なう。これは、上述の第1の
実施形態例のDSPマイクロプログラムの展開処理と同
様の処理であり、現在選択されているパッチデータに含
まれるモジュールに対応したソフトウエアモジュール
を、RAM1803、DSP1809,1810のマイ
クロプログラムRAMに展開し、さらにハードデバイス
1811,1812に転送する処理である。ここで展開
されたCPU音源処理プログラムが、図26のステップ
2602,2604,2606で実行されるプログラム
となる。
【0150】次に、ステップ2803でその他の関連処
理を行ない、リターンする。その他の関連処理とは、パ
ッチ画面上のモジュールの移動や削除、モジュール間の
結線の編集処理、パッチデータの変更(現在表示されて
いるパッチ画面の名称部分(図23の2301)のクリ
ックを検出し、クリックされたときは他のパッチ画面の
名称の一覧を表示し、ユーザにその一覧表示の中から所
望のパッチ画面を選択させそのパッチ画面を表示する処
理)、およびパッチデータのセーブなどの処理である。
【0151】図29は、図23のパッチ画面のパッチデ
ータでの楽音発生処理のタイムチャート例である。特に
図29(a)は、図23のパッチデータにおいて、波形
メモリ音源処理(図23のWAVE MEMORY T
G)、デジタルフィルタ処理(DIGITAL FIL
TER)、および振幅制御処理(AMPLITUDEC
ONTROLLER)をCPU1801で、ディレイ&
フィルタループ処理(DELAY&FILTER LO
OP)、残響効果付与処理の前段のミキシング処理(M
IXER)、および残響効果付与処理(REVERB)
をDSP1809で、FM音源処理(FM TONE
GENERATOR)、および残響効果付与処理の後段
のミキシング処理(MIXER)をDSP1810で、
それぞれ行なうようにした場合のタイムチャートを示
す。なお、図29および図30において、S1,S2,
S3,S4はそれぞれ1DACサイクルを示す。
【0152】楽音信号が出力されるまでの処理の流れは
以下の通りである。図23の結線関係に応じた各処理間
の楽音信号の授受は、図20で説明した出力バッファ
(OUTPUT BUFFERS)を介して行なう。ま
ず、S1のサイクルでは、CPU1801により、斜線
区間2901で波形メモリ音源処理を行ない、その出力
に対して斜線区間2902でデジタルフィルタ処理を行
ない、その出力に対して斜線区間2903で振幅制御処
理(フットコントローラからの出力を用いるものとす
る)を行ない、また並行して斜線区間2904でDSP
1810によりFM音源処理を行なう。S2のサイクル
では、DSP1809により、斜線区間2905で上記
波形メモリ音源処理の出力に対してディレイ&フィルタ
ループ処理を行ない、上記振幅制御処理の出力、上記デ
ィレイ&フィルタループ処理の出力、および上記FM音
源処理の出力に対して斜線区間2906でミキシング処
理を行ない、その出力に対して斜線区間2907で残響
効果付与処理を行なう。S3のサイクルでは、DSP1
810により、上記振幅制御処理の出力、上記ディレイ
&フィルタループ処理の出力、上記FM音源処理の出
力、および上記残響効果付与処理の出力に対して斜線区
間2908でミキシング処理を行なう。その結果は、S
4のサイクルの斜線区間2909でDAC1805に出
力される(具体的には、所定の周期でDAC1805が
DMAC1806に対し、上記ミキシング結果が格納さ
れているRAM1803のアドレスを読みとれるように
制御し、これによりDAC1805が最終的な楽音信号
を読み出して不図示のサウンドシステムに出力する。
【0153】図29(b)は、図23のパッチデータに
おいて、波形メモリ音源処理(図23のWAVE ME
MORY TG)、デジタルフィルタ処理(DIGIT
ALFILTER)、振幅制御処理(AMPLITUD
E CONTROLLER)、および残響効果付与処理
(REVERB)をハードデバイス1812で、ディレ
イ&フィルタループ処理(DELAY&FILTER
LOOP)、残響効果付与処理の前段のミキシング処理
(MIXER)、および残響効果付与処理の後段のミキ
シング処理(MIXER)をDSP1809で、FM音
源処理(FMTONE GENERATOR)をDSP
1810で、それぞれ行なうようにした場合のタイムチ
ャートを示す。
【0154】まず、S1のサイクルでは、ハードデバイ
ス1812により、斜線区間2911で波形メモリ音源
処理、デジタルフィルタ処理、および振幅制御処理を行
ない、また並行して斜線区間2912でDSP1810
によりFM音源処理を行なう。S2のサイクルでは、D
SP1809により、斜線区間2913で上記波形メモ
リ音源処理の出力に対してディレイ&フィルタループ処
理を行ない、上記振幅制御処理の出力、上記ディレイ&
フィルタループ処理の出力、および上記FM音源処理の
出力に対して斜線区間2914でミキシング処理を行な
い、さらに、ハードデバイス1812により、上記ミキ
シング処理の出力に対して斜線区間2915で残響効果
付与処理を行なう。S3のサイクルでは、DSP180
9により、上記振幅制御処理の出力、上記ディレイ&フ
ィルタループ処理の出力、上記FM音源処理の出力、お
よび上記残響効果付与処理の出力に対して斜線区間29
16でミキシング処理を行なう。その結果は、S4のサ
イクルの斜線区間2917でDAC1805に出力され
る。
【0155】図30は、図24のパッチ画面のパッチデ
ータでの楽音発生処理のタイムチャート例である。特に
図30(a)は、図24のパッチデータにおいて、波形
メモリ音源処理(図24のWAVE MEMORY T
G)をCPU1801で、ディレイ&フィルタループ処
理(DELAY&FILTER LOOP)、コーラス
処理(CHORUS)、および残響効果付与処理(RE
VERB)をDSP1809で、FM音源処理(FM
TONE GENERATOR)、およびミキシング処
理(MIXER)をDSP1810で、それぞれ行なう
ようにした場合のタイムチャートを示す。まず、S1の
サイクルでは、CPU1801により、斜線区間300
1で波形メモリ音源処理を行ない、並行して斜線区間3
002でDSP1810によりFM音源処理を行なう。
S2のサイクルでは、DSP1809により、斜線区間
3003で上記波形メモリ音源処理の出力に対してディ
レイ&フィルタループ処理を行ない、その出力に対して
斜線区間3004でコーラス処理を行ない、その出力お
よび上記FM音源処理の出力に対して斜線区間3005
で残響効果付与処理を行なう。S3のサイクルでは、D
SP1810により、上記コーラス処理の出力、上記残
響効果付与処理の出力、および上記FM音源処理の出力
に対して斜線区間3006でミキシング処理を行なう。
その結果は、S4のサイクルの斜線区間3007でDA
C1805に出力される。
【0156】図30(b)は、図24のパッチデータに
おいて、波形メモリ音源処理(図24のWAVE ME
MORY TG)、残響効果付与処理(REVER
B)、およびミキシング処理(MIXER)をDSP1
809で、ディレイ&フィルタループ処理(DELAY
&FILTER LOOP)、およびコーラス処理(C
HORUS)をDSP1810で、FM音源処理(FM
TONE GENERATOR)をハードデバイス1
811で、それぞれ行なうようにした場合のタイムチャ
ートを示す。まず、S1のサイクルでは、DSP180
9により、斜線区間3011で波形メモリ音源処理を行
ない、その出力に対して斜線区間3013でディレイ&
フィルタループ処理を行ない、その出力に対して斜線区
間3014でコーラス処理を行ない、さらに並行して斜
線区間3012でハードデバイス1811によりFM音
源処理を行なう。S2のサイクルでは、DSP1809
により、斜線区間3015で残響効果付与処理を行な
い、斜線区間3016でミキシング処理を行なう。その
結果は、S4のサイクルの斜線区間3007でDAC1
805に出力される。
【0157】上記第2の実施の形態によれば、上記第1
の実施の形態と同様の効果を奏する上に、第1の実施の
形態ではあらかじめ定められていた最大構成自体を編集
することができ、楽音発生アルゴリズムを作成編集する
自由度がさらに向上する。
【0158】
【発明の効果】以上説明したように、この発明によれ
ば、限られたハードウエア規模あるいはマイクロプログ
ラムのステップ数で、幅広い音色を合成できる自由度の
ある楽音発生アルゴリズムをユーザが設定でき、柔軟な
音作りが可能となる可変アルゴリズム音源および音色編
集装置が提供される。
【図面の簡単な説明】
【図1】この発明の第1の実施の形態に係る可変アルゴ
リズム音源および音色編集装置を適用した電子楽器のシ
ステム概要図
【図2】音源における楽音発生アルゴリズムの例を示す
【図3】アルゴリズムの編集を行なう際の表示画面(そ
の1)を示す図
【図4】アルゴリズムの編集を行なう際の表示画面(そ
の2)を示す図
【図5】ROMおよびRAMのメモリマップを示す図
【図6】MPフラグの一覧を示す図
【図7】ROM上のDSP基本マイクロプログラムの内
容を示す図
【図8】各基本マイクロプログラムの処理と入出力の関
係を示す図
【図9】メインプログラムおよび音源制御処理の処理手
順を示すフローチャート図
【図10】音色設定処理の詳細を示すフローチャート図
【図11】音色設定処理の詳細を示すフローチャート図
【図12】音色設定処理の詳細を示すフローチャート図
【図13】音色設定処理の詳細を示すフローチャート図
【図14】音色エディット処理の詳細を示すフローチャ
ート図
【図15】音色エディット処理の詳細を示すフローチャ
ート図
【図16】音色エディット処理の詳細を示すフローチャ
ート図
【図17】音色エディット処理の詳細を示すフローチャ
ート図
【図18】この発明の第2の実施の形態に係る電子楽器
のシステム概要図
【図19】第2の実施の形態の外観図
【図20】RAMのメモリマップを示す図
【図21】モジュール画面の一例を示す図
【図22】パッチ画面上で各モジュールに対してどのよ
うな設定ができるかを説明するための図
【図23】パッチ画面の一例(その1)を示す図
【図24】パッチ画面の一例(その2)を示す図
【図25】メインプログラムの処理手順を示すフローチ
ャート図
【図26】CPU音源処理の処理手順を示すフローチャ
ート図
【図27】パッチエディット処理の詳細を示すフローチ
ャート図
【図28】パッチ詳細編集処理の詳細を示すフローチャ
ート図
【図29】処理タイムチャート例(その1)を示す図
【図30】処理タイムチャート例(その2)を示す図
【符号の説明】
101…中央処理装置(CPU)、102…リード・オ
ンリ・メモリ(ROM)、103…ランダム・アクセス
・メモリ(RAM)、104…ディスクドライブ、10
5…演奏操作子、106…設定操作子、107…表示装
置、108…音源(トーン・ジェネレータTG)、10
9…ディジタル・アナログ変換器(DAC)、110…
バスライン、111…演算用RAM(PRORAM)、
112…マイクロプログラムRAM(MPRAM)、1
13…パラメータRAM(PARAM)、114…演算
処理部。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】楽音を発生するための手順を編集指定する
    楽音発生手順編集手段と、 前記楽音発生手順編集手段で編集指定された手順に対応
    する楽音発生プログラムを生成する楽音発生プログラム
    生成手段と、 前記楽音発生プログラム生成手段で生成した楽音発生プ
    ログラムを記憶する記憶手段と、 前記記憶手段に記憶された楽音発生プログラムにしたが
    ってディジタル演算処理を行なうことにより楽音信号を
    生成する楽音発生手段とを備えたことを特徴とする可変
    アルゴリズム音源。
  2. 【請求項2】楽音発生のための演算手順を表すアルゴリ
    ズムを、そのアルゴリズムを構成する各要素機能を1つ
    のブロックで表わして、表示する表示手段と、 前記表示手段に表示された各ブロックのオン/オフを指
    定するオン/オフ指定手段と、 前記各ブロックごとに、そのブロックを有効に機能させ
    るときに組み込むべきオン用基本プログラムと、そのブ
    ロックを無効にするときに組み込むべきオフ用基本プロ
    グラムとを、あらかじめ格納した基本プログラム格納手
    段と、 前記各ブロックごとに、前記オン/オフ指定手段でオン
    が指定されたブロックについてはオン用基本プログラム
    を、前記オン/オフ指定手段でオフが指定されたブロッ
    クについてはオフ用基本プログラムを、それぞれ前記基
    本プログラム格納手段から読み出し、読み出した基本プ
    ログラムを組み合わせて楽音発生プログラムを生成する
    楽音発生プログラム生成手段と、 前記楽音発生プログラム生成手段で生成した楽音発生プ
    ログラムを記憶する記憶手段と、 前記記憶手段に記憶された楽音発生プログラムにしたが
    ってディジタル演算処理を行なうことにより楽音信号を
    生成する楽音発生手段とを備えたことを特徴とする可変
    アルゴリズム音源。
  3. 【請求項3】前記楽音発生手段が、ディジタル・シグナ
    ル・プロセッサであり、前記記憶手段が、マイクロプロ
    グラムRAMであり、前記楽音発生プログラムが、楽音
    発生のためのマイクロプログラムである請求項1または
    2に記載の可変アルゴリズム音源。
  4. 【請求項4】マイクロプログラムにしたがってディジタ
    ル演算処理を行なうことにより楽音信号を生成するディ
    ジタル・シグナル・プロセッサからなる音源に、マイク
    ロプログラムを転送する音色編集装置であって、 楽音発生のための演算手順を表すアルゴリズムを、その
    アルゴリズムを構成する各要素機能を1つのブロックで
    表わして表示する表示手段と、 前記表示手段に表示された各ブロックのオン/オフを指
    定するオン/オフ指定手段と、 前記各ブロックごとに、そのブロックを有効に機能せし
    めるときに組み込むべきオン用基本マイクロプログラム
    と、そのブロックを無効にするときに組み込むべきオフ
    用基本マイクロプログラムとを、あらかじめ格納した基
    本マイクロプログラム格納手段と、 前記各ブロックごとに、前記オン/オフ指定手段でオン
    が指定されたブロックについてはオン用基本マイクロプ
    ログラムを、前記オン/オフ指定手段でオフが指定され
    たブロックについてはオフ用基本マイクロプログラム
    を、それぞれ前記基本マイクロプログラム格納手段から
    読み出し、読み出した基本マイクロプログラムを組み合
    わせて楽音発生マイクロプログラムを生成する楽音発生
    マイクロプログラム生成手段と、 前記楽音発生マイクロプログラム生成手段で生成した楽
    音発生マイクロプログラムを音源に転送する転送手段と
    を備えたことを特徴とする音色編集装置。
  5. 【請求項5】楽音発生のための複数の要素機能のうちか
    ら、幾つかの要素機能を選択する要素機能選択手段と、 前記要素機能選択手段により選択された各要素機能をそ
    れぞれ1つのブロックで表わして表示する表示手段と、 前記表示手段に表示された各ブロックの間の入出力関係
    を定義する入出力関係定義手段と、 前記表示手段に表示された各ブロックのオン/オフを指
    定するオン/オフ指定手段と、 前記各要素機能ごとに、その要素機能を前記要素機能選
    択手段で選択して前記表示手段により表示するとともに
    前記オン/オフ指定手段によってオンすることにより有
    効に機能させるときに組み込むべきオン用基本プログラ
    ムと、その要素機能を前記要素機能選択手段で選択して
    前記表示手段により表示するとともに前記オン/オフ指
    定手段によってオフすることにより無効にするときに組
    み込むべきオフ用基本プログラムとを、あらかじめ格納
    した基本プログラム格納手段と、 前記表示手段に表示された各ブロックごとに、前記オン
    /オフ指定手段でオンが指定されたブロックについては
    オン用基本プログラムを、前記オン/オフ指定手段でオ
    フが指定されたブロックについてはオフ用基本プログラ
    ムを、それぞれ前記基本プログラム格納手段から読み出
    し、読み出した基本プログラムを組み合わせて楽音発生
    プログラムを生成する楽音発生プログラム生成手段と、 前記楽音発生プログラム生成手段で生成した楽音発生プ
    ログラムを記憶する記憶手段と、 前記記憶手段に記憶された楽音発生プログラムにしたが
    ってディジタル演算処理を行なうことにより楽音信号を
    生成する楽音発生手段とを備えたことを特徴とする可変
    アルゴリズム音源。
JP8055600A 1995-06-02 1996-02-19 可変アルゴリズム音源および音色編集装置 Expired - Fee Related JP2962465B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP8055600A JP2962465B2 (ja) 1995-06-02 1996-02-19 可変アルゴリズム音源および音色編集装置
US08/657,045 US5698806A (en) 1995-06-02 1996-05-29 Computerized sound source programmable by user's editing of tone synthesis algorithm
DE69613904T DE69613904T2 (de) 1995-06-02 1996-05-30 Digitaler Tonerzeuger, der vom Anwender durch Änderung des Tonsynthesealgorithmus programmierbar ist
EP96108574A EP0745970B1 (en) 1995-06-02 1996-05-30 Computerized sound source programmable by user's editing of tone synthesis algorithm
KR1019960019440A KR100288328B1 (ko) 1995-06-02 1996-05-31 가변 알고리즘 음원 및 음색편집장치
SG1996009948A SG45480A1 (en) 1995-06-02 1996-06-01 Computerized sound source programmable by user's editing of tone synthesis algorithm
HK98111662A HK1010764A1 (en) 1995-06-02 1998-10-30 Computerized sound source programmable by user's editing of tone synthesis algorithm

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-159945 1995-06-02
JP15994595 1995-06-02
JP8055600A JP2962465B2 (ja) 1995-06-02 1996-02-19 可変アルゴリズム音源および音色編集装置

Publications (2)

Publication Number Publication Date
JPH0950281A true JPH0950281A (ja) 1997-02-18
JP2962465B2 JP2962465B2 (ja) 1999-10-12

Family

ID=26396488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8055600A Expired - Fee Related JP2962465B2 (ja) 1995-06-02 1996-02-19 可変アルゴリズム音源および音色編集装置

Country Status (7)

Country Link
US (1) US5698806A (ja)
EP (1) EP0745970B1 (ja)
JP (1) JP2962465B2 (ja)
KR (1) KR100288328B1 (ja)
DE (1) DE69613904T2 (ja)
HK (1) HK1010764A1 (ja)
SG (1) SG45480A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237235A (ja) * 2009-03-30 2010-10-21 Yamaha Corp 楽音信号作成装置
JP2010237237A (ja) * 2009-03-30 2010-10-21 Yamaha Corp 楽音信号作成装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69733038T2 (de) * 1996-08-05 2006-02-16 Yamaha Corp., Hamamatsu Software-Tonerzeuger
SG67993A1 (en) * 1996-08-30 1999-10-19 Yamaha Corp Sound source system based on computer software and method of generating acoustic waveform data
JP3196681B2 (ja) * 1997-03-13 2001-08-06 ヤマハ株式会社 通信データ一時記憶装置
JP3844588B2 (ja) * 1998-03-05 2006-11-15 富士通株式会社 情報管理システム、ローカルコンピュータ、及び情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3867578B2 (ja) * 2002-01-11 2007-01-10 ヤマハ株式会社 電子音楽装置及び電子音楽装置用プログラム
ATE261591T1 (de) * 2002-05-22 2004-03-15 Siemens Ag System und verfahren zur anpassung anwendungsspezifischer funktionsbausteine für ein automatisierungsgerät

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5567799A (en) * 1978-11-16 1980-05-22 Nippon Musical Instruments Mfg Electronic musical instrument
JPS58211789A (ja) * 1982-06-04 1983-12-09 ヤマハ株式会社 楽音合成装置
US5153829A (en) * 1987-11-11 1992-10-06 Canon Kabushiki Kaisha Multifunction musical information processing apparatus
US4960031A (en) * 1988-09-19 1990-10-02 Wenger Corporation Method and apparatus for representing musical information
US5354948A (en) * 1989-10-04 1994-10-11 Yamaha Corporation Tone signal generation device for generating complex tones by combining different tone sources
JP2518464B2 (ja) * 1990-11-20 1996-07-24 ヤマハ株式会社 楽音合成装置
JP2526438B2 (ja) * 1991-07-09 1996-08-21 ヤマハ株式会社 電子楽器
JP2705395B2 (ja) * 1991-10-07 1998-01-28 ヤマハ株式会社 電子楽器
US5376752A (en) * 1993-02-10 1994-12-27 Korg, Inc. Open architecture music synthesizer with dynamic voice allocation
JP3144140B2 (ja) * 1993-04-06 2001-03-12 ヤマハ株式会社 電子楽器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237235A (ja) * 2009-03-30 2010-10-21 Yamaha Corp 楽音信号作成装置
JP2010237237A (ja) * 2009-03-30 2010-10-21 Yamaha Corp 楽音信号作成装置

Also Published As

Publication number Publication date
JP2962465B2 (ja) 1999-10-12
SG45480A1 (en) 1998-01-16
DE69613904D1 (de) 2001-08-23
HK1010764A1 (en) 1999-06-25
EP0745970B1 (en) 2001-07-18
KR100288328B1 (ko) 2001-05-02
DE69613904T2 (de) 2002-04-04
EP0745970A2 (en) 1996-12-04
KR970002842A (ko) 1997-01-28
US5698806A (en) 1997-12-16
EP0745970A3 (en) 1997-07-16

Similar Documents

Publication Publication Date Title
US5331111A (en) Sound model generator and synthesizer with graphical programming engine
EP0722162B1 (en) Digital signal processing device for sound signal processing
US5652797A (en) Sound effect imparting apparatus
US5739454A (en) Method and device for setting or selecting a tonal characteristic using segments of excitation mechanisms and structures
JP2962465B2 (ja) 可変アルゴリズム音源および音色編集装置
JP3358324B2 (ja) 電子楽器
JP3637810B2 (ja) 楽音編集方法
USRE37422E1 (en) Electronic musical instrument
JP3444940B2 (ja) 可変アルゴリズム音源
JPH06103438B2 (ja) デジタル・シンセサイザ励起信号の高調波成分を選択的に低減させる変換回路
JP2000081883A (ja) 音楽処理手段の設定方法、波形デ―タ生成手段の設定方法、楽音生成方法、および、プログラムが記録された記録媒体
US5841054A (en) Musical tone synthesizing apparatus having competibility of tone color parameters for different systems
JP3732606B2 (ja) 電子楽器
JPH06301478A (ja) パラメータ指示装置
JPH0667671A (ja) 楽音発生装置
JP3815583B2 (ja) 電子楽器
Kleimola Design and implementation of a software sound synthesizer
JP3147622B2 (ja) 電子楽器用データ編集装置
JPH11184471A (ja) 波形発生装置
Réveillac Synthesizers and Subtractive Synthesis, Volume 2: Application and Practice
JP2787694B2 (ja) パンニング制御装置
JPH08328552A (ja) 楽音波形発生方法
JP3918309B2 (ja) エフェクト装置
Lazzarini et al. Steven Yi: Transit
JPH03121500A (ja) 電子楽器

Legal Events

Date Code Title Description
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: 20070806

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100806

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100806

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120806

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees