JP2001092461A - 波形発生方法、記録媒体、波形発生装置およびプログラムの配布方法 - Google Patents

波形発生方法、記録媒体、波形発生装置およびプログラムの配布方法

Info

Publication number
JP2001092461A
JP2001092461A JP26446899A JP26446899A JP2001092461A JP 2001092461 A JP2001092461 A JP 2001092461A JP 26446899 A JP26446899 A JP 26446899A JP 26446899 A JP26446899 A JP 26446899A JP 2001092461 A JP2001092461 A JP 2001092461A
Authority
JP
Japan
Prior art keywords
waveform
signal
waveform generation
generating
generation routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP26446899A
Other languages
English (en)
Other versions
JP3799896B2 (ja
Inventor
Kazufumi Takeuchi
千史 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP26446899A priority Critical patent/JP3799896B2/ja
Publication of JP2001092461A publication Critical patent/JP2001092461A/ja
Application granted granted Critical
Publication of JP3799896B2 publication Critical patent/JP3799896B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 鋸歯状波を発生させてその周波数特性を制御
することによって楽音信号を発生させるアナログシンセ
サイザを、デジタルシンセサイザでシミュレートする。
その際に、楽音信号のフィードバックループを排して安
定性を確保しつつ、多彩な楽音信号の発生を可能とす
る。 【解決手段】 鋸歯状波発生回路43から出力された鋸
歯状波S4と、窓関数テーブル56から出力された窓関
数値S7とを乗算し、これによって鋸歯状波S4の高調波
成分を制御して楽音信号S8として出力する。窓関数値
S7の実効範囲は、定数M、定数Em、周波数ナンバfn
の設定に応じて変動する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、楽音を発生させる
種々の装置(電子楽器、パーソナルコンピュータ、ゲー
ム機器、カラオケ装置等)における楽音波形の合成に用
いて好適な波形発生方法、記録媒体、波形発生装置およ
びプログラムの配布方法に関する。
【0002】
【従来の技術】従来より、鋸歯状波を発生させてその周
波数特性を制御することによって様々な楽音信号を発生
させるアナログシンセサイザが知られている。近年は、
性能やフレキシビリティが高く、周辺機器との親和性も
高いデジタルシンセサイザが主流となっているが、アナ
ログシンセサイザの独特の音色には根強い支持があり、
アナログシンセサイザの機能を忠実にシミュレートでき
るデジタルシンセサイザが望まれている。デジタルシン
セサイザを用いてアナログシンセサイザの機能をシミュ
レートする方式としては、以下のニ方式が代表的なもの
として知られている。
【0003】(1)フィードバックFM方式(特開平9−
185380号公報等)。 フィードバックFM方式においては、まず原波形(例え
ば正弦波)が生成され、この原波形がフィードバックル
ープに入力される。そして、このフィードバックループ
における種々の係数を制御することにより、鋸歯状波を
含めて様々な波形を生成することができる。しかし、こ
れら係数の設定状況によっては、フィードバックループ
の動作が不安定になり、あるいは波形の位相がずれる等
の不具合が発生する。
【0004】(2)帯域制限方式(特開平10−1983
78号公報等)。 帯域制限方式においては、まず理想的な鋸歯状波(一定
の傾きで徐々に立ち上り、急峻に立下がる波形)が生成
される。次に、この鋸歯状波のエッジ部分(立下がり部
分およびその周辺)においてエッジを鈍らせることによ
って、該鋸歯状波の帯域が制限される。具体的には、こ
のエッジ部分における波形が鈍るような入出力特性(窓
関数という)をルックアップテーブルに予め記憶させ、
上記鋸歯状波のエッジ部分の波形値としてこのルックア
ップテーブルを通した値を用いるとよい。
【0005】帯域制限方式は楽音信号に対するフィード
バックループを持たないため、フィードバックFM方式
と比較してきわめて安定性が高い。しかし、様々な音色
の波形を得ようとすると、音色の種類に応じてその都度
ルックアップテーブルを用意する必要があり、事実上の
波形のバリエーションが少なくなる。
【0006】なお、上記特開平特開平10−19837
8号には、アナログシンセサイザの楽音合成方法として
知られる「OSC(オシレータ)シンク方式」をディジ
タルシンセサイザに適用させた例、および、このOSC
シンク方式に上記帯域制限方式を適用させた例が開示さ
れている。このOSCシンク方式においては、マスター
周波数fmおよびスレーブ周波数fsの2系統の基本波
形(典型的には鋸歯状波)が生成される。そして、スレ
ーブ周波数fsの基本波形のレベルは、マスター周波数
fmの基本波形の周期1/fm毎に強制的に「0」にリ
セットされる。この結果得られる波形は、ピッチ周波数
がマスター周波数fm、スペクトル特性構造がスレーブ
周波数fsを有する波形となる。
【0007】
【発明が解決しようとする課題】以上述べたように、帯
域制限方式はフィードバックFM方式と比較して安定性
に優れるものの、事実上の波形のバリエーションは少な
くなる。この発明は上述した事情に鑑みてなされたもの
であり、安定度が高く、かつ、多彩なバリエーションの
波形を得ることができる波形発生方法、記録媒体、波形
発生装置およびプログラムの配布方法を提供することを
目的としている。
【0008】
【課題を解決するための手段】上記課題を解決するため
請求項1記載の構成にあっては、デジタル処理により所
定の制御波形を発生する制御波形発生過程と、前記制御
波形における立上りまたは立下がり点を含む時間範囲に
おいて前記制御波形を修正することによって帯域制限
し、修正された制御波形を楽音信号として出力する楽音
信号発生過程と、楽音パラメータに対応して、前記時間
範囲を設定する時間範囲設定過程とを有することを特徴
とする。さらに、請求項2記載の構成にあっては、請求
項1記載の波形発生方法において、前記制御波形の周波
数が高くなるほど前記制御波形の一周期内において前記
時間範囲が占める割合が広くなるように、前記時間範囲
を調節する周波数特性付与過程を有することを特徴とす
る。さらに、請求項3記載の構成にあっては、請求項2
記載の波形発生方法において、前記制御波形は鋸歯状波
であり、前記時間範囲設定過程は該鋸歯状波の立上りま
たは立下がり部分のうち急峻な側に対して前記時間範囲
を設定することを特徴とする。さらに、請求項4記載の
構成にあっては、請求項2記載の波形発生方法におい
て、前記制御波形は台形波であり、前記時間範囲設定過
程は該台形波の立上りおよび立下がり部分に対して前記
時間範囲を設定することを特徴とする。また、請求項5
記載の構成にあっては、請求項1ないし4の何れかに記
載の波形発生方法を実行するプログラムを記録したこと
を特徴とする。また、請求項6記載の構成にあっては、
請求項1ないし4の何れかに記載の波形発生方法を実行
することを特徴とする。また、請求項7記載の構成にあ
っては、請求項1ないし4の何れかに記載の波形発生方
法を実行するプログラムをネットワークを介して配布す
ることを特徴とする。
【0009】
【発明の実施の形態】1.実施形態の構成 次に、本発明の一実施形態の構成を図1を参照し説明す
る。なお、本実施形態は汎用パーソナルコンピュータ2
0によって楽音信号生成装置を実現したものである。パ
ーソナルコンピュータ20の内部において9はCPUで
あり、後述する制御プログラムによりパーソナルコンピ
ュータ20内の各部を制御する。
【0010】1はネットワークインターフェースであ
り、ネットワーク25との間で各種の情報をやりとりす
る。2はMIDIインターフェースであり、鍵盤あるい
は音源等のMIDI機器に接続され、MIDIデータの
やりとりを行う。3は表示器であり、ユーザに対して各
種の情報を表示する。4は入力装置であり、キーボード
およびマウス等から構成され、ユーザの操作に基づいて
CPU9に対して各種の操作情報を供給する。
【0011】10はROMであり、パーソナルコンピュ
ータ20を起動させるためのイニシャルプログラムロー
ダ等が記憶されている。11はRAMであり、CPU9
によって読出しおよび書込み可能になっている。5は波
形インターフェースであり、マイク等を介してアナログ
の楽音信号を収集しこれをPCM情報に変換してRAM
11に記憶させるとともに、RAM11上のPCM情報
をアナログ信号に変換し、図示せぬサウンドシステムを
介して発音させる。
【0012】6はハードディスクであり、RAM11に
展開されるオペレーティングシステム、ドライバ、アプ
リケーションプログラム、音源プログラム等が記憶され
る。7はディスクドライブであり、CD−ROM、フロ
ッピーディスク等のリムーバルディスク12に対してデ
ータの読み書きを行う。8はタイマであり、所定時間毎
にCPU9に対してタイマ割込みを発生させる。30は
サーバーであり、ネットワーク25に対して各種データ
の送受信を行うデータ送受信部31と、ユーザに提供さ
れるソフトウエアを格納するデータ記憶装置32とから
構成されている。
【0013】2.実施形態の動作 2.1.動作の概要 本実施形態において、パーソナルコンピュータ20上で
ハードウエアの音源装置の動作をシミュレートするソフ
トウエアが動作する。このソフトウエアを「音源モジュ
ール」と称する。なお、音源モジュールは、リムーバル
ディスク12あるいはネットワーク25を介してパーソ
ナルコンピュータ20にインストゥールされる。
【0014】音源モジュールは、電子楽器ソフトやゲー
ムソフト等のアプリケーションプログラムによって生成
されたMIDIデータ、あるいはMIDIインターフェ
ース2を介して受信したMIDIデータに基づいて楽音
信号のPCM情報を生成し、これをRAM11上に展開
する。展開された波形データは、波形インターフェース
5のデバイスドライバによって波形インターフェース5
に転送される。
【0015】上記MIDIデータにおいては、パートナ
ンバ、ノートナンバ、ベロシティ等が含まれており、音
源モジュールにおいては、これらのパラメータに基づい
て、ピッチ周波数等の楽音生成用パラメータが生成され
る。そして、音源モジュールにおいては波形生成ルーチ
ンが起動され、該楽音生成用パラメータに基づいて実際
の楽音波形が生成される。本実施形態においては、波形
生成ルーチンは複数のものの中から上記パートナンバに
対応するものが選択される。そこで、以下、波形生成ル
ーチンの種類に応じて、これらの動作を詳述する。
【0016】なお、上記楽音生成用パラメータは使用さ
れる波形生成ルーチンに応じて異なるため、波形生成ル
ーチンの動作とともに説明する。また、波形生成ルーチ
ンのプログラムの内容は、機能ブロック図を用いて説明
する。すなわち、機能ブロック図の説明においては、例
えば「加算器」、「乗算器」のようなハードウエア的な
表現を用いるが、これは実際に専用のハードウエアが設
けられているという意味ではなく、ソフトウエアによっ
て等価なステップが実行されるという意味である。
【0017】また、各機能ブロック図に用いられる各演
算器等は各々所定の有効桁を有し、これによって演算結
果として出力できる最大値が決定される。ここで、演算
結果がオーバーフローした時の動作によって「モジュロ
型(図中でmoと表記)」および「オーバーフロー検出型
(図中でovと表記)」に分類される。「モジュロ型」に
おいては、演算結果が有効桁をオーバーフローした時
に、有効桁内の数値、すなわち本来的な演算結果を最大
値で除算した値が演算結果として出力される。一方、
「オーバーフロー検出型」においては、演算結果が有効
桁をオーバーフローした時に、上記最大値が演算結果と
して出力される。
【0018】2.2.第1の波形生成ルーチン 第1の波形生成ルーチンの機能ブロック図を図2に示
す。図において41はモジュロ型の加算器、42は記憶
素子であり、両者によって鋸歯状波発生回路43が構成
されている。鋸歯状波発生回路43に、ピッチ周波数に
対応するパラメータである周波数ナンバfn(但し、−
1≦fn≦+1)が供給されると、該周波数ナンバfn
に応じた周期の鋸歯状波S4(図3(d)参照)が出力され
る。なお、鋸歯状波S4等の信号に対して、最大値を
「+1」、最小値を「−1」と表現する。
【0019】44は絶対値テーブルであり、周波数ナン
バfnの絶対値|fn|を出力する。45は逆数テーブ
ルであり、「R/|fn|」(但し、Rは定数)となる
信号S1を出力する。但し、逆数テーブル45はオーバ
ーフロー検出型であり、信号S1は、「R/|fn|」
の算出結果が「+1」を超える場合は、「+1」に固定
される。ここで、絶対値|fn|に対する信号S1の値
を図3(a)に示す。図示のように、絶対値|fn|が定
数R以下である場合に信号S1は常に「+1」になる。
従って、定数Rは、「信号S1として逆数が得られる最
低周波数」に等しくなる。
【0020】次に、46は減算器であり、信号S1から
定数Lを減算する。47は半波整流器であり、減算器4
6の減算結果が「0」未満である場合はこれを「0」に
変更し、その結果を信号S2(図3(b)参照)として出力
する。ここで、信号S2が「0」になる絶対値|fn|
の範囲で絶対値|fn|の最小値を「可制御最大周波数
fh」という。従って、上記定数Lは、可制御最大周波
数fhを決定するためのパラメータになる。
【0021】次に、48は変換テーブルであり、定数E
mが入力されると、これに基づいてパラメータeを出力
する。パラメータeは、例えば、「e=2r(E-1)」のよ
うな変換式で求めるとよい。ここでrは定数であり、パ
ラメータeが「0≦e≦1」の範囲に収まるように設定
される。パラメータeは楽音波形の倍音成分を制御する
パラメータであり、「0」の場合は最も倍音成分が少な
く、「1」の場合は最も倍音成分が多くなる。なお、そ
の理由については後述する。
【0022】次に、49は乗算器であり、パラメータe
と信号S2を乗算する。50は減算器であり、この乗算
結果から信号S2を減算する。51はオーバーフロー検
出型の加算器であり、信号S1と減算器50の出力信号
とを加算し、その結果を信号S3として出力する。従っ
て、信号S3は、「S3=S1+eS2−S2」なる式によ
って表現される。ここで、絶対値|fn|が可制御最大
周波数fh以上である場合は、信号S2は「0」であるか
ら、「S3=S1」が成立する。一方、絶対値|fn|が
可制御最大周波数fh未満である場合は、「S2=S1−
L」であるから、「S3=eS2+L=e(S1−L)+
L=eS1+(1−e)L」が成立する。
【0023】換言すれば、絶対値|fn|が可制御最大
周波数fh未満である場合は、パラメータeが「0」の
時は信号S3は定数Lに一致し、パラメータeが「1」
である場合は信号S3は信号S1に一致する。そして、パ
ラメータeが「0<e<1」の範囲においては、図3
(c)に示すように、パラメータeの値に応じて信号S3が
決定される。52はモジュロ型の加算器であり、ここで
鋸歯状波S4に「−1」が加算され、その結果が鋸歯状
波S5として出力される。従って、図3(e)に示すよう
に、鋸歯状波S5は鋸歯状波S4と同一の波形で位相が1
80°異なる信号になる。
【0024】53は乗算器であり、鋸歯状波S5と信号
S3とを乗算する。図3(c)に示したように、信号S3の
採りうる範囲は「R≦S3≦1」であるから、この乗算
結果は鋸歯状波S5と等しいか、あるいは鋸歯状波S5を
減衰させた信号になる。次に、54はオーバーフロー検
出型の乗算器であり、乗算器53の出力信号に対して定
数Mを乗算する。
【0025】ここで、定数Mは「1/S3」に対して充
分大きくなるように設定されており、乗算器54の出力
信号は、鋸歯状波S5を増幅した信号になる。但し、乗
算結果が「+1」を超えあるいは「−1」未満になる場
合は乗算器54の出力信号は「+1」あるいは「−1」
にされるから、乗算器54の出力信号は台形波になる。
【0026】次に、55は絶対値テーブルであり、この
台形波の絶対値を窓信号S6(図3(f)参照)として出力
する。窓信号S6は、一周期における波形が左右対称に
なっており、この立上りおよび立下がり部分が、鋸歯状
波S4の帯域制限を行うための「窓」として用いられ
る。この窓幅は、信号S3が低くなるほど(従ってパラ
メータeの値が低くなるほど)広くなる。また、窓幅
は、定数Mが大きくなるほど狭くなる。
【0027】次に、56は窓関数テーブルであり、窓信
号S6(但し0≦S6≦1)が入力されると、窓関数値S
7(但し0≦S7≦1)を出力する。この窓関数値S7
は、窓信号S6のレベルが低い場合は窓信号S6に対して
単調増加し、ある窓信号S6においてピーク値「1」に
達し、そのピーク値以上においては窓信号S6に対して
緩やかに単調減少する値になる。従って、窓関数値S7
の波形は、図3(g)に示すように、窓信号S6のエッジ部
分を丸め、定常部分のレベルをやや下げたような波形に
なる。次に、57は乗算器であり、鋸歯状波S4と窓関
数値S7とを乗算し、その結果を楽音信号S8として出力
する。
【0028】楽音信号S8の波形の例を図3(h)に示す。
同図に示すように本波形生成ルーチンによれば、窓関数
テーブル56としては同一のものを用いながらパラメー
タeによって窓関数の幅を変化させることにより、楽音
信号S8の高調波成分を様々に変化させることができ
る。しかも、楽音信号S8に対してフィードバックを施
す必要が無いから、きわめて安定した波形を得ることが
できる。
【0029】2.3.第2の波形生成ルーチン 次に、第2の波形生成ルーチンの要部の機能ブロック図
を図4に示す。なお、第2の波形生成ルーチンは、第1
の波形生成ルーチンに対して逆数テーブル45から乗算
器53に至るまでの部分を改変したものであるため、そ
れ以外の部分については図示を省略している。
【0030】図において60は最小値出力回路であり、
信号S1およびパラメータeのうち小さい方の値を信号
S31として出力する。この信号S31は、図2における信
号S3に代えて乗算器53に供給される。上記以外の構
成は図2と同様である。なお、パラメータeの最小値は
定数L以上になるように設定しておくと好適である。
【0031】本波形生成ルーチンによれば、周波数ナン
バの絶対値|fn|に対して信号S31のレベルは図5の
ように設定される。図5の信号S31と図3(c)の信号S3
とを比較すると、信号S31は中音域(R≦|fn|≦f
hの範囲)において信号S3よりも高いレベルを有してい
る。すなわち、信号S31は、信号S3と比較して、中音
域における窓関数の幅が比較的広くなり、中音域におけ
る倍音成分がより抑制されることになる。
【0032】2.4.第3の波形生成ルーチン 次に、第3の波形生成ルーチンの要部の機能ブロック図
を図6に示す。この第3の波形生成ルーチンも、第1の
波形生成ルーチンに対して逆数テーブル45から乗算器
53に至るまでの部分を改変したものであるため、それ
以外の部分については図示を省略している。
【0033】図において61は最小値出力回路であり、
信号S1および可制御最大周波数fhを決定するための定
数Lのうち小さい方を信号S32として出力する(図7
(a)参照)。62は乗算器であり、信号S1にパラメータ
eを乗算して出力する。63は最大値出力回路であり、
上記信号S32および乗算器62の出力信号のうち大きい
方を信号S33として出力する。そして、この信号S33
は、図2における信号S3に代えて乗算器53に供給さ
れる。
【0034】本波形生成ルーチンによれば、周波数ナン
バの絶対値|fn|に対して信号S33のレベルは図7
(b)のように設定される。図7(b)の信号S33と図3(c)
の信号S3とを比較すると、信号S33は中音域(R≦|
fn|≦fhの範囲)において信号S3よりも低いレベル
を有している。すなわち、信号S33は、信号S3と比較
して、中音域における窓関数の幅が比較的狭くなり、中
音域における倍音成分がより多くなる。
【0035】2.5.第4の波形生成ルーチン 次に、第4の波形生成ルーチンの要部の機能ブロック図
を図8に示す。この第4の波形生成ルーチンには、上述
した周波数ナンバfnに代えて、これを対数表現したロ
グ周波数ナンバlnが供給される。
【0036】図において70は指数テーブルであり、上
記ログ周波数ナンバlnを周波数ナンバfnに変換す
る。なお、指数テーブル70の出力値は正数に限られる
ため、第1の波形生成ルーチンの絶対値テーブル44は
設けられていない。鋸歯状波発生回路73は鋸歯状波発
生回路43と同様に、加算器71と記憶素子72とから
構成され、鋸歯状波S4を出力する。鋸歯状波S4は、第
1の波形生成ルーチン(図2)と同様に加算器52およ
び乗算器57に供給され、加算器52からは鋸歯状波S
5が出力される。
【0037】74は減算器であり、上述した可制御最大
周波数fhを対数表現したログ可制御最大周波数lhから
ログ周波数ナンバlnを減算する。75はオーバーフロ
ー検出型の加算器であり、減算器74の出力信号にパラ
メータWを加算し、その結果を信号S11として出力す
る。なお、このパラメータWは、ログ可制御最大周波数
lhにおける窓幅を決定するためのパラメータである。
【0038】76,77は乗算器であり、ログ周波数ナ
ンバlnおよびログ可制御最大周波数lhに対して各々パ
ラメータEgを乗算して出力する。なお、パラメータEg
は、楽音波形の倍音成分を制御するためのパラメータで
あり、「−1≦Eg≦+1」の範囲で設定される。78
は減算器であり、「Eg・lh−Eg・ln」を出力する。
79はオーバーフロー検出型の加算器であり、この減算
結果に上記パラメータWを加算し、その結果を信号S12
として出力する。
【0039】ここで、ログ周波数ナンバlnに対応する
信号S11,S12の例を図9(a)に示す。次に、80は最
小値出力回路であり、信号S11,S12のうち小さい方を
信号S13として出力する。従って、図9(a)から明らか
なように、ログ周波数ナンバlnがログ可制御最大周波
数lh未満である場合は信号S12が出力され、それ以外
の場合は信号S11が出力される。ここで、種々のパラメ
ータEg対応する信号S13の値を図9(b)に示しておく。
【0040】次に、81は指数テーブルであり、信号S
31の指数関数である信号S14を出力する。そして、信号
S14は、図2における信号S3に代えて乗算器53に供
給される。乗算器53以降の構成は図2と同様である
が、信号S14は指数演算の結果として得られたものであ
り、必ず正値になるから、図2における絶対値テーブル
55は省略されている。
【0041】本波形生成ルーチンによれば、第1〜第3
の波形生成ルーチンと同様に、信号S14に基づいて窓幅
が決定される。但し、本波形生成ルーチンによれば、パ
ラメータEgに対して窓幅は指数関数的に変化するた
め、パラメータEgのリニアな動きに対してより自然な
変化を得ることができる。具体的には、パラメータWの
指数変換結果をWSとすると、窓幅のサンプル数は「2
/(fh・WS・M)」によって求められる。さらに、ロ
グ周波数ナンバlnに対しても窓幅は指数関数的に変化
するから、自然なキースケールを実現することができ
る。
【0042】2.6.第5の波形生成ルーチン 次に、第5の波形生成ルーチンの要部の機能ブロック図
を図10に示す。この第5の波形生成ルーチンには、上
述した周波数ナンバfnに代えて、外部位相入力Pxす
なわち鋸歯状波S4そのものが入力される。これは、例
えば波形インターフェース5を介して入力された鋸歯状
波と同一のピッチを有する楽音波形を生成すべき場合等
に特に有効である。
【0043】図において91は記憶素子、92はモジュ
ロ型の加算器であり、これらによって微分回路93が構
成されている。微分回路93は、外部位相入力Pxの傾
きを周波数ナンバfxとして出力する。周波数ナンバfx
および鋸歯状波S4の双方が得られた後の動作は第1の
波形生成ルーチンと同様である。
【0044】2.7.第6の波形生成ルーチン 次に、第6の波形生成ルーチンの機能ブロック図を図1
1に示す。第6の波形生成ルーチンはOSCシンク方式
であり、そのマスター側として外部位相入力Pxが用い
られ、スレーブ側として周波数ナンバfnが用いられて
いる。そして、マスター側には、上記第5の波形生成ル
ーチンと同様に、記憶素子91および加算器92から成
る微分回路93が設けられ、ここに外部位相入力Pxが
供給されると、マスター側の周波数ナンバfxが出力さ
れる。
【0045】94はオーバーフロー検出器であり、加算
器92におけるオーバーフローを検出すると、リセット
命令を発生する。なお、リセット命令の用途については
後述する。微分回路93から出力された周波数ナンバf
xは、絶対値テーブル44を介して逆数テーブル45に
供給され、第1の波形生成ルーチンと同様に信号S1
(=R/|fn|)が出力される。
【0046】次に、95は窓幅制御部であり、図10に
おいて一点鎖線Aで囲った部分、すなわち構成要素46
〜51の部分と同様に構成され、信号S3(図3(c)参
照)を出力する。そして、乗算器54、絶対値テーブル
55および窓関数テーブル56から成る回路は第1の波
形生成ルーチンと同様に構成され、窓関数テーブル56
からマスター側の窓関数値S7が出力される。
【0047】次に、96は乗算器であり、鋸歯状波S5
と「R/|fx|」との乗算結果を出力する。97は乗
算器であり、この乗算結果にさらに定数Qを乗算する。
98は絶対値テーブルであり、乗算器97の出力信号の
絶対値「|QRS5/fx|」を出力する。この値は、
オーバーフロー検出器94からリセット命令が出力され
る際にスレーブ側の回路で使用される値であるため、こ
のリセット命令が出力される際の動作について、図13
を参照してさらに詳細に説明しておく。
【0048】図13(a)は本実施形態におけるサンプリ
ングクロックCLKを示しており、その立上り時刻t0, t1,
t2, ……に同期して波形生成ルーチンの各回路が動作
する。同図(b)および(c)は、時間軸上で拡大した鋸歯状
波S4,S5の波形を示す。これらの図において破線の特
性はサンプリング周波数が無限大であると仮定した時の
理想的な波形であり、階段波状の実線の特性は、実際に
サンプリングクロックCLKに同期して得られる波形であ
る。
【0049】同図(b)において鋸歯状波S4の理想波形は
時刻t01において立下がるから、本来リセット命令を出
力すべきタイミングもこれと同時刻になる筈である。し
かし、実際にオーバーフローが発生してリセット命令が
出力されるタイミングは、次のサンプリングクロックCL
Kの立上り時刻t2になる。このずれにより、楽音信号の
ピッチが定まらないような不具合が発生する。そこで、
本波形生成ルーチンにおいては、両者のタイミングの差
を「位相補正値Tf」として求め、スレーブ側に供給す
ることによりピッチ精度を高めることとした。
【0050】同図(b)によれば、鋸歯状波S4の傾きは
「2/Tx=2fx」であり、鋸歯状波S5の傾きもこれ
に等しい。そして、同図(c)によれば、リセット命令が
発生する時刻t2においては、「Tf=S5/(2fx)」
が成立する。また、上述したように絶対値テーブル98
からは「|QRS5/fx|」なる値が出力される。従
って、定数Q,Rに対して「QR=1/2」の関係を付
与しておくことにより、絶対値テーブル98の出力値は
上記位相補正値Tfに等しくなる。
【0051】次に、第6の波形生成ルーチンのスレーブ
側の構成を説明する。図において周波数ナンバfnは、
マスター側の周波数ナンバfxの数倍程度に設定され
る。105はスイッチであり、常時は“0”側に接続さ
れ、オーバーフロー検出器94からリセット命令が発生
したサンプリング期間のみ“1”側に接続される。10
3は加算器、104は記憶素子であり、スイッチ105
が“0”側に接続されている限り、第1の波形生成ルー
チンにおける加算器41および記憶素子42と同様に鋸
歯状波発生回路を構成する。すなわち、スイッチ105
が“0”側に接続されている限り、スイッチ105から
は、マスター側の鋸歯状波S4の数倍程度の周波数を有
する鋸歯状波S15が出力されることになる。
【0052】次に、第6の波形生成ルーチンのスレーブ
側の構成を説明する。図において周波数ナンバfnは、
マスター側の周波数ナンバfxの数倍程度に設定され
る。105はスイッチであり、常時は“0”側に接続さ
れ、オーバーフロー検出器94からリセット命令が発生
したサンプリング期間のみ“1”側に接続される。10
3はモジュロ型の加算器、104は記憶素子であり、ス
イッチ105が“0”側に接続されている限り、第1の
波形生成ルーチンにおける加算器41および記憶素子4
2と同様に鋸歯状波発生回路を構成する。すなわち、ス
イッチ105が“0”側に接続されている限り、記憶素
子104からは、マスター側の鋸歯状波S4の数倍程度
の周波数を有する鋸歯状波S15が出力されることにな
る。
【0053】101は乗算器であり、スレーブ側の周波
数ナンバfnと上記位相補正値Tfとを乗算する。従っ
て、乗算器101からは、位相補正値Tfに応じた、鋸
歯状波S15の初期レベルの補正値が出力される。次に、
102はモジュロ型の加算器であり、乗算器101の乗
算結果と、初期位相パラメータPiとを加算する。従っ
て、オーバーフロー検出器94からリセット命令が出力
されると、記憶素子104には「Pi+fn・Tf」がセ
ットされ、この値を初期値として鋸歯状波S15の発生が
続行されることになる。従って、鋸歯状波S15は、図1
2(c)に示すように、鋸歯状波S4の立下がりに同期して
上記初期値にリセットされる鋸歯状波になる。
【0054】次に、絶対値テーブル107、逆数テーブ
ル108、窓幅制御部109,加算器110、乗算器1
11、乗算器112、絶対値テーブル113および窓関
数テーブル114は、各々マスター側における構成要素
44,45,95,52,53,54,55,56と同
様に構成され、鋸歯状波S15の立下がりに同期して立下
がる窓関数値S16(図12(d)参照)を出力する。11
5,116は乗算器であり、鋸歯状波S15に対して窓関
数値S16およびS7を順次乗算し、楽音信号S17(図1
2(e)参照)として出力する。
【0055】なお、マスター側の窓関数値S7(リセッ
ト窓)およびスレーブ側の窓関数値S16(波形窓)の窓
幅は乗算器54,112に供給される定数Mm, Msによ
って決定される。図12(b)〜(e)においては、両窓幅を
共に小とした場合および共に大とした場合の各部の波形
を示す。また、一方の窓幅を大とし、他方の窓幅を小と
した場合の各部の波形を同図(f)〜(i)に示す。
【0056】2.8.第7の波形生成ルーチン 次に、第7の波形生成ルーチンの機能ブロック図を図1
4に示す。第7の波形生成ルーチンはOSCシンク方式
であり、そのマスター側として外部位相入力Pxが用い
られ、スレーブ側として周波数ナンバfnが用いられて
いる。そして、マスター側は上記第6の波形生成ルーチ
ンと同様に構成されている。
【0057】すなわち、窓関数テーブル56は窓関数値
S7(リセット窓)を出力し、加算器92のオーバーフ
ローが検出される毎にオーバーフロー検出器94はリセ
ット命令を出力し、絶対値テーブル98は位相補正値T
fを出力する。なお、窓関数テーブル56の内容として
は、入力信号x(=S6)および出力信号y(=S7)に
対して例えば「y=(1−cos(πx))/2」のような
関数が好適であるが、他の関数を用いてもよいことは言
うまでもない。
【0058】一方、スレーブ側にはフィードバックFM
方式が採用されている。スレーブ側において123はモ
ジュロ型の加算器、124は記憶素子であり、スイッチ
125が“0”側に接続されている限り、周波数ナンバ
fnに応じた周期の鋸歯状波S15を出力する。また、オ
ーバーフロー検出器94からリセット命令が出力される
と、スイッチ125は“1”側に接続され、位相補正値
Tfと周波数ナンバfnとの乗算結果が記憶素子124
に記憶され、その値を初期値として鋸歯状波S15の出力
が続行される。
【0059】125はモジュロ型の加算器であり、フィ
ードバック信号S18と上記鋸歯状波S15とを加算し、そ
の結果をサインテーブル127に供給する。サインテー
ブル127は、入力信号x(=S15+S18)に対して
「y=−sin(πx)」となる出力信号y(=S19)を出
力する。
【0060】128はローパスフィルタであり、信号S
19をフィルタリングして出力する。ローパスフィルタ1
28のカットオフ周波数はここに供給されるパラメータ
aによって決定される。なお、パラメータaは、発振が
発生しない程度の値に設定される。122は乗算器であ
り、このフィルタリング結果に対して帰還量パラメータ
fbを乗算し、その結果を上記フィードバック信号S18
として出力する。
【0061】ここで、帰還量パラメータfbが「0」ま
たはそれに近い値であれば、信号S19は正弦波状の信号
になる。一方、帰還量パラメータfbが大きくなるほど
信号S19は鋸歯状波に近い信号になる(図15(d)参
照)。129は乗算器であり、信号S19と窓関数値S7
とを乗算し、その結果を楽音信号S20(図15(e)参
照)として出力する。
【0062】なお、本波形生成ルーチンにおいてはスレ
ーブ側でフィードバックFM方式が採用されたため、パ
ラメータaの設定の仕方等に応じて発振等が発生する可
能性がある。しかし、少なくともリセット時においては
様々な窓関数値S7を発生することができるから、これ
によって多彩な波形制御を安定して実行することができ
る。
【0063】2.9.第8の波形生成ルーチン 次に、第8の波形生成ルーチンの機能ブロック図を図1
6に示す。先の第1〜第7の波形生成ルーチンは、鋸歯
状波を発生し、その帯域を制限するために窓関数値を用
いたが、この第8の波形生成ルーチンは、窓関数値自体
を楽音信号として用いようとするものである。
【0064】図において鋸歯状波発生回路43は、第1
の波形生成ルーチン(図2参照)と同様に鋸歯状波S4
を出力する。131は絶対値テーブルであり、鋸歯状波
S4の絶対値を出力する。132はオーバーフロー検出
型の加算器であり、上記絶対値から「0.5」を減算
し、その結果を三角波S21(図17(b)参照)として出
力する。
【0065】次に、構成要素44〜51の区間は第1の
波形生成ルーチンと同様に構成され、加算器51から信
号S3(図3(c)参照)が出力される。乗算器53におい
ては三角波S21と信号S3とが乗算される。さらに、乗
算器54においては、その乗算結果に対して定数Mが乗
算される。この定数Mは、充分大きな値に設定されてい
るため、乗算器54の出力信号S22は、図17(c)に示
すような台形波になる。
【0066】133は窓関数テーブルであり、台形波S
22の全レベル(−1〜+1)に渡る窓関数が記憶されて
いる。そして、窓関数テーブル133に台形波S22が入
力されると、窓幅すなわち台形波の傾斜部分の幅に応じ
て帯域制限された楽音信号S23が出力される。その例を
図17(d)に示す。
【0067】本波形生成ルーチンにおいては、台形波の
立上りと立下がりの双方において窓関数が施されるた
め、窓関数を完全に読むことができる周波数をfhとす
ると、「fh=1/N」となる。ここでNは窓幅(サン
プル数)であり、「N=2/(R・M)」によって求め
られる。
【0068】3.変形例 本発明は上述した実施形態に限定されるものではなく、
例えば以下のように種々の変形が可能である。
【0069】(1)第6の波形生成ルーチンにおいて
は、マスター側の窓関数値S7(リセット窓)およびス
レーブ側の窓関数値S16(波形窓)を発生するために個
別の窓関数テーブル56および窓関数テーブル114を
用いた。しかし、絶対値テーブル55,113の出力値
のうち何れか小さい方を選択し、共通の窓関数テーブル
をアクセスするように構成してもよい。その場合、乗算
器115,116において実行された2回の乗算を1回
で済ませることもできる。
【0070】(2)上記第1〜第7の波形生成ルーチン
においては、徐々に立上り急峻に立下がる鋸歯状波を制
御波形として用いたが、これに代えて急峻に立上り徐々
に立下がる鋸歯状波を制御波形として用いてもよい。こ
の場合、窓関数は鋸歯状波の立上り部分およびその近傍
に対して施されることは言うまでもない。
【0071】(3)上記実施形態においては波形生成を
ソフトウエア(波形生成ルーチン)によって実現した
が、パーソナルコンピュータ20あるいは電子楽器に装
着されるハードウエアによって同等の機能を実現しても
よい。
【0072】
【発明の効果】以上述べたように本発明によれば、制御
波形を修正する時間範囲を楽音パラメータに対応して設
定できるから、安定度が高く、かつ、多彩なバリエーシ
ョンの波形を得ることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態のハードウエアのブロッ
ク図である。
【図2】 上記実施形態における第1の波形生成ルーチ
ンの機能ブロック図である。
【図3】 第1の波形生成ルーチンにおける各部の波形
図である。
【図4】 上記実施形態における第2の波形生成ルーチ
ンの機能ブロック図である。
【図5】 第2の波形生成ルーチンにおける楽音パラメ
ータの特性を示す図である。
【図6】 上記実施形態における第3の波形生成ルーチ
ンの機能ブロック図である。
【図7】 第3の波形生成ルーチンにおける楽音パラメ
ータの特性を示す図である。
【図8】 上記実施形態における第4の波形生成ルーチ
ンの機能ブロック図である。
【図9】 第4の波形生成ルーチンにおける楽音パラメ
ータの特性を示す図である。
【図10】 上記実施形態における第5の波形生成ルー
チンの機能ブロック図である。
【図11】 上記実施形態における第6の波形生成ルー
チンの機能ブロック図である。
【図12】 第6の波形生成ルーチンにおける各部の波
形図である。
【図13】 第6の波形生成ルーチンにおける要部の波
形図である。
【図14】 上記実施形態における第7の波形生成ルー
チンの機能ブロック図である。
【図15】 第7の波形生成ルーチンにおける各部の波
形図である。
【図16】 上記実施形態における第8の波形生成ルー
チンの機能ブロック図である。
【図17】 第8の波形生成ルーチンにおける各部の波
形図である。
【符号の説明】
1……ネットワークインターフェース、2……MIDI
インターフェース、3……表示器、4……入力装置、5
……波形インターフェース、6……ハードディスク、7
……ディスクドライブ、8……タイマ、9……CPU、
10……ROM、11……RAM、12……リムーバル
ディスク、20……パーソナルコンピュータ、25……
ネットワーク、30……サーバー、31……データ送受
信部、32……データ記憶装置、41……加算器、42
……記憶素子、43……鋸歯状波発生回路(制御波形発
生過程)、44……絶対値テーブル、45……逆数テー
ブル(時間範囲設定過程,周波数特性付与過程)、46
……減算器、47……半波整流器、49……乗算器、5
0……減算器、51,52……加算器、53,54……
乗算器、55……絶対値テーブル、56……窓関数テー
ブル、57……乗算器(楽音信号発生過程)、61……
最小値出力回路、62……乗算器、63……最大値出力
回路、70……指数テーブル、71……加算器、72…
…記憶素子、73……鋸歯状波発生回路、74……減算
器、75……加算器、76,77……乗算器、78……
減算器、80……最小値出力回路、81……指数テーブ
ル、91……記憶素子、92……加算器、93……微分
回路、94……オーバーフロー検出器、95……窓幅制
御部、96,97……乗算器、98……絶対値テーブ
ル、101……乗算器、102,103……加算器、1
04……記憶素子、105……スイッチ、107……絶
対値テーブル、108……逆数テーブル、109……窓
幅制御部、110……加算器、111,112……乗算
器、113……絶対値テーブル、114……窓関数テー
ブル、115,116……乗算器、123……加算器、
124……記憶素子、125……スイッチ、127……
サインテーブル、128……ローパスフィルタ、131
……絶対値テーブル、132……加算器、133……窓
関数テーブル。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 デジタル処理により所定の制御波形を発
    生する制御波形発生過程と、 前記制御波形における立上りまたは立下がり点を含む時
    間範囲において前記制御波形を修正することによって帯
    域制限し、修正された制御波形を楽音信号として出力す
    る楽音信号発生過程と、 楽音パラメータに対応して、前記時間範囲を設定する時
    間範囲設定過程とを有することを特徴とする波形発生方
    法。
  2. 【請求項2】 前記制御波形の周波数が高くなるほど前
    記制御波形の一周期内において前記時間範囲が占める割
    合が広くなるように、前記時間範囲を調節する周波数特
    性付与過程を有することを特徴とする請求項1記載の波
    形発生方法。
  3. 【請求項3】 前記制御波形は鋸歯状波であり、前記時
    間範囲設定過程は該鋸歯状波の立上りまたは立下がり部
    分のうち急峻な側に対して前記時間範囲を設定すること
    を特徴とする請求項2記載の波形発生方法。
  4. 【請求項4】 前記制御波形は台形波であり、前記時間
    範囲設定過程は該台形波の立上りおよび立下がり部分に
    対して前記時間範囲を設定することを特徴とする請求項
    2記載の波形発生方法。
  5. 【請求項5】 請求項1ないし4の何れかに記載の波形
    発生方法を実行するプログラムを記録したことを特徴と
    する記録媒体。
  6. 【請求項6】 請求項1ないし4の何れかに記載の波形
    発生方法を実行することを特徴とする波形発生装置。
  7. 【請求項7】 請求項1ないし4の何れかに記載の波形
    発生方法を実行するプログラムをネットワークを介して
    配布することを特徴とするプログラムの配布方法。
JP26446899A 1999-09-17 1999-09-17 波形発生方法、記録媒体および波形発生装置 Expired - Fee Related JP3799896B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26446899A JP3799896B2 (ja) 1999-09-17 1999-09-17 波形発生方法、記録媒体および波形発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26446899A JP3799896B2 (ja) 1999-09-17 1999-09-17 波形発生方法、記録媒体および波形発生装置

Publications (2)

Publication Number Publication Date
JP2001092461A true JP2001092461A (ja) 2001-04-06
JP3799896B2 JP3799896B2 (ja) 2006-07-19

Family

ID=17403649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26446899A Expired - Fee Related JP3799896B2 (ja) 1999-09-17 1999-09-17 波形発生方法、記録媒体および波形発生装置

Country Status (1)

Country Link
JP (1) JP3799896B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3789998A1 (en) 2019-09-04 2021-03-10 Roland Corporation Musical sound generation method, musical sound generation device, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3789998A1 (en) 2019-09-04 2021-03-10 Roland Corporation Musical sound generation method, musical sound generation device, and program
US11735152B2 (en) 2019-09-04 2023-08-22 Roland Corporation Musical sound generation method, musical sound generation device, and recording medium

Also Published As

Publication number Publication date
JP3799896B2 (ja) 2006-07-19

Similar Documents

Publication Publication Date Title
US6721711B1 (en) Audio waveform reproduction apparatus
KR100319481B1 (ko) 악음발생방법,파형데이터압축방법,이러한방법을실행하기위한제어명령어를포함하는기계판독가능한기록매체및사운드장치
JP2580774B2 (ja) 楽音合成装置
CN101149916A (zh) 滤波装置以及使用滤波装置的电子乐器
US5578780A (en) Sound synthesis system having pitch adjusting function by correcting loop delay
JP3799896B2 (ja) 波形発生方法、記録媒体および波形発生装置
JP4736046B2 (ja) 波形データ生産方法、波形データ生産装置、プログラムおよび波形メモリ生産方法
JP2016038543A (ja) 効果付加装置、方法、およびプログラム、電子楽器
JP3658826B2 (ja) 楽音生成方法
JP2759163B2 (ja) ペダル効果付加装置を内蔵した電子楽器
JP3715069B2 (ja) 楽音信号合成方法および装置ならびに記録媒体
JP3777923B2 (ja) 楽音信号合成装置
JP3430719B2 (ja) 楽音合成装置のパラメータ設定装置及び方法
JP3082653B2 (ja) 波形発生装置
JP2643717B2 (ja) 楽音合成装置
JPH0320797A (ja) サンプリング装置
JP2007034099A (ja) 楽音合成装置
JP3399340B2 (ja) 楽音合成装置および楽音合成プログラムが記録された記録媒体
JP3489713B2 (ja) 楽音合成装置および方法
JP3007093B2 (ja) 楽音波形発生装置
JP3783552B2 (ja) 楽音信号合成方法、楽音信号合成装置および記録媒体
JPS638955Y2 (ja)
JPH10198378A (ja) 楽音発生装置および楽音発生方法
JPH10254446A (ja) 音源装置
JP3235315B2 (ja) フォルマント方式音源

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060417

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130512

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140512

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees