JP4221791B2 - 楽音発生装置 - Google Patents

楽音発生装置 Download PDF

Info

Publication number
JP4221791B2
JP4221791B2 JP32628598A JP32628598A JP4221791B2 JP 4221791 B2 JP4221791 B2 JP 4221791B2 JP 32628598 A JP32628598 A JP 32628598A JP 32628598 A JP32628598 A JP 32628598A JP 4221791 B2 JP4221791 B2 JP 4221791B2
Authority
JP
Japan
Prior art keywords
frequency
setting
musical
harmonic
generated
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
JP32628598A
Other languages
English (en)
Other versions
JP2000148150A (ja
Inventor
俊晴 荒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP32628598A priority Critical patent/JP4221791B2/ja
Publication of JP2000148150A publication Critical patent/JP2000148150A/ja
Application granted granted Critical
Publication of JP4221791B2 publication Critical patent/JP4221791B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、楽音を電気的に発生させて出力する装置に関し、特に、デジタル信号として楽音を発生させて出力することに併せ、その楽音についての折り返しひずみに相当するスペクトルをも敢えて出力する装置に関する。
【0002】
【従来の技術】
シンセサイザで用いられている楽音を電気的に発生させる方法のひとつに、加算合成法の一種である正弦波合成方式(あるいは、倍音合成方式)と呼ばれる方式がある。
【0003】
任意の楽音は、その楽音のピッチを決める基本波とその音の音色を決める高調波群との和として表せることは、楽音の時間波形をフーリエ変換して得られる周波数スペクトルを考えれば、周知の事実である。また、逆に、基本波とその高調波とを加算することにより、任意の時間波形の楽音を合成できることも、逆フーリエ変換としてよく知られている。
【0004】
正弦波合成方式は、この逆フーリエ変換を基にして提案された方式であり、基音となる周波数の正弦波を発生させると共に、その基音に対する倍音である、基音となる周波数の整数倍の周波数の正弦波を高調波として発生させ、任意の割合で加算して合成することにより、楽音を発生させる方式である。実際には発生させる正弦波の数に制限があるため、厳密には任意の楽音を発生させることはできないが、それでも実に多種の音色の楽音を発生させることが可能である。
【0005】
この方式において、楽音合成に用いる高調波としての正弦波は、より高次のものまで合成に用いる方が、出力する楽音の音色に微妙な違いを与えることができるので、望ましい。しかしながら、正弦波合成方式をデジタル領域において実施する場合、すなわち、正弦波を標本化操作により時間軸上で離散化されているデジタル信号として発生させる場合、このデジタル信号の離散周期Tsと楽音合成に用いる最高次の高調波の周波数fnとの間に考慮すべき関係が存在する。
【0006】
今、デジタル信号のサンプリング周波数をFs(=1/Ts)とし、楽音合成に用いる各正弦波の周波数が全て0〜fnの範囲に存在するとき、
0<fn<Fs/2…………………………………▲1▼
の成立する範囲内で、最高次の高調波である正弦波、並びにその他の各正弦波を発生させて合成を行なうのであれば、後にデジタル信号をアナログ変換し、変換したアナログ信号の周波数帯域をFs/2以下に制限することによって、所望の楽音のアナログ信号が得られることは、標本化(サンプリング)定理により保証されている。
【0007】
一方、▲1▼式が成立しない場合、例えば、合成に用いる最高次の高調波の周波数fnのみがFs/2よりも高い周波数を発生させた場合には、その高調波の代わりに(Fs−fn)なる周波数のスペクトルがFs/2以下の周波数帯域に現われる。このスペクトルの周波数が可聴周波数(ほぼ20kHz以下)に発生すると、独特のひずみ音を含んだ楽音が合成出力として得られることとなる。
【0008】
この現象は、Fs/2以上の周波数スペクトルを有する時間波形の標本化周波数Fsによる標本化が、時間波形をすべてFs/2以下の周波数スペクトルとみなして標本化してしまうために生じる現象であり、折り返し(エイリアス)現象と呼ばれている。また、この折り返し現象によって本来使用する帯域内に現れるスペクトルは、折り返しひずみ(あるいは折り返しノイズ)と呼ばれている。
【0009】
折り返しひずみは一般的には余り好まれないので、従来行われていた正弦波合成方式による楽音の発生においては、最高次の高調波である正弦波、並びにその他の各正弦波を▲1▼式の成立する範囲内で発生させて合成を行なうようにして、折り返しひずみの成分を含まない楽音を発生させるようにしていた。
【0010】
【発明が解決しようとする課題】
楽器や音楽ジャンルによってはひずみがむしろ求められる場合もある。例えば、主にエレクトリック・ギターで用いられるエフェクタのひとつであるディストーションは、文字通り、信号波形に対するひずみを故意に発生させることによって効果を得るものである。また、例えば、シンセサイザの人工的な音色の楽音とシーケンサによる正確無比な自動演奏に基づく無機質なシーケンス・フレーズとで構成される、いわゆるテクノポップ系のジャンルの楽曲では、「未来的」な曲のイメージを表現するために、人工的な印象を強調させる音作りが求められ、もとの音と倍音関係にないひずみを故意に発生させることが望まれる場合もある。
【0011】
以上のような事情を鑑み、一種のエフェクトとして、折り返しひずみを積極的に持たせた楽音を出力することのできる楽音発生装置を提供することが本発明が解決しようとする課題である。
【0012】
【課題を解決するための手段】
本願発明は、所定のサンプリング周波数Fsにてサンプリングされた基本波形データを記憶する波形記憶手段と、発音すべき楽音に含まれる基本波及び複数の高調波夫々の振幅を表わす複数の振幅係数を記憶する振幅係数記憶手段と、発音すべき楽音の周波数を指定する周波数指定手段と、複数種の周波数領域夫々に第1及び第2のモードのいずれかが割り当てられ、前記周波数指定手段にて指定された周波数が属する周波数領域に割り当てられたモードを指定するモード指定手段と、このモード指定手段により第1のモードが指定されているときには、周波数指定手段による周波数の指定に応答して、前記振幅係数記憶手段に記憶された振幅係数全てを送出し、前記第2のモードが指定されているときは、当該指定された周波数を前記楽音の基本波の周波数とした場合の各高調波の周波数を算出するとともに、これら算出された周波数がFs/2を超えない高調波の高調波係数のみを送出する係数送出手段と、前記周波数指定手段にて指定された周波数及び係数送出手段により送出された振幅係数を受信する受信手段と、前記受信された周波数を前記発生すべき楽音の基本波の周波数として前記各高調波の周波数を生成する周波数生成手段と、前記受信された周波数に対応する読み出しアドレス間隔で前記波形記憶手段から基本波形データを一定時間間隔毎に読み出すとともに、前記周波数生成手段にて生成された高調波の周波数のうち前記受信された振幅係数に対応する高調波の周波数夫々に対応する読み出しアドレス間隔で前記波形記憶手段から基本波形データを一定時間間隔毎に順次読み出す波形読み出し手段と、この波形読み出し手段にて読み出された基本波形データ夫々に対応する振幅係数を乗算して合成し、当該合成された基本波形データを楽音信号として出力する合成手段と、を有することを特徴とする。
図1は、本発明の原理構成を示すブロック図であり、複数の正弦波データ出力手段(1a、1b、…)、周波数設定手段2、加算手段3、折り返しひずみ許可手段4、より構成される。
【0013】
複数の正弦波データ出力手段(1a、1b、…)は、正弦波を示すデジタルデータを各々出力するものであり、例えば、正弦波を示すデジタルデータが予め格納記憶されているメモリからデータを読み出して出力する構成や、正弦波を示すデジタルデータを順次算出して出力する構成などにより実現される。
【0014】
周波数設定手段2は、複数の正弦波データ出力手段(1a、1b、…)に、その最低の周波数に対して各々整数倍の関係を有する周波数についての情報を各々設定するものである。なお、ここでいう「その最低の周波数」とは、発生させる楽音の基音の周波数に相当するものであり、「各々整数倍の関係を有する周波数」とは、基音の周波数と各々整数倍の関係を有する周波数、すなわち、基音に対する倍音である各高調波の周波数に相当するものである。つまり、周波数設定手段2は、複数の正弦波データ出力手段(1a、1b、…)に、発生させる楽音についての基音及び倍音に相当する周波数についての情報を各々設定するものである。
【0015】
加算手段3は、複数の正弦波データ出力手段(1a、1b、…)により出力されたデジタルデータをデジタル領域で加算するものであり、例えば、一般的なデジタル加算回路でよい。
【0016】
折り返しひずみ許可手段4は、周波数設定手段2による正弦波データ出力手段(1a、1b、…)への周波数についての情報の設定により、正弦波データ出力手段(1a、1b、…)が、設定情報の示す周波数の正弦波のデジタルデータについての折り返しひずみであって、可聴周波数である正弦波を示す折り返しひずみデジタルデータを出力する場合に、折り返しひずみデジタルデータの出力を許可するか否かを正弦波データ出力手段(1a、1b、…)に設定するものであり、本発明に特に関係するものである。
【0017】
周波数設定手段2の設定する情報の示す周波数と、正弦波データ出力手段(1a、1b、…)の出力するデジタルデータの標本化(サンプリング)周波数と、の関係により、正弦波データ出力手段(1a、1b、…)の出力する設定情報に基づく正弦波のデジタルデータについて、そのデータの折り返しひずみである正弦波の周波数が可聴周波数になる場合がある。折り返しひずみ許可手段4は、この場合におけるデジタルデータの出力を許可するか否かを正弦波データ出力手段(1a、1b、…)に設定するものである。折り返しひずみ許可手段4が正弦波データ出力手段(1a、1b、…)に許可の設定を行なうことにより、折り返しひずみを含んだ楽音のデジタルデータが、加算手段3の加算結果として出力5より出力できるようになる。
【0018】
ここで、「可聴周波数」とは、正常な聴力をもつ人が聞くことのできる音の周波数を意味し、ほぼ20KHz以下の周波数である。
なお、折り返しひずみ許可手段4は、周波数設定手段2により設定される情報で示される周波数の中で最低の周波数に対応させて、折り返しひずみデジタルデータの出力許可を設定するようにしても良い。ここでいう「最低の周波数」とは、前述したように、発生させる楽音の基音の周波数に相当するものであり、つまり、折り返しひずみ許可手段4による折り返しひずみデジタルデータの出力許可の設定は、発生させる楽音の基音の周波数に対応させて設定するようにしても良いということである。こうすることにより、折り返しひずみを発生させたり、また、発生させなかったりすることを発生させる楽音の基音の周波数に応じて行なわせることが可能となり、楽曲演奏の際に、発音する楽音の音高の違いによって折り返しひずみの有無が変化する特殊なエフェクトを与えることができる。
【0019】
また、特に、折り返しひずみ許可手段4は、周波数設定手段2により設定される情報で示される周波数の中で最低の周波数が含まれる周波数帯に対応させて、折り返しひずみデジタルデータの出力許可を設定する、すなわち、折り返しひずみ許可手段4による折り返しひずみデジタルデータの出力許可の設定は、発生させる楽音の基音の周波数が含まれる周波数帯に対応させて設定するようにしても良い。こうすることにより、楽曲演奏の際に、発音する楽音の音高の含まれる音域の違いによって折り返しひずみの有無が変化するエフェクトを与えることができる。
【0020】
また、図1に示す構成において、複数の正弦波データ出力手段(1a、1b、…)に、正弦波データ出力手段(1a、1b、…)の出力するデジタルデータで示される正弦波の振幅レベルを各々設定するレベル設定手段を更に有するようにしてもよい。正弦波データ出力手段(1a、1b、…)では、正弦波データ出力手段(1a、1b、…)がデジタルデータを出力する際に、レベル設定手段による設定に基づく係数をそのデジタルデータに乗ずることで、正弦波の振幅レベルを変更することができる。従って、レベル設定手段を用いることにより、発生させる楽音の音色の設定が行なえる上に、発生させる楽音に折り返しひずみの含ませるように設定した場合には、その含有比率の設定をも行なうことができるようになる。
【0021】
ここで、レベル設定手段4は、本発明に係る装置を操作する操作者により、周波数設定手段2により設定される情報で示される周波数に応じて入力される設定入力に基いて振幅レベルを設定する、すなわち、操作者が、発生させる楽音についての基音及び倍音に相当する周波数に応じて入力する設定入力に基づいて振幅レベルを設定するようにすれば、発生させる楽音の音色を操作者が自由に設定することができる上に、発生させる楽音に折り返しひずみの含ませるように設定した場合には、その含有比率をも操作者が自由に設定することができるようになる。
【0022】
また、この場合において、レベル設定手段4は、前述の設定入力に基いた補間により得られる値を振幅レベルとして設定するようにすれば、操作者が、発生させる楽音の一部についてのみ、音色や折り返しひずみの含有比率の設定を行なうだけで、本発明に係る装置の発生し得る全ての楽音についての前述した設定の概略を済ませることができるようになり、便利である。
【0023】
【発明の実施の形態】
図2は、本発明を実施する楽音発生装置の構成を示す図である。
同図において、CPU11、ROM12、ワークRAM13、波形合成情報RAM14、鍵盤15、SW群16、表示部17、音源18は、バス20を介してそれぞれ相互に接続されている。また、発音回路19は、音源回路18に直接接続されている。
【0024】
CPU11は、ROM12に記憶された制御プログラムに従って、ワークRAM13をワークエリアとして使用しながら、この楽音発生装置全体の動作を制御する中央演算処理装置である。
【0025】
ROM12は、CPU11で実行される、楽音発生装置全体の制御のための制御プログラム、鍵盤15の各鍵毎に対応する基音の周波数、発生させる楽音に関する初期データ等が予め格納されているリードオンリメモリである。
【0026】
ワークRAM13は、CPU11により制御プログラムが実行されるときに、CPU11がワークエリアとして用いるランダムアクセスメモリである。
波形合成情報RAM14は、鍵盤15への押鍵に応じて発生させる楽音に関する各種データを格納するために用いるランダムアクセスメモリである。図3は、この楽音発生装置の動作時における波形合成情報RAM14の記憶領域の利用状況を示す図である。
【0027】
図3(a)に示すように、楽音発生装置の動作時には、高調波係数エリア、音域分割音高エリア、音域フラグエリアの3つの領域が波形合成情報RAM14の記憶領域に確保される。
【0028】
高調波係数エリアは、楽音合成に用いられる高調波である各正弦波の振幅レベルを次数毎に設定するためのデータである高調波係数を、同図(b)に示すように音高(鍵盤15の各鍵)毎に、同図(c)に示すようにデータKEISUとして格納する領域である。
【0029】
音域分割音高エリアは、同図(b)に示すように、この楽音発生装置で発生させる発音音域を分割(同図の例では7つの音域に分割)したときの分割の様子を示すデータを格納する領域であり、分割音域の境界を示す8つの音高データを、鍵盤15の各鍵毎に予め定義されている番号を用い、データNOTEとして各分割音域毎に格納する。
【0030】
音域フラグエリアは、同図(b)に示すように、ある音高の楽音を発生させる際に、楽音合成に用いられる高調波である正弦波の中にFs/2以上の周波数となるものが出現した場合に、そのような正弦波を発生させる設定を敢えて音源18に設定して折り返しひずみを含む楽音を合成するか否かを示すフラグを、音域分割音高エリアによって示される分割音域毎にフラグOCTFとして格納する領域である。
【0031】
KEISU、NOTE、OCTFについては、CPU11で実行される制御処理について後に説明する際に、併せて詳述する。
図2の説明に戻る。鍵盤15はいわゆるキーボードであり、ユーザによる押鍵により、発音させる音高と、その音高の発音の指示を本楽音発生装置が受け取るものである。なお、ここでは、鍵盤15の各鍵に、音高の低い鍵から順に0から連続する番号を予め定義しておく。
【0032】
SW群16は、この楽音発生装置を操作するために必要なスイッチ群であり、カーソルスイッチ、テンキー、確定スイッチ、終了スイッチなどがある。これらの各スイッチの詳細は後述する。
【0033】
表示部17は、CPU11による指示に応じ、後述する各種の選択画面、設定画面を表示するものである。
音源18は、CPU11により設定される各種情報に基づき、サンプリング周波数がFsであるデジタル信号領域において複数の正弦波を加算合成し、その結果得られた楽音データを発音回路19に出力するものである。音源18は、充分に短い周期でサンプリングされている正弦波のデジタルデータをデータファイルとして予め有しており、ある特定の周波数の正弦波のデジタルデータを得るには、このデータファイルから所定の間隔毎にデータを読み出すことで所望の周波数の正弦波データを得る構成となっている。
【0034】
発音回路19は、音源18からの楽音データをDA変換してアナログ楽音信号とし、更にアナログ信号領域においてFs/2以下の周波数に帯域制限したアナログ楽音信号をオーディオアンプとスピーカとを用いて音として発音させるものである。
【0035】
次に図4について説明する。同図は、楽音発生装置の操作パネルの構成を示す図であり、操作パネルには、画面21、カーソルスイッチ22、確定スイッチ23、終了スイッチ24、テンキースイッチ25が設けられている。
【0036】
画面21は、図2における表示部17の表示画面であり、図4では、設定モード選択画面を表示している。設定モード選択画面については後述する。
カーソルスイッチ22、確定スイッチ23、終了スイッチ24、テンキースイッチ25は、いずれも図2におけるSW群16を構成するスイッチである。
【0037】
カーソルスイッチ22は、上下左右4方向を示すスイッチからなり、画面21の表示から設定対象を選択する等のために用いられる。
確定スイッチ23は、カーソルスイッチ22を用いて行われた設定対象の選択の確定指示や、テンキースイッチ25による数値入力の確定などに用いられる。
【0038】
終了スイッチ24は各種の設定処理の終了を指示する等の場合に用いられる。
テンキースイッチ25は、数値入力を行なうために用いられるスイッチである。
【0039】
次に、図2に示すCPU11が行なう制御について、図2乃至図4を適宜参照しながら説明する。
図5は、CPU11が、電源投入直後よりROM12に記憶されている制御プログラムを実行することにより実現される、CPU11による楽音発生装置全体の制御処理を示すフローチャートである。CPU11による制御動作を同図に従って説明する。
【0040】
まず、ステップS101において、電源投入直後にイニシャライズ処理が実行され、CPU11自身の有するレジスタ、ワークRAM13、波形合成情報RAM14、音源18などの初期化、初期設定値の格納、などの処理が行なわれる。特に、波形合成情報RAM14に対しては、ROM11に予め格納されているKEISU、NOTE、OCTFの各データの初期値が、それぞれ波形合成情報RAM14の適切な記憶領域に格納される。
【0041】
ステップS102では、表示部17を制御し、図4の画面21に示すモード選択画面、すなわち、「設定」アイコンと「発音」アイコンとの2つのアイコンを表示させる。
【0042】
ステップS103では、モード選択画面として画面21に表示させている「発音」アイコンの表示を変更、例えば、文字「発音」の表示色とその文字の背景色との色彩を反転して、「発音」アイコンが現在は選択されている状態であることをユーザに示す。以降、このようなアイコンの表示を「変更表示」と呼び、変更表示がされていないアイコンの表示を「通常表示」と呼ぶこととする。なお、図4及び以降に示す画面21の表示内容においては、文字の背景に斜線を加えることで変更表示を示すこととする。
【0043】
ステップS104では、カーソルスイッチ22のいずれかが操作されたか否かを調べ、操作が検出されればステップS105に、また、操作が検出されないのであればステップS106に、それぞれ進む。
【0044】
ステップS105では、今まで画面21に変更表示させていたアイコンの表示を通常表示に、一方、通常表示されていたアイコンの表示を変更表示に、それぞれ切り換えて表示させる。
【0045】
ステップS106では、確定スイッチ23がオン(操作)されたか否かを調べ、オンされたことが検出されればステップS107に進み、一方、オンされたことが検出されないのであればステップS104へ戻り、前述した処理を繰り返す。
【0046】
ステップS107では、画面21に表示させているアイコンにおいて、現在変更表示させているアイコンが、「発音」アイコンであるか否かを調べる。「発音」アイコンを変更表示させているのであればステップS109に進んで発音処理を行ない、処理終了後にステップS102へ戻り、上述した処理を繰り返す。一方、「発音」アイコンを変更表示させていないのであればステップS108に進んで設定処理を行ない、処理終了後にステップS102へ戻り、上述した処理を繰り返す。発音処理及び設定処理については、後述する。
【0047】
以上までに説明した処理の繰返しにより、楽音発生装置全体の動作制御が行われる。
次に、図5のステップS108で行われる設定処理について説明する。
【0048】
設定処理は、正弦波合成方式により発生させる楽音の音色の設定や、発生させる楽音に折り返しひずみを持たせるか否かの設定といった、各種設定を行なう処理である。
【0049】
設定処理をCPU11が行なうことにより表示部17の画面21に表示させる設定モード選択画面の画面表示を図6に、また、CPU11により行われる設定処理の処理内容を示すフローチャートを図7に示す。以下、設定処理の処理内容を図7に従って説明する。
【0050】
まず、ステップS201では、画面21の現在の表示をクリアする。
ステップS202では、表示部17を制御し、図6の画面21に示す設定モード選択画面、すなわち、「高調波係数設定」アイコンと「音域設定」アイコンとの2つのアイコンを表示させる。
【0051】
ステップS203では、画面21に表示させている「高調波係数設定」アイコンを変更表示させる。
ステップS204では、カーソルスイッチ22のいずれかが操作されたか否かを調べ、操作が検出されればステップS205に、また、操作が検出されないのであればステップS206に、それぞれ進む。
【0052】
ステップS205では、今まで画面21に変更表示させていたアイコンの表示を通常表示に、一方、通常表示されていたアイコンの表示を変更表示に、それぞれ切り換えて表示させる。
【0053】
ステップS206では、確定スイッチ23がオンされたか否かを調べ、オンされたことが検出されればステップS207に、一方、オンされたことが検出されないのであればステップS210に、それぞれ進む。
【0054】
ステップS207では、画面21に表示させているアイコンにおいて、現在変更表示させているアイコンが、「高調波係数設定」アイコンであるか否かを調べる。「高調波係数設定」アイコンを変更表示させているのであればステップS208に進んで「高調波係数設定処理」を行ない、処理終了後にステップS201へ戻り、上述した処理を繰り返す。一方、「高調波係数設定」アイコンを変更表示させていないのであればステップS209に進んで「音域フラグ設定処理」を行ない、処理終了後にステップS201へ戻り、上述した処理を繰り返す。高調波係数設定処理及び音域フラグ設定処理については、後述する。
【0055】
ステップS210では、終了スイッチ24がオンされたか否かを調べ、オンされたことが検出されればステップS211に進む。一方、オンされたことが検出されないのであればステップS204へ戻り、前述した処理を繰り返す。
【0056】
ステップS211では、画面21の現在の表示をクリアし、今回の設定処理を終了して図5の制御処理へ戻る。
以上までに説明した処理が設定処理である。
【0057】
次に図7のステップS208で行われる高調波係数設定処理について説明する。
高調波係数設定処理は、正弦波合成方式による楽音の発生に高調波として用いる各正弦波の振幅レベルの設定を行ない、発生させる楽音の音色を決定する処理である。
【0058】
なお、詳しくは後述するが、本実施の形態においては、図3に示した波形合成情報RAM14の音域分割音高エリアに格納されている8つの音高についてのみ、高調波係数をユーザが直接設定するようにし、他の音高の高調波係数については、ユーザの設定した8つの音高についての高調波係数を基にした補間により自動的に設定されるようにしている。もちろん、鍵盤15の鍵のひとつひとつに対応する音高ごとに異なる音色を設定するようにしたり、また、逆に、この楽音発生装置で発生させることのできる音域全体で同一の音色を用いるようにしても良い。
【0059】
高調波係数設定処理をCPU11が行なうことにより表示部17の画面21に表示させる2種類の画面表示のうち、音高選択画面の画面表示を図8に、高調波係数設定画面の画面表示を図9に、それぞれ示す。また、CPU11により行われる高調波係数設定処理の処理内容を示すフローチャートを図10乃至図13に示す。以下、高調波係数設定処理の処理内容を図10乃至図13に従って説明する。
【0060】
まず、図10において、ステップS221では、画面21の現在の表示をクリアする。
ステップS222では、表示部17を制御し、図8の画面21に示す音高選択画面、すなわち、N0〜N8の8つの音高選択アイコンを表示させる。
【0061】
ステップS223では、画面21に表示させているN0の音高選択アイコンを変更表示させる。
ステップS224では、カーソルスイッチ22のいずれかが操作されたか否かを調べ、操作が検出されればステップS225に、また、操作が検出されないのであればステップS226に、それぞれ進む。
【0062】
ステップS225では、今まで画面21に変更表示させていた音高選択アイコンの表示を通常表示に切り換えて表示させると共に、変更表示させていた音高選択アイコンの上下左右に隣接して表示されている音高選択アイコンのうち、操作されたカーソルスイッチ22に示されている矢印に対応するアイコンを通常表示から変更表示に切り換えて表示させる。なお、このステップの処理において、操作されたカーソルスイッチ22に示されている矢印に対応するアイコンが存在しないのであれば、画面21に変更表示させていた音高選択アイコンの通常表示への切り換えは行なわないまま、ステップS226に進む。
【0063】
ステップS226では、確定スイッチ23がオンされたか否かを調べ、オンされたことが検出されればステップS229に、一方、オンされたことが検出されないのであればステップS227に、それぞれ進む。
【0064】
ステップS227では、終了スイッチ24がオンされたか否かを調べ、オンされたことが検出されればステップS228に進む。一方、オンされたことが検出されないのであればステップS224へ戻り、前述した処理を繰り返す。
【0065】
ステップS228では、画面21の現在の表示をクリアし、今回の高周波係数設定処理を終了して図7の制御処理へ戻る。
ステップS229では、画面21で現在変更表示を行なっている音高選択アイコンの番号を取得し、変数nに代入する。
【0066】
図11に移り、ステップS230では、画面21の現在の表示をクリアする。
ステップS231では、表示部17を制御し、図9の画面21に示す高調波係数設定画面、すなわち、図9の画面21の左側の表の枠及び文字、並びに右側のグラフの枠及び文字、を表示させる。
【0067】
ステップS232では、変数mに1を代入する。
ステップS233では、画面21の左側の表の右欄の上からm行目の欄に、図3に示した波形合成情報RAM14の高調波係数エリアに格納されている、音高n用の高調波係数であるKEISU(n,m)の数値を表示させる。
【0068】
ここで、高調波係数KEISU(n,m)とは、音高nの鍵盤15の押鍵に応じて発生させる楽音の合成に用いる(m+1)次高調波としての正弦波の振幅レベルを、その楽音の合成に用いる基音としての正弦波の振幅レベルに対する比で示した値である。
【0069】
ステップS234では、画面21の右側のグラフに、左側の表と対応するように、KEISU(n,m)の数値に相当するグラフを表示させる。
ステップS235では、変数mの値を1だけ増加させる。
【0070】
ステップS236では、変数mと最大設定数、すなわち、音源18で楽音合成に用いることのできる正弦波(基音用以外の高調波用としての正弦波)の数とを比較し、mが最大設定数を超えていればステップS237に進む。一方、mが未だ最大設定数を超えていなければステップS233へ戻り、前述した処理を繰り返す。
【0071】
ステップS237では、画面21の右側の表において、KEISU(n,1)の数値を表示させた欄を変更表示させる。
ステップS238では、変数mに改めて1を代入する。
【0072】
図12に移り、ステップS239では、カーソルスイッチ22のいずれかが操作されたか否かを調べ、操作が検出されればステップS240に、また、操作が検出されないのであればステップS242に、それぞれ進む。
【0073】
ステップS240では、操作されたカーソルスイッチ22に示されている矢印に応じ、上向き若しくは左向きの矢印のスイッチが操作されていたのであれば変数mの値を1だけ減少させ、一方、下向き若しくは右向きの矢印のスイッチが操作されていたのであれば変数mの値を1だけ増加させる。なお、値の増減の結果、変数mの値が、0以下、もしくは、前述した最大設定数を超えてしまう場合には、変数mの値の増減は行なわないようにする。
【0074】
ステップS241では、画面21の右側の表において、KEISU(n,m)の数値を表示させた欄を変更表示させ、現在変更表示させている他の欄を通常表示へ戻す。
【0075】
ステップS242では、テンキースイッチ25が操作されたか否かを調べ、操作が検出されればステップS243に、また、操作が検出されないのであればステップS245に、それぞれ進む。
【0076】
ステップS243では、KEISU(n,m)の数値をテンキースイッチ25の操作に応じて変更し、また、画面21の右側の表に表示させていた、KEISU(n,m)の数値も変更して表示させる。
【0077】
ステップS244では、画面21の右側のグラフに、左側の表と対応するように、KEISU(n,m)の値に相当するグラフを表示させる。
ステップS245では、確定スイッチ23がオンされたか否かを調べ、オンされたことが検出されればステップS248(図13)に、一方、オンされたことが検出されないのであればステップS246に、それぞれ進む。
【0078】
ステップS246では、終了スイッチ24がオンされたか否かを調べ、オンされたことが検出されればステップS247に進む。一方、オンされたことが検出されないのであればステップS239へ戻り、前述した処理を繰り返す。
【0079】
ステップS247では、画面21の現在の表示をクリアし、その後ステップS222(図10)へ戻り、前述した処理を繰り返す。
図13に移り、ステップS248では、変数mに改めて1を代入する。
【0080】
ステップS249では、変数kに0を代入する。
ステップS250からステップS257にかけての処理は、音高Nkと音高N(k+1)との間の各音高についての第m次高調波の高調波係数KEISUを、ユーザが直接設定せずに直線補間により自動的に求め、設定する処理である。
【0081】
ステップS250では、音高Nkと音高N(k+1)との間の音高差をもとめ、変数Lに代入する。
ステップS251では、KEISU(Nk,m)とKEISU(N(k+1),m)との間の、音高差に対する傾きを求め、変数lに代入する。
【0082】
ステップS252では、変数Sに1を代入する。
ステップS253では、KEISU((Nk)+S,m)の値を、KEISU(Nk,m)及び傾きlより求め、波形合成情報RAM14の高調波係数エリアの所定の記憶領域に格納する。
【0083】
ステップS254では、変数Sの値を1だけ増加させる。
ステップS255では、変数Sの値と変数L−1の値とを比較して、音高Nkと音高N(k+1)との間の音高の楽音についての第m次高調波の高調波係数の設定を終えたかどうかを調べる。Sの値がL−1の値を超えているのであればステップS256に進み、一方そうでなければステップS253へ戻り、上述した処理を繰り返す。
【0084】
ステップS256では、変数kの値を1だけ増加させる。
ステップS257では、変数kの値を調べて、鍵盤15の全ての鍵に対応する音高の楽音についての第m次高調波の高調波係数の設定を終えたかどうかを調べる。kが7を超えているのであればステップS258に進み、一方そうでなければステップS250へ戻り、上述した処理を繰り返す。
【0085】
ステップS258では、変数mの値を1だけ増加させる。
ステップS259では、変数mと前述の最大設定数とを比較し、mが最大設定数を超えていればステップS260に進む。一方、mが未だ最大設定数を超えていなければステップS249へ戻り、前述した処理を繰り返す。
【0086】
ステップS260では、画面21の現在の表示をクリアし、その後ステップS222(図10)へ戻り、前述した処理を繰り返す。
以上までの処理が高調波係数設定処理である。
【0087】
なお、ここで説明した高調波係数設定処理において、音高Nkと音高N(k+1)との間の各音高についての高調波係数KEISUを、ユーザが直接設定せずに自動的に求めて設定するために、直線補間を用いたが、他の補間方式を用いてもよく、例えば、鍵盤15の各鍵に対応する楽音の音高の基音の周波数は指数的な間隔で並べられていることを考慮し、指数補間を用いることも可能である。
【0088】
次に図7のステップS209で行われる音域フラグ設定処理について説明する。
音域フラグ設定処理は、この楽音合成装置により発生させる楽音に折り返しひずみを持たせて発生させるか否かの設定を分割音域毎に行なうものであり、折り返しひずみを含む楽音の発生の選択を可能とする本発明の特徴に関連する処理である。
【0089】
音域フラグ設定処理をCPU11が行なうことにより表示部17の画面21に表示させる音域フラグ設定画面の画面表示を図14に示し、また、CPU11により行われる音域フラグ設定処理の処理内容を示すフローチャートを図15に示す。以下、音域フラグ設定処理の処理内容を図15に従って説明する。
【0090】
まず、ステップS281では、画面21の現在の表示をクリアする。
ステップS282では、表示部17を制御し、図14の画面21に示す音域フラグ設定画面、すなわち、図14の画面21の表の枠及び文字を表示させる。なお、同図において、表の右欄の「×」印は、フラグデータOCTFに基づいて設定されるものであって、その分割帯域に含まれる音高の楽音を発生させる際に折り返しひずみを含ませない設定がOCTFになされていることを意味し、発生させる楽音に折り返しひずみを含ませる設定がOCTFに行なわれている場合には、対応する表の右欄に「○」印が表示される。
【0091】
ステップS283では、OCTF(0)の表示欄(表の「N0〜N1」が表示されている欄の右隣の欄)を変更表示する。
ステップS284では、変数nに0を代入する。
【0092】
ステップS285では、カーソルスイッチ22のいずれかが操作されたか否かを調べ、操作が検出されればステップS286に、また、操作が検出されないのであればステップS288に、それぞれ進む。
【0093】
ステップS286では、操作されたカーソルスイッチ22に示されている矢印に応じ、上向き若しくは左向きの矢印のスイッチが操作されていたのであれば変数nの値を1だけ減少させ、一方、下向き若しくは右向きの矢印のスイッチが操作されていたのであれば変数nの値を1だけ増加させる。なお、値の増減の結果、変数nの値が、0以下、もしくは、前述した最大設定数を超えてしまう場合には、変数nの値の増減は行なわないようにする。
【0094】
ステップS287では、画面21の表において、フラグOCTF(n)の内容を表示させた欄を変更表示させ、現在変更表示させている他の欄を通常表示へ戻す。
【0095】
ステップS288では、確定スイッチ23がオンされたか否かを調べ、オンされたことが検出されればステップS289に、一方、オンされたことが検出されないのであればステップS290に、それぞれ進む。
【0096】
ステップS289では、フラグ情報であるOCTF(n)の内容を反転させると共に、反転させたOCTF(n)の内容を画面21の表に反映させ、その後、ステップS285へ戻り、前述した処理を繰り返す。
【0097】
ステップS290では、終了スイッチ24がオンされたか否かを調べ、オンされたことが検出されればステップS291に進む。一方、オンされたことが検出されないのであればステップS285へ戻り、前述した処理を繰り返す。
【0098】
ステップS291では、画面21の現在の表示をクリアし、その後、今回の音域フラグ設定処理を終了し、図7に示す設定処理へ戻る。
以上までに説明した処理が音域フラグ設定処理である。
【0099】
ここまでに説明した各設定処理によって、発生させる楽音の合成に関する設定はすべて完了する。なお、本実施の形態では、波形合成情報RAM14の音域分割音高エリアに格納されている分割音域の範囲を示す音高データNOTEについて、図5のステップS101におけるイニシャライズ処理において音域分割音高エリアに格納される、ROM12に予め格納されている初期設定データをそのまま使用するようにしている。もちろん、ユーザがNOTEの内容を自由に設定できるようにする設定処理を追加してもよい。
【0100】
次に、図5のステップS109で行われる発音処理について説明する。
発音処理は、楽音の合成に関する各種の設定情報及び発音/消音のタイミングについての情報を音源18に伝える処理である。
【0101】
CPU11により行われる発音処理の処理内容を示すフローチャートを図16乃至図18に示す。以下、発音処理の処理内容を図16乃至図18に従って説明する。
【0102】
まず、図16において、ステップS301では、画面21の現在の表示をクリアする。
ステップS302では、発音処理を実行していることをユーザに通知するために、表示部17を制御して画面21に「発音中」の文字を表示させる。
【0103】
ステップS303では、変数nに0を代入する。
ステップS304では、変数nの値の番号が定義されている鍵盤15の鍵の操作状況の変化を調べる。この鍵の押鍵状態への変化が検出されればステップS305に、離鍵状態への変化が検出されればステップS324に、また、鍵の操作状況の変化が検出されないのであればステップS325(図18)に、それぞれ進む。
【0104】
ステップS305では、鍵の操作状況が押鍵状態に変化したことを示すフラグONTFに1を代入する。このフラグONTFの格納場所は、音源18の有するレジスタに設けられている。
【0105】
ステップS306からステップS308にかけての処理は、変数nの値の番号の鍵に対応する楽音の音高が波形合成情報RAM14の音域分割音高エリアに格納されているデータにより定められている分割音域のいずれに属するものであるかを調べるものである。ステップS307における判断処理の結果、変数nの番号の鍵は音高Nkと音高N(k+1)との間の分割音域内にあることが分かり、その後、ステップS309に進む。
【0106】
ステップS309では、波形合成情報RAM14の音域フラグエリアに格納されている音域フラグOCTF(k)を調べ、OCTF(k)が1であるとき、すなわち、発生させる楽音に折り返しひずみを含ませる設定がOCTF(k)に行なわれている場合にはステップS310(図17)に進む。一方、OCTF(k)が1でないとき、すなわち、発生させる楽音に折り返しひずみを含ませない設定がOCTF(k)に行なわれている場合にはステップS315(図18)に進む。
【0107】
図17に移り、ステップS310では、押鍵状態へと変化した鍵盤15の鍵を特定する変数nを音源18に送付する。
ステップS311からステップS314にかけての処理は、波形合成情報RAM14の高調波係数エリアに格納されている音高nについての高調波係数KEISU(n,m)(m=1,2,…,前述の最大設定数)の値を音源18に送付するものである。そして、ステップS314の判断処理により、高調波係数の送付を終えたと判断された場合にはステップS325(図17)に進む。
【0108】
図18に移り、ステップS309(図16)の判断処理の結果、OCTF(k)が1でないとき、すなわち、発生させる楽音に折り返しひずみを含ませない設定がOCTF(k)に行なわれている場合には、まず、ステップS315において、押鍵状態へと変化した鍵盤15の鍵を特定する変数nを音源18に送付する。
【0109】
ステップS316では、変数nの値で特定される鍵盤15の鍵の基音の周波数を、その基音の周波数が予め格納されているROM12を参照することにより取得し、変数Fに代入する。
【0110】
ステップS317では、変数mに1を代入する。
ステップS318では、F×(m+1)を計算し、計算結果を変数fに代入する。
【0111】
ステップS319では、音源18における楽音合成処理で用いられるサンプリング周波数Fsを、Fsの値が予め格納されているROM12を参照することにより取得してFs/2を計算し、その計算結果を変数fの値と比較する。fの値がFs/2よりも小さいのであればステップS320に、一方、fの値がFs/2よりも小さくないのであればステップS321に、それぞれ進む。
【0112】
ステップS320では、波形合成情報RAM14の高調波係数エリアに格納されている音高nについての高調波係数KEISU(n,m)の値を音源18に送付し、ステップS322に進む。
【0113】
ステップS321では、音高nについての高調波係数KEISU(n,m)の値として0を音源18に送付し、この高調波係数に対応する第n次高調波である正弦波を、加算合成により発生させる楽音には含ませないようにして、折り返しひずみの発生を防止する。
【0114】
ステップS322では、変数mの値を1だけ増加させる。
ステップS323では、変数mと前述の最大設定数とを比較し、mが最大設定数を超えていればステップS325に進む。一方、mが未だ最大設定数を超えていなければステップS318へ戻り、前述した処理を繰り返す。
【0115】
ところで、図16のステップS304において、変数nの番号が定義されている鍵盤15の鍵の操作状況について離鍵状態への変化が検出された場合には、ステップS324で、鍵の操作状況が離鍵状態に変化したことを示すフラグOFTFに1を代入し、その後、ステップS325(図18)に進み、前述した処理を行なう。このフラグOFTFの格納場所は、フラグONTFと同様に、音源18の有するレジスタに設けられている。
【0116】
図18の説明に戻り、ステップS325では、変数nの値を1だけ増加させる。
ステップS326では、変数nと鍵盤15の有する鍵の総数とを比較する。nが鍵の総数に達したのであればステップS327に進む。一方、nが未だ鍵の総数に達していなければステップS304(図16)へ戻り、前述した処理を繰り返す。
【0117】
ステップS327では、終了スイッチ24がオンされたか否かを調べ、オンされたことが検出されればステップS328に進む。一方、オンされたことが検出されないのであればステップS303(図16)へ戻り、前述した処理を繰り返す。
【0118】
ステップS328では、画面21の現在の表示をクリアし、今回の設定処理を終了して図5の制御処理へ戻る。
以上までの処理が発音処理である。
【0119】
次に、音源18が行なう処理について説明する。音源18は、CPU11から送付される各種情報の受信、正弦波合成方式による楽音の発生、及び発生させた楽音の発音・消音、等の処理を行なう。
【0120】
まず、音源処理について説明する。この処理では、CPU11から送付される各種情報の受信処理と、鍵盤15への押鍵発生に応じた発音動作のための初期設定処理が行われる。
【0121】
音源18により行われる音源処理の処理内容を示すフローチャートを図19及び図20に示す。以下、音源処理の処理内容を図19及び図20に従って説明する。
【0122】
まず、図19において、ステップS401では、鍵盤15の鍵の操作状況の押鍵状態への変化の有無を示す前述したフラグONTFの内容を調べ、ONTFが1、すなわち、鍵の押鍵状態への変化が検出されているのであればステップS402に、一方、検出されていないのであればステップS417(図20)に、それぞれ進む。
【0123】
ステップS402では、CPU11が前述した発音処理を行なうことにより音源18へ送付されてくる、押鍵状態へと変化した鍵盤15の鍵を特定する変数nを受信する。
【0124】
ステップS403からステップS406にかけての処理は、CPU11が前述した発音処理を行なうことにより音源18へ送付されてくる、高調波係数KEISU(n,m)(m=1,2,…,前述の最大設定数)の値を受信するものである。そして、ステップS406の判断処理により、高調波係数の受信を終えたと判断された場合にはステップS407に進む。
【0125】
ステップS407では、変数nの値で特定される鍵盤15の鍵の基音の周波数を、音源18が予め有している対応データより取得し、変数fに代入する。
ステップS408では、変数CHに0を代入する。
【0126】
ステップS409では、変数mに0を代入する。
ステップS410では、f×(m)を計算し、計算結果を変数F(CH)に代入する。この処理により、変数F(CH)には、合成楽音のCH次高調波である正弦波の周波数値が格納される。なお、F(0)には、合成楽音の基音である正弦波の周波数値が格納される。
【0127】
ステップS411では、変数mの値を1だけ増加させる。
ステップS412では、変数ADD(CH)に0を代入する。変数ADD(CH)については、後述する。
【0128】
図20に移り、ステップS413では、変数mの値を1だけ増加させる。
ステップS414では、変数mと前述の最大設定数とを比較し、mが最大設定数を超えていればステップS415に進む。一方、mが未だ最大設定数を超えていなければステップS410(図19)へ戻り、前述した処理を繰り返す。
【0129】
ステップS415では、鍵盤15の鍵の押鍵状態への変化の検出時に行なう必要のある処理を終えたので、フラグONTFに0を代入する。
ステップS416では、楽音の発音/消音を指示するフラグONFに、発音指示を示す1を代入する。
【0130】
ステップS417では、鍵盤15の鍵の操作状況の離鍵状態への変化の有無を示す前述したフラグOFTFの内容を調べ、OFTFが1、すなわち、鍵の離鍵状態への変化が検出されているのであればステップS418に進む。一方、検出されていないのであればステップS401(図19)へ戻り、前述した処理を繰り返す。
【0131】
ステップS418では、フラグONFに、消音指示を示す0を代入する。
ステップS419では、鍵盤15の鍵の離鍵状態への変化の検出時に行なう必要のある処理を終えたので、フラグOFTFに0を代入し、その後、ステップS401(図19)へ戻り、前述した処理を繰り返す。
【0132】
以上までの処理が音源処理である。
次に、音源18の行なうタイマインタラプト処理について説明する。
本実施の形態では、正弦波合成方式による楽音の発生、及び発生させた楽音の発音並びに消音の動作を音源18の有するタイマに基づく割込み処理によって一定時間間隔ごとに処理するようにしている。
【0133】
タイマインタラプト処理を実行させるためのタイマ割込みの発生間隔は、他の各処理の処理時間を考慮し、ある程度は長くする必要があるが、その間隔が長すぎると、楽音の発音/消音のタイミングがユーザによる鍵盤15の操作に合わないなどといった弊害が発生するので、両者のバランスを考慮して設定する。
【0134】
音源18により行われるタイマインタラプト処理の処理内容を示すフローチャートを図21に示す。以下、タイマインタラプト処理の処理内容を図21に従って説明する。
【0135】
ステップS501では、フラグONFを調べ、その内容が発音指示を示している1であればステップS502に、一方、そうでないのであればステップS510に、それぞれ進む。
【0136】
ステップS502では、正弦波のデジタルデータが格納されている正弦波データファイルMEMを参照し、アドレスADD(0)に対応するファイルMEMの格納データMEM(ADD(0))を出力バッファOUT(0)に代入する。
【0137】
ステップS503では、音源18が予め有しているアドレス変分テーブルTABLEを参照し、合成する楽音の基音である周波数F(0)に対応するアドレス変分TABLE(F(0))だけ、アドレスADD (0)を移動させる。
【0138】
前述したように、音源18は、正弦波データファイルMEMより一定間隔毎にデータを読み出すことで、所望の周波数の正弦波データを得るのであるが、アドレス変分テーブルTABLEは、このデータ読み出し間隔を、所望する正弦波の周波数に対応させて予め格納しているテーブルである。
【0139】
ステップS504からステップS509にかけての処理は、発生させる楽音の基音に、前述した各種設定に従って他の周波数の正弦波を順次加算合成する処理である。
【0140】
ステップS504では、変数CH及び変数mのそれぞれに1を代入する。
ステップS505では、正弦波データファイルMEMよりアドレスADD(CH)に対応するファイルMEMの格納データMEM(ADD(CH))の値を取得し、取得した値に前述した音源処理で受信している高調波係数KEISU(k,m)を乗じ、計算結果を出力バッファOUT(CH)に代入する。
【0141】
ステップS506では、アドレス変分テーブルTABLEを参照し、周波数F(CH)の正弦波に対応するアドレス変分TABLE(F(CH))だけアドレスADD(CH)を移動させる。
【0142】
ステップS507では、出力バッファOUT(0)の値にOUT(CH)の値を加算し、計算結果をOUT(0)に代入する。
ステップS508では、変数CH及び変数mのそれぞれを共に1だけ増加させる。
【0143】
ステップS509では、変数mと前述の最大設定数とを比較し、mが最大設定数を超えていればステップS511に進む。一方、mが未だ最大設定数を超えていなければステップS505へ戻り、前述した処理を繰り返す。
【0144】
ところで、ステップS501における処理で、ONFが1ではないと判断された場合に処理されるステップS510では、フラグONFの消音指示に応じ、出力バッファOUT(0)に0を代入する。
【0145】
ステップS511では、OUT(0)の値を出力し、DA変換の後に発音回路19へ楽音信号を送出し、今回のタイマインタラプト処理を終了する。
以上までの処理が、タイマインタラプト処理である。
【0146】
【発明の効果】
本発明に係る楽音発生装置は、以上詳細に説明したように構成されているので、一種のエフェクトとして、折り返しひずみを積極的に持たせた楽音を出力することができ、このエフェクトを利かせた楽音を、テクノポップやラップなどの音楽ジャンルの演奏に用いると好適である。
【図面の簡単な説明】
【図1】本発明の原理構成を示すブロック図である。
【図2】本発明を実施する楽音発生装置の構成を示す図である。
【図3】波形合成情報RAMの記憶領域の利用状況を示す図である。
【図4】楽音発生装置の操作パネルの構成を示す図である。
【図5】楽音発生装置全体の制御処理のフローチャートである。
【図6】設定モード選択画面の画面表示を示す図である。
【図7】設定処理のフローチャートである。
【図8】音高選択画面の画面表示を示す図である。
【図9】高調波係数設定画面の画面表示を示す図である。
【図10】高調波係数設定処理のフローチャート(その1)である。
【図11】高調波係数設定処理のフローチャート(その2)である。
【図12】高調波係数設定処理のフローチャート(その3)である。
【図13】高調波係数設定処理のフローチャート(その4)である。
【図14】音域フラグ設定画面の画面表示を示す図である。
【図15】音域フラグ設定処理のフローチャートである。
【図16】発音処理のフローチャート(その1)である。
【図17】発音処理のフローチャート(その2)である。
【図18】発音処理のフローチャート(その3)である。
【図19】音源処理のフローチャート(その1)である。
【図20】音源処理のフローチャート(その2)である。
【図21】タイマインタラプト処理のフローチャートである。
【符号の説明】
1a、1b 正弦波データ出力手段
2 周波数設定手段
3 加算手段
4 折り返しひずみ許可手段
5 出力

Claims (2)

  1. 所定のサンプリング周波数Fsにてサンプリングされた基本波形データを記憶する波形記憶手段と、
    発音すべき楽音に含まれる基本波及び複数の高調波夫々の振幅を表わす複数の振幅係数を記憶する振幅係数記憶手段と、
    発音すべき楽音の周波数を指定する周波数指定手段と、
    複数種の周波数領域夫々に第1及び第2のモードのいずれかが割り当てられ、前記周波数指定手段にて指定された周波数が属する周波数領域に割り当てられたモードを指定するモード指定手段と、
    このモード指定手段により第1のモードが指定されているときには、周波数指定手段による周波数の指定に応答して、前記振幅係数記憶手段に記憶された振幅係数全てを送出し、前記第2のモードが指定されているときは、当該指定された周波数を前記楽音の基本波の周波数とした場合の各高調波の周波数を算出するとともに、これら算出された周波数がFs/2を超えない高調波の高調波係数のみを送出する係数送出手段と、
    前記周波数指定手段にて指定された周波数及び係数送出手段により送出された振幅係数を受信する受信手段と、
    前記受信された周波数を前記発生すべき楽音の基本波の周波数として前記各高調波の周波数を生成する周波数生成手段と、
    前記受信された周波数に対応する読み出しアドレス間隔で前記波形記憶手段から基本波形データを一定時間間隔毎に読み出すとともに、前記周波数生成手段にて生成された高調波の周波数のうち前記受信された振幅係数に対応する高調波の周波数夫々に対応する読み出しアドレス間隔で前記波形記憶手段から基本波形データを一定時間間隔毎にごとに順次読み出す波形読み出し手段と、
    この波形読み出し手段にて読み出された基本波形データ夫々に対応する振幅係数を乗算して合成し、当該合成された基本波形データを楽音信号として出力する合成手段と、
    を有することを特徴とする楽音発生装置。
  2. 前記楽音発生装置はさらに、前記複数種の周波数領域夫々に前記第1及び第2のモードのいずれかを任意に割り当てるモード割り当て手段を有することを特徴とする請求項1記載の楽音発生装置。
JP32628598A 1998-11-17 1998-11-17 楽音発生装置 Expired - Fee Related JP4221791B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32628598A JP4221791B2 (ja) 1998-11-17 1998-11-17 楽音発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32628598A JP4221791B2 (ja) 1998-11-17 1998-11-17 楽音発生装置

Publications (2)

Publication Number Publication Date
JP2000148150A JP2000148150A (ja) 2000-05-26
JP4221791B2 true JP4221791B2 (ja) 2009-02-12

Family

ID=18186069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32628598A Expired - Fee Related JP4221791B2 (ja) 1998-11-17 1998-11-17 楽音発生装置

Country Status (1)

Country Link
JP (1) JP4221791B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104078B2 (ja) * 2007-07-05 2012-12-19 カシオ計算機株式会社 スペクトル設定装置およびスペクトル設定処理プログラム

Also Published As

Publication number Publication date
JP2000148150A (ja) 2000-05-26

Similar Documents

Publication Publication Date Title
EP0454047B1 (en) Tone waveform generation apparatus
JP4221791B2 (ja) 楽音発生装置
JPH08234731A (ja) 電子楽器
JP4544183B2 (ja) 電子鍵盤楽器
JPH075878A (ja) 自動伴奏装置
JP5293085B2 (ja) 音色設定装置及び方法
JP2000194361A (ja) 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法
JP3933070B2 (ja) アルペジオ生成装置及びプログラム
JP2006039262A (ja) 効果付与装置及び方法
JP2005017676A (ja) 自動演奏装置及びプログラム
JPH0926787A (ja) 音色制御装置
JPH0685515U (ja) 音色制御装置
JP3182098B2 (ja) 電子楽器
JP3159442B2 (ja) 楽音発生装置
JPH10124052A (ja) タッチ検出装置
JP2005242186A (ja) 楽音制御パラメータ設定装置および楽音制御パラメータ設定プログラム
JP3556423B2 (ja) 高調波合成方式音源を使用した電子楽器の音色制御装置
JP2972364B2 (ja) 音楽的情報処理装置及び音楽的情報処理方法
JP2570945B2 (ja) 楽音発生装置
JPH10133663A (ja) 電子楽器
JP2715751B2 (ja) 電子楽器
JP3022170B2 (ja) 制御装置
JPH0895569A (ja) 電子楽器
JPH07287578A (ja) 自動伴奏装置
JPH1074084A (ja) 電子楽器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080219

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131128

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees