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

楽音発生方法および装置

Info

Publication number
JP2956552B2
JP2956552B2 JP7275092A JP27509295A JP2956552B2 JP 2956552 B2 JP2956552 B2 JP 2956552B2 JP 7275092 A JP7275092 A JP 7275092A JP 27509295 A JP27509295 A JP 27509295A JP 2956552 B2 JP2956552 B2 JP 2956552B2
Authority
JP
Japan
Prior art keywords
waveform
generating
tone
generated
musical
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.)
Expired - Fee Related
Application number
JP7275092A
Other languages
English (en)
Other versions
JPH0997084A (ja
Inventor
元一 田邑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP7275092A priority Critical patent/JP2956552B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to EP00103422A priority patent/EP1011090B1/en
Priority to US08/722,633 priority patent/US6326537B1/en
Priority to DE69632695T priority patent/DE69632695T2/de
Priority to DE69632351T priority patent/DE69632351T2/de
Priority to EP96115597A priority patent/EP0766226B1/en
Priority to EP00103423A priority patent/EP1011091B1/en
Priority to DE69611874T priority patent/DE69611874T2/de
Priority to SG1999001107A priority patent/SG75928A1/en
Priority to SG1996010764A priority patent/SG50769A1/en
Priority to KR1019960043063A priority patent/KR100416932B1/ko
Publication of JPH0997084A publication Critical patent/JPH0997084A/ja
Application granted granted Critical
Publication of JP2956552B2 publication Critical patent/JP2956552B2/ja
Priority to US09/954,307 priority patent/US6509519B2/en
Priority to KR1020030033319A priority patent/KR100402364B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数チャンネルの
楽音を同時に発音する楽音発生方法および装置に関す
る。
【0002】
【従来の技術】複数チャンネルの楽音を同時に発音する
音源は従来より知られている。かかる従来の音源は、各
発音チャンネル毎に独立に楽音を生成するとともに、単
位時間当たり演算生成する波形サンプルの数を、各発音
チャンネル毎に一定にしていた。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来の音源では、各発音チャンネル毎に独立に楽音が生成
されるためにチャンネル毎に生成される楽音の特性は異
なり、また各発音チャンネルで生成される楽音に応じて
必要とされる楽音のクオリティは異なるにも拘わらず、
全発音チャンネルに対して同一のサンプル数で波形サン
プルを生成していたので、楽音生成の演算処理に無駄が
生じる場合があった。
【0004】たとえば、広い周波数帯域に亘る周波数成
分を有する楽音(すなわちクオリティの高い楽音)を生
成したい場合には、高い(すなわちサンプル数が多くな
るような)サンプリング周波数で楽音波形生成演算を行
う必要がある一方、低い周波数帯域の周波数成分のみを
有する楽音を生成する場合には、低い(すなわちサンプ
ル数が少なくなるような)サンプリング周波数で楽音波
形生成演算を行えば十分である。また、演奏曲によって
は、1音毎のクオリティは低くてもよいから発音数を多
く確保したい場合や、発音数は少なくてよいから楽音の
クオリティを上げたい場合がある。さらに、演奏曲の中
でリードパート等の目立つパートの楽音を生成している
発音チャンネルについては、高いクオリティの楽音生成
が望まれる一方で、バッキング等の比較的目立たないパ
ートでは、多少クオリティが低下した楽音生成を行って
も聴感上余り問題がない。
【0005】一般に、音源は演算回路での楽音生成演算
により楽音を生成し、演算回路には単位時間当たりの演
算能力に限界があるので、同時に生成できる楽音数(同
時発音数)に制限が生じる。上記従来の音源は、各発音
チャンネルの演算クオリティを均一にしていたために、
チャンネルによっては必要以上のクオリティで楽音の生
成演算を行っている場合があり、これにより同時に発音
できる楽音数(発音チャンネル数)が減少する等の問題
が生じた。
【0006】本発明は、上記問題に鑑みてなされたもの
で、ユーザの利用目的に応じて、発音数重視またはクオ
リティ重視のいずれの形態をも採ることが可能な楽音発
生方法および装置を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
請求項1記載の楽音発生方法は、複数のチャンネルで生
成された楽音波形サンプルに基づいて楽音を発生するス
テップを備えた楽音発生方法において、音高を示す音高
情報を入力するステップと、ユーザが操作した操作子の
操作量に応じ、単位時間当たりに生成する波形サンプル
数を示す制御情報を入力するステップと、所定期間毎
に、前記音高情報に応じた楽音波形サンプルを、前記入
力された制御情報に応じた単位時間当たりの波形サンプ
ル数で、各チャンネル毎に生成するステップであって、
前記音高情報および前記制御情報に応じて位相情報を発
生し、該位相情報に応じて楽音波形サンプルを生成する
ステップとを有し、該生成された楽音波形サンプルに基
づいて楽音を発生することを特徴とする。
【0008】請求項2記載の楽音発生方法は、複数のチ
ャンネルで生成された楽音波形サンプルに基づいて楽音
を発生するステップを備えた楽音発生方法において、複
数パートの演奏情報を入力するステップと、単位時間当
たりに生成する波形サンプル数を示す制御情報を前記各
パート毎に設定するステップと、前記入力された演奏情
報を前記複数のチャンネルのうちのいずれかに割当て、
該割当られたチャンネルにおいて、当該演奏情報に応じ
楽音波形サンプルを、当該演奏情報が属するパートの
前記設定された制御情報に応じた単位時間当たりの波形
サンプル数で生成するステップとを有し、該生成された
楽音波形サンプルに基づいて楽音を発生することを特徴
とする。
【0009】請求項3記載の楽音発生方法は、楽音波形
サンプルに基づいて楽音を発生するステップを備えた楽
音発生方法において、演奏情報を入力するステップと、
単位時間当たりに生成する波形サンプル数を示す制御情
報を発生するステップと、前記入力した演奏情報に応じ
て、波形メモリに記憶された波形データに基づく楽音生
成演算を実行し、前記発生した制御情報に応じた単位時
間当たりの波形サンプル数で楽音波形サンプルを生成す
るステップとを有し、該楽音波形サンプルを生成するス
テップでは、前記発生した制御情報に応じて前記波形メ
モリ中の異なる波形データを選択的に用いて楽音生成演
算を行い、前記楽音を発生するステップでは、該楽音生
成演算により生成された楽音波形サンプルに基づいて楽
音を発生することを特徴とする。
【0010】請求項4記載の楽音波形発生方法は、所定
のサンプリング周波数で楽音を生成するための第1の波
形データを記憶手段に記憶するステップと、該記憶され
た第1の波形データを当該所定のサンプリング周波数と
異なったサンプリング周波数の波形データに変換し、第
2の波形データとして前記記憶手段に記憶するステップ
と、前記記憶手段に記憶された波形データに基づいて楽
音波形サンプルを生成するステップとを有し、該楽音波
形サンプルを生成するステップでは、複数の異なる単位
時間当たりの波形サンプル数で前記楽音波形サンプルを
生成可能であり、該単位時間当たりの波形サンプル数
応じて前記第1の波形データおよび前記第2の波形デー
タのうちいずれか一方を選択して、該選択された波形デ
ータに基づいて楽音波形サンプルを生成することを特徴
とする。
【0011】請求項5記載の楽音発生装置は、複数のチ
ャンネルで生成された楽音波形サンプルに基づいて楽音
を発生する楽音発生手段を備えた楽音発生装置におい
て、音高を示す音高情報を入力する音高情報入力手段
と、操作子の操作量に応じ、単位時間当たりに生成する
波形サンプル数を示す制御情報を入力する制御情報入力
手段と、所定期間毎に、前記音高情報に応じた楽音波形
サンプルを、前記入力された制御情報に応じた単位時間
当たりの波形サンプル数で、各チャンネル毎に生成する
楽音波形サンプル生成手段であって、前記音高情報およ
び前記制御情報に応じて位相情報を発生し、該位相情報
に応じて楽音波形サンプルを生成するものとを有し、前
楽音発生手段は、該生成された楽音波形サンプルに基
づいて楽音を発生することを特徴とする。
【0012】請求項6記載の楽音発生装置は、複数のチ
ャンネルで生成された楽音波形サンプルに基づいて楽音
を発生する楽音発生手段を備えた楽音発生装置におい
て、複数パートの演奏情報を入力する演奏情報入力手段
と、単位時間当たりに生成する波形サンプル数を示す
御情報を前記各パート毎に設定する制御情報設定手段
と、前記入力された演奏情報を前記複数のチャンネルの
うちのいずれかに割当て、該割当てられたチャンネルに
おいて、当該演奏情報に応じた楽音波形サンプルを、当
該演奏情報が属するパートの前記設定された制御情報に
応じた単位時間当たりの波形サンプル数で生成する楽音
波形サンプル生成手段とを有し、前記楽音発生手段は、
該生成された楽音波形サンプルに基づいて楽音を発生す
ることを特徴とする。
【0013】請求項7記載の楽音発生装置は、楽音波形
サンプルに基づいて楽音を発生する楽音発生手段を備え
た楽音発生装置において、演奏情報を入力する演奏情報
入力手段と、単位時間当たりに生成する波形サンプル数
を示す制御情報を発生する制御情報発生手段と、前記入
力した演奏情報に応じて、波形メモリに記憶された波形
データに基づく楽音生成演算を実行し、前記発生した制
御情報に応じた単位時間当たりの波形サンプル数で楽音
波形サンプルを生成する楽音波形サンプル生成手段とを
有し、該楽音波形サンプル生成手段は、前記発生した制
御情報に応じて前記波形メモリ中の異なる波形データを
選択的に用いて楽音生成演算を行い、前記楽音発生手段
は、該楽音生成演算により生成された楽音波形サンプル
に基づいて楽音を発生することを特徴とする。
【0014】請求項1および5記載の発明の構成に依れ
ば、入力された音高および制御情報に応じて位相情報が
発生され、この位相情報に基づいて、所定期間毎に、
入力された音高情報に応じた楽音波形サンプルが、
入力された制御情報に応じた単位時間当たりの波形
ンプル数で、各チャンネル毎に生成され、この生成され
た楽音波形サンプルに基づいて楽音が発生されるので、
ユーザの利用目的に応じて、発音数重視またはクオリテ
ィ重視のいずれの形態をも採ることができる。
【0015】また、請求項2および6記載の発明の構成
に依れば、入力された演奏情報に応じたチャンネルの楽
音波形サンプルが、当該演奏情報が属するパートの、設
定された制御情報に応じた単位時間当たりの波形サンプ
ル数で生成され、この生成された楽音波形サンプルに基
づいて楽音が発生されるので、聴感上効果の大きいパー
トの楽音を高いクオリティで生成でき、限られた演算能
力を最大限に活用することができる。
【0016】さらに、請求項3および7記載の発明の構
成に依れば、入力された演奏情報に応じて、波形メモリ
に記憶された波形データに基づく楽音生成演算が実行さ
れ、発生された制御情報に応じた単位時間当たりの波形
サンプル数で楽音波形サンプルが生成され、前記楽音生
成演算では、前記発生した制御情報に応じて前記波形メ
モリ中の異なる波形データを選択的に用いて楽音生成演
算が行われ、このようにして生成された楽音波形サンプ
ルに基づいて楽音が発生されるので、高い等価サンプリ
ング周波数のチャンネルでは、広い帯域に亘る周波数成
分を有する(すなわち、高い録音サンプリング周波数
の)波形データを使用し、低い等価サンプリング周波数
のチャンネルでは狭い帯域の周波数成分を有する(すな
わち、低い録音サンプリング周波数の)波形データを使
用でき、これにより音色データ中の波形の指定を変更し
なくてもよい。
【0017】もし、生成する楽音波形サンプルの時間密
度に対応して、選択する波形データを変更しなかった場
合には、以下に述べる理由により、生成する楽音波形サ
ンプル中に折り返しノイズが発生したり、時間密度に応
じた品質の楽音が生成できない可能性がある。ここで、
時間密度は、楽音波形サンプルを生成する際のサンプリ
ング周波数のことであり、本明細書では、等価サンプリ
ング周波数と呼んでいる。サンプリングの定理による
と、楽音波形サンプルにはそれをサンプリングしたサン
プリング周波数の半分の周波数(以下、「上限周波数」
と呼ぶ)以下の帯域の周波数成分を再現することができ
る。
【0018】波形メモリに記憶された波形データを使用
して楽音を生成する場合には、その記憶された波形デー
タを、等価サンプリング周波数の下で、発生したい楽音
のピッチを有する波形サンプルに変換(以下、「ピッチ
変換」と呼ぶ)し、ピッチ変換後の波形データに基づい
て楽音波形の生成を行う。このとき、もし、波形データ
をピッチ変換した結果得られた波形データが、等価サン
プリング周波数に対応した上限周波数より高い周波数成
分を含む場合には、該周波数成分は折り返しノイズとし
てピッチ変換後の波形データに混入してしまう。一方、
ピッチ変換後の波形データが上限周波数に比べてかなり
低い、たとえば3分の1以下の周波数成分しか含まない
場合には、折角高い等価サンプリング周波数で波形生成
を行っているのに、高域成分が欠如した楽音しか生成さ
れず、楽音の質はあまり良くならない。
【0019】本発明では、楽音生成の素材となる波形デ
ータとして、楽音波形サンプルの生成時間密度に適した
波形データをそれぞれ用意し、その時間密度に応じて選
択使用するようにした。
【0020】また、さらに、請求項4記載の発明の構成
に依れば、請求項3の発明と同様に、楽音波形サンプル
単位時間当たりの波形サンプル数に応じた波形データ
を使用するので、折り返しノイズを削減できる。さら
に、2つの異なる単位時間当たりの波形サンプル数で楽
音波形サンプルを生成する場合に、片方の単位時間当た
りの波形サンプル数に適した波形データを変換した波形
データを、もう一方の単位時間当たりの波形サンプル数
の波形生成に使用するので、異なる単位時間当たりの波
形サンプル数でも同じ音色に聞こえる楽音波形サンプル
を生成できる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0022】図1は、本発明の実施の一形態に係る楽音
発生装置の構成を示すブロック図である。本ブロック図
の構成は、まさに、Windows等のオペレーティン
グシステム(OS)が走る汎用コンピュータそのもので
ある。したがって、本発明は汎用コンピュータ上のソフ
トウェアとして実施することができる。また、本ブロッ
ク図と同様の構成を有する電子楽器上でも実施可能であ
る。
【0023】同図において、本実施の形態の楽音発生装
置は、種々のデータ処理を行うCPU1と、使用者がプ
ログラムの実行指示やデータの入力を行うためのキーボ
ード2と、種々の画像情報および文字情報を表示するデ
ィスプレイ3と、CPU1で実行されるプログラムやデ
ータを記憶するハードディスク装置4と、キーボード
2、ディスプレイ3、ハードディスク4等とのデータの
入出力制御プログラム等を格納したROM5と、実行中
のプログラムや波形データおよび演算中のデータを格納
するRAM6と、時間計測用のタイマ7と、たとえばキ
ーボード等の演奏装置と接続され、演奏データが入力さ
れるMIDIインターフェース8と、CPU1の指示に
応じてRAM6に直接アクセスし、たとえばサンプリン
グ周波数48kHzに対応した頻度で楽音波形データを
読み出して1サンプルずつDAコンバータ10に入力
(以下、「読出再生処理」と呼ぶ)するDMA(Direct M
emoryAccess)制御部9と、DMA制御部9から供給さ
れるディジタル信号の楽音波形データをアナログの楽音
信号に変換するDAコンバータ(DAC)10と、楽音
信号を増幅してスピーカから出力するサウンドシステム
11と、上記構成要素1〜9を相互に接続するバス12
とを備えている。
【0024】以下、本実施の形態において、「波形サン
プル」または「サンプル」とは、サンプリングされた個
々の波形サンプルデータのことを云い、「波形データ」
とは、個々の波形サンプルデータをまとめたデータのう
ち、楽音生成処理の元になるデータのことを云い、「楽
音波形データ」とは、同まとめたデータのうち、楽音生
成処理の結果生成されたデータのことを云うことにす
る。
【0025】図2は、RAM6に記憶される音色データ
および波形データの構成とRAM6上に設定される入力
バッファおよび音源レジスタの構成を示す図である。
【0026】まず、同図(a)の音色データPDp(p
=1,…,16)は、それぞれ各音域の波形を指定する
波形指定データWN(p)と、LFO(Low Frequency
Oscillator)制御オリジナルデータ(OD)と、フィル
タエンベロープジェネレータ(FEG)制御オリジナル
データと、振幅エンベロープジェネレータ(AEG)制
御オリジナルデータと、その他のオリジナルデータと、
演算モードCM(p)とから構成されている。ここで、
pはパート番号を示し、本実施の形態の楽音発生装置で
は、16パートの音色データを設定することができるよ
うに構成されている。また本実施の形態では、波形指定
データWN(p)は波形名で設定され、その波形名はユ
ーザにより設定される(図9参照)。さらに、演算モー
ドCM(p)は、楽音波形を生成する際に、1秒当たり
何個のサンプルを生成するかを間接的に指定するデータ
(等価サンプリング周波数相当)を示している。本実施
の形態では、演算モードCM(p)は、0〜2のうちい
ずれか1つの整数値を採るように構成されている。ここ
で、演算モードCM(p)と等価サンプリング周波数
は、CM=0が48kHz、CM=1が24kHz、C
M=2が12kHzの対応関係にある。
【0027】次に、同図(b)の波形データWD1,W
D2,…は、楽音生成処理で生成する楽音波形データの
元となる波形データを示し、これらの波形データのう
ち、波形データWD1,WD2は、それぞれ所定時間長
分のサンプルからなる波形データであり、一発読み波形
またはアタック部とループ部を有する波形で構成され
る。各波形データWD1,WD2は、それぞれ、所定の
録音サンプリング周波数でサンプリングされて前記ハー
ドディスク4に記憶された複数の波形データを必要に応
じて読み出し、RAM6の波形データ領域に格納したも
のである。波形データWD1′,WD2′は、それぞ
れ、波形データWD1,WD2に所定の帯域制限を施
し、元の録音サンプリング周波数の1/2でダウンサン
プリング(1サンプルずつ飛ばし読み)して、波形デー
タ領域に格納したものである。波形データWD2″は、
波形データWD2′に所定の帯域制限を施し、波形デー
タWD2′のサンプリング周波数の1/2、すなわち元
の録音サンプリング周波数の1/4でダウンサンプリン
グして、波形データ領域に格納したものである。なお、
波形データWD1′,WD2′,WD2″を生成する処
理(波形LPF処理)の詳細は、図11を用いて後述す
る。
【0028】同図(c)の入力バッファは、MIDIイ
ンターフェース8を介して入力される演奏データが格納
されるバッファであり、処理待ちのイベント数を示すデ
ータが格納される領域と、各イベントに対応したイベン
トデータID1,ID2,ID3,…が格納される領域
とからなる。各イベントデータは、イベントの内容を示
すデータとイベント発生時刻を示すデータとからなる。
発生時刻を示すデータは、CPU1が複数のイベントを
まとめて処理するために必要となるものである。
【0029】同図(d)の音源レジスタは、楽音生成処
理における各発音チャンネル毎の制御データを記憶する
ものであり、本実施の形態では32チャンネル分のレジ
スタが設けられている。この各発音チャンネルの制御デ
ータは、それぞれ前記音色データPDpの各種オリジナ
ルデータ(前記(a)参照)をタッチ等の演奏データに
応じて加工して生成したものであり、生成すべき楽音の
ピッチを示すピッチSPと、波形データを読み出す際の
1サンプル当たりのアドレスの進み量を示すFナンバF
Nと、読み出すべき波形データを指定する波形指定デー
タと、前記LFO制御オリジナルデータを加工して生成
したLFO制御データと、前記FEG制御オリジナルデ
ータを加工して生成したFEG制御データと、前記AE
G制御オリジナルデータを加工して生成したAEG制御
データと、発音中か否かを示すノートオンデータと、そ
の他のデータと、演算モードCM(i)(i=1,…,
32)とからなる。
【0030】ここで、FナンバFNは、前述のように1
サンプル当たりの読み出しアドレスの進み量を示す数値
であり、具体的には、次式により算出されて設定され
る。
【0031】FN = 2(SP-OP)/1200×2(CM-WM) ただし、SPは、生成すべき楽音のピッチSPを示し、
OPは、波形指定データで指定される波形データをサン
プリング周波数48kHzで1サンプルずつ読み出した
ときに、その波形データが有する固有のピッチ(オリジ
ナルピッチ)を示し、CMは、前記演算モードCM
(i)を示し、WMは、波形モード、すなわち各波形デ
ータに1つずつ付与され、波形データの録音サンプリン
グ周波数を間接的に示す数値(本実施の形態では、波形
モードWMも、演算モードCM(i)と同様に、0〜2
のうちいずれか1つの整数値を採るように構成されてい
る)を示している。たとえば、波形モードWM=0を、
40k〜48kHzの録音サンプリング周波数に対応さ
せ、波形モードWM=1は20k〜24kHz、波形モ
ードWM=2は10k〜12kHzに対応させる。各波
形モードの波形データは、それぞれ録音サンプリング周
波数の半分の周波数を上限とする高周波数成分を有する
ことが可能である。なお、値SP,OPは、それぞれセ
ント値で与えられるため、“1200”で除算されてい
る。
【0032】ここで、前述したピッチ変換の態様を制御
するのが、このFナンバFNである。
【0033】さらに、音源レジスタには発音処理用のワ
ークエリアが確保されており、このワークエリアは、た
とえばLFO制御データ等によりFナンバFNを修正す
る必要がある場合等のために使用される。
【0034】図3は、RAM6上に設定される出力バッ
ファの構成を示す図である。
【0035】同図において、バッファ0は、前記音源レ
ジスタに格納された制御データ中、演算モード0(CM
(i)=0)が割り当てられた発音チャンネルで生成さ
れた128個の楽音波形サンプルを累算するためのバッ
ファであり、バッファ1は、同様に演算モード1(CM
(i)=1)が割り当てられた発音チャンネルで生成さ
れた64個の楽音波形サンプルを累算するためのバッフ
ァであり、バッファ2は、同様に演算モード2(CM
(i)=2)が割り当てられた発音チャンネルで生成さ
れた32個の楽音波形サンプルを累算するためのバッフ
ァである。
【0036】また、バッファ1′は、バッファ1の64
個の楽音波形サンプルを補間して128個の楽音波形サ
ンプルを生成するためのバッファであり、バッファ2′
は、バッファ2の32個の楽音波形サンプルを補間して
128個の楽音波形サンプルを生成するためのバッファ
である。このようにして生成されたバッファ1′および
2′の128個の楽音波形サンプルは、バッファ0の1
28個の楽音波形サンプルと累算され、再生用の128
個の波形サンプルとしてバッファ0に記憶される。すな
わちバッファ0は、前記DMA制御部9が読み出す、再
生用の128個の楽音波形サンプルデータを記憶するバ
ッファとしても機能する。
【0037】このように低いサンプルレートで生成され
た楽音波形サンプル(本実施の形態ではバッファ1およ
び2の楽音波形サンプルデータ)を補間して128個の
楽音波形サンプルにするのは、バッファ0に生成された
128個の楽音波形サンプルとバッファ1および2にそ
れぞれ生成された64個および32個の楽音波形サンプ
ルとを折り返しノイズを発生させずに累算して最終的な
再生用の128個の楽音波形サンプルを生成するためで
ある。この補間の方法としては、たとえば線形補間等の
周知の方法を用いればよい。
【0038】なお、本実施の形態では、上述のように3
種類のバッファ0〜2を設け、各バッファのバッファサ
イズは、バッファ0:バッファ1:バッファ2=4:
2:1となるように構成したが、バッファの個数および
各バッファのバッファサイズはこれに限らないことは云
うまでもない。たとえば、2種類のバッファ0,1を設
け、バッファ0:バッファ1=3:1となるように各バ
ッファのバッファサイズを設定するようにしてもよい。
【0039】次に、図4を参照して本実施の形態の楽音
生成装置が行う楽音生成処理の概要を説明する。
【0040】前記図2(c)の入力バッファに、たとえ
ばパートpのノートオンイベントが入力されると、この
イベントにより音色データPDpが指定され、この音色
データPDpにより波形名WN(p)および演算モード
CM(p)が指定されて、CPU1は、演算モードCM
(p)に応じた楽音発生装置の時間密度(等価サンプリ
ング周波数)で入力したイベントに対応する楽音の波形
サンプルを演算モードに対応したバッファ上に生成し、
この波形サンプルに対して補間演算等の生成演算を実行
し、演算したデータをRAM6のバッファ0に記憶する
とともに演算終了をDMA制御部9に通知する(図4
(b))。DMA制御部9は、そのデータを順次読み出
して再生処理を行う(同図(c))。したがって、MI
DIインターフェース8を介して入力される演奏データ
のうち、前回のクロックBCの発生時刻tBCから今回
の発生時刻tBCまでの間の演奏入力(同図(a))に
対応する演奏データが今回の生成演算の対象となる。そ
して、時刻tCEに演算が終了した生成データに基づい
た波形データの読出再生処理が、次の時刻tBCからD
MA制御部9で実行され、楽音が出力される。なお、同
図中に示した矢印Pは、単に生成演算されたデータと読
出再生処理との対応関係を示すものであり、時刻tCE
に終了した演算結果が時刻tBCに転送されることを示
すものではない。
【0041】本実施の形態の楽音発生装置のDAC10
におけるサンプリング周波数は48kHzであるので、
クロックBCの発生周期は2.7msec(128/4
8k)となり、演奏入力から実際の楽音発生までの最大
遅れ時間は5msec程度であって、人間の聴感上は問
題とならない。もちろん自動演奏の場合にはこの遅れ時
間はもっと長くても問題はないので、バッファ0のサイ
ズをより大きくしてもよい。また、読出再生処理はクロ
ックBCのタイミングに限る必要はなく、たとえばクロ
ックBCの時刻tBCから所定時間後等、聴感上問題と
ならなければどのようなタイミングであってもよい。
【0042】以上のように構成された楽音発生装置のC
PU1が実行する制御処理を、以下、図5〜13を参照
して説明する。
【0043】図5は、メインルーチンのフローチャート
であり、たとえばユーザが楽音発生装置の電源をオンに
する(汎用パソコンの場合には、ソフトウェア音源のプ
ログラムを起動したとき)と、処理が開始される。ま
た、図6は、MIDI受信割り込み処理のフローチャー
トであり、この割り込み処理は、MIDIインターフェ
ース8を介して演奏データが入力されると最優先で実行
される。
【0044】まず図6の処理について説明すると、ステ
ップS11では受信データを取り込み、ステップS12
ではその受信データを受信時刻を示す時刻データととも
に前記RAM6の入力バッファに書き込む。
【0045】図5のメインルーチンでは、まずすべての
発音チャンネルをオフし、レジスタをクリアし、さらに
DMA制御部9の読出再生処理を初期化してスタートさ
せる等の初期設定処理を行い(ステップS1)、次いで
入力バッファに受信データが有るか否かを判別する(ス
テップS2)。その結果、受信データがなければ直ちに
ステップS4に進み、受信データがあれば受信データに
応じた処理、たとえばノートオンイベント処理、ノート
オフイベント処理、ペダル処理等を行い、ステップS4
に進む。
【0046】ステップS4では、音色の選択などのスイ
ッチイベントが発生したか否かを判別し、発生していな
ければ直ちにステップS6に進む一方、発生していれば
音色選択スイッチの設定に応じて、各MIDIチャンネ
ル毎に音色を選択する等のパネルスイッチイベント処理
を行った(ステップS5)後にステップS6に進む。
【0047】ステップS6では図13を用いて後述する
音源処理サブルーチンを実行し、ステップS7ではその
他の処理を行ってステップS2に戻る。以後、ステップ
S2〜S7を繰り返し実行する。
【0048】図7は、図5のステップS3で実行される
受信データ処理の1つであるノートオンイベント処理の
手順を示すフローチャートである。
【0049】まずステップS21では、受信したノート
オンイベントデータが示すピッチおよびパート番号を、
それぞれ前記RAM6に確保された領域SP(以下、こ
の内容を「ピッチSP」という)およびp(以下、この
内容を「パートp」という)に格納するとするととも
に、その発生時刻(受信時刻)をRAM6に確保された
領域TM(以下、この内容を「発生時刻TM」という)
に格納する。
【0050】次いで、音源レジスタ(図2(d))のど
のチャンネルに書き込むかを決める発音割当処理を行
い、割り当てたチャンネル番号をRAM6に確保された
領域i(以下、この内容を「割当チャンネルi」とい
う)に格納する(ステップS22)。
【0051】続くステップS23では、パートpの音色
データPDp(図2(a))を検索して波形名(波形指
定データ)WN(p)および演算モードCM(p)を取
得し、この波形名WN(p)を有する波形データの中か
ら演算モードCM(p)に応じた波形データを選択し、
そのRAM6上の読出アドレス(図2(b)参照)を割
当チャンネルiの波形指定データ(図2(d))として
設定する。
【0052】このとき、同一波形名WN(p)を有する
波形データが複数個存在する場合がある。たとえば波形
データWD2′およびWD2″は、前述したように波形
データWD2をダウンサンプリングしたものであり、そ
の波形名は、波形データWD2の波形名と同一である。
このように同一波形名を有する波形データが複数個存在
する場合には、その中から、演算モードCM(p)に応
じて1つの波形データを選択する。
【0053】しかし、同一波形名を有する波形データが
複数個存在する場合でも、演算モードCM(p)に対応
する波形データが存在しない場合がある。たとえば図2
(b)において、演算モードCM(p)=2に対応する
波形データWD1″は存在しない。これは、ユーザが、
たとえば波形LPF処理(図11を用いて後述)等によ
り波形データWD1″を作成しなかったからである。こ
のような場合には、演算モードCM(p)に対応する波
形データを選択することはできないので、同一波形名W
N(p)で波形モードWMの異なる波形データを選択
し、その波形データの読み出し速度を変更する(すなわ
ちピッチを変更する、具体的にはFナンバFNを調整す
る)ことにより所望の楽音信号を生成する。
【0054】なお、本実施の形態では、演算モードCM
(p)とその演算モードの楽音生成に適した波形の波形
モードWMとを1対1に対応させている。すなわち、た
とえば演算モードCM(p)=0のときには、波形モー
ドWMが“0”である波形データを選択するようにして
いる。しかし、演算モードCM(p)と波形モードWM
とは別々の概念であり、常に一致するものではなく、本
実施の形態においては、単に演算モードCM(p)と波
形モードWMとが一致するように、波形データを生成し
たに過ぎない。
【0055】続くステップS24では、パートpの音色
データPDp(すなわち音色番号TC(p)が示す音色
データ)を、ピッチSPおよび演算モードCM(p)に
応じて加工し、イベント発生時刻TMとともに、割当チ
ャンネルiの音源レジスタの所定領域に設定する(ステ
ップS24)。ここで、音色データPDpを加工する1
つの目的は、音量エンベロープジェネレータ(図示せ
ず)を制御する音量EG制御データの時変形状や音色フ
ィルタ(図示せず)のカットオフ周波数等が演算モード
CM(p)に応じて変化しないようにするためである。
そして、もう1つの目的は、通常の電子楽器で行われて
いるのと同様に、ピッチSP等の演奏情報に応じてエン
ベロープの形状等、楽音特性に変化を付けるためであ
る。なお、音色番号TC(p)は、図8を用いて後述す
るようにユーザにより設定される。
【0056】次いで、割当チャンネルiの音源レジスタ
にノートオンデータを書き込み(ステップS25)、本
処理を終了する。
【0057】図8〜11は、ユーザがパネルスイッチを
押すことにより発生する各種イベントの処理の手順を示
すフローチャートであり、各処理は、前記ステップS5
(図5)のパネルスイッチイベント処理の一処理であ
る。ここで、パネルスイッチは、前記キーボード2に予
め割り当てられたものであってもよいし、前記ディスプ
レイ3上に表示されたものであってもよい。パネルスイ
ッチがディスプレイ3上に表示されたものである場合に
は、キーボード2のアップ/ダウンキーや図示しないマ
ウス等によりカーソルを移動させ、所望のパネルスイッ
チを押すようにすればよい。
【0058】図8は、パート音色選択スイッチ(図示せ
ず)が押されたときのパート音色選択処理の手順を示す
フローチャートである。
【0059】同図において、まずユーザがパート番号を
入力すると、そのパート番号を前記領域pに格納し、次
にユーザが音色番号を入力すると、その音色番号を前記
RAM6に確保された領域TC(p)に格納する(ステ
ップS31)。領域TC(p)に格納された音色番号
が、前記音色番号TC(p)である。
【0060】次に、音色データを準備する(ステップS
32)。具体的には、前記ハードディスク4の所定領域
に予め記憶された音色データ群から、音色番号TC
(p)で示される音色データを検索して、パートpで示
される音色データ領域(図2(a)参照)にロードす
る。また、ロードした音色データ中の波形指定データW
N(p)を参照し、該データWN(p)及びデータCM
(p)によって指定された波形データが図2(b)の波
形データ記憶領域内に有るか否かを判定し、存在しない
場合には、ハードディスク4から波形データ記憶領域に
その波形データを自動的にロードする。その際、もとも
とパートpに設定されていた音色データはハードディス
ク4の対応する記憶領域にセーブされる。
【0061】図9は、パートモード選択スイッチ(図示
せず)が押されたときのパートモード選択処理の手順を
示すフローチャートである。
【0062】まず、前記ステップS31と同様にしてユ
ーザが入力したパート番号を前記領域pに格納し、次に
ユーザが演算モードを入力すると、その演算モード(0
〜2のうち、いずれか1つの整数値)を、パートpで示
される音色データ領域中の前記領域CM(p)に格納す
る(ステップS41)。
【0063】図10は、パート波形選択スイッチ(図示
せず)が押されたときのパート波形選択処理の手順を示
すフローチャートである。
【0064】まず、前記ステップS31と同様にしてユ
ーザが入力したパート番号を前記領域pに格納し、次に
ユーザが波形名を入力すると、その波形名を、パートp
で示される音色データ領域中の前記領域WN(p)に格
納する(ステップS51)。
【0065】次に、演算モードCM(p)に対応した波
形データを準備する(ステップS52)。具体的には、
前記ハードディスク4の所定領域に記憶された波形デー
タ群から、演算モードCM(p)を考慮した波形名WN
(p)で示される波形データを検索して、前記RAM6
の波形データ領域(図2(b)参照)にロードする。
【0066】ここで、「演算モードCM(p)を考慮し
た」とは、波形名WN(p)が同一の波形データが複数
個存在し、演算モードCM(p)に対応する波形モード
WMの波形データがある場合には、その波形モードWM
の波形データのみを波形データ領域にロードするという
意味であり、このようにするとRAM6を効率的に使用
することができる。しかし、これに限らず、演算モード
CM(p)を考慮せずに、同一波形名WN(p)の波形
データが複数個あるか否かに拘わらず、波形名WN
(p)で示される全ての波形データを波形データ領域に
ロードするようにしてもよい。
【0067】なお、すでに同じ波形名でRAM6の波形
データ領域に記憶されている場合には、本処理は必要な
いが、再ロードしても問題は生じない。
【0068】図11は、波形LPFスイッチ(図示せ
ず)が押されたときの波形LPF処理の手順を示すフロ
ーチャートである。
【0069】まず、ユーザが処理する波形およびその処
理内容を入力すると、その処理すべき波形をRAM6の
波形データ領域から検索する(ステップS61)。この
とき、処理すべき波形が検索されない場合には、ハード
ディスク4の波形データ群を検索する。また、処理内容
とは、ダウンサンプリングの種類や制限する帯域等をい
う。
【0070】次に、このようにして検索された波形が、
繰り返して読み出されるループ部を有するか否かを判別
し(ステップS62)、ループ部を有しない場合には、
まず帯域制限を行い(ステップS63)、次にダウンサ
ンプリングし(ステップS64)、波形を完成して、R
AM6の波形データ領域に記憶する(ステップS6
5)。このステップS63で帯域制限するのは、帯域制
限せずにダウンサンプリングした波形データをそのまま
記憶すると、記憶された波形データに折り返しノイズが
混入するからである。したがって、ダウンサンプリング
で折り返しノイズが発生しない程度の帯域制限を施す必
要があり、この制限すべき周波数帯域は、前記ステップ
S61でユーザが設定する。
【0071】図12は、上記ステップS63およびS6
4の処理を説明するための図であり、図中、横軸は周波
数を示し、縦軸はレベルを示している。そして、(a)
は、波形LPF処理を行う前、すなわち等価サンプリン
グ周波数48kHzの楽音生成演算用に所定録音サンプ
リング周波数Fsでサンプリングされた(すなわち波形
モードWM=0の)オリジナル波形(波形名:PIAN
O.0)の周波数スペクトルの一例を示し、(b)は、
(a)の波形に帯域制限処理を施した後の周波数スペク
トルを示し、(c)は、(b)の波形を元の録音サンプ
リング周波数の1/2の周波数でダウンサンプリングし
た、等価サンプリング周波数24kHzの楽音生成演算
用の波形データ(波形モードWM=1)の周波数スペク
トルを示し、(d)は、(c)の波形に対してさらにL
PF処理、すなわち帯域制限処理を施し、録音サンプリ
ング周波数の1/2の周波数でダウンサンプリングし
た、等価サンプリング周波数12kHzの楽音生成演算
用の波形データ(波形モードWM=2)の周波数スペク
トルを示している。ここで、(c)のダウンサンプリン
グは、図2(b)を用いて前述したように、(b)の波
形データを1つずつ飛ばし読みすることにより行ってい
る。これと同様に、(d)のダウンサンプリングも、
(c)の波形データを帯域制限したものを1つずつ飛ば
し読みすることにより行っている。このため、本実施の
形態では、オリジナル波形の2-n(nは正の整数)倍の
録音サンプリング周波数でダウンサンプリングできるの
みであるが、前記ステップS63およびS64の処理を
同時に行うことにより、オリジナル波形のサンプリング
周波数に対して任意の倍数の周波数でダウンサンプリン
グすることも可能である。
【0072】図11に戻り、ステップS62の判別で、
検索された波形データがループ部を有する場合には、ま
ず波形を、アタック部に複数回繰り返すループ部を接続
した波形データに展開し(ステップS66)、次に帯域
制限した(ステップS67)後にダウンサンプリングし
(ステップS68)、このようにして生成された波形デ
ータから新しいアタック部およびループ部を切り出し
(ステップS69)、前記ステップS65と同様にして
波形を完成して記憶する(ステップS70)。このステ
ップS67およびS68の処理は、それぞれ前記ステッ
プS63およびS64と同様の処理である。ここで、ル
ープ部を有する波形に対し上記のような処理を施したの
は、アタック部とループ部から成る波形データの場合、
ループ部は波形データのサンプル数が少ないために、オ
リジナル波形に対してそのまま帯域制限をするときに、
高い次数のローパスフィルタが使えないので、十分な帯
域減衰特性が得られないためである。上記方法によれ
ば、ループ部を有する波形データであっても、高い次数
のローパスフィルタを使えるので、不要ノイズの少ない
LPF処理が可能である。
【0073】続くステップS71では、前記ステップS
65またはS70で記憶された波形データを、前記RA
M6または前記ハードディスク4の所定領域に格納(登
録)した後に、本波形LPF処理を終了する。
【0074】図13は、前記図5のステップS6の音源
処理サブルーチンの詳細な手順を示すフローチャートで
ある。
【0075】まずステップS81で音源レジスタ(図2
(d))をチェックし、続くステップS82で新規書込
が有ったか否かを判別する。新規書込がなければ直ちに
ステップS84に進む一方、新規書込があったときは該
書込が有った発音チャンネルの音源制御準備処理を行う
(ステップS83)。音源制御準備処理とは、具体的に
は、チャンネルi(新規書込があった発音チャンネル)
のデータを実際に波形演算を行うための各種制御データ
に変換したり、チャンネルiのデータに対応する波形デ
ータの最初の読み出しアドレスを設定したりする処理を
いう。
【0076】続くステップS84では、演算時刻の管理
を行う。すなわち、再生部(DMA制御部9)における
再生波形データの読み出しが途切れないように、現在再
生中の波形データの読み出しを開始する時刻を次の波形
データの演算開始時刻tBC(図4参照)として指定す
る。さらにステップS85では、演算開始時刻tBCと
なったか否かを判別し、なっていなければ直ちに本処理
を終了する。
【0077】演算開始時刻となったときは、まず各発音
チャンネルが生成すべき楽音に応じて演算順序および消
音するチャンネルを決定するチャンネル制御を行う(ス
テップS86)。演算順序を決定するのは、演算を終了
すべき時刻までに演算が終了しない(このとき、演算が
打ち切りとなる)場合を考慮して、重要度の高い演算か
ら先に処理するためである。次いでステップS83で準
備したデータを時間軸上で展開することにより、波形演
算の準備を行い(ステップS87)、演算順序1番の発
音チャンネル番号をパラメータiとする(ステップS8
8)。
【0078】次に、ステップS89では演算モードCM
(i)の値を判別し、CM(i)=0のときにはチャン
ネルiの128サンプル分の楽音波形データを生成して
バッファ0に足し込み(ステップS90)、CM(i)
=1のときにはチャンネルiの64サンプル分の楽音波
形データを生成してバッファ1に足し込み(ステップS
91)、CM(i)=2のときにはチャンネルiの32
サンプル分の楽音波形データを生成してバッファ2に足
し込む(ステップS92)。ここで、各ステップS90
〜92の処理は、それぞれ対応するバッファにおける楽
音データ(波形サンプルデータ)の単純な足し込みでは
なく、各チャンネルiのFナンバFN(図2(d)参
照)に応じた読出しアドレスの更新制御、図2(b)に
示される波形データ記憶領域からの該読み出しアドレス
に応じた波形サンプルデータの読み出しと補間、およ
び、補間で得られた波形サンプルに対し、さらに音色お
よび音量エンベロープ等の加工を施して楽音波形サンプ
ルとする加工処理等を行った上での足し込みである。以
上の処理が、一度の生成処理で生成する楽音波形データ
の各サンプルについて、繰り返し行われる。たとえば、
演算モードCM(i)=0のチャンネルiでは128サ
ンプルの楽音波形サンプルが出来上がるまで繰り返され
る。ここで、読み出される波形データは、前述した波形
指定データで指定された波形データである。該波形デー
タは、発音チャンネルiで生成中の楽音が属するパート
pの波形名WN(p)と、演算モードCM(i)に対応
して選択指定される。もし、現在生成中の楽音信号に使
用している波形データの録音サンプリング周波数と、チ
ャンネルiに設定された演算モード(等価サンプリング
周波数)とが適応していない場合には、前述したFナン
バFNの計算式の後半部の項によりFナンバFNの値の
補正が行われるが、これは、このようなときにも指示さ
れたピッチの楽音を生成するようにするためである。な
お、ステップS90〜92の処理の詳細は、特願平7−
197923号の図面の図13及び明細書の同図に関連
する記載を参照。
【0079】以上のように、各演算モードに最適の波形
モードの波形が選択されなかった場合でも、FナンバF
Nを補正することにより、いずれの演算モードでも指定
されたピッチSPの楽音波形サンプルが生成できるが、
該補正等によりFナンバFNの数値が基準値「1」から
大きく離れた場合には、生成する楽音のクオリティに問
題が生ずる。たとえば、補正によりそのチャンネルのF
ナンバFNが非常に大きくなった場合(たとえば、FN
>2)、波形データ記憶領域から読み出した波形データ
の高域成分が、等価サンプリング周波数の半分以上の周
波数を超え、補間で得られる波形サンプルにその折り返
しノイズが発生する。逆に、補正によりFナンバFNが
非常に小さくなった場合(たとえば、FN<0.5)、
補間で得られる波形サンプルには、等価サンプリング周
波数の4分の1以下の高調波成分しか含まれず、そのチ
ャンネルに設定された楽音波形サンプル生成の時間密度
分のクオリティが得られないことになる。したがって、
波形指定データの示す波形データ、すなわち各チャンネ
ルiの楽音生成で読み出す波形データとしては、各チャ
ンネルの演算モードCM(i)に適した波形モードの波
形データ(たとえばCM=1ならWM=1の波形デー
タ)を選択設定することが望ましい。
【0080】次に、チャンネルiは最終チャンネルか否
か、すなわち波形演算すべきチャンネルの演算を全て終
了したか否かを判別し(ステップS93)、まだ波形演
算すべきチャンネルが残っているときには次の演算順序
のチャンネル番号をチャンネルiにした(ステップS9
4)後に、前記ステップS89に戻って前述の処理を繰
り返す。一方、ステップS93の判別で、演算すべきチ
ャンネルを全て終了したときにはステップS95に進
む。
【0081】ステップS95では、前記図3で説明した
ように、バッファ1に生成された64サンプル、およ
び、バッファ2に生成された32サンプルの楽音波形デ
ータを補間(オーバーサンプリング)して、それぞれ、
128サンプルの楽音波形データとしてバッファ1′お
よびバッファ2′に格納し、ステップS96では、バッ
ファ0,1′,2′の各128個の楽音波形データを加
算して得られた128サンプルの楽音波形データをバッ
ファ0に格納する。
【0082】続くステップS97では、このようにして
バッファ0に格納された楽音波形データにリバーブ処理
を施して残響効果を付与し、ステップS98では、バッ
ファ0の128サンプルを再生部に再生予約した後に、
本音源処理を終了する。
【0083】以上説明したように本実施の形態では、楽
音を生成する演算処理の演算モードを複数個設け、この
中からユーザが任意に選択するように構成したので、ユ
ーザの利用目的に応じて、発音数重視またはクオリティ
重視のいずれの形態をも採ることができる。
【0084】また、各パート毎に演算モードを設定する
ようにしたので、聴感上効果の大きいパートの楽音を高
いクオリティで生成でき、限られた演算能力を最大限に
活用することができる。
【0085】さらに、生成楽音のクオリティの高い演算
モード(モード0)用の高い録音サンプリング周波数の
波形データから生成楽音のクオリティの低い演算モード
(モード1または2)に応じた低い録音サンプリング周
波数の波形データをLPF処理により作成し、このよう
にして作成された波形データから、ユーザにより選択さ
れた演算モードに応じて波形データを選択して楽音を生
成するように構成したので、低い等価サンプリング周波
数で演算を行うチャンネルにおいて、クオリティは落ち
るものの折り返しノイズを発生させずに、高い等価サン
プリング周波数で演算された楽音と同じ音色の波形を生
成することができる。
【0086】また、ユーザが選択した演算モードに応じ
て波形データを自動選択するように構成したので、高い
等価サンプリング周波数のチャンネルでは、録音サンプ
リング周波数の高い広い帯域に亘る周波数成分を有する
波形データを使用し、低い等価サンプリング周波数のチ
ャンネルでは録音サンプリング周波数の低い狭い帯域の
周波数成分を有する波形データを使用でき、これにより
音色データ中の波形の指定を変更しなくてもよい。
【0087】なお、本実施の形態では、より低いサンプ
ル数の演算モードCM(p)を選択したときに、その演
算モードCM(p)に対応する波形モードWMを有する
波形データが存在しない場合には、その演算モードCM
(p)と異なった波形モードWMの波形データを選択
し、この波形データに基づいて楽音信号を生成するよう
に構成したが、これに限らず、選択した演算モードCM
(p)に対応する波形モードWMの波形データが存在す
るか否かを自動検出し、存在しない場合には、前記図1
1の波形LPF処理に自動的に移行して、その演算モー
ドCM(p)の波形データを作成し、この作成した波形
データに基づいて楽音信号を生成するようにしてもよ
い。
【0088】また、本実施の形態では、波形データWD
n(n=1、2……)に波形LPF処理を行い、それよ
り低い録音サンプリング周波数の波形データWDn′,
WDn″を得るようにしたが、この波形データWD
n′,WDn″は波形LPF処理以外の方法で用意して
もよい。たとえば、最初から低い録音サンプリング周波
数で録音すれば、直接波形データWDn′,WDn″を
得ることができる。そして、ハードディスク4には、波
形データWDnが記憶されるだけでなく、波形データW
Dn′やWDn″も記憶される。ハードディスク4にそ
れらの波形が記憶されている場合には、波形データWD
nに波形LPF処理をせずとも、波形データWDn′、
WDn″をハードディスクからRAM6に読み出すこと
ができる。
【0089】なお、本実施の形態では、演算モードCM
(p)は各パート毎に1つ選択できるのみであったが、
これに限らず、同一パートの発音を行う複数チャンネル
内においても、たとえば各チャンネルの音量やピッチ等
に応じて演算モードを自動的に変更できるようにしても
よい。
【0090】また、本実施の形態では、CPUの実行す
るソフトウェアとして発明を実現したが、これに限らず
たとえばDSP(ディジタル・シグナル・プロセッサ)
等のプログラムで動作する演算装置一般で実現すること
が可能である。さらに、本実施の形態の楽音発生装置
は、汎用のパーソナルコンピュータで実現するようにし
てもよいし、専用機器で実現するようにしてもよい。
【0091】
【発明の効果】以上説明したように、請求項1および5
記載の本発明に依れば、入力された音高および制御情報
に応じて位相情報が発生され、この位相情報に基づい
て、所定期間毎に、前記入力された音高情報に応じた楽
音波形サンプルが、前記入力された制御情報に応じた
位時間当たりの波形サンプル数で、各チャンネル毎に生
成され、この生成された楽音波形サンプルに基づいて楽
音が発生されるので、ユーザの利用目的に応じて、発音
数重視またはクオリティ重視のいずれの形態をも採るこ
とが可能となる効果を奏する。
【0092】また、請求項2および6記載の発明の構成
に依れば、入力された演奏情報に応じたチャンネルの楽
音波形サンプルが、当該演奏情報が属するパートの、設
定された制御情報に応じた単位時間当たりの波形サンプ
ル数で生成され、この生成された楽音波形サンプルに基
づいて楽音が発生されるので、聴感上効果の大きいパー
トの楽音を高いクオリティで生成でき、限られた演算能
力を最大限に活用することができる。
【0093】さらに、請求項3および7記載の発明の構
成に依れば、入力された演奏情報に応じて、波形メモリ
に記憶された波形データに基づく楽音生成演算が実行さ
れ、発生された制御情報に応じた単位時間当たりの波形
サンプル数で楽音波形サンプルが生成され、前記楽音生
成演算では、前記発生した制御情報に応じて前記波形メ
モリ中の異なる波形データを選択的に用いて楽音生成演
算が行われ、このようにして生成された楽音波形サンプ
ルに基づいて楽音が発生されるので、高いサンプリング
周波数のチャンネルでは、広い帯域に亘る周波数成分を
有する波形データを使用し、低いサンプリング周波数の
チャンネルでは狭い帯域の周波数成分を有する波形デー
タを使用でき、これにより音色データ中の波形の指定を
変更しなくてもよい。
【0094】また、さらに、請求項4記載の発明の構成
に依れば、楽音波形サンプルの単位時間当たりの波形サ
ンプル数に応じた波形データを使用するので、折り返し
ノイズを削減できる。さらに、2つの異なる単位時間当
たりの波形サンプル数で楽音波形サンプルを生成する場
合に、片方の単位時間当たりの波形サンプル数に適した
波形データを変換した波形データを、もう一方の単位時
間当たりの波形サンプル数の波形生成に使用するので、
異なる単位時間当たりの波形サンプル数でも同じ音色に
聞こえる楽音波形サンプルを生成できる。
【図面の簡単な説明】
【図1】本発明の実施の一形態に係る楽音発生装置の構
成を示すブロック図である。
【図2】図1のRAMに記憶される音色データおよび波
形データの構成とRAM上に設定される入力バッファお
よび音源レジスタの構成を示す図である。
【図3】図1のRAM上に設定される出力バッファの構
成を示す図である。
【図4】図1の楽音生成装置が行う楽音生成処理の概要
を説明するための図である。
【図5】図1のCPUで実行されるメインルーチンのフ
ローチャートである。
【図6】MIDI受信割り込み処理のフローチャートで
ある。
【図7】図1のMIDIインターフェースを介してデー
タを受信したときのノートオンイベント処理のフローチ
ャートである。
【図8】パート音色選択スイッチが押されたときのパー
ト音色選択処理の手順を示すフローチャートである。
【図9】パートモード選択スイッチが押されたときのパ
ートモード選択処理の手順を示すフローチャートであ
る。
【図10】パート波形選択スイッチが押されたときのパ
ート波形選択処理の手順を示すフローチャートである。
【図11】波形LPFスイッチが押されたときの波形L
PF処理の手順を示すフローチャートである。
【図12】図11の波形LPF処理により生成される波
形データの周波数特性の一例を示す図である。
【図13】図5のステップS6の音源処理サブルーチン
の詳細な手順を示すフローチャートである。
【符号の説明】
1 CPU(制御情報入力手段、楽音波形サンプル生成
手段、制御情報発生手段) 2 キーボード(音高情報入力手段、演奏情報入力手
段、操作子、制御情報設定手段) 5 ROM 6 RAM(波形メモリ、記憶手段) 8 MIDIインターフェース(演奏情報入力手段) 9 ダイレクトメモリアクセス制御部(楽音発生手段) 10 DAコンバータ(楽音発生手段)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のチャンネルで生成された楽音波形
    サンプルに基づいて楽音を発生するステップを備えた楽
    音発生方法において、音高を示す音高情報 を入力するステップと、 ユーザが操作した操作子の操作量に応じ、単位時間当た
    りに生成する波形サンプル数を示す制御情報を入力する
    ステップと、 所定期間毎に、前記音高情報に応じた楽音波形サンプル
    を、前記入力された制御情報に応じた単位時間当たりの
    波形サンプル数で、各チャンネル毎に生成するステップ
    であって、前記音高情報および前記制御情報に応じて位
    相情報を発生し、該位相情報に応じて楽音波形サンプル
    を生成するステップとを有し、 該生成された楽音波形サンプルに基づいて楽音を発生す
    ることを特徴とする楽音発生方法。
  2. 【請求項2】 複数のチャンネルで生成された楽音波形
    サンプルに基づいて楽音を発生するステップを備えた楽
    音発生方法において、 複数パートの演奏情報を入力するステップと、単位時間当たりに生成する波形サンプル数を示す 制御情
    報を前記各パート毎に設定するステップと、 前記入力された演奏情報を前記複数のチャンネルのうち
    のいずれかに割当て、該割当られたチャンネルにおい
    て、当該演奏情報に応じた楽音波形サンプルを、当該演
    奏情報が属するパートの前記設定された制御情報に応じ
    単位時間当たりの波形サンプル数で生成するステップ
    とを有し、 該生成された楽音波形サンプルに基づいて楽音を発生す
    ることを特徴とする楽音発生方法。
  3. 【請求項3】 楽音波形サンプルに基づいて楽音を発生
    するステップを備えた楽音発生方法において、 演奏情報を入力するステップと、単位時間当たりに生成する波形サンプル数を示す 制御情
    報を発生するステップと、 前記入力した演奏情報に応じて、波形メモリに記憶され
    た波形データに基づく楽音生成演算を実行し、前記発生
    した制御情報に応じた単位時間当たりの波形サンプル数
    で楽音波形サンプルを生成するステップとを有し、 該楽音波形サンプルを生成するステップでは、前記発生
    した制御情報に応じて前記波形メモリ中の異なる波形デ
    ータを選択的に用いて楽音生成演算を行い、前記楽音を
    発生するステップでは、該楽音生成演算により生成され
    た楽音波形サンプルに基づいて楽音を発生することを特
    徴とする楽音生成方法。
  4. 【請求項4】 所定のサンプリング周波数で楽音を生成
    するための第1の波形データを記憶手段に記憶するステ
    ップと、 該記憶された第1の波形データを当該所定のサンプリン
    グ周波数と異なったサンプリング周波数の波形データに
    変換し、第2の波形データとして前記記憶手段に記憶す
    るステップと、 前記記憶手段に記憶された波形データに基づいて楽音波
    形サンプルを生成するステップとを有し、 該楽音波形サンプルを生成するステップでは、複数の異
    なる単位時間当たりの波形サンプル数で前記楽音波形サ
    ンプルを生成可能であり、該単位時間当たりの波形サン
    プル数に応じて前記第1の波形データおよび前記第2の
    波形データのうちいずれか一方を選択して、該選択され
    た波形データに基づいて楽音波形サンプルを生成するこ
    とを特徴とする楽音波形発生方法。
  5. 【請求項5】 複数のチャンネルで生成された楽音波形
    サンプルに基づいて楽音を発生する楽音発生手段を備え
    た楽音発生装置において、音高を示す音高 情報を入力する音高情報入力手段と、 操作子の操作量に応じ、単位時間当たりに生成する波形
    サンプル数を示す制御情報を入力する制御情報入力手段
    と、 所定期間毎に、前記音高情報に応じた楽音波形サンプル
    を、前記入力された制御情報に応じた単位時間当たりの
    波形サンプル数で、各チャンネル毎に生成する楽音波形
    サンプル生成手段であって、前記音高情報および前記制
    御情報に応じて位相情報を発生し、該位相情報に応じて
    楽音波形サンプルを生成するものとを有し、 前楽音発生手段は、該生成された楽音波形サンプルに
    基づいて楽音を発生することを特徴とする楽音発生装
    置。
  6. 【請求項6】 複数のチャンネルで生成された楽音波形
    サンプルに基づいて楽音を発生する楽音発生手段を備え
    た楽音発生装置において、 複数パートの演奏情報を入力する演奏情報入力手段と、単位時間当たりに生成する波形サンプル数を示す 制御情
    報を前記各パート毎に設定する制御情報設定手段と、 前記入力された演奏情報を前記複数のチャンネルのうち
    のいずれかに割当て、該割当てられたチャンネルにおい
    て、当該演奏情報に応じた楽音波形サンプルを、当該演
    奏情報が属するパートの前記設定された制御情報に応じ
    単位時間当たりの波形サンプル数で生成する楽音波形
    サンプル生成手段とを有し、前記 楽音発生手段は、該生成された楽音波形サンプルに
    基づいて楽音を発生することを特徴とする楽音発生装
    置。
  7. 【請求項7】 楽音波形サンプルに基づいて楽音を発生
    する楽音発生手段を備えた楽音発生装置において、 演奏情報を入力する演奏情報入力手段と、単位時間当たりに生成する波形サンプル数を示す 制御情
    報を発生する制御情報発生手段と、 前記入力した演奏情報に応じて、波形メモリに記憶され
    た波形データに基づく楽音生成演算を実行し、前記発生
    した制御情報に応じた単位時間当たりの波形サンプル数
    で楽音波形サンプルを生成する楽音波形サンプル生成手
    段とを有し、 該楽音波形サンプル生成手段は、前記発生した制御情報
    に応じて前記波形メモリ中の異なる波形データを選択的
    に用いて楽音生成演算を行い、前記楽音発生手段は、該
    楽音生成演算により生成された楽音波形サンプルに基づ
    いて楽音を発生することを特徴とする楽音生成装置。
JP7275092A 1995-09-29 1995-09-29 楽音発生方法および装置 Expired - Fee Related JP2956552B2 (ja)

Priority Applications (13)

Application Number Priority Date Filing Date Title
JP7275092A JP2956552B2 (ja) 1995-09-29 1995-09-29 楽音発生方法および装置
DE69611874T DE69611874T2 (de) 1995-09-29 1996-09-27 Verfahren und Vorrichtung zur Musiktonerzeugung
DE69632695T DE69632695T2 (de) 1995-09-29 1996-09-27 Verfahren und Vorrichtung zur Musiktonerzeugung
DE69632351T DE69632351T2 (de) 1995-09-29 1996-09-27 Verfahren und Vorrichtung zur Musiktonerzeugung
EP96115597A EP0766226B1 (en) 1995-09-29 1996-09-27 Musical tone-generating method and musical tone-generating apparatus
EP00103423A EP1011091B1 (en) 1995-09-29 1996-09-27 Musical tone-generating method and musical tone-generating apparatus
EP00103422A EP1011090B1 (en) 1995-09-29 1996-09-27 Musical tone-generating method and musical tone-generating apparatus
US08/722,633 US6326537B1 (en) 1995-09-29 1996-09-27 Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
SG1996010764A SG50769A1 (en) 1995-09-29 1996-09-28 Musical tone-generating method and musical tone-generating apparatus
SG1999001107A SG75928A1 (en) 1995-09-29 1996-09-28 Musical tone-generating method and musical tone-generating apparatus
KR1019960043063A KR100416932B1 (ko) 1995-09-29 1996-09-30 악음발생장치,악음발생방법및기억매체
US09/954,307 US6509519B2 (en) 1995-09-29 2001-09-14 Method and apparatus for generating musical tone waveforms by user input of sample waveform frequency
KR1020030033319A KR100402364B1 (ko) 1995-09-29 2003-05-26 악음발생장치, 악음발생방법 및 기억매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7275092A JP2956552B2 (ja) 1995-09-29 1995-09-29 楽音発生方法および装置

Publications (2)

Publication Number Publication Date
JPH0997084A JPH0997084A (ja) 1997-04-08
JP2956552B2 true JP2956552B2 (ja) 1999-10-04

Family

ID=17550684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7275092A Expired - Fee Related JP2956552B2 (ja) 1995-09-29 1995-09-29 楽音発生方法および装置

Country Status (1)

Country Link
JP (1) JP2956552B2 (ja)

Also Published As

Publication number Publication date
JPH0997084A (ja) 1997-04-08

Similar Documents

Publication Publication Date Title
US6180863B1 (en) Music apparatus integrating tone generators through sampling frequency conversion
US5831193A (en) Method and device for forming a tone waveform by combined use of different waveform sample forming resolutions
KR100402364B1 (ko) 악음발생장치, 악음발생방법 및 기억매체
JP2012150328A (ja) 楽音信号発生装置
JPH0798586A (ja) 電子楽器の音源装置
JP2956552B2 (ja) 楽音発生方法および装置
JPH07121181A (ja) 音声情報処理装置
JP2006221209A (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP3000894B2 (ja) 楽音発生方法
JP3019755B2 (ja) 楽音発生方法および楽音発生装置
JPH11288285A (ja) 楽音発生方法及び装置
JPH07306681A (ja) 楽音生成装置
JP3003559B2 (ja) 楽音生成方法
JP3603638B2 (ja) 楽音発生方法
JP3137043B2 (ja) 波形メモリ音源装置および楽音発生装置
JPH07325581A (ja) 楽音発生装置
JP3164096B2 (ja) 楽音発生方法及び装置
JP3723973B2 (ja) 音源装置
JP3632744B2 (ja) 音生成方法
JP3603849B2 (ja) 楽音発生方法
JP3148803B2 (ja) 音源装置
JPH10124060A (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JPS6335994B2 (ja)
JP3627590B2 (ja) 音生成方法
JP2000122668A (ja) デジタル音声データ処理装置およびコンピュータシステム

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120723

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees