JPH11265182A - Control method for plural sound source drivers, record medium recording program for control for plural sound source drivers and control method for plural generation programs - Google Patents
Control method for plural sound source drivers, record medium recording program for control for plural sound source drivers and control method for plural generation programsInfo
- Publication number
- JPH11265182A JPH11265182A JP10085106A JP8510698A JPH11265182A JP H11265182 A JPH11265182 A JP H11265182A JP 10085106 A JP10085106 A JP 10085106A JP 8510698 A JP8510698 A JP 8510698A JP H11265182 A JPH11265182 A JP H11265182A
- Authority
- JP
- Japan
- Prior art keywords
- driver
- waveform data
- midi
- tone waveform
- generation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
- G10H7/006—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
- G10H1/0066—Transmission between separate instruments or between individual components of a musical system using a MIDI interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
- G10H7/004—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【0001】[0001]
【発明が属する技術分野】本発明は、複数の種類の異な
る音源ドライバを統合して制御することのできる複数音
源ドライバの制御方法、および、複数音源ドライバの制
御用プログラムが記録された記録媒体、ならびに、登録
された複数の生成プログラムの制御方法に関するもので
ある。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for controlling a plurality of tone generator drivers capable of integrally controlling a plurality of different tone generator drivers, a recording medium storing a control program for the plurality of tone generator drivers, The present invention also relates to a method for controlling a plurality of registered generation programs.
【0002】[0002]
【従来の技術】近年のマイクロプロセッサ(CPU)の
演算能力は著しく向上しており、汎用コンピュータや専
用の楽音発生装置に、このような高性能のCPUが搭載
されるようになされている。そこで、所定の楽音生成処
理プログラムをこのような汎用コンピュータや専用の楽
音発生装置に実行させることにより、楽音波形データを
生成させるようにしたものが実現されている。また、楽
音生成方式に応じた回路構成とされている専用のハード
ウェアにより楽音波形データを生成させることも、従来
から引き続いて行われている。2. Description of the Related Art In recent years, the arithmetic performance of a microprocessor (CPU) has been remarkably improved, and such a high-performance CPU is mounted on a general-purpose computer or a dedicated tone generator. Therefore, a musical tone waveform data is generated by causing a general-purpose computer or a dedicated musical tone generator to execute a predetermined musical tone generation processing program. Also, generation of musical tone waveform data by dedicated hardware having a circuit configuration corresponding to a musical tone generation method has been performed continuously conventionally.
【0003】そこで、コンピュータソフトウェアを用い
た従来の音源システムにおけるソフトウェア構造を図1
3に示す。この音源システムのオペレーテイングシステ
ム(OS)101としては、たとえば、Windows
95(マイクロソフト社の商標)が使用される。このO
S101は、楽音波形データを生成する演奏情報である
MIDIメッセージを授受することのできるインターフ
ェースIF1(MIDI out API)、インターフェースIF
2(MIDI out API)を有していると共に、生成された楽
音波形データを授受することのできるインターフェース
IF3(WAVE out API)を有している。FIG. 1 shows a software structure of a conventional sound source system using computer software.
3 is shown. As an operating system (OS) 101 of this sound source system, for example, Windows
95 (a trademark of Microsoft Corporation) is used. This O
S101 is an interface IF1 (MIDI out API) capable of transmitting and receiving a MIDI message that is performance information for generating musical sound waveform data, and an interface IF.
2 (MIDI out API) as well as an interface IF3 (WAVE out API) capable of transmitting and receiving the generated musical sound waveform data.
【0004】なお、図示する例においてはインターフェ
ースIF1(MIDI out API)は、所定の楽音生成処理プ
ログラムをCPUを備える処理装置に実行させることに
より、楽音波形データを生成させるようにした、いわゆ
るソフトウェア音源(以下、「ソフト音源」という)の
インターフェースとして使用されており、インターフェ
ースIF2(MIDI out API)は、楽音生成方式に応じた
回路構成とされている専用のハードウェアにより楽音波
形データを生成させるようにした、いわゆるハードウェ
ア音源(以下、「ハード音源」という)のインターフェ
ースとして使用されている。In the example shown in the figure, an interface IF1 (MIDI out API) is a so-called software sound source that generates a musical tone waveform data by causing a processing device having a CPU to execute a predetermined musical sound generation processing program. (Hereinafter, referred to as “soft sound source”), and an interface IF2 (MIDI out API) is used to generate musical sound waveform data by dedicated hardware having a circuit configuration corresponding to a musical sound generation method. It is used as an interface of a so-called hardware sound source (hereinafter referred to as “hard sound source”).
【0005】MIDIメッセージを発生する音楽ソフト
100は、アプリケーション階層に位置しており、演奏
情報をMIDIメッセージのフォームでリアルタイムに
発生する。また、MIDIドライバ2(ハード音源)お
よびMIDIドライバ3(ソフト音源)はOS101に
インストールされたMIDIドライバであり、MIDI
ドライバ2はハード音源用のMIDIドライバとされて
おり、MIDIメッセージに基づく楽音生成用データを
外部のハード音源103に与えている。さらに、MID
Iドライバ3は、アプリケーションソフトであるソフト
音源がOS101にインストールされたものである。[0005] The music software 100 that generates MIDI messages is located at the application layer, and generates performance information in the form of MIDI messages in real time. MIDI driver 2 (hard sound source) and MIDI driver 3 (soft sound source) are MIDI drivers installed in OS 101, and
The driver 2 is a MIDI driver for a hardware tone generator, and supplies musical tone generation data based on a MIDI message to an external hardware tone generator 103. Furthermore, MID
The I driver 3 is one in which a software sound source, which is application software, is installed in the OS 101.
【0006】そして、図13に示す場合は、音楽ソフト
100により発生されたMIDIメッセージが、OS1
01に備えられたインターフェースIF1(MIDI out A
PI)を介してMIDIドライバ3により受け取られるよ
うにされている。MIDIメッセージを受け取ったMI
DIドライバ3は、受け取ったMIDIメッセージに基
づく楽音波形データの生成処理を実行し、生成された楽
音波形データを、インターフェースIF3(WAVE out A
PI)を介してOS101にインストールされているWA
VEドライバ1に渡すようにする。WAVEドライバ1
は、バッファメモリに記憶された楽音波形データをダイ
レクトメモリアクセス(DMA)コントローラを介して
読み出して、外部のハードウェアであるコーデック(CO
DEC )105に供給する。コーデック105において、
楽音波形データはアナログ楽音信号に変換されて、図示
しないサウンドシステムから放音される。In the case shown in FIG. 13, the MIDI message generated by the music software 100 is
Interface IF1 (MIDI out A
PI) via the MIDI driver 3. The MI that received the MIDI message
The DI driver 3 executes a process of generating musical tone waveform data based on the received MIDI message, and transmits the generated musical tone waveform data to the interface IF3 (WAVE out A
WA installed on OS 101 via PI)
It is passed to the VE driver 1. WAVE driver 1
Reads out the tone waveform data stored in the buffer memory via a direct memory access (DMA) controller, and reads a codec (CO) as external hardware.
DEC) 105. In the codec 105,
The musical tone waveform data is converted into an analog musical tone signal and emitted from a sound system (not shown).
【0007】なお、MIDIドライバ3においては、1
フレーム周期内において1回以上の楽音波形データの生
成演算が実行されて1フレーム分の楽音波形データが生
成される。生成された楽音波形データはバッファメモリ
に記憶される。この場合、MIDIドライバ3では生成
演算の遅れ時間や単位時間あたりの楽音波形データ生成
量を時間管理しながら、1フレーム分の楽音波形データ
の生成を実行している。また、MIDIドライバ3が有
するライブラリ32には、楽音波形データの生成演算に
使用することのできるディジタルフィルタや補間器、ミ
キサ等の汎用モジュール(サブルーチン)群が格納され
ており、この汎用モジュール群を利用して、所要のピッ
チや音色等の楽音的特徴を具備する楽音波形データを生
成している。In the MIDI driver 3, 1
One or more musical tone waveform data generation operations are performed within a frame period, and one frame of musical tone waveform data is generated. The generated tone waveform data is stored in the buffer memory. In this case, the MIDI driver 3 generates one frame of tone waveform data while time-managing the delay time of the generation operation and the tone waveform data generation amount per unit time. The library 32 of the MIDI driver 3 stores a group of general-purpose modules (subroutines) such as a digital filter, an interpolator, and a mixer that can be used for generating and calculating musical tone waveform data. Utilizing it, musical tone waveform data having musical characteristics such as required pitches and timbres are generated.
【0008】[0008]
【発明が解決しようとする課題】上記図13に示すコン
ピュータを用いた従来の音源システムにおいては、音楽
ソフト100より発生されたMIDIメッセージを、O
S101に備えられたインターフェースIF1(MIDI o
ut API)を介してMIDIドライバ1が受け取るように
されている。また、あらかじめプログラムしておくこと
により、音楽ソフト100より発生されたMIDIメッ
セージを、OS101に備えられたインターフェースI
F2(MIDI out API)を介してMIDIドライバ2が受
け取るようにすることもできる。この場合には、MID
Iドライバ2は、MIDIメッセージに基づく楽音生成
用データを外部のハード音源103に与えて、ハード音
源103において生成された楽音波形が放音されるよう
になる。In the conventional sound source system using the computer shown in FIG. 13, a MIDI message generated by the music
Interface IF1 (MIDI 0) provided in S101
ut API) to receive the MIDI driver 1. Also, by being programmed in advance, the MIDI message generated by the music software 100 can be transmitted to the interface I provided in the OS 101.
The MIDI driver 2 can receive the data via F2 (MIDI out API). In this case, the MID
The I driver 2 gives the tone generation data based on the MIDI message to the external hardware tone generator 103 so that the tone waveform generated by the hardware tone generator 103 is emitted.
【0009】しかしながら、従来の音源システムにおい
ては、演奏前に限って使用するMIDIドライバを設定
することができるため、演奏中にダイナミックにMID
Iドライバを切り替えることができないという問題点が
あった。したがって、例えば所定のパートにおいて、あ
る演奏部分だけを異なる音源を使用して楽音波形データ
を生成し、放音することはできない。また、従来の音源
システムでは、OSに登録(インストール)されていな
いMIDIドライバを使用することはできない。使用す
る際には、MIDIドライバをOSにインストールする
ことにより、使用可能となる。しかしながら、MIDI
ドライバをOSにインストールした際には、システムを
再起動しなければならず繁雑な作業が必要であった。However, in the conventional tone generator system, since the MIDI driver to be used only before the performance can be set, the MID can be dynamically set during the performance.
There is a problem that the I driver cannot be switched. Therefore, for example, in a predetermined part, it is not possible to generate musical tone waveform data using only different sound sources for a certain performance portion and emit the sound waveform data. Further, the conventional sound source system cannot use a MIDI driver that is not registered (installed) in the OS. When used, it can be used by installing a MIDI driver in the OS. However, MIDI
When the driver was installed in the OS, the system had to be restarted, and a complicated operation was required.
【0010】さらに、ソフト音源により楽音を発生する
際には、WAVEドライバが必要となるが、ソフト音源
により構成されているMIDIドライバが複数使用され
ているときには、複数のWAVEドライバが必要とな
り、WAVEドライバが不足するおそれがあった。この
場合、新たなWAVEドライバを開くことができないと
いう問題点もある。さらにまた、ソフト音源により構成
されているMIDIドライバが複数使用されている際
に、楽音波形データの生成演算の遅れ時間や単位時間あ
たりの楽音波形データ生成量に応じた時間管理をするこ
とについては考えられていなかった。[0010] Further, when a musical tone is generated by a software tone generator, a WAVE driver is required. There was a risk of running out of drivers. In this case, there is a problem that a new WAVE driver cannot be opened. Furthermore, when a plurality of MIDI drivers configured by software sound sources are used, time management according to the delay time of the generation calculation of the tone waveform data and the amount of tone waveform data generation per unit time is described. Was not considered.
【0011】そこで、本発明は、OSにMIDIドライ
バを登録することなく使用することが可能であると共
に、演奏中にダイナミックにMIDIドライバを切り替
えることが可能な複数音源ドライバの制御方法、およ
び、複数音源ドライバの制御用プログラムが記録された
記録媒体を提供することを目的の一つとしている。さら
に、本発明は、複数のMIDIドライバが使用されてい
ても必要とするWAVEドライバを一つとすることがで
きると共に、各MIDIドライバ毎に楽音波形データの
時間管理を行う必要のない複数音源ドライバの制御方
法、および、複数音源ドライバの制御用プログラムが記
録された記録媒体を提供することを他の目的としてい
る。さらにまた、複数の音源ドライバを統合して管理す
ることのできる制御方法を提供することを他の目的とし
ている。Therefore, the present invention provides a method of controlling a plurality of tone generator drivers which can be used without registering a MIDI driver in the OS and which can dynamically switch MIDI drivers during performance. Another object of the present invention is to provide a recording medium on which a control program for a sound source driver is recorded. Further, the present invention can reduce the number of WAVE drivers required even when a plurality of MIDI drivers are used, and can provide a plurality of tone generator drivers that do not need to perform time management of musical tone waveform data for each MIDI driver. Another object of the present invention is to provide a control method and a recording medium on which a control program for a plurality of sound source drivers is recorded. Still another object of the present invention is to provide a control method capable of integrating and managing a plurality of tone generator drivers.
【0012】[0012]
【課題を解決するための手段】上記目的を達成するため
に、本発明の複数音源ドライバの制御方法は、アプリケ
ーションレベルの音楽ソフトから発生される演奏データ
を、オペレーティングシステムが備える第1のアプリケ
ーションプログラミングインターフェースを介して、前
記オペレーティングシステムにインストールされた統合
ドライバ手段が受けて、該演奏データを、前記統合ドラ
イバ手段に登録された1ないし複数の音源ドライバ手段
に振り分け、前記1ないし複数の音源ドライバ手段は、
それぞれ振り分けられた前記演奏データに応じた楽音波
形データを生成すると共に、生成した楽音波形データを
前記統合ドライバ手段に送り、前記統合ドライバ手段は
送られた楽音波形データのサンプリング周波数を基準サ
ンプリング周波数に変換すると共に、楽音波形データの
時間位置を揃えて楽音波形データを加算し、加算された
楽音波形データを基準サンプリング周波数で再生して楽
音を発生するようにされている。この発明によれば、生
成する楽音波形データのサンプリング周波数の異なる音
源ドライバを自由に追加したり削除したりすることがで
きるようになる。また、音源ドライバを追加しても、演
奏データを供給するオペレーティングシステムのインタ
ーフェース数を増やさずに済むことができる。In order to achieve the above object, a method for controlling a plurality of tone generator drivers according to the present invention comprises: a first application programming device provided with an operating system for storing performance data generated from application level music software; An integrated driver installed in the operating system receives the data through the interface and distributes the performance data to one or a plurality of tone generators registered in the integrated driver. Is
Along with generating musical tone waveform data according to the distributed performance data, the generated musical tone waveform data is sent to the integrated driver means, and the integrated driver means sets the sampling frequency of the transmitted musical tone waveform data to a reference sampling frequency. In addition to the conversion, the musical sound waveform data is added to the musical sound waveform data at the same time position, and the added musical sound waveform data is reproduced at a reference sampling frequency to generate a musical sound. According to the present invention, it is possible to freely add or delete a sound source driver having a different sampling frequency of generated musical tone waveform data. Further, even if a sound source driver is added, it is not necessary to increase the number of interfaces of the operating system for supplying performance data.
【0013】また、上記複数音源ドライバの制御方法に
おいて、前記再生は、前記加算された楽音波形データ
を、前記オペレーティングシステムが備える第2のイン
ターフェースを介して、楽音波形データを基準サンプリ
ング周期で出力する前記オペレーティングシステムにイ
ンストールされたウェーブドライバ手段に渡すことによ
り行われるようにされている。この発明によれば、音源
ドライバを追加しても、楽音波形データを出力するオペ
レーティングシステムのインターフェース数を増やさず
に済むことができる[0013] In the method of controlling a plurality of tone generator drivers, the reproducing outputs the added musical tone waveform data at a reference sampling period via a second interface provided in the operating system. The processing is performed by passing the data to a wave driver installed in the operating system. According to the present invention, even if a sound source driver is added, it is not necessary to increase the number of interfaces of the operating system that outputs musical tone waveform data.
【0014】さらに、本発明の複数の音源ドライバを制
御する複数音源ドライバの制御用プログラムが記録され
た記録媒体においては、該制御用プログラムは、音楽ソ
フトから発生された演奏データを、オペレーティングシ
ステムが備える第1のアプリケーションプログラミング
インターフェースを介して、前記オペレーティングシス
テムにインストールされた統合ドライバ手段が受けて、
該演奏データを、前記統合ドライバ手段に登録された1
ないし複数の音源ドライバ手段に振り分けるステップ
と、振り分けられた前記演奏データに応じて前記1ない
し複数の音源ドライバ手段により生成された楽音波形デ
ータを前記統合ドライバ手段に送るストリーム機能と、
該統合ドライバ手段に送られた楽音波形データのサンプ
リング周波数を基準サンプリング周波数に変換すると共
に、楽音波形データの時間位置を揃えて楽音波形データ
を加算するステップと、加算された楽音波形データをサ
ンプリング周期で出力するステップと、をコンピュータ
装置に実行させるようにした複数音源ドライバの制御用
プログラムが記録されている。Further, according to the present invention, in a recording medium on which a control program for controlling a plurality of tone generator drivers for controlling a plurality of tone generator drivers is recorded, the control program stores performance data generated from music software and an operating system. Receiving, via a first application programming interface, integrated driver means installed in the operating system,
The performance data is stored in the one registered in the integrated driver means.
Or a step of distributing the tone waveform data generated by the one or more sound source driver means to the integrated driver means in accordance with the distributed performance data;
Converting the sampling frequency of the tone waveform data sent to the integrated driver means into a reference sampling frequency, aligning the time positions of the tone waveform data and adding the tone waveform data; And a control program for a plurality of tone generator drivers which causes a computer device to execute the step of outputting.
【0015】また、前記制御用プログラムにおいて、前
記出力するステップでは、前記加算された楽音波形デー
タを、前記オペレーティングシステムにインストールさ
れたウェーブドライバ手段に、前記オペレーティングシ
ステムが備える第2のアプリケーションプログラミング
インターフェースを介して送り、前記ウェーブドライバ
手段で出力を行うようにしてもよい。上記した記録媒体
にかかる発明によれば、生成する楽音波形データのサン
プリング周波数の異なる音源ドライバを自由に追加した
り削除したりすることができるようになる。また、音源
ドライバを追加しても、演奏データを供給するオペレー
ティングシステムのインターフェース数を増やさずに済
むことができる。In the control program, in the outputting step, the added musical tone waveform data is transmitted to a wave driver installed in the operating system by a second application programming interface provided in the operating system. And output by the wave driver means. According to the invention relating to the recording medium described above, it is possible to freely add or delete a sound source driver having a different sampling frequency of generated musical tone waveform data. Further, even if a sound source driver is added, it is not necessary to increase the number of interfaces of the operating system for supplying performance data.
【0016】さらにまた、前記目的を達成することので
きる本発明の複数生成プログラムの制御方法は、それぞ
れ演奏データに応じて楽音波形データを生成する複数の
生成プログラムを登録するステップと、各演奏パート毎
の音色選択情報に基づいて、各演奏パートの演奏データ
を供給すべき生成プログラムを指定するステップと、入
力する複数パートの演奏データを、それぞれ前記指定す
るステップが各演奏パートについて指定した前記生成プ
ログラムに対して供給するステップと、前記複数の生成
プログラムが生成した複数の楽音波形データを受け取
り、混合して出力するステップとを備えている。この発
明によれば、登録された複数の生成プログラムに対し
て、入力する演奏データをその演奏パートに応じてダイ
ナミックに振り分けて供給することができるようにな
る。Further, the method of controlling a plurality of generation programs according to the present invention, which can achieve the above object, comprises a step of registering a plurality of generation programs for generating musical tone waveform data in accordance with respective performance data; A step of specifying a generation program to which performance data of each performance part is to be supplied based on the tone color selection information for each performance part; and a step of specifying the performance data of a plurality of parts to be input. And a step of receiving a plurality of tone waveform data generated by the plurality of generation programs, mixing and outputting the data. According to the present invention, it becomes possible to dynamically distribute input performance data to a plurality of registered generation programs in accordance with the performance parts.
【0017】さらにまた、本発明の別の複数生成プログ
ラムの制御方法は、前記それぞれ演奏データに応じて楽
音波形データを生成する複数の生成プログラムを登録す
るステップと、登録した複数の生成プログラムについ
て、それぞれ演奏データが供給されてから生成する楽音
波形データにその効果が現れるまでの演算遅延時間を検
出するステップと、入力する演奏データを前記複数の生
成プログラムに対して振り分けると共に、振り分けた演
奏データを各生成プログラムの前記演算遅延時間に対応
する時間遅延した後に、各生成プログラムに供給するス
テップと、前記複数の生成プログラムが生成した複数の
楽音波形データを受け取り、混合して出力するステップ
とを備えている。この発明によれば、演算遅延時間の異
なる複数の生成プログラムがそれぞれ生成する複数の楽
音波形データを、演奏データの入力するタイミングを基
準として同期して再生することができるようになる。Still further, another method of controlling a plurality of generation programs according to the present invention includes the steps of: registering a plurality of generation programs for generating musical tone waveform data in accordance with the respective performance data; Detecting the operation delay time from when the performance data is supplied to the tone waveform data to be generated until the effect appears, and distributes the input performance data to the plurality of generation programs, and Supplying a plurality of tone waveform data generated by the plurality of generation programs after a time delay corresponding to the calculation delay time of each generation program; and mixing and outputting the plurality of tone waveform data generated by the plurality of generation programs. ing. According to the present invention, a plurality of musical tone waveform data respectively generated by a plurality of generation programs having different operation delay times can be synchronously reproduced with reference to the timing of inputting performance data.
【0018】さらにまた、本発明のさらに別の複数生成
プログラムの制御方法は、アプリケーションレベルの音
楽ソフトから発生される演奏データを、オペレーティン
グシステムが備える第1のインターフェースを介して受
け取るステップと、複数の生成プログラムを登録するス
テップと、登録された複数の生成プログラムについて、
それぞれ独立したインターフェースを開くステップと、
前記第1のインターフェースを介して受け取った演奏デ
ータを、前記複数の生成プログラムに対して振り分け、
それぞれ前記独立したインターフェースを介して供給す
るステップと、供給された演奏データに基づいて前記複
数の生成プログラムがそれぞれ生成した複数の楽音波形
データを受け取り、混合して出力するステップとを備え
ている。この発明によれば、登録された生成プログラム
に対応してインターフェースを開くようにしているの
で、登録する生成プログラムの数を任意に増減すること
が可能となる。Still another method of controlling a plurality of generation programs according to the present invention includes a step of receiving performance data generated from application-level music software via a first interface provided in an operating system; Registering the generator, and for the plurality of registered generators,
Opening independent interfaces,
Distributing the performance data received via the first interface to the plurality of generation programs;
And a step of receiving a plurality of tone waveform data generated by the plurality of generation programs based on the supplied performance data, mixing and outputting the plurality of tone waveform data, respectively. According to the present invention, since the interface is opened in correspondence with the registered generation program, the number of generation programs to be registered can be arbitrarily increased or decreased.
【0019】さらにまた、上記複数生成プログラムの制
御方法において、前記登録するステップは、前記生成プ
ログラムとして規格準拠の生成プログラムと規格非準拠
の生成プログラムが登録可能であり、前記開くステップ
は、規格準拠の生成プログラムについては前記オペレー
ティングシステムによらない独自のインターフェースを
開くと共に、前記規格非準拠の生成プログラムについて
は前記オペレーティングシステムの備える第2のインタ
ーフェースを開き、前記供給するステップは、振り分け
た演奏データを規格準拠の生成プログラムに対しては前
記独自のインターフェースを介して供給すると共に、規
格非準拠の生成プログラムに対しては前記第2のインタ
ーフェースを介して供給するようにしてもよい。この発
明によれば、規格準拠の生成プログラムと規格非準拠の
生成プログラムにより合奏することが可能となる。ま
た、規格準拠の生成プログラムについては、オペレーテ
ィングシステムのインターフェース数を増やさなくても
良く、インターフェースが不足することを防止すること
ができる。Further, in the method of controlling a plurality of generation programs, the registering step may register a standard-compliant generation program and a non-standard-compliant generation program as the generation program, and the opening step may include the standard-compliant generation program. Open a unique interface independent of the operating system for the generating program, open a second interface of the operating system for the non-standard compliant generating program, and supply the distributed performance data. The generator may be supplied via the unique interface for a standard-compliant generation program, and may be supplied via the second interface for a non-standard-compliant generator. According to the present invention, it is possible to play an ensemble with a standard-compliant generation program and a non-standard-compliant generation program. Further, for a standard-compliant generation program, the number of interfaces of the operating system does not need to be increased, and shortage of interfaces can be prevented.
【0020】さらにまた、本発明のさらに別の複数生成
プログラムの制御方法は、アプリケーションレベルの音
楽ソフトから発生される演奏データを、オペレーティン
グシステムが備える第1のインターフェースを介して受
け取るステップと、登録された複数の生成プログラムに
ついて、それぞれ独立した伝送経路を開くステップと、
前記第1のインターフェースを介して受け取った演奏デ
ータを、前記複数の生成プログラムに対して振り分けて
供給するステップと、供給された演奏データに基づいて
前記複数の生成プログラムがそれぞれ生成した複数の楽
音波形データを、それぞれ各生成プログラムに対応した
前記伝送経路を介して受け取り、受け取った複数の楽音
波形データを混合して出力するステップとを備えてい
る。このような発明によれば、登録された生成プログラ
ムに対して独立した伝送経路を開くようにしたので、登
録する生成プログラムの数を任意に増減することが可能
となる。Still another method of controlling a plurality of generation programs according to the present invention includes the steps of: receiving performance data generated from music software at an application level via a first interface provided in an operating system; Opening independent transmission paths for each of the generated programs,
Distributing performance data received via the first interface to the plurality of generation programs and supplying the performance data; and generating a plurality of tone waveforms respectively generated by the plurality of generation programs based on the supplied performance data. Receiving the data via the transmission paths respectively corresponding to the respective generation programs, mixing and outputting the received plurality of tone waveform data. According to such an invention, since an independent transmission path is opened for the registered generation program, the number of generation programs to be registered can be arbitrarily increased or decreased.
【0021】さらにまた、上記複数生成プログラムの制
御方法において、前記登録するステップは、前記生成プ
ログラムとして規格準拠の生成プログラムと規格非準拠
の生成プログラムが登録可能であり、前記開くステップ
は、規格準拠の生成プログラムについては前記オペレー
ティングシステムによらない独自の伝送経路を開くと共
に、前記規格非準拠の生成プログラムについては前記オ
ペレーティングシステムの備える第2のインターフェー
スを開き、前記出力するステップは、規格準拠の生成プ
ログラムの生成した楽音波形データを前記独自の伝送経
路を介して受け取ると共に、規格非準拠の生成プログラ
ムの生成した楽音波形データを前記第2のインターフェ
ースを介して受け取るようにしてもよい。このような発
明によれば、規格準拠の生成プログラムと規格非準拠の
生成プログラムにより合奏することが可能となる。な
お、規格準拠の生成プログラムについては、オペレーテ
ィングシステムのインターフェース数を増やさなくても
良く、インターフェースが不足することを防止すること
ができる。Further, in the method of controlling a plurality of generation programs, the registering step may register a standard-compliant generation program and a non-standard-compliant generation program as the generation program, and the opening step may include the standard-compliant generation program. Opening a unique transmission path independent of the operating system for the generation program, opening a second interface of the operating system for the non-standard-compliant generation program, and outputting the standard-compliant generation program The tone waveform data generated by the program may be received via the unique transmission path, and the tone waveform data generated by the non-standard-compliant generation program may be received via the second interface. According to such an invention, it is possible to play an ensemble with a standard-compliant generation program and a non-standard-compliant generation program. It should be noted that for a standard-compliant generation program, the number of interfaces of the operating system does not need to be increased, and shortage of interfaces can be prevented.
【0022】さらにまた、本発明のさらに別の複数生成
プログラムの制御方法は、それぞれ演奏データに応じて
楽音波形データを生成する複数の生成プログラムを登録
するステップと、入力する複数パートの演奏データを登
録した複数の生成プログラムに対して振り分けると共
に、振り分けた演奏データを各生成プログラムに供給す
るステップと、登録した複数の生成プログラムに対し
て、それぞれ個別にトリガを発生するステップと、前記
トリガに応じて各生成プログラムが生成処理を実行する
ことにより生成された複数の生成プログラムに対応する
複数の楽音波形データを受け取り、混合して出力するス
テップと、受け取った複数の楽音波形データの進行状況
を複数の生成プログラムについて互いに比較し、前記発
生するステップが該進行状況の遅れている生成プログラ
ムに対してトリガを優先的に発生するよう制御するステ
ップとを備えている。このような発明によれば、複数の
生成プログラムの生成状況を一括して管理しているた
め、複数の生成プログラム間でバランスをとることがで
きるようになる。Still another control method of a plurality of generation programs of the present invention is a step of registering a plurality of generation programs for generating musical tone waveform data in accordance with performance data, respectively, and Distributing the distributed performance data to each of the plurality of registered generation programs, and generating individual triggers for each of the registered plurality of generation programs; Receiving and mixing and outputting a plurality of tone waveform data corresponding to a plurality of generation programs generated by each generation program executing the generation process; and Are compared with each other, and the step of generating And a step of controlling to generate a trigger preferentially for the situation of the lagging generator. According to such an invention, since the generation statuses of the plurality of generation programs are managed collectively, it is possible to balance among the plurality of generation programs.
【0023】[0023]
【発明の実施の形態】コンピュータソフトウェアを用い
た本発明の複数音源ドライバの制御方法におけるソフト
ウェア構造を図1に示す。このソフトウェア構造におい
て、オペレーテイングシステム(OS)2としては、た
とえば、Windows95(マイクロソフト社の商
標)が使用される。図1におけるOS2は、楽音波形デ
ータを生成する演奏情報であるMIDI(musical inst
rument digital interface)メッセージを授受すること
のできるインターフェースIF1(MIDI out API)、お
よび、インターフェースIF2(MIDIout API)とを有
していると共に、生成された楽音波形データを授受する
ことのできるインターフェースIF3(WAVE out AP
I)、および、インターフェースIF4(WAVE out AP
I)を有している。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a software structure in a method for controlling a plurality of tone generator drivers of the present invention using computer software. In this software structure, for example, Windows 95 (a trademark of Microsoft Corporation) is used as the operating system (OS) 2. OS2 in FIG. 1 is MIDI (musical inst.) Which is performance information for generating musical sound waveform data.
rument digital interface) interface IF1 (MIDI out API) capable of exchanging messages and interface IF2 (MIDI out API), and interface IF3 (exchangeable) capable of exchanging generated musical sound waveform data. WAVE out AP
I) and interface IF4 (WAVE out AP
I).
【0024】また、MIDIメッセージを発生する音楽
ソフト1は、アプリケーション階層に位置しており、演
奏情報をMIDIメッセージのフォームでリアルタイム
に発生する。このMIDIメッセージは、OS2のマル
チメディア関数の一つとして用意されたインターフェー
スIF1(MIDI out API)を介して、本発明の特徴点で
ある統合ドライバ3に受け取られる。この統合ドライバ
3をOS2にインストールすることにより、図1に示さ
れるインターフェースIF1,およびインターフェース
IF3の機能がOS2に用意されるようになる。そし
て、統合ドライバ3により受け取られたMIDIメッセ
ージは、パート毎に分配されて規格準拠のMIDIドラ
イバ1(ハード音源),MIDIドライバ2(ソフト音
源),MIDIドライバ3(ソフト音源)と、規格非準
拠のMIDIドライバ4(ソフト音源)に与えられる。The music software 1 for generating a MIDI message is located at an application layer, and generates performance information in the form of a MIDI message in real time. This MIDI message is received by the integrated driver 3, which is a feature of the present invention, via an interface IF1 (MIDI out API) prepared as one of the multimedia functions of the OS2. By installing the integrated driver 3 in the OS 2, the functions of the interface IF1 and the interface IF3 shown in FIG. The MIDI message received by the integrated driver 3 is distributed for each part, and the MIDI driver 1 (hard tone generator), the MIDI driver 2 (soft tone generator), and the MIDI driver 3 (soft tone generator) conforming to the standard are not compliant with the standard. MIDI driver 4 (soft sound source).
【0025】この際に、MIDIドライバ1〜3を統合
ドライバ3に登録することにより、統合ドライバ3には
インターフェースIF10(MIDI out API),IF11
(MIDI out API),IF12(MIDI out API)が備えら
れ、これらのインターフェースIF10(MIDI out AP
I),IF11(MIDI out API),IF12(MIDI outA
PI)を介して、規格準拠のMIDIドライバ1(ハード
音源),MIDIドライバ2(ソフト音源),MIDI
ドライバ3(ソフト音源)に、分配されたMIDIメッ
セージが与えられる。また、規格非準拠のMIDIドラ
イバ4(ソフト音源)には、同ドライバをOS2にイン
ストールすることにより用意されたインターフェースI
F2(MIDI out API)を介して分配されたMIDIメッ
セージが与えられる。At this time, the MIDI drivers 1 to 3 are registered in the integrated driver 3 so that the integrated driver 3 has interfaces IF10 (MIDI out API) and IF11.
(MIDI out API) and IF12 (MIDI out API).
I), IF11 (MIDI out API), IF12 (MIDI outA
PI), a MIDI driver 1 (hard sound source), a MIDI driver 2 (soft sound source),
The distributed MIDI message is provided to the driver 3 (software sound source). The non-standard MIDI driver 4 (soft sound source) has an interface I prepared by installing the driver in the OS 2.
A MIDI message distributed via F2 (MIDI out API) is provided.
【0026】なお、規格非準拠のMIDIドライバ4
(ソフト音源)はOS2にインストールされることによ
り使用される。一方、規格準拠のMIDIドライバ1
(ハード音源),MIDIドライバ2(ソフト音源),
MIDIドライバ3(ソフト音源)は、OS2にインス
トールして使用することも可能であるし、OS2にイン
ストールせずに統合ドライバ3に登録するだけでも使用
可能である。規格準拠のMIDIドライバを統合ドライ
バ3に登録して使用する場合には、オペレーティングシ
ステムを再起動することなく直ちに使用可能とすること
ができ、煩雑なインストール作業を不要とすることがで
きる。また、MIDIドライバ1はハード音源用のMI
DIドライバであり、インターフェースIF10を通じ
て供給されたMIDIメッセージに基づいてハード音源
10の楽音生成動作を制御している。さらに、MIDI
ドライバ2(ソフト音源),MIDIドライバ3(ソフ
ト音源)は、ソフト音源により構成されたドライバとさ
れている。It should be noted that the MIDI driver 4 that is not compliant with the standard
The (soft sound source) is used by being installed in the OS2. On the other hand, the standard-compliant MIDI driver 1
(Hard sound source), MIDI driver 2 (soft sound source),
The MIDI driver 3 (software sound source) can be installed and used in the OS 2, or can be used only by registering it in the integrated driver 3 without installing it in the OS 2. When a standard-compliant MIDI driver is registered and used in the integrated driver 3, it can be used immediately without restarting the operating system, and complicated installation work can be omitted. Also, the MIDI driver 1 is a MIDI driver for a hardware tone generator.
The DI driver controls the tone generation operation of the hardware tone generator 10 based on the MIDI message supplied through the interface IF 10. In addition, MIDI
The driver 2 (soft sound source) and the MIDI driver 3 (soft sound source) are drivers constituted by soft sound sources.
【0027】そして、統合ドライバ3からインターフェ
ースIF11(MIDI out API),IF12(MIDI out A
PI)を介してMIDIメッセージは、MIDIドライバ
2(ソフト音源),MIDIドライバ3(ソフト音源)
に与えられ、MIDIドライバ2(ソフト音源),MI
DIドライバ3(ソフト音源)は、統合ドライバ3に用
意された統合ツールライブラリ4内のタイマ処理手段4
−2から所定周期で発生されるトリガを受けて演算処理
を実行する。そして、所定データ量の楽音波形データを
生成している。MIDIドライバ2(ソフト音源)によ
り生成された楽音波形データは、そのままストリーム1
を介して、統合ドライバ3に用意された統合ツールライ
ブラリ4内のWAVE処理手段4−1に送られる。ま
た、MIDIドライバ3(ソフト音源)により生成され
た楽音波形データは、そのままストリーム2を介して、
統合ドライバ3に用意された統合ツールライブラリ4内
のWAVE処理手段4−1に送られる。Then, the interface IF11 (MIDI out API) and IF12 (MIDI out A
The MIDI message via the PI) is transmitted to the MIDI driver 2 (soft sound source) and the MIDI driver 3 (soft sound source).
MIDI driver 2 (soft sound source), MI
The DI driver 3 (software sound source) is a timer processing unit 4 in the integrated tool library 4 prepared in the integrated driver 3.
The arithmetic processing is executed upon receiving a trigger generated at a predetermined cycle from -2. Then, tone waveform data of a predetermined data amount is generated. The musical tone waveform data generated by the MIDI driver 2 (soft sound source)
Is sent to the WAVE processing means 4-1 in the integrated tool library 4 prepared in the integrated driver 3. The musical tone waveform data generated by the MIDI driver 3 (soft sound source) is directly transmitted via the stream 2
It is sent to the WAVE processing means 4-1 in the integrated tool library 4 prepared in the integrated driver 3.
【0028】さらに、規格非準拠のMIDIドライバ4
(ソフト音源)では、インターフェースIF2を通じて
与えられたMIDIメッセージを用いて、演算処理を行
い、MIDIドライバ4(ソフト音源)において生成さ
れた楽音波形データは、OS2に用意されたインターフ
ェースIF3(MIDI out API)を介して、統合ドライバ
3に用意された統合ツールライブラリ4内のWAVE処
理手段4−1に送られる。WAVE処理手段4−1にお
いては、受け取った楽音波形データのサンプリング周波
数Fsを所定のサンプリング周波数に変換する処理と、
楽音波形データを複数受け取った際には、時間合わせし
た楽音波形データ同士の加算を行う処理とが行われる。
なお、受け取った複数の楽音波形データの中に共通のサ
ンプリング周波数Fsのものがある場合には、先にそれ
らを互いに加算した後にサンプリング周波数変換を行え
ば必要とする演算量を少なくすることができる。Further, a MIDI driver 4 that does not conform to the standard
The (soft sound source) performs arithmetic processing using the MIDI message given through the interface IF2, and the musical tone waveform data generated by the MIDI driver 4 (soft sound source) is transferred to the interface IF3 (MIDI out API) prepared in the OS2. ) Is sent to the WAVE processing means 4-1 in the integrated tool library 4 prepared in the integrated driver 3. The WAVE processing means 4-1 converts the sampling frequency Fs of the received tone waveform data into a predetermined sampling frequency;
When a plurality of musical tone waveform data are received, a process of adding the musical tone waveform data at the same time is performed.
If a plurality of received musical tone waveform data have a common sampling frequency Fs, a necessary amount of calculation can be reduced by first adding them to each other and then performing sampling frequency conversion. .
【0029】加算処理の行われた楽音波形データが、1
フレーム分に達した際には、1フレーム分の楽音波形デ
ータがバッファメモリに格納されて、WAVEドライバ
1に再生予約されるようになる。この場合、WAVE処
理手段4−1からは、OS2に用意されたインターフェ
ースIF4(WAVE out API )を介して、楽音波形デー
タがWAVEドライバ1に送られる。これにより、MI
DIドライバを複数使用していても、WAVEドライバ
は1つのみ使用するだけでよく、WAVEドライバが不
足することを防止することができる。The tone waveform data on which the addition processing has been performed is 1
When the number of frames reaches one, the tone waveform data for one frame is stored in the buffer memory, and the WAVE driver 1 makes a reservation for reproduction. In this case, the tone waveform data is sent from the WAVE processing means 4-1 to the WAVE driver 1 via the interface IF4 (WAVE out API) prepared in the OS2. Thereby, MI
Even if a plurality of DI drivers are used, only one WAVE driver needs to be used, and shortage of WAVE drivers can be prevented.
【0030】さらに、統合ドライバ3においては、生成
演算の遅れ時間や単位時間あたりの楽音波形データ生成
量を時間管理しながら、ストリーム1およびストリーム
2から受け取られた楽音波形データの進行状況がチェッ
クされて、タイマ処理手段4−2が発生するトリガの優
先順位の制御が行われる。また、この優先順位を、各M
IDIドライバにおける楽音波形データが生成されるま
での演算遅延時間に応じて決定するようにしても良い。
なお、統合ツールライブラリ4は、統合ドライバ3が起
動された際にコールされるダイナミックリンクライブラ
リ(DLL)として用意されている。Further, the integrated driver 3 checks the progress of the musical tone waveform data received from the stream 1 and the stream 2 while managing the delay time of the generation operation and the musical tone waveform data generation amount per unit time. Thus, the priority of the trigger generated by the timer processing means 4-2 is controlled. Also, this priority is assigned to each M
The determination may be made according to a calculation delay time until the tone waveform data is generated in the IDI driver.
The integrated tool library 4 is provided as a dynamic link library (DLL) that is called when the integrated driver 3 is started.
【0031】ところで、規格準拠のMIDIドライバ2
(ソフト音源),MIDIドライバ3(ソフト音源)に
おいて生成された楽音波形データは、トリガを受けて生
成されたデータ量だけストリーム1およびストリーム2
を介してWAVE処理手段4−1に送られるようにさ
れ、楽音波形データの時間管理は、MIDIドライバ2
(ソフト音源),MIDIドライバ3(ソフト音源)に
おいては行われていない。一方、規格非準拠のMIDI
ドライバ4(ソフト音源)においては、生成された楽音
波形データの時間管理が行われて、1フレーム分の楽音
波形データが生成された際に、WAVE処理手段4−1
に送られるようになる。このため、規格準拠のMIDI
ドライバにおいては、WAVE処理手段4−1により一
元的に楽音波形データの時間管理を行うことができ、各
MIDIドライバにおいて個別に時間管理をする必要が
なくなるだけでなく、平行して動作する複数のMIDI
ドライバに対して最適な制御を行うことができる。By the way, the standard-compliant MIDI driver 2
(Soft sound source) and musical sound waveform data generated by the MIDI driver 3 (soft sound source) are stream 1 and stream 2 by the amount of data generated by receiving a trigger.
Is transmitted to the WAVE processing means 4-1 via the MIDI driver 2.
(Soft sound source) and MIDI driver 3 (soft sound source). On the other hand, non-compliant MIDI
In the driver 4 (soft sound source), time management of the generated tone waveform data is performed, and when one frame of tone waveform data is generated, the WAVE processing means 4-1.
Will be sent to For this reason, the standard-compliant MIDI
In the driver, the time management of the musical tone waveform data can be centrally performed by the WAVE processing means 4-1. Not only does it become unnecessary for each MIDI driver to separately manage the time, but also a plurality of MIDI drivers operating in parallel. MIDI
Optimal control can be performed on the driver.
【0032】ところで、ストリーム1およびストリーム
2は、アプリケーションである音楽ソフト1から統合ド
ライバ3に対するオープン要求があった時点において、
統合ドライバ3に登録されているMIDIドライバが検
出されて対応するストリームがオープンされる。このス
トリーム1およびストリーム2は、指定された速度およ
びビット幅で楽音波形データを送ることのできるチャン
ネルのようなものである。また、ストリームには優先順
位がつけられており、WAVE処理手段4−1において
は、この優先順位の高い順で、送られた楽音波形データ
を処理するようにしている。この優先順位は、ストリー
ムで送られる楽音波形データが割り当てられているパー
トの重要度に応じて決定するのが好適である。By the way, when the music software 1 as an application issues an open request to the integrated driver 3, the stream 1 and the stream 2
The MIDI driver registered in the integrated driver 3 is detected, and the corresponding stream is opened. The stream 1 and the stream 2 are like channels capable of transmitting musical tone waveform data at a specified speed and bit width. The streams are given priorities, and the WAVE processing means 4-1 processes the transmitted tone waveform data in the order of the higher priorities. This priority is preferably determined according to the importance of the part to which the musical tone waveform data transmitted in the stream is assigned.
【0033】そして、WAVE処理手段4−1より楽音
波形データの再生予約がされたWAVEドライバ1は、
サンプル毎の再生出力を出力することができるようにダ
イレクトメモリアクセス(DMA)コントローラを介し
てバッファメモリから波形サンプルを読み出して、波形
入出力用のハードウェアであるコーデック(CODEC)1
1に供給する。コーデック11において、波形サンプル
はアナログ楽音信号に変換されて、図示しないサウンド
システムから放音される。また、ハード音源10におい
て生成された波形サンプルも、図示しないサウンドシス
テムから放音される。Then, the WAVE driver 1 for which the reproduction of the musical tone waveform data is reserved by the WAVE processing means 4-1,
A waveform sampler is read out from a buffer memory via a direct memory access (DMA) controller so that a reproduced output for each sample can be output, and a codec (CODEC) 1 which is hardware for waveform input / output is provided.
Feed to 1. In the codec 11, the waveform sample is converted into an analog musical tone signal and emitted from a sound system (not shown). Further, the waveform sample generated in the hard sound source 10 is also emitted from a sound system (not shown).
【0034】なお、統合ツールライブラリ4に用意され
たライブラリ32は、汎用化されており、楽音波形デー
タの生成演算に使用することのできるディジタルフィル
タや補間器、ミキサ等の汎用モジュール(サブルーチ
ン)群が格納されており、規格準拠した各MIDIドラ
イバはこの汎用モジュール群を利用して、所要のピッチ
や音色等の楽音的特徴を具備する楽音波形データを生成
している。このようなソフトウェア構造において、例え
ばMIDIドライバ2(ソフト音源)が自然楽器を模擬
する物理モデル音源とされ、MIDIドライバ3(ソフ
ト音源)が波形メモリ音源とされている際には、ソロパ
ートに対応するMIDIメッセージをMIDIドライバ
2(ソフト音源)に分配し、伴奏パートに対応するMI
DIメッセージをMIDIドライバ3(ソフト音源)に
分配するのが好適である。The library 32 prepared in the integrated tool library 4 is general-purpose, and is a group of general-purpose modules (subroutines) such as a digital filter, an interpolator, and a mixer which can be used for generating and calculating musical tone waveform data. Each MIDI driver conforming to the standard uses this general-purpose module group to generate musical sound waveform data having musical characteristics such as required pitches and timbres. In such a software structure, for example, when the MIDI driver 2 (soft sound source) is a physical model sound source that simulates a natural musical instrument and the MIDI driver 3 (soft sound source) is a waveform memory sound source, it corresponds to the solo part. The MIDI message is distributed to the MIDI driver 2 (soft sound source), and the MIDI message corresponding to the accompaniment part is distributed.
It is preferable to distribute the DI message to the MIDI driver 3 (soft sound source).
【0035】また、規格準拠のMIDIドライバは、O
S2にドライバとしてインストールせずとも統合ドライ
バ3に登録することにより使用することができると共
に、統合ドライバ3によりMIDIメッセージの分配を
行うようにしているため、演奏中であっても各パートに
おけるMIDIドライバの切り換えを行えるようにな
る。従って、パートの一部分だけを異なるMIDIドラ
イバにより楽音波形データを生成して演奏することが可
能となり、種々の形態の演奏を可能とすることができる
ようになる。The MIDI driver conforming to the standard is O
The driver can be used by registering it in the integrated driver 3 without installing it as a driver in S2, and since the MIDI message is distributed by the integrated driver 3, the MIDI driver in each part even during the performance is performed. Can be switched. Therefore, it is possible to generate and play musical tone waveform data for only a part of a part by a different MIDI driver, thereby enabling various forms of performance.
【0036】次に、本発明のコンピュータソフトウェア
を用いた複数音源ドライバの制御方法の実施に使用する
ハードウェア構成を図2に示す。図2に示すハードウェ
ア構成において、21はメイン制御部として使用される
マイクロプロセッサ(CPU)であり、このCPU21
の制御の下で本発明にかかる複数音源ドライバの制御方
法が、複数音源ドライバの制御用プログラムによる複数
音源ドライバの制御処理として実行される。同時に、そ
の他のアプリケーションプログラム等の処理が並列して
実行される。22はCPU21が実行する制御用プログ
ラム等が記憶されているリードオンリメモリ(RO
M)、23はCPU21のワークエリアや、外部記憶装
置であるハードディスク26あるいはリムーバブルディ
スク27等から読み出されたプログラムや演奏データ等
がロードされるエリアが設定されているランダムアクセ
スメモリ(RAM)、24はタイマ割り込み処理のタイ
ミングをCPU21に指示するハードウェアにより構成
されたタイマである。Next, FIG. 2 shows a hardware configuration used for implementing a method for controlling a plurality of tone generator drivers using the computer software of the present invention. In the hardware configuration shown in FIG. 2, reference numeral 21 denotes a microprocessor (CPU) used as a main control unit.
Under the above control, the method for controlling a plurality of sound source drivers according to the present invention is executed as control processing of a plurality of sound source drivers by a control program for the plurality of sound source drivers. At the same time, processes of other application programs and the like are executed in parallel. A read-only memory (RO) 22 stores a control program executed by the CPU 21 and the like.
M) and 23 are a random access memory (RAM) in which a work area of the CPU 21 and an area in which programs and performance data read from the hard disk 26 or the removable disk 27 as an external storage device are loaded are set. Reference numeral 24 denotes a timer configured by hardware for instructing the CPU 21 on the timing of timer interrupt processing.
【0037】また、25は他のMIDI(musical inst
rument digital interface)機器からMIDIメッセー
ジ等の演奏データが入力されると共に、生成されたMI
DIメッセージを他のMIDI機器へ出力するMIDI
インターフェースであり、26はアプリケーションソフ
トウェアやMIDI演奏データ等を記録することができ
るハードディスクであり、27は、ハードディスク26
と同様にアプリケーションソフトウェアやMIDI演奏
データ等を記録することができるリムーバブルディスク
である。さらに、28はアプリケーションの画面や、各
種設定画面等が表示される表示器(モニタ)、29は英
字、かな、数字、記号などのキーや、改行キー、改頁キ
ー等を備えるいわゆるパソコン用のキーボード、およ
び、表示器28の画面に表示されたポインタを自在に移
動させたり、クリックすることにより指定することので
きるマウスである。Further, 25 is another MIDI (musical inst
rument digital interface) The performance data such as MIDI message is input from the device, and the generated MIDI
MIDI that outputs DI messages to other MIDI devices
Reference numeral 26 denotes a hard disk capable of recording application software, MIDI performance data and the like, and 27 denotes a hard disk 26
This is a removable disk on which application software, MIDI performance data, and the like can be recorded. Further, 28 is a display (monitor) for displaying application screens, various setting screens and the like, and 29 is a so-called personal computer having keys such as alphabets, kana, numbers and symbols, line feed keys and page break keys. A keyboard and a mouse that can be designated by freely moving or clicking a pointer displayed on the screen of the display unit 28.
【0038】さらにまた、30はRAM3に格納された
楽音波形データをサンプリング周期で読み出して、アナ
ログ信号に変換した後に図示しないサウンドシステムか
ら放音させるための波形インターフェースである。な
お、サウンドシステムにおいて楽音信号にリバーブやコ
ーラス等の効果を付与する効果回路を備えさせるように
してもよい。36は楽音生成専用のハードウェアで用意
されたハード音源であり、CPU21からの指示に基づ
いて複数時分割チャンネル動作を行い、複数の楽音を発
生して出力する。なお、各ハードウェアはCPUバス2
0を介して相互に接続されている。以上の構成はパソコ
ン、ワークステーション等の構成と同等であり、本発明
の複数音源ドライバの制御方法は汎用のコンピュータに
より実行することができる。Further, reference numeral 30 denotes a waveform interface for reading out the musical tone waveform data stored in the RAM 3 at a sampling cycle, converting the data into an analog signal, and then emitting a sound from a sound system (not shown). It should be noted that the sound system may be provided with an effect circuit for imparting effects such as reverb and chorus to the tone signal. Reference numeral 36 denotes a hardware tone generator prepared by hardware dedicated to musical tone generation, performs a plurality of time-division channel operations based on an instruction from the CPU 21, and generates and outputs a plurality of musical tones. Each hardware is connected to the CPU bus 2
0 are connected to each other. The above configuration is equivalent to the configuration of a personal computer, a workstation or the like, and the control method of the multiple sound source driver of the present invention can be executed by a general-purpose computer.
【0039】また、上記ハードウェア構成において、L
AN(Local Area Network )やインターネット、電話
回線等の通信ネットワークを介してサーバコンピュータ
に接続するための通信インターフェースを設けるように
してもよい。なお、本発明にかかる複数音源ドライバの
制御用プログラムが格納されている記録媒体であるFD
DやCD−ROMを外部記憶装置として用意されている
ドライブ装置にセットして、ハードディスク26あるい
はリムーバブルディスク27に複数音源ドライバ用の制
御プログラムをインストールすることにより、上記ハー
ドウェア構成が複数音源ドライバの制御処理を実行する
ことができるようにしてもよい。In the above hardware configuration, L
A communication interface for connecting to a server computer via a communication network such as an AN (Local Area Network), the Internet, or a telephone line may be provided. An FD, which is a recording medium storing a control program for a plurality of tone generator drivers according to the present invention.
D or a CD-ROM is set in a drive device prepared as an external storage device, and a control program for a plurality of sound source drivers is installed in a hard disk 26 or a removable disk 27. Control processing may be performed.
【0040】図3は、図2に示した波形インターフェー
ス30の詳細構成を示すものであり、波形インタフェー
ス30は、マイク等から入力される入力波形をディジタ
ル信号に変換するアナログ−ディジタル変換器(AD
C)31と、ADC31により変換されたディジタルデ
ータを各サンプリング周期(1/Fs)に1サンブルづ
つ順次RAM23に書き込むようにした第1のダイレク
トメモリアクセスコントローラ(DMAC1)32と、
RAM23に設定されているバッファメモリWB1〜W
B5に格納されているフレーム単位の楽音波形データを
サンプリング周期(1/Fs)毎に1サンプルづつ順次
読み出す第2のダイレクトメモリアクセスコントローラ
(DMAC2)34と、第2のダイレクトメモリアクセ
スコントローラ34により読み出された楽音波形データ
をアナログ楽音信号に変換するディジタル−アナログ変
換器(DAC)35と、第1のダイレクトメモリアクセ
スコントローラ32および第2のダイレクトメモリアク
セスコントローラ34に与えるサンプリング周波数Fs
の周期のサンプリングパルスを発生するFs発生器33
から構成されている。なお、図1に関して説明したCO
DEC11は、波形インターフェース30のADC31
とDAC35の機能を実現する集積回路の名称である。FIG. 3 shows a detailed configuration of the waveform interface 30 shown in FIG. 2. The waveform interface 30 converts an input waveform input from a microphone or the like into a digital signal into an analog-to-digital converter (AD).
C) 31, a first direct memory access controller (DMAC1) 32 for sequentially writing digital data converted by the ADC 31 to the RAM 23 one sample at each sampling period (1 / Fs),
Buffer memories WB1 to WB set in RAM 23
The second direct memory access controller (DMAC2) 34 and the second direct memory access controller 34 sequentially read out the tone waveform data in frame units stored in B5 one sample at a time in a sampling cycle (1 / Fs). A digital-analog converter (DAC) 35 for converting the output musical sound waveform data into an analog musical sound signal, and a sampling frequency Fs to be provided to the first direct memory access controller 32 and the second direct memory access controller 34
Generator 33 which generates a sampling pulse having a period of
It is composed of Note that the CO described with reference to FIG.
The DEC 11 is an ADC 31 of the waveform interface 30.
And the name of an integrated circuit that realizes the function of the DAC 35.
【0041】RAM23には、前記したWAVE処理手
段4−1が楽音波形データを書き込むようにしており、
図示する例においては、例えば、バッファメモリWB
1,WB2,WB3,WB4には完成した1フレーム分
の楽音波形データが格納されており、バッファメモリW
B5には1フレーム分の楽音波形データを作成する途中
の楽音波形データが記憶されている。このバッファメモ
リWB1,WB2,WB3,WB4に記憶されている楽
音波形データは、Fs発生器33から発生されるサンプ
リングパルスを基準として、第2のダイレクトメモリア
クセスコントローラ34によりサンプリング周期(1/
Fs)毎に楽音波形データが1サンプルづつ順次読み出
されるようにされている。In the RAM 23, the WAVE processing means 4-1 writes musical tone waveform data.
In the illustrated example, for example, the buffer memory WB
1, WB2, WB3, and WB4 store the completed tone waveform data for one frame.
B5 stores tone waveform data in the process of creating tone waveform data for one frame. The tone waveform data stored in the buffer memories WB1, WB2, WB3, and WB4 is sampled by the second direct memory access controller 34 on the basis of the sampling pulse generated by the Fs generator 33 (1/1/2).
Each time Fs), the musical tone waveform data is sequentially read out one sample at a time.
【0042】次に、コンピュータソフトウェアを用いた
複数音源ドライバの制御方法の実施の形態を、図4以降
を参照しながら説明する。図4は、CPU21により実
行されるハード音源用のMIDIドライバ1(ハード音
源)のメインルーチンのフローチャート(HTGドライ
バメイン)である。このメインルーチンは、MIDIド
ライバ1(ハード音源)がOS2にドライバとしてイン
ストールされている場合には、OS2の立ち上げ時に、
また、統合ドライバ3にMIDIドライバ1(ハード音
源)が登録されている場合には、統合ドライバ3から当
該ドライバのオープンが指示されたときに起動される。
このメインルーチンが起動されると、ステップS10に
おいてハード音源の初期設定が行われる。この初期設定
では、音源レジスタのクリアやハード音源10の初期設
定が行われる。Next, an embodiment of a method for controlling a plurality of tone generator drivers using computer software will be described with reference to FIGS. FIG. 4 is a flowchart (HTG driver main) of a main routine of the MIDI driver 1 (hard sound source) for the hard sound source executed by the CPU 21. When the MIDI driver 1 (hard sound source) is installed as a driver in the OS 2, the main routine is executed when the OS 2 is started.
If the MIDI driver 1 (hard sound source) is registered in the integrated driver 3, the MIDI driver 1 is started when the integrated driver 3 instructs the driver to open.
When this main routine is started, initialization of the hardware sound source is performed in step S10. In this initialization, the tone generator register is cleared and the hardware tone generator 10 is initialized.
【0043】初期設定が終了すると、ステップS11に
おいて起動要因がチェックされる。起動要因としては、
以下の要因がある。 統合ドライバ3が備えるインターフェースIF10
(MIDI out API)を介してMIDIメッセージが供給さ
れたこと。すなわち、音楽ソフト1からMIDIメッセ
ージが供給されたこと。 表示器28に表示された音源設定パネルにおける入力
イベントや、キーボード29のコマンド入力イベントが
検出されたこと。また、タイマイベントが入力されたこ
と。 メインルーチン終了コマンドが入力されたこと。When the initial setting is completed, a starting factor is checked in step S11. As the activation factor,
There are the following factors: Interface IF 10 provided in integrated driver 3
(MIDI out API) is supplied with a MIDI message. That is, the MIDI message is supplied from the music software 1. An input event on the sound source setting panel displayed on the display 28 and a command input event on the keyboard 29 are detected. Also, a timer event has been input. The main routine end command has been entered.
【0044】次いで、ステップS12にて上記した起動
要因があるか否かが判定されて、起動要因〜のいず
れかが発生するまで、ステップS11の処理が繰り返し
行われる。そして、起動要因ありとステップS12にて
判定されると、ステップS13にて上記いずれの起動要
因か判定されて、その起動要因に応じた処理が行われ
る。例えば、起動要因が発生されたと検出されると、
ステップS14に進んでMIDI処理が行われ、起動要
因が発生されたと検出されると、ステップS15に進
んでその他処理が行われ、起動要因が発生されたと検
出されると、ステップS16に進んで終了処理が行われ
る。Next, in step S12, it is determined whether or not the above-mentioned activation factor exists, and the process of step S11 is repeatedly performed until any of the activation factors 1 to 7 occurs. Then, when it is determined in step S12 that there is an activation factor, it is determined in step S13 which of the above activation factors, and processing according to the activation factor is performed. For example, if it is detected that an activation factor has occurred,
Proceeding to step S14, the MIDI process is performed, and if it is detected that a start-up factor has occurred, the process proceeds to step S15, where other processes are performed. If the start-up factor is detected, the process proceeds to step S16 and ends. Processing is performed.
【0045】ステップS14にて行われるMIDI処理
では、MIDIメッセージのノートオンイベントに基づ
くノートオン処理や、ノートオフイベントに基づくノー
トオフ処理が含まれる。ノートオン処理では、ノートオ
ンイベントの入力に応じてハード音源に割り当てるチャ
ンネル割り当てが行われ、割り当てたチャンネル用とし
て設定されているレジスタに、入力されたノートオンに
応じた楽音パラメータが設定されると共に、同チャンネ
ルに対してノートオンが指示される。ハードウェア音源
の当該チャンネルでは、該ノートオンに応じて該楽音パ
ラメータに基づいた楽音の生成が開始される。なお、設
定されるパラメータは、演奏パートの選択音色、ノート
オンイベントで指定される音高、ノートオンイベントで
指定されるベロシティに応じて決定される。また、ノー
トオフ処理では、ハード音源のチャンネルの中で、ノー
トオフイベントに応じた楽音を生成中のチャンネルを探
索し、見つかったチャンネルにノートオフを指示するよ
うにする。また、プログラムチェンジが供給された際に
は、指定された演奏パートの選択音色を、プログラムチ
ェンジにより指定されている音色に変更する処理が行わ
れる。The MIDI process performed in step S14 includes a note-on process based on a note-on event of a MIDI message and a note-off process based on a note-off event. In the note-on processing, a channel is assigned to a hard tone generator in response to a note-on event input, and a tone parameter corresponding to the input note-on is set in a register set for the assigned channel. , A note-on is instructed for the same channel. In the channel of the hardware sound source, generation of a musical tone based on the musical tone parameter is started in response to the note-on. The parameters to be set are determined according to the selected timbre of the performance part, the pitch specified by the note-on event, and the velocity specified by the note-on event. In the note-off process, a channel in which a musical tone corresponding to a note-off event is being generated is searched for from among the channels of the hard sound source, and note-off is instructed to the found channel. When a program change is supplied, a process of changing the selected timbre of the specified performance part to the timbre specified by the program change is performed.
【0046】また、ステップS15にて行われるその他
処理においては、表示器28上に音源制御パネルを表示
したり、この音源制御パネル上での操作に応じて、ハー
ド音源の音色の選択処理や楽音パラメータの制御が行わ
れる。さらに、タイマイベントが入力された際には、タ
イマイベントに応じて楽音にビブラートを付与するLF
Oの制御や、エンベロープの制御等が行われる。上記し
たステップS14あるいはステップS15の処理が終了
すると、ステップS11に戻って、ステップS11ない
しステップS15の処理が繰り返し行われる。そして、
起動要因が検出されるとステップS16に分岐して、
このメインルーチンを終了させるための所定の終了処理
が実行されて、メインルーチンは終了される。Further, in the other processing performed in step S15, a sound source control panel is displayed on the display unit 28, a tone selection process of a hard sound source, a musical tone, and the like in accordance with an operation on the sound source control panel. Parameter control is performed. Further, when a timer event is input, an LF for adding vibrato to a musical tone according to the timer event is provided.
O control, envelope control, and the like are performed. When the processing of step S14 or step S15 ends, the process returns to step S11, and the processing of steps S11 to S15 is repeatedly performed. And
When the activation factor is detected, the process branches to step S16,
Predetermined termination processing for terminating the main routine is executed, and the main routine is terminated.
【0047】図5は、CPU21により実行されるソフ
ト音源として構成されているMIDIドライバ2(ソフ
ト音源)、MIDIドライバ3(ソフト音源)およびM
IDIドライバ4(ソフト音源)のメインルーチンのフ
ローチャート(STGドライバメイン)である。このメ
インルーチンは、MIDIドライバ2(ソフト音源)、
MIDIドライバ3(ソフト音源)あるいはMIDIド
ライバ4(ソフト音源)がOS2にドライバとしてイン
ストールされている場合には、OS2の立ち上げ時に起
動され、統合ドライバ3にMIDIドライバ2(ソフト
音源)、MIDIドライバ3(ソフト音源)あるいはM
IDIドライバ4(ソフト音源)の各ドライバが登録さ
れている場合には、統合ドライバ3から各ドライバのオ
ープンが指示されたときに起動される。FIG. 5 shows a MIDI driver 2 (soft sound source), a MIDI driver 3 (soft sound source), and M
5 is a flowchart (STG driver main) of a main routine of an IDI driver 4 (soft sound source). This main routine includes MIDI driver 2 (soft sound source),
If the MIDI driver 3 (soft sound source) or the MIDI driver 4 (soft sound source) is installed as a driver in the OS 2, it is started when the OS 2 is started up, and the MIDI driver 2 (soft sound source), the MIDI driver 3 (soft sound source) or M
When each driver of the IDI driver 4 (software sound source) is registered, it is activated when the integrated driver 3 instructs each driver to open.
【0048】このメインルーチンが起動されると、ステ
ップS20において音楽ソフト1により要求されるMI
DIドライバ2(ソフト音源)、MIDIドライバ3
(ソフト音源)および/またはMIDIドライバ4(ソ
フト音源)の初期設定が行われる。この初期設定では、
RAM23上の記憶領域の確保、各ドライバルーチンの
ロード、レジスタの初期設定等が行われる。When the main routine is started, the MI requested by the music software 1 in step S20.
DI driver 2 (soft sound source), MIDI driver 3
(Soft sound source) and / or MIDI driver 4 (soft sound source) are initialized. In this initial configuration,
The storage area in the RAM 23, the loading of each driver routine, the initial setting of registers, and the like are performed.
【0049】初期設定が終了すると、ステップS21に
おいて起動要因がチェックされる。起動要因としては、
以下の要因がある。 統合ドライバ3が開いたインターフェースIF11
(MIDI out API)あるいはインターフェースIF12
(MIDI out API),もしくは、OS2に準備されている
インターフェースIF2(MIDI out API)を介してMI
DIメッセージが供給されたこと。すなわち、音楽ソフ
ト1からMIDIメッセージが供給されたこと。 規格準拠のMIDIドライバ(ソフト音源)の場合
は、統合ツールライブラリ4に供えられたタイマ処理手
段4−2から楽音生成タイミングを示すトリガが供給さ
れたこと。また、規格非準拠のMIDIドライバ(ソフ
ト音源)の場合は、例えば、OS2に一定時間おきの割
り込みを発生させ、この割り込みがトリガして供給され
たこと。 表示器28に表示された音源設定パネルにおける入力
イベントや、キーボード29のコマンド入力イベントが
検出されたこと。また、タイマイベントが入力されたこ
と。 メインルーチン終了コマンドが入力されたこと。When the initial setting is completed, a starting factor is checked in step S21. As the activation factor,
There are the following factors: Interface IF11 opened by integrated driver 3
(MIDI out API) or interface IF12
(MIDI out API) or via the interface IF2 (MIDI out API) prepared in OS2.
DI message has been supplied. That is, the MIDI message is supplied from the music software 1. In the case of the standard-compliant MIDI driver (soft sound source), a trigger indicating the musical sound generation timing is supplied from the timer processing means 4-2 provided in the integrated tool library 4. In the case of a non-standard compliant MIDI driver (soft sound source), for example, an interrupt is generated in the OS 2 at regular intervals, and this interrupt is triggered and supplied. An input event on the sound source setting panel displayed on the display 28 and a command input event on the keyboard 29 are detected. Also, a timer event has been input. The main routine end command has been entered.
【0050】次いで、ステップS22にて上記した起動
要因があるか否かが判定されて、起動要因〜のいず
れかが発生するまで、ステップS21の処理が繰り返し
行われる。そして、起動要因ありとステップS22にて
判定されると、ステップS23にて上記いずれの起動要
因か判定されて、その起動要因に応じた処理が行われ
る。例えば、起動要因が発生されたと検出されると、
ステップS24に進んでMIDI処理が行われ、起動要
因が発生されたと検出されると、ステップS25に進
んで楽音生成処理が行われ、起動要因が発生されたと
検出されるとステップS26に進んでその他処理が行わ
れ、起動要因が発生されたと検出されると、ステップ
S27に進んで終了処理が行われる。Next, in step S22, it is determined whether or not the above-mentioned activation factor exists, and the process in step S21 is repeatedly performed until any of the activation factors 1 to 7 occurs. If it is determined in step S22 that there is an activation factor, it is determined in step S23 which of the above activation factors, and a process corresponding to the activation factor is performed. For example, if it is detected that an activation factor has occurred,
Proceeding to step S24, the MIDI process is performed, and when it is detected that the activation factor has been generated, the process proceeds to step S25, where the tone generation process is performed. When the process is performed and it is detected that the activation factor has occurred, the process proceeds to step S27, and the termination process is performed.
【0051】ここで、インターフェースIF11,イン
ターフェースIF12、インターフェース2を使用する
場合、音楽ソフト1ないし統合ドライバ3は、その使用
に先立って各インターフェースに対するオープンを指示
しなければならない。例えば、統合ドライバ3が規格準
拠MIDIドライバ2,3(ソフト音源)のインターフ
ェースIF11,IF12のオープンを指示したとき、
そのインターフェースIF11,IF12がオープンさ
れ、同時に各MIDIドライバで生成する楽音波形デー
タの出力先としてストリーム1,2がそれぞれオープン
される。また、統合ドライバ3が、規格非準拠MIDI
ドライバ4(ソフト音源)のインターフェースIF2の
オープンを指示したとき、そのインターフェースIF2
がオープンされ、楽音波形データの出力先としてインタ
ーフェースIF3が同時にオープンされる。そして、オ
ープンされたインターフェースIF11,IF12,I
F2を通じてMIDIメッセージが供給され、起動要因
が発生する。Here, when using the interface IF11, the interface IF12, and the interface 2, the music software 1 or the integrated driver 3 must instruct opening of each interface prior to use. For example, when the integrated driver 3 instructs to open the interfaces IF11 and IF12 of the standard-compliant MIDI drivers 2 and 3 (soft sound source),
The interfaces IF11 and IF12 are opened, and at the same time, the streams 1 and 2 are opened as output destinations of musical tone waveform data generated by each MIDI driver. In addition, the integrated driver 3 is a non-compliant MIDI
When instructing the driver 4 (soft sound source) to open the interface IF2, the interface IF2
Is opened, and the interface IF3 is simultaneously opened as the output destination of the musical tone waveform data. Then, the opened interfaces IF11, IF12, I
A MIDI message is supplied through F2, and an activation factor occurs.
【0052】ステップS24にて行われるMIDI処理
では、MIDIメッセージのノートオンイベントに基づ
くノートオン処理や、ノートオフイベントに基づくノー
トオフ処理が含まれる。ノートオン処理では、ノートオ
ンイベントの入力に応じてソフト音源に割り当てるチャ
ンネル割り当てが行われ、割り当てたチャンネル用とし
て設定されているレジスタに、入力されたノートオンに
応じた楽音パラメータが設定されると共に、同チャンネ
ルに対してノートオンが指示される。ソフト音源の当該
チャンネルでは、該ノートオンに応じて該楽音パラメー
タに基づいた楽音の生成が開始される。なお、設定され
るパラメータは、演奏パートの選択音色、ノートオンイ
ベントで指定される音高、ノートオンイベントで指定さ
れるベロシティに応じて決定される。また、ノートオフ
処理では、ソフト音源のチャンネルの中で、ノートオフ
イベントに応じた楽音を生成中のチャンネルを探索し、
見つかったチャンネルにノートオフを指示するようにす
る。また、プログラムチェンジが供給された際には、指
定された演奏パートの選択音色を、プログラムチェンジ
により指定されている音色に変更する処理が行われる。The MIDI process performed in step S24 includes a note-on process based on a note-on event of a MIDI message and a note-off process based on a note-off event. In the note-on process, a channel is assigned to a soft tone generator in response to a note-on event input, and a tone parameter corresponding to the input note-on is set in a register set for the assigned channel. , Note-on is instructed for the same channel. In the channel of the soft sound source, generation of a musical tone based on the musical tone parameter is started in response to the note-on. The parameters to be set are determined according to the selected timbre of the performance part, the pitch specified by the note-on event, and the velocity specified by the note-on event. In the note-off process, a channel that is generating a musical tone corresponding to the note-off event is searched for from among the channels of the soft sound source,
Instruct the found channel to note-off. When a program change is supplied, a process of changing the selected timbre of the specified performance part to the timbre specified by the program change is performed.
【0053】また、ステップS25にて行われる楽音生
成処理においては、タイマ処理手段4−2ないしOS2
から供給されたトリガのタイミングで、複数サンプリン
グ周期分の楽音波形データの生成を開始する。この際
の、楽音波形データのサンプリング周波数は、当該ソフ
ト音源において決定される所定のサンプリング周波数F
sとされる。また、単独で起動される規格非準拠のMI
DIドライバ4(ソフト音源)の場合は、さらに、フレ
ームを単位とする生成された楽音波形データの収集処理
が行われ、フレームが完成するとインタフェースIF3
を通じて完成されたフレームのWAVE処理手段4−1
への受け渡しの制御も行われる。さらにまた、統合ドラ
イバ3から起動される規格準拠のMIDIドライバ2
(ソフト音源)およびMIDIドライバ3(ソフト音
源)の場合は、生成された楽音波形データのフレームを
単位とする収集処理を行うことなく、そのまま統合ドラ
イバ3のWAVE処理手段4にストリーム1あるいはス
トリーム2を通じて楽音波形データが渡される。In the tone generation processing performed in step S25, the timer processing means 4-2 through OS2
The generation of musical tone waveform data for a plurality of sampling cycles is started at the timing of the trigger supplied from. At this time, the sampling frequency of the musical tone waveform data is a predetermined sampling frequency F determined by the soft sound source.
s. In addition, a non-standard compliant MI
In the case of the DI driver 4 (soft sound source), the generated sound waveform data is further collected on a frame-by-frame basis.
Processing means 4-1 for a frame completed through
The control of the transfer to the server is also performed. Furthermore, a standard-compliant MIDI driver 2 started from the integrated driver 3
In the case of the (soft sound source) and the MIDI driver 3 (soft sound source), the WAVE processing means 4 of the integrated driver 3 outputs the stream 1 or the stream 2 Musical tone waveform data is passed through
【0054】ステップS26にて行われるその他処理に
おいては、表示器28上に音源制御パネルを表示した
り、この音源制御パネル上でのキーボードあるいはマウ
スの操作に応じて、ソフト音源の音色の選択処理や楽音
パラメータの制御が行われる。さらに、タイマイベント
が入力された際には、タイマイベントに応じて楽音にビ
ブラートを付与するLFOの制御や、エンベロープの制
御等が行われる。上記したステップS24、ステップS
25あるいはステップS26の処理が終了すると、ステ
ップS21に戻って、ステップS21ないしステップS
26の処理が繰り返し行われる。そして、起動要因が
検出されるとステップS27に分岐して、このメインル
ーチンを終了させるための所定の終了処理が実行され
て、メインルーチンは終了される。In the other processing performed in step S26, a sound source control panel is displayed on the display unit 28, and the tone of the soft sound source is selected according to the operation of the keyboard or the mouse on the sound source control panel. And tone parameters are controlled. Further, when a timer event is input, control of an LFO for adding vibrato to a musical tone according to the timer event, control of an envelope, and the like are performed. Steps S24 and S described above
When the process of step S25 or step S26 is completed, the process returns to step S21 and returns to steps S21 to S21.
Step 26 is repeated. When the activation factor is detected, the process branches to step S27, where a predetermined end process for terminating the main routine is executed, and the main routine is terminated.
【0055】図6は、CPU21により実行される統合
ドライバのメインルーチンのフローチャート(統合ドラ
イバメイン処理)である。統合ドライバはOS2にMI
DIドライバとしてインストールされており、このメイ
ンルーチンはOS2の立ち上げ時に起動される。この統
合ドライバのメインルーチンが起動されると、ステップ
S30にて初期設定が行われ、次いでステップS31に
てオンするMIDIドライバがあるか否かが判定され
る。オンするMIDIドライバとしては、音楽ソフト1
から要求されるMIDIドライバをオープンしたり、前
回起動したMIDIドライバをオープンするようにす
る。ここで、オープンするMIDIドライバがあると判
定されると、ステップS32以降に進んで、MIDIド
ライバオープン処理が行われる。FIG. 6 is a flowchart of the main routine of the integrated driver executed by the CPU 21 (integrated driver main processing). The integrated driver uses MI for OS2.
It is installed as a DI driver, and this main routine is started when the OS 2 is started. When the main routine of the integrated driver is started, initialization is performed in step S30, and then it is determined in step S31 whether there is a MIDI driver to be turned on. As the MIDI driver to be turned on, music software 1
Open the MIDI driver requested by the user or open the MIDI driver started last time. Here, if it is determined that there is a MIDI driver to be opened, the process proceeds to step S32 and thereafter, and a MIDI driver open process is performed.
【0056】MIDIドライバオープン処理におけるス
テップS32では、オープンするMIDIドライバの種
類が判定されて、判定された種類のMIDIドライバが
オープンされるようになる。例えば、ステップS32に
てハード音源用のMIDIドライバと判定されると、ス
テップS33に進んでMIDIドライバ1(ハード音
源)が探索されて、MIDIドライバ1(ハード音源)
を開く処理(図4参照)が行われる。また、ステップS
32にて規格準拠のソフト音源のMIDIドライバと判
定されると、ステップS34に進んでMIDIドライバ
2(ソフト音源)やMIDIドライバ3(ソフト音源)
が探索されて、MIDIドライバ2(ソフト音源)やM
IDIドライバ3(ソフト音源)を開く処理(図5参
照)が行われる。さらに、ステップS32にて規格非準
拠のソフト音源のMIDIドライバと判定されると、ス
テップS35に進んでMIDIドライバ4(ソフト音
源)が探索されて、MIDIドライバ4(ソフト音源)
を使用するための準備が行われる。なお、各MIDIド
ライバのオープン時に、それぞれ対応するインターフェ
ースIF11,IF12ないしインターフェースIF2
のオープンを同時に行うようにしても良い。In step S32 of the MIDI driver open process, the type of the MIDI driver to be opened is determined, and the determined type of MIDI driver is opened. For example, if it is determined in step S32 that the MIDI driver is a MIDI driver for a hardware tone generator, the process proceeds to step S33, where the MIDI driver 1 (hard tone generator) is searched for, and the MIDI driver 1 (hard tone generator) is searched.
Is performed (see FIG. 4). Step S
If it is determined in step 32 that the MIDI driver is a MIDI driver for a software tone generator conforming to the standard, the process proceeds to step S34, and the MIDI driver 2 (soft tone generator) or the MIDI driver 3 (soft tone generator)
Is searched, and MIDI driver 2 (soft sound source) and M
The process of opening the IDI driver 3 (soft sound source) (see FIG. 5) is performed. Further, if it is determined in step S32 that the MIDI driver is a MIDI driver of a non-compliant software tone generator, the process proceeds to step S35, where the MIDI driver 4 (soft tone generator) is searched for, and the MIDI driver 4 (soft tone generator) is searched.
Preparations for using are made. When each MIDI driver is opened, the corresponding interface IF11, IF12 or interface IF2
May be opened at the same time.
【0057】上記したステップS31ないしステップS
35の処理が繰り返し行われることにより、オンするす
べてのMIDIドライバのオープン処理が行われるよう
になる。したがって、この際にはステップS31におい
てNOと判定されてステップS36に進むようになる。
ステップS36では起動要因がチェックされる。起動要
因としては、以下の要因がある。 OS2に準備されているインターフェースIF1(MI
DI out API)を介してMIDIメッセージが供給された
こと。すなわち、音楽ソフト1からMIDIメッセージ
が供給されたこと。 統合ツールライブラリ4に備えられたタイマ処理手段
4−2にトリガを送出するトリガタイマ割り込みがかけ
られたこと。 MIDIドライバから生成された楽音波形データを受
け取ったこと。 表示器28に表示された音源設定パネルにおける入力
イベントや、キーボード29のコマンド入力イベントが
検出されたこと。 メインルーチン終了コマンドが入力されたこと。Steps S31 to S described above
By repeating the processing of 35, the open processing of all the MIDI drivers to be turned on is performed. Therefore, in this case, NO is determined in step S31, and the process proceeds to step S36.
In step S36, the activation factor is checked. The starting factors include the following factors. Interface IF1 (MI
MIDI message was supplied via DI out API). That is, the MIDI message is supplied from the music software 1. A trigger timer interrupt for sending a trigger has been issued to the timer processing means 4-2 provided in the integrated tool library 4. Receiving musical tone waveform data generated from the MIDI driver. An input event on the sound source setting panel displayed on the display 28 and a command input event on the keyboard 29 are detected. The main routine end command has been entered.
【0058】次いで、ステップS36にて上記した起動
要因があるか否かが判定されて、起動要因〜のいず
れかが発生するまで、ステップS36の処理が繰り返し
行われる。そして、起動要因ありとステップS37にて
判定されると、ステップS38にて上記いずれの起動要
因か判定されて、その起動要因に応じた処理が行われ
る。例えば、起動要因が発生されたと検出されると、
ステップS39に進んでMIDI処理が行われ、起動要
因が発生されたと検出されると、ステップS40に進
んでトリガタイマ割込処理が行われ、起動要因が発生
されたと検出されるとステップS41に進んでWAVE
処理が行われ、起動要因が発生されたと検出される
と、ステップS42に進んでその他処理が行われ、起動
要因が発生されたと検出されると、ステップS43に
進んで終了処理が行われる。ここで、インターフェース
IF1を使用する場合、音楽ソフト1は、その使用に先
立って該インターフェースに対するオープンを指示しな
ければならない。さらに、インターフェースIF1がオ
ープンされたとき、統合ドライバ3はインターフェース
IF1から入力するMIDIメッセージの出力先として
インターフェースIF11,IF12,IF2のオープ
ン指示を行う。オープンされたインターフェースIF1
を通じてMIDIメッセージが供給され起動要因が発
生する。Next, in step S36, it is determined whether or not the above-mentioned activation factor exists, and the process of step S36 is repeatedly performed until any of the activation factors 1 to 7 occurs. Then, if it is determined in step S37 that there is a start factor, it is determined in step S38 which of the above start factors, and processing according to the start factor is performed. For example, if it is detected that an activation factor has occurred,
Proceeding to step S39, the MIDI process is performed, and when it is detected that a start factor has been generated, the process proceeds to step S40, where a trigger timer interrupt process is performed. When it is detected that a start factor has been generated, the process proceeds to step S41. WAVE
When the process is performed and it is detected that the activation factor has been generated, the process proceeds to step S42 to perform other processes. When it is detected that the activation factor has been generated, the process proceeds to step S43 and the termination process is performed. Here, when using the interface IF1, the music software 1 must instruct opening to the interface before using the interface. Further, when the interface IF1 is opened, the integrated driver 3 issues an instruction to open the interfaces IF11, IF12, and IF2 as the output destination of the MIDI message input from the interface IF1. Opened interface IF1
A MIDI message is supplied through the interface to generate an activation factor.
【0059】ステップS39にて行われるMIDI処理
では、プログラムチェンジ等のMIDIメッセージにか
かる音色切換イベントが供給された際に、図8に示す音
色切換イベント処理が起動されて実行される。また、M
IDIメッセージにかかるノートオンイベントやノート
オフイベントが供給された際には、図9に示すその他イ
ベント処理が起動されて実行される。さらに、統合ドラ
イバにおいては供給されたMIDIメッセージを、指定
されたMIDIドライバに振り分ける処理を行ってお
り、この処理に関してMIDIメッセージにかかるイベ
ントデータを送出するタイミングとなったときは、図1
0に示すタイマd割込処理が起動されて実行される。In the MIDI processing performed in step S39, when a timbre switching event relating to a MIDI message such as a program change is supplied, the timbre switching event processing shown in FIG. 8 is started and executed. Also, M
When a note-on event or a note-off event related to the IDI message is supplied, other event processing shown in FIG. 9 is started and executed. Further, in the integrated driver, a process of distributing the supplied MIDI message to the designated MIDI driver is performed, and when it is time to send event data relating to the MIDI message with respect to this process, FIG.
The timer d interrupt processing indicated by 0 is started and executed.
【0060】MIDIメッセージにおいてプログラムチ
ェンジやバンクセレクトが供給されると、図8に示す音
色切換イベント処理が起動され、ステップS70にてM
IDIメッセージにかかるプログラムチェンジがPCと
されてレジスタに入れられ、MIDIメッセージにかか
るバンクセレクトがBSとされてレジスタに入れられ、
プログラムチェンジおよびバンクセレクトにかかるMI
DIチャンネル(MIDIch)番号がpとされてレジ
スタに入れられる。次いで、ステップS71にてプログ
ラムチェンジPCとバンクセレクトBSにより音色マッ
プ上で指定される音色に対応するMIDIドライバが判
定され、判定されたMIDIドライバ名がD(p)とさ
れてレジスタに入れられる。ここで、前記音色マップに
は、プログラムチェンジPCとバンクセレクトBSで指
定される音色に最適な音源(=最適なMIDIドライ
バ)と、最適な音源がない場合に使用される代替音源
(=代替MIDIドライバ)を示す情報が記憶されてい
る。これにより、指定された音色のソフト音源がない場
合に、その音色の演奏を代替音源とされた他のソフト音
源あるいはハード音源を使用して行うことができるよう
になる。また、16MIDIチャンネル分のデータD
(p)には、それぞれ、各パートの楽音生成に使用され
るMIDIドライバの名前が記憶される。When a program change or a bank select is supplied in the MIDI message, the tone color switching event process shown in FIG.
The program change related to the IDI message is set to PC and stored in a register, and the bank select related to the MIDI message is set to BS and stored in a register.
MI related to program change and bank select
The DI channel (MIDICH) number is set to p and stored in the register. Next, in step S71, the MIDI driver corresponding to the timbre specified on the timbre map is determined by the program change PC and the bank select BS, and the determined MIDI driver name is set to D (p) and stored in the register. Here, the tone color map includes a sound source optimal for the tone specified by the program change PC and the bank select BS (= optimal MIDI driver), and a substitute tone source used when there is no optimal tone source (= alternative MIDI driver). Driver) is stored. As a result, when there is no software tone source of the designated tone color, the performance of the tone tone can be performed using another soft tone source or a hard tone source set as the alternative tone source. Data D for 16 MIDI channels
(P) stores the name of the MIDI driver used for generating the musical sound of each part.
【0061】そして、ステップS72に進んでMIDI
ドライバD(p)が統合ドライバに登録されたMIDI
ドライバ内に存在しているか否かが判定される。MID
IドライバD(p)が統合ドライバに登録されている
と、ステップS72ではYESと判定されてステップS
74に進むが、登録されていない場合は、ステップS7
2においてNOと判定されてステップS73に分岐す
る。分岐したステップS73では登録されていないMI
DIドライバD(p)を代替することのできるMIDI
ドライバが指定されてそのMIDIドライバ名がD
(p)とされてレジスタに入れられる。次いで、ステッ
プS74に進んで、MIDIドライバD(p)がオンさ
れておらず、新規にオンするMIDIドライバか否かが
判定される。ここで、レジスタに入れられたドライバ名
がD(p)のMIDIドライバがオープンされていない
と、ステップS74にてYESと判定されてステップS
75に分岐してMIDIドライバD(p)がオープンさ
れ、ステップS76に進む。また、既にMIDIドライ
バD(p)がオープンされている場合は、ステップS7
5はスキップされてステップS76に進む。Then, the process proceeds to a step S72, wherein the MIDI
MIDI in which driver D (p) is registered as an integrated driver
It is determined whether it exists in the driver. MID
If the I driver D (p) is registered in the integrated driver, YES is determined in step S72, and step S72 is performed.
Proceed to 74, but if not registered, step S7
It is determined NO in 2 and the process branches to step S73. The MI that has not been registered in the branched step S73
MIDI that can replace DI driver D (p)
The driver is specified and its MIDI driver name is D
(P) is entered in the register. Next, in step S74, it is determined whether the MIDI driver D (p) is not turned on and the MIDI driver is a newly turned on MIDI driver. Here, if the MIDI driver whose driver name is D (p) is not open in the register, YES is determined in the step S74, and the step S74 is performed.
The flow branches to 75 to open the MIDI driver D (p), and the flow advances to step S76. If the MIDI driver D (p) is already open, step S7
Step 5 is skipped and the process proceeds to step S76.
【0062】ステップS76では、オープンされている
MIDIドライバの中に使用していないMIDIドライ
バが存在しているか否かが判定され、不使用のMIDI
ドライバがある場合は、ステップS77にて不使用のM
IDIドライバをクローズし、ステップS78に進む。
ここで、OS2にインストールされているMIDIドラ
イバのクローズはできないので、ステップS77ではそ
れ以外のMIDIドライバについてのみクローズを行
う。また、不使用のMIDIドライバがないと判定され
た場合は、ステップS78に進んで上記ステップS72
ないしステップS77の処理内容に応じてMIDIドラ
イバの登録マップ中の各MIDIドライバの動作中/停
止中を示すデータを更新する。次いで、ステップS79
にてMIDIドライバD(p)に割り当てられた送出バ
ッファにレジスタに入れられているプログラムチェンジ
PCとバンクセレクトBSの内容が書き込まれて、音色
切換イベント処理は終了される。これにより、演奏中に
おいてもプログラムチェンジおよびバンクセレクトによ
りMIDIドライバの切り換えを行うことができると共
に、その時々に使用されているMIDIドライバだけが
オープンされ、RAM23を効率よく使用することがで
きる。In step S76, it is determined whether or not there is an unused MIDI driver among the opened MIDI drivers.
If there is a driver, the unused M
Close the IDI driver and proceed to step S78.
Here, since the MIDI driver installed in the OS 2 cannot be closed, only the other MIDI drivers are closed in step S77. If it is determined that there is no unused MIDI driver, the process proceeds to step S78, and the process proceeds to step S72.
In addition, data indicating that each MIDI driver is operating / stopped in the MIDI driver registration map is updated in accordance with the processing content of step S77. Next, step S79
Then, the contents of the program change PC and the bank select BS stored in the registers are written in the transmission buffer allocated to the MIDI driver D (p), and the tone color switching event processing is terminated. Thus, the MIDI driver can be switched by the program change and the bank select even during the performance, and only the MIDI driver used at that time is opened, so that the RAM 23 can be used efficiently.
【0063】また、ステップS39にいて行われるMI
DI処理で、音色切換イベント以外のMIDIメッセー
ジが供給された際には、図9に示すMIDI処理におけ
るその他イベント処理が起動され、ステップS80にて
MIDIメッセージにかかるイベントデータがEDとさ
れてレジスタに入れられ、そのイベントデータのMID
Iチャンネル(MIDIch)番号がpとされてレジス
タに入れられる。ここで、音色切換イベント以外のMI
DIメッセージとは、ノートオン、ノートオフ、ピッチ
ベンド、アフタタッチ等のメッセージである。次いで、
ステップS81にてMIDIチャンネル番号pのMID
IドライバD(p)の送出バッファにイベントデータE
Dが書き込まれて、その他イベント処理は終了される。The MI performed in step S39
When a MIDI message other than the tone switching event is supplied in the DI processing, the other event processing in the MIDI processing shown in FIG. 9 is started, and in step S80, the event data relating to the MIDI message is set to ED and stored in the register. MID of the event data entered
The I channel (MIDICH) number is set to p and stored in the register. Here, MI other than the tone color switching event
The DI message is a message such as note on, note off, pitch bend, and after touch. Then
In step S81, the MID of the MIDI channel number p
Event data E is stored in the transmission buffer of the I driver D (p).
D is written, and the other event processing ends.
【0064】さらに、音色切換イベント処理やその他イ
ベント処理において設定されたMIDIドライバD
(p)の送出バッファにプログラムチェンジPC、バン
クセレクトBS、および、イベントデータEDが書き込
まれた後に、送出バッファに格納されたデータをそれぞ
れ遅延させてMIDIドライバD(p)に向けて送出す
るようにされる。この送出タイミングは、設定されたM
IDIドライバD(p)にデータを供給してから対応す
る楽音波形が出力されるまでの演算遅延時間に基づく遅
延時間とされ、複数のMIDIドライバから送出される
生成された楽音波形データの時間が揃うように、演算遅
延時間の大きいMIDIドライバには短い遅延時間です
ぐに送出するようにされ(送出バッファにおける送出遅
延時間は短い)、演算遅延時間の小さいMIDIドライ
バには所定時間遅延して送出するようにされる。送出バ
ッファに各データを格納したタイミングから、対応する
MIDIドライバD(p)に応じて設定された遅延時間
が経過したタイミングでタイマd割込が発生する。Further, the MIDI driver D set in the tone color switching event processing and other event processing.
After the program change PC, the bank select BS, and the event data ED are written in the transmission buffer of (p), the data stored in the transmission buffer is delayed and transmitted to the MIDI driver D (p). To be. This transmission timing is based on the set M
A delay time based on a calculation delay time from when data is supplied to the IDI driver D (p) to when a corresponding musical sound waveform is output, the time of the generated musical sound waveform data transmitted from a plurality of MIDI drivers is set. The MIDI driver with a large operation delay time is sent immediately with a short delay time (the transmission delay time in the transmission buffer is short), and the MIDI driver with a small operation delay time is sent after a predetermined delay. To be. From the timing when each data is stored in the transmission buffer, a timer d interrupt occurs at a timing when a delay time set according to the corresponding MIDI driver D (p) has elapsed.
【0065】タイマd割込が発生されると、図10に示
すタイマd割込処理が起動され、ステップS90にてタ
イマd割込で指定されているMIDIドライバ名がdと
される。次いで、ステップS91にてMIDIドライバ
dに割り当てられている送出バッファから遅延されたイ
ベントデータEDが取り出され、ステップS92にて取
り出された遅延されたイベントデータEDをMIDIド
ライバdに送出する。ステップS39の各MIDI処理
において、入力するMIDIメッセージをMIDIドラ
イバ毎に用意された送出バッファに書き込み、タイマd
割り込み処理で対応するMIDIドライバに送出するこ
とにより、MIDIメッセージの各MIDIドライバに
対する振り分けを行うことができる。この際、送出バッ
ファに書き込まれる1つ1つのデータを、各送出バッフ
ァ毎に設定された遅延時間分遅延してから送出するよう
になっているため、MIDIドライバ毎の演算遅延時間
の相違による各MIDIドライバの楽音波形データ間の
時間ずれを解消することができる。When the timer d interrupt is generated, the timer d interrupt processing shown in FIG. 10 is started, and in step S90, the MIDI driver name specified by the timer d interrupt is set to d. Next, in step S91, the delayed event data ED is extracted from the transmission buffer assigned to the MIDI driver d, and in step S92, the extracted event data ED is transmitted to the MIDI driver d. In each MIDI process of step S39, an input MIDI message is written into a transmission buffer prepared for each MIDI driver, and a timer d
By transmitting the MIDI message to the corresponding MIDI driver in the interrupt processing, the MIDI message can be distributed to each MIDI driver. At this time, each data written to the transmission buffer is transmitted after being delayed by a delay time set for each transmission buffer. The time lag between the musical tone waveform data of the MIDI driver can be eliminated.
【0066】図6に示す統合ドライバのメインルーチン
に戻り、統合ツールライブラリ4に備えられたタイマ処
理手段4−2にトリガを送出するトリガタイマ割り込み
がかけられた際には、ステップS40にて図11に示す
トリガタイマ割込処理が起動される。トリガタイマ割込
処理が起動されると、ステップS100にてかけられた
トリガタイマ割り込みのタイミングでトリガをかけるべ
き規格準拠のMIDIドライバ(ソフト音源)にトリガ
が送出される。このMIDIドライバは、複数登録され
ているMIDIドライバの内の最優先のMIDIドライ
バとされる。この際の最優先のMIDIドライバは、複
数のMIDIドライバ(ソフト音源)のうち楽音波形デ
ータの生成が最も遅れているMIDIドライバとされ
る。また同程度の遅れの複数MIDIドライバ(ソフト
音源)がある場合には、重要なパート(例えば、ソロパ
ート)が割り当てられているMIDIドライバとされ
る。Returning to the main routine of the integrated driver shown in FIG. 6, when a trigger timer interrupt for sending a trigger to the timer processing means 4-2 provided in the integrated tool library 4 is interrupted, in FIG. Is started. When the trigger timer interrupt processing is started, a trigger is transmitted to a standard-compliant MIDI driver (soft sound source) to be triggered at the timing of the trigger timer interrupt performed in step S100. This MIDI driver is the highest priority MIDI driver among a plurality of registered MIDI drivers. At this time, the MIDI driver with the highest priority is the MIDI driver that has the slowest generation of tone waveform data among a plurality of MIDI drivers (soft sound sources). If there are a plurality of MIDI drivers (soft sound sources) with the same delay, the MIDI driver is assigned an important part (for example, a solo part).
【0067】次いで、ステップS101にて、他のMI
DIドライバにも当該タイミングでトリガを送出するか
否かが、その時点の各MIDIドライバ(ソフト音源)
の楽音波形データ生成状況と、他のアプリケーションも
含めたCPU21の使用率に基づいて決定される。そし
て、他のMIDIドライバにもトリガを送出すると判定
された場合には、ステップS100に戻り、その時点に
おいて最優先のMIDIドライバにトリガが送出され
る。ステップS101では、各MIDIドライバ(ソフ
ト音源)の楽音波形データの生成が十分である場合、ま
たは、十分ではないが他のアプリケーションを先に実行
する必要がある場合にトリガを送出しないと決定され、
このトリガタイマ割込処理を終了する。なお、トリガタ
イマ割込処理の起動周期は、例えば10msとされる。Next, in step S101, another MI
Whether or not a trigger is sent to the DI driver at the timing is determined by each MIDI driver (soft sound source) at that time.
Is determined on the basis of the musical tone waveform data generation status and the usage rate of the CPU 21 including other applications. If it is determined that a trigger is to be sent to another MIDI driver, the process returns to step S100, and the trigger is sent to the highest priority MIDI driver at that time. In step S101, it is determined that the trigger is not transmitted when generation of musical tone waveform data of each MIDI driver (soft sound source) is sufficient, or when it is not sufficient but it is necessary to execute another application first,
This trigger timer interrupt processing ends. The activation cycle of the trigger timer interrupt processing is, for example, 10 ms.
【0068】図6に示す統合ドライバのメインルーチン
に戻り、統合ドライバがMIDIドライバにより生成さ
れた楽音波形データを受け取った際には、ステップS4
1にて図12に示すWAVE処理が起動される。ここ
で、MIDIドライバが規格準拠のソフト音源である場
合は、統合ドライバ3はストリーム1,2を通じて楽音
波形データを受け取り、規格非準拠のソフト音源である
場合は、インターフェースIF3を通じて楽音波形デー
タを受け取る。WAVE処理が起動されると、ステップ
S110にて受け取った楽音波形データがWとしてレジ
スタに入れられると共に、楽音波形データを生成した指
定されているMIDIドライバ名がdとされてレジスタ
に入れられる。次いで、ステップS111にて受け取っ
た楽音波形データのサンプリング周波数が規定される所
定のサンプリング周波数Fsと異なる場合には、それを
該サンプリング周波数Fsに変換する。さらに、受け取
った楽音波形データと、他のMIDIドライバから生成
されて受け取られている楽音波形データとの加算が行わ
れる。Returning to the main routine of the integrated driver shown in FIG. 6, when the integrated driver receives the tone waveform data generated by the MIDI driver, step S4 is performed.
At 1, the WAVE process shown in FIG. 12 is started. Here, if the MIDI driver is a standard-compliant software tone generator, the integrated driver 3 receives the tone waveform data via the streams 1 and 2, and if the MIDI driver is a non-standard-compliant software tone source, the integrated driver 3 receives the tone waveform data via the interface IF3. . When the WAVE processing is started, the tone waveform data received in step S110 is entered in the register as W, and the MIDI driver name that has generated the tone waveform data is entered in the register as d. Next, if the sampling frequency of the received musical tone waveform data is different from the specified predetermined sampling frequency Fs in step S111, it is converted to the sampling frequency Fs. Further, the received musical tone waveform data is added to the musical tone waveform data generated and received from another MIDI driver.
【0069】この加算は、前回の当該MIDIドライバ
により生成された楽音波形データの位置SP(d)以降
に、受け取った楽音波形データを足し込むことにより行
われる。すなわち、前回の当該MIDIドライバにより
生成された楽音波形データのバッファメモリ上の最終の
位置をSP(d)としたときに、位置SP(d)以降の
バッファメモリの位置に受け取った楽音波形データを書
き込むのであるが、当該位置に既に他のMIDIドライ
バにより生成された楽音波形データが書き込まれている
場合には、書き込まれている楽音波形データと加算した
後に当該位置に書き込むようにする。これにより、複数
のMIDIドライバにおいて生成された楽音波形データ
の加算を行うことができる。This addition is performed by adding the received tone waveform data after the position SP (d) of the tone waveform data generated by the previous MIDI driver. That is, when the last position of the tone waveform data generated by the previous MIDI driver in the buffer memory is SP (d), the tone waveform data received at the position in the buffer memory after the position SP (d) is stored. When the musical tone waveform data generated by another MIDI driver is already written in the position, the data is added to the written musical tone waveform data and then written in the position. This makes it possible to add musical tone waveform data generated by a plurality of MIDI drivers.
【0070】続けて、ステップS112にて前回の当該
MIDIドライバにより生成された楽音波形データの最
終の位置SP(d)に受け取った楽音波形データの進行
量が加算されて、MIDIドライバdにおける新たな楽
音波形データの最終の位置SP(d)とされる。なお、
この楽音波形データの最終の位置SP(d)はMIDI
ドライバごとに準備されており、MIDIドライバごと
に前記した処理が行われる。ステップS112の処理が
終了すると、ステップS113に進んで各ストリームの
進行状況がバッファメモリに格納されている楽音波形の
最終の位置SP(d)からチェックされる。このチェッ
クはMIDIドライバへのトリガ送出の優先順位を制御
するために行われ、楽音波形データの生成が遅れている
MIDIドライバの優先度が高くされる。この結果、前
記したトリガタイマ割込処理において、トリガ送出が楽
音波形データの生成が遅れているMIDIドライバに優
先的に行われるようになる。なお、ステップS113の
処理は規格準拠のMIDIドライバ(ソフト音源)が対
象であり、規格非準拠のMIDIドライバについては処
理されない。Subsequently, in step S112, the progress amount of the received tone waveform data is added to the last position SP (d) of the tone waveform data generated by the previous MIDI driver, and a new value in the MIDI driver d is added. This is the final position SP (d) of the musical tone waveform data. In addition,
The final position SP (d) of this tone waveform data is MIDI
The processing is prepared for each driver, and the above-described processing is performed for each MIDI driver. When the process of step S112 is completed, the process proceeds to step S113, where the progress of each stream is checked from the last position SP (d) of the musical tone waveform stored in the buffer memory. This check is performed in order to control the priority of trigger transmission to the MIDI driver, and the priority of the MIDI driver whose generation of musical tone waveform data is delayed is increased. As a result, in the above-described trigger timer interrupt processing, the trigger transmission is preferentially performed to the MIDI driver whose generation of the musical tone waveform data is delayed. Note that the process in step S113 is for a standard-compliant MIDI driver (soft sound source), and is not processed for a standard-compliant MIDI driver.
【0071】次いで、ステップS114にて作成中のフ
レームにおいて1フレーム分の楽音波形データが使用中
のすべてのMIDIドライバにおいて生成されたか否か
が判定され、生成されている場合には1フレーム完成さ
れたとしてステップS115に分岐する。そして、ステ
ップS115にて完成した1フレーム分の楽音波形デー
タが、インターフェースIF4を通じてWAVEドライ
バに渡されて再生予約される。また、1フレーム分の楽
音波形データが完成していない場合には、そのままWA
VE処理が終了される。この際には、次の楽音波形デー
タが受け取られて、WAVE処理が再起動され、1フレ
ーム分の楽音波形データの生成処理が再度行われるが、
1フレーム分の楽音波形データが完成するまでは、ステ
ップS115の処理はスキップされる。なお、WAVE
ドライバに再生予約された楽音波形データは、サンプリ
ング周期(1/Fs)毎にバッファメモリから読み出さ
れて再生されるようになる。Next, in step S114, it is determined whether or not one frame of musical tone waveform data has been generated in all the MIDI drivers in use in the frame being created, and if so, one frame is completed. If so, the process branches to step S115. Then, the tone waveform data for one frame completed in step S115 is passed to the WAVE driver via the interface IF4, and the reproduction is reserved. If the tone waveform data for one frame is not completed, the WA
The VE processing ends. At this time, the next tone waveform data is received, the WAVE process is restarted, and the tone waveform data generation process for one frame is performed again.
Until the musical sound waveform data for one frame is completed, the processing in step S115 is skipped. In addition, WAVE
The tone waveform data reserved for reproduction by the driver is read out from the buffer memory and reproduced at each sampling period (1 / Fs).
【0072】図6に示す統合ドライバのメインルーチン
に戻り表示器28に表示された音源設定パネルにおける
入力イベントや、キーボード29のコマンド入力イベン
トが検出された際には、ステップS42にてその他処理
が起動される。その他処理においては、図7(a)に示
すMIDIドライバの登録処理や図7(b)に示すMI
DIドライバの削除処理等が行われる。この場合、表示
器28に表示されたMIDIドライバの登録/削除パネ
ルにおいて、登録ボタンがクリックされると、登録処理
が起動されて、ステップS50にて登録するMIDIド
ライバの指定が行われる。このMIDIドライバの指定
は、例えば、パネルに表示されているMIDIドライバ
名をクリックすることにより行われる。次いで、ステッ
プS51にて登録が指定されたMIDIドライバが登録
マップに登録される。Returning to the main routine of the integrated driver shown in FIG. 6, when an input event on the sound source setting panel displayed on the display 28 or a command input event on the keyboard 29 is detected, other processing is performed in step S42. Is activated. In the other processing, the MIDI driver registration processing shown in FIG. 7A and the MIDI driver registration processing shown in FIG.
The processing of deleting the DI driver and the like are performed. In this case, when a registration button is clicked on the registration / deletion panel of the MIDI driver displayed on the display 28, the registration process is started, and the MIDI driver to be registered is specified in step S50. The specification of the MIDI driver is performed, for example, by clicking the MIDI driver name displayed on the panel. Next, in step S51, the MIDI driver designated for registration is registered in the registration map.
【0073】登録マップは、図7(c)に示すようにM
IDIドライバの登録数データと、「ドライバ1デー
タ」、「ドライバ2データ」、「ドライバ3データ」、
「ドライバ4データ」・・・で示されるように登録され
たMIDIドライバのデータとから構成されている。ま
た、MIDIドライバのデータとしては、RAM23中
にロードされたMIDIドライバプログラムのアドレ
ス、動作中/停止中の状態、トリガ周期、サンプリング
周波数、楽音波形データの演算遅延時間(ディレイ量)
等とされる。なお、ハード音源用のMIDIドライバに
おいてはトリガ周期データは記入されていない。このト
リガ周期データは、上述したトリガタイマ割込処理にお
いて各MIDIドライバ(ソフト音源)の楽音波形デー
タ生成状況の判断に使用される。つまり、前記位置SP
(d)以降のその時点で生成すべき楽音波形データ量
が、トリガ周期に相当する量より少なければ、そのMI
DIドライバに対してはトリガをかける必要性がない。
また、楽音波形データの演算遅延時間は、一番遅いMI
DIドライバにシステムのディレイ量を合わせるために
記入されており、前述したように各MIDIドライバに
対応した送出バッファにおけるイベントデータEDの遅
延時間を制御するために使用される。As shown in FIG. 7C, the registration map
IDI driver registration number data, “driver 1 data”, “driver 2 data”, “driver 3 data”,
"Driver 4 data"... Registered as shown by the MIDI driver data. The MIDI driver data includes the address of the MIDI driver program loaded in the RAM 23, the operating / stopped state, the trigger cycle, the sampling frequency, and the operation delay time (delay amount) of the musical tone waveform data.
And so on. Note that no trigger cycle data is written in the MIDI driver for the hardware tone generator. The trigger cycle data is used in the above-described trigger timer interrupt processing to determine the tone waveform data generation status of each MIDI driver (soft sound source). That is, the position SP
(D) If the amount of musical sound waveform data to be generated at that time thereafter is smaller than the amount corresponding to the trigger period, the MI
There is no need to trigger on DI drivers.
The operation delay time of the musical tone waveform data is the slowest MI
This is written to match the delay amount of the system with the DI driver, and is used to control the delay time of the event data ED in the transmission buffer corresponding to each MIDI driver as described above.
【0074】登録処理に戻り、ステップS51の処理が
終了すると、ステップS52に進んで登録されたMID
Iドライバの楽音波形データの演算遅延時間(ディレイ
量)が検出されて、検出されたディレイ量が登録マップ
に記入される。ここで、演算遅延時間の検出は、各MI
DIドライバに対してテスト用のノートオンイベントを
送出し、各MIDIドライバで生成される楽音波形デー
タにその応答が現れるまでの時間を測定して行われる。
次いで、ステップS53にてシステムのディレイ量が登
録マップに記入されている全てのMIDIドライバのデ
ィレイ量の内、最も大きいディレイ量に決定され、登録
処理は終了する。このシステムのディレイ量と各MID
Iドライバの演算遅延時間との差が、各MIDIドライ
バに対応した送出バッファにおける送出遅延時間とな
る。Returning to the registration processing, when the processing in step S51 is completed, the flow advances to step S52 to register the registered MID.
The calculation delay time (delay amount) of the tone waveform data of the I driver is detected, and the detected delay amount is written in the registration map. Here, the detection of the operation delay time is determined by each MI.
A test note-on event is sent to the DI driver, and the time is measured until a response appears in musical tone waveform data generated by each MIDI driver.
Next, in step S53, the delay amount of the system is determined to be the largest delay amount among the delay amounts of all the MIDI drivers entered in the registration map, and the registration process ends. The amount of delay of this system and each MID
The difference from the operation delay time of the I driver is the transmission delay time in the transmission buffer corresponding to each MIDI driver.
【0075】また、表示器28に表示されたMIDIド
ライバの登録/削除パネルにおいて、削除ボタンがクリ
ックされると、図7(b)に示す削除処理が起動され、
ステップS60にて削除するMIDIドライバが指定さ
れる。このMIDIドライバの指定は、例えば、パネル
に表示されているMIDIドライバ名をクリックするこ
とにより行われる。次いで、ステップS61にて削除が
指定されたMIDIドライバが登録マップから削除さ
れ、削除処理は終了する。この際、登録マップから削除
されるMIDIドライバが動作中の場合は、対応するイ
ンターフェースおよびストリームをクローズし、さら
に、該MIDIドライバが統合ドライバ3によりオープ
ンされたものであれば該MIDIドライバもクローズす
る。以上の処理が、図6に示す統合ドライバのメインル
ーチンで行われる処理である。When a delete button is clicked on the registration / deletion panel of the MIDI driver displayed on the display 28, a deletion process shown in FIG.
In step S60, the MIDI driver to be deleted is specified. The specification of the MIDI driver is performed, for example, by clicking the MIDI driver name displayed on the panel. Next, in step S61, the MIDI driver designated to be deleted is deleted from the registration map, and the deletion processing ends. At this time, if the MIDI driver to be deleted from the registration map is operating, the corresponding interface and stream are closed, and if the MIDI driver is opened by the integrated driver 3, the MIDI driver is also closed. . The above processing is the processing performed in the main routine of the integrated driver shown in FIG.
【0076】なお、前記した本発明の実施の形態におい
ては、いずれのパートでも使用されなかったMIDIド
ライバをクローズするようになっていたが、必ずしもク
ローズしなくても良い。開いたままにしておけば、素早
い切り換えが可能になる。また、前記した本発明の実施
の形態におけるWAVE処理手段は、生成された楽音波
形データをOS2のマルチメディア関数で供給されるイ
ンターフェースIF4を通じてWAVEドライバに渡す
ようにしていたが、該マルチメディア関数を介さずに、
WAVEドライバに専用の別インターフェースを用意
し、それを通じて渡すようにしても良い。In the above-described embodiment of the present invention, the MIDI driver not used in any part is closed. However, the MIDI driver need not always be closed. Leaving it open allows for quick switching. Further, the WAVE processing means in the above-described embodiment of the present invention passes the generated musical tone waveform data to the WAVE driver through the interface IF4 supplied by the multimedia function of the OS2. Without intervention
A separate interface dedicated to the WAVE driver may be prepared and passed through it.
【0077】さらに、MIDIメッセージにおけるイベ
ントデータのフォーマットは、演奏イベントの発生時刻
を1つ前のイベントからの時間で表した「イベント+相
対時間」、演奏イベントの発生時刻を曲や小節内におけ
る絶対時間で表した「イベント+絶対時間」、音符の音
高と符長あるいは休符と休符長で演奏データを表した
「音高(休符)+符長」、演奏の最小分解能毎にメモリ
の領域を確保し、演奏イベントの発生する時刻に対応す
るメモリ領域に演奏イベントを記憶した「ベタ方式」
等、どのような形式でもよい。また、イベントデータ
は、複数のチャンネルのデータが混在した形式であって
もよいし、各チャンネルのデータがトラックごとに別れ
ているような形式であってもよい。Further, the format of the event data in the MIDI message is such that the occurrence time of the performance event is represented by “event + relative time” which is the time from the immediately preceding event, and the occurrence time of the performance event is the absolute time in the music or bar. "Event + absolute time" expressed in time, "Pitch (rest) + note length" expressing performance data in note pitch and note length or rest and rest length, memory for each minimum resolution of performance "Solid method" that secures an area and stores the performance event in the memory area corresponding to the time when the performance event occurs
And any other format. The event data may have a format in which data of a plurality of channels are mixed, or may have a format in which data of each channel is separated for each track.
【0078】ところで、ハードディスク26およびリム
ーバブルディスク27は各種プログラムや各種データを
記憶しておく記憶装置である。そして、ROM22に複
数音源ドライバ用の制御プログラムが記憶されていない
場合、ハードディスク26あるいはリムーバブルディス
ク27に複数音源ドライバ用の制御プログラムを記憶さ
せておき、それをRAM23に読み込むことにより、R
OM22に複数音源ドライバ用の制御プログラムを記憶
している場合と同様の動作をCPU1に実行させるよう
にしてもよい。このようにすると、複数音源ドライバ用
の制御プログラムの追加やバージョンアップ等を容易に
行うことができるようになる。The hard disk 26 and the removable disk 27 are storage devices for storing various programs and various data. If a control program for a plurality of sound source drivers is not stored in the ROM 22, the control program for the plurality of sound source drivers is stored in the hard disk 26 or the removable disk 27 and read into the RAM 23.
The same operation as in the case where the control program for a plurality of tone generator drivers is stored in the OM 22 may be performed by the CPU 1. By doing so, it is possible to easily add a control program for a plurality of tone generator drivers, upgrade the version, and the like.
【0079】また、CD−ROM(コンパクトディスク
−リード・オンリ・メモリ)ドライブを設け、CD−R
OMに記憶されている複数音源ドライバ用の制御プログ
ラムをハードディスク26あるいはリムーバブルディス
ク27にストアするようにしても良い。このように、C
D−ROMを用いるようにしても複数音源ドライバ用の
制御プログラムの新規インストールやバージョンアップ
等を容易に行うことができる。なお、このCD−ROM
ドライブに替えて、フロッピィディスク装置、光磁気デ
ィスク(MO)装置等、様々な形態の記録メディアを利
用してもよい。Further, a CD-ROM (compact disk-read only memory) drive is provided and a CD-R
The control program for a plurality of tone generator drivers stored in the OM may be stored in the hard disk 26 or the removable disk 27. Thus, C
Even if a D-ROM is used, it is possible to easily install a new control program for a plurality of tone generator drivers, upgrade a control program, and the like. This CD-ROM
Instead of the drive, various types of recording media such as a floppy disk device and a magneto-optical disk (MO) device may be used.
【0080】さらに、本発明のコンピュータソフトウェ
アを用いた複数音源ドライバの制御方法の実施に使用す
るハードウェア構成に通信インターフェースを付加する
と、通信インターフエースを介してLAN(ローカルエ
リアネットワーク)やインターネット、電話回線等の通
信ネットワークに接続することができ、該通信ネットワ
ークを介して、サーバコンピュータと接続することがで
きる。したがって、ハードディスク26やリムーバブル
ディスク27に複数音源ドライバ用の制御プログラムや
各種データが記憶されていない場合は、サーバコンピュ
ータから複数音源ドライバ用の制御プログラムやデータ
をダウンロードすることができるようになる。この際
に、クライアントとなる本発明にかかるハードウェア構
成は、通信インターフェース及び通信ネットワークを介
してサーバコンピュータへ複数音源ドライバの制御用プ
ログラム等の各種プログラムやデータのダウンロードを
要求するためのコマンドを送信する。サーバコンピュー
タは、このコマンドを受け、要求されたプログラムやデ
ータを、通信ネットワークを介して本発明にかかるハー
ドウェア構成へ配信する。本発明にかかるハードウェア
構成は、通信インターフエースを介して、サーバコンピ
ュータから配信されたプログラムやデータを受信してハ
ードディスク26やリムーバブルディスク27等の外部
記憶装置に格納することにより、プログラムやデータの
ダウンロードを行うことができるようになる。Further, when a communication interface is added to a hardware configuration used for implementing a method for controlling a plurality of tone generator drivers using the computer software of the present invention, a LAN (local area network), the Internet, and a telephone can be connected via the communication interface. It can be connected to a communication network such as a line, and can be connected to a server computer via the communication network. Therefore, when the hard disk 26 or the removable disk 27 does not store the control program and various data for the plurality of sound source drivers, the control program and the data for the plurality of sound source drivers can be downloaded from the server computer. At this time, the hardware configuration according to the present invention, which serves as a client, transmits a command for requesting downloading of various programs and data such as a control program of a plurality of sound source drivers to a server computer via a communication interface and a communication network. I do. The server computer receives the command and distributes the requested program or data to the hardware configuration according to the present invention via the communication network. The hardware configuration according to the present invention is configured to receive programs and data distributed from a server computer via a communication interface and store the programs and data in an external storage device such as a hard disk 26 or a removable disk 27 so that programs and data are You will be able to download.
【0081】[0081]
【発明の効果】本発明の複数音源ドライバの制御方法
は、複数音源ドライバの制御用プログラムをオペレーテ
ィングシステムにインストールすることにより、統合ド
ライバをオペレーティングシステムに用意されたMID
Iメッセージを授受することのできるインターフェース
(MIDI out API)および楽音波形データを授受すること
のできるインターフェース(WAVE out API)の下に配置
するようにしている。そして、統合ドライバに規格準拠
のMIDIドライバを登録することができ、そのMID
Iドライバを使用可能とすることができる。これによ
り、規格準拠のMIDIドライバを使用する際には、オ
ペレーティングシステムにインストールした後再起動す
る必要がなく繁雑な作業を不要とすることができる。According to the method for controlling a plurality of tone generator drivers of the present invention, a control program for a plurality of tone generator drivers is installed in an operating system, whereby an integrated driver is provided in the MID prepared in the operating system.
It is arranged below an interface (MIDI out API) capable of transmitting and receiving I messages and an interface (WAVE out API) capable of transmitting and receiving musical sound waveform data. Then, a standard-compliant MIDI driver can be registered in the integrated driver.
An I driver can be enabled. As a result, when using a MIDI driver conforming to the standard, it is not necessary to restart the system after installing it in the operating system, thereby eliminating the need for complicated work.
【0082】また、統合ドライバはインターフェース
(MIDI out API)を通じて受け取ったMIDIメッセー
ジ中の各パートの選択情報(プログラムチェンジおよび
バンクセレクト)により、統合ドライバに登録されてい
るMIDIドライバを切り替えることができる。したが
って、演奏中においてダイナミックにMIDIドライバ
を切り替えることができるようになる。さらに、規格準
拠のMIDIドライバにおいては、楽音波形データの時
間管理をすることなく生成された楽音波形データをスト
リームを通じて統合ドライバに送るようにしている。そ
して、統合ドライバにおいて、複数のMIDIドライバ
から送られた楽音波形データの時間管理を行いながら、
複数のMIDIドライバから送られた楽音波形データを
それぞれ加算して1フレームの楽音波形データにまとめ
るようにしている。このため、各MIDIドライバにお
いて楽音波形データの時間管理を行う必要がなく、その
ための負担を軽減することができる。従って、CPUへ
の負担を軽くすることができる。The integrated driver can switch the MIDI driver registered in the integrated driver according to the selection information (program change and bank select) of each part in the MIDI message received through the interface (MIDI out API). Therefore, the MIDI driver can be dynamically switched during the performance. Further, in the MIDI driver conforming to the standard, the generated tone waveform data is transmitted to the integrated driver through a stream without managing the time of the tone waveform data. The integrated driver performs time management of the tone waveform data sent from the plurality of MIDI drivers,
The musical tone waveform data sent from a plurality of MIDI drivers are added to each other and combined into one frame of musical tone waveform data. For this reason, it is not necessary for each MIDI driver to perform time management of musical tone waveform data, and the burden for that can be reduced. Therefore, the load on the CPU can be reduced.
【0083】さらに、統合ドライバは、同時に複数のM
IDIドライバを使用することができるが、楽音波形デ
ータの出力先として1つのWAVEドライバを使用する
だけとされるため、WAVEドライバが不足することを
防止することができる。さらにまた、規格準拠のMID
Iドライバに限らず、規格非準拠のMIDIドライバも
使用して楽音波形データを生成することができるので、
それぞれのパートの楽音波形データをいろいろな性質を
有するMIDIドライバにより生成することができるよ
うになる。Further, the integrated driver simultaneously operates a plurality of M
Although an IDI driver can be used, only one WAVE driver is used as the output destination of the musical tone waveform data, so that a shortage of the WAVE driver can be prevented. Furthermore, standard-compliant MID
Since the tone waveform data can be generated using not only the I driver but also a MIDI driver that is not compliant with the standard,
The musical tone waveform data of each part can be generated by MIDI drivers having various properties.
【図面の簡単な説明】[Brief description of the drawings]
【図1】 本発明のコンピュータソフトウェアを用いた
本発明の複数音源ドライバの制御方法におけるソフトウ
ェア構造を示す図である。FIG. 1 is a diagram showing a software structure in a method for controlling a plurality of tone generator drivers of the present invention using the computer software of the present invention.
【図2】 本発明のコンピュータソフトウェアを用いた
複数音源ドライバの制御方法の実施に使用するハードウ
ェア構成を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration used for implementing a method of controlling a plurality of tone generator drivers using computer software according to the present invention.
【図3】 図2に示す波形インターフェースの詳細構成
を示す図である。FIG. 3 is a diagram showing a detailed configuration of a waveform interface shown in FIG. 2;
【図4】 ハード音源用のMIDIドライバ1(ハード
音源)のメインルーチンのフローチャート(HTGドラ
イバメイン)を示す図である。FIG. 4 is a diagram showing a flowchart (HTG driver main) of a main routine of a MIDI driver 1 (hard sound source) for a hard sound source.
【図5】 アプリケーションソフトウェアであるソフト
音源から構成されているMIDIドライバのメインルー
チンのフローチャート(STGドライバメイン)を示す
図である。FIG. 5 is a diagram showing a flowchart (STG driver main) of a main routine of a MIDI driver composed of a software sound source as application software.
【図6】 統合ドライバのメインルーチンのフローチャ
ート(統合ドライバメイン処理)を示す図である。FIG. 6 is a view showing a flowchart (integrated driver main processing) of a main routine of the integrated driver.
【図7】 図7(a)はMIDIドライバの登録処理の
フローチャート、図7(b)はMIDIドライバの削除
処理のフローチャート、図7(c)は登録マップを示す
図である。7A is a flowchart of a MIDI driver registration process, FIG. 7B is a flowchart of a MIDI driver deletion process, and FIG. 7C is a diagram showing a registration map.
【図8】 MIDI処理で実行される音色切換イベント
処理のフローチャートを示す図である。FIG. 8 is a diagram showing a flowchart of a tone color switching event process executed in the MIDI process.
【図9】 MIDI処理で実行されるその他イベント処
理のフローチャートを示す図である。FIG. 9 is a diagram showing a flowchart of other event processing executed in the MIDI processing.
【図10】 MIDI処理で実行されるタイマd割込処
理のフローチャートを示す図である。FIG. 10 is a diagram showing a flowchart of a timer d interrupt process executed in the MIDI process.
【図11】 WAVE処理で実行されるトリガタイマ割
込処理のフローチャートを示す図である。FIG. 11 is a diagram illustrating a flowchart of a trigger timer interrupt process executed in the WAVE process.
【図12】 WAVE処理で実行されるWAVE処理の
フローチャートを示す図である。FIG. 12 is a diagram illustrating a flowchart of a WAVE process executed in the WAVE process.
【図13】 従来の音源システムにおけるソフトウェア
構造を示す図である。FIG. 13 is a diagram showing a software structure in a conventional sound source system.
1 音楽ソフト、2 オペレーティングシステム(O
S)、3 統合ドライバ、4 統合ツールライブラリ、
5 MIDIドライバ1(ハード音源)、6 MIDI
ドライバ2(ソフト音源)、7 MIDIドライバ3
(ソフト音源)、8MIDIドライバ4(ソフト音
源)、9 WAVEドライバ1、10 ハード音源、1
1 CODEC、20 CPUバス、21 CPU、2
2 ROM、23RAM、24 タイマ、25 MID
Iインターフェース、26 ハードディスク、27 リ
ムーバブルディスク、28 表示器、29 キーボード
&マウス、30 波形インターフェース、31 AD
C、32 DMAC1、33 Fs発生器、34 DM
AC2,35 DAC1 music software, 2 operating systems (O
S), 3 integrated driver, 4 integrated tool library,
5 MIDI driver 1 (hard sound source), 6 MIDI
Driver 2 (soft sound source), 7 MIDI driver 3
(Soft sound source), 8 MIDI driver 4 (soft sound source), 9 WAVE driver 1, 10 hard sound source, 1
1 CODEC, 20 CPU bus, 21 CPU, 2
2 ROM, 23 RAM, 24 timer, 25 MID
I interface, 26 hard disk, 27 removable disk, 28 display, 29 keyboard & mouse, 30 waveform interface, 31 AD
C, 32 DMAC1, 33 Fs generator, 34 DM
AC2, 35 DAC
Claims (11)
ら発生される演奏データを、オペレーティングシステム
が備える第1のアプリケーションプログラミングインタ
ーフェースを介して、前記オペレーティングシステムに
インストールされた統合ドライバ手段が受けて、該演奏
データを、前記統合ドライバ手段に登録された1ないし
複数の音源ドライバ手段に振り分け、 前記1ないし複数の音源ドライバ手段は、それぞれ振り
分けられた前記演奏データに応じた楽音波形データを生
成すると共に、生成した楽音波形データを前記統合ドラ
イバ手段に送り、 前記統合ドライバ手段は送られた楽音波形データのサン
プリング周波数を基準サンプリング周波数に変換すると
共に、楽音波形データの時間位置を揃えて楽音波形デー
タを加算し、 加算された楽音波形データを基準サンプリング周波数で
再生して楽音を発生するようにしたことを特徴とする複
数音源ドライバの制御方法。1. An integrated driver means installed in an operating system receives performance data generated from application-level music software via a first application programming interface provided in the operating system. Allocating to the one or a plurality of sound source driver means registered in the integrated driver means, the one or a plurality of sound source driver means generating musical tone waveform data corresponding to the distributed performance data, and generating the generated musical tone. Sending the waveform data to the integrated driver means, the integrated driver means converting the sampling frequency of the transmitted tone waveform data to a reference sampling frequency, and aligning the time positions of the tone waveform data to add the tone waveform data; A method for controlling a plurality of tone generator drivers, wherein reproduced tone waveform data is reproduced at a reference sampling frequency to generate a tone.
ータを、前記オペレーティングシステムが備える第2の
インターフェースを介して、楽音波形データを基準サン
プリング周期で出力する前記オペレーティングシステム
にインストールされたウェーブドライバ手段に渡すこと
により行われることを特徴とする請求項1記載の複数音
源ドライバの制御方法。2. The wave driver installed in the operating system for outputting the added tone waveform data at a reference sampling period via a second interface of the operating system. 2. The method according to claim 1, wherein the control is performed by passing the data to a means.
ドライバの制御用プログラムが記録された記録媒体であ
って、 該制御用プログラムは、音楽ソフトから発生された演奏
データを、オペレーティングシステムが備える第1のア
プリケーションプログラミングインターフェースを介し
て、前記オペレーティングシステムにインストールされ
た統合ドライバ手段が受けて、該演奏データを、前記統
合ドライバ手段に登録された1ないし複数の音源ドライ
バ手段に振り分けるステップと、 振り分けられた前記演奏データに応じて前記1ないし複
数の音源ドライバ手段により生成された楽音波形データ
を前記統合ドライバ手段に送るストリーム機能と、 該統合ドライバ手段に送られた楽音波形データのサンプ
リング周波数を基準サンプリング周波数に変換すると共
に、楽音波形データの時間位置を揃えて楽音波形データ
を加算するステップと、 加算された楽音波形データをサンプリング周期で出力す
るステップと、 をコンピュータ装置に実行させることを特徴とする複数
音源ドライバの制御用プログラムが記録された記録媒
体。3. A recording medium in which a control program for controlling a plurality of tone generator drivers for controlling a plurality of tone generator drivers is recorded, wherein the control program includes performance data generated from music software provided in an operating system. Distributing the performance data to one or a plurality of sound source driver means registered in the integrated driver means by receiving the integrated driver means installed in the operating system via one application programming interface; A stream function for transmitting the musical tone waveform data generated by the one or more sound source driver means to the integrated driver means in accordance with the performance data, and a sampling frequency for sampling the musical tone waveform data transmitted to the integrated driver means. frequency Converting the number into a number and adding the tone waveform data by aligning the time positions of the tone waveform data; and outputting the added tone waveform data at a sampling period. A recording medium on which a control program for a plurality of sound source drivers is recorded.
れた楽音波形データを、前記オペレーティングシステム
にインストールされたウェーブドライバ手段に、前記オ
ペレーティングシステムが備える第2のアプリケーショ
ンプログラミングインターフェースを介して送り、前記
ウェーブドライバ手段で出力を行うようにしたことを特
徴とする請求項3記載の複数音源ドライバの制御用プロ
グラムが記録された記録媒体。4. In the outputting step, the added musical tone waveform data is sent to wave driver means installed in the operating system via a second application programming interface of the operating system. 4. The recording medium according to claim 3, wherein the output is performed by driver means.
ータを生成する複数の生成プログラムを登録するステッ
プと、 各演奏パート毎の音色選択情報に基づいて、各演奏パー
トの演奏データを供給されるべき生成プログラムを指定
するステップと、 入力する複数パートの演奏データを、それぞれ前記指定
するステップが各演奏パートについて指定した前記生成
プログラムに対して供給するステップと、 前記複数の生成プログラムが生成した複数の楽音波形デ
ータを受け取り、混合して出力するステップと、 を備えたことを特徴とする複数生成プログラムの制御方
法。5. A step of registering a plurality of generation programs for generating musical tone waveform data in accordance with respective performance data, and performance data of each performance part should be supplied based on tone color selection information for each performance part. A step of specifying a generation program; a step of supplying input performance data of a plurality of parts to the generation program specified by the specifying step for each performance part; and a plurality of generation data generated by the plurality of generation programs. Receiving the sound waveform data, mixing and outputting the mixed data, and a method for controlling a plurality of generation programs.
ータを生成する複数の生成プログラムを登録するステッ
プと、 登録した複数の生成プログラムについて、それぞれ演奏
データが供給されてから生成する楽音波形データにその
効果が現れるまでの演算遅延時間を検出するステップ
と、 入力する演奏データを前記複数の生成プログラムに対し
て振り分けると共に、振り分けた演奏データを各生成プ
ログラムの前記演算遅延時間に対応する時間遅延した後
に、各生成プログラムに供給するステップと、 前記複数の生成プログラムが生成した複数の楽音波形デ
ータを受け取り、混合して出力するステップと、 を備えたことを特徴とする複数生成プログラムの制御方
法。6. A step of registering a plurality of generation programs for generating musical tone waveform data in accordance with respective performance data; Detecting the operation delay time until the effect appears; and distributing the input performance data to the plurality of generation programs, and delaying the allocated performance data by a time corresponding to the operation delay time of each generation program. And a step of receiving the plurality of tone waveform data generated by the plurality of generation programs, and mixing and outputting the mixed data.
ら発生される演奏データを、オペレーティングシステム
が備える第1のインターフェースを介して受け取るステ
ップと、 複数の生成プログラムを登録するステップと、 登録された複数の生成プログラムについて、それぞれ独
立したインターフェースを開くステップと、 前記第1のインターフェースを介して受け取った演奏デ
ータを、前記複数の生成プログラムに対して振り分け、
それぞれ前記独立したインターフェースを介して供給す
るステップと、 供給された演奏データに基づいて前記複数の生成プログ
ラムがそれぞれ生成した複数の楽音波形データを受け取
り、混合して出力するステップと、 を備えたことを特徴とする複数生成プログラムの制御方
法。7. A step of receiving performance data generated from application-level music software via a first interface provided in an operating system; a step of registering a plurality of generation programs; Opening an independent interface for each of the steps; and distributing the performance data received via the first interface to the plurality of generation programs;
Supplying each of the plurality of musical tone waveform data generated by the plurality of generating programs based on the supplied performance data, and mixing and outputting the plurality of musical tone waveform data, respectively. A method for controlling a plurality of generation programs, the method comprising:
グラムとして規格準拠の生成プログラムと規格非準拠の
生成プログラムが登録可能であり、 前記開くステップは、規格準拠の生成プログラムについ
ては前記オペレーティングシステムによらない独自のイ
ンターフェースを開くと共に、前記規格非準拠の生成プ
ログラムについては前記オペレーティングシステムの備
える第2のインターフェースを開き、 前記供給するステップは、振り分けた演奏データを規格
準拠の生成プログラムに対しては前記独自のインターフ
ェースを介して供給すると共に、規格非準拠の生成プロ
グラムに対しては前記第2のインターフェースを介して
供給することを特徴とする請求項7記載の複数生成プロ
グラムの制御方法。8. In the registering step, a standard-compliant generation program and a non-standard-compliant generation program can be registered as the generation program. The opening step is performed by the operating system for the standard-compliant generation program. And opening a second interface of the operating system for the non-standard-compliant generation program, and supplying the sorted performance data to a standard-compliant generation program. 8. The method according to claim 7, wherein the program is supplied through a unique interface, and is supplied to a non-standard-compliant program through the second interface.
ら発生される演奏データを、オペレーティングシステム
が備える第1のインターフェースを介して受け取るステ
ップと、 登録された複数の生成プログラムについて、それぞれ独
立した伝送経路を開くステップと、 前記第1のインターフェースを介して受け取った演奏デ
ータを、前記複数の生成プログラムに対して振り分けて
供給するステップと、 供給された演奏データに基づいて前記複数の生成プログ
ラムがそれぞれ生成した複数の楽音波形データを、それ
ぞれ各生成プログラムに対応した前記伝送経路を介して
受け取り、受け取った複数の楽音波形データを混合して
出力するステップと、 を備えたことを特徴とする複数生成プログラムの制御方
法。9. A step of receiving performance data generated from application-level music software via a first interface provided in an operating system, and a step of opening independent transmission paths for a plurality of registered generation programs. Supplying the performance data received via the first interface to the plurality of generation programs separately; and generating the plurality of generation programs respectively generated by the plurality of generation programs based on the supplied performance data. Receiving the musical tone waveform data via the transmission path corresponding to each generating program, mixing and outputting the plurality of received musical tone waveform data, and controlling the multiple generating program. .
ログラムとして規格準拠の生成プログラムと規格非準拠
の生成プログラムが登録可能であり、 前記開くステップは、規格準拠の生成プログラムについ
ては前記オペレーティングシステムによらない独自の伝
送経路を開くと共に、前記規格非準拠の生成プログラム
については前記オペレーティングシステムの備える第2
のインターフェースを開き、 前記出力するステップは、規格準拠の生成プログラムの
生成した楽音波形データを前記独自の伝送経路を介して
受け取ると共に、規格非準拠の生成プログラムの生成し
た楽音波形データを前記第2のインターフェースを介し
て受け取ることを特徴とする請求項9記載の複数生成プ
ログラムの制御方法。10. The registering step may include registering a standard-compliant generation program and a non-standard-compliant generation program as the generation program, and the opening step may be performed by the operating system for the standard-compliant generation program. Open its own transmission path, and use the second operating system
Opening the interface, receiving the tone waveform data generated by the standard-compliant generation program via the unique transmission path, and transmitting the tone waveform data generated by the non-standard-compliant generation program to the second The method for controlling a plurality of generation programs according to claim 9, wherein the plurality of generation programs are received through an interface.
データを生成する複数の生成プログラムを登録するステ
ップと、 入力する複数パートの演奏データを登録した複数の生成
プログラムに対して振り分けると共に、振り分けた演奏
データを各生成プログラムに供給するステップと、 登録した複数の生成プログラムに対して、それぞれ個別
にトリガを発生するステップと、 前記トリガに応じて各生成プログラムが生成処理を実行
することにより生成された複数の生成プログラムに対応
する複数の楽音波形データを受け取り、混合して出力す
るステップと、 受け取った複数の楽音波形データの進行状況を複数の生
成プログラムについて互いに比較し、前記発生するステ
ップが該進行状況の遅れている生成プログラムに対して
トリガを優先的に発生するよう制御するステップと、 を備えたことを特徴とする複数生成プログラムの制御方
法。11. A step of registering a plurality of generation programs for generating musical tone waveform data in accordance with respective performance data, allocating input performance data of a plurality of parts to the registered plurality of generation programs, and allocating the distributed performances. A step of supplying data to each generation program; a step of individually generating a trigger for each of the registered generation programs; and a step of generating each generation program in response to the trigger. Receiving a plurality of tone waveform data corresponding to a plurality of generation programs, mixing and outputting the plurality of tone waveform data; and comparing the progress of the received plurality of tone waveform data with each other for a plurality of generation programs. Priority is given to triggers for generators whose status is late Control method for generating multiple program characterized by comprising the steps of: controlling to live.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08510698A JP3409686B2 (en) | 1998-03-17 | 1998-03-17 | Method for controlling a plurality of sound source drivers, recording medium storing a program for controlling a plurality of sound source drivers, and method for controlling a plurality of generation programs |
US09/268,211 US6271454B1 (en) | 1998-03-17 | 1999-03-15 | Method of controlling tone generating drivers by integrating driver on operating system |
US09/841,243 US6479739B2 (en) | 1998-03-17 | 2001-04-24 | Method of controlling tone generating drivers by integrating driver on operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08510698A JP3409686B2 (en) | 1998-03-17 | 1998-03-17 | Method for controlling a plurality of sound source drivers, recording medium storing a program for controlling a plurality of sound source drivers, and method for controlling a plurality of generation programs |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002349746A Division JP3945393B2 (en) | 2002-12-02 | 2002-12-02 | Multiple sound source driver control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11265182A true JPH11265182A (en) | 1999-09-28 |
JP3409686B2 JP3409686B2 (en) | 2003-05-26 |
Family
ID=13849376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08510698A Expired - Fee Related JP3409686B2 (en) | 1998-03-17 | 1998-03-17 | Method for controlling a plurality of sound source drivers, recording medium storing a program for controlling a plurality of sound source drivers, and method for controlling a plurality of generation programs |
Country Status (2)
Country | Link |
---|---|
US (2) | US6271454B1 (en) |
JP (1) | JP3409686B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535772B1 (en) | 1999-03-24 | 2003-03-18 | Yamaha Corporation | Waveform data generation method and apparatus capable of switching between real-time generation and non-real-time generation |
KR20150001608A (en) * | 2013-06-26 | 2015-01-06 | 아플리피에르 오위 | Audio apparatus for portable devices |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6463390B1 (en) * | 1998-07-01 | 2002-10-08 | Yamaha Corporation | Setting method and device for waveform generator with a plurality of waveform generating modules |
JP4809968B2 (en) * | 1999-04-09 | 2011-11-09 | キヤノン株式会社 | Information processing apparatus, information processing method, and computer-readable recording medium |
JP3675362B2 (en) * | 2000-08-18 | 2005-07-27 | ヤマハ株式会社 | Musical sound generating device and portable terminal device |
JP4158509B2 (en) * | 2002-12-10 | 2008-10-01 | ヤマハ株式会社 | Information provision program for content distribution |
WO2004066263A2 (en) * | 2003-01-15 | 2004-08-05 | Owned Llc | Electronic musical performance instrument with creative flexibility |
US9003048B2 (en) * | 2003-04-01 | 2015-04-07 | Microsoft Technology Licensing, Llc | Network zones |
US20060180008A1 (en) * | 2005-01-19 | 2006-08-17 | Open Labs, Inc. | Universal unitary computer control for MIDI devices |
US20100180224A1 (en) * | 2009-01-15 | 2010-07-15 | Open Labs | Universal music production system with added user functionality |
JP6024403B2 (en) * | 2012-11-13 | 2016-11-16 | ヤマハ株式会社 | Electronic music apparatus, parameter setting method, and program for realizing the parameter setting method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG76606A1 (en) * | 1995-03-03 | 2000-11-21 | Yamaha Corp | Computerized music apparatus composed of compatible software modules |
DE69611874T2 (en) | 1995-09-29 | 2001-10-04 | Yamaha Corp., Hamamatsu | Method and device for generating musical tones |
JP2962217B2 (en) | 1995-11-22 | 1999-10-12 | ヤマハ株式会社 | Music generating apparatus and method |
US5596159A (en) | 1995-11-22 | 1997-01-21 | Invision Interactive, Inc. | Software sound synthesis system |
JP2904088B2 (en) * | 1995-12-21 | 1999-06-14 | ヤマハ株式会社 | Musical sound generation method and apparatus |
US5890017A (en) * | 1996-11-20 | 1999-03-30 | International Business Machines Corporation | Application-independent audio stream mixer |
-
1998
- 1998-03-17 JP JP08510698A patent/JP3409686B2/en not_active Expired - Fee Related
-
1999
- 1999-03-15 US US09/268,211 patent/US6271454B1/en not_active Expired - Lifetime
-
2001
- 2001-04-24 US US09/841,243 patent/US6479739B2/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535772B1 (en) | 1999-03-24 | 2003-03-18 | Yamaha Corporation | Waveform data generation method and apparatus capable of switching between real-time generation and non-real-time generation |
KR20150001608A (en) * | 2013-06-26 | 2015-01-06 | 아플리피에르 오위 | Audio apparatus for portable devices |
JP2015011342A (en) * | 2013-06-26 | 2015-01-19 | アップリフィエル オーユーApplifier Oy | Audio apparatus for portable device |
JP2015165306A (en) * | 2013-06-26 | 2015-09-17 | アップリフィエル オーユーApplifier Oy | Audio apparatus for portable devices |
Also Published As
Publication number | Publication date |
---|---|
US6271454B1 (en) | 2001-08-07 |
US6479739B2 (en) | 2002-11-12 |
US20020029683A1 (en) | 2002-03-14 |
JP3409686B2 (en) | 2003-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE37367E1 (en) | Computerized music system having software and hardware sound sources | |
JP3087638B2 (en) | Music information processing system | |
USRE41757E1 (en) | Sound source system based on computer software and method of generating acoustic waveform data | |
US6576827B2 (en) | Music sound synthesis with waveform caching by prediction | |
KR100421589B1 (en) | Tone generating method and apparatus thereof | |
KR19980032960A (en) | Operation method of musical instrument device using network, function expansion method, operation system of musical instrument device, function expansion system of musical instrument device and terminal device, musical instrument device and storage medium used for it | |
JP3235409B2 (en) | Music system, sound source and tone synthesis method | |
JP3409686B2 (en) | Method for controlling a plurality of sound source drivers, recording medium storing a program for controlling a plurality of sound source drivers, and method for controlling a plurality of generation programs | |
US6583347B2 (en) | Method of synthesizing musical tone by executing control programs and music programs | |
US6806412B2 (en) | Dynamic channel allocation in a synthesizer component | |
KR100386403B1 (en) | How to generate music using hardware and software sources | |
US6570082B2 (en) | Tone color selection apparatus and method | |
KR100372311B1 (en) | Electronic musical instrument | |
JP2019168517A (en) | Electronic musical instrument, method, and program | |
USRE41297E1 (en) | Tone waveform generating method and apparatus based on software | |
KR100478469B1 (en) | Sound source system using computer software | |
US6852918B2 (en) | Automatic accompaniment apparatus and a storage device storing a program for operating the same | |
US6754351B1 (en) | Music apparatus with dynamic change of effects | |
KR100302626B1 (en) | Sound generating device and method | |
JP3945393B2 (en) | Multiple sound source driver control method | |
JP3637577B2 (en) | Music generation method | |
JP3003559B2 (en) | Music generation method | |
JP3141789B2 (en) | Sound source system using computer software | |
JPH09258736A (en) | Sound source system and method using computer software | |
JP2000099056A (en) | Karaoke device, method and device to distribute music data and sound source device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030218 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090320 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090320 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100320 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110320 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110320 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120320 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |