Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4152262B2 - Musical sound generating apparatus and musical sound generating method - Google Patents
[go: Go Back, main page]

JP4152262B2 - Musical sound generating apparatus and musical sound generating method - Google Patents

Musical sound generating apparatus and musical sound generating method Download PDF

Info

Publication number
JP4152262B2
JP4152262B2 JP2003167414A JP2003167414A JP4152262B2 JP 4152262 B2 JP4152262 B2 JP 4152262B2 JP 2003167414 A JP2003167414 A JP 2003167414A JP 2003167414 A JP2003167414 A JP 2003167414A JP 4152262 B2 JP4152262 B2 JP 4152262B2
Authority
JP
Japan
Prior art keywords
rectangular wave
transient
sampling
generated
period
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
JP2003167414A
Other languages
Japanese (ja)
Other versions
JP2005003942A (en
JP2005003942A5 (en
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.)
Roland Corp
Original Assignee
Roland Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roland Corp filed Critical Roland Corp
Priority to JP2003167414A priority Critical patent/JP4152262B2/en
Publication of JP2005003942A publication Critical patent/JP2005003942A/en
Publication of JP2005003942A5 publication Critical patent/JP2005003942A5/ja
Application granted granted Critical
Publication of JP4152262B2 publication Critical patent/JP4152262B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、低いサンプリングレートであってもエイリアスノイズの少ない良質な信号(矩形波)を生成する楽音発生装置に関するものである。
【0002】
【従来の技術】
デジタル信号処理を用いて楽音波形として矩形波を生成する場合、最大値及び最小値の2値から矩形波を生成すると、エイリアスノイズ(折り返しノイズ)により、生成した矩形波のピッチが定まらなかったり、S/N比(信号対雑音比)が小さくなったり等、音楽的に好ましくない信号が得られる。そこで、音楽的に良質な信号を得るために、サンプリングレートを上げてサンプリングを行い、エイリアスノイズが人間の聴覚に影響しないようにするなどの対策がなされている。しかし、サンプリングレートを上げると、波形メモリのメモリサイズを大きくする必要が生じたり、時間あたりの処理量が増えるために同時発音数が減少するという弊害が生じる。
【0003】
そのような弊害を回避するために、特公昭59−17838号公報には、1の鍵の押鍵に基づいて、その鍵の周波数情報Fに応じたアドレス信号の整数部によって指示される各基本サンプル点において隣接する基本サンプル点間を演算で内挿補間することによって、波形メモリのメモリサイズが小さくても量子化ノイズの少ない波形を生成できる電子楽器の波形発生装置が記載されている。
【0004】
【特許文献1】
特公昭59−17838号公報(例えば、請求項1)。
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献1に記載される波形発生装置は、波形メモリに予め記憶される波形振幅値を、押鍵された鍵に対応する周波数情報Fに応じた読み出しアドレスで読み出して基本サンプル点とするため、音高の低い波形(周期の長い波形)においては高域成分が失われてしまうという問題点があった。
【0006】
本発明は、上述した問題点を解決するためになされたものであり、低いサンプリングレートであってもエイリアスノイズが少なく、高域成分に優れた良質な信号(矩形波)を生成できる楽音発生装置及び楽音発生方法を提供することを目的としている。
【0007】
【課題を解決するための手段】
この目的を達成するために、請求項1記載の楽音発生装置は、周波数帯域が制限された矩形波から振幅の変化が小さい部分を除いた、該矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段と、発生すべき楽音の音高に応じた長さであって一定の振幅値を有する平坦部を形成する平坦部形成手段と、その平坦部形成手段により形成される平坦部と前記記憶手段に記憶される過渡部とに基づいて、前記発生すべき楽音の音高に応じた矩形波を生成する矩形波生成手段とを備え、前記矩形波生成手段は、前記記憶手段に記憶される過渡部のサンプリング値が、サンプリング周期毎のサンプリング値となる理想矩形波を形成し得る読み出しテーブルを作成するテーブル作成手段と、そのテーブル作成手段により作成される読み出しテーブルに基づいて、発生すべき音高に対応する周期に応じて前記記憶手段に記憶されている前記過渡部のサンプリング値を読み出すと共に、サンプリング周期毎のサンプリング値を補間により取得して、前記発生すべき音高に対応する周期の目的矩形波を生成する目的矩形波生成手段とを含む
【0008】
この請求項1記載の楽音発生装置によれば、記憶手段に記憶される周波数帯域が制限された矩形波から振幅の変化が小さい部分を除いた該矩形波の周期に依存しない一定形状の過渡部と平坦部形成手段により形成される発生すべき楽音の音高に応じた長さであって一定の振幅値を有する平坦部とに基づいて、矩形波生成手段により、該発生すべき楽音の音高に応じた矩形波が生成される。ここで、矩形波生成手段によって該発生すべき楽音の音高に応じた矩形波が生成される際には、記憶手段に記憶される過渡部のサンプリング値がサンプリング周期毎のサンプリング値となる理想矩形波を形成し得る読み出しテーブルが、テーブル作成手段によって作成され、そのテーブル作成手段により作成された読み出しテーブルに基づいて、目的矩形波生成手段により、発生すべき音高に対応する周期に応じて記憶手段に記憶されている過渡部のサンプリング値が読み出されると共に、サンプリング周期毎のサンプリング値が補間により取得されて、当該発生すべき音高に対応する周期の目的矩形波が生成される。
【0009】
請求項記載の楽音発生方法は、周波数帯域が制限された矩形波から振幅の変化が小さい部分を除いた、該矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段から読み出すことにより矩形波の過渡部を形成する過渡部形成過程と、発生すべき楽音の音高に応じた長さであって一定の振幅値を有する平坦部を形成する平坦部形成過程と、その平坦部形成過程により形成される平坦部と前記過渡部形成過程により形成される過渡部とに基づいて、前記発生すべき楽音の音高に応じた矩形波を生成する矩形波生成過程とを含み、前記矩形波生成過程は、前記過渡部形成過程により形成される過渡部のサンプリング値が、サンプリング周期毎のサンプリング値となる理想矩形波を形成し得る読み出しテーブルを作成するテーブル作成過程と、そのテーブル作成過程により作成される読み出しテーブルに基づいて、発生すべき音高に対応する周期に応じて前記過渡部形成過程により形成 される前記過渡部のサンプリング値を読み出すと共に、サンプリング周期毎のサンプリング値を補間により取得して、前記発生すべき音高に対応する周期の目的矩形波を生成する目的矩形波生成過程とを含む
【0010】
この請求項記載の楽音発生方法によれば、過渡部形成過程により、周波数帯域が制限された矩形波から振幅の変化が小さい部分を除いた該矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段から読み出すことにより矩形波の過渡部が形成され、平坦部形成過程により、発生すべき楽音の音高に応じた長さであって一定の振幅値を有する矩形波の平坦部が形成される。過渡部形成過程及び平坦部形成過程により形成される過渡部及び平坦部に基づいて、矩形波生成過程により、前記発生すべき楽音の音高に応じた矩形波が生成される。ここで、矩形波生成過程によって該発生すべき楽音の音高に応じた矩形波が生成される際には、過渡部形成過程により形成される過渡部のサンプリング値がサンプリング周期毎のサンプリング値となる理想矩形波を形成し得る読み出しテーブルが、テーブル作成過程により作成され、そのように作成された読み出しテーブルに基づいて、目的矩形波生成過程により、発生すべき音高に対応する周期に応じて過渡部形成過程により形成される過渡部のサンプリング値が読み出されると共に、サンプリング周期毎のサンプリング値が補間により取得され、発生すべき音高に対応する周期の目的矩形波が生成される。
【0011】
【0012】
【0013】
【発明の効果】
本発明の楽音発生装置及び楽音発生方法によれば、記憶手段に記憶される周波数帯域の制限された矩形波から振幅の変化が小さい部分を除いた該矩形波の周期に依存しない一定形状の過渡部と平坦部形成手段により形成される発音すべき楽音の音高に応じた長さであって一定の振幅値を有する平坦部とに基づいて、発音すべき楽音の音高に応じた矩形波(目的矩形波)が生成される。よって、低いサンプリングレートであっても、エイリアスノイズが少なく高域特性に優れた良質な目的矩形波を生成することができるという効果がある。
【0014】
【発明の実施の形態】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図1は、本発明の第1実施例における楽音発生装置1の電気的構成を概略的に示したブロック図である。
【0015】
楽音発生装置1は、CPU10と、ROM11と、RAM12と、複数の鍵から構成される鍵盤13と、これらの構成間を接続するバスライン14と、CPU10により生成されたデジタル矩形波をアナログ信号に変換するD/Aコンバータ(D/A)15と、D/A15により変換されたアナログ信号を増幅するアンプ16と、アンプ16により増幅されたアナログ信号を放音するスピーカ17とを主に搭載している。
【0016】
CPU10は、楽音発生装置1全体を制御する中央演算処理装置である。CPU10は、鍵盤13を構成する鍵の押鍵が検出されると、ROM11に記憶される制御プログラムにより、その鍵が押鍵されている間、押鍵された鍵番号に応じた周波数の矩形波(目的矩形波)を生成する(図5及び図6参照)。
【0017】
ROM11には、CPU10により実行される各種の制御プログラムや、その実行の際に参照される固定値データが格納されている。また、後述する矩形波読出処理(図3)において参照される過渡波形テーブルは、このROM11に予め記憶されている。RAM12は、ROM11内に記憶される制御プログラムの実行に当たって各種のデータなどを記憶するランダムにアクセスできる書き換え可能なメモリである。
【0018】
次に、図2及び図3のフローチャートと図4から図7とを参照して、第1実施例の楽音発生装置1で行われる目的矩形波の生成について説明する。図2は、楽音発生装置1のCPU10において実行される第1実施例の矩形波生成処理のフローチャートである。この矩形波生成処理プログラムは、鍵盤13の押鍵がCPU10により検出されると起動し、その鍵が離鍵されるまで、その鍵番号に応じた周波数の矩形波の生成及び出力を実行する。
【0019】
鍵盤13の鍵の押鍵に伴って、この矩形波生成処理が起動すると、先ず、押鍵された鍵に対応する周期の矩形波(目的矩形波)の1周期あたりのサンプリング値の数(目的矩形波サンプル数)を下記式により計算する(S1):
目的矩形波サンプル数=サンプリング周波数/目的矩形波周波数 …(1)
なお、目的矩形波周波数は、目的矩形波の周期の逆数である。また、サンプリング周波数は、1秒あたりのサンプル数(例えば、44.1kHz)である。
【0020】
S1の処理において、目的矩形波サンプル数が計算されると、そのサンプル数以下であって、且つ、目的矩形波サンプル数に最も近い偶数のサンプリング値の数を、理想矩形波の1周期あたりのサンプル数(理想矩形波サンプル数)として計算する(S2)。ここで、S2においては、下記式に基づいて理想矩形波サンプル数が計算される:
理想矩形波サンプル数=[(目的矩形波の周期/2)の整数部]×2 …(2)。
【0021】
S2の処理によれば、例えば、図4に示すように、目的矩形波20の1周期あたりのサンプル数が15.5サンプルである場合(図4(a))、理想矩形波30のサンプル数は14サンプルであると計算される。S2の処理で計算されたサンプル数で過不足なく表される理想矩形波(図4(b))はエイリアスのない矩形波である。なお、本実施例では、理想矩形波サンプル数を、目的矩形波のサンプル数以下、且つ、最も近い偶数であるとしたが、理想矩形波のサンプル数はこれに限定されず、エイリアスのない矩形波として適切なサンプル数(周期)であればよい。なお、理想矩形波の周期としては、好ましくは、目的矩形波の周期の0.8〜1.2倍程度であり、より好ましくは、0.9〜1.1倍程度である。
【0022】
S2の処理後、アドレス変換テーブル50(図6参照)を作成する(S3)。ここで、「アドレス変換テーブル」とは、サンプリング周期毎に基準速度(基準歩進速度)で更新されるアドレスポインタ(歩進アドレス)に基づいて過渡波形テーブル(例えば、過渡波形テーブル40)のデジタル波形振幅値を読み出し得るように、その過渡波形テーブルの読み出しアドレスと該アドレスポインタとを相関づけたテーブルである。
【0023】
ここで、図5を参照して、過渡波形テーブル40について説明する。「過渡波形テーブル」とは、周波数帯域が制限された矩形波(理想矩形波、目的矩形波)の周期に依存せず一定である過渡部の形状を記憶するテーブルであり、予めROM11に記憶されているテーブルである。
【0024】
本実施例の過渡波形テーブル40は、合計9サンプルのサンプリング値(デジタル波形振幅値)が読み出しアドレス「0」〜「8」に対応づけられて記憶されている。なお、帯域制限された矩形波は、本来、変化点においてリンギングが発生するが、本実施例の過渡波形テーブル40には、そのようなリンギングを簡略化した波形形状が記憶されている。
【0025】
この過渡波形テーブル40において、読み出しアドレス「2」及び「6」に対応するサンプリング点は、矩形波(理想矩形波、目的矩形波)の過渡部と平坦部との連結点のデジタル波形振幅値に相当する。即ち、読み出しアドレス「2」及び「6」に対応するサンプリング点は、矩形波の平坦部のデジタル波形振幅値を表す。アドレス変換テーブル50では、読み出しアドレス「2」及び「6」に対応するサンプリング点が理想矩形波の周期に応じて繰り返し読み出されるように補間されている。それによって、アドレス変換テーブル50に基づいて過渡波形テーブル40を読んだ場合に、矩形波(理想矩形波、目的矩形波)の平坦部が所望の理想矩形波の周期に応じた長さで生成される。即ち、本実施例の楽音発生装置1によれば、ROM11に予め記憶される過渡波形テーブル40に基づいて、所望する周期の矩形波(理想矩形波、目的矩形波)を生成することができる。
【0026】
ここで、第1実施例において、理想矩形波の周期に応じて繰り返される(補間される)サンプリング値の数(繰り返しサンプル数)は、「(理想矩形波サンプル数−6)/2」という式から計算される。従って、本実施例の場合、平坦部の繰り返しサンプル数は「(14−6)/2=4サンプル」と計算される。この計算に基づいて、アドレス変換テーブル50では、読み出しアドレス「2」及び「6」のサンプリング点が、それぞれ、4サンプルとなるように補間されている(区間51及び区間52)。このアドレス変換テーブル50をサンプリング周期毎に基準速度で読み出すと、区間51及び区間52に基づいて、それぞれ、理想矩形波30における第1平坦部31及び第2平坦部32が生成される。このように、本実施例の楽音発生装置1では、周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部を記憶する過渡波形テーブルを基に、平坦部を補間(延長)することにより理想矩形波を生成するので、低いサンプリングレートであっても、高域特性の劣化の少ない(高域特性に優れた)理想矩形波を生成することができる。
【0027】
なお、S3の処理において、アドレス変換テーブル50を作成する際、理想矩形波30の理想矩形波サンプル数が、過渡波形テーブルを構成するサンプリング値の数(本実施例では9サンプル)より小さい場合は、理想矩形波30の理想矩形波サンプル数を、過渡波形テーブルを構成するサンプリング値の数に等しい数とする。
【0028】
図2に戻って説明する。S3の処理後、後述する矩形波読出処理(S4)を実行する。S4の処理後、この矩形波生成処理を終了する。
【0029】
次に、図3のフローチャートを参照して、矩形波読出処理(S4)について説明する。この矩形波読出処理(S4)は、図7に示すように、S3の処理により作成されたアドレス変換テーブル50に基づいて目的矩形波20を生成するための処理である。
【0030】
矩形波読出処理(S4)では、先ず、アドレスポインタ(歩進アドレス)の値を「0」クリアする(S11)。S11の処理後、サンプリング周期に達したか否かを確認する(S12)。S12の処理で確認した結果、サンプリング周期に達していなければ(S12:No)、S12の処理に戻り、サンプリング周期に達するのを待機する。
【0031】
一方、S12の処理において、サンプリング周期に達したことが確認された場合(S12:Yes)、現在のアドレスポインタを、S3の処理で作成したアドレス変換テーブル50に従って読み出しアドレスに変換する(S13)。S13の処理後、変換により得られた読み出しアドレスに従って、過渡波形テーブル40の信号値(デジタル波形振幅値)を波形データのサンプリング点として読み出す(S14)。なお、S13の処理により得られた読み出しアドレスが整数値でない場合、その整数値でない読み出しアドレスに相当するデジタル波形振幅値は、過渡波形テーブル40の対応する読み出しアドレス区間に対して比例計算を行うことにより算出する。S14の処理によって読み出された信号値に対し、理想矩形波30を参照して補間を施し、D/A15へ出力する(S15)。
【0032】
S15の処理後、現在押鍵中の鍵が離鍵されたか否かを確認する(S16)。S16の処理において、離鍵が確認されなかった場合(S16:No)、アドレスポインタを、基準速度に[(理想矩形波の周期)/(目的矩形波の周期)]を乗じた値だけ進める(S17)。
【0033】
S17の処理により、理想矩形波30を読み出す速度(基準速度)の[(理想矩形波30の周期)/(目的矩形波20の周期)]倍の読み出し速度でアドレスポインタが更新される。ここで、理想矩形波30は、目的矩形波20の周期(サンプル数)以下、且つ、目的矩形波の周期に最も近い偶数のサンプリング値の数に相当する周期を有する。従って、S17の処理では、アドレス変換テーブルに基づいて理想矩形波を生成するための基準読み出し速度(基準速度)よりやや遅い速度で、理想矩形波を読み出していることになる。このように、本実施例の楽音発生装置1は、エイリアスのない理想矩形波を、基準速度から大きく速度を変えることなく読み出すので、エイリアスノイズが少なく、また、高域特性の劣化の少ない矩形波を生成することができる。
【0034】
S17の処理後、現在のアドレスポインタが理想矩形波の周期(理想矩形波サンプル数)に達したか否かを確認する(S18)。S18の処理で確認した結果、現在のアドレスポインタの値が理想矩形波の周期に達していなければ、(S18:No)、S12の処理へ戻り、S17の処理で更新されたアドレスポインタの値に基づいて、S13〜S19の処理を行う。
【0035】
また、S18の処理で確認した結果、現在のアドレスポインタの値が理想矩形波の周期に達している場合(S18:Yes)、現在のアドレスポインタ(歩進アドレス)から理想矩形波サンプル数(本実施例では「14」)を減じた値を、新たにアドレスポインタに設定し(S19)、S12の処理へ戻り、S19の処理で設定されたアドレスポインタに基づいて、S13〜S19の処理を行う。
【0036】
一方、S16の処理で確認した結果、離鍵が確認されれば(S16:Yes)、この矩形波読出処理(S4)を終了する。
【0037】
上述のように、第1実施例の楽音発生装置1では、押鍵された鍵に対応する周期を有する目的矩形波を生成する場合、その目的矩形波の周期より短く、且つ、該目的矩形波に最も近い偶数の周期を有するエイリアスのない理想矩形波を基準して生成される。また、この理想矩形波は、周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部と押鍵された鍵に対応する目的矩形波の周期に応じて可変長の平坦部とから構成され、該過渡部を構成する各サンプリング値(デジタル波形振幅値)の間は予め補間されてROM11に記憶されている。更に、目的矩形波の生成は、基準速度(基準歩進速度)で更新されるアドレスポインタ(歩進アドレス)を読み出しアドレスに変換すると理想矩形波を生成するようなアドレス変換テーブルを、基準歩進速度よりやや遅い歩進速度でアドレスポイント(歩進アドレス)を更新することによって行われるので、高域特性に優れた目的矩形波を得ることができる。
【0038】
次に、図8から図10を参照して、第2実施例について説明する。上記第1実施例では、アドレス変換テーブルに従って読み出された過渡波形テーブル40のデジタル波形振幅値に対し、所定の補間処理を施した後、出力信号として出力した。これに対して、第2実施例では、サンプリング値の間が予め2点(直線)補間された過渡波形テーブル80を用いて楽音信号の生成を行う。なお、前記した第1実施例と同一の部分には同一の符号を付して、その説明は省略する。
【0039】
図8は、第2実施例の過渡波形テーブル80を模式的に示す図である。過渡波形テーブル80もまた、前記第1実施例の過渡波形テーブル40と同様に、周波数帯域が制限された矩形波の周期に依存せず一定である過渡部の形状を記憶するテーブルである。第2実施例の過渡波形テーブル80は、合計11サンプルのデジタル波形振幅値(サンプリング値)が読み出しアドレス「0」〜「10N」に対応づけれられて記憶されている。また、この過渡波形テーブル80は、隣接するサンプリング値の間が2点補間(直線補間)されると共に、N倍にオーバーサンプリングされている。なお、帯域制限された矩形波は、本来、変化点においてリンギングが発生するが、本実施例の過渡波形テーブル80には、そのようなリンギングを簡略化した波形形状が記憶されている。また、この過渡波形テーブル80はROM11に予め記憶されている。
【0040】
この過渡波形テーブル80において、読み出しアドレス「2N」と「3N」と「7N」と「8N」とに対応するサンプリング点は、矩形波(理想矩形波、目的矩形波)の過渡部と平坦部との連結点のデジタル振幅値に相当する。即ち、区間「2N〜3N」及び区間「7N〜8N」は矩形波(理想矩形波及び目的矩形波)の平坦部に相当する。
【0041】
次に、図9を参照して、第2実施例のアドレス変換テーブル90について説明する。アドレス変換テーブル90において、第1実施例と同様に、理想矩形波70の平坦部(第1平坦部72及び第2平坦部74)は、過渡波形テーブル80の対応する部分を補間して延長することにより、理想矩形波70の周期に応じた長さに生成される。つまり、アドレス変換テーブル90では、過渡波形テーブル80における区間「2N〜3N」及び区間「7N〜8N」を繰り返し読み出すことによって理想矩形波70の平坦部(第1平坦部72及び第2平坦部74)が生成されるように構成されている。具体的には、アドレス変換テーブル90がサンプリング周期毎に基準速度で読み出された場合に、区間92及び区間94により、それぞれ、理想矩形波70における第1平坦部72及び第2平坦部74が生成される(図9参照)。
【0042】
ここで、アドレス変換テーブル90において、理想矩形波70の平坦部(第1平坦部72及び第2平坦部74)を生成するために補間される(繰り返される)サンプル数「B」は下記式により計算される:
B=[(理想矩形波サンプル数−8)/2]×N …(3)。
【0043】
第2実施例では、楽音発生装置1において生成すべき目的矩形波60の1周期あたりのサンプル数が15.5サンプルであるとする。従って、式(2)によれば理想矩形波サンプル数は14サンプルであるので、平坦部の繰り返しサンプル数「B」は「[(14−8)/2]×N=3N」と計算される。
【0044】
繰り返しサンプル数「B」を考慮すると、理想矩形波70における5つの領域(第1過渡部71、第1平坦部72、第2過渡部73、第2平坦部74、第3過渡部75)はそれぞれ以下の区間に相当する:
第1過渡部71 0〜2N (0〜2N)
第1平坦部72 2N〜2N+B (2N〜5N)
第2過渡部73 2N+B〜A−2N−B (5N〜9N)
第2平坦部74 A−2N−B〜A−2N (9N〜12N)
第3過渡部75 A−2N〜A (12N〜14N)
なお、「A」は理想矩形波サンプル数にNを乗じた数を表す。また、括弧内は、本実施例の場合(理想矩形波サンプル数が14サンプルである場合)の各領域を示す。
【0045】
上記5つの領域に対し、アドレスポインタ(歩進アドレス)「x」と読み出しアドレス(読出AD)との関係を下記式で表すことにより、アドレス変換テーブル90が作成される:
0〜2N 読出AD=x …(4)
2N〜5N 読出AD=[(x−2N)/B]+2N …(5)
5N〜9N 読出AD=(x−2N−B)+3N …(6)
9N〜12N 読出AD=[(x−A+2N+B)/B]+7N …(7)
12N〜14N 読出AD=(x−A+2N)+8N …(8)
なお、理想矩形波70の理想矩形波サンプル数が、過渡波形テーブルを構成するサンプリング値の数(本実施例では11サンプル)より小さい場合は、理想矩形波70の理想矩形波サンプル数を、過渡波形テーブルを構成するサンプリング値の数に等しいものとする。
【0046】
アドレス変換テーブル90が作成されると、図10に示すように、サンプリング周期毎に、理想矩形波を読み出す基準歩進速度の[(理想矩形波の周期)/(目的矩形波の周期)]倍の歩進速度で更新されるアドレスポインタ(初期値「0」)を読み出しアドレスに変換する。次いで、変換された読み出しアドレスに基づいて過渡波形テーブル80のサンプリング値(デジタル波形振幅値)を目的矩形波60のサンプリング値として読む。そして、隣接するサンプリング値間に対し、上記式(4)〜(8)に基づいて補間を施しながら、D/A15へ出力する。
【0047】
上述のように、第2実施例では、隣接する2点のサンプリング値間に対し直線補間が施されていると共に、その隣接する2点のサンプリング間がN倍にオーバーサンプリングされた過渡波形テーブル80が予めROM11に記憶されている。よって、低いサンプリングレートであっても、そのN倍のサンプリングレートでサンプリングした場合と同等の良質な目的矩形波を生成することができる。
【0048】
次に、図11から図13を参照して、第3実施例について説明する。上記第2実施例では、サンプリング値間が予め2点(直線)補間された過渡波形テーブル80を用いて目的矩形波60を生成するよう構成した。これに対して、第3実施例では、隣接4点により予め補間された過渡波形テーブル120を用いて目的矩形波100の生成を行う。なお、前記した第2実施例と同一の部分には同一の符号を付して、その説明は省略する。
【0049】
図11は、第3実施例の過渡波形テーブル120を模式的に示す図である。過渡波形テーブル120もまた、周波数帯域が制限された矩形波の周期に依存せず一定である過渡部の形状を記憶するテーブルである。第3実施例の過渡波形テーブル120は、合計15サンプルのデジタル波形振幅値(サンプリング値)が読み出しアドレス「0」〜「14N」に対応づけられて記憶されている。また、上記第2実施例の過渡波形テーブル80では、隣接2点による直線補間が施されていたのに対し、第3実施例の過渡波形テーブル120では、隣接4点による補間が施されている。更に、過渡波形テーブル120における隣接するサンプリング値間はN倍にオーバーサンプリングされている。なお、帯域制限された矩形波は、本来、変化点においてリンギングが発生するが、本実施例の過渡波形テーブル120には、そのようなリンギングを簡略化した波形形状が記憶されている。また、この過渡波形テーブル120はROM11に予め記憶されている。
【0050】
この過渡波形テーブル120において、読み出しアドレス「3N」と「4N」と「10N」と「11N」とに対応するサンプリング点は、矩形波(理想矩形波、目的矩形波)の過渡部と平坦部との連結点のデジタル波形振幅値に相当する。即ち、区間「3N〜4N」及び区間「10N〜11N」は矩形波(理想矩形波、目的矩形波)の平坦部に相当する。
【0051】
次に、図12を参照して、第3実施例のアドレス変換テーブル130について説明する。アドレス変換テーブル130において、第2実施例と同様に、理想矩形波110の平坦部(第1平坦部112及び第2平坦部114)は、過渡波形テーブル120の対応する部分を補間して延長することにより、理想矩形波110の周期に応じた長さに生成される。つまり、アドレス変換テーブル130では、過渡波形テーブル120における区間「3N〜4N」及び区間「10N〜11N」を繰り返し読み出すことによって、理想矩形波110の平坦部(第1平坦部112及び第2平坦部114)が生成されるように構成されている。具体的には、アドレス変換テーブル130がサンプリング周期毎に基準速度で読み出された場合に、区間132及び区間134により、それぞれ、理想矩形波110における第1平坦部112及び第2平坦部114が生成される(図12参照)。
【0052】
ここで、アドレス変換テーブル130において、理想矩形波110の平坦部(第1平坦部112及び第2平坦部114)を生成するために補間される(繰り返される)サンプル数「C」は下記式により計算される:
C=[(理想矩形波サンプル数−12)/2]×N …(9)。
【0053】
なお、第3実施例では、楽音発生装置1において生成すべき目的矩形波100の1周期あたりのサンプル数が21サンプルであるとする。従って、式(2)によれば理想矩形波サンプル数は20サンプルであるので、平坦部の繰り返しサンプル数「C」は、「[(20−12)/2]×N=4N」と計算される。
【0054】
繰り返しサンプル数「C」を考慮すると、理想矩形波110における5つの領域(第1過渡部111、第1平坦部112、第2過渡部113、第2平坦部114、第3過渡部115)は以下の区間に相当する:
第1過渡部111 0〜3N (0〜3N)
第1平坦部112 3N〜3N+C (3N〜7N)
第2過渡部113 3N+C〜A−3N−C (7N〜13N)
第2平坦部114 A−3N−C〜A−3N (13N〜17N)
第3過渡部115 A−3N〜A (17N〜20N)
なお、「A」は理想矩形波サンプル数にNを乗じた数を表す。また、括弧内は、本実施例の場合(理想矩形波サンプル数が20サンプルである場合)の各領域を示す。
【0055】
上記5つの領域に対し、アドレスポインタ(歩進アドレス)「x」と読み出しアドレス(読出AD)との関係を下記式で表すことにより、アドレス変換テーブル130を作成する:
0〜3N 読出AD=x …(10)
3N〜7N 読出AD=[(x−3N)/C]+3N …(11)
7N〜13N 読出AD=(x−3N−C)+4N …(12)
13N〜17N 読出AD=[(x−A+3N+C)/C]+10N …(13)
17N〜20N 読出AD=(x−A+3N)+11N …(14)
なお、理想矩形波110の理想矩形波サンプル数が、過渡波形テーブルを構成するサンプリング値の数(本実施例では15サンプル)より小さい場合は、理想矩形波110の理想矩形波サンプル数を、過渡波形テーブルを構成するサンプリング値の数に等しいものとする。
【0056】
アドレス変換テーブル130が作成されると、図13に示すように、サンプリング周期毎に、理想矩形波を読み出す基準歩進速度の[(理想矩形波の周期)/(目的矩形波の周期)]倍の歩進速度で更新されるアドレスポインタ(初期値「0」)を読み出しアドレスに変換する。次いで、変換された読み出しアドレスに基づいて過渡波形テーブル120のサンプリング値(デジタル波形振幅値)を目的矩形波100のサンプリング値として読む。そして、隣接するサンプリング値の間に対し、上記式(10)〜(14)に基づいて補間を施しながら、D/A15へ出力する。
【0057】
上述のように、第3実施例では、隣接4点補間が施されていると共に、その隣接2点のサンプリング値の間がN倍にオーバーサンプリングされた過渡波形テーブル120が予めROM11に記憶されている。よって、低いサンプリングレートであっても、そのN倍のサンプリングレートでサンプリングした場合と同等の良質な目的矩形波を生成することができる。
【0058】
なお、請求項1記載の記憶手段としては、ROM11に記憶される過渡波形テーブルが該当する。また、請求項1記載の過渡部形成手段としては、矩形波生成処理(図2)におけるS3の処理において、「第1〜第3過渡部を生成する」部分が該当する。また、請求項1記載の平坦部形成手段としては、矩形波生成処理(図2)におけるS3の処理において、「過渡波形テーブルにおける対応するサンプリング点を補間し第1及び第2平坦部を生成する」部分が該当する。また、請求項1記載の矩形波生成手段としては、矩形波生成処理(図2)におけるS3の処理において「アドレス変換テーブルを作成する」部分と矩形波読出処理(S4、図3)とが該当する。
また、請求項記載のテーブル作成手段としては、矩形波生成処理(図2)におけるS3の処理において「アドレス変換テーブルを作成する」部分が該当する。また、請求項記載の目的矩形波生成手段としては、図3に示される矩形波読出処理(S4)が該当する
【0059】
請求項記載の過渡部形成過程としては、矩形波生成処理(図2)におけるS3の処理において、「第1〜第3過渡部を生成する」部分が該当する。また、請求項記載の平坦部形成過程としては、矩形波生成処理(図2)におけるS3の処理において、「過渡波形テーブルにおける対応するサンプリング点を補間し第1及び第2平坦部を生成する」部分が該当する。また、請求項記載の矩形波生成過程としては、矩形波生成処理(図2)におけるS3の処理において「アドレス変換テーブルを作成する」部分と矩形波読出処理(S4、図3)とが該当する。
【0060】
請求項記載のテーブル作成過程としては、矩形波生成処理(図2)におけるS3の処理において「アドレス変換テーブルを作成する」部分が該当する。また、請求項記載の目的矩形波生成過程としては、図3に示される矩形波読出処理(S4)が該当する。
【0061】
【0062】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定される物ではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【0063】
例えば、上記実施例では、矩形波生成処理(図2)のS3の処理においてアドレス変換テーブルを作成してから、そのアドレス変換テーブルを参照して目的矩形波を生成し出力するように構成したが、アドレステーブルを作成しながら目的矩形波を生成し出力するように構成してもよい。
【0064】
また、上記実施例では、上記実施例では、過渡波形テーブルをROM11に記憶させるよう構成したが、RAM12に記憶させるよう構成してもよい。また、ROM11に記憶された過渡波形テーブルが、目的矩形波生成処理の際にRAM12に一時的に記憶されるように構成してもよい。
【図面の簡単な説明】
【図1】 第1実施例の楽音発生装置の電気的構成を概略的に示したブロック図である。
【図2】 第1実施例の楽音発生装置のCPUにより実行される矩形波生成処理のフローチャートである。
【図3】 第1実施例の楽音発生装置のCPUにより実行される矩形波読出処理のフローチャートである。
【図4】 鍵盤の押鍵に基づいて生成される目的矩形波とその目的矩形波に対応する理想矩形波とを示す図であり、(a)は目的矩形波であり、(b)は理想矩形波である。
【図5】 第1実施例で用いられる過渡波形テーブルを模式的に示す図である。
【図6】 第1実施例で作成されるアドレス変換テーブル、及び、このアドレス変換テーブルに基づいて生成される理想矩形波を模式的に示す図である。
【図7】 第1実施例で作成されたアドレス変換テーブルに基づく目的矩形波の生成を説明する図である。
【図8】 第2実施例で用いられる過渡波形テーブルを模式的に示す図である。
【図9】 第2実施例で作成されるアドレス変換テーブル、及び、このアドレス変換テーブルに基づいて生成される理想矩形波を模式的に示す図である。
【図10】 第2実施例で作成されたアドレス変換テーブルに基づく目的矩形波の生成を説明する図である。
【図11】 第3実施例で用いられる過渡波形テーブルを模式的に示す図である。
【図12】 第3実施例で作成されるアドレス変換テーブル、及び、このアドレス変換テーブルに基づいて生成される理想矩形波を模式的に示す図である。
【図13】 第3実施例で作成されたアドレス変換テーブルに基づく目的矩形波の生成を説明する図である。
【符号の説明】
1 楽音発生装置
10 CPU(矩形波生成手段の一部)
11 ROM(記憶手段の一部)
20,60,100 目的矩形波
30,70,110 理想矩形波
40,80,120 過渡波形テーブル(記憶手段の一部)
50,90,130 アドレス変換テーブル
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a musical sound generator that generates a high-quality signal (rectangular wave) with little alias noise even at a low sampling rate.
[0002]
[Prior art]
  When generating a rectangular wave as a musical sound waveform using digital signal processing, if the rectangular wave is generated from two values of the maximum value and the minimum value, the pitch of the generated rectangular wave cannot be determined due to alias noise (folding noise), A musically unfavorable signal such as a low S / N ratio (signal to noise ratio) can be obtained. Therefore, in order to obtain a musically good signal, measures are taken such that sampling is performed at a higher sampling rate so that alias noise does not affect human hearing. However, when the sampling rate is increased, it is necessary to increase the memory size of the waveform memory, and the number of simultaneous sounds is reduced because the processing amount per time increases.
[0003]
  In order to avoid such an adverse effect, Japanese Examined Patent Publication No. 59-17838 discloses each basic instruction indicated by the integer part of the address signal corresponding to the frequency information F of the key based on the depression of one key. There is described a waveform generator for an electronic musical instrument that can generate a waveform with little quantization noise even if the memory size of the waveform memory is small by interpolating between basic sample points adjacent to each other at the sample points.
[0004]
[Patent Document 1]
  Japanese Patent Publication No. 59-17838 (for example, claim 1).
[0005]
[Problems to be solved by the invention]
  However, the waveform generator described in Patent Document 1 reads out the waveform amplitude value stored in advance in the waveform memory at the read address corresponding to the frequency information F corresponding to the depressed key, and uses it as a basic sample point. Therefore, there is a problem that a high frequency component is lost in a waveform with a low pitch (a waveform with a long period).
[0006]
  The present invention has been made in order to solve the above-described problems, and is a musical tone generator capable of generating a high-quality signal (rectangular wave) with less alias noise and excellent high-frequency components even at a low sampling rate. And a method for generating musical sounds.
[0007]
[Means for Solving the Problems]
  In order to achieve this object, a musical tone generator according to claim 1 is a rectangular wave having a limited frequency band.The rectangular wave from which the amplitude change is smallStorage means for storing a transient part of a fixed shape that does not depend on the period of sound, and a length according to the pitch of the musical sound to be generatedAnd has a constant amplitude valueA rectangular wave corresponding to the pitch of the musical tone to be generated based on a flat portion forming means for forming a flat portion, a flat portion formed by the flat portion forming means, and a transient portion stored in the storage means. A rectangular wave generating means for generatingThe rectangular wave generating means is a table creating means for creating a read table capable of forming an ideal rectangular wave in which the sampling value of the transient part stored in the storage means becomes a sampling value for each sampling period, and the table creating Based on the readout table created by the means, the sampling value of the transient part stored in the storage means is read according to the period corresponding to the pitch to be generated, and the sampling value for each sampling period is interpolated. And a target rectangular wave generating means for acquiring and generating a target rectangular wave having a period corresponding to the pitch to be generated..
[0008]
  According to the musical tone generator of claim 1, a rectangular wave having a limited frequency band stored in the storage means.The rectangular wave from which the amplitude change is smallBy means of a constant-shaped transition part and flat part forming means independent of the period ofIt is formedLength according to the pitch of the musical sound to be generatedAnd has a constant amplitude valueBased on the flat portion, a rectangular wave corresponding to the pitch of the musical sound to be generated is generated by the rectangular wave generating means.Here, when a rectangular wave corresponding to the pitch of the musical sound to be generated is generated by the rectangular wave generating means, the ideal sampling value of the transient part stored in the storage means becomes a sampling value for each sampling period. A read table capable of forming a rectangular wave is created by the table creating means, and based on the read table created by the table creating means, the target rectangular wave generating means generates a read signal according to the period corresponding to the pitch to be generated. The sampling value of the transient part stored in the storage means is read out, and the sampling value for each sampling period is acquired by interpolation, and a target rectangular wave having a period corresponding to the pitch to be generated is generated.
[0009]
  Claim2The described musical sound generation method is a rectangular wave with a limited frequency band.The rectangular wave from which the amplitude change is smallThe transient part forming process that forms the transient part of the rectangular wave by reading from the storage means that stores the transient part of a constant shape that does not depend on the period of the sound, and the length according to the pitch of the musical sound to be generatedAnd has a constant amplitude valueBased on the flat part forming process for forming the flat part, the flat part formed by the flat part forming process, and the transient part formed by the transient part forming process, according to the pitch of the musical sound to be generated Including a rectangular wave generating process for generating a rectangular wave.The rectangular wave generating process includes a table creating process for creating a read table that can form an ideal rectangular wave in which the sampling value of the transient part formed by the transient part forming process is a sampling value for each sampling period; Based on the readout table created by the table creation process, formed by the transition part formation process according to the period corresponding to the pitch to be generated And a target rectangular wave generation process for generating a target rectangular wave having a period corresponding to the pitch to be generated by reading a sampling value of the transient portion and acquiring a sampling value for each sampling period by interpolation..
[0010]
  This claim2According to the described musical sound generation method, a rectangular wave whose frequency band is limited by the transient formation process.The rectangular wave from which the amplitude change is smallA rectangular wave transient is formed by reading from a storage means that stores a transient part having a fixed shape that does not depend on the period of the sound, and according to the pitch of the musical sound to be generated by the flat part formation process.Length and constant amplitude valueA flat portion of a rectangular wave is formed. Based on the transient part and the flat part formed by the transition part forming process and the flat part forming process, a rectangular wave corresponding to the pitch of the musical sound to be generated is generated by the rectangular wave generating process.Here, when a rectangular wave corresponding to the pitch of the musical tone to be generated is generated by the rectangular wave generating process, the sampling value of the transient part formed by the transient part forming process is the sampling value for each sampling period. A read table capable of forming an ideal rectangular wave is created by the table creation process, and based on the read table thus created, the target rectangular wave generation process is performed according to the period corresponding to the pitch to be generated. The sampling value of the transient part formed by the transient part forming process is read out, and the sampling value for each sampling period is acquired by interpolation, and a target rectangular wave having a period corresponding to the pitch to be generated is generated.
[0011]
[0012]
[0013]
【The invention's effect】
  According to the musical sound generating apparatus and musical sound generating method of the present invention, a rectangular wave having a limited frequency band stored in the storage means.The rectangular wave from which the amplitude change is smallBy means of a constant-shaped transition part and flat part forming means independent of the period ofIt is formedDepending on the pitch of the musical soundLength and constant amplitude valueBased on the flat portion, a rectangular wave (target rectangular wave) corresponding to the pitch of the musical sound to be generated is generated. Therefore, even when the sampling rate is low, there is an effect that a high-quality target rectangular wave with less alias noise and excellent high frequency characteristics can be generated.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
  Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. FIG. 1 is a block diagram schematically showing an electrical configuration of a musical tone generator 1 in the first embodiment of the present invention.
[0015]
  The musical sound generating device 1 includes a CPU 10, a ROM 11, a RAM 12, a keyboard 13 composed of a plurality of keys, a bus line 14 connecting these components, and a digital rectangular wave generated by the CPU 10 as an analog signal. A D / A converter (D / A) 15 for conversion, an amplifier 16 for amplifying the analog signal converted by the D / A 15, and a speaker 17 for emitting the analog signal amplified by the amplifier 16 are mainly mounted. ing.
[0016]
  The CPU 10 is a central processing unit that controls the entire tone generator 1. When the key of the key constituting the keyboard 13 is detected, the CPU 10 detects a rectangular wave having a frequency corresponding to the key number pressed while the key is pressed by the control program stored in the ROM 11. (Target rectangular wave) is generated (see FIGS. 5 and 6).
[0017]
  The ROM 11 stores various control programs that are executed by the CPU 10 and fixed value data that is referred to when the programs are executed. In addition, a transient waveform table referred to in a rectangular wave reading process (FIG. 3) described later is stored in advance in the ROM 11. The RAM 12 is a rewritable memory that stores various data and the like that can be randomly accessed when executing the control program stored in the ROM 11.
[0018]
  Next, with reference to the flowcharts of FIGS. 2 and 3 and FIGS. 4 to 7, the generation of the target rectangular wave performed by the musical sound generator 1 of the first embodiment will be described. FIG. 2 is a flowchart of the rectangular wave generation process of the first embodiment that is executed by the CPU 10 of the musical sound generator 1. This rectangular wave generation processing program is activated when a key press on the keyboard 13 is detected by the CPU 10, and generates and outputs a rectangular wave having a frequency corresponding to the key number until the key is released.
[0019]
  When this rectangular wave generation process is started as the key of the keyboard 13 is pressed, first, the number of sampling values per cycle of a rectangular wave (target rectangular wave) having a period corresponding to the pressed key (objective wave) (Number of rectangular wave samples) is calculated by the following formula (S1):
    Target square wave sample number = Sampling frequency / Target rectangular wave frequency (1)
The target rectangular wave frequency is the reciprocal of the period of the target rectangular wave. The sampling frequency is the number of samples per second (for example, 44.1 kHz).
[0020]
  In the processing of S1, when the number of target rectangular wave samples is calculated, the number of even sampling values that are equal to or smaller than the number of samples and closest to the target rectangular wave sample number is calculated per cycle of the ideal rectangular wave. Calculation is made as the number of samples (the number of ideal rectangular wave samples) (S2). Here, in S2, the ideal square wave sample number is calculated based on the following equation:
    Ideal square wave sample number = [integer part of (period of target rectangular wave / 2)] × 2 (2).
[0021]
  According to the process of S2, for example, as shown in FIG. 4, when the number of samples per cycle of the target rectangular wave 20 is 15.5 samples (FIG. 4A), the number of samples of the ideal rectangular wave 30 Is calculated to be 14 samples. The ideal rectangular wave (FIG. 4B) that is expressed without excess or deficiency in the number of samples calculated in the process of S2 is a rectangular wave with no alias. In this embodiment, the ideal rectangular wave sample number is equal to or less than the target rectangular wave sample number and the closest even number. However, the ideal rectangular wave sample number is not limited to this, and there is no alias. Any sample number (period) appropriate for the wave may be used. The period of the ideal rectangular wave is preferably about 0.8 to 1.2 times the period of the target rectangular wave, and more preferably about 0.9 to 1.1 times.
[0022]
  After the process of S2, an address conversion table 50 (see FIG. 6) is created (S3). Here, the “address conversion table” is a digital of a transient waveform table (for example, the transient waveform table 40) based on an address pointer (stepping address) updated at a reference speed (reference stepping speed) for each sampling period. This is a table in which the read address of the transient waveform table is correlated with the address pointer so that the waveform amplitude value can be read.
[0023]
  Here, the transient waveform table 40 will be described with reference to FIG. The “transient waveform table” is a table that stores the shape of the transient part that is constant regardless of the period of the rectangular wave (ideal rectangular wave, target rectangular wave) with a limited frequency band, and is stored in the ROM 11 in advance. It is a table.
[0024]
  In the transient waveform table 40 of this embodiment, sampling values (digital waveform amplitude values) of a total of 9 samples are stored in association with read addresses “0” to “8”. Note that the band-limited rectangular wave inherently generates ringing at the change point, but the transient waveform table 40 of this embodiment stores a waveform shape that simplifies such ringing.
[0025]
  In this transient waveform table 40, the sampling points corresponding to the read addresses “2” and “6” are digital waveform amplitude values at the connection point between the transient portion and the flat portion of the rectangular wave (ideal rectangular wave, target rectangular wave). Equivalent to. That is, the sampling points corresponding to the read addresses “2” and “6” represent the digital waveform amplitude value of the flat part of the rectangular wave. In the address conversion table 50, interpolation is performed so that sampling points corresponding to the read addresses “2” and “6” are repeatedly read according to the period of the ideal rectangular wave. Accordingly, when the transient waveform table 40 is read based on the address conversion table 50, a flat portion of a rectangular wave (ideal rectangular wave, target rectangular wave) is generated with a length corresponding to a desired period of the ideal rectangular wave. The That is, according to the musical tone generator 1 of the present embodiment, a rectangular wave (ideal rectangular wave, target rectangular wave) having a desired cycle can be generated based on the transient waveform table 40 stored in advance in the ROM 11.
[0026]
  Here, in the first embodiment, the number of repeated sampling values (interpolated) according to the period of the ideal rectangular wave (the number of repeated samples) is “(ideal rectangular wave sample number−6) / 2”. Calculated from Therefore, in the case of the present embodiment, the number of repeated samples in the flat portion is calculated as “(14−6) / 2 = 4 samples”. Based on this calculation, in the address conversion table 50, the sampling points of the read addresses “2” and “6” are each interpolated to be 4 samples (section 51 and section 52). When the address conversion table 50 is read at the reference speed for each sampling period, the first flat portion 31 and the second flat portion 32 in the ideal rectangular wave 30 are generated based on the sections 51 and 52, respectively. Thus, in the musical tone generator 1 of the present embodiment, the flat portion is interpolated (extended) based on the transient waveform table that stores the transient portion having a fixed shape that does not depend on the period of the rectangular wave whose frequency band is limited. Thus, an ideal rectangular wave is generated, so that an ideal rectangular wave with little deterioration of the high frequency characteristics (excellent in high frequency characteristics) can be generated even at a low sampling rate.
[0027]
  In the process of S3, when the address conversion table 50 is created, if the number of ideal rectangular wave samples of the ideal rectangular wave 30 is smaller than the number of sampling values (9 samples in this embodiment) constituting the transient waveform table. The number of ideal rectangular wave samples of the ideal rectangular wave 30 is set equal to the number of sampling values constituting the transient waveform table.
[0028]
  Returning to FIG. After the process of S3, a rectangular wave read process (S4) described later is executed. After the process of S4, this rectangular wave generation process is terminated.
[0029]
  Next, the rectangular wave reading process (S4) will be described with reference to the flowchart of FIG. This rectangular wave reading process (S4) is a process for generating the target rectangular wave 20 based on the address conversion table 50 created by the process of S3, as shown in FIG.
[0030]
  In the rectangular wave reading process (S4), first, the value of the address pointer (stepping address) is cleared to “0” (S11). After the process of S11, it is confirmed whether or not the sampling period has been reached (S12). As a result of checking in the process of S12, if the sampling period has not been reached (S12: No), the process returns to S12 and waits until the sampling period is reached.
[0031]
  On the other hand, in the process of S12, when it is confirmed that the sampling period has been reached (S12: Yes), the current address pointer is converted into a read address according to the address conversion table 50 created in the process of S3 (S13). After the process of S13, the signal value (digital waveform amplitude value) of the transient waveform table 40 is read as a sampling point of the waveform data according to the read address obtained by the conversion (S14). When the read address obtained by the process of S13 is not an integer value, the digital waveform amplitude value corresponding to the read address that is not the integer value is proportionally calculated with respect to the corresponding read address section of the transient waveform table 40. Calculated by The signal value read by the process of S14 is interpolated with reference to the ideal rectangular wave 30, and is output to the D / A 15 (S15).
[0032]
  After the process of S15, it is confirmed whether or not the currently pressed key is released (S16). If the key release is not confirmed in the processing of S16 (S16: No), the address pointer is advanced by a value obtained by multiplying the reference speed by [(period of ideal rectangular wave) / (period of target rectangular wave)] ( S17).
[0033]
  By the processing of S17, the address pointer is updated at a reading speed [(ideal rectangular wave 30 period) / (target rectangular wave 20 period)] times faster than the reading speed (reference speed) of the ideal rectangular wave 30. Here, the ideal rectangular wave 30 has a period equal to or less than the period (number of samples) of the target rectangular wave 20 and the even number of sampling values closest to the period of the target rectangular wave. Therefore, in the process of S17, the ideal rectangular wave is read out at a slightly lower speed than the reference reading speed (reference speed) for generating the ideal rectangular wave based on the address conversion table. As described above, the musical sound generator 1 of this embodiment reads out an ideal rectangular wave without alias without greatly changing the speed from the reference speed, so that the rectangular wave has little alias noise and little deterioration of high frequency characteristics. Can be generated.
[0034]
  After the process of S17, it is confirmed whether or not the current address pointer has reached the period of the ideal rectangular wave (the number of ideal rectangular wave samples) (S18). If the current address pointer value does not reach the ideal rectangular wave cycle as a result of the confirmation in S18 (S18: No), the process returns to S12, and the address pointer value updated in S17 is obtained. Based on this, the processes of S13 to S19 are performed.
[0035]
  If the current address pointer value has reached the period of the ideal rectangular wave (S18: Yes) as a result of checking in the process of S18, the ideal rectangular wave sample number (this number) is determined from the current address pointer (stepping address). In the embodiment, a value obtained by subtracting “14”) is newly set as an address pointer (S19), the process returns to S12, and the processes of S13 to S19 are performed based on the address pointer set in the process of S19. .
[0036]
  On the other hand, if the key release is confirmed as a result of the confirmation in S16 (S16: Yes), this rectangular wave reading process (S4) is terminated.
[0037]
  As described above, in the musical sound generating device 1 of the first embodiment, when generating a target rectangular wave having a period corresponding to the key pressed, the target rectangular wave is shorter than the period of the target rectangular wave. Are generated with reference to an aliasless ideal square wave having an even number of periods closest to. The ideal rectangular wave is composed of a constant-shaped transient part that does not depend on the period of the rectangular wave whose frequency band is limited, and a flat part having a variable length according to the period of the target rectangular wave corresponding to the key that is pressed. The sampling values (digital waveform amplitude values) constituting the transition portion are interpolated in advance and stored in the ROM 11. Furthermore, the generation of the target rectangular wave is performed by using an address conversion table that generates an ideal rectangular wave when the address pointer (stepping address) updated at the reference speed (reference stepping speed) is converted into a read address. Since it is performed by updating the address point (step address) at a step speed slightly slower than the speed, a target rectangular wave having excellent high frequency characteristics can be obtained.
[0038]
  Next, a second embodiment will be described with reference to FIGS. In the first embodiment, the digital waveform amplitude value in the transient waveform table 40 read according to the address conversion table is subjected to a predetermined interpolation process and then output as an output signal. On the other hand, in the second embodiment, a tone signal is generated using a transient waveform table 80 in which sampling points are interpolated in two points (linearly) in advance. In addition, the same code | symbol is attached | subjected to the part same as the above-mentioned 1st Example, and the description is abbreviate | omitted.
[0039]
  FIG. 8 is a diagram schematically showing the transient waveform table 80 of the second embodiment. Similarly to the transient waveform table 40 of the first embodiment, the transient waveform table 80 is also a table that stores the shape of the transient portion that is constant without depending on the period of the rectangular wave whose frequency band is limited. The transient waveform table 80 of the second embodiment stores digital waveform amplitude values (sampling values) of a total of 11 samples in association with read addresses “0” to “10N”. Further, the transient waveform table 80 is subjected to two-point interpolation (linear interpolation) between adjacent sampling values and oversampled N times. Note that the band-limited rectangular wave inherently generates ringing at the change point, but the transient waveform table 80 of this embodiment stores a waveform shape that simplifies such ringing. The transient waveform table 80 is stored in advance in the ROM 11.
[0040]
  In this transient waveform table 80, the sampling points corresponding to the read addresses “2N”, “3N”, “7N”, and “8N” are the transient portion and flat portion of the rectangular wave (ideal rectangular wave, target rectangular wave). It corresponds to the digital amplitude value of the connecting point. That is, the sections “2N to 3N” and the sections “7N to 8N” correspond to flat portions of rectangular waves (ideal rectangular waves and target rectangular waves).
[0041]
  Next, the address conversion table 90 of the second embodiment will be described with reference to FIG. In the address conversion table 90, as in the first embodiment, the flat portions (first flat portion 72 and second flat portion 74) of the ideal rectangular wave 70 are extended by interpolating corresponding portions of the transient waveform table 80. Thus, a length corresponding to the period of the ideal rectangular wave 70 is generated. In other words, in the address conversion table 90, the sections “2N to 3N” and the sections “7N to 8N” in the transient waveform table 80 are repeatedly read to thereby read the flat portions (first flat portion 72 and second flat portion 74 of the ideal rectangular wave 70). ) Is generated. Specifically, when the address conversion table 90 is read at the reference speed for each sampling period, the first flat portion 72 and the second flat portion 74 in the ideal rectangular wave 70 are respectively obtained by the section 92 and the section 94. Is generated (see FIG. 9).
[0042]
  Here, in the address conversion table 90, the number of samples “B” to be interpolated (repeated) to generate the flat portions (the first flat portion 72 and the second flat portion 74) of the ideal rectangular wave 70 is expressed by the following equation. Calculated:
      B = [(number of ideal rectangular wave samples−8) / 2] × N (3).
[0043]
  In the second embodiment, it is assumed that the number of samples per cycle of the target rectangular wave 60 to be generated in the musical sound generator 1 is 15.5 samples. Therefore, according to Equation (2), the ideal number of rectangular wave samples is 14, and thus the number of repeated samples “B” in the flat portion is calculated as “[(14−8) / 2] × N = 3N”. .
[0044]
  Considering the number of repeated samples “B”, the five regions in the ideal rectangular wave 70 (the first transient portion 71, the first flat portion 72, the second transient portion 73, the second flat portion 74, and the third transient portion 75) are Each corresponds to the following interval:
    1st transition part 71 0-2N (0-2N)
    1st flat part 72 2N-2N + B (2N-5N)
    Second transition part 73 2N + B to A-2N-B (5N to 9N)
    2nd flat part 74 A-2N-B-A-2N (9N-12N)
    Third transition part 75 A-2N to A (12N to 14N)
“A” represents a number obtained by multiplying the number of ideal rectangular wave samples by N. In the parentheses, each region in the case of the present embodiment (when the number of ideal rectangular wave samples is 14 samples) is shown.
[0045]
  The address conversion table 90 is created for the above five areas by expressing the relationship between the address pointer (stepping address) “x” and the read address (read AD) by the following equation:
    0 to 2N read AD = x (4)
    2N to 5N reading AD = [(x−2N) / B] + 2N (5)
    5N to 9N Reading AD = (x−2N−B) + 3N (6)
    9N to 12N Reading AD = [(x−A + 2N + B) / B] + 7N (7)
    12N to 14N Read AD = (x−A + 2N) + 8N (8)
When the ideal rectangular wave sample number of the ideal rectangular wave 70 is smaller than the number of sampling values (11 samples in this embodiment) constituting the transient waveform table, the ideal rectangular wave sample number of the ideal rectangular wave 70 is set to the transient value. It is assumed that the number is equal to the number of sampling values constituting the waveform table.
[0046]
  When the address conversion table 90 is created, as shown in FIG. 10, [(ideal rectangular wave cycle) / (target rectangular wave cycle)] times the reference stepping speed for reading out the ideal rectangular wave for each sampling cycle. The address pointer (initial value “0”) updated at the stepping speed is converted into a read address. Next, the sampling value (digital waveform amplitude value) of the transient waveform table 80 is read as the sampling value of the target rectangular wave 60 based on the converted read address. And it outputs to D / A15, interpolating between adjacent sampling values based on said Formula (4)-(8).
[0047]
  As described above, in the second embodiment, the transient waveform table 80 is obtained by performing linear interpolation between two adjacent sampling values and oversampling the adjacent two sampling points N times. Is stored in the ROM 11 in advance. Therefore, even if the sampling rate is low, it is possible to generate a high-quality target rectangular wave equivalent to the case where sampling is performed at a sampling rate that is N times that sampling rate.
[0048]
  Next, a third embodiment will be described with reference to FIGS. In the second embodiment, the target rectangular wave 60 is generated using the transient waveform table 80 in which the sampling values are preliminarily interpolated at two points (straight lines). In contrast, in the third embodiment, the target rectangular wave 100 is generated using the transient waveform table 120 previously interpolated by the four adjacent points. In addition, the same code | symbol is attached | subjected to the part same as above-mentioned 2nd Example, and the description is abbreviate | omitted.
[0049]
  FIG. 11 is a diagram schematically showing the transient waveform table 120 of the third embodiment. The transient waveform table 120 is also a table that stores the shape of the transient part that is constant without depending on the period of the rectangular wave whose frequency band is limited. In the transient waveform table 120 of the third embodiment, digital waveform amplitude values (sampling values) of a total of 15 samples are stored in association with read addresses “0” to “14N”. In the transient waveform table 80 of the second embodiment, linear interpolation is performed using two adjacent points, whereas in the transient waveform table 120 of the third embodiment, interpolation using four adjacent points is performed. . Further, the adjacent sampling values in the transient waveform table 120 are oversampled N times. Note that the band-limited rectangular wave inherently generates ringing at the change point, but the transient waveform table 120 of this embodiment stores a waveform shape that simplifies such ringing. The transient waveform table 120 is stored in advance in the ROM 11.
[0050]
  In the transient waveform table 120, the sampling points corresponding to the read addresses “3N”, “4N”, “10N”, and “11N” are the transient portion and the flat portion of the rectangular wave (ideal rectangular wave, target rectangular wave). It corresponds to the digital waveform amplitude value at the connection point. That is, the sections “3N to 4N” and the sections “10N to 11N” correspond to flat portions of rectangular waves (ideal rectangular waves and target rectangular waves).
[0051]
  Next, the address conversion table 130 of the third embodiment will be described with reference to FIG. In the address conversion table 130, as in the second embodiment, the flat portions (the first flat portion 112 and the second flat portion 114) of the ideal rectangular wave 110 are extended by interpolating corresponding portions of the transient waveform table 120. Thus, a length corresponding to the period of the ideal rectangular wave 110 is generated. In other words, in the address conversion table 130, the sections “3N to 4N” and the sections “10N to 11N” in the transient waveform table 120 are repeatedly read to thereby obtain the flat portions (the first flat portion 112 and the second flat portion) of the ideal rectangular wave 110. 114) is generated. Specifically, when the address conversion table 130 is read at the reference speed for each sampling period, the first flat portion 112 and the second flat portion 114 in the ideal rectangular wave 110 are respectively obtained by the section 132 and the section 134. Is generated (see FIG. 12).
[0052]
  Here, in the address conversion table 130, the number of samples “C” to be interpolated (repeated) to generate the flat portions (the first flat portion 112 and the second flat portion 114) of the ideal rectangular wave 110 is expressed by the following equation. Calculated:
      C = [(number of ideal rectangular wave samples−12) / 2] × N (9).
[0053]
  In the third embodiment, it is assumed that the number of samples per cycle of the target rectangular wave 100 to be generated in the musical sound generator 1 is 21 samples. Therefore, since the number of ideal rectangular wave samples is 20 according to the equation (2), the number of repetitive samples “C” in the flat portion is calculated as “[(20−12) / 2] × N = 4N”. The
[0054]
  Considering the number of repeated samples “C”, the five regions in the ideal rectangular wave 110 (the first transient part 111, the first flat part 112, the second transient part 113, the second flat part 114, and the third transient part 115) are Corresponds to the following interval:
    1st transition part 111 0-3N (0-3N)
    1st flat part 112 3N-3N + C (3N-7N)
    2nd transition part 113 3N + C-A-3N-C (7N-13N)
    Second flat portion 114 A-3N-C to A-3N (13N to 17N)
    Third transition part 115 A-3N to A (17N to 20N)
“A” represents a number obtained by multiplying the number of ideal rectangular wave samples by N. The parentheses indicate each region in the case of the present embodiment (when the number of ideal rectangular wave samples is 20).
[0055]
  For the above five areas, the address conversion table 130 is created by expressing the relationship between the address pointer (stepping address) “x” and the read address (read AD) by the following equation:
    0 to 3N reading AD = x (10)
    3N to 7N Reading AD = [(x−3N) / C] + 3N (11)
    7N to 13N Read AD = (x−3N−C) + 4N (12)
    13N to 17N Reading AD = [(x−A + 3N + C) / C] + 10N (13)
    17N to 20N Read AD = (x−A + 3N) + 11N (14)
When the number of ideal rectangular wave samples of the ideal rectangular wave 110 is smaller than the number of sampling values constituting the transient waveform table (15 samples in the present embodiment), the number of ideal rectangular wave samples of the ideal rectangular wave 110 is set to be transient. It is assumed that the number is equal to the number of sampling values constituting the waveform table.
[0056]
  When the address conversion table 130 is created, as shown in FIG. 13, [(ideal rectangular wave cycle) / (target rectangular wave cycle)] times the reference stepping speed for reading out the ideal rectangular wave for each sampling cycle. The address pointer (initial value “0”) updated at the stepping speed is converted into a read address. Next, the sampling value (digital waveform amplitude value) of the transient waveform table 120 is read as the sampling value of the target rectangular wave 100 based on the converted read address. And it outputs to D / A15, interpolating between adjacent sampling values based on said Formula (10)-(14).
[0057]
  As described above, in the third embodiment, adjacent four-point interpolation is performed, and the transient waveform table 120 in which the sampling values of the two adjacent points are oversampled N times is stored in the ROM 11 in advance. Yes. Therefore, even if the sampling rate is low, it is possible to generate a high-quality target rectangular wave equivalent to the case where sampling is performed at a sampling rate that is N times that sampling rate.
[0058]
  The storage means described in claim 1 corresponds to a transient waveform table stored in the ROM 11. Further, as the transient part forming means described in claim 1, in the process of S <b> 3 in the rectangular wave generation process (FIG. 2), the “generate first to third transient part” part corresponds. Further, as the flat part forming means according to claim 1, in the process of S3 in the rectangular wave generating process (FIG. 2), “the first and second flat parts are generated by interpolating the corresponding sampling points in the transient waveform table. ") Corresponds. Further, the rectangular wave generating means described in claim 1 corresponds to the “create an address conversion table” portion and the rectangular wave reading process (S4, FIG. 3) in the process of S3 in the rectangular wave generating process (FIG. 2). To do.
  Claims1The described table creation means corresponds to the “create address conversion table” portion in the process of S3 in the rectangular wave generation process (FIG. 2). Claims1As the target rectangular wave generating means, the rectangular wave reading process (S4) shown in FIG. 3 is applicable..
[0059]
  Claim2The transient part forming process described here corresponds to the “generate first to third transient part” part in the process of S3 in the rectangular wave generation process (FIG. 2). Claims2The described flat portion forming process corresponds to the portion of “generate first and second flat portions by interpolating corresponding sampling points in the transient waveform table” in the processing of S3 in the rectangular wave generation processing (FIG. 2). . Claims2The described rectangular wave generation process corresponds to the “create an address conversion table” portion and the rectangular wave reading process (S4, FIG. 3) in the process of S3 in the rectangular wave generation process (FIG. 2).
