JPH07168575A - Electronic musical instrument - Google Patents

Electronic musical instrument

Info

Publication number
JPH07168575A
JPH07168575A JP5264315A JP26431593A JPH07168575A JP H07168575 A JPH07168575 A JP H07168575A JP 5264315 A JP5264315 A JP 5264315A JP 26431593 A JP26431593 A JP 26431593A JP H07168575 A JPH07168575 A JP H07168575A
Authority
JP
Japan
Prior art keywords
component
program
algorithm
pin
information
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
JP5264315A
Other languages
Japanese (ja)
Other versions
JP3444940B2 (en
Inventor
Takao Watase
孝雄 渡瀬
Shigekazu Nakamura
繁一 中村
Takanari Aragaki
隆済 新垣
Takashi Toyomura
隆 豊村
Shinobu Katayama
忍 片山
Tadashi Yamanaka
正 山中
Toshiro Yamahata
利郎 山端
Buruusu Eidorian
ブルース エイドリアン
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.)
Roland Corp
Original Assignee
Roland 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 Roland Corp filed Critical Roland Corp
Priority to JP26431593A priority Critical patent/JP3444940B2/en
Publication of JPH07168575A publication Critical patent/JPH07168575A/en
Application granted granted Critical
Publication of JP3444940B2 publication Critical patent/JP3444940B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To stabilize operation and to reduce scale relating to a space and a manufacturing cost by controlling a processing means by a program generating section and connecting a component corresponding to component information. CONSTITUTION:Component information constructing plural components being virtual modules is stored in a component file 900, component information stored in the component file 900 is selected by an operator with a selecting means, while, connecting state information defining wiring between components corresponding to component information is inputted by an input means. And programs of DSP and CPU are automatically generated by the processing means and a program generating section 300 based on the connecting state information, and a desired sound source algorithm is provided. Therefore, the operator himself of an electronic musical instrument can easily define an arbitrary sound source algorithm of the electronic musical instrument.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、電子楽器に関し、さら
に詳細には、音源に関する任意のアルゴリズムを創り出
すことのできる電子楽器に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic musical instrument, and more particularly to an electronic musical instrument capable of creating an arbitrary algorithm regarding a sound source.

【0002】[0002]

【従来の技術】従来より、モジュール型シンセサイザと
称される電子楽器が知られている。このモジュール型シ
ンセサイザのモジュールとは、オシレータ、フィルタ、
アンプあるいはエンベロープ・ジェネレータなどのよう
に、機能的にあるひと塊になった回路構成を指称し、い
わばシンセサイザの構成部品とされるものである。
2. Description of the Related Art Conventionally, an electronic musical instrument called a modular synthesizer has been known. The modules of this modular synthesizer are oscillator, filter,
It refers to a functionally lumped circuit configuration, such as an amplifier or envelope generator, and is a component of a synthesizer, so to speak.

【0003】モジュール型シンセサイザの操作者は、こ
れらモジュール間をパッチ・ケーブルを使用して配線す
ることにより、任意の音源アルゴリズムを創り出すこと
ができるものであった。即ち、操作者は、パッチ・ケー
ブルによりモジュール間を適宜配線することにより、任
意の音源アルゴリズムを備えたシンセサイザを構築する
ことができるものであり、こうした任意の音源アルゴリ
ズムに基づいて、様々な楽音を合成することができるも
のであった。
An operator of a modular synthesizer could create an arbitrary sound source algorithm by wiring these modules using a patch cable. That is, the operator can construct a synthesizer having an arbitrary sound source algorithm by appropriately wiring the modules with patch cables, and based on such an arbitrary sound source algorithm, various musical sounds can be produced. It could be synthesized.

【0004】なお、上記した音源アルゴリズムとは、操
作者が意図した楽音を得るために、どのような処理をど
のような順序で行うかを定義した規則の集まりのことで
あり、音源に関する信号の流れ、処理の順番を示すもの
である。
The above-mentioned sound source algorithm is a set of rules defining what kind of processing is to be performed and in what order in order to obtain a musical sound intended by the operator. The flow shows the order of processing.

【0005】[0005]

【発明が解決しようとする課題】ところで、上記したよ
うにモジュール型シンセサイザは、全て独立した回路構
成とされているモジュールを、パッチ・ケーブルでそれ
ぞれ配線してシステムを構築するので、モジュール自体
の配線の接触不良やパッチ・ケーブルの接続不良などが
発生する確率が高く、作動の安定性に欠けるという問題
点があった。
By the way, as described above, in the modular synthesizer, the modules having all independent circuit configurations are wired by the patch cables to construct the system. There is a high probability that contact failure and patch / cable connection will occur, resulting in a lack of operational stability.

【0006】また、各モジュールは独立した回路構成で
あるため、使用する可能性のあるモジュールを全て揃え
ると、スペース的およびコスト的に規模が大きくなって
しまうという問題点があった。
Further, since each module has an independent circuit configuration, there is a problem that if all the modules that may be used are prepared, the scale becomes large in terms of space and cost.

【0007】一方、近年シンセサイザのデジタル化が進
み、音源はDSP(デジタル・シグナル・プロセッサ)
やCPU(中央処理装置)で構成されるようになり、音
源アルゴリズムや音源自体の機能は、DSPやCPUを
制御するソフトウェアにより実現されるようになってい
る。
On the other hand, in recent years, digitalization of synthesizers has progressed, and the sound source is a DSP (digital signal processor).
And a CPU (central processing unit), and the functions of the sound source algorithm and the sound source itself are realized by software that controls the DSP and the CPU.

【0008】ところが、こうした音源にデジタル技術を
使用したシンセサイザ(デジタル・シンセサイザ)にお
いては、任意の音源アルゴリズムを創り出すために、D
SPやCPUを制御する極めて高度なプログラミング技
術が必要となり、こうした高度なプログラミング技術を
修得していない操作者は、任意の音源アルゴリズムを自
由に創り出すことができないという問題点があった。
However, in a synthesizer (digital synthesizer) using digital technology for such a sound source, in order to create an arbitrary sound source algorithm, D
An extremely advanced programming technique for controlling the SP and the CPU is required, and an operator who has not mastered such an advanced programming technique cannot freely create an arbitrary sound source algorithm.

【0009】本発明は、従来の技術の有するこのような
種々の問題点に鑑みてなされたものであり、その目的と
するところは、ソフトウェアにより表示装置の画面上で
音源の各構成要素(モジュール型シンセサイザのモジュ
ールに相当し、以下の説明においては、「コンポーネン
ト」と称している。)の接続関係を定義し、この接続関
係に基づいてDSPやCPUに対してプログラミングす
ることによって、従来のモジュール型シンセサイザの音
源アルゴリズムを創り出す際の簡便な操作性をデジタル
方式の音源で実現し、デジタル方式の音源において、操
作者が任意の音源アルゴリズムを容易に構築することが
できるようにするとともに、作動の安定性ならびにスペ
ース的およびコスト的な規模の縮小化を図った電子楽器
を提供しようとするものである。
The present invention has been made in view of the above-mentioned various problems of the prior art, and an object of the present invention is to make each component (module) of a sound source on a screen of a display device by software. Corresponding to a module of a type synthesizer, which is referred to as a "component" in the following description), and a conventional module is defined by programming the DSP or CPU based on this connection relationship. The simple operability when creating the sound source algorithm of the type synthesizer is realized by the digital sound source, and the operator can easily construct an arbitrary sound source algorithm in the digital sound source. An attempt is made to provide an electronic musical instrument that is stable and has a reduced space and cost. It is intended.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するため
に、本発明による電子楽器は、楽音生成に関わる複数の
コンポーネントを構築するためのコンポーネント情報
を、上記コンポーネントに対応させて上記コンポーネン
ト毎にそれぞれ記憶する記憶手段と、上記記憶手段に記
憶された上記コンポーネント情報を選択する選択手段
と、上記選択手段によって選択された上記コンポーネン
ト情報に対応する上記コンポーネント間の任意の接続状
態を示す接続状態情報を入力する入力手段と、上記コン
ポーネント情報および上記接続状態情報に基づいて上記
コンポーネントおよび上記接続状態を構築し、入力され
た演奏情報を処理し楽音を生成するプログラミング可能
な処理手段と、上記選択手段によって選択された上記コ
ンポーネント情報および上記入力手段によって入力され
た上記接続状態情報に基づき、上記処理手段に対して自
動的にプログラミングすることにより、上記処理手段に
おいて、上記選択手段によって選択された上記コンポー
ネント情報に対応する上記コンポーネントおよび上記入
力手段によって入力された上記接続状態情報により示さ
れる上記接続状態を構築させるプログラミング手段とを
有するようにした。
In order to achieve the above object, the electronic musical instrument according to the present invention provides component information for constructing a plurality of components relating to musical sound generation in association with each of the above components. Storage means for respectively storing, selection means for selecting the component information stored in the storage means, and connection state information indicating an arbitrary connection state between the components corresponding to the component information selected by the selection means Input means, a programmable processing means for constructing the component and the connection state based on the component information and the connection state information, processing the input performance information and generating a musical tone, and the selecting means. The above component information selected by By automatically programming the processing means on the basis of the connection state information input by the input means, the processing means, the component corresponding to the component information selected by the selecting means, and the component And programming means for constructing the connection state indicated by the connection state information input by the input means.

【0011】[0011]

【作用】記憶手段には、コンポーネントを構築するため
のコンポーネント情報が記憶されている。選択手段によ
って、記憶手段に記憶されたコンポーネント情報を選択
し、入力手段によって、選択したコンポーネント情報に
対応するコンポーネント間の接続状態を示す接続状態情
報を入力する。そして、プログラミング手段が処理手段
を制御して、接続状態情報に基づく接続関係で、コンポ
ーネント情報に対応するコンポーネントを接続すること
になる。
The storage means stores component information for constructing a component. The selection unit selects the component information stored in the storage unit, and the input unit inputs the connection state information indicating the connection state between the components corresponding to the selected component information. Then, the programming means controls the processing means to connect the components corresponding to the component information in the connection relation based on the connection state information.

【0012】即ち、仮想的なモジュールとしての複数の
コンポーネントを構築するためのコンポーネント情報を
記憶手段に記憶し、操作者が選択手段によって、記憶手
段に記憶されたコンポーネント情報を選択するととも
に、入力手段によって、当該コンポーネント情報に対応
するコンポーネント間の配線を定義するための接続状態
情報を入力する。そして、処理手段およびプログラミン
グ手段により、接続状態情報に基づき自動的にDSPお
よびCPUのプログラムを生成して、所望の音源アルゴ
リズムを備えた電子楽器を実現する。
That is, the component information for constructing a plurality of components as virtual modules is stored in the storage means, the operator selects the component information stored in the storage means by the selection means, and the input means. Then, the connection state information for defining the wiring between the components corresponding to the component information is input. Then, the processing means and the programming means automatically generate the programs of the DSP and the CPU based on the connection state information to realize an electronic musical instrument having a desired sound source algorithm.

【0013】従って、電子楽器の操作者自身が、電子楽
器の任意の音源アルゴリズムを容易に定義することがで
きるようになる。
Therefore, the operator of the electronic musical instrument can easily define any sound source algorithm of the electronic musical instrument.

【0014】なお、各コンポーネント間の配線は、CA
Dのようなグラフィクなユーザー・インターフェースに
より行うようにすると、一層操作性が向上する。
The wiring between the components is CA
If a graphical user interface such as D is used, the operability is further improved.

【0015】[0015]

【実施例】以下、添付の図面を参照しながら、本発明に
よる電子楽器の実施例を詳細に説明する。
Embodiments of the electronic musical instrument according to the present invention will now be described in detail with reference to the accompanying drawings.

【0016】〔全体のシステム構成〕図1には、本発明
の一実施例による電子楽器のシステム構成図が示されて
おり、この電子楽器は、三つの処理部と、これら三つの
処理部の処理に使用されるデータ群とから構成されてい
る。
[Overall System Configuration] FIG. 1 shows a system configuration diagram of an electronic musical instrument according to an embodiment of the present invention. This electronic musical instrument has three processing units and these three processing units. It is composed of a data group used for processing.

【0017】上記した三つの処理部は、DSPやCPU
などの楽音の生成に直接関わるハード・ウェアを備えた
音源部100と、操作者がモジュールに相当するコンポ
ーネントの接続を定義して、コンポーネント間の配線を
構築することにより音源のアルゴリズムを作成するアル
ゴリズム作成部200と、アルゴリズム作成部200で
作成されたアルゴリズムを解析して、音源部100のD
SPおよびCPUの楽音生成のためのプログラムを生成
するプログラム生成部300とからなる。
The above-mentioned three processing units are DSP and CPU.
An algorithm for creating a sound source algorithm by defining a connection between a sound source unit 100 having hardware directly related to the generation of a musical tone and a component corresponding to a module and constructing wiring between the components. The generation unit 200 and the algorithm generated by the algorithm generation unit 200 are analyzed, and D of the sound source unit 100 is analyzed.
It is composed of a program generation unit 300 that generates a program for tone generation by the SP and the CPU.

【0018】音源部100には、MIDI規格の演奏情
報を入力するためのMIDIキーボード400が接続さ
れ、さらに、音源部100から出力される楽音信号に基
づき空間に楽音を放音するために、アンプおよびスピー
カなどより構成されるサウンド・システム500が接続
されている。
A MIDI keyboard 400 for inputting performance information of the MIDI standard is connected to the sound source section 100, and further, an amplifier is used to emit a musical sound to a space based on a musical sound signal output from the sound source section 100. A sound system 500 including a speaker and the like is connected.

【0019】また、アルゴリズム作成部200では、操
作者がCRTなどの表示画面を備えた表示装置600お
よびアルゴリズム作成部200に所望の情報を入力する
ためのキーボード700ならびにマウス800を使用
し、表示装置600の表示画面を参照しながらキーボー
ド700ならびにマウス800を操作して、アルゴリズ
ムを作成する。
Further, in the algorithm creating section 200, the operator uses a display device 600 having a display screen such as a CRT and a keyboard 700 and a mouse 800 for inputting desired information to the algorithm creating section 200. The algorithm is created by operating the keyboard 700 and the mouse 800 while referring to the display screen of 600.

【0020】図2には、音源部100のブロック構成図
が示されており、MIDIインターフェース(I/F)
102を介してMIDIキーボード400と接続された
CPU104のバス106に、システム・プログラムR
OM108と、ワークRAM110と、後述するホスト
・コンピュータとの通信インターフェース(I/F)1
12と、PCM波形読み出し装置114と、直列に接続
された三個のDSP116と、出力セレクタ118とが
接続され、さらに、PCM波形読み出し装置114には
波形メモリ120が接続され、三個のDSP116には
遅延メモリ122がそれぞれ接続され、出力セレクタ1
18にはD/A変換器124が接続されている。
FIG. 2 shows a block diagram of the tone generator section 100, which includes a MIDI interface (I / F).
The system program R is connected to the bus 106 of the CPU 104 which is connected to the MIDI keyboard 400 via 102.
Communication interface (I / F) 1 between OM 108, work RAM 110, and a host computer described later
12, a PCM waveform reading device 114, three DSPs 116 connected in series, and an output selector 118 are connected. Further, a waveform memory 120 is connected to the PCM waveform reading device 114, and three DSPs 116 are connected. Are connected to the delay memories 122, respectively, and the output selector 1
A D / A converter 124 is connected to 18.

【0021】図2に示すように、音源部100は独立し
たハードウェア構成とされているが、アルゴリズム作成
部200とプログラム生成部300とは、ワークステー
ション・コンピュータ(以下、ホスト・コンピュータと
称する。このホスト・コンピュータは、音源部100の
通信インターフェース112と接続される通信インター
フェースを備えていて、これらの通信インターフェース
を介して、ホスト・コンピュータと音源部100とが接
続されることになる。)上のアプリケーション・プログ
ラムとして実現されている。従って、このホスト・コン
ピュータが、表示装置600、キーボード700および
マウス800を備えることになる。
As shown in FIG. 2, the tone generator section 100 has an independent hardware structure, but the algorithm creating section 200 and the program creating section 300 are referred to as a workstation computer (hereinafter referred to as a host computer). The host computer has a communication interface connected to the communication interface 112 of the tone generator 100, and the host computer and the tone generator 100 are connected via these communication interfaces.) It is realized as an application program of. Therefore, the host computer includes the display device 600, the keyboard 700, and the mouse 800.

【0022】なお、上記した構成に限られることなく
て、アルゴリズム作成部200とプログラム生成部30
0とを、それぞれ独立したハードウェア構成としてもよ
いし、音源部100、アルゴリズム作成部200および
プログラム生成部300を、一体のハードウェア構成と
してもよい。
The configuration is not limited to the above, and the algorithm creating section 200 and the program creating section 30 are not limited thereto.
0 and 0 may have independent hardware configurations, or the tone generator 100, the algorithm generator 200, and the program generator 300 may have an integrated hardware configuration.

【0023】データ群としては、モジュールに相当する
コンポーネントを構築するためのコンポーネント情報を
記憶したコンポーネント・ファイル900と、楽音を生
成するための楽音波形の波形データを記憶したPCM波
形データ・ファイル1000とが設定されている。これ
らのコンポーネント・ファイル900およびPCM波形
データ・ファイル1000も、ホスト・コンピュータ上
に設定されている。
As the data group, a component file 900 storing component information for constructing a component corresponding to a module, and a PCM waveform data file 1000 storing musical tone waveform data for generating musical tones. Is set. These component file 900 and PCM waveform data file 1000 are also set on the host computer.

【0024】ここにおいてコンポーネントとは、上記の
ようにモジュールに相当するシンセサイザの構成要素の
ことであり、本実施例においては、TVF(時変フィル
タ)、TVA(時変増幅器)、EG(エンベロープ・ジ
ェネレータ)、LFO(低周波オシレータ)、Chor
us(コーラス)などが定義されている。
Here, the component means a component of the synthesizer corresponding to the module as described above, and in the present embodiment, TVF (time-varying filter), TVA (time-varying amplifier), EG (envelope. Generator), LFO (Low Frequency Oscillator), Chor
Us (chorus) and the like are defined.

【0025】コンポーネント・ファイル900とは、こ
うしたコンポーネントの機能を実現するために必要な、
音源部100のDSP116やCPU104のプログラ
ム、入出力端子の情報、仕様などを記録したマニュアル
情報の集合体であり、コンポーネント毎に1つのファイ
ルにまとめられている。なお、コンポーネント・ファイ
ル900の詳細な説明は後述する。
The component file 900 is necessary for realizing the function of such a component.
It is a set of manual information in which the programs of the DSP 116 and the CPU 104 of the sound source unit 100, information of input / output terminals, specifications, etc. are recorded, and is collected in one file for each component. A detailed description of the component file 900 will be given later.

【0026】また、コンポーネント・ファイル900に
記憶されているコンポーネントに関しては、図12乃至
図61を参照しながら後に詳述する。
The components stored in the component file 900 will be described later in detail with reference to FIGS. 12 to 61.

【0027】アルゴリズム作成部200およびプログラ
ム生成部300が、コンポーネント・ファイル900か
ら選択されたコンポーネント・ファイルなど処理に必要
な情報を読み込んで、必要な作業を行うことになる。
The algorithm creating section 200 and the program creating section 300 read the information necessary for processing, such as the component file selected from the component file 900, and perform the necessary work.

【0028】一方、PCM波形データ・ファイル100
0は、音源部100のPCM波形読み出し装置114で
楽音信号を発生させるのに必要な以下のデータから構成
されている。
On the other hand, the PCM waveform data file 100
0 is composed of the following data necessary for the PCM waveform reading device 114 of the tone generator 100 to generate a musical tone signal.

【0029】〔読み出しアドレス・データ〕波形読み出
しの開始、終了、ループ読み出し区間などのアドレス情
報と、ループ読み出しを行うかどうかのフラグ情報を記
憶する。
[Read Address / Data] Stores address information such as start and end of waveform reading and loop reading section, and flag information indicating whether or not to perform loop reading.

【0030】〔波形データ・テーブル〕楽音波形のPC
Mデータを記憶する。
[Waveform data table] PC of musical tone waveform
Store M data.

【0031】なお、コンポーネント・ファイル900お
よびPCM波形データ・ファイル1000は、音源部1
00、アルゴリズム作成部200ならびにプログラム生
成部300とは独立しており、追加変更を自由に行うこ
とができる。この追加変更の自由性が、システム全体と
しての自由度ならびに拡張性を高めている。
The component file 900 and the PCM waveform data file 1000 are stored in the sound source unit 1.
00, the algorithm creating unit 200, and the program creating unit 300 are independent, and additional changes can be freely made. The flexibility of this additional modification enhances the flexibility and expandability of the entire system.

【0032】〔音源部100〕図2に示される上記した
音源部100の各構成要素の中で、実際に楽音信号の発
生/停止ならびに加工を行うのは、PCM波形読み出し
装置114およびDSP116である。なお、本実施例
においては、三個のDSP116が、直列に接続されて
いる。
[Sound Source Unit 100] Among the constituent elements of the sound source unit 100 shown in FIG. 2, it is the PCM waveform reading device 114 and the DSP 116 that actually generate / stop and process the tone signal. . In addition, in this embodiment, three DSPs 116 are connected in series.

【0033】PCM波形読み出し装置114は、CPU
104から与えられたピッチ・データと読み出しアドレ
ス・データに基づいて、波形メモリ120から波形デー
タを読み出し、音声信号としてDSP116に出力す
る。波形読み出しは時分割で行われ、16チャンネルの
独立した音声信号をDSP116へ出力することができ
る。
The PCM waveform reading device 114 is a CPU
The waveform data is read from the waveform memory 120 based on the pitch data and the read address data given from 104, and is output to the DSP 116 as an audio signal. Waveform reading is performed by time division, and independent audio signals of 16 channels can be output to the DSP 116.

【0034】また、DSP116は、畳み込み演算を高
速に行うことができる装置であり、楽音信号を加工する
様々なフィルタなどを形成することができるものであっ
て、PCM波形読み出し装置114の出力は、DSP1
16に入力される。
The DSP 116 is a device capable of performing a convolution operation at high speed, and is capable of forming various filters for processing musical tone signals. The output of the PCM waveform reading device 114 is DSP1
16 is input.

【0035】DSP116は、演算装置と、プログラム
・メモリと、レジスタ・メモリと、係数メモリとから構
成され、遅延メモリ122が接続されている。
The DSP 116 comprises an arithmetic unit, a program memory, a register memory, and a coefficient memory, and the delay memory 122 is connected to the DSP 116.

【0036】DSP116のプログラム・メモリは、書
き換え可能で転送されたプログラムを記憶するものであ
り、演算装置はプログラム・メモリに記憶されたプログ
ラムに応じた演算処理を順次行うことになる。また、レ
ジスタ・メモリは、演算装置による演算の途中の値を一
旦保存しておくために使用するが、リング・バッファと
して構成されているので、信号を遅延させることができ
る。そして、係数メモリは、畳み込み演算の係数を格納
するメモリである。
The program memory of the DSP 116 stores rewritable and transferred programs, and the arithmetic unit sequentially performs arithmetic processing according to the programs stored in the program memory. Further, the register memory is used to temporarily store a value in the middle of the calculation by the calculation device, but since it is configured as a ring buffer, the signal can be delayed. The coefficient memory is a memory that stores the coefficient of the convolution operation.

【0037】また、遅延メモリ122は大きなリング・
バッファであって、長い信号遅延に使用される。
Further, the delay memory 122 has a large ring
A buffer used for long signal delays.

【0038】なお、リング・バッファを使用して信号を
遅延させることは、例えば、特公昭63−32393号
公報などに示されている。
Delaying a signal by using a ring buffer is shown in, for example, Japanese Patent Publication No. 63-32393.

【0039】複数個直列に接続されたDSP116に
は、それぞれD/A変換用の出力があり、出力セレクタ
118により、いずれか一つのDSP116のD/A変
換用の出力が選択されて、D/A変換器124に入力さ
れることになる。
Each of the plurality of DSPs 116 connected in series has an output for D / A conversion, and the output selector 118 selects one of the outputs for D / A conversion of the DSP 116 and outputs the D / A conversion. It will be input to the A converter 124.

【0040】また、CPU104は、システム・プログ
ラムROM108に記憶されたシステム・プログラムに
基づいて、PCM波形読み出し装置114、DSP11
6ならびに出力セレクタ118の制御を行う。
Further, the CPU 104, based on the system program stored in the system program ROM 108, the PCM waveform reading device 114 and the DSP 11
6 and the output selector 118 are controlled.

【0041】システム・プログラムROM108には、
上記したように、CPU104の動作を制御するシステ
ム・プログラムが記憶されており、CPU104が起動
すると、このシステム・プログラムROM108に記憶
されたシステム・プログラムが実行されるものである。
このシステム・プログラムは、リアルタイム・モニター
を使用していて、以下に説明するような複数のタスク
(プログラム)が、時分割で同時に平行して動作する。
In the system program ROM 108,
As described above, the system program for controlling the operation of the CPU 104 is stored, and when the CPU 104 is activated, the system program stored in the system program ROM 108 is executed.
This system program uses a real-time monitor, and a plurality of tasks (programs) described below operate simultaneously in parallel in a time-sharing manner.

【0042】(1)MIDIタスク MIDIタスクは、MIDIインターフェース102か
らのMIDI受信割り込みによって起動され、受信デー
タを解析して、当該受信データに対応した処理を行う。
(1) MIDI Task The MIDI task is activated by a MIDI reception interrupt from the MIDI interface 102, analyzes received data, and performs processing corresponding to the received data.

【0043】なお、受信データがノート・オンまたはノ
ート・オフであるときは、アサイナ・タスクを起動し、
受信データがコントロール・チェンジ、ベンダー、アフ
ター・タッチなどであるときは、ワークRAM110の
後述するMIDIコントロール・バッファにそのデータ
を記憶する。
When the received data is note-on or note-off, the assigner task is activated,
When the received data is a control change, vendor, after-touch, etc., the data is stored in the MIDI control buffer of work RAM 110 described later.

【0044】(2)アサイナ・タスク アサイナ・タスクは、MIDIタスクより、ノート・オ
ン・イベントおよびノート・オフ・イベントの発生に対
応して起動される。
(2) Assigner task The assigner task is activated by the MIDI task in response to the occurrence of a note-on event and a note-off event.

【0045】まず、MIDIタスクからノート・オン・
イベントに対応して起動されたときは、PCM波形読み
出し装置114の発音チャンネルの割り当て処理を行
う。割り当てられる発音チャンネルの数は、後述のコマ
ンド・リスト・ウインドウ606のChannelsで
設定変更される。
First, note-on from MIDI task
When activated in response to an event, the sound generation channel allocation process of the PCM waveform reading device 114 is performed. The number of assigned sound generation channels is changed in Channels of the command list window 606 described later.

【0046】発音チャンネルを割り当てた後、対応する
チャンネル・バッファにノート・オンに対応するノート
・ナンバー、オン・ベロシティを格納する。
After allocating the tone generation channel, the note number and on-velocity corresponding to the note-on are stored in the corresponding channel buffer.

【0047】次に、PCM波形読み出し装置114の割
り当てられた発音チャンネルの波形読み出しを停止さ
せ、読み出しアドレス・データを与え、波形読み出しが
開始できる準備を整える。
Next, the waveform reading of the assigned tone generation channel of the PCM waveform reading device 114 is stopped, the read address data is given, and the waveform reading is ready to start.

【0048】最後に割り当てたチャンネル番号を引数と
して、発音制御プログラムをコールする。
The tone generation control program is called with the channel number assigned last as an argument.

【0049】一方、MIDIタスクからノート・オフ・
イベントに対応して起動されたときは、割り当てられて
いるチャンネルの中から、チャンネル・バッファを参照
し、そのノート・オフ・イベントと同じノート・ナンバ
ーが割り当てられている発音チャンネルを見つけ、離鍵
処理を行うべき発音チャンネルを特定する。当該発音チ
ャンネルのステータス・フラグを離鍵状態にするととも
に、オフ・ベロシティをバッファに書き込む。また、当
該チャンネル番号を引数として、離鍵制御プログラムを
コールする。
On the other hand, note off from MIDI task
When activated in response to an event, it refers to the channel buffer among the assigned channels, finds the sound channel to which the same note number as the note-off event is assigned, and releases the key. Identify the pronunciation channel that should be processed. The status flag of the tone generation channel is released and the off velocity is written to the buffer. Also, the key release control program is called with the channel number as an argument.

【0050】(3)定期サービス・タスク 定期サービス・タスクは、CPU104に内蔵されたタ
イマーで定期的に起動されて、音源部100の制御を行
うものであり、プログラム生成部300によって作成さ
れる定期制御プログラムが呼び出される。なお、定期サ
ービスとは、一定時間毎にパラメータの演算を行い、特
に時変するようなコンポーネント(後述するlfoやe
nvなど)のパラメータの演算処理を常に行う。
(3) Periodic Service Task The periodic service task is activated by a timer built in the CPU 104 periodically to control the tone generator 100, and is generated by the program generator 300. The control program is called. Note that the term service is a component that performs parameter calculation at regular time intervals and that is particularly time-varying (such as lfo and e described later).
nv, etc.) is always calculated.

【0051】(4)DSPプログラム書き込みタスク DSPプログラム書き込みタスクは、プログラム生成部
300が作成したDSPプログラムを、CPU104が
ホスト・コンピュータから受信したときに起動され、当
該DSPプログラムをDSP116内のプログラム・メ
モリに書き込む。
(4) DSP Program Writing Task The DSP program writing task is activated when the CPU 104 receives the DSP program created by the program generator 300 from the host computer, and the DSP program is loaded into the program memory of the DSP 116. Write in.

【0052】(5)CPU制御プログラム書き込みタス
ク CPU制御プログラム書き込みタスクは、プログラム生
成部300が作成したCPU制御プログラム(アサイナ
・タスクおよび定期サービス・タスクで呼ぶ3つのプロ
グラムたる発音制御プログラム、離鍵制御プログラムお
よび定期制御プログラムである。)を、CPU104が
ホスト・コンピュータから受信したときに起動され、当
該CPU制御プログラムを、ワークRAM110に設定
された制御プログラム・エリアに書き込む。
(5) CPU control program write task The CPU control program write task is a CPU control program created by the program generation section 300 (three programs called an assigner task and a regular service task, a tone generation control program and a key release control). Programs and regular control programs) are started when the CPU 104 receives them from the host computer, and the CPU control programs are written in the control program area set in the work RAM 110.

【0053】また、後述するコンポーネントの一つであ
るfader(フェーダー・コンポーネント:操作者が
値をマニュアルにより任意に設定できる)の変更処理に
よるデータを、CPU104がホスト・コンピュータか
ら受信したときに、フェーダー・コンポーネント用のワ
ーク・メモリ(後述するワークRAM110の制御プロ
グラム・ワーク・エリアに設けられている相当するバッ
ファ)に書き込む。
Further, when the CPU 104 receives data from a host computer by changing processing of a fader (fader component: an operator can arbitrarily set a value manually), which is one of the components described later, the fader Write to the work memory for the component (corresponding buffer provided in the control program work area of the work RAM 110 described later).

【0054】(6)波形メモリ書き込みタスク CPU104がホスト・コンピュータから波形データを
受信すると起動され、受信した波形データを、波形メモ
リ120に書き込む。同時にホスト・コンピュータから
は、読み出しアドレス・データも送られてくるので、こ
れを受信してワークRAM110の読み出しアドレス・
バッファに格納する。なお、波形メモリ120は、バス
106を介してCPU104とは直接接続されてはいな
いが、PCM波形読み出し装置114を介して、波形デ
ータを書き込むことができる。
(6) Waveform memory writing task The CPU 104 is activated when the waveform data is received from the host computer, and the received waveform data is written in the waveform memory 120. At the same time, the read address data is also sent from the host computer.
Store in buffer. Although the waveform memory 120 is not directly connected to the CPU 104 via the bus 106, the waveform data can be written via the PCM waveform reading device 114.

【0055】次に、ワークRAM110の構成を説明す
るが、ワークRAM110は、システム・ワーク・エリ
ア、制御プログラム・エリアおよび制御プログラム・ワ
ーク・エリアの3つのエリアに分かれている。
Next, the structure of the work RAM 110 will be described. The work RAM 110 is divided into three areas: a system work area, a control program area, and a control program work area.

【0056】(1)システム・ワーク・エリア システム・ワーク・エリアは、上記した各タスクを実行
するシステム・プログラムがワーク・メモリとして使用
するエリアで、以下のデータを保持する。
(1) System work area The system work area is an area used as a work memory by a system program that executes each task described above, and holds the following data.

【0057】〔チャンネル数バッファ〕コマンド・リス
ト・ウインドウ606のChannelsで設定変更さ
れる。PCM波形読み出し装置114で使用する発音チ
ャンネル数、およびポリフォニック・ウインドウを使っ
たアルゴリズムの複製数として使われる。最大値は、
「16」である。
[Channel number buffer] The setting is changed in Channels of the command list window 606. It is used as the number of sound generation channels used in the PCM waveform reading device 114 and the number of replicas of the algorithm using the polyphonic window. The maximum value is
It is "16".

【0058】〔チャンネル・バッファ〕発音チャンネル
毎に、以下のデータを保持する。 (1)ノート・ナンバー (2)オン・ベロシティ (3)オフ・ベロシティ
[Channel Buffer] The following data is held for each sound generation channel. (1) Note number (2) On velocity (3) Off velocity

【0059】〔読み出しアドレス・バッファ〕PCM波
形読み出しの読み出しアドレスを保持する。
[Read Address Buffer] Holds the read address for PCM waveform read.

【0060】〔MIDIコントロール・バッファ〕ベン
ダー情報、コントロール・チェンジ情報、チャンネル・
アフター・タッチ情報、ポリフォニック・アフター・タ
ッチ情報の最新値をそれぞれ保持する。
[MIDI control buffer] Vendor information, control change information, channel
It holds the latest values of after touch information and polyphonic after touch information, respectively.

【0061】〔時制データ・バッファ〕コンポーネント
毎の時制データを記憶する。
[Tense Data Buffer] Stores tense data for each component.

【0062】(2)制御プログラム・エリア 制御プログラム・エリアは、後述する処理によりプログ
ラム生成部300が自動生成したCPU制御プログラム
を格納するために使用するエリアである。
(2) Control Program Area The control program area is an area used for storing the CPU control program automatically generated by the program generation unit 300 by the processing described later.

【0063】(3)制御プログラム・ワーク・エリア 制御プログラム・ワーク・エリアは、後述する処理によ
りプログラム生成部300が自動生成したCPU制御プ
ログラムが、ワーク・メモリとして使用するエリアであ
る。
(3) Control Program Work Area The control program work area is an area used as a work memory by the CPU control program automatically generated by the program generation unit 300 by the processing described later.

【0064】〔アルゴリズム作成部200〕アルゴリズ
ム作成部200は、上記したようにホスト・コンピュー
タ上のアプリケーション・プログラムとして実現されて
おり、操作者が音源アルゴリズム・データを作成するた
めに使用する。このアプリケーション・プログラムは、
CADソフトウェアのように、表示装置600、キーボ
ード700およびマウス800を使用して、グラフィッ
クにアルゴリズムを定義することができるように構成さ
れている。
[Algorithm Creating Unit 200] The algorithm creating unit 200 is realized as an application program on the host computer as described above, and is used by the operator to create sound source algorithm data. This application program
Like the CAD software, a display device 600, a keyboard 700 and a mouse 800 are used to graphically define algorithms.

【0065】図3は表示装置600の画面の表示状態を
示しており、コンポーネントは、表示装置600の画面
上のアルゴリズム作成ウインドウ601のアルゴリズム
描画エリア602中に、長方形のアイコンで表示される
(図3には、コンポーネントとして、Osc、Panな
どが示されている。)。
FIG. 3 shows the display state of the screen of the display device 600, and the components are displayed as rectangular icons in the algorithm drawing area 602 of the algorithm creation window 601 on the screen of the display device 600 (see FIG. 3 shows components such as Osc and Pan).

【0066】操作者は、所望のコンポーネントをコンポ
ーネントの名称を表示したコンポーネント・リスト・エ
リア604から選択し、コンポーネントのアイコンを適
宜画面上に配置して、配置したアイコンを線で連結して
行く。この線が、実際にプログラムの上でデータの受け
渡しを行うためのコンポーネント間の信号の流れを表す
ことになる。
The operator selects a desired component from the component list area 604 displaying the name of the component, arranges the icon of the component on the screen as appropriate, and connects the arranged icons with a line. This line represents the flow of signals between the components for actually passing data through the program.

【0067】なお、符号606はコマンド・リスト・ウ
インドウ、符号608は指定したコンポーネントの情報
を示すヘルプ・ウインドウ、符号610は後述するポリ
フォニク処理において使用するポリフォニック・ウイン
ドウである。
Reference numeral 606 is a command list window, reference numeral 608 is a help window showing information on the designated component, and reference numeral 610 is a polyphonic window used in a polyphonic process described later.

【0068】なお、図3に示されたヘルプ・ウインドウ
608の表示状態は、コンポーネントとしてPanが選
択されている状態において、ヘルプ指示をした場合を示
している。ヘルプ・ウインドウ608では、コンポーネ
ントに配設されている各ピンの機能が表示される。この
ヘルプ指示は、キーボード700によって入力する。
The display state of the help window 608 shown in FIG. 3 shows a case where a help instruction is given in a state where Pan is selected as a component. The help window 608 displays the function of each pin arranged in the component. This help instruction is input using the keyboard 700.

【0069】また、本実施例においては、DSP116
を三個備えているため、各DSP116に対応して、ア
ルゴリズム作成ウインドウ601を三面(DSP1、D
SP2およびDSP3)備えている。
Further, in this embodiment, the DSP 116
Since three DSPs are provided, three algorithm creation windows 601 (DSP1, D1,
SP2 and DSP3).

【0070】コンポーネントのアイコンは、上記したよ
うに長方形であり、ピンがその周囲に配設されている。
このピンは、信号の入出力端子を示すものであり、ある
アイコンのピンと他のアイコンのピンとを結線すること
により、あるコンポーネントと他のコンポーネントとが
接続されることになり、この作業を繰り返してアルゴリ
ズムを定義して行く。
The icon of the component is rectangular as described above, and the pins are arranged around it.
This pin indicates a signal input / output terminal.By connecting the pin of an icon and the pin of another icon, a component and another component are connected, and this work is repeated. Define the algorithm.

【0071】ところでアルゴリズムとは、各コンポーネ
ント間の信号の流れを示すものであるが、各コンポーネ
ント間を流れる信号は、二種類の信号に分類される。
By the way, the algorithm indicates the flow of signals between the components, and the signals flowing between the components are classified into two types of signals.

【0072】これらの二種類の信号の一つは、音声信号
と称される信号であり、最終的に音源部100のD/A
変換器124を介して楽音信号として出力される信号で
ある。この音声信号を生成したり加工したりするための
コンポーネントを、音声コンポーネントと称することと
する。
One of these two types of signals is a signal called an audio signal, and finally the D / A of the sound source section 100.
It is a signal output as a tone signal via the converter 124. A component for generating and processing this audio signal will be referred to as an audio component.

【0073】他の一つの信号は、制御信号と称する信号
であり、音声コンポーネントの様々なパラメータを制御
するための信号である。この制御信号を生成したり加工
したりするためのコンポーネントを、制御コンポーネン
トと称することとする。
The other signal is a signal called a control signal, which is a signal for controlling various parameters of the audio component. A component for generating and processing this control signal will be referred to as a control component.

【0074】なお、音声コンポーネントはDSP116
によって構成され、制御コンポーネントはCPU104
によって構成される。
The voice component is the DSP 116.
And the control component is the CPU 104.
Composed by.

【0075】またピンも、入出力される信号の種類なら
びに配置された側が信号の入力側かあるいは信号の出力
側かによって分類されており、これをピンの属性と称す
る。従って、ピンに関しては、音声信号入力、音声信号
出力、制御信号入力ならびに制御信号出力が属性として
設定されることになるが、さらに後述するトリガ・ピン
に関するトリガ入力およびトリガ出力も、ピンの属性と
して設定されている。
The pins are also classified according to the type of input / output signals and the arranged side, that is, the input side of the signal or the output side of the signal, and this is called the pin attribute. Therefore, for the pin, the audio signal input, the audio signal output, the control signal input, and the control signal output are set as the attributes, and the trigger input and the trigger output regarding the trigger pin described later are also set as the attributes of the pin. It is set.

【0076】これらピンの属性は、コンポーネント・フ
ァイル900にピン属性PinAttrとして予め設定
されている。
The attributes of these pins are preset in the component file 900 as pin attributes PinAttr.

【0077】ところで、アイコンに配設されるピンの位
置は、ピンの属性によって決定されている。即ち、音声
入力ピンはアイコンの左側に配置され、音声出力ピンは
アイコンの右側に配置される。また、制御入力ピンとト
リガ入力ピンは、アイコンの上側に配置され、制御出力
ピンとトリガ出力ピンとは、アイコンの下側に配置され
る。
By the way, the position of the pin arranged on the icon is determined by the attribute of the pin. That is, the voice input pin is arranged on the left side of the icon and the voice output pin is arranged on the right side of the icon. The control input pin and the trigger input pin are arranged on the upper side of the icon, and the control output pin and the trigger output pin are arranged on the lower side of the icon.

【0078】上記したようなピンの配置を採用すること
により、各ピンを線で連結した場合には、音声信号は横
方向に流れ、それ以外の信号は縦方向に流れるように見
えるようになるので、アルゴリズムの視認性が向上され
る。
By adopting the pin arrangement as described above, when each pin is connected by a line, it seems that the audio signal flows in the horizontal direction and the other signals flow in the vertical direction. Therefore, the visibility of the algorithm is improved.

【0079】コンポーネント・ファイル900は、図4
に示すように、以下のデータから構成されている。
The component file 900 is shown in FIG.
As shown in, it is composed of the following data.

【0080】〔ピン数PinNum〕コンポーネントが
持つピンの数を表す。
[Number of Pins PinNum] Indicates the number of pins of the component.

【0081】〔ピン情報PinInfo〕ピンに関する
以下の情報をピン数分記憶する。 (1)ピン名PinName ピンの名称を表す。 (2)ピン属性PinAttr ピンが扱う信号の種類と入出力方向を表す。 (3)ピン・シンボルPinSym ピン・シンボルPinSymは、音声入出力ピンだけに
設定され、対応する入出力のワークRAMのシンボル名
を表す。 (4)ピン時制PinTense ピン時制PinTenseは、制御信号の入力ピンのみ
に設定され、その制御ピンに接続される他のコンポーネ
ントが、後述する何れの制御プログラムによって実現さ
れるのかを示している。
[Pin Information PinInfo] The following information regarding pins is stored for the number of pins. (1) Pin name PinName Indicates the name of the pin. (2) Pin attribute PinAttr Indicates the type of signal handled by the pin and the input / output direction. (3) Pin symbol PinSym The pin symbol PinSym is set only for the voice input / output pin and represents the symbol name of the corresponding input / output work RAM. (4) Pin tense PinTense Pin tense PinTense is set only on the input pin of the control signal, and indicates which control program to be described later implements the other components connected to the control pin.

【0082】〔DSPプログラム・テンプレートDsp
Tpl〕DSPプログラムのテンプレートを記憶する。
[DSP Program Template Dsp
Tpl] Store the template of the DSP program.

【0083】〔DSPシンボル情報DspSym〕DS
Pプログラム・テンプレートDspTpl中で使用して
いるワーク・メモリ(シンボル)を割り当てるための情
報を記憶するものであり、テンプレート内で使用してい
る全てのシンボルに対応して、以下の情報を記憶する。 (1)シンボル名DSName シンボル名を表す。 (2)メモリ・エリアDSArea ワーク・メモリを割り当てるメモリ・エリアを表す。レ
ジスタ・メモリ、係数メモリ、遅延メモリの三種類あ
る。 (3)参照アドレスDSRef DSPプログラム・テンプレートDSPTpl中でシン
ボルを参照している位置を表す。 (4)初期値DSVal シンボルの初期値を表す。
[DSP Symbol Information DspSym] DS
Information for allocating the work memory (symbol) used in the P program template DspTpl is stored, and the following information is stored corresponding to all the symbols used in the template. . (1) Symbol name DSNName represents a symbol name. (2) Memory area DSArea Indicates the memory area to which work memory is allocated. There are three types: register memory, coefficient memory, and delay memory. (3) Reference address DSRef Indicates the position in the DSP program template DSPTpl that refers to the symbol. (4) Initial value This represents the initial value of the DSVal symbol.

【0084】〔DSPプログラム・メモリ使用量SzP
rg〕このコンポーネントが使用するプログラム・メモ
リのサイズを表す。
[DSP Program Memory Usage SzP
rg] Indicates the size of the program memory used by this component.

【0085】〔DSPレジスタ・メモリ使用量SzRe
g〕このコンポーネントが使用するレジスタ・メモリの
サイズを表す。
[DSP Register Memory Usage SzRe
g] Represents the size of the register memory used by this component.

【0086】〔DSP遅延メモリ使用量SzDel〕こ
のコンポーネントが使用する遅延メモリのサイズを表
す。
[DSP Delay Memory Usage Amount SzDel] This represents the size of the delay memory used by this component.

【0087】〔制御プログラム・テンプレートCtrl
Tpl〕制御テンプレートは複数記憶することができ、
それぞれのテンプレートは、以下のデータからなる。 (1)テンプレートTpl テンプレート本体を記憶する。 (2)テンプレート時制TplTense テンプレートの時制データを記憶する。
[Control Program Template Ctrl
[Tpl] A plurality of control templates can be stored,
Each template consists of the following data. (1) Template Tpl Store the template body. (2) Template tense TplSense stores tense data of the template.

【0088】〔制御シンボル情報CtrlSym〕制御
プログラムのテンプレート中で使用しているワーク・メ
モリ(シンボル)を割り当てるための情報を記憶するも
のであり、テンプレート内で使用している全てのシンボ
ルに対応して、以下の情報を記憶する。 (1)シンボル名CSName シンボル名を表す。 (2)参照アドレスCSRef テンプレート中でシンボルを参照している位置を表す。 (3)初期値CSVal シンボルの初期値を表す。
[Control Symbol Information CtrlSym] Stores information for allocating the work memory (symbol) used in the template of the control program, and corresponds to all the symbols used in the template. Then, the following information is stored. (1) Symbol name CSName Indicates a symbol name. (2) Reference address This indicates the position where the symbol is referenced in the CSRef template. (3) Initial value CSVal Indicates the initial value of the symbol.

【0089】〔ヘルプ情報Help〕コンポーネントの
仕様、使い方を記したドキュメントを記憶する。
[Help Information Help] Stores a document describing the specifications and usage of the component.

【0090】なお、添付の図面に示すように、コンポー
ネントのアイコンやピンの模様は、コンポーネントに配
置されたピンの属性によってそれぞれ決定されていて、
表示装置600の画面上で容易に識別可能なように形成
されている。
As shown in the attached drawings, the icon of the component and the pattern of the pin are respectively determined by the attributes of the pin arranged in the component,
It is formed so that it can be easily identified on the screen of the display device 600.

【0091】即ち、コンポーネント・ファイル900に
は、コンポーネントに配置されたピンの数、配置された
それぞれのピンの名称ならびに属性などの情報が、コン
ポーネント毎に予め記憶されている。従って、アルゴリ
ズム作成部200は、コンポーネント・ファイル900
に記憶された上記情報から、上記のようなアイコンをア
ルゴリズム描画エリア602に形成する。
That is, in the component file 900, information such as the number of pins arranged in the component, the name and attribute of each arranged pin is stored in advance for each component. Therefore, the algorithm creation unit 200 uses the component file 900.
An icon as described above is formed in the algorithm drawing area 602 from the above information stored in.

【0092】なお、コンポーネントの描画データは、図
5(a)に示すように、四角形を基本とした画素を組み
合わせて作られる。
The drawing data of the component is created by combining pixels based on a quadrangle as shown in FIG. 5 (a).

【0093】四角形の大きさは、その辺の周囲に配置す
るべきピンの数と、内部に表示するコンポーネント名の
長さによって決まる。即ち、次の三つの式のうち最大の
ものが、横の辺の長さlhとなる。 (1)(pci+pti+1)×pdh (2)(pco+pto+1)×pdh (3)lnh+2mnh ただし、pci:制御信号入力ピン数 pti:トリガ信号入力ピン数 pco:制御信号出力ピン数 pto:トリガ信号出力ピン数 pdh:水平方向のピン間隔 lnh:コンポーネント名の長さ mnh:コンポーネント名を表示するときの水平方向の
マージン とする。
The size of the quadrangle is determined by the number of pins to be arranged around the side and the length of the component name displayed inside. That is, the maximum of the following three expressions is the horizontal side length lh. (1) (pci + pti + 1) × pdh (2) (pco + pto + 1) × pdh (3) lnh + 2mnh where pci: number of control signal input pins pti: number of trigger signal input pins pco: number of control signal output pins pto: number of trigger signal output pins pdh: Pin spacing in the horizontal direction lnh: Length of component name mnh: Margin in the horizontal direction when displaying the component name.

【0094】また、縦の辺の長さlvも同様に、次の三
つの式の最大値をとる。 (1)(psi+1)×pdv (2)(pso+1)×pdv (3)lnv+2mnv ただし、psi:音声信号入力ピン数 pso:音声信号出力ピン数 pdv:垂直方向のピン間隔 lnv:コンポーネント名の垂直方向の長さ mnv:コンポーネント名を表示するときの垂直方向の
マージン とする。
Similarly, the vertical side length lv takes the maximum value of the following three expressions. (1) (psi + 1) × pdv (2) (pso + 1) × pdv (3) lnv + 2mnv where psi is the number of audio signal input pins pso is the number of audio signal output pins pdv: Pin spacing in the vertical direction lnv: Vertical direction of the component name Length mnv: Vertical margin when displaying component name.

【0095】上記した式のうち、ピン数pci、pc
o、pti、pto、psi、psoは、コンポーネン
ト・ファイル900のピン情報PinInfoをピン属
性PinAttrをチェックしながらカウントすること
で知ることができる。
Of the above equations, the number of pins pci, pc
o, pti, pto, psi, and pso can be known by counting the pin information PinInfo of the component file 900 while checking the pin attribute PinAttr.

【0096】また、コンポーネント名の表示領域の大き
さは、コンポーネント名の文字数と使われるフォントの
サイズによって決まる。
The size of the display area for the component name is determined by the number of characters in the component name and the size of the font used.

【0097】ピンを示す小さな四角形は、コンポーネン
トを示す四角形の各辺に左よせで、また上よせで、pd
hまたはpdvの間隔をあけてそれぞれ配置する。その
際に、制御信号ピンおよび音声信号ピンには黒く塗りつ
ぶされた四角形(図5(b))を、トリガ信号ピンには
白ぬきの四角形(図5(c))を使用する。
Small squares indicating pins are left-aligned and upper-aligned with pd on each side of the rectangle representing components.
They are arranged at intervals of h or pdv. At that time, a black square (FIG. 5B) is used for the control signal pin and the audio signal pin, and a white square (FIG. 5C) is used for the trigger signal pin.

【0098】コンポーネント名は四角形の内部に、左上
からmnh、mnlのマージンをとって印字する。
The component name is printed inside the rectangle with a margin of mnh and mnl from the upper left.

【0099】また、四角形の中には、コンポーネント名
の表示される領域を除いて、コンポーネントの特性に対
応したパターンで塗りつぶす。音声信号ピンのみを備え
たコンポーネント、即ち、音声コンポーネントは、図5
(d)のパターンで塗りつぶし、制御信号ピンおよびト
リガ信号ピンのみを備えたコンポーネント、即ち、制御
コンポーネントは、図5(e)のパターンで塗りつぶ
し、制御信号ピンおよびトリガ信号ピンと音声信号ピン
とを備えたコンポーネントは、図5(f)のパターンで
塗りつぶす。
Further, in the quadrangle, except for the area where the component name is displayed, it is filled with a pattern corresponding to the characteristics of the component. A component having only audio signal pins, that is, an audio component is shown in FIG.
The component filled with the pattern of (d) and provided with only the control signal pin and the trigger signal pin, that is, the control component is filled with the pattern of FIG. 5 (e) and provided with the control signal pin, the trigger signal pin, and the audio signal pin. The component is filled with the pattern shown in FIG.

【0100】上記したように、コンポーネント・ファイ
ル900に記憶されているコンポーネントの名称は、表
示装置600の画面上のコンポーネント・リスト・エリ
ア604に表示され、コンポーネント・リスト・エリア
604に表示されたコンポーネントを自由に選択してア
ルゴリズム描画エリア602に配置し、配置したコンポ
ーネントのアイコンをそれぞれ配線して行くが、こうし
た操作は、マウス800の操作により行う。
As described above, the names of the components stored in the component file 900 are displayed in the component list area 604 on the screen of the display device 600, and the components displayed in the component list area 604 are displayed. Are freely selected and placed in the algorithm drawing area 602, and the icons of the placed components are respectively wired. These operations are performed by operating the mouse 800.

【0101】即ち、マウス800のマウス・ポインタに
よる指示は、コンポーネントの選択/配置、ピンの配
線、その他の様々な指示をプログラムに与えるのに用い
る。なお、キーボード700は、後述するフェーダー・
コンポーネントのパラメータ名の設定や、データを保存
する場合のファイル名の設定操作などに用いる。
That is, the instruction by the mouse pointer of the mouse 800 is used to give selection / arrangement of components, wiring of pins, and various other instructions to the program. The keyboard 700 is a fader
It is used for setting parameter names of components and setting file names when saving data.

【0102】コンポーネントのアイコン間を配線する場
合には、まず、マウス800で配線したいピンを指定す
る。マウス800をクリックしたときに、マウス・ポイ
ンタに最も近い未配線のピンが指定されることになる。
そして、マウス800を配線する相手のピンの位置まで
移動してもう一度クリックすると、配線する相手のピン
が指定される。この場合にも、マウス・ポインタに最も
近く、かつ同じ種類の信号で入出力が対応する未配線の
ピンが自動的に選択されて配線される。このように、配
線先のピンが自動的に選択されるため、配線が間違いな
く容易に行える。
When wiring between the icons of the components, the pin to be wired is first designated by the mouse 800. When the mouse 800 is clicked, the unwired pin closest to the mouse pointer will be designated.
Then, when the mouse 800 is moved to the position of the pin of the wiring partner and clicked again, the pin of the wiring partner is specified. Also in this case, an unwired pin closest to the mouse pointer and corresponding to input / output by the same type of signal is automatically selected and wired. In this way, since the pin of the wiring destination is automatically selected, wiring can be surely performed easily.

【0103】なお、マウス・ポインタとピンとの距離
は、それぞれの座標から求めるものであり、ピンの座標
は、コンポーネントの座標とコンポーネント内のピンの
相対座標との和とされる。また、ピンの相対座標は、コ
ンポーネントのアイコンが作成されるときに決定され
る。
The distance between the mouse pointer and the pin is obtained from each coordinate, and the pin coordinate is the sum of the component coordinate and the relative coordinate of the pin in the component. Also, the relative coordinates of the pins are determined when the icon for the component is created.

【0104】なお、上記したピンの配線は、ピンとピン
とが一対一の関係で行われることになる。
The wiring of the pins described above is performed in a one-to-one relationship between pins.

【0105】また、ピンとピンとが配線された場合の配
線データは、プログラム内部では以下のような形式で記
憶されており、こうした配線データの構造体の集まり
が、音源アルゴリズム・データである。
Further, the wiring data when the pins are wired to each other is stored in the program in the following format, and a collection of such wiring data structures is the sound source algorithm data.

【0106】 データ名 記録内容の例 データの説明 COMPO#:0 ・・・使用しているコンポーネントの通し番号 C_NAME:Osc ・・・コンポーネント名 C_POSX:353 ・・・コンポーネントの配置位置座標(X座標) C_POSY:1187 ・・・コンポーネントの配置位置座標(Y座標) なお、C_POSXおよびC_POSYの配置位置座標とは、アルゴリズム 描画エリア602における座標である。 C_PINS:3 ・・・ピンの数 PIN# :0 ・・・コンポーネントの中でのピンの通し番号 P_ATTR:1 ・・・ピンの属性の番号 P_NAME:output・・・ピンの名前 P_LNKC:1 ・・・配線先のCOMPO# P_LNKP:0 ・・・配線先のコンポーネントのPIN# PIN# :1 ・・・コンポーネント内のピンの番号 P_ATTR:2 ・・・PINの属性の番号 ・ ・ ・ ・ ・ ・ 以下、ピンの数だけ同じ形式で続く。即ち、まずコンポ
ーネントに関する情報(COMPO#〜C_PINS)
があり、その後にC_PINSで示される数だけ、ピン
の情報が続くものである。
Data name Example of recorded contents Data description COMPO #: 0 ・ ・ ・ Serial number of the component being used C_NAME: Osc ・ ・ ・ Component name C_POSX: 353 ・ ・ ・ Component position coordinate (X coordinate) C_POSY : 1187 ... Arrangement position coordinates (Y coordinate) of the components The arrangement position coordinates of C_POSX and C_POSY are coordinates in the algorithm drawing area 602. C_PINS: 3 ・ ・ ・ Number of pins PIN #: 0 ・ ・ ・ Pin serial number in the component P_ATTR: 1 ・ ・ ・ Pin attribute number P_NAME: output ・ ・ ・ Pin name P_LNKC: 1 ・ ・ ・COMPO # of wiring destination P_LNKP: 0 ... PIN # of component of wiring destination PIN # PIN #: 1 ... Pin number in the component P_ATTR: 2 ... PIN attribute number ... Follows the same format for the number of pins. That is, first, information about components (COMPO # to C_PINS)
, Followed by as many pin information as C_PINS.

【0107】なお、コンポーネントの通し番号は、コン
ポーネントがアルゴリズム描画エリア602に置かれた
ときに、順番に付与される。また、ピンの番号は、コン
ポーネント・ファイル900に記憶されているピン情報
の順番である。
The serial numbers of the components are given in order when the components are placed in the algorithm drawing area 602. The pin number is the order of the pin information stored in the component file 900.

【0108】なお、ピンの属性の番号は、以下のように
設定されている。 0・・・音声信号入力 1・・・音声信号出力 2・・・制御信号入力 3・・・制御信号出力 4・・・トリガ入力 5・・・トリガ出力
The pin attribute numbers are set as follows. 0 ... Voice signal input 1 ... Voice signal output 2 ... Control signal input 3 ... Control signal output 4 ... Trigger input 5 ... Trigger output

【0109】そして、ピンが配線されると、P_LNK
CおよびP_LNKPに配線相手たる配線先のピンの情
報が書き込まれる。また、配線先のP_LNKCおよび
P_LNKPにも、配線元のピンの情報が書き込まれ
る。なお、ピンが配線されていない状態では、P_LN
KCおよびP_LNKPは、ともに「−1」とされてい
る。
Then, when the pins are wired, P_LNK
Information on the wiring destination pin that is the wiring partner is written in C and P_LNKP. Further, the information of the wiring source pin is also written in the wiring destination P_LNKC and P_LNKP. It should be noted that when the pins are not wired, P_LN
Both KC and P_LNKP are set to "-1".

【0110】つまり、操作者がコンポーネントを選択
し、アルゴリズム描画エリア602においたときに、そ
のコンポーネントの構造体が、アルゴリズム・データに
追加される。即ち、描画された各コンポーネント毎に、
上記した配線データが作成され、これらの配線データが
統合されたものが音源アルゴリズム・データとなる。
That is, when the operator selects a component and places it in the algorithm drawing area 602, the structure of the component is added to the algorithm data. That is, for each rendered component,
The above-mentioned wiring data is created, and these wiring data are integrated to form the sound source algorithm data.

【0111】即ち、コンポーネントをアルゴリズム描画
エリア602においたとき、P_LNKCおよびP_L
NKPは「−1」に初期化され、ピンとピンとが配線さ
れると配線に対応する情報に書き換えられる。上記のよ
うな操作により作成されたデータが、音源アルゴリズム
・データとして、プログラム生成部300に出力され
る。
That is, when the component is placed in the algorithm drawing area 602, P_LNKC and P_L
NKP is initialized to "-1", and when pins are wired, the information is rewritten to information corresponding to the wiring. The data created by the above-described operation is output to the program generation unit 300 as sound source algorithm data.

【0112】また、コンポーネントが削除されたとき
は、アルゴリズム・データから、当該コンポーネントの
構造体は削除される。このとき、当該コンポーネントに
つながっていた線も、アルゴリズム描画エリア602か
ら消去されるとともに、線がつながっていた相手のコン
ポーネントのピンのP_LNKCおよびP_LNKPに
は「−1」が書き込まれる。なお、結線が削除された
り、結線の相手先のピンが変更された場合にも、それに
対応するP_LNKCおよびP_LNKPの内容が変更
される。
When a component is deleted, the structure of the component is deleted from the algorithm data. At this time, the line connected to the component is also erased from the algorithm drawing area 602, and "-1" is written to the pins P_LNKC and P_LNKP of the partner component to which the line is connected. It should be noted that even if the connection is deleted or the destination pin of the connection is changed, the contents of P_LNKC and P_LNKP corresponding thereto are changed.

【0113】なお、このような音源アルゴリズム・デー
タから、どのコンポーネントのどのピンがどのような属
性を持つもので、それがどのコンポーネントのどのよう
な属性を持つピンに配線されているかが判る。このた
め、情報に基づいて、音声信号および制御信号の流れを
たどることが可能となる。
From such sound source algorithm data, it can be known which pin of which component has which attribute and which pin of which component has which attribute. Therefore, it is possible to trace the flow of the audio signal and the control signal based on the information.

【0114】また、音源部100のDSP116の資源
(プログラム・メモリ、レジスタ・メモリ、遅延メモ
リ)には制約があるので、アルゴリズム作成部200
は、作成したアルゴリズムがDSP116の資源の何パ
ーセントを使用しているかを常に計算して、使用資源表
示エリア612に、例えば、図3に示すように表示す
る。
Further, since the resources of the DSP 116 of the tone generator section 100 (program memory, register memory, delay memory) are limited, the algorithm creating section 200
Always calculates what percentage of the resources of the DSP 116 the created algorithm uses, and displays it in the used resource display area 612 as shown in FIG. 3, for example.

【0115】即ち、「P−RAM」(プログラム・メモ
リ)が「7.0%」、「I−RAM」(レジスタ・メモ
リ)が「1.6%」、「E−RAM」(遅延メモリ)が
「0.0%」と表示されている。そして、使用量が10
0%を越えた場合には、エラー・メッセージを表示して
注意を喚起し、操作者にその旨を知らせる。
That is, "P-RAM" (program memory) is "7.0%", "I-RAM" (register memory) is "1.6%", and "E-RAM" (delay memory). Is displayed as "0.0%". And the usage is 10
If it exceeds 0%, an error message is displayed to call attention and the operator is informed accordingly.

【0116】コンポーネント・ファイル900には、コ
ンポーネント毎の各資源の使用量が予め記憶されてお
り、当該記憶内容を用いてアルゴリズム全体の使用量を
求める。
In the component file 900, the usage amount of each resource for each component is stored in advance, and the usage amount of the entire algorithm is obtained using the stored contents.

【0117】なお、上記したようにアルゴリズム作成部
200は、本実施例によるシステム構成全体で唯一のユ
ーザー・インターフェースであり、アルゴリズムの作成
以外にも、音源部100やプログラム生成部300に対
して、コマンド・リスト・ウインドウ606(図6)の
操作により、以下の処理の指示を行う。
As described above, the algorithm creating unit 200 is the only user interface in the entire system configuration according to this embodiment, and in addition to creating the algorithm, the algorithm creating unit 200 By operating the command list window 606 (FIG. 6), the following process is instructed.

【0118】〔Compile〕コンパイル処理。ここ
でいうコンパイルとは、アルゴリズム作成部200で作
成したアルゴリズム・データを、プログラム生成部30
0へ送ってプログラムを生成し、さらに生成したプログ
ラムを音源部100へ転送する一連の処理のことをい
う。
[Compile] Compile processing. The compilation here means that the algorithm data created by the algorithm creating unit 200 is converted into the program creating unit 30.
It refers to a series of processes for sending a program to 0 to generate a program and transferring the generated program to the tone generator 100.

【0119】〔Save〕アルゴリズム作成部200で
作成したアルゴリズム・データを、ファイルに保存す
る。
[Save] The algorithm data created by the algorithm creating section 200 is saved in a file.

【0120】〔Load〕ファイルに保存されたアルゴ
リズム・データを、アルゴリズム作成部200に読み込
む。
The algorithm data stored in the [Load] file is read into the algorithm creating section 200.

【0121】〔Quit〕本アプリケーション・プログ
ラムを終了する。
[Quit] This application program is terminated.

【0122】〔Channels〕発音チャンネル数を
設定する。設定できる最大値は、PCM波形発生装置の
もつチャンネル数と同じで「16」とする。
[Channels] The number of sounding channels is set. The maximum value that can be set is "16", which is the same as the number of channels of the PCM waveform generator.

【0123】複雑なアルゴリズムを作成すると、生成さ
れるプログラムも大きくなり、限られたプログラム・サ
イズに収まらなくなったり、演奏に対する楽音制御の反
応速度が低下したりする。そのため、発音チャンネル数
を可変することで、プログラム・サイズや反応速度の調
整をできるようにした。
When a complicated algorithm is created, the program to be generated also becomes large, and the program size does not fit within the limited program size, or the reaction speed of the musical tone control to the performance is lowered. Therefore, the program size and reaction speed can be adjusted by changing the number of sound generation channels.

【0124】〔Waveform〕用意されているPC
M波形データ・ファイル1000のリストを表示し、操
作者がそのリストから所望の波形データ・ファイルを選
択する操作を行うと、当該波形データ・ファイルより波
形データ・テーブルと読み出しアドレス・データとを読
み出し、音源部100に転送する。
[Waveform] Prepared PC
When a list of M waveform data files 1000 is displayed and an operator selects a desired waveform data file from the list, the waveform data table and read address data are read from the waveform data file. , To the sound source unit 100.

【0125】〔DSP1〕 〔DSP2〕 〔DSP3〕 三つのDSP116に対応するそれぞれアルゴリズム作
成ウインドウ601(DSP1、DSP2およびDSP
3)を、表示装置600に表示する。
[DSP1] [DSP2] [DSP3] Algorithm creation windows 601 (DSP1, DSP2 and DSP) corresponding to the three DSPs 116, respectively.
3) is displayed on the display device 600.

【0126】〔Polyphonic〕ポリフォニック
・ウインドウ610を、表示装置600に表示する。
A [Polyphonic] polyphonic window 610 is displayed on the display device 600.

【0127】(複数のDSPチップの処理について)な
お、本実施例においては、DSP116として複数のD
SPチップを使用しているために、以下の特別な処理が
必要になる。即ち、本実施例においては、音源部100
において3つのDSP116を備えているものである
が、こうした場合の処理について以下に説明する。な
お、一つのDSPによって実行できるアルゴリズムに
は、DSPの能力的な限界が存在するため、複数のDS
Pチップを使用することによって、より高度なアルゴリ
ズムを作成することができる。
(Regarding Processing of Plural DSP Chips) In this embodiment, plural DSPs are used as the DSP 116.
Since the SP chip is used, the following special processing is required. That is, in this embodiment, the sound source unit 100
In the case where the three DSPs 116 are provided, the processing in such a case will be described below. Note that the algorithm that can be executed by one DSP has a limit of DSP capability, so multiple DSs can be used.
By using P-chips, more sophisticated algorithms can be created.

【0128】つまり、本実施例においては、図3に示す
ように、プログラム生成部300は、一つのアルゴリズ
ム作成ウインドウ601で一つのDSP116のアルゴ
リズムを作成するようになっている。
That is, in the present embodiment, as shown in FIG. 3, the program generation section 300 is adapted to create one DSP 116 algorithm in one algorithm creation window 601.

【0129】従って、複数のDSPチップを使用する場
合は、DSPチップ毎にそれぞれのアルゴリズム作成ウ
インドウ601でアルゴリズムを作成し、それらをつな
ぎ合わせて行くことになる。
Therefore, when using a plurality of DSP chips, an algorithm is created in each algorithm creation window 601 for each DSP chip, and these are connected together.

【0130】図2に示すように、DSP116は直列に
接続されていて、複数の音声信号を同時に送信すること
ができる。この受け渡しを、図7に示すように、Ser
InN、SerOutNというコンポーネントを使用し
て、プログラムできるようにする。なお、SerIn
N、SerOutNにおけるNは、DSP間の音声信号
チャンネルの番号で、同じ番号のSerOutからSe
rInに音声信号が送られる。
As shown in FIG. 2, the DSP 116 is connected in series and can simultaneously transmit a plurality of audio signals. This delivery is performed as shown in FIG.
Allows programming using InN, SerOutN components. In addition, SerIn
N in N and SerOutN is the number of the audio signal channel between the DSPs, from SerOut to Se of the same number.
An audio signal is sent to rIn.

【0131】上記と同様に制御信号についても、図7に
示すように、ctrlInN、ctrlOutNという
コンポーネントを使用して、ウインドウ間の信号の受け
渡しを行う。
Similarly to the above, as for the control signal, as shown in FIG. 7, the components ctrlInN and ctrlOutN are used to exchange signals between windows.

【0132】(ポリフォニック処理について)ポリフォ
ニック・ウインドウ610は、ここで作成した1音分の
アルゴリズムを、自動的に同時発音数分作成することが
できる。
(Regarding Polyphonic Processing) In the polyphonic window 610, the algorithm for one note created here can be automatically created for the number of simultaneous sounds.

【0133】通常のアルゴリズム作成ウインドウ601
のアルゴリズム描画エリア602では、ポリフォニック
な音源を作成しようとした場合、同じアルゴリズムを複
数描画しなければならない。それでは非常に作業量が増
えてしまい効率が悪いので、通常のアルゴリズム作成ウ
インドウ601のアルゴリズム描画エリア602とは別
にポリフォニック・ウインドウ610というウインドウ
を別に設定し、このウインドウ内で作成されたアルゴリ
ズムは、設定された発音チャンネル数に応じて、自動的
に複製されるようにしている。
Normal algorithm creation window 601
In the algorithm drawing area 602 of 1., when an attempt is made to create a polyphonic sound source, a plurality of same algorithms must be drawn. Since the amount of work increases significantly and the efficiency is low, a window called a polyphonic window 610 is set separately from the algorithm drawing area 602 of the normal algorithm creation window 601, and the algorithm created in this window is set. It is automatically duplicated according to the number of generated sound channels.

【0134】ポリフォニック・ウインドウ610で作成
されたアルゴリズムによって加工された音声信号および
制御信号は、一旦通常のアルゴリズム描画エリア602
に渡してから、そこでミックスされ、D/A変換器12
4に出力される。必要であれば、通常のアルゴリズム描
画エリア602でさらに何らかの加工を施してもよい。
The audio signal and the control signal processed by the algorithm created in the polyphonic window 610 are temporarily stored in the normal algorithm drawing area 602.
And then mixed there, D / A converter 12
4 is output. If necessary, some processing may be further performed in the normal algorithm drawing area 602.

【0135】図8は、ポリフォニック・ウインドウ61
0を使用したアルゴリズム作成の一例である。
FIG. 8 shows the polyphonic window 61.
It is an example of algorithm creation using 0.

【0136】ポリフォニック・ウインドウ610では、
オシレータOscで発生した音声信号をPanコンポー
ネントで二つの音声信号系列に分け、通常のアルゴリズ
ム作成ウインドウで当該二系列の音声信号をそれぞれ足
し合わせている。これによって、発音チャンネル毎に音
像定位が異なるステレオ出力を行うアルゴリズムが実現
できる。
In the polyphonic window 610,
The audio signal generated by the oscillator Osc is divided into two audio signal series by the Pan component, and the two series of audio signals are added together in a normal algorithm creation window. As a result, it is possible to realize an algorithm for performing stereo output with different sound image localization for each sounding channel.

【0137】ToneOutコンポーネントは、ポリフ
ォニック・ウインドウ610から通常のアルゴリズム作
成ウインドウ601に音声信号を渡すために、アルゴリ
ズム作成時のために用意された仮想のコンポーネント
で、「−A」や「−B」などの識別子は一つの発音チャ
ンネルに対応するアルゴリズムから、最大四つの系列の
音声信号を扱うことができる。
The ToneOut component is a virtual component prepared for algorithm creation in order to pass an audio signal from the polyphonic window 610 to the normal algorithm creation window 601, such as "-A" or "-B". The identifier can handle up to four series of audio signals from the algorithm corresponding to one sound channel.

【0138】NoteInコンポーネントは、Tone
Outコンポーネントの対となるコンポーネントであ
り、ポリフォニック・ウインドウ610からの音声信号
を通常のアルゴリズム作成ウインドウ601側で取り出
すためのコンポーネントである。「−0」や「−1」な
どの識別子はチャンネル番号に対応していて、四つの出
力ピンはToneOutコンポーネントの四つの系列と
対応している(「PinInfo 1」のウインドウを
参照)。
NoteIn component is Tone
It is a component that forms a pair with the Out component, and is a component for extracting the audio signal from the polyphonic window 610 on the side of the normal algorithm creation window 601. Identifiers such as "-0" and "-1" correspond to channel numbers, and the four output pins correspond to four series of ToneOut components (see "PinInfo 1" window).

【0139】また、asgnNは、アサイナ・コンポー
ネントのアルゴリズム作成のための仮想コンポーネント
で、チャンネル番号が特定できないポリフォニック・ウ
インドウ610で使用する。
Further, asgnN is a virtual component for creating an algorithm of an assigner component, and is used in the polyphonic window 610 whose channel number cannot be specified.

【0140】Compileボタンの操作によってコン
パイルが開始されると、アルゴリズム作成部200は、
通常のアルゴリズム・データの解析にさきだって、ポリ
フォニック・ウインドウ610で作成されたアルゴリズ
ムを設定された発音チャンネル数に応じて複製する処理
を行う。
When the compilation is started by operating the Compile button, the algorithm creating section 200
Prior to the analysis of normal algorithm data, a process of copying the algorithm created in the polyphonic window 610 according to the set number of sounding channels is performed.

【0141】ポリフォニック・ウインドウ610で作成
されたアルゴリズム・データは、前述の通常のアルゴリ
ズム作成ルーチンのアルゴリズム・データと同じ形式で
記憶されている。
The algorithm data created in the polyphonic window 610 is stored in the same format as the algorithm data of the normal algorithm creation routine described above.

【0142】複製処理は、このポリフォニック・ウイン
ドウ610で作成されたアルゴリズム・データを、通常
のアルゴリズム作成ウインドウ601のアルゴリズム・
データに、設定された発音チャンネル数回追加コピーす
ることで行われる。その際に、以下のような修正をアル
ゴリズム・データに対して行う。
In the duplication processing, the algorithm data created in the polyphonic window 610 is converted into the algorithm data in the normal algorithm creation window 601.
This is performed by additionally copying the set sound generation channels to the data several times. At that time, the following modifications are made to the algorithm data.

【0143】・ポリフォニック・ウインドウ610で作
成されたアルゴリズム・データ内のコンポーネント番号
COMPO#は、追加先のアルゴリズム・データで使用
されているコンポーネント番号の続き番号を振り直す。
The component number COMPO # in the algorithm data created in the polyphonic window 610 renumbers the component numbers used in the addition destination algorithm data.

【0144】・asgnNコンポーネントが使われてい
たら、そのC_NAMEデータをチャンネル番号に対応
した通常のアサイナ・コンポーネントの名前asgnN
mに置き換える(mはチャンネル番号)
If the asgnN component is used, its C_NAME data is the name of a normal assigner component asgnN corresponding to the channel number.
Replace with m (m is the channel number)

【0145】・ToneOut−A、ToneOut−
Bへの入力信号がNoteIn−ch(chはチャンネ
ル番号)から出力されるように、アルゴリズム・データ
上で接続情報を修正する。この処理は、以下の手順で行
われる。
ToneOut-A, ToneOut-
The connection information is modified on the algorithm data so that the input signal to B is output from Note In-ch (ch is a channel number). This process is performed in the following procedure.

【0146】(1)ToneOut−Aの入力ピンの接
続データP_LNKCおよびP_LNKPを調べ、その
コンポーネント番号COMPO#とピン番号PIN#を
得る。
(1) The connection data P_LNKC and P_LNKP of the input pin of ToneOut-A are checked to obtain its component number COMPO # and pin number PIN #.

【0147】(2)当該コンポーネント番号COMPO
#のコンポーネントの当該ピン番号PIN#の接続先を
示すデータP_LNKCおよびP_LNKPを、Not
eIn−chの出力ピンtone−Aの接続先データP
_LNKCおよびP_LNKPで置き換える。
(2) Corresponding component number COMPO
The data P_LNKC and P_LNKP indicating the connection destination of the relevant pin number PIN # of the component #
eIn-ch output pin tone-A connection destination data P
Replace with _LNKC and P_LNKP.

【0148】(3)同様に、NoteIn−chの出力
ピンtone−Aの接続先のコンポーネントのピンの接
続先データP_LNKCおよびP_LNKPを、Ton
eOut−Aの入力ピンの接続先データP_LNKCお
よびP_LNKPで置き換える。
(3) Similarly, the connection destination data P_LNKC and P_LNKP of the pin of the connection destination component of the output pin tone-A of the NoteIn-ch is set to Ton.
It is replaced with the connection destination data P_LNKC and P_LNKP of the input pin of eOut-A.

【0149】(4)同様の処理をToneOut−Bに
ついても行う。
(4) The same processing is performed for ToneOut-B.

【0150】(5)その後、修正処理を終了したTon
eOutおよびNoteInコンポーネントのアルゴリ
ズム・データを削除する。
(5) After that, Ton which has finished the correction process
Delete the eOut and NoteIn component algorithm data.

【0151】上記の1チャンネル分のアルゴリズム・デ
ータの書き換えを、追加を設定された発音チャンネル数
分繰り返す。これによって、ポリフォニック・ウインド
ウ610で作成されたアルゴリズムを、同時発音数分の
チャンネルに対応して形成することができる。
The above-mentioned rewriting of the algorithm data for one channel is repeated for the number of tone generation channels set to be added. As a result, the algorithm created in the polyphonic window 610 can be formed corresponding to the number of channels for simultaneous sound generation.

【0152】DSP116の資源の使用量も、ポリフォ
ニック・ウインドウ610に配置されたコンポーネント
に関しては発音チャンネル数倍して計算し、1つ目のD
SP116の使用量に加えて表示する。
The resource usage of the DSP 116 is also calculated by multiplying the number of sound generation channels for the components arranged in the polyphonic window 610, and calculating the first D
It is displayed in addition to the usage amount of SP116.

【0153】制御信号も、同様にポリフォニック・ウイ
ンドウ610から通常のアルゴリズム作成ウインドウ6
01のアルゴリズム描画エリア602に受け渡すことが
でき、そのための仮想コンポーネントが用意されてい
る。
Similarly, the control signal is changed from the polyphonic window 610 to the normal algorithm creation window 6
01 algorithm drawing area 602, and a virtual component for that purpose is prepared.

【0154】即ち、ポリフォニック・ウインドウ610
のctrlPolyOutN(図示せず)から、通常の
アルゴリズム描画エリア602のctrlPolyIn
N(図示せず)に、制御信号が受け渡される。なお、N
は、チャンネル番号である。
That is, the polyphonic window 610.
CtrlPolyOutN (not shown) of the normal algorithm drawing area 602 of ctrlPolyIn
The control signal is transferred to N (not shown). Note that N
Is the channel number.

【0155】〔プログラム生成部300〕プログラム生
成部300は、アルゴリズム作成部200で作成した音
源アルゴリズム・データを解析して、DSP116およ
びCPU104のプログラムを生成する。
[Program Generation Unit 300] The program generation unit 300 analyzes the sound source algorithm data created by the algorithm creation unit 200, and creates the programs for the DSP 116 and the CPU 104.

【0156】そして、プログラム生成部300で生成さ
れるDSPプログラムは、音声コンポーネントをDSP
116上に構成するためのものであり、各コンポーネン
トの特性はパラメータに対応する係数を変化させること
により、変化させることができる。
Then, the DSP program generated by the program generation unit 300 outputs the voice component to the DSP.
It is intended to be configured on 116, and the characteristics of each component can be changed by changing the coefficient corresponding to the parameter.

【0157】また、プログラム生成部300で生成され
るCPU制御プログラムは、制御コンポーネントをCP
U104上に構成するためのものであり、さまざまな演
奏情報から音声コンポーネントのパラメータに対応する
係数を制御するための制御信号を求め、逐次DSP11
6に与えることで音声コンポーネントを制御する。
Further, the CPU control program generated by the program generation unit 300 sets the control component as CP.
The control signal for controlling the coefficient corresponding to the parameter of the audio component is obtained from various performance information, and the DSP 11
6 controls the audio component.

【0158】コンポーネント・ファイル900には、そ
のコンポーネントの機能を実現するDSPプログラムと
CPU制御プログラムのひな型たる「テンプレート」お
よびそのテンプレートに対応する「シンボル情報」が記
憶されている。ここでいう「テンプレート」とは、リロ
ケータブルなプログラム・ルーチンであり、そのルーチ
ンで使用するワーク・メモリは、まだ割り当てられてい
ない。
The component file 900 stores a "template" which is a model of a DSP program and a CPU control program for realizing the function of the component, and "symbol information" corresponding to the template. The "template" mentioned here is a relocatable program routine, and the work memory used by the routine is not yet allocated.

【0159】「シンボル情報」とは、この「テンプレー
ト」が使用するワーク・メモリの情報であり、ワーク・
メモリを識別するためのシンボル名、割り当てるメモリ
・エリア、テンプレート内でワーク・メモリにしている
位置を示す参照アドレス、そしてワーク・メモリの初期
値を、使用するワーク・メモリ毎に記憶している(制御
シンボル情報は、メモリ・エリア情報は持っていない。
これは制御プログラムのワーク・エリアは、制御プログ
ラム・ワーク・エリアひとつしかないためである。)。
The "symbol information" is information on the work memory used by this "template".
The symbol name for identifying the memory, the memory area to be allocated, the reference address indicating the position of the work memory in the template, and the initial value of the work memory are stored for each work memory used ( The control symbol information does not have the memory area information.
This is because the control program work area has only one control program work area. ).

【0160】プログラム生成部300は、アルゴリズム
・データに従って、コンポーネントのテンプレートをつ
なぎあわせるとともに、テンプレートのシンボル情報に
従って、ワーク・メモリを実際に使用するメモリの所定
のメモリ・エリアに割り付ける。さらに、テンプレート
が割り当てたワーク・メモリをアクセスするように、参
照アドレス・データに基づいてつなぎあわせたテンプレ
ートのメモリ・アクセス命令を変更する。そして、ワー
ク・メモリの初期値が設定されていれば、割り当てたワ
ーク・メモリに初期値を格納する。
The program generator 300 connects the template of the component according to the algorithm data and allocates the work memory to a predetermined memory area of the memory actually used according to the symbol information of the template. Further, the memory access instruction of the connected template is changed based on the reference address data so as to access the work memory allocated by the template. Then, if the initial value of the work memory is set, the initial value is stored in the assigned work memory.

【0161】アルゴリズム・データの全てのコンポーネ
ントについて以上の処理が終了すると、つなぎあわされ
たテンプレートはプログラム・メモリに転送される。
When the above processing is completed for all components of the algorithm data, the linked templates are transferred to the program memory.

【0162】即ち、ピンの配線は、プログラムの中では
ワーク・メモリへのアクセスで実現される。つまり、出
力ピンはワーク・メモリにデータを書き込み、入力ピン
はワーク・メモリからデータを読み込む命令で置き換え
ることになる。そして、書き込みおよび読み出しのワー
ク・メモリを同一にすることにより、コンポーネントか
らコンポーネントへのデータの受け渡しを実現すること
ができる。
That is, the pin wiring is realized by accessing the work memory in the program. That is, the output pins will be written to the work memory and the input pins will be replaced with instructions to read the data from the work memory. By making the write and read work memories the same, it is possible to transfer data from component to component.

【0163】なお、音声信号を扱っているコンポーネン
トは、DSPプログラムとして変換され、制御信号の演
算をするコンポーネントはCPU制御プログラムの方に
プログラミングされる。また、制御信号を受ける音声コ
ンポーネントも、CPU制御プログラムの一部を生成す
る。
A component handling a voice signal is converted as a DSP program, and a component for calculating a control signal is programmed in the CPU control program. The voice component that receives the control signal also generates a part of the CPU control program.

【0164】また、CPU制御プログラムは、各タスク
における発音制御プログラム、離鍵制御プログラムおよ
び定期制御プログラムの3つのプログラムに分かれてい
る。
Further, the CPU control program is divided into three programs of a tone generation control program, a key release control program and a regular control program in each task.

【0165】DSPプログラムの方は、各DSP116
毎に必要になるが、各DSP116においては一つのプ
ログラムとして生成される。
For the DSP program, each DSP 116
Although it is required for each, it is generated as one program in each DSP 116.

【0166】ワーク・メモリには、演算途中のデータを
一時的に記憶したりするなどの一般のワーク・メモリ
と、入出力用の配線メモリとがある。
The work memory includes a general work memory for temporarily storing data during calculation and a wiring memory for input / output.

【0167】プログラム生成部300での処理は、DS
Pプログラムを作成する部分と、CPU制御プログラム
を作成する部分とに分かれていて、テンプレートをつな
げる方法や、ワーク・メモリの割り当て方法が異なって
いる。
The process in the program generation unit 300 is DS
It is divided into a part that creates a P program and a part that creates a CPU control program, and the method of connecting templates and the method of allocating work memory are different.

【0168】(DSPプログラムの作成について)DS
Pプログラムのテンプレートを持っているのは、音声コ
ンポーネントだけなので、アルゴリズム・データから、
まず音声コンポーネントのリストを作成する。同一のコ
ンポーネントが複数使用されている場合には、コンポー
ネントIDという識別用の番号をふっていく。
(Regarding creation of DSP program) DS
Since only the voice component has the P program template, from the algorithm data,
First, create a list of audio components. When a plurality of the same components are used, a component ID, which is an identification number, is given.

【0169】そして、リストに従って、コンポーネント
・ファイルから、DSPプログラムのテンプレートとシ
ンボル情報とを取り出す。DSPプログラムでは、テン
プレートを連結する方法は自由である。即ち、アルゴリ
ズム・データに登録されている順でもよいし、コンポー
ネント名のアルファベット順でもよい。
Then, according to the list, the template of the DSP program and the symbol information are extracted from the component file. In the DSP program, the method of connecting the templates is arbitrary. That is, it may be in the order registered in the algorithm data or in the alphabetical order of the component names.

【0170】なお、DSPプログラムが使用するワーク
・メモリには、レジスタ・メモリ、係数メモリおよび遅
延メモリがある。
The work memory used by the DSP program includes a register memory, a coefficient memory and a delay memory.

【0171】一般的なワーク・メモリには、上記3つの
メモリが全て使用されるが、配線用に使用するメモリ
は、レジスタ・メモリだけである。
All the above three memories are used as a general work memory, but the register memory is the only memory used for wiring.

【0172】配線用のレジスタ・メモリの割り当ては、
まず出力用のメモリを、レジスタ・メモリ・エリアの1
つおきの仮想アドレスに割り当てる。つづいて、それに
対応する入力用のメモリを、その出力用の次の仮想アド
レスに割り当てる。レジスタ・メモリは、リング・バッ
ファになっており、DSP116では上記の仮想アドレ
スの値と1サイクル(サンプリング周期)に1アドレス
づつ逆進するポインタの値とが加算された値が、レジス
タ・メモリの絶対アドレスとされる。このようにして1
サイクル毎に、データがあたかも次の仮想アドレスに送
られていくようになる。
Assignment of register memory for wiring is as follows.
First, set the output memory to 1 in the register memory area.
Assign to every other virtual address. Subsequently, the corresponding memory for input is assigned to the next virtual address for output. The register memory is a ring buffer, and in the DSP 116, the value obtained by adding the value of the virtual address and the value of the pointer that moves backward by one address in one cycle (sampling cycle) is stored in the register memory. It is an absolute address. In this way 1
Every cycle, the data will be sent to the next virtual address.

【0173】従って、こうしておくと、コンポーネント
からコンポーネントへ音声信号が渡るときに、必ず1サ
ンプルの遅延が発生する。こうすることで、テンプレー
トの連結の順序によってサンプル遅延が発生したり、あ
るいは発生しなかったりすることを、避けることができ
る。
Therefore, in this way, when the audio signal passes from component to component, a delay of 1 sample is always generated. By doing so, it is possible to prevent the sample delay from occurring or not depending on the order in which the templates are connected.

【0174】後述するパラレル・コンポーネントの場合
は、そのコンポーネントにつながっているコンポーネン
トの全てのピンが、同一のレジスタ・メモリを参照する
ようにする。
In the case of a parallel component, which will be described later, all pins of the component connected to the component refer to the same register memory.

【0175】レジスタ・メモリの中には、常に「0」が
読み出されるレジスタ・メモリ(ゼロ・メモリ)が1ワ
ード用意されている。そして、入力ピンが未配線の場合
には、入力メモリとして、このゼロ・メモリを割り当て
る。
One word of the register memory (zero memory) from which "0" is always read is prepared in the register memory. When the input pin is not wired, this zero memory is assigned as the input memory.

【0176】なお、出力ピンが未配線の場合には、ゼロ
・メモリではないレジスタ・メモリが割り当てられる。
即ち、出力ピンが未配線ならば、このレジスタ・メモリ
から値が読み出されることはないので、このままで問題
が生じないからである。
If the output pin is not wired, a register memory other than the zero memory is assigned.
That is, if the output pin is unwired, no value will be read from this register memory, and no problem will occur as it is.

【0177】例えば、図9に示す音源アルゴリズムのD
SPプログラムを作成する手順を、図10を参照しなが
ら説明すると、まず、各コンポーネントのテンプレート
を適当にならべ(アルファベット順でもよいし、メモリ
に記憶されている順番でもよい。図10では、音声信号
の流れる順にならべている。)、出力するレジスタを使
うものを、先頭から1個とびの仮想アドレスに割り振っ
て行き、それから入力するものをその対応する次の仮想
アドレスに割り振っていく。
For example, D of the sound source algorithm shown in FIG.
The procedure for creating the SP program will be described with reference to FIG. 10. First, the templates of the components are arranged appropriately (in alphabetical order or in the order stored in the memory. In FIG. , The ones that use the register to be output are allocated to the virtual addresses one by one from the beginning, and then the ones to be input are allocated to the corresponding next virtual address.

【0178】即ち、Oscをレジスタ・メモリの仮想ア
ドレスにstore(ストア)すると、Panがその次
の仮想アドレスをload(ロード)するように割り振
っていく。以下、同様な仮想アドレスの割り振りを行
う。
That is, when Osc is stored (stored) in the virtual address of the register memory, Pan is allocated so as to load (load) the next virtual address. Hereinafter, similar virtual address allocation is performed.

【0179】また、Panの左右のふれやOscのピッ
チなどを変えたりする情報は、係数メモリから読み込ん
で演算する。従って、係数メモリにCPU104から値
を書き込むことにより、いろいろなパラメータの値を制
御できるようになる。また、このためCPU104に、
例えばPanの係数メモリのアドレスを示す情報を知ら
せておく必要がある。即ち、CPU104は値を書き込
むときに、直接アドレスを指定して書き込むからであ
る。
Information for changing the left / right deviation of Pan and the pitch of Osc is read from the coefficient memory and calculated. Therefore, the values of various parameters can be controlled by writing the values from the CPU 104 to the coefficient memory. For this reason, the CPU 104
For example, it is necessary to give information indicating the address of the coefficient memory of Pan. That is, the CPU 104 directly specifies an address and writes the value when writing the value.

【0180】上記したような処理を行うことにより、D
SPプログラムを生成できることになる。こうして、D
SPプログラムの生成が終了すると、完成したDSPプ
ログラムは、DSPのプログラム・メモリに転送され
る。転送終了後、DSPは直ちに当該プログラムによる
音声信号の処理を開始する。
By performing the above processing, D
The SP program can be generated. Thus, D
When the generation of the SP program is completed, the completed DSP program is transferred to the DSP program memory. After the transfer is completed, the DSP immediately starts processing the audio signal by the program.

【0181】(CPU制御プログラムの作成について)
CPU制御プログラムは、制御コンポーネントと制御入
力ピンや制御出力ピンを備えた音声コンポーネントから
生成する。
(Creation of CPU control program)
The CPU control program is generated from a voice component having a control component and control input pins and control output pins.

【0182】このCPU制御プログラムの作成の場合
も、DSPプログラムの作成の場合と同様に、関係する
コンポーネント・ファイル900からCPU制御プログ
ラムのテンプレートとシンボル情報を得る。
In the case of creating this CPU control program, the template and symbol information of the CPU control program are obtained from the related component file 900, as in the case of creating the DSP program.

【0183】プログラムの作成方法は、DSPプログラ
ムの場合とほぼ同一であるが、次の2点において異なっ
ている。
The method of creating the program is almost the same as that of the DSP program, but is different in the following two points.

【0184】まず、第1点は、CPU制御プログラムは
以下の3つのプログラムから成り立っている。
First, the first point is that the CPU control program consists of the following three programs.

【0185】(1)定期制御プログラム(定期サービス
・タスク) 一定時間毎に制御信号の演算を行うプログラムである。
具体的には、時変するパラメータや、操作者によるリア
ル・タイム可変パラメータの演算などを行う。
(1) Periodic Control Program (Periodic Service Task) This is a program for calculating control signals at regular intervals.
Specifically, the time-varying parameter and the operator calculate a real-time variable parameter.

【0186】(2)発音制御プログラム(アサイナ・タ
スク) 発音開始の制御演算を行う。具体的には、エンベロープ
のアタック部からサスティン部に関わるパラメータをエ
ンベロープ・ジェネレータに与えるための処理や、LF
Oの初期位相設定などを行う。
(2) Sound generation control program (assigner task) Performs control calculation for starting sound generation. Specifically, the process for giving parameters related to the sustain part from the attack part of the envelope to the envelope generator, and the LF
The initial phase of O is set.

【0187】(3)離鍵制御プログラム(アサイナ・タ
スク) 離鍵時の制御信号の演算を行う。具体的には、エンベロ
ープのリリース部に関わるパラメータをエンベロープ・
ジェネレータに与えるための処理などを行う。
(3) Key release control program (assigner task) The control signal for key release is calculated. Specifically, the parameters related to the release part of the envelope
Performs processing to give to the generator.

【0188】次に、第2点は、テンプレートの連結は、
可能な限り信号の流れる順に従うということである。こ
れは、次のような理由に基づく。即ち、CPU104で
はテンプレートの連結された順番に応じて対応するプロ
グラムが実行されることになるが、発音時や離鍵時の制
御プログラムは発音時/離鍵時に一度しか実行されない
ため、テンプレートの連結順を信号の流れと逆にする
と、信号の流れの上流側で前回の発音時/離鍵時に演算
された制御信号が新たな発音時/離鍵時に下流側に供給
されるようになり、正常な動作をしなくなるからであ
る。
Next, the second point is that template connection is
It means to follow the order of signal flow as much as possible. This is based on the following reasons. That is, the CPU 104 executes the corresponding program according to the order in which the templates are linked, but the control program at the time of sounding or releasing the key is executed only once at the time of sounding / release of the key, so that the template is connected. If the order is reversed from the signal flow, the control signal calculated at the time of the previous sound generation / key release on the upstream side of the signal flow will be supplied to the downstream side at the new sound generation / key release, which is normal. This is because it does not operate normally.

【0189】図11を参照しながら、テンプレートを可
能な限り信号の流れる順に連結する方法について説明す
ると、まず、制御信号の流れの終端となるコンポーネン
トのリストを作る。即ち、制御信号の入力ピンたる制御
入力ピンはあるが、制御出力ピンのないコンポーネント
のリストを作る。通常は、図9に示すように、Panの
ような音声コンポーネントが終端になる。終端のコンポ
ーネントから、制御信号の流れをさかのぼることによっ
て、テンプレートの連結順序を後ろから決定していく。
Referring to FIG. 11, the method of connecting the templates in the order of signal flow as much as possible will be described. First, a list of components that will be the ends of the flow of control signals will be created. That is, it creates a list of components that have control input pins that are control signal input pins but no control output pins. Normally, an audio component such as Pan is terminated as shown in FIG. By tracing the flow of the control signal from the terminal component, the connection order of the templates is determined from the back.

【0190】終端のコンポーネントが複数ある場合に
は、まず一つめの終端のコンポーネントに注目する。当
該コンポーネントのテンプレートが、制御プログラムの
最後になる。終端のコンポーネントが一つしかない場合
(図9に示す音源アルゴリズムの場合では、Panが終
端のコンポーネントになる。)には、その終端コンポー
ネントに注目する。
When there are a plurality of termination components, the first termination component is focused on. The template for the component is the last in the control program. When there is only one terminal component (in the sound source algorithm shown in FIG. 9, Pan is the terminal component), the terminal component is focused on.

【0191】そして、注目した終端コンポーネントの制
御入力ピンにつながっているコンポーネントに注目を移
し、そのテンプレートを先ほどのテンプレートの前に連
結する(図9に示す音源アルゴリズムの場合には、ad
dとなる。)。
Then, the attention is paid to the component connected to the control input pin of the noticed terminal component, and the template is connected in front of the previous template (in the case of the sound source algorithm shown in FIG.
It becomes d. ).

【0192】このように入力ピンにつながっているコン
ポーネントのテンプレートを、前に前に順次連結してい
くことで、信号の流れる順序に即して、テンプレートを
連結することができる。
By sequentially connecting the templates of the components connected to the input pins in this way, the templates can be connected according to the order of signal flow.

【0193】コンポーネントの制御入力ピンが複数ある
場合には、一つの入力ピンの上流をたどって行き、制御
入力ピンがないコンポーネントまで行き着いたところ
で、最後に分岐したコンポーネントに戻り、次の入力ピ
ンまでたどればよい。
When a component has a plurality of control input pins, it traces upstream of one input pin until it reaches a component with no control input pin, returns to the last branched component, and continues to the next input pin. Just follow.

【0194】また、注目したコンポーネントに出力ピン
が複数ある場合、即ち、現在たどってきた以外の出力ピ
ンがある場合には、フィードバックが形成されている可
能性があるため、上流にたどるのをそこで中止して、そ
のコンポーネントの現在たどってきた出力ピンに対応す
るフラグを立てる。
If the component of interest has a plurality of output pins, that is, if there is an output pin other than the one currently traced, there is a possibility that feedback is formed. Stop and set the flag corresponding to the component's current traced output pin.

【0195】こうして、終端コンポーネントから上流に
たどれるコンポーネントを全てたどったら、次の終端コ
ンポーネントから、同様な処理を繰り返し、終端のコン
ポーネントがなくなるまで、上記操作を繰り返す。
In this way, when all the components that can be traced upstream from the termination component are traced, the same processing is repeated from the next termination component, and the above operation is repeated until there is no termination component.

【0196】なお、出力ピンが複数あるコンポーネント
に関しては、全ての出力ピンにフラグが立った時点で上
流にたどる処理を再開する。
For a component having a plurality of output pins, the process of tracing upstream is restarted when all the output pins are flagged.

【0197】制御信号のアルゴリズムにフィードバック
が形成されていた場合、全てのスキャンを終えても、出
力ピンのフラグが全て立っていない制御コンポーネント
が残ることになる。そこで、フィードバックの場合に
は、終端となるコンポーネントからのスキャンが終了し
たら、まだ処理の終了していない制御コンポーネントを
探し、その上流のスキャンを行う。
If feedback is formed in the algorithm of the control signal, even if all the scans are finished, some control components in which the flags of the output pins are not set remain. Therefore, in the case of feedback, when the scan from the terminal component is completed, the control component whose processing has not been completed is searched and the upstream scan is performed.

【0198】以上の操作により、テンプレートの連結を
行うことができる。
By the above operation, the templates can be linked.

【0199】次に、1つのアルゴリズムから、上記した
3つのプログラムを生成する方法について説明する。
Next, a method of generating the above three programs from one algorithm will be described.

【0200】コンポーネントは、制御プログラムのテン
プレートを複数持つことができ、それぞれのテンプレー
トは、どの制御プログラムとして連結するのか、コンポ
ーネント・ファイルのテンプレート時制TplTens
eで指定されている。その属性は、以下の4通りであ
る。 (1)CYCL 定期制御プログラムとして連結 (2)PRON 発音制御プログラムとして連結 (3)NOFF 離鍵制御プログラムとして連結 (4)NONE 下流のコンポーネントと同じ制御プ
ログラムに連結
A component can have a plurality of control program templates. Which control program each template is linked to, and the template tense TplTens of the component file.
Specified by e. Its attributes are the following four types. (1) Connected as CYCL regular control program (2) Connected as PRON sounding control program (3) Connected as NOFF key release control program (4) NONE Connected to the same control program as downstream components

【0201】例えば、lfoI(図43)は、発音開始
時の初期位相が設定可能なLFOを実現できるコンポー
ネントで、二つのテンプレートを持っている。一つは定
期サービスの中で波形を演算するプログラムを生成する
ためのテンプレートで、CYCLに指定されていて、も
う一つは、発音時(押鍵時)に初期位相を設定するため
のプログラムを生成するためのテンプレートで、PRO
Nに指定されている。
For example, lfoI (FIG. 43) is a component that can realize an LFO in which the initial phase at the start of sounding can be set, and has two templates. One is a template for generating a program to calculate the waveform in the regular service, which is specified in CYCL, and the other is a program for setting the initial phase when sounding (key pressing). Template to generate, PRO
Specified as N.

【0202】プログラム生成部は、テンプレートの属性
に従って、波形を演算するプログラムを定期制御プログ
ラムに連結し、一方の初期位相を設定するプログラムを
発音制御プログラムに連結する。これによって、波形の
演算処理は定期的に繰り返し行われるが、初期位相の設
定処理は、発音時に一度だけ行われるようになる。
The program generation unit connects the program for calculating the waveform to the regular control program and the program for setting one initial phase to the sound generation control program according to the template attribute. As a result, the calculation processing of the waveform is periodically repeated, but the setting processing of the initial phase is performed only once at the time of sound generation.

【0203】同様に、env(図49)、adsr(図
50)は、エンベロープ信号を発生するエンベロープ・
ジェネレータを実現できるコンポーネントであるが、こ
れにも生成するエンベロープ信号のアタック部からサス
ティン部に関わるパラメータを発音時に設定するプログ
ラムを生成するためのテンプレートと、リリース部に関
わるパラメータを離鍵時に設定するプログラムを生成す
るためのテンプレートと、さらにこれらの設定されたパ
ラメータに基づいて定期サービスの中でエンベロープ信
号の波形を演算するプログラムを生成するためのテンプ
レートとが用意されている。
Similarly, env (FIG. 49) and adsr (FIG. 50) are envelope envelope generating envelope signals.
Although it is a component that can realize a generator, it also sets a template for generating a program that sets the parameters related to the sustain part from the attack part of the envelope signal that is also generated when the sound is generated, and the parameters related to the release part when the key is released. A template for generating a program and a template for generating a program for calculating the waveform of the envelope signal in the regular service based on these set parameters are prepared.

【0204】テンプレートの属性NONEは、汎用的な
演算プログラムのテンプレートに付けられるもので、後
述する演算系コンポーネントやカーブ変換系コンポーネ
ント、フェーダー・コンポーネントなどは、この属性の
テンプレートを持つ。これらのコンポーネントの処理
は、その下流につながるコンポーネントの制御プログラ
ムに制御データを与えるために行われるので、下流のコ
ンポーネントと同じ制御プログラムにテンプレートを連
結しなければならない。具体的には、次のような処理を
行う。
The template attribute NONE is attached to the template of a general-purpose arithmetic program, and arithmetic system components, curve conversion system components, fader components, etc., which will be described later, have templates of this attribute. Since the processing of these components is performed in order to give control data to the control program of the component connected to the downstream, the template must be linked to the same control program as the component of the downstream. Specifically, the following processing is performed.

【0205】プログラム生成部300では、システム・
ワーク・エリアに時制データを記憶する時制データ・バ
ッファがテンプレート毎に用意されている。時制データ
とは、テンプレートを連結するプログラムの種類を表す
もので、そのとり得る値はCYCL、RRON、NOF
Fの三つであり、それぞれ定期制御プログラム、発音制
御プログラム、離鍵制御プログラムに対応している。時
制データ・バッファは使用されている制御コンポーネン
トの数だけ確保され、始めにCYCLで初期化されてい
る。
In the program generator 300, the system
A tense data buffer for storing tense data in the work area is prepared for each template. Temporal data represents the type of program that links the templates, and its possible values are CYCL, RRON, and NOF.
F, which corresponds to a regular control program, a sound generation control program, and a key release control program, respectively. Temporal data buffers are reserved for the number of control components used and are initially initialized with CYCL.

【0206】プログラム生成部300は、前述したよう
に終端のコンポーネントから順次テンプレートの連結を
行う。テンプレートを連結するにあたり、まず、着目し
たテンプレートのテンプレート時制TplTenseを
判断する。テンプレート時制TplTenseがNON
E以外の場合には、そのテンプレートの時制に対応する
プログラムに、そのテンプレートを接続する。着目した
コンポーネントのテンプレート時制TplTenseが
NONEである場合には、そのテンプレートの時制デー
タ・バッファの示す時制に対応するプログラムにテンプ
レートを連結する。
As described above, the program generator 300 sequentially connects the templates from the end component. In connecting the templates, first, the template tense TplTense of the template of interest is determined. Template tense TplTense is NON
If it is other than E, the template is connected to the program corresponding to the tense of the template. When the template tense TplTense of the focused component is NONE, the template is linked to the program corresponding to the tense indicated by the tense data buffer of the template.

【0207】この場合、着目したコンポーネントが終端
であった場合には、上記した初期化により、時制データ
・バッファは、CYCLとされている。
In this case, when the focused component is the terminal, the tense data buffer is set to CYCL by the above initialization.

【0208】テンプレートの連結に関わる処理が終了し
たら、着目したコンポーネントの制御入力ピンに接続さ
れている上流のコンポーネントのテンプレートの連結準
備のため、上流のコンポーネントの時制データ・バッフ
ァの内容の設定を行う。具体的には、着目したコンポー
ネントのピン時制PinTenseがNONE以外の場
合には、そのピンの時制の内容を上流のコンポーネント
の時制データ・バッファにコピーし、ピン時制PinT
enseがNONEである場合には、着目したコンポー
ネントの時制データ・バッファの内容を上流のコンポー
ネントの時制データ・バッファにコピーする。
When the process related to the template connection is completed, the content of the tense data buffer of the upstream component is set in order to prepare the connection of the template of the upstream component connected to the control input pin of the focused component. . Specifically, if the pin tense PinTense of the focused component is other than NONE, the content of the tense of that pin is copied to the tense data buffer of the upstream component, and the pin tense PinT
If ense is NONE, the contents of the tense data buffer of the focused component are copied to the tense data buffer of the upstream component.

【0209】以上の処理が終了したら、着目するコンポ
ーネントをその上流のコンポーネントへと移し、テンプ
レートの連結処理を繰り返す。
When the above processing is completed, the component of interest is moved to the upstream component, and the template connection processing is repeated.

【0210】例えば、コンポーネントlfoIの制御信
号入力ピンには、周波数を設定するrateを入力する
ピン、波形を設定するwaveformを入力するピ
ン、初期位相を設定するphaseを入力するピンの三
つがあるが、そのうちの、周波数を設定するrateと
波形を設定するwaveformは、波形を演算するプ
ログラム(定期制御プログラムに連結)によって参照さ
れる。
For example, there are three control signal input pins for the component lfoI: a pin for inputting a rate for setting a frequency, a pin for inputting a waveform for setting a waveform, and a pin for inputting a phase for setting an initial phase. Of these, the rate for setting the frequency and the waveform for setting the waveform are referred to by a program for calculating the waveform (connected to the regular control program).

【0211】一方、初期位相を設定するphaseは、
押鍵時に初期位相を設定するプログラム(発音制御プロ
グラムに連結)によって参照される。
On the other hand, the phase for setting the initial phase is
It is referred to by the program that sets the initial phase when the key is pressed (connected to the sound generation control program).

【0212】従って、rateもしくはwavefor
mの上流に接続されたコンポーネントのテンプレートの
属性がNONEであれば、それは定期制御プログラムに
連結される。一方、phaseの上流に接続されたので
あれば、発音制御プログラムに連結される。
Therefore, rate or wavefor
If the template attribute of the component connected upstream of m is NONE, it is linked to the periodic control program. On the other hand, if it is connected upstream of the phase, it is linked to the sound generation control program.

【0213】このようにして、下流のコンポーネントか
ら上流のコンポーネントにピンの接続を介して遡ってい
く際に、ピン時制PinTenseというデータを使っ
てテンプレートの連結先を継承する。
In this way, when tracing back from the downstream component to the upstream component through the pin connection, the data of the pin tense PinTense is used to inherit the link destination of the template.

【0214】下流のコンポーネントがない終端のコンポ
ーネントでは、時制データ・バッファがCYCLで初期
化されているため、ピン時制PinTenseやテンプ
レート時制TplTenseがNONEであるところの
大部分のコンポーネントのテンプレートは、定期制御プ
ログラムに連結される。
In the end component that has no downstream component, since the tense data buffer is initialized by CYCL, the template of most of the components in which the pin tense PinTense and the template tense TplTense are NONE are periodically controlled. Be linked to the program.

【0215】(トリガ・ピンの処理について)次に、コ
ンポーネントに配置されたトリガ・ピン(表示装置60
0の画面上では白抜きで表示されている。)の処理につ
いて説明する。
(Regarding Processing of Trigger Pin) Next, the trigger pin (display device 60) arranged on the component
It is displayed in white on the screen of 0. ) Will be described.

【0216】発音制御プログラムと離鍵制御プログラム
は、アサイナ・タスクから呼ばれて動作するが、このと
き、発音チャンネル番号が引数として渡される。発音制
御プログラム、離鍵制御プログラム中には全ての発音チ
ャンネルに関する処理が書かれているが、そのプログラ
ムの中から、その発音チャンネル番号に対応する部分だ
けを実行しなくてはならない。
The tone generation control program and the key release control program operate by being called by the assigner task. At this time, the tone generation channel number is passed as an argument. In the tone generation control program and the key release control program, processing for all tone generation channels is written, but only the portion corresponding to the tone generation channel number must be executed from that program.

【0217】発音制御プログラム、離鍵制御プログラム
に関連するコンポーネントには、必ずトリガ・ピンが配
置されている。また逆に、トリガ・ピンが配設されてい
るコンポーネントおよびその上流に接続されたコンポー
ネントのみが、発音制御プログラム、離鍵制御プログラ
ムに関連する。
Trigger pins are always arranged in the components related to the tone generation control program and the key release control program. On the contrary, only the component in which the trigger pin is arranged and the component connected upstream thereof are related to the tone generation control program and the key release control program.

【0218】そこで、プログラム生成部300は、トリ
ガ・ピンの配線を調べて、発音制御プログラムと離鍵制
御プログラムの中に、引数の発音チャンネル番号をチェ
ックする分岐命令を、各チャンネルに対応するプログラ
ムの先頭に置く。
Therefore, the program generation unit 300 checks the wiring of the trigger pin, and in the tone generation control program and the key release control program, issues a branch instruction for checking the tone generation channel number of the argument to the program corresponding to each channel. Put at the beginning of.

【0219】即ち、プログラムの生成は、注目する各コ
ンポーネントに対応するテンプレートを連結し順次積ん
でいくものであるが、プログラム生成部300は、その
際注目したコンポーネントにトリガ入力ピンがあった
ら、その時点での発音制御プログラムおよび離鍵制御プ
ログラムの既に積んでしまった先頭位置を覚えておく。
そして、そのコンポーネントに接続された制御コンポー
ネントを上流まで全てたどり終えたとき、即ち、テンプ
レートを積み終えたときに、さらにその先頭に分岐命令
を連結する。分岐条件は、「引数の発音チャンネル番号
が、注目したコンポーネントのトリガ入力ピンの上流の
アサイナ・コンポーネントの発音チャンネル番号と一致
しないとき」で、分岐先は覚えておいた先頭位置であ
る。
That is, the program is generated by connecting the templates corresponding to the components of interest and sequentially stacking them. If the component of interest has a trigger input pin at that time, the program generator 300 Remember the beginning positions of the pronunciation control program and the key release control program that have already been loaded.
Then, when all the control components connected to the component have been traced upstream, that is, when the templates have been stacked, a branch instruction is further connected to the head thereof. The branching condition is “when the sounding channel number of the argument does not match the sounding channel number of the assigner component upstream of the trigger input pin of the focused component”, and the branch destination is the remembered start position.

【0220】(ワーク・メモリの割り当てについて)次
に、ワーク・メモリの割り当てについて、図11を参照
しながら説明することとする。
(Assignment of Work Memory) Next, assignment of work memory will be described with reference to FIG.

【0221】ワーク・メモリは、ワークRAM110内
の制御プログラム・ワーク・エリアに割り当てられる。
まず、一般のワーク・メモリと出力用のワーク・メモリ
を割り当て、連結されたテンプレート中のダミー・アド
レスを、割り当てたワーク・メモリのアドレスで置き換
える。
The work memory is assigned to the control program work area in the work RAM 110.
First, a general work memory and a work memory for output are allocated, and the dummy address in the concatenated template is replaced with the address of the allocated work memory.

【0222】次に、入力用のワーク・メモリを、配線さ
れている出力用のワーク・メモリと同じアドレスに割り
当て、ダミー・アドレスを置き換える。
Next, the work memory for input is assigned to the same address as the work memory for output wired, and the dummy address is replaced.

【0223】制御プログラム・ワーク・エリアにも、常
に0が読み出されるワーク・メモリとしてゼロ・メモリ
が用意されていて、入力ピンが未接続の場合には、この
ゼロ・メモリを割り当てる。
In the control program work area also, a zero memory is prepared as a work memory from which 0 is always read. If the input pin is not connected, this zero memory is allocated.

【0224】このように、未接続のピンがある場合で
も、エラーとはしないことで、作成途中のアルゴリズム
からでもプログラムが生成でき、作成済みの範囲での検
証ならびに評価を行うことができるようにしている。
As described above, even if there is an unconnected pin, it is possible to generate a program even from an algorithm in the process of making it possible to perform verification and evaluation in the created range by not causing an error. ing.

【0225】(CPU104からDSP116への係数
書き込みについて)制御信号による音声コンポーネント
の制御は、CPU104から係数メモリに係数を書き込
むことで実現する。
(Regarding Writing of Coefficient from CPU 104 to DSP 116) Control of the audio component by the control signal is realized by writing the coefficient from the CPU 104 to the coefficient memory.

【0226】制御信号入力を持つ音声コンポーネントの
制御プログラムのテンプレートには、CPU104から
DSP116の係数メモリにデータを書き込む命令が含
まれている。テンプレートでは、この係数メモリのアド
レスも、ダミーで書かれている。
The template of the control program of the audio component having the control signal input includes an instruction to write data from the CPU 104 to the coefficient memory of the DSP 116. In the template, the address of this coefficient memory is also written as a dummy.

【0227】係数メモリは、DSPプログラムを生成す
るときに割り当てられているので、その割り当てアドレ
スでテンプレートのダミー・アドレスを置き換える。
Since the coefficient memory is assigned when the DSP program is generated, the assigned address replaces the dummy address of the template.

【0228】上記したような処理を行うことにより、制
御プログラムを生成できることになる。
The control program can be generated by performing the above processing.

【0229】こうして、CPU制御プログラムの生成が
終了すると、完成したCPU制御プログラムは、ワーク
RAM110の制御プログラム・エリアに転送される。
転送終了後、直ちにCPU104は当該制御プログラム
によるDSP116の制御処理を開始する。これによっ
て、操作者は所望のアルゴリズムを備えた電子楽器を実
現することができる。
When the generation of the CPU control program is completed in this way, the completed CPU control program is transferred to the control program area of the work RAM 110.
Immediately after the transfer, the CPU 104 starts the control processing of the DSP 116 by the control program. This allows the operator to realize an electronic musical instrument having a desired algorithm.

【0230】〔コンポーネント・ファイル900〕次
に、コンポーネント・ファイル900に記憶されている
コンポーネントの中で代表的なコンポーネントを、図1
2乃至図61を参照しながら以下に説明する。
[Component File 900] Next, a typical component among the components stored in the component file 900 is shown in FIG.
2 to 61, description will be given below.

【0231】なお、コンポーネントの名称には、英数字
を使用しているが、音声コンポーネントの名称は大文字
で、制御コンポーネントの名称は小文字ではじめるよう
にしている。
Although alphanumeric characters are used for component names, voice component names are capitalized and control component names are capitalized.

【0232】〔音声コンポーネント〕 ・フィルタ系 (1)TVF(図12) 時変フィルタの機能を実現するコンポーネントである。
シンセサイザでは、時変フィルタはよく使用されている
が、時変するのはカット・オフ周波数のみで、レゾナン
ス(Q)は固定、もしくはマニュアルによる制御しかで
きなかった。本発明によるシステムにおいては、カット
・オフ周波数とレゾナンスの2つのパラメータを自由に
時変させることができる。即ち、LFOやエンベロープ
をかけることができる。また、レゾナンスをノート・オ
ン・ベロシティ、ノート・オフ・ベロシティ、アフター
・タッチなどに応じて可変することもできる。
[Voice Component] Filter System (1) TVF (FIG. 12) This component realizes the function of the time-varying filter.
Time-varying filters are often used in synthesizers, but only the cut-off frequency is time-varying, and the resonance (Q) can be fixed or controlled manually. In the system according to the present invention, two parameters of cutoff frequency and resonance can be freely time-varying. That is, LFO and envelope can be applied. You can also change the resonance according to note-on velocity, note-off velocity, aftertouch, etc.

【0233】なお、カット・オフ周波数は制御が行いや
すいように、外部からセント単位のデータとして与え、
TVFの内部で実際のカット・オフ周波数に変換して制
御に用いられる。これは、次に説明するTVEQの中心
周波数に関しても同様である。
The cut-off frequency is given as data in cent units from the outside so that the control can be performed easily.
It is converted to an actual cut-off frequency inside the TVF and used for control. This also applies to the center frequency of TVEQ described next.

【0234】(2)TVEQ(時変イコライザ)(図1
3) 時変イコライザの機能を実現するコンポーネントであ
る。中心周波数、Q、およびゲインを制御することがで
きる。
(2) TVEQ (time-varying equalizer) (Fig. 1
3) It is a component that realizes the function of the time-varying equalizer. The center frequency, Q, and gain can be controlled.

【0235】・ゲイン系 (1)TVA(図14) 時変増幅器の機能を実現するコンポーネントであり、レ
ベルを制御することができる。
Gain system (1) TVA (FIG. 14) This is a component that realizes the function of the time-varying amplifier, and the level can be controlled.

【0236】(2)Mix(図15) CMix(図16) ミキサーの機能を実現するコンポーネントである。Mi
xは、定音量でミックスする。CMixは対応する制御
信号に応じて、各入力のレベルを独立して制御できる。
(2) Mix (FIG. 15) CMix (FIG. 16) This is a component that realizes the function of the mixer. Mi
x mixes at a constant volume. The CMix can independently control the level of each input according to the corresponding control signal.

【0237】(3)Pan(図17) パン・ポットの機能を実現するコンポーネントである。
供給される定位情報(panpot)に応じて、L、R
の二つの出力のレベル比が制御される。
(3) Pan (FIG. 17) This is a component that realizes the function of the pan pot.
L, R according to the supplied localization information (panpot)
The level ratio of the two outputs is controlled.

【0238】・オシレータ (1)Osc(図18) オシレータの機能を実現するコンポーネントであり、三
角波を生成する。ピッチ(pitch)とレベル(le
vel)を制御できる。なお、ピッチは制御が行いやす
いように、外部から所定のピッチを基準としたセント単
位のデータとして与え、Osc内部で実際の周波数に変
換して制御に用いられる。これは、次に説明するPcm
WGも同様である。
Oscillator (1) Osc (FIG. 18) This component realizes the function of the oscillator and generates a triangular wave. Pitch and level (le
vel) can be controlled. It should be noted that the pitch is given from the outside as data in units of cents with a predetermined pitch as a reference so as to facilitate control, and is converted into an actual frequency inside the Osc for use in control. This is the Pcm described below.
The same applies to WG.

【0239】三角波は、図19(a)のような簡単な回
路で生成することができる。音声信号の値は、2の補数
で表されているので、毎サンプル、pitchを累算し
ていくことで、ノコギリ波(図19(b))を発生す
る。ノコギリ波を絶対値回路(ABS)に通し(図19
(c))、シフトすると三角波(図19(d))にな
る。
The triangular wave can be generated by a simple circuit as shown in FIG. Since the value of the audio signal is represented by 2's complement, a sawtooth wave (FIG. 19B) is generated by accumulating pitches for each sample. The sawtooth wave is passed through the absolute value circuit (ABS) (Fig. 19).
(C)), a shift results in a triangular wave (FIG. 19 (d)).

【0240】CPUからは、pitchとlevelが
設定できる。pitchは三角波の周波数を、leve
lは三角波の振幅を、それぞれ制御する。
From the CPU, pitch and level can be set. pitch is the frequency of the triangular wave,
l controls the amplitude of the triangular wave.

【0241】(2)PcmWG(図20) PCM波形読み出しのオシレータの機能を実現するコン
ポーネントである。これはDSP116でなく、PCM
波形読み出し装置114の該当するチャンネルを制御す
る。Osc同様に、ピッチとレベルが制御可能である。
また、トリガ入力(trig)に応じてPCM波形の読
み出しが、読み出し対象の波形の先頭位置から開始され
る。
(2) PcmWG (FIG. 20) This is a component that realizes the function of the oscillator for reading the PCM waveform. This is PCM, not DSP116
The corresponding channel of the waveform reading device 114 is controlled. Like Osc, the pitch and level can be controlled.
In addition, the reading of the PCM waveform is started from the head position of the waveform to be read in response to the trigger input (trig).

【0242】発音制御プログラムにおいては、入力され
た制御信号に対応するピッチ・データをPCM波形読み
出し装置114の該当するチャンネルに与えるととも
に、波形の発生開始を指示する。
In the tone generation control program, the pitch data corresponding to the input control signal is given to the corresponding channel of the PCM waveform reading device 114, and the generation start of the waveform is instructed.

【0243】定期制御プログラムにおいては、引き続
き、入力された制御信号値に対応したピッチ・データの
制御を行う。
In the regular control program, the pitch data corresponding to the input control signal value is continuously controlled.

【0244】・ディレイ系 (1)Del(図21) DelSI(図22) DelF(図23) ディレイの機能を実現するコンポーネントであり、ディ
レイ・タイムを設定できる。DelSIは、ディレイ・
タイムの変更時に補間を行うディレイ・コンポーネント
である。入力されるディレイ・タイムが変化した場合に
も補間が施され実際の遅延時間が徐々に変化するため、
ディレイ・タイムが変化したことによるノイズの発生が
防がれる。補間の時定数(tc)も設定できる。また、
DelFはフィードバック付きであり、フィードバック
・レベル(fbk)を制御できる。
Delay system (1) Del (FIG. 21) DelSI (FIG. 22) DelF (FIG. 23) This component realizes the delay function, and the delay time can be set. DelSI is a delay
It is a delay component that interpolates when the time is changed. Even if the input delay time changes, interpolation is applied and the actual delay time changes gradually,
The generation of noise due to changes in the delay time is prevented. The time constant (tc) of interpolation can also be set. Also,
DelF has feedback and can control the feedback level (fbk).

【0245】(2)Chorus(図24) コーラスの機能を実現するコンポーネントである。ディ
レイ・タイム(delay)によってコーラス効果を実
現するための遅延回路の遅延時間が制御される。レート
(rate)およびデプス(depth)は、遅延時間
を変調するLFOの周期および大きさを制御するもの
で、コーラス効果のうねりの周期および深さが制御され
る。
(2) Chorus (FIG. 24) This is a component that realizes the chorus function. The delay time of the delay circuit for realizing the chorus effect is controlled by the delay time (delay). The rate and the depth control the period and the size of the LFO that modulates the delay time, and the undulation period and the depth of the chorus effect are controlled.

【0246】(3)Reverb(図25) リバーブの機能を実現するコンポーネントである。ドラ
イ(dry)によってリバーブ効果の付加されていない
元の音声信号のレベルが制御され、エフェクト(ef
x)によってリバーブ効果の付加された音声信号のレベ
ルが制御される。
(3) Reverse (FIG. 25) This is a component for realizing the reverb function. The level of the original audio signal to which the reverb effect has not been added is controlled by dry, and the effect (ef
x) controls the level of the audio signal to which the reverb effect is added.

【0247】・その他 (1)Output(図26) 音声信号をD/A変換器124へ出力する機能を実現す
るコンポーネントである。このコンポーネントの置かれ
たDSP116のD/A出力が、D/A変換器124に
送られるように、D/A出力セレクタ118を設定す
る。この設定は、コンパイル時に行われる。また、複数
のDSP116を使用する場合には、どれか一つのウイ
ンドウのみに置くことができる。
Others (1) Output (FIG. 26) This is a component that realizes the function of outputting an audio signal to the D / A converter 124. The D / A output selector 118 is set so that the D / A output of the DSP 116 in which this component is placed is sent to the D / A converter 124. This setting is done at compile time. When using a plurality of DSPs 116, they can be placed in only one of the windows.

【0248】(2)PPara(図27) パラレル・コンポーネントであり、音声信号を複数のコ
ンポーネントに分配する機能を実現する。
(2) PPara (FIG. 27) This is a parallel component and realizes a function of distributing an audio signal to a plurality of components.

【0249】(3)Sel(図28) 音声信号セレクタ・コンポーネントであり、複数の音声
信号から、一つを選択する機能を実現する。
(3) Sel (FIG. 28) An audio signal selector component, which realizes the function of selecting one from a plurality of audio signals.

【0250】(4)Ring(図29) リング・モジュレータの機能を実現するコンポーネント
である。
(4) Ring (FIG. 29) This is a component that realizes the function of the ring modulator.

【0251】〔制御コンポーネント〕 ・入力系 (1)fader(図30) 操作者が、マニュアルで制御信号の値を設定するための
フェーダー・コンポーネントである。フェーダー(スラ
イド・ボリューム)の形をしており、マウスでツマミを
動かして、所望の値を設定する。また、マウスでインク
リメント・ボタン、デクリメント・ボタンをクリックす
ることにより、値を増減することもできる。
[Control Component] Input System (1) fader (FIG. 30) This is a fader component for the operator to manually set the value of the control signal. It has the shape of a fader (slide volume), and you move the knob with the mouse to set the desired value. The value can also be increased or decreased by clicking the increment button or decrement button with the mouse.

【0252】上部に任意の文字列を表示できて、パラメ
ータ名として使用できる。なお、フェーダー・コンポー
ネントの制御プログラムは、値を保持するワーク・メモ
リから値を取り出して、次のコンポーネントに渡すだけ
である。アルゴリズム作成部200は、フェーダーが操
作されると、変更された値を音源部100に送る。CP
U104を介して、そのワーク・エリアに値が書き込ま
れる。
An arbitrary character string can be displayed on the upper part and can be used as a parameter name. The control program of the fader component simply fetches the value from the work memory holding the value and passes it to the next component. When the fader is operated, the algorithm creating section 200 sends the changed value to the sound source section 100. CP
The value is written to the work area via U104.

【0253】(2)cc(図31) pBend(図32) chAft(図33) ccはコンティニュアス・コントロール・メッセージ、
pBendはピッチ・ベンド・コントロール・メッセー
ジ、chAftはアフター・タッチ・コントロール・メ
ッセージであり、MIDI受信タスクが、バッファに書
き込んだデータを制御信号として出力する。
(2) cc (FIG. 31) pBend (FIG. 32) chAft (FIG. 33) cc is a continuous control message,
pBend is a pitch bend control message and chAft is an after touch control message, and the MIDI receiving task outputs the data written in the buffer as a control signal.

【0254】ccの制御信号入力ピンctrl#は、こ
のコンポーネントから出力するMIDI情報のコンティ
ニュアス・コントロール・メッセージのコントロール番
号を入力するものである。例えば、このピンにフェーダ
ー・コンポーネントを接続し、値として「40(10進
数)」を入力すると、受信したMIDI情報のうちこの
コンポーネントからは番号40に対応するホールド1
(ダンパ)情報が出力されるようになる。
The control signal input pin ctrl # of cc is for inputting the control number of the continuous control message of the MIDI information output from this component. For example, if you connect a fader component to this pin and enter "40 (decimal)" as the value, hold 1 corresponding to number 40 from this component in the received MIDI information.
(Damper) information will be output.

【0255】(3)asgnNm(図34) asgnNL(図35) asgnN(図36) 発音チャンネルにアサインされたノートのMIDI情報
を、制御信号に変換するアサイナ・コンポーネントであ
る。mには発音チャンネル番号が入る。ピッチ(key
#:ノート・ナンバーを所定のピッチを基準としたセン
ト単位のピッチ・データに変換して出力)、オン・ベロ
シティ、オフ・ベロシティ、ポリフォニック・アフター
・タッチを制御信号として出力する。また、発音時(ノ
ート・オン時)および離鍵時(ノート・オフ時)にそれ
ぞれトリガ信号を出力するトリガ出力ピンを持つ。な
お、asgnNLは、最後着のノートにアサインされた
発音チャンネルに対応する。
(3) asgnNm (FIG. 34) asgnNL (FIG. 35) asgnN (FIG. 36) This is an assigner component which converts MIDI information of a note assigned to a sounding channel into a control signal. The sounding channel number is entered in m. Pitch
#: Converts the note number to pitch data in cents based on a specified pitch and outputs it), and outputs on velocity, off velocity, and polyphonic after touch as control signals. Also, it has a trigger output pin that outputs a trigger signal at the time of sound generation (at the time of note on) and at the time of releasing the key (at the time of note off). The asgnNL corresponds to the sounding channel assigned to the last-arriving note.

【0256】asgnNは、ポリフォニック・ウインド
ウだけで使用できるasgnNmのアルゴリズム作成の
ための仮想コンポーネントである。コンパイルされる
と、チャンネル毎に独立したasgnNmコンポーネン
トとして動作する。
AsgnN is a virtual component for creating an algorithm of asgnNm that can be used only in the polyphonic window. When compiled, it operates as an independent asgnNm component for each channel.

【0257】上記したアサイナ・コンポーネントには、
二つの役割がある。一つは、エンベロープ・ジェネレー
タなどのように押鍵/離鍵に対応して動作するコンポー
ネントと、アサイナ・タスクが割り当てたチャンネルと
の対応関係を設定する役割である。操作者はアルゴリズ
ム作成時に、アサイナ・コンポーネントとエンベロープ
・ジェネレータなどのように押鍵/離鍵に対応して動作
する制御コンポーネントのトリガ・ピンを接続すること
で、アサイナが割り当てたチャンネルと当該制御コンポ
ーネントとの対応を指示する。
The above-mentioned assigner component includes
It has two roles. One is to set a correspondence relationship between a component that operates in response to key press / release such as an envelope generator and a channel assigned by the assigner task. When creating an algorithm, the operator connects the trigger pin of the assigner component and the control component that operates in response to key press / release such as the envelope generator, so that the channel assigned by the assigner and the control component concerned can be connected. Instruct the correspondence with.

【0258】プログラム生成部は、前述のトリガ・ピン
の処理に従って、押鍵もしくは離鍵が発生したチャンネ
ルに対応する当該制御コンポーネントの制御プログラム
が実行されるようプログラムを生成する。
The program generating section generates a program so that the control program of the control component corresponding to the channel where the key depression or key release occurs is executed according to the processing of the trigger pin described above.

【0259】もう一つの役割は、ノート・ナンバー、オ
ン・ベロシティ、オフ・ベロシティ、ポリフォニック・
アフター・タッチなどの押鍵もしくは離鍵に独立して対
応するMIDI情報を制御信号として取り出す役割であ
る。
Another role is note number, on velocity, off velocity, polyphonic
The role is to take out MIDI information as a control signal, which independently responds to key depression or key release such as after touch.

【0260】ノート・ナンバーとオン・ベロシティはア
サイナ・タスクの押鍵時処理で、また、オフ・ベロシテ
ィはアサイナ・タスクの離鍵時処理で該当するチャンネ
ル・バッファに格納される。
The note number and on-velocity are stored in the corresponding channel buffer in the key press processing of the assigner task, and the off-velocity in the key release processing of the assigner task.

【0261】アサイナ・コンポーネントの制御プログラ
ムが、これらのデータをチャンネル・バッファから読み
出し、制御信号として出力する。
The control program of the assigner component reads these data from the channel buffer and outputs them as control signals.

【0262】また、ポリフォニック・アフター・タッチ
・バッファは各ノート・ナンバー毎に設けられており、
ポリフォニック・アフター・タッチ情報を受信した場合
にはMIDI受信タスクにおいて、ポリフォニック・ア
フター・タッチ・バッファの該当するノート・ナンバー
の位置に格納される。アサイナ・コンポーネントの制御
プログラムは、チャンネル・バッファからその発音チャ
ンネルに割り当てられているノート・ナンバーを読み出
し、ポリフォニック・アフター・タッチ・バッファの当
該ノート・ナンバーに対応する位置からポリフォニック
・アフター・タッチ・データを読み出し、制御信号とし
て出力する。
A polyphonic after touch buffer is provided for each note number,
When the polyphonic after touch information is received, it is stored in the position of the corresponding note number of the polyphonic after touch buffer in the MIDI reception task. The control program of the assigner component reads the note number assigned to that sounding channel from the channel buffer, and starts the polyphonic after touch data from the position corresponding to the note number in the polyphonic after touch buffer. Is read out and output as a control signal.

【0263】・演算系 (1)add(図37) sub(図38) mul(図39) addは、2つの制御信号の和を得る加算器の機能を実
現するコンポーネントである。subは、2つの制御信
号の差を得る減算器の機能を実現するコンポーネントで
ある。mulは、2つの制御信号の積を得る乗算器の機
能を実現するコンポーネントである。
Operation system (1) add (FIG. 37) sub (FIG. 38) mul (FIG. 39) add is a component that realizes the function of an adder that obtains the sum of two control signals. Sub is a component that realizes the function of a subtractor that obtains the difference between two control signals. mul is a component that realizes the function of a multiplier that obtains the product of two control signals.

【0264】(2)max(図40) min(図41) maxは、2つの制御信号の大小を比較し、大きい方を
得るマキシム・コンポーネントである。minは、2つ
の制御信号の大小を比較し、小さい方を得るミニマム・
コンポーネントである。
(2) max (FIG. 40) min (FIG. 41) max is a Maxim component that compares the magnitudes of two control signals and obtains the larger one. min is a minimum value that compares the magnitude of two control signals and obtains the smaller one.
It is a component.

【0265】・オシレータ系 (1)lfo(図42) lfoI(図43) lfoPG(図44) lfoWG(図45) lfoPS(図46) これらは、変調用の周期波形を発生するLFOの機能を
実現するLFOコンポーネントであり、ビブラート、ト
レモロなどに用いられ、周期と波形を設定できる。lf
oIはトリガ入力を持ち、押鍵時に位相を初期位相ピン
に与えられている制御信号の値に対応する位相にリセッ
トすることができる。
Oscillator system (1) lfo (Fig. 42) lfoI (Fig. 43) lfoPG (Fig. 44) lfoWG (Fig. 45) lfoPS (Fig. 46) These realize the function of the LFO that generates a periodic waveform for modulation. This is an LFO component that is used for vibrato, tremolo, etc. and can set the cycle and waveform. lf
The oI has a trigger input and can reset the phase when the key is pressed to the phase corresponding to the value of the control signal provided to the initial phase pin.

【0266】lfoPGとlfoWGとは、通常のlf
oの機能を2つに分割したもので、lfoPGはレート
(rate)に対応する早さで時間変化する位相信号を
生成し、lfoWGは位相から波形を発生する。lfo
PSは、位相を任意にずらすことができる。図47に示
すように、これらを用いて、位相信号の時点で様々な演
算や処理を施すことで、より多機能なlfoコンポーネ
ントを実現することができる。例えば、図48は、自由
に位相差を設定することができる2つのLFOのアルゴ
リズムとなる。この場合、二つのLFOで発生される制
御信号は同じ周期で同じ波形となるが、任意に設定可能
な位相差を有するようになる。
LfoPG and lfoWG are normal lf
The function of o is divided into two. lfoPG generates a phase signal that changes with time at a speed corresponding to the rate, and lfoWG generates a waveform from the phase. lfo
The PS can be arbitrarily shifted in phase. As shown in FIG. 47, these are used to perform various calculations and processes at the time of the phase signal, so that a more multifunctional lfo component can be realized. For example, FIG. 48 shows an algorithm of two LFOs whose phase difference can be set freely. In this case, the control signals generated by the two LFOs have the same waveform in the same cycle but have a phase difference that can be set arbitrarily.

【0267】(2)env(図49) adsr(図50) これらは、エンベロープ信号を発生するエンベロープ・
ジェネレータの機能を実現するコンポーネントである。
envは5つのブレーク・ポイントのレベル(L)とタ
イム(T)を設定していく方式である。
(2) env (FIG. 49) adsr (FIG. 50) These are envelopes that generate an envelope signal.
It is a component that realizes the function of the generator.
The env is a method of setting the level (L) and time (T) of five break points.

【0268】なお、L3がサスティン・レベルであり、
L0からL3までパラメータの計算は、発音制御プログ
ラムに入る。T4(リリース・タイム)およびL4(リ
リース・エンド・レベル)は、離鍵制御プログラムに入
る。adsrはアナログ・シンセサイザでよく使用され
ている、アタック・タイム、ディケイ・タイム、サステ
ィン・レベルおよびリリース・タイムを設定する方式で
ある。
It should be noted that L3 is the sustain level,
The calculation of the parameters from L0 to L3 is entered into the tone generation control program. T4 (release time) and L4 (release end level) enter the key release control program. adsr is a method often used in analog synthesizers to set attack time, decay time, sustain level, and release time.

【0269】(3)rnd(図51) 乱数を発生する機能を実現するランダム・コンポーネン
トであり、ノイズとして用いる。
(3) rnd (FIG. 51) This is a random component that realizes the function of generating random numbers, and is used as noise.

【0270】(4)noise1_f(図52) 1/fの周波数特性を有するノイズを発生する機能を実
現するノイズ・コンポーネントである。
(4) noise1_f (FIG. 52) This is a noise component for realizing the function of generating noise having a frequency characteristic of 1 / f.

【0271】・カーブ変換 (1)l2e(図53) リニア/指数変換を行う機能を実現するリニア/指数変
換コンポーネントである。このコンポーネントは、制御
信号の値の特性カーブを指数状に変換するもので、例え
ば、ディレイ・コンポーネントのディレイ・タイムをフ
ェーダーで設定するときに、フェーダーとディレイ・タ
イム・ピンとの間にこのコンポーネントを挿入すること
により、ディレイ・タイムが小さい場合の設定も大きい
場合の設定も容易に行うことができるようになる。
Curve conversion (1) 12e (FIG. 53) This is a linear / exponential conversion component that realizes the function of performing linear / exponential conversion. This component converts the characteristic curve of the control signal value into an exponential curve.For example, when setting the delay time of the delay component with a fader, insert this component between the fader and the delay time pin. By inserting, it becomes possible to easily perform the setting when the delay time is small and the setting when the delay time is large.

【0272】(2)c2stp(図54) アサイナ・コンポーネントから供給されるピッチの制御
信号を、そのピッチの周期に対応するディレイ・タイム
(ディレイ・ステップ数)に変換するコンポーネントで
ある。図55に示すように、ディレイ・コンポーネント
にミキサー・コンポーネント、パラレル・コンポーネン
トなどを組み合わせてフィードバック経路を作りコムフ
ィルタを形成するときに、このコンポーネントを使用し
てピッチの制御信号を対応するディレイ・タイムに変換
することによりコムフィルタの共振周波数を発生する楽
音に対応するものとすることができる。
(2) c2stp (FIG. 54) This is a component for converting the pitch control signal supplied from the assigner component into a delay time (delay step number) corresponding to the pitch cycle. As shown in FIG. 55, when a delay component is combined with a mixer component, a parallel component, etc. to form a feedback path to form a comb filter, this component is used to adjust the pitch control signal to the corresponding delay time. It is possible to correspond to the musical sound that generates the resonance frequency of the comb filter by converting to the.

【0273】(3)limit(図56) 制御信号の値を、ある範囲内に押さえる機能を実現する
コンポーネントである。
(3) limit (FIG. 56) This component realizes the function of holding the value of the control signal within a certain range.

【0274】・その他 (1)constN Nは、「1」(図57)、「0.5」(図58)、「−
1」(図59)、「−0.5」(図60)などの値をと
り、制御信号に定数を与える機能を実現するコンポーネ
ントである。
Others (1) constN N is "1" (Fig. 57), "0.5" (Fig. 58), "-".
It is a component that realizes the function of taking a value such as "1" (FIG. 59) or "-0.5" (FIG. 60) and giving a constant to the control signal.

【0275】(2)cPara(図61) 制御信号を複数のコンポーネントに分配する機能を実現
するパラレル・コンポーネントである。
(2) cPara (FIG. 61) This is a parallel component that realizes the function of distributing a control signal to a plurality of components.

【0276】[0276]

【発明の効果】本発明は、以上説明したように構成され
ているので、以下に記載されるような効果を奏する。
Since the present invention is constructed as described above, it has the following effects.

【0277】楽音生成に関わる複数のコンポーネントを
構築するためのコンポーネント情報を、コンポーネント
に対応させてコンポーネント毎にそれぞれ記憶する記憶
手段と、記憶手段に記憶されたコンポーネント情報を選
択する選択手段と、選択手段によって選択されたコンポ
ーネント情報に対応するコンポーネント間の任意の接続
状態を示す接続状態情報を入力する入力手段と、コンポ
ーネント情報および接続状態情報に基づいてコンポーネ
ントおよび接続状態を構築し、入力された演奏情報を処
理し楽音を生成するプログラミング可能な処理手段と、
選択手段によって選択されたコンポーネント情報および
入力手段によって入力された接続状態情報に基づき、処
理手段に対して自動的にプログラミングすることによ
り、処理手段において、選択手段によって選択されたコ
ンポーネント情報に対応するコンポーネントおよび入力
手段によって入力された接続状態情報により示される接
続状態を構築させるプログラミング手段とを有するよう
にしたため、選択手段ならびに入力手段によって、記憶
手段に記憶されているコンポーネントを構築するための
コンポーネント情報を選択するとともに、選択したコン
ポーネント情報に対応するコンポーネント間の接続状態
を示す接続状態情報を入力することができる。
Storage means for storing component information for constructing a plurality of components relating to tone generation for each component corresponding to the component, selection means for selecting the component information stored in the storage means, and selection Input means for inputting connection state information indicating an arbitrary connection state between components corresponding to the component information selected by the means, and constructing the component and connection state based on the component information and connection state information, and input performance Programmable processing means for processing information and generating musical tones,
A component corresponding to the component information selected by the selecting means in the processing means by automatically programming the processing means based on the component information selected by the selecting means and the connection state information input by the input means. And the programming means for constructing the connection state indicated by the connection state information input by the input means, the component information for constructing the component stored in the storage means by the selection means and the input means is provided. Along with the selection, it is possible to input connection state information indicating the connection state between the components corresponding to the selected component information.

【0278】そして、プログラミング手段が処理手段を
制御して、接続状態情報に基づく接続関係で、コンポー
ネント情報に対応するコンポーネントを接続して、接続
状態情報に基づき自動的にDSPおよびCPUのプログ
ラムを生成し、所望の音源アルゴリズムを備えた電子楽
器を実現する。
Then, the programming means controls the processing means to connect the components corresponding to the component information in the connection relation based on the connection status information and automatically generate the DSP and CPU programs based on the connection status information. Then, an electronic musical instrument having a desired sound source algorithm is realized.

【0279】従って、従来のモジュール型シンセサイザ
の音源アルゴリズムを創り出す際の簡便な操作性をデジ
タル方式の音源で実現でき、電子楽器の操作者自身が、
電子楽器の任意の音源アルゴリズムを容易に構築するこ
とができるようになるので、作動の安定性ならびにスペ
ース的およびコスト的な規模の縮小化を図り、かつ操作
性に優れた電子楽器を実現することができる。
Therefore, the simple operability in creating the sound source algorithm of the conventional modular synthesizer can be realized by the digital sound source, and the operator of the electronic musical instrument himself can
Arbitrary sound source algorithms for electronic musical instruments can be easily constructed, so that it is possible to realize an electronic musical instrument that is stable and stable in space and cost, and has excellent operability. You can

【0280】また、本発明による電子楽器を用いると、
これまでにない楽音の制御も可能になる。例えば、従来
はマニュアルで設定されていたコーラスやリバーブなど
のパラメータ(コーラス・デプス、ディレイ・タイム、
リバーブ・タイムなど)をエンベロープ・ジェネレータ
の出力信号やノート・オン・ベロシティ、ノート・オフ
・ベロシティ、アフター・タッチなどの信号を使って、
自動的に変化するように制御することも可能である。
Further, when the electronic musical instrument according to the present invention is used,
It will also be possible to control musical sounds like never before. For example, parameters such as chorus and reverb that were previously set manually (chorus depth, delay time,
(Reverb time, etc.) using the output signal of the envelope generator, note-on velocity, note-off velocity, after touch, etc.
It is also possible to control so as to change automatically.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例による電子楽器の全体のシス
テム構成図である。
FIG. 1 is an overall system configuration diagram of an electronic musical instrument according to an embodiment of the present invention.

【図2】音源部のブロック構成図である。FIG. 2 is a block configuration diagram of a sound source unit.

【図3】表示装置の表示画面の説明図である。FIG. 3 is an explanatory diagram of a display screen of a display device.

【図4】コンポーネント・ファイルのデータ構成を図表
的に示す説明図である。
FIG. 4 is an explanatory diagram schematically showing the data structure of a component file.

【図5】コンポーネントの構成を示す説明図であり、
(a)はコンポーネントの大きさを決定する方法を示す
説明図であり、(b)は制御信号ピンおよび音声信号ピ
ンを示し、(c)はトリガ信号ピンを示し、(d)は音
声信号ピンのみを備えたコンポーネント(音声コンポー
ネント)のパターンを示し、(e)は制御信号ピンおよ
びトリガ信号ピンのみを備えたコンポーネント(制御コ
ンポーネント)のパターンを示し、(f)は制御信号ピ
ンおよびトリガ信号ピンと音声信号ピンとを備えたコン
ポーネントのパターンを示す。
FIG. 5 is an explanatory diagram showing a configuration of components,
(A) is explanatory drawing which shows the method of determining the magnitude | size of a component, (b) shows a control signal pin and a sound signal pin, (c) shows a trigger signal pin, (d) is a sound signal pin. 6 shows a pattern of a component (audio component) having only a signal, (e) shows a pattern of a component having only a control signal pin and a trigger signal pin (control component), and (f) shows a pattern of the control signal pin and a trigger signal 3 shows a pattern of components with audio signal pins.

【図6】コマンド・リスト・ウインドウの表示画面の説
明図である。
FIG. 6 is an explanatory diagram of a display screen of a command list window.

【図7】複数のDSPを使用する場合の処理を示す画面
の説明図である。
FIG. 7 is an explanatory diagram of a screen showing a process when a plurality of DSPs are used.

【図8】ポリフォニク処理を示す画面の説明図である。FIG. 8 is an explanatory diagram of a screen showing polyphonic processing.

【図9】音源アルゴリズムの一例を示すコンポーネント
の接続状態の説明図である。
FIG. 9 is an explanatory diagram of a connection state of components showing an example of a sound source algorithm.

【図10】DSPプログラムの生成処理の説明図であ
る。
FIG. 10 is an explanatory diagram of a DSP program generation process.

【図11】CPU制御プログラムの生成処理の説明図で
ある。
FIG. 11 is an explanatory diagram of a CPU control program generation process.

【図12】表示装置の画面上におけるTVFの表示状態
を示す。
FIG. 12 shows a display state of the TVF on the screen of the display device.

【図13】表示装置の画面上におけるTVEQの表示状
態を示す。
FIG. 13 shows a display state of TVEQ on the screen of the display device.

【図14】表示装置の画面上におけるTVAの表示状態
を示す。
FIG. 14 shows a display state of TVA on the screen of the display device.

【図15】表示装置の画面上におけるMixの表示状態
を示す。
FIG. 15 shows a display state of Mix on the screen of the display device.

【図16】表示装置の画面上におけるCMixの表示状
態を示す。
FIG. 16 shows a display state of CMix on the screen of the display device.

【図17】表示装置の画面上におけるPanの表示状態
を示す。
FIG. 17 shows a display state of Pan on the screen of the display device.

【図18】表示装置の画面上におけるOscの表示状態
を示す。
FIG. 18 shows a display state of Osc on the screen of the display device.

【図19】(a)は三角波を生成するための回路構成を
示し、(b)は発生されたノコギリ波の波形を示し、
(c)はノコギリ波を絶対値回路に通した後の波形を示
し、(d)は(c)の波形をシフトした三角波の波形を
示す。
FIG. 19 (a) shows a circuit configuration for generating a triangular wave, and FIG. 19 (b) shows a waveform of a generated sawtooth wave.
(C) shows the waveform after passing the sawtooth wave through the absolute value circuit, and (d) shows the waveform of the triangular wave obtained by shifting the waveform of (c).

【図20】表示装置の画面上におけるPcmWGの表示
状態を示す。
FIG. 20 shows a display state of PcmWG on the screen of the display device.

【図21】表示装置の画面上におけるDelの表示状態
を示す。
FIG. 21 shows a display state of Del on the screen of the display device.

【図22】表示装置の画面上におけるDelSIの表示
状態を示す。
FIG. 22 shows a display state of DelSI on the screen of the display device.

【図23】表示装置の画面上におけるDelFの表示状
態を示す。
FIG. 23 shows a display state of DelF on the screen of the display device.

【図24】表示装置の画面上におけるChorusの表
示状態を示す。
FIG. 24 shows a display state of Chorus on the screen of the display device.

【図25】表示装置の画面上におけるReverbの表
示状態を示す。
FIG. 25 shows a display state of the Reverse on the screen of the display device.

【図26】表示装置の画面上におけるOutputの表
示状態を示す。
FIG. 26 shows a display state of Output on the screen of the display device.

【図27】表示装置の画面上におけるPParaの表示
状態を示す。
FIG. 27 shows a display state of PPara on the screen of the display device.

【図28】表示装置の画面上におけるSelの表示状態
を示す。
FIG. 28 shows a display state of Sel on the screen of the display device.

【図29】表示装置の画面上におけるRingの表示状
態を示す。
FIG. 29 shows a display state of Ring on the screen of the display device.

【図30】表示装置の画面上におけるfaderの表示
状態を示す。
FIG. 30 shows a display state of a fader on the screen of the display device.

【図31】表示装置の画面上におけるccの表示状態を
示す。
FIG. 31 shows a display state of cc on the screen of the display device.

【図32】表示装置の画面上におけるpBendの表示
状態を示す。
FIG. 32 shows a display state of pBend on the screen of the display device.

【図33】表示装置の画面上におけるchAftの表示
状態を示す。
FIG. 33 shows a display state of chAft on the screen of the display device.

【図34】表示装置の画面上におけるasgnNmの表
示状態を示す。
FIG. 34 shows a display state of asgnNm on the screen of the display device.

【図35】表示装置の画面上におけるasgnNLの表
示状態を示す。
FIG. 35 shows a display state of asgnNL on the screen of the display device.

【図36】表示装置の画面上におけるasgnNの表示
状態を示す。
FIG. 36 shows a display state of asgnN on the screen of the display device.

【図37】表示装置の画面上におけるaddの表示状態
を示す。
FIG. 37 shows a display state of add on the screen of the display device.

【図38】表示装置の画面上におけるsubの表示状態
を示す。
FIG. 38 shows a display state of sub on the screen of the display device.

【図39】表示装置の画面上におけるmulの表示状態
を示す。
FIG. 39 shows a display state of mul on the screen of the display device.

【図40】表示装置の画面上におけるmaxの表示状態
を示す。
FIG. 40 shows a display state of max on the screen of the display device.

【図41】表示装置の画面上におけるminの表示状態
を示す。
FIG. 41 shows a display state of min on the screen of the display device.

【図42】表示装置の画面上におけるlfoの表示状態
を示す。
FIG. 42 shows a display state of lfo on the screen of the display device.

【図43】表示装置の画面上におけるlfoIの表示状
態を示す。
FIG. 43 shows a display state of lfoI on the screen of the display device.

【図44】表示装置の画面上におけるlfoPGの表示
状態を示す。
FIG. 44 shows a display state of lfoPG on the screen of the display device.

【図45】表示装置の画面上におけるlfoWGの表示
状態を示す。
FIG. 45 shows a display state of lfoWG on the screen of the display device.

【図46】表示装置の画面上におけるlfoPSの表示
状態を示す。
FIG. 46 shows a display state of lfoPS on the screen of the display device.

【図47】表示装置の画面上におけるlfoPG、lf
oPSおよびlfoWGを組み合わせた場合の表示状態
を示す。
[FIG. 47] lfoPG, lf on the screen of the display device
The display state when combining oPS and lfoWG is shown.

【図48】自由に位相差を設定することができる2つの
LFOの機能を実現するアルゴリズムを示すコンポーネ
ントの接続状態の説明図である。
[Fig. 48] Fig. 48 is an explanatory diagram of a component connection state showing an algorithm for realizing the functions of two LFOs in which the phase difference can be freely set.

【図49】表示装置の画面上におけるenvの表示状態
を示す。
FIG. 49 shows a display state of env on the screen of the display device.

【図50】表示装置の画面上におけるadsrの表示状
態を示す。
FIG. 50 shows a display state of adsr on the screen of the display device.

【図51】表示装置の画面上におけるrndの表示状態
を示す。
FIG. 51 shows a display state of rnd on the screen of the display device.

【図52】表示装置の画面上におけるnoise1_f
の表示状態を示す。
[Fig. 52] noise1_f on the screen of the display device
Shows the display state of.

【図53】表示装置の画面上における12eの表示状態
を示す。
FIG. 53 shows a display state of 12e on the screen of the display device.

【図54】表示装置の画面上におけるc2stpの表示
状態を示す。
FIG. 54 shows a display state of c2stp on the screen of the display device.

【図55】c2stpを使用したアルゴリズムの一例を
示す各コンポーネントの接続状態の説明図である。
[Fig. 55] Fig. 55 is an explanatory diagram of a connection state of each component illustrating an example of an algorithm using c2stp.

【図56】表示装置の画面上におけるlimitの表示
状態を示す。
FIG. 56 shows a display state of the limit on the screen of the display device.

【図57】表示装置の画面上におけるconst1の表
示状態を示す。
FIG. 57 shows a display state of const1 on the screen of the display device.

【図58】表示装置の画面上におけるconst05の
表示状態を示す。
FIG. 58 shows a display state of const05 on the screen of the display device.

【図59】表示装置の画面上におけるconst−1の
表示状態を示す。
FIG. 59 shows a display state of const-1 on the screen of the display device.

【図60】表示装置の画面上におけるconst−05
の表示状態を示す。
FIG. 60: const-05 on the screen of the display device
Shows the display state of.

【図61】表示装置の画面上におけるcParaの表示
状態を示す。
FIG. 61 shows a display state of cPara on the screen of the display device.

【符号の説明】[Explanation of symbols]

100 音源部 200 アルゴリズム作成部 300 プログラム生成部 400 MIDIキーボード 500 サウンド・システム 600 表示装置 700 キーボード 800 マウス 900 コンポーネント・ファイル 1000 PCM波形データ・ファイル 100 Sound Source Section 200 Algorithm Creation Section 300 Program Generation Section 400 MIDI Keyboard 500 Sound System 600 Display Device 700 Keyboard 800 Mouse 900 Component File 1000 PCM Waveform Data File

フロントページの続き (72)発明者 豊村 隆 大阪府大阪市北区堂島浜1丁目4番16号 ローランド株式会社内 (72)発明者 片山 忍 大阪府大阪市北区堂島浜1丁目4番16号 ローランド株式会社内 (72)発明者 山中 正 大阪府大阪市北区堂島浜1丁目4番16号 ローランド株式会社内 (72)発明者 山端 利郎 大阪府大阪市北区堂島浜1丁目4番16号 ローランド株式会社内 (72)発明者 エイドリアン ブルース 大阪府大阪市北区堂島浜1丁目4番16号 ローランド株式会社内Front page continued (72) Inventor Takashi Toyomura 1-4-16 Dojimahama, Kita-ku, Osaka, Osaka Prefecture Roland Co., Ltd. (72) Inventor Shinobu Katayama 1-4-16 Dojimahama, Kita-ku, Osaka, Osaka Roland Stock In-house (72) Inventor Tadashi Yamanaka 1-4-16 Dojimahama, Kita-ku, Osaka City, Osaka Prefecture Roland Co., Ltd. (72) In-house Toshiro Yamabata 1-4-16 Dojimahama, Kita-ku, Osaka City, Osaka Prefecture Roland Co., Ltd. (72) Inventor Adrian Bruce 1-4-16 Dojimahama, Kita-ku, Osaka-shi, Osaka Prefecture Roland Corporation

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 楽音生成に関わる複数のコンポーネント
を構築するためのコンポーネント情報を、前記コンポー
ネントに対応させて前記コンポーネント毎にそれぞれ記
憶する記憶手段と、 前記記憶手段に記憶された前記コンポーネント情報を選
択する選択手段と、 前記選択手段によって選択された前記コンポーネント情
報に対応する前記コンポーネント間の任意の接続状態を
示す接続状態情報を入力する入力手段と、 前記コンポーネント情報および前記接続状態情報に基づ
いて前記コンポーネントおよび前記接続状態を構築し、
入力された演奏情報を処理し楽音を生成するプログラミ
ング可能な処理手段と、 前記選択手段によって選択された前記コンポーネント情
報および前記入力手段によって入力された前記接続状態
情報に基づき、前記処理手段に対して自動的にプログラ
ミングすることにより、前記処理手段において、前記選
択手段によって選択された前記コンポーネント情報に対
応する前記コンポーネントおよび前記入力手段によって
入力された前記接続状態情報により示される前記接続状
態を構築させるプログラミング手段とを有することを特
徴とする電子楽器。
1. A storage unit for storing component information for constructing a plurality of components relating to tone generation for each of the components in association with the component, and selecting the component information stored in the storage unit. Selecting means, input means for inputting connection state information indicating an arbitrary connection state between the components corresponding to the component information selected by the selecting means, the component information and the connection state information based on the connection state information Build the component and the connection state,
Programmable processing means for processing input performance information to generate musical tones, and to the processing means based on the component information selected by the selecting means and the connection state information input by the input means. Programming that causes the processing means to build the connection state indicated by the component corresponding to the component information selected by the selection means and the connection state information input by the input means by automatically programming An electronic musical instrument having means.
JP26431593A 1993-09-28 1993-09-28 Variable algorithm sound source Expired - Lifetime JP3444940B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26431593A JP3444940B2 (en) 1993-09-28 1993-09-28 Variable algorithm sound source

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26431593A JP3444940B2 (en) 1993-09-28 1993-09-28 Variable algorithm sound source

Publications (2)

Publication Number Publication Date
JPH07168575A true JPH07168575A (en) 1995-07-04
JP3444940B2 JP3444940B2 (en) 2003-09-08

Family

ID=17401480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26431593A Expired - Lifetime JP3444940B2 (en) 1993-09-28 1993-09-28 Variable algorithm sound source

Country Status (1)

Country Link
JP (1) JP3444940B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323175A (en) * 2002-05-08 2003-11-14 Yamaha Corp Performance support system by means of performance network visualization in music performance system using communication network and server therefor
JP2007094439A (en) * 2007-01-09 2007-04-12 Yamaha Corp Musical sound synthesizing method, recording medium, and musical sound synthesizer
US7617012B2 (en) 2004-03-04 2009-11-10 Yamaha Corporation Audio signal processing system
JP2009282730A (en) * 2008-05-22 2009-12-03 Nec Electronics Corp Data processing system and component management method
US8046686B2 (en) 2004-08-03 2011-10-25 Yamaha Corporation Method, apparatus and program for setting function to operation control of signal processing apparatus
US8161390B2 (en) 2004-03-09 2012-04-17 Yamaha Corporation Apparatus for displaying formation of network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323175A (en) * 2002-05-08 2003-11-14 Yamaha Corp Performance support system by means of performance network visualization in music performance system using communication network and server therefor
US7617012B2 (en) 2004-03-04 2009-11-10 Yamaha Corporation Audio signal processing system
US8161390B2 (en) 2004-03-09 2012-04-17 Yamaha Corporation Apparatus for displaying formation of network
US8046686B2 (en) 2004-08-03 2011-10-25 Yamaha Corporation Method, apparatus and program for setting function to operation control of signal processing apparatus
JP2007094439A (en) * 2007-01-09 2007-04-12 Yamaha Corp Musical sound synthesizing method, recording medium, and musical sound synthesizer
JP2009282730A (en) * 2008-05-22 2009-12-03 Nec Electronics Corp Data processing system and component management method

Also Published As

Publication number Publication date
JP3444940B2 (en) 2003-09-08

Similar Documents

Publication Publication Date Title
US5331111A (en) Sound model generator and synthesizer with graphical programming engine
US7291779B2 (en) Performance information display apparatus and program
Jaffe et al. An overview of the sound and music kits for the NeXT computer
Pope Machine tongues XV: Three packages for software sound synthesis
US5354948A (en) Tone signal generation device for generating complex tones by combining different tone sources
JPH07168575A (en) Electronic musical instrument
US5728961A (en) Method and device for executing tone generating processing depending on a computing capability of a processor used
US6274799B1 (en) Method of mapping waveforms to timbres in generation of musical forms
US5698806A (en) Computerized sound source programmable by user's editing of tone synthesis algorithm
Coffy et al. Ascograph: A user interface for sequencing and score following for interactive music
JP2001324919A (en) Performance operation display device, and recording medium
JP3152198B2 (en) Music sound generation method and music sound generation device
CN107610684B (en) Electronic musical instrument control system
JP3141789B2 (en) Sound source system using computer software
Lent et al. Accelerando: a real-time, general purpose computer music system
JPH06301478A (en) Parameter pointing device
JP2962075B2 (en) Electronic musical instrument editing device
JP3750284B2 (en) Automatic composer and recording medium
JP2636688B2 (en) Musical sound generation unit
JPH0446320Y2 (en)
JP3837994B2 (en) Musical score data conversion apparatus and recording medium
Paolo et al. The new MARS workstation
Thompson Graphic Editor for Music
JPH0460698A (en) Musical sound waveform generator
JP4042352B2 (en) Pattern editing apparatus and program

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 6

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100627

Year of fee payment: 7