[0060]
  Claim2The described table creation process corresponds to the “create address conversion table” portion in the process of S3 in the rectangular wave generation process (FIG. 2). Claims2The target rectangular wave generation process described here corresponds to the rectangular wave reading process (S4) shown in FIG.
[0061]
[0062]
  The present invention has been described above based on the embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be easily made without departing from the spirit of the present invention. It can be guessed.
[0063]
  For example, in the above embodiment, the address conversion table is created in the process of S3 of the rectangular wave generation process (FIG. 2), and then the target rectangular wave is generated and output with reference to the address conversion table. The target rectangular wave may be generated and output while creating the address table.
[0064]
  Moreover, in the said Example, although the transient waveform table was memorize | stored in ROM11 in the said Example, you may comprise so that it may memorize | store in RAM12. The transient waveform table stored in the ROM 11 may be temporarily stored in the RAM 12 during the target rectangular wave generation process.
[Brief description of the drawings]
FIG. 1 is a block diagram schematically showing an electrical configuration of a musical tone generator according to a first embodiment.
FIG. 2 is a flowchart of a rectangular wave generation process executed by the CPU of the musical tone generator according to the first embodiment.
FIG. 3 is a flowchart of a rectangular wave readout process executed by the CPU of the musical tone generator according to the first embodiment.
FIGS. 4A and 4B are diagrams illustrating a target rectangular wave generated based on key depression of a keyboard and an ideal rectangular wave corresponding to the target rectangular wave, where FIG. 4A is a target rectangular wave, and FIG. It is a square wave.
FIG. 5 is a diagram schematically showing a transient waveform table used in the first embodiment.
FIG. 6 is a diagram schematically showing an address conversion table created in the first embodiment and an ideal rectangular wave generated based on the address conversion table.
FIG. 7 is a diagram for explaining generation of a target rectangular wave based on the address conversion table created in the first embodiment.
FIG. 8 is a diagram schematically showing a transient waveform table used in the second embodiment.
FIG. 9 is a diagram schematically showing an address conversion table created in the second embodiment and an ideal rectangular wave generated based on the address conversion table.
FIG. 10 is a diagram for explaining generation of a target rectangular wave based on the address conversion table created in the second embodiment.
FIG. 11 is a diagram schematically showing a transient waveform table used in the third embodiment.
FIG. 12 is a diagram schematically showing an address conversion table created in the third embodiment and an ideal rectangular wave generated based on the address conversion table.
FIG. 13 is a diagram for explaining generation of a target rectangular wave based on the address conversion table created in the third embodiment.
[Explanation of symbols]
1 Musical sound generator
10 CPU (part of rectangular wave generating means)
11 ROM (part of storage means)
20, 60, 100 Target rectangular wave
30, 70, 110 Ideal rectangular wave
40, 80, 120 Transient waveform table (part of storage means)
50, 90, 130 Address conversion table

Claims (2)

周波数帯域が制限された矩形波から振幅の変化が小さい部分を除いた、該矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段と、
発生すべき楽音の音高に応じた長さであって一定の振幅値を有する平坦部を形成する平坦部形成手段と、
その平坦部形成手段により形成される平坦部と前記記憶手段に記憶される過渡部とに基づいて、前記発生すべき楽音の音高に応じた矩形波を生成する矩形波生成手段とを備え
前記矩形波生成手段は、前記記憶手段に記憶される過渡部のサンプリング値が、サンプリング周期毎のサンプリング値となる理想矩形波を形成し得る読み出しテーブルを作成するテーブル作成手段と、そのテーブル作成手段により作成される読み出しテーブルに基づいて、発生すべき音高に対応する周期に応じて前記記憶手段に記憶されている前記過渡部のサンプリング値を読み出すと共に、サンプリング周期毎のサンプリング値を補間により取得して、前記発生すべき音高に対応する周期の目的矩形波を生成する目的矩形波生成手段とを含むことを特徴とする楽音発生装置。
Storage means for storing a transient part having a fixed shape that does not depend on the period of the rectangular wave , excluding a part having a small amplitude change from the rectangular wave having a limited frequency band;
Flat portion forming means for forming a flat portion having a certain amplitude value with a length corresponding to the pitch of the musical sound to be generated;
A rectangular wave generating means for generating a rectangular wave according to the pitch of the musical sound to be generated based on the flat part formed by the flat part forming means and the transient part stored in the storage means ;
The rectangular wave generating means is a table creating means for creating a read table capable of forming an ideal rectangular wave in which the sampling value of the transient part stored in the storage means becomes a sampling value for each sampling period, and the table creating means Based on the readout table created by the above, the sampling value of the transient part stored in the storage means is read out according to the period corresponding to the pitch to be generated, and the sampling value for each sampling period is obtained by interpolation And a target rectangular wave generating means for generating a target rectangular wave having a period corresponding to the pitch to be generated.
周波数帯域が制限された矩形波から振幅の変化が小さい部分を除いた、該矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段から読み出すことにより矩形波の過渡部を形成する過渡部形成過程と、
発生すべき楽音の音高に応じた長さであって一定の振幅値を有する平坦部を形成する平坦部形成過程と、
その平坦部形成過程により形成される平坦部と前記過渡部形成過程により形成される過渡部とに基づいて、前記発生すべき楽音の音高に応じた矩形波を生成する矩形波生成過程とを含み、
前記矩形波生成過程は、前記過渡部形成過程により形成される過渡部のサンプリング値が、サンプリング周期毎のサンプリング値となる理想矩形波を形成し得る読み出しテーブルを作成するテーブル作成過程と、そのテーブル作成過程により作成される読み出しテーブルに基づいて、発生すべき音高に対応する周期に応じて前記過渡部形成過程により形成される前記過渡部のサンプリング値を読み出すと共に、サンプリング周期毎のサンプリング値を補間により取得して、前記発生すべき音高に対応する周期の目的矩形波を生成する目的矩形波生成過程とを含むことを特徴とする楽音発生方法。
Transient that forms a rectangular wave transient part by reading out from the storage means that stores a transient part of a fixed shape that does not depend on the period of the rectangular wave , excluding a part with a small amplitude change from a rectangular wave with a limited frequency band Part formation process,
A flat portion forming process for forming a flat portion having a constant amplitude value with a length corresponding to the pitch of a musical sound to be generated;
A rectangular wave generating process for generating a rectangular wave according to the pitch of the musical sound to be generated based on the flat part formed by the flat part forming process and the transient part formed by the transient part forming process. seen including,
The rectangular wave generating process includes a table creating process for creating a read table capable of forming an ideal rectangular wave in which a sampling value of a transient part formed by the transient part forming process becomes a sampling value for each sampling period, and the table Based on the readout table created by the creation process, the sampling value of the transient part formed by the transient part formation process is read according to the period corresponding to the pitch to be generated, and the sampling value for each sampling period is obtained. A musical sound generation method , comprising: a target rectangular wave generation step of generating a target rectangular wave having a period corresponding to the pitch to be generated, obtained by interpolation .
JP2003167414A 2003-06-12 2003-06-12 Musical sound generating apparatus and musical sound generating method Expired - Fee Related JP4152262B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003167414A JP4152262B2 (en) 2003-06-12 2003-06-12 Musical sound generating apparatus and musical sound generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003167414A JP4152262B2 (en) 2003-06-12 2003-06-12 Musical sound generating apparatus and musical sound generating method

Publications (3)

Publication Number Publication Date
JP2005003942A JP2005003942A (en) 2005-01-06
JP2005003942A5 JP2005003942A5 (en) 2006-07-13
JP4152262B2 true JP4152262B2 (en) 2008-09-17

Family

ID=34093227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003167414A Expired - Fee Related JP4152262B2 (en) 2003-06-12 2003-06-12 Musical sound generating apparatus and musical sound generating method

Country Status (1)

Country Link
JP (1) JP4152262B2 (en)

Also Published As

Publication number Publication date
JP2005003942A (en) 2005-01-06

Similar Documents

Publication Publication Date Title
US7612281B2 (en) Reverberation effect adding device
JP2004287171A (en) Vocoder equipment
JP4127094B2 (en) Reverberation generator and program
JP4702392B2 (en) Resonant sound generator and electronic musical instrument
JP2009175677A (en) Resonance sound adding device and electronic musical instrument
JP4152262B2 (en) Musical sound generating apparatus and musical sound generating method
JP4935556B2 (en) Electronic musical instrument resonance sound adding device and electronic musical instrument
US5559298A (en) Waveform read-out system for an electronic musical instrument
US7151215B2 (en) Waveform adjusting system for music file
JPS61124994A (en) Musical sound signal generator
JPH0667671A (en) Musical sound generator
JP3594790B2 (en) Stereo tone generation method and apparatus
JP4191073B2 (en) Waveform data output device
JP2007271827A (en) Musical sound generator and program
JP3549689B2 (en) Method of creating musical tone waveform and generating musical tone in electronic musical instrument, and their devices
JP4137260B2 (en) Effect device
JP4939753B2 (en) Sound synthesizer
JP2000206972A (en) Performance controller for waveform data
JP5035388B2 (en) Resonant sound generator and electronic musical instrument
JP3862839B2 (en) Waveform compression / decompression device
JP3599978B2 (en) Tone signal forming device
JPH10247084A (en) Sound source device
JP2008512699A (en) Apparatus and method for adding reverberation to an input signal
JPH10198381A (en) Music generator
JP2003202882A (en) Sound synthesis method and sound synthesis device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060531

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080530

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080701

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees