JPH01100598A - 発音制御装置 - Google Patents
発音制御装置Info
- Publication number
- JPH01100598A JPH01100598A JP62258672A JP25867287A JPH01100598A JP H01100598 A JPH01100598 A JP H01100598A JP 62258672 A JP62258672 A JP 62258672A JP 25867287 A JP25867287 A JP 25867287A JP H01100598 A JPH01100598 A JP H01100598A
- Authority
- JP
- Japan
- Prior art keywords
- peak value
- value
- previous
- time
- pitch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000284 extract Substances 0.000 claims 1
- 238000001514 detection method Methods 0.000 abstract description 12
- 230000002159 abnormal effect Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 105
- 239000011295 pitch Substances 0.000 description 56
- 238000000605 extraction Methods 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000000737 periodic effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- MZZINWWGSYUHGU-UHFFFAOYSA-J ToTo-1 Chemical compound [I-].[I-].[I-].[I-].C12=CC=CC=C2C(C=C2N(C3=CC=CC=C3S2)C)=CC=[N+]1CCC[N+](C)(C)CCC[N+](C)(C)CCC[N+](C1=CC=CC=C11)=CC=C1C=C1N(C)C2=CC=CC=C2S1 MZZINWWGSYUHGU-UHFFFAOYSA-J 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 210000004905 finger nail Anatomy 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100379067 Caenorhabditis elegans anc-1 gene Proteins 0.000 description 1
- 101150007441 MRL1 gene Proteins 0.000 description 1
- 101100496043 Monascus ruber citA gene Proteins 0.000 description 1
- 101100101335 Mus musculus Usp17la gene Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 229910052717 sulfur Inorganic materials 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、電子ギターなどの電子弦楽器を含む各種電
子楽器に係り、特に演奏者が意図しない耳ざわりな電子
音が発音されることがない電子楽器に関する。
子楽器に係り、特に演奏者が意図しない耳ざわりな電子
音が発音されることがない電子楽器に関する。
[従来の技術]
従来より、自然楽器の演奏操作によって発生する波形信
号からピッチ(基本周波数)を抽出し、電子回路で構成
された音源装置を制御して、人工的に楽音等の音響を得
るようにした電子楽器が種々開発されている。
号からピッチ(基本周波数)を抽出し、電子回路で構成
された音源装置を制御して、人工的に楽音等の音響を得
るようにした電子楽器が種々開発されている。
この種の電子楽器の一例として、電子ギターがあり、従
来音源装置への発音開始の指示として、以下のように行
なっていた。
来音源装置への発音開始の指示として、以下のように行
なっていた。
すなわち、入力波形信号の最大(正側)ピーク値のみを
検出し、この検出値が所定レベル以上かどうかを判断し
、それ以上のとき、音源装置に対して発音開始(トリガ
ー時)の指示を与える第1の方法がある。
検出し、この検出値が所定レベル以上かどうかを判断し
、それ以上のとき、音源装置に対して発音開始(トリガ
ー時)の指示を与える第1の方法がある。
また、入力波形信号の最大ピーク値と最小(負側)ピー
ク値をそれぞれ検出し、この検出値のいずれか一方が所
定レベル以上のとき、音源装置に対して発音開始(トリ
ガー時)の指示を与える第2の方法がある。
ク値をそれぞれ検出し、この検出値のいずれか一方が所
定レベル以上のとき、音源装置に対して発音開始(トリ
ガー時)の指示を与える第2の方法がある。
[発明が解決しようとする問題点1
以上述べた従来の第1及び第2の方法はいずれも、その
片側のピーク値が所定レベル以上であることがトリガー
条件であるため、演奏者が意図しない電子音が発音され
る。例えば、第18図のような正側波形のピーク値が負
側波形のピーク値に比べて極端に大きく、しかも非対称
な入力波形信号であっても、ピーク値が所定レベル以上
であるため、発音が開始される。ところで、第18図の
ような入力波形信号は、演奏者が例えば不注意で弦をピ
ックや爪でひつかいたときなどに出やすく、この場合で
も電子音が発音され、大変耳ざわりであった。
片側のピーク値が所定レベル以上であることがトリガー
条件であるため、演奏者が意図しない電子音が発音され
る。例えば、第18図のような正側波形のピーク値が負
側波形のピーク値に比べて極端に大きく、しかも非対称
な入力波形信号であっても、ピーク値が所定レベル以上
であるため、発音が開始される。ところで、第18図の
ような入力波形信号は、演奏者が例えば不注意で弦をピ
ックや爪でひつかいたときなどに出やすく、この場合で
も電子音が発音され、大変耳ざわりであった。
[発明の目的コ
本発明は、演奏者が不注意等によって発音される異常音
が入力された場合には、耳ざわりな電子音が発音される
ことがない電子楽器を提供することを目的とする。
が入力された場合には、耳ざわりな電子音が発音される
ことがない電子楽器を提供することを目的とする。
[発明の要点コ
本発明は、前記目的を達成するため、入力波形信号の最
大ピーク値及び最小ピーク値が共に所定の判断基準を越
えるときのみ、音源装置に対して発音開始の指示を与え
ることを特徴とするものである。
大ピーク値及び最小ピーク値が共に所定の判断基準を越
えるときのみ、音源装置に対して発音開始の指示を与え
ることを特徴とするものである。
[実施例]
以下、この発明の実施例について図面を参照して説明す
るが、ここでは本発明を電子ギターに適用した場合を例
にあげて説明するが、これに限らす他のタイプの電子楽
器であっても同様に適用できる。
るが、ここでは本発明を電子ギターに適用した場合を例
にあげて説明するが、これに限らす他のタイプの電子楽
器であっても同様に適用できる。
第1図は、全体の回路を示すブロック図であり、ピッチ
抽出アナログ回路PAは、図示しない例えば電子ギター
ボディ上に張設された6つの弦に夫々設けられ、弦の振
動を電気信号に変換するヘキサピックアップと、このピ
ックアップからの出力からゼロクロス信号と波形信号Z
i、Wi(i=1〜6)を得るとともに、これらの信号
を時分割のシリアルゼロクロス信号ZCRおよびデジタ
ル出力(時分割波形信号)DIとに変換する° 変換手
段例えば後述するアナログ−デジタル変換器A/Dとを
備えている。
抽出アナログ回路PAは、図示しない例えば電子ギター
ボディ上に張設された6つの弦に夫々設けられ、弦の振
動を電気信号に変換するヘキサピックアップと、このピ
ックアップからの出力からゼロクロス信号と波形信号Z
i、Wi(i=1〜6)を得るとともに、これらの信号
を時分割のシリアルゼロクロス信号ZCRおよびデジタ
ル出力(時分割波形信号)DIとに変換する° 変換手
段例えば後述するアナログ−デジタル変換器A/Dとを
備えている。
ピッチ抽出デジタル回路PDは、第2図のようにピーク
検出回路PEDT、時定数変換制御回路TCC1波高値
取込み回路pvs、ゼロクロス時刻取込回路ZTSから
なり、前記ピッチ抽出アナログ回路PAからのシリアル
ゼロクロス信号ZCRとデジタル出力D1とに基づき最
大ピーク点または最小ピーク点を検出し、MAXI。
検出回路PEDT、時定数変換制御回路TCC1波高値
取込み回路pvs、ゼロクロス時刻取込回路ZTSから
なり、前記ピッチ抽出アナログ回路PAからのシリアル
ゼロクロス信号ZCRとデジタル出力D1とに基づき最
大ピーク点または最小ピーク点を検出し、MAXI。
MINI (I=1〜6)を発生するとともに、ゼロ
クロス点通過、厳密には最大ピーク点、最小ピーク点直
後のゼロクロス点通過でインターラブド(割込み)信号
INTをマイコンMCPに出力し、またゼロクロス点の
時刻情報とピーク値情報例えばMAX、MIN及び入力
波形信号の瞬時値をそれそ゛れマイコンMCPに出力す
るものである。なお、ピーク検出回路PEDTの内部に
は、過去のピーク値を減算しながらホールドする回路を
備えている。
クロス点通過、厳密には最大ピーク点、最小ピーク点直
後のゼロクロス点通過でインターラブド(割込み)信号
INTをマイコンMCPに出力し、またゼロクロス点の
時刻情報とピーク値情報例えばMAX、MIN及び入力
波形信号の瞬時値をそれそ゛れマイコンMCPに出力す
るものである。なお、ピーク検出回路PEDTの内部に
は、過去のピーク値を減算しながらホールドする回路を
備えている。
そして、このピーク検出回路PEDTのピークホールド
回路の減衰率を変更するのが、時定数変換制御回路TC
Cであり、波形の例えば1周期の時間経過してもピーク
が検知できないときは、急速に減衰するようにする。具
体的には、初期状態では速やかに波形の振動を検知すべ
く最高音周期時間経過にて、急速減衰し、弦振動が検知
されると倍音を拾わないために、当該弦の開放弦周期時
間経過にて同様に急速減衰するようにし、そして弦の振
動周期が抽出された後は、その周期にて急速減衰を行な
うようになる。
回路の減衰率を変更するのが、時定数変換制御回路TC
Cであり、波形の例えば1周期の時間経過してもピーク
が検知できないときは、急速に減衰するようにする。具
体的には、初期状態では速やかに波形の振動を検知すべ
く最高音周期時間経過にて、急速減衰し、弦振動が検知
されると倍音を拾わないために、当該弦の開放弦周期時
間経過にて同様に急速減衰するようにし、そして弦の振
動周期が抽出された後は、その周期にて急速減衰を行な
うようになる。
この時定数変換制御回路TCCに対するかかる周期情報
の設定は、マイコンMCPが行なう。
の設定は、マイコンMCPが行なう。
そして、この時定数変換制御回路TCC内部の各弦独立
のカウンタと、この設定された周期情報との一致比較を
行ない、周期時間経過で時定数チエ= 6− ンジ信号をピーク検出回路PEDT’へ送出する。
のカウンタと、この設定された周期情報との一致比較を
行ない、周期時間経過で時定数チエ= 6− ンジ信号をピーク検出回路PEDT’へ送出する。
また、第2図における波高値取込み回路PVSは、上述
のとおり時分割的に送出されてくる波形信号(デジタル
出力)DIを、各弦毎の波高値にデマルチプレクス処理
し、ピーク検出回路PEDTからのピーク信号MAX、
MINに従って、ピーク値をホールドする。そして、マ
イコンMCPがアドレスデコーダDCDを介してアクセ
スしてきた弦についての最大ピーク値もしくは最小ピー
ク値をマイコンパスへ出力する。また、この波高値取込
み回路PVSからは、各弦毎の振動の瞬時値も出力可能
になっている。
のとおり時分割的に送出されてくる波形信号(デジタル
出力)DIを、各弦毎の波高値にデマルチプレクス処理
し、ピーク検出回路PEDTからのピーク信号MAX、
MINに従って、ピーク値をホールドする。そして、マ
イコンMCPがアドレスデコーダDCDを介してアクセ
スしてきた弦についての最大ピーク値もしくは最小ピー
ク値をマイコンパスへ出力する。また、この波高値取込
み回路PVSからは、各弦毎の振動の瞬時値も出力可能
になっている。
ゼロクロス時刻取込回路ZTSは、各弦共通のタイムベ
ースカウンタ出力を、各弦のゼロクロス時点(厳密には
最大ピーク点及び最小ピーク点通過直後のゼロクロス時
点)でラッチするようになる。そして、マイコンMCP
からの要求により、そのラッチした時刻情報をマイコン
パスへ送出する。
ースカウンタ出力を、各弦のゼロクロス時点(厳密には
最大ピーク点及び最小ピーク点通過直後のゼロクロス時
点)でラッチするようになる。そして、マイコンMCP
からの要求により、そのラッチした時刻情報をマイコン
パスへ送出する。
また、図のタイミングジェネレータTGからは、第1図
及び第2図に示す各回路の処理動作のためのタイミング
信号を出力する。
及び第2図に示す各回路の処理動作のためのタイミング
信号を出力する。
マイコンMCPには、メモリ例えばROMおよびRAM
を有するとともに、タイマーTを有し、音源発生装置S
OBに与える為の信号を制御するものである。音源発生
装置SOBは音源SSとデジタル−アナログ変換器D/
Aと、アンプAMPと、スピーカSPとからなり、マイ
コンMCPからのノートオン(発音)、ノートオフ(消
音)、周波数を変える音高指示信号に応じた音高の楽音
を放音するものである。なお、音源SSの入力側とマイ
コンMCPのデータバスBUSとの間に、インターフェ
ース(MusicalInstrument Di
gitalInterface)MIDIが設けられて
いる。
を有するとともに、タイマーTを有し、音源発生装置S
OBに与える為の信号を制御するものである。音源発生
装置SOBは音源SSとデジタル−アナログ変換器D/
Aと、アンプAMPと、スピーカSPとからなり、マイ
コンMCPからのノートオン(発音)、ノートオフ(消
音)、周波数を変える音高指示信号に応じた音高の楽音
を放音するものである。なお、音源SSの入力側とマイ
コンMCPのデータバスBUSとの間に、インターフェ
ース(MusicalInstrument Di
gitalInterface)MIDIが設けられて
いる。
勿論、ギター本体に音源SSを設けるときは、別のイン
ターフェースを介してもよい。アドレスデコーダーDC
Dは、マイコンMCPからのアドレス読み出し信号AR
が入力されたとき、弦番号の読込み信号RDI、時刻読
込み信号RDj (j=1〜6)とMAX、MINの
ピーク値及びその時点その時点の瞬時値読込み信号RD
AI (1=1〜18)をピッチ抽出デジタル回路P
Dに出力する。
ターフェースを介してもよい。アドレスデコーダーDC
Dは、マイコンMCPからのアドレス読み出し信号AR
が入力されたとき、弦番号の読込み信号RDI、時刻読
込み信号RDj (j=1〜6)とMAX、MINの
ピーク値及びその時点その時点の瞬時値読込み信号RD
AI (1=1〜18)をピッチ抽出デジタル回路P
Dに出力する。
以下、マイコンMCPの動作についてフローチャートや
波形を示す図面を参照して説明するが、はじめに図面の
符号について説明する。
波形を示す図面を参照して説明するが、はじめに図面の
符号について説明する。
AD・・・第1図の瞬時値読込み信号RDA13〜18
によりピッチ抽出デジタル回路PDの入力波形を直接読
んだ入力波高値(瞬時値)AMP (0,1)−・・正
又は負の前回(o 1 d)の波高値 AMRLI・・・振幅レジスタで記憶されているリラテ
ィブ(relative)オフ(off )のチエツク
のための前回の振幅値である。ここで、前記リラティブ
オフとは波高値が急激に減衰してきたことに基づき消音
することで、フレット操作をやめて開放弦へ移ったとき
の消音処理に相当する。
によりピッチ抽出デジタル回路PDの入力波形を直接読
んだ入力波高値(瞬時値)AMP (0,1)−・・正
又は負の前回(o 1 d)の波高値 AMRLI・・・振幅レジスタで記憶されているリラテ
ィブ(relative)オフ(off )のチエツク
のための前回の振幅値である。ここで、前記リラティブ
オフとは波高値が急激に減衰してきたことに基づき消音
することで、フレット操作をやめて開放弦へ移ったとき
の消音処理に相当する。
AMRL2・・・振幅レジスタで記憶されている前記リ
ラティブオフのための前々回の振幅値で、これにはAM
RLIの値が入力される。
ラティブオフのための前々回の振幅値で、これにはAM
RLIの値が入力される。
CHTIM・・・最高音フレット(22フレツト)に対
応する周期 CRT I O・・・開放弦フレットに対応する周期C
HTRR・・・時定数変換レジスタで、上述の時定数変
換制御回路TCC(第2図)の内部に設けられている。
応する周期 CRT I O・・・開放弦フレットに対応する周期C
HTRR・・・時定数変換レジスタで、上述の時定数変
換制御回路TCC(第2図)の内部に設けられている。
DUB・・・波形が続けて同一方向に来たことを示すフ
ラグ FOFR・・・リラティブオフカウンタHNC・・波形
ナンバーカウンタ MT・・・これからピッチ抽出を行なう側のフラグ(正
−1,負=0) NCHLV・・・ノーチェンジレベル(定数)OFTI
M・・・オフタイム(例えば当該弦の開放弦周期に相当
) OFPT・・・通常オフチエツク開始フラグONF・・
・ノートオンフラグ RIV・・・後述のステップ(STEP)4での処理ル
ートの切替を行なうためのフラグROFCT・・・リラ
ティブオフのチエツク回数を定める定数 5TEP・・・マイコンMCPのフロー動作を指定する
レジスタ(1〜5) TF・・・有効となった前回のゼロクロス時刻データ TFN (0,1)・・・正または負のピーク値直後の
前回のゼロクロス時刻データ TFR・・・時刻記憶レジスタ THLIM・・・周波数上限(定数) TLLIM・・・周波数下限(定数) TP (0,1)・・・正また負の前回の周期データ TRLAB (0,1)・・・正または負の絶対トリガ
ーレベル(ノートオンしきい値) TRLRL・・・リラティブオン(再発音開始)のしき
い値 TRLR8・・・共振除去しきい値 TTLIM・・・トリガー時の周波数下限TTP・・・
前回抽出された周期データTTR・・・周期レジスタ TTU・・・定数(17/32と今回の周期情報11の
積) TTW・・・定数(31/16と今回の周期情報11の
積) VEL・・・速度(ベロシティ−)を定める情報で、発
音開始時の波形の最大ピーク値にて定まる。
ラグ FOFR・・・リラティブオフカウンタHNC・・波形
ナンバーカウンタ MT・・・これからピッチ抽出を行なう側のフラグ(正
−1,負=0) NCHLV・・・ノーチェンジレベル(定数)OFTI
M・・・オフタイム(例えば当該弦の開放弦周期に相当
) OFPT・・・通常オフチエツク開始フラグONF・・
・ノートオンフラグ RIV・・・後述のステップ(STEP)4での処理ル
ートの切替を行なうためのフラグROFCT・・・リラ
ティブオフのチエツク回数を定める定数 5TEP・・・マイコンMCPのフロー動作を指定する
レジスタ(1〜5) TF・・・有効となった前回のゼロクロス時刻データ TFN (0,1)・・・正または負のピーク値直後の
前回のゼロクロス時刻データ TFR・・・時刻記憶レジスタ THLIM・・・周波数上限(定数) TLLIM・・・周波数下限(定数) TP (0,1)・・・正また負の前回の周期データ TRLAB (0,1)・・・正または負の絶対トリガ
ーレベル(ノートオンしきい値) TRLRL・・・リラティブオン(再発音開始)のしき
い値 TRLR8・・・共振除去しきい値 TTLIM・・・トリガー時の周波数下限TTP・・・
前回抽出された周期データTTR・・・周期レジスタ TTU・・・定数(17/32と今回の周期情報11の
積) TTW・・・定数(31/16と今回の周期情報11の
積) VEL・・・速度(ベロシティ−)を定める情報で、発
音開始時の波形の最大ピーク値にて定まる。
X・・・異常または正常状態を示すフラグb・・・ワー
キングレジスタBに記憶されている今回正負フラグ(正
ピークの次のゼロ点のとき1、負ピークの次のゼロ点の
とき。) C・・・ワーキングレジスタレジスタCに記憶されてい
る今回波高値(ピーク値) e・・・ワーキングレジスタEに記憶されている前々回
波高値(ピーク値) h・・・ワーキングレジスタHに記憶されている前々回
抽出された周期データ t・・・ワーキングレジスタTOに記憶されている今回
のゼロクロス時刻 11・・・ワーキングレジスタTOTOに記憶されてい
る今回の周期情報 第3図は、マイコンMCPヘインタラプトがかけられた
ときの処理を示すインタラブドルーチンであり、11に
おいて、マイコンMCPはアドレスデコーダDCDを介
し、ゼロクロス時刻取込回路ZTSに対し、弦番号読み
込み信号RDIを与えてインタラブドを与えた弦を指定
する弦番号を読み込む。そして、その弦番号に対応する
時刻情報つまりゼロクロス時刻情報をゼロクロス時刻取
込回路ZTSへ時刻読込み信号RDI〜RD6のいずれ
か対応するものを与えて読込む。これをtとする。しか
る後、I2において、同様に波高値取込み回路PvSヘ
ピーク値読込み信号RDAI (I=1〜12のうち
のいずれか)を与えて、ピーク値を読取る。これをCと
する。
キングレジスタBに記憶されている今回正負フラグ(正
ピークの次のゼロ点のとき1、負ピークの次のゼロ点の
とき。) C・・・ワーキングレジスタレジスタCに記憶されてい
る今回波高値(ピーク値) e・・・ワーキングレジスタEに記憶されている前々回
波高値(ピーク値) h・・・ワーキングレジスタHに記憶されている前々回
抽出された周期データ t・・・ワーキングレジスタTOに記憶されている今回
のゼロクロス時刻 11・・・ワーキングレジスタTOTOに記憶されてい
る今回の周期情報 第3図は、マイコンMCPヘインタラプトがかけられた
ときの処理を示すインタラブドルーチンであり、11に
おいて、マイコンMCPはアドレスデコーダDCDを介
し、ゼロクロス時刻取込回路ZTSに対し、弦番号読み
込み信号RDIを与えてインタラブドを与えた弦を指定
する弦番号を読み込む。そして、その弦番号に対応する
時刻情報つまりゼロクロス時刻情報をゼロクロス時刻取
込回路ZTSへ時刻読込み信号RDI〜RD6のいずれ
か対応するものを与えて読込む。これをtとする。しか
る後、I2において、同様に波高値取込み回路PvSヘ
ピーク値読込み信号RDAI (I=1〜12のうち
のいずれか)を与えて、ピーク値を読取る。これをCと
する。
続<13において、当該ピーク値は正、負のいずれかの
ピークであるのかを示す情報すを、ゼロクロス時刻取込
回路ZTSより得る。そして、I4にて、このようにし
て得たt、C,bの値をマイコンMCP内のバッファの
レジスタToSC。
ピークであるのかを示す情報すを、ゼロクロス時刻取込
回路ZTSより得る。そして、I4にて、このようにし
て得たt、C,bの値をマイコンMCP内のバッファの
レジスタToSC。
Bにセットする。このバッファには、割込み処理がなさ
れる都度、このような時刻情報、ピーク値情報、ピーク
の種類を示す情報がワンセットとして書込まれていき、
メインルーチンで、各弦毎にかかる情報に対する処理が
なされる。
れる都度、このような時刻情報、ピーク値情報、ピーク
の種類を示す情報がワンセットとして書込まれていき、
メインルーチンで、各弦毎にかかる情報に対する処理が
なされる。
第4図は、メインルーチンを示すフローチャートである
。パワーオンすることによりMlにおいて、各種レジス
タやフラグがイニシャライズされ、レジスタ5TEPが
0とされる。M2で上述したバッファが空かどうかが判
断され、ノー(以下、Nと称す)の場合にはM3に進み
、バッファよりレジスタB、C,TOの内容が読まれる
。これにより、M4において、レジスタ5TEPはいく
つか判断され、M5では5TEPO,M6では5TEP
I、M7では5TEP2.M8−7’は5TEP3.M
9では5TEP4の処理が順次行なわれる。
。パワーオンすることによりMlにおいて、各種レジス
タやフラグがイニシャライズされ、レジスタ5TEPが
0とされる。M2で上述したバッファが空かどうかが判
断され、ノー(以下、Nと称す)の場合にはM3に進み
、バッファよりレジスタB、C,TOの内容が読まれる
。これにより、M4において、レジスタ5TEPはいく
つか判断され、M5では5TEPO,M6では5TEP
I、M7では5TEP2.M8−7’は5TEP3.M
9では5TEP4の処理が順次行なわれる。
M2でバッファが空の場合すなわちイエス(以下、Yと
称すル)ノ場合、Mlo−Ml6へと順次に進み、ここ
で通常のノートオフのアルゴリズムの処理が行なわれる
。このノートオフのアルゴリズムは、オフ(OFF)レ
ベル以下の状態が所定のオフタイム時間続いたら、ノー
トオフするアルゴリズムである。MIDで5TEP=O
どうかが判断され、ノー(以下、Nと称する)の場合に
は、Mllに進む。Mllでは、その時点の入力波高値
ADが直接読まれる。これは、波高値取込み回路PVS
ヘピーク値読込み信号RDA13〜RDA 18のいず
れかを与えることで達成できる。そして、この値ADが
、入力波高値AD<オフレベルかどうかが判断され、Y
の場合にはM12に進む。M12では前回の入力波高値
AD<オフレベルかどうかが判断され、Yの場合にはM
13に進み、ここでタイマーTの値〉オフタイムOFT
IM(例えば当該弦の開放弦周期の定数)かどうか力場
判断される。Yの場合には、M14に進み、レジスタ5
TEPに0が書きこまれ、M2Sではノートオンかどう
かが判断され、Yの場合には、M16でノートオフ処理
され、M2の入側のMに戻る。M12でNの場合にはM
17に進み、マイコンMCP内部タイマーTをスタート
し、M2の入側Mに戻る。MIOでその場合、及びMl
l、M13、M2SはNの場合には、いずれもM12の
入側のMに戻る。
称すル)ノ場合、Mlo−Ml6へと順次に進み、ここ
で通常のノートオフのアルゴリズムの処理が行なわれる
。このノートオフのアルゴリズムは、オフ(OFF)レ
ベル以下の状態が所定のオフタイム時間続いたら、ノー
トオフするアルゴリズムである。MIDで5TEP=O
どうかが判断され、ノー(以下、Nと称する)の場合に
は、Mllに進む。Mllでは、その時点の入力波高値
ADが直接読まれる。これは、波高値取込み回路PVS
ヘピーク値読込み信号RDA13〜RDA 18のいず
れかを与えることで達成できる。そして、この値ADが
、入力波高値AD<オフレベルかどうかが判断され、Y
の場合にはM12に進む。M12では前回の入力波高値
AD<オフレベルかどうかが判断され、Yの場合にはM
13に進み、ここでタイマーTの値〉オフタイムOFT
IM(例えば当該弦の開放弦周期の定数)かどうか力場
判断される。Yの場合には、M14に進み、レジスタ5
TEPに0が書きこまれ、M2Sではノートオンかどう
かが判断され、Yの場合には、M16でノートオフ処理
され、M2の入側のMに戻る。M12でNの場合にはM
17に進み、マイコンMCP内部タイマーTをスタート
し、M2の入側Mに戻る。MIOでその場合、及びMl
l、M13、M2SはNの場合には、いずれもM12の
入側のMに戻る。
このように、波形入力のレベルが減衰してきた場合、オ
フレベル以下の入力波高値ADかオフタイムOFTIM
に相当する時間続くと、ノートオフの指示を音源SSに
対しマイコンMCPは送出する。なお、ステップM15
において、通常の状態ではYの判断がなされるが、後述
するような処理によって、楽音の発生を指示していない
場合でもレジスタ5TEPは0以外の値をとっているこ
とがあり、(例えばノイズの入力による。)そのような
ときは、M14、M2Sの処理後M2へ戻ることで、初
期設定がなされることになる。
フレベル以下の入力波高値ADかオフタイムOFTIM
に相当する時間続くと、ノートオフの指示を音源SSに
対しマイコンMCPは送出する。なお、ステップM15
において、通常の状態ではYの判断がなされるが、後述
するような処理によって、楽音の発生を指示していない
場合でもレジスタ5TEPは0以外の値をとっているこ
とがあり、(例えばノイズの入力による。)そのような
ときは、M14、M2Sの処理後M2へ戻ることで、初
期設定がなされることになる。
なお、第4図では、一つの弦についての処理しか示して
いないが、この図に示した如き処理を弦の数に相当する
6回分、多重化してマイコンMCPは実行することにな
る。勿論、プロセッサを複数個設けて、別個独立して同
等の処理を実行してもよい。
いないが、この図に示した如き処理を弦の数に相当する
6回分、多重化してマイコンMCPは実行することにな
る。勿論、プロセッサを複数個設けて、別個独立して同
等の処理を実行してもよい。
次に、M4にて分岐して対応する処理を行なう各ルーチ
ンの詳細について説明する。
ンの詳細について説明する。
第5図は、第4図のM5として示すステップ0 (ST
EPO)のときのフローチャートであり、Solで絶対
トリガレベル(ノートオンしきい値)TRLAB (b
)<今回波高値Cかどうかが判断され、Yの場合にはS
O2に進み共振除去がチエツクされる。なお、このトリ
ガーレベルは、正と負との極性のピーク夫々についての
チエツクを行なうようになっている。このTRLAB
(0)とTRLAB (1)とは、実験などによって適
切な値とすることになる。理想的なシステムではTRL
AB (0)とTRLAB (1)とは同じでよい。S
O2では、共振除去しきい値TRLR8〈[今回波高値
C−前回波高値AMP (b)]かどうか、すなわち今
回波高値と前回波高値の差が所定値以上か否かが判断さ
れる。
EPO)のときのフローチャートであり、Solで絶対
トリガレベル(ノートオンしきい値)TRLAB (b
)<今回波高値Cかどうかが判断され、Yの場合にはS
O2に進み共振除去がチエツクされる。なお、このトリ
ガーレベルは、正と負との極性のピーク夫々についての
チエツクを行なうようになっている。このTRLAB
(0)とTRLAB (1)とは、実験などによって適
切な値とすることになる。理想的なシステムではTRL
AB (0)とTRLAB (1)とは同じでよい。S
O2では、共振除去しきい値TRLR8〈[今回波高値
C−前回波高値AMP (b)]かどうか、すなわち今
回波高値と前回波高値の差が所定値以上か否かが判断さ
れる。
一つの弦をピッキングすることによって他の弦が共振を
起こす場合、当該能の弦については、振動のレベルが徐
々に大きくなり、その結果前回と今回とのピーク値の変
化は微小なものとなって、その差は共振除去しきい値T
RLR8を越えることはない。ところが、通常のピッキ
ングでは、波形が急激に立上る(あるいは立ち下がる)
ことになり、前記ピークの差は共振除去しきい値TRL
R8を越える。
起こす場合、当該能の弦については、振動のレベルが徐
々に大きくなり、その結果前回と今回とのピーク値の変
化は微小なものとなって、その差は共振除去しきい値T
RLR8を越えることはない。ところが、通常のピッキ
ングでは、波形が急激に立上る(あるいは立ち下がる)
ことになり、前記ピークの差は共振除去しきい値TRL
R8を越える。
いま、このSO2で、Yの場合つまり共振の場合でない
とみなした場合には、803において次の処理が行なわ
れる。すなわち、今回正負フラグbがフラグMTに書込
まれ、レジスタ5TEPに1が書込まれ、さらに今回の
ゼロクロス時刻tが前回のゼロクロス時刻データTFN
(b)として設定される。そして、5O4−では、そ
の他フラグ類がイニシャライズされ、S05に進む。
とみなした場合には、803において次の処理が行なわ
れる。すなわち、今回正負フラグbがフラグMTに書込
まれ、レジスタ5TEPに1が書込まれ、さらに今回の
ゼロクロス時刻tが前回のゼロクロス時刻データTFN
(b)として設定される。そして、5O4−では、そ
の他フラグ類がイニシャライズされ、S05に進む。
SO5では、今回波高値Cが前回の波高値AMP(b)
としてセットされ、しかる後第4図のメインフローヘリ
ターンする。
としてセットされ、しかる後第4図のメインフローヘリ
ターンする。
第5図において、Aはリラティブオン(再発音開始)の
エントリであり、後述する5TEP4のフローからこの
S06ヘジヤンプしてくる。そして、SO6では今まで
出力している楽音を一度消去し、再発音開始のためにS
O3へ進行する。
エントリであり、後述する5TEP4のフローからこの
S06ヘジヤンプしてくる。そして、SO6では今まで
出力している楽音を一度消去し、再発音開始のためにS
O3へ進行する。
この再発音開始のための処理は、通常の発音開始のとき
と同様であり、以下に詳述するとおりとなる。
と同様であり、以下に詳述するとおりとなる。
そして、またSOIでNの場合と、SO2でNの場合(
今回波高値C−前回波高値AMP (b)が所定値以上
ない場合)には、SO5に進む。従って、発音開始のた
めの処理は進まないことになる。
今回波高値C−前回波高値AMP (b)が所定値以上
ない場合)には、SO5に進む。従って、発音開始のた
めの処理は進まないことになる。
以上述べた5TEPO(第11図の5TEPO→1の間
)では、フラグMTにBレジスタの内容(b=1)が書
込まれ、レジスタTOの内容(1)が前回ゼロクロス時
刻データTFN (1)に書込まれ、レジスタCの波高
値(C)が前回の波高値AMP (1)に書込まれる。
)では、フラグMTにBレジスタの内容(b=1)が書
込まれ、レジスタTOの内容(1)が前回ゼロクロス時
刻データTFN (1)に書込まれ、レジスタCの波高
値(C)が前回の波高値AMP (1)に書込まれる。
第6図は第4図にM6として示す5TEPIのフローチ
ャートの詳細を示すものであり、Sllでは、レジスタ
Bの内容(b)と、フラグMTが不一致かどうかが判断
され、Yの場合にはS12に進む。S12では、絶対ト
リガレベル(ノートオンしきい値)TRLAB (b)
<今回波高値Cかどうかか判断され、Yの場合には31
3に進む。S12でYの場合にはレジスタ5TEPに2
がセットされ、S14でレジスタToの内容(1)を前
回のゼロクロス時刻データTFN (b)としてセット
し、さらにS15で今回波高値Cを、前回の波高値AM
P (b)ヘセットする。Sllにおいて、Nの場合す
なわち入力波形信号が同一方向にきた場合S16に進み
、今回波高値C〉前回波高値AMP (b)かどうかが
判断され、Yの場合すなわち今回の波高値Cが前回の波
高値AMP (b)より大の場合には、S14に進む。
ャートの詳細を示すものであり、Sllでは、レジスタ
Bの内容(b)と、フラグMTが不一致かどうかが判断
され、Yの場合にはS12に進む。S12では、絶対ト
リガレベル(ノートオンしきい値)TRLAB (b)
<今回波高値Cかどうかか判断され、Yの場合には31
3に進む。S12でYの場合にはレジスタ5TEPに2
がセットされ、S14でレジスタToの内容(1)を前
回のゼロクロス時刻データTFN (b)としてセット
し、さらにS15で今回波高値Cを、前回の波高値AM
P (b)ヘセットする。Sllにおいて、Nの場合す
なわち入力波形信号が同一方向にきた場合S16に進み
、今回波高値C〉前回波高値AMP (b)かどうかが
判断され、Yの場合すなわち今回の波高値Cが前回の波
高値AMP (b)より大の場合には、S14に進む。
一方、S12においてNの場合には、S15に進み、こ
れにより波高値のみが更新される。また、S16におい
て、Nの場合及び、S15の処理の終了時にはメインフ
ロー(第4図)ヘリターンする。
れにより波高値のみが更新される。また、S16におい
て、Nの場合及び、S15の処理の終了時にはメインフ
ロー(第4図)ヘリターンする。
以上述べた5TEPI (第11図の5TEP1→2の
間)では、今回正負フラグb (−0)とフラグMT−
1が不一致ということで、今回のゼロクロス時刻tを前
回のゼロクロス時刻データTFN (0)としてセット
し、さらに今回波高値Cを前回の波高値AMP (0)
として書込む。
間)では、今回正負フラグb (−0)とフラグMT−
1が不一致ということで、今回のゼロクロス時刻tを前
回のゼロクロス時刻データTFN (0)としてセット
し、さらに今回波高値Cを前回の波高値AMP (0)
として書込む。
第7図は、第4図にMTとして示す5TEP2のフロー
チャートの詳細を示すもので、S20において、今回正
負フラグb=フラグMTかどうかすなわち5TEPOの
方向と同一のゼロクロス点の到来かどうかを判断し、Y
の場合にはS21に進む。S21では、第2図の時定数
変換制御回路TCC内のレジスタCHTRRへ開放弦周
期CHTIOをセットし、S22に進む。S22では、
今回波高値C> (7/8)X前回の波高値AMP (
b)かどうか、つまり波高値が前回と今回とで路間−か
どうかをチエツクし、Yの場合つまり美しい自然減衰の
場合には、823に進み、フラグDUBをOにセットし
、S24に進む。
チャートの詳細を示すもので、S20において、今回正
負フラグb=フラグMTかどうかすなわち5TEPOの
方向と同一のゼロクロス点の到来かどうかを判断し、Y
の場合にはS21に進む。S21では、第2図の時定数
変換制御回路TCC内のレジスタCHTRRへ開放弦周
期CHTIOをセットし、S22に進む。S22では、
今回波高値C> (7/8)X前回の波高値AMP (
b)かどうか、つまり波高値が前回と今回とで路間−か
どうかをチエツクし、Yの場合つまり美しい自然減衰の
場合には、823に進み、フラグDUBをOにセットし
、S24に進む。
S24では、周期計算を行ない、今回のゼロクロス時刻
を一前回のゼロクロス時刻データTFN(b)を前回周
期データTP (b)に入力し、今回のゼロクロス時刻
tを前回ゼロクロス時刻データTFN (b)として入
力する。S24におけるTP (b)は、5TEP3で
ノートオン(1,5波)の条件として使用される。また
、S24では、レジスタ5TEPが3とセットされる。
を一前回のゼロクロス時刻データTFN(b)を前回周
期データTP (b)に入力し、今回のゼロクロス時刻
tを前回ゼロクロス時刻データTFN (b)として入
力する。S24におけるTP (b)は、5TEP3で
ノートオン(1,5波)の条件として使用される。また
、S24では、レジスタ5TEPが3とセットされる。
更に、今回波高値Cと、前回の波高値AMP (0)と
、前回の波高値AMP (1)の内、最も大きい値をベ
ロシティVELとして登録する。また、今回波高値Cを
前回の波高値AMP (b)へ書込む。
、前回の波高値AMP (1)の内、最も大きい値をベ
ロシティVELとして登録する。また、今回波高値Cを
前回の波高値AMP (b)へ書込む。
S20でNの場合には、S25に進み、フラグDUBす
なわち同一方向の入力波形がきたということを意味する
フラグを1にし、S26に進む。
なわち同一方向の入力波形がきたということを意味する
フラグを1にし、S26に進む。
S26では、今回波高値C〉前回の波高値AMP(b)
かどうかが判断され、Yの場合にはS29に進む。S2
9では今回波高値Cに前回の波高値AMP (b)を書
替え、レジスタTの内容tに前回のゼロクロス時刻デー
タTFN (b)が書替えられる。また、S22におい
て、Nの場合には、S27に進み、フラグDUB−1か
どうか、つまり前回5TEP2を実行したとき、ダブラ
たか否かのチエツクを行ない、Yの場合っまりダブラて
いればS28に進む。828では、フラグDUBをOに
する。この場合にはS29に進みメインルーチンにリタ
ーンする。S24の処理の後、またS26のNのときも
、同様にメインルーチンへリターン(RE T)する。
かどうかが判断され、Yの場合にはS29に進む。S2
9では今回波高値Cに前回の波高値AMP (b)を書
替え、レジスタTの内容tに前回のゼロクロス時刻デー
タTFN (b)が書替えられる。また、S22におい
て、Nの場合には、S27に進み、フラグDUB−1か
どうか、つまり前回5TEP2を実行したとき、ダブラ
たか否かのチエツクを行ない、Yの場合っまりダブラて
いればS28に進む。828では、フラグDUBをOに
する。この場合にはS29に進みメインルーチンにリタ
ーンする。S24の処理の後、またS26のNのときも
、同様にメインルーチンへリターン(RE T)する。
以上述べた5TEP2 (第11図の5TEP2→3の
間)では、今回正負フラグbとしてフラグMT=1か書
替えられ、レジスタCHTRRにOフレット周期すなわ
ち開放弦周期CRT I Oが書替えられ、またフラグ
DUBがOにセットされ、さらにt−TFN (1)→
TP (1)なる周期計算が行なわれ、また今回ゼロク
ロス時刻tに前回のゼロクロス時刻データTFN (1
)が書き替えられ、今回波高値C1前回波高値AMP
(0)、前回波高値AMP (1)の内置も大きい値が
ベロシティVELとしてセットされ、更に今回波高値C
として前回波高値AMP (1)がセットされる。
間)では、今回正負フラグbとしてフラグMT=1か書
替えられ、レジスタCHTRRにOフレット周期すなわ
ち開放弦周期CRT I Oが書替えられ、またフラグ
DUBがOにセットされ、さらにt−TFN (1)→
TP (1)なる周期計算が行なわれ、また今回ゼロク
ロス時刻tに前回のゼロクロス時刻データTFN (1
)が書き替えられ、今回波高値C1前回波高値AMP
(0)、前回波高値AMP (1)の内置も大きい値が
ベロシティVELとしてセットされ、更に今回波高値C
として前回波高値AMP (1)がセットされる。
第11図は、理想的な波形入力があった場合の例である
が、DUB=1となる場合にについて次に説明する。第
8図は、そのような場合の5TEP2の動作を説明する
ための図であり、(A)は−波をとばしてピーク検出し
た場合であり、入力波形が実線のときは後述する5TE
P3の処理にてノートオンし、入力波形が点線の時はノ
ートオンしない。これは、S26にてYとなるかNとな
るかの違いからである。また、5TEP2からなかなか
5TEP3に移行しないのは、S20でb=MTが成立
しても、S22でC〉(7/8)xAMP (b)がN
と判断され、これがYとならない間は、5TEP2は繰
返し実行されるからである。また、(B)は、オクター
ブ下の倍音を検知した場合であり、この場合には、C>
(7/8)XAMP (b)のチエツク時、Yとなり
823を経テS 2411:進み、5TEP3に移る。
が、DUB=1となる場合にについて次に説明する。第
8図は、そのような場合の5TEP2の動作を説明する
ための図であり、(A)は−波をとばしてピーク検出し
た場合であり、入力波形が実線のときは後述する5TE
P3の処理にてノートオンし、入力波形が点線の時はノ
ートオンしない。これは、S26にてYとなるかNとな
るかの違いからである。また、5TEP2からなかなか
5TEP3に移行しないのは、S20でb=MTが成立
しても、S22でC〉(7/8)xAMP (b)がN
と判断され、これがYとならない間は、5TEP2は繰
返し実行されるからである。また、(B)は、オクター
ブ下の倍音を検知した場合であり、この場合には、C>
(7/8)XAMP (b)のチエツク時、Yとなり
823を経テS 2411:進み、5TEP3に移る。
第9図は、第4図にM8として示す5TEP3のフロー
チャートであり、S30でフラグMT≠今回正負フラグ
bかどうかが判断され、正常の場合すなわちYのときは
、S31に進む。S31では、(1/ 8 ) c <
A M P (b )ならXが0、また逆の場合には
X=1にセットされ、S32に進む。S32では、今回
波高値Cとして前回の波高値AMP (b)が書替えら
れる。
チャートであり、S30でフラグMT≠今回正負フラグ
bかどうかが判断され、正常の場合すなわちYのときは
、S31に進む。S31では、(1/ 8 ) c <
A M P (b )ならXが0、また逆の場合には
X=1にセットされ、S32に進む。S32では、今回
波高値Cとして前回の波高値AMP (b)が書替えら
れる。
そして833において、5TEP2で得られたVELよ
り今回波高値Cが大であれば、ベロシティVELは今回
波高値Cが入力される。もし逆ならば、このベロシティ
VELは変化しない。次に今回正負フラグbにフラグM
Tが書替えられ、これによりピッチ変更側が逆にされる
。これは、後述する5TEP4からフラグMTの意味が
変り、ピッチ変更側を意味している。そして、S34で
[t−TFN (b)→TP (b)]なる周期計算が
行なわれる。また、今回のゼロクロス時刻tとして前回
のゼロクロス時刻データTFN (b)が書替えられる
。
り今回波高値Cが大であれば、ベロシティVELは今回
波高値Cが入力される。もし逆ならば、このベロシティ
VELは変化しない。次に今回正負フラグbにフラグM
Tが書替えられ、これによりピッチ変更側が逆にされる
。これは、後述する5TEP4からフラグMTの意味が
変り、ピッチ変更側を意味している。そして、S34で
[t−TFN (b)→TP (b)]なる周期計算が
行なわれる。また、今回のゼロクロス時刻tとして前回
のゼロクロス時刻データTFN (b)が書替えられる
。
次に、S35において、X=0かどうかを判断し、Yの
場合にはS36に進み、周波数上限THLIM<前回の
周期データTP (b)かどうか、つまりピッチ抽出上
限チエツクを行ない、その結果、最高音の周期より大き
な周期をもてば、許容範囲にあるということでYとなり
、S37に進む。S37では、トリガー時の周波数下限
TTLIM>前回の周期データTP (b)かどうか、
つまりピッチ抽出下限チエツクを行ない、最低音の周期
より小の周期をもてば許容範囲にあり、Yの判断をして
338に進む。S37のピッチ抽出下限は、後述する5
TEP4のピッチ抽出下限とは定数が異なる。
場合にはS36に進み、周波数上限THLIM<前回の
周期データTP (b)かどうか、つまりピッチ抽出上
限チエツクを行ない、その結果、最高音の周期より大き
な周期をもてば、許容範囲にあるということでYとなり
、S37に進む。S37では、トリガー時の周波数下限
TTLIM>前回の周期データTP (b)かどうか、
つまりピッチ抽出下限チエツクを行ない、最低音の周期
より小の周期をもてば許容範囲にあり、Yの判断をして
338に進む。S37のピッチ抽出下限は、後述する5
TEP4のピッチ抽出下限とは定数が異なる。
具体的には、周波数上限THLIMは、最高音フレット
の2〜3半音上の音高周期に相当し、トリガー時の周波
数下限TTLIMは、開放弦の開放弦フレットの5半音
下の音高周期に相当するものとする。
の2〜3半音上の音高周期に相当し、トリガー時の周波
数下限TTLIMは、開放弦の開放弦フレットの5半音
下の音高周期に相当するものとする。
838では、前回の周期データTP (b)を前回抽出
された周期データTTPとしてセットすなわち、ピッチ
抽出側で抽出されたピッチをセーブ(これは後述する5
TEP4で使用される)し、S39に進む。S39では
、前回の周期データー 26 = TP (b)ζTP (b)かどうか、すなわち極性の
違うゼロクロス点間の周期の略一致のチエツクである1
、5波ピツチ抽出チエツクを行ない、Yの場合には53
01で次のような処理が行なわれる。すなわち、前回の
ゼロクロス時刻データTFN (b)として時刻記憶レ
ジスタTFRが書替えられ、また今回のゼロクロス時刻
tが前回のゼロクロス時刻データTFとしてセットされ
、波形ナンバーカウンターHNCをクリアする。このカ
ウンターHNCは後述する5TEP4にて使用される。
された周期データTTPとしてセットすなわち、ピッチ
抽出側で抽出されたピッチをセーブ(これは後述する5
TEP4で使用される)し、S39に進む。S39では
、前回の周期データー 26 = TP (b)ζTP (b)かどうか、すなわち極性の
違うゼロクロス点間の周期の略一致のチエツクである1
、5波ピツチ抽出チエツクを行ない、Yの場合には53
01で次のような処理が行なわれる。すなわち、前回の
ゼロクロス時刻データTFN (b)として時刻記憶レ
ジスタTFRが書替えられ、また今回のゼロクロス時刻
tが前回のゼロクロス時刻データTFとしてセットされ
、波形ナンバーカウンターHNCをクリアする。このカ
ウンターHNCは後述する5TEP4にて使用される。
レジスタ5TEPは4にセットされ、ノートオンフラグ
ONFは2(発音状態)にセットされ、定数TTUは0
すなわち(MIN)にセットされ、定数TTWは最高M
AXにセットされる。
ONFは2(発音状態)にセットされ、定数TTUは0
すなわち(MIN)にセットされ、定数TTWは最高M
AXにセットされる。
これらはいずれも後述する5TEP4にて使用するもの
である。また、リラティブオフの為の前回波高値レジス
タAMRLIがクリアされる。そして、最後の8302
で前回周期データTP (b)に対応した音高とベロシ
ティVELに対応した音量でノートオン処理が行なわれ
る。即ち、マイコンMCPは音源Ssに対し発音開始の
指示をする。
である。また、リラティブオフの為の前回波高値レジス
タAMRLIがクリアされる。そして、最後の8302
で前回周期データTP (b)に対応した音高とベロシ
ティVELに対応した音量でノートオン処理が行なわれ
る。即ち、マイコンMCPは音源Ssに対し発音開始の
指示をする。
S30において、Nの場合(同一方向のゼロクロス点検
出の場合)は、83o3に進み、前回の波高値AMP
(b)<今回波高値Cがどうがか判断され、Yの場合は
5304に進む。5304では、今回波高値Cが前回の
波高値AMP (b)としてセットされ、ベロシティV
ELまたはレジスタCの値Cの内のいずれか大きい値が
ベロシティVELにセットされる。5303、S’35
、S36、S37、S39のいずれの場合もNの場合に
は、メインルーチンへリターン(RET、)する。
出の場合)は、83o3に進み、前回の波高値AMP
(b)<今回波高値Cがどうがか判断され、Yの場合は
5304に進む。5304では、今回波高値Cが前回の
波高値AMP (b)としてセットされ、ベロシティV
ELまたはレジスタCの値Cの内のいずれか大きい値が
ベロシティVELにセットされる。5303、S’35
、S36、S37、S39のいずれの場合もNの場合に
は、メインルーチンへリターン(RET、)する。
第17図はS31において、X=1すなわち異常となる
場合の具体例を示す図であり、1/8b1くす。のとき
と、1/8a2くalのときのジャッジではいずれもそ
の条件を満足せず、X=1となる。
場合の具体例を示す図であり、1/8b1くす。のとき
と、1/8a2くalのときのジャッジではいずれもそ
の条件を満足せず、X=1となる。
すなわち、第17図の最初の3つの波形のピーク(ao
、bo、a+)は、ノイズによるもので、これらのノイ
ズの周期を検出して発音開始を指示すると、全くおがし
な音が発生してしまう。
、bo、a+)は、ノイズによるもので、これらのノイ
ズの周期を検出して発音開始を指示すると、全くおがし
な音が発生してしまう。
そこで、S31では、波高値が大きく変わったことを検
知して、x−1とし、S35でNの判断をするようにす
る。そして、S31にて波形が正常な変化をすることが
検知されてから、発音開始を指示するようにする。
知して、x−1とし、S35でNの判断をするようにす
る。そして、S31にて波形が正常な変化をすることが
検知されてから、発音開始を指示するようにする。
第17図の場合TP′、TP (b)の検出がなされた
ときにノートオンとなる。
ときにノートオンとなる。
以上述べた5TEP3 (第11図+7)STEP3→
4の間)では、MT=1#b、AMP (0)yc、m
ax [VELSc (のいずれがの大きい方)] →
VELSMT 4−b−OSTP (0) ←[t−T
FN (0)] 、”rFN (0)−t。
4の間)では、MT=1#b、AMP (0)yc、m
ax [VELSc (のいずれがの大きい方)] →
VELSMT 4−b−OSTP (0) ←[t−T
FN (0)] 、”rFN (0)−t。
TTP ←TP (0) 、TFR4−TFN (1)
、TF 4−t、HNC4−OSONF ←2、TTU
4−0(M I N) 、TTW 4−MAX、AMR
L 1 ←0゜ノートオン条件TP (o)’:TP
(1)にツいテの処理かなされる。そして、適切な波形
大刀に応答してこの5TEP3において、抽出されたピ
ッチに従った音高の楽音が発生開始されることにな−2
つ − る。第11図から判明するように、周期検出を開始して
から、1.5周期程度の時間経過で発音指示が音源SS
に対しなされることになる。勿論、諸条件を満足しなけ
れば、更におくれることは上述したとおりである。
、TF 4−t、HNC4−OSONF ←2、TTU
4−0(M I N) 、TTW 4−MAX、AMR
L 1 ←0゜ノートオン条件TP (o)’:TP
(1)にツいテの処理かなされる。そして、適切な波形
大刀に応答してこの5TEP3において、抽出されたピ
ッチに従った音高の楽音が発生開始されることにな−2
つ − る。第11図から判明するように、周期検出を開始して
から、1.5周期程度の時間経過で発音指示が音源SS
に対しなされることになる。勿論、諸条件を満足しなけ
れば、更におくれることは上述したとおりである。
第10図は、第4図のM9として示す
5TEP4のフローチャートであり、この場合ピッチ抽
出のみを行なうルート■、実際にピッチ変更を行なうル
ート■がある。先ず、S40゜S41.S42.S63
〜S6’81:l:示すルート■について説明する。S
40において、波形ナンバーカウンタHNC>3が判断
され、Yの場合にはS41に進む。S41では、リラテ
ィブオンしきい値TRLRL< [今回波高値C−前回
の波高値AMP (b)]かどうかが判断が行なわれ、
Nの場合にはS42に進む。S42では今回正負フラグ
b=フラグMTつまりピッチ変更側がどうがか判断され
、Yの場合には543に進む。
出のみを行なうルート■、実際にピッチ変更を行なうル
ート■がある。先ず、S40゜S41.S42.S63
〜S6’81:l:示すルート■について説明する。S
40において、波形ナンバーカウンタHNC>3が判断
され、Yの場合にはS41に進む。S41では、リラテ
ィブオンしきい値TRLRL< [今回波高値C−前回
の波高値AMP (b)]かどうかが判断が行なわれ、
Nの場合にはS42に進む。S42では今回正負フラグ
b=フラグMTつまりピッチ変更側がどうがか判断され
、Yの場合には543に進む。
ところで、初期状態では、前記波形ナンバーカウンタH
NCは0である(第9図の8301参照)ので、S40
ではNの判断をしてS42へ進む。そして、例えば、第
11図のような波形入力の場合は、b=1でMT=Oで
あるから、S42から363へ進む。
NCは0である(第9図の8301参照)ので、S40
ではNの判断をしてS42へ進む。そして、例えば、第
11図のような波形入力の場合は、b=1でMT=Oで
あるから、S42から363へ進む。
363においては、同じ極性のピークが続けて入力され
てきているか(ダブりであるか)、否かチエツクするた
めに、レジスタRIV−1かどうかか判断され、Yの場
合にはS68に進み、また、Nの場合(ダブりでない場
合)にはS64に進み、ここで以下の処理が行なわれる
。すなわち、S64では今回波高値Cが前回の波高値A
MP(b)に入力され、リラティブオフ処理のために前
回の振幅値AMRLIが前々回の振幅値AMRL2に入
力される。なお、いまの場合はAMRLIの内容は0で
ある(STEP3のS30参照)。さらにS64におい
て、前回の波高値AMP (b)と今回波高値Cのうち
いずれか大きい値が前回振幅値AMRLIに入力される
。
てきているか(ダブりであるか)、否かチエツクするた
めに、レジスタRIV−1かどうかか判断され、Yの場
合にはS68に進み、また、Nの場合(ダブりでない場
合)にはS64に進み、ここで以下の処理が行なわれる
。すなわち、S64では今回波高値Cが前回の波高値A
MP(b)に入力され、リラティブオフ処理のために前
回の振幅値AMRLIが前々回の振幅値AMRL2に入
力される。なお、いまの場合はAMRLIの内容は0で
ある(STEP3のS30参照)。さらにS64におい
て、前回の波高値AMP (b)と今回波高値Cのうち
いずれか大きい値が前回振幅値AMRLIに入力される
。
つまり、周期の中で2つある正、負のピーク値について
大きい値のピーク値が振幅値AMRLIにセットされる
。そして、S65で波形ナンバーカウンタHNC>8か
どうかが判断され、ここで波形ナンバーカウンタ(ピッ
チ変更側でないゼロクロスカウンター)HNCが+1さ
れ、カウントアツプされる。
大きい値のピーク値が振幅値AMRLIにセットされる
。そして、S65で波形ナンバーカウンタHNC>8か
どうかが判断され、ここで波形ナンバーカウンタ(ピッ
チ変更側でないゼロクロスカウンター)HNCが+1さ
れ、カウントアツプされる。
従って、波形ナンバーカウンタHNCは、上限か9とな
る。そして、S65もしくはS66の処理の後S67へ
進行する。S67ては、レジスタRIVを1とし、今回
のゼロクロス時刻から時刻記憶レジスタTFRの内容を
引算して、周期レジスタTTRへ入力する。この周期レ
ジスタTTRは、第11図に示すような周期情報を示す
ようになる。そして、今回のゼロクロス時刻tは、時刻
記憶レジスタTFRヘセーブされ、この後、メインルー
チンにリターン(RE T)する。
る。そして、S65もしくはS66の処理の後S67へ
進行する。S67ては、レジスタRIVを1とし、今回
のゼロクロス時刻から時刻記憶レジスタTFRの内容を
引算して、周期レジスタTTRへ入力する。この周期レ
ジスタTTRは、第11図に示すような周期情報を示す
ようになる。そして、今回のゼロクロス時刻tは、時刻
記憶レジスタTFRヘセーブされ、この後、メインルー
チンにリターン(RE T)する。
863でYの場合は、368に進み今回波高値C〉前回
の波高値AMP (b)かどうかが判断され、Yの場合
はS69に進む。S69では、今回波高値Cに前回の波
高値AMP (b)が書替えられ、S70に進む。S7
0では今回波高値C〉前回の振幅値AMRLIかどうか
が判断され、Yの場合にはS71に進み、ここで今回波
高値Cが前回の振幅値AMRLIに入力される。
の波高値AMP (b)かどうかが判断され、Yの場合
はS69に進む。S69では、今回波高値Cに前回の波
高値AMP (b)が書替えられ、S70に進む。S7
0では今回波高値C〉前回の振幅値AMRLIかどうか
が判断され、Yの場合にはS71に進み、ここで今回波
高値Cが前回の振幅値AMRLIに入力される。
もし、S68でNの判断がなされるとすぐにメインルー
チンへリターンする。従って、新しい入力波形のピーク
が大である場合についてのみ、新しい波形の振幅値が登
録される。(その場合は、倍音のピークをひろっていな
いと考えられるので。) また、S70でNのときと、S71の処理の終了のとき
には、同様にメインルーチンへリターンする。
チンへリターンする。従って、新しい入力波形のピーク
が大である場合についてのみ、新しい波形の振幅値が登
録される。(その場合は、倍音のピークをひろっていな
いと考えられるので。) また、S70でNのときと、S71の処理の終了のとき
には、同様にメインルーチンへリターンする。
以上述べたようにルート■は、第11図の例によれば以
下のような処理がなされる。MT−0≠b、RIV=0
、A M P (1) ←c 、 A M RL2←A
MRLI、MRL1←max [AMP(0)。
下のような処理がなされる。MT−0≠b、RIV=0
、A M P (1) ←c 、 A M RL2←A
MRLI、MRL1←max [AMP(0)。
C(のいずれか大きい方)] 、HNC−(HNC十1
)=1、RIV、TTR←(t−TFR)、TFR−t
が処理される。従って、周期レジスタTTRに前回の同
極性のゼロクロス点(STEP2→3のところ)から今
回のゼロクロス点までの時刻情報の差つまり、周期情報
が求まったことになる。そして、メインルーチンへ戻り
、次のゼロクロスインターラブドを待つ。
)=1、RIV、TTR←(t−TFR)、TFR−t
が処理される。従って、周期レジスタTTRに前回の同
極性のゼロクロス点(STEP2→3のところ)から今
回のゼロクロス点までの時刻情報の差つまり、周期情報
が求まったことになる。そして、メインルーチンへ戻り
、次のゼロクロスインターラブドを待つ。
次に、840〜S62に示すルート■へ進んだ場合の説
明を行なう。いま、波形ナンバーカウンタHNC=1な
ので(S66参照)、S40からS42へ進む。S42
では、第11図のような場合、MT=O,b=oなので
Yとなり、343へ進む。343では、レジスタRIV
=1かどうかが判断される。既にルート■において、レ
ジスタRIVは14とされている(S67参照)ので、
343の判断はいまの場合Yとなり、S44へ進む。
明を行なう。いま、波形ナンバーカウンタHNC=1な
ので(S66参照)、S40からS42へ進む。S42
では、第11図のような場合、MT=O,b=oなので
Yとなり、343へ進む。343では、レジスタRIV
=1かどうかが判断される。既にルート■において、レ
ジスタRIVは14とされている(S67参照)ので、
343の判断はいまの場合Yとなり、S44へ進む。
S44では、レジスタ5TEP=4かどうかが判断され
、Yの場合にはS45に進む。S45では、今回波高値
c<60H(Hは16進法表現を示す)かどうかが判断
され、いま波高値は大なのでYとなり、S46に進む。
、Yの場合にはS45に進む。S45では、今回波高値
c<60H(Hは16進法表現を示す)かどうかが判断
され、いま波高値は大なのでYとなり、S46に進む。
S46では、前々回の振幅値AMRL2−前回の振幅値
AMRLI≦(1/32)X前々回の振幅値AMRL2
かどうかが判断され、Yの場合にはS47に進み、リラ
ティブオフカウンタFOFRが0にセットされる。この
リラティブオフの処理については後述する。そして、5
48では周期計算がおこなわれる。、具体的には(今回
のゼロクロス時刻を一前回のゼロクロス時刻データTF
)が今回の周期情報11としてレジスタTOTOにツト
される。そして、S49に進み、S49ては、今回の周
波数情報11>周波数上限THLIM(発音開始後の上
限)かどうかが判断され、Yの場合にはS50に進む。
AMRLI≦(1/32)X前々回の振幅値AMRL2
かどうかが判断され、Yの場合にはS47に進み、リラ
ティブオフカウンタFOFRが0にセットされる。この
リラティブオフの処理については後述する。そして、5
48では周期計算がおこなわれる。、具体的には(今回
のゼロクロス時刻を一前回のゼロクロス時刻データTF
)が今回の周期情報11としてレジスタTOTOにツト
される。そして、S49に進み、S49ては、今回の周
波数情報11>周波数上限THLIM(発音開始後の上
限)かどうかが判断され、Yの場合にはS50に進む。
S49の周波数上限THLIMは、5TEP3のS36
で使用したトリガー時(発音開始時)周波数の許容範囲
の上限(従って周期として最小で、最高音フレットの2
〜3半音上の音高周期に相当する)と同一のものである
。
で使用したトリガー時(発音開始時)周波数の許容範囲
の上限(従って周期として最小で、最高音フレットの2
〜3半音上の音高周期に相当する)と同一のものである
。
次に、S50では次の処理が行なわれる。すなわち、レ
ジスタRIVを0にし、今回のゼロクロス時刻tが前回
のゼロクロス時刻データTFとして入力され、また前回
の波高値AMP (b)が前々回波高値eに入力され、
さらに今回波高値Cが前回の波高値AMP (b)に入
力される。
ジスタRIVを0にし、今回のゼロクロス時刻tが前回
のゼロクロス時刻データTFとして入力され、また前回
の波高値AMP (b)が前々回波高値eに入力され、
さらに今回波高値Cが前回の波高値AMP (b)に入
力される。
そして、S50の処理の後S51に進み、S51では、
周波数下限TLLIM>今回の周期情報11かどうかが
判断され、Yの場合すなわち今回の周期かノートオン中
のピッチ抽出音域下限以下になった場合にはS52に進
む。
周波数下限TLLIM>今回の周期情報11かどうかが
判断され、Yの場合すなわち今回の周期かノートオン中
のピッチ抽出音域下限以下になった場合にはS52に進
む。
この場合、周波数下限TLLIMは、例えば、開放弦音
階の1オクターブ下にセットされる。
階の1オクターブ下にセットされる。
つまり、5TEP3の周波数下限TTLIM(S37参
照)に比較して、許容範囲を広くしている。このように
することで、トレモロアームの操作などによる周波数変
更に対応し得るようになる。
照)に比較して、許容範囲を広くしている。このように
することで、トレモロアームの操作などによる周波数変
更に対応し得るようになる。
従って、周波数の上限、下限について許容範囲に入る場
合についてのみS52まで進み、そうでない場合はS4
9、S51よりメインルーチンへリターンする。
合についてのみS52まで進み、そうでない場合はS4
9、S51よりメインルーチンへリターンする。
次に、S52では周期データTTPが前々回抽出された
周期データhに入力され、また、今回の周期情報11が
前回抽出された周期データTTPに入力される。そして
、853で今回波高値CがベロシティVELに書込まれ
、S54に進む。S54では、ノーチェンジレベルNC
HLV〉(前々同波高値e−今回波高値C)かどうかの
判断が行なわれ、Yの場合にはS55に進む。
周期データhに入力され、また、今回の周期情報11が
前回抽出された周期データTTPに入力される。そして
、853で今回波高値CがベロシティVELに書込まれ
、S54に進む。S54では、ノーチェンジレベルNC
HLV〉(前々同波高値e−今回波高値C)かどうかの
判断が行なわれ、Yの場合にはS55に進む。
すなわち、前回の同極性の波高値(e=AMP(b))
と今回の波高値Cとが大きく変化している場合は、その
差がNCHLVを越えることになり、そのようなときに
、抽出された周期情報に基づきピッチ変更を行なうと、
不自然な音高変化を呈することになる可能性が高い。そ
こで、S54でNの判断されると、S55以降の処理を
することなく、メインルーチンへリターンする。
と今回の波高値Cとが大きく変化している場合は、その
差がNCHLVを越えることになり、そのようなときに
、抽出された周期情報に基づきピッチ変更を行なうと、
不自然な音高変化を呈することになる可能性が高い。そ
こで、S54でNの判断されると、S55以降の処理を
することなく、メインルーチンへリターンする。
次に、S54てYの場合、リラティブオフカウンタFO
FR=0か否かが判断されるる。後述するりラティブオ
フ処理を行なっているときは、リラティブオフカウンタ
FOFRは0てなくなっており、そのような場合もピッ
チ変更(S61を参照)の処理を行なうことなく、S5
5てNの判断をしてメインルーチンへリターンする。そ
して、S55にて、Yの判断をしたときは、S56、S
57へと順次進む。
FR=0か否かが判断されるる。後述するりラティブオ
フ処理を行なっているときは、リラティブオフカウンタ
FOFRは0てなくなっており、そのような場合もピッ
チ変更(S61を参照)の処理を行なうことなく、S5
5てNの判断をしてメインルーチンへリターンする。そ
して、S55にて、Yの判断をしたときは、S56、S
57へと順次進む。
ここで2波3値一致条件が判断される。
S56では今回の周期情報tt×2−7く1今回の周期
情報11−前々回周期データh1が判断され、Yの場合
にはS57に進み、またS57では今回の周期情報tt
×2−7くI今回の周期情報11−周期レジスタTTR
の内容1が判断され、Yの場合には858に進む。
情報11−前々回周期データh1が判断され、Yの場合
にはS57に進み、またS57では今回の周期情報tt
×2−7くI今回の周期情報11−周期レジスタTTR
の内容1が判断され、Yの場合には858に進む。
すなわち、S56では、第11図の今回の周期情報tt
(843参照)が、前回の周期データh (=TTP)
(S52参照)の値と略一致するか否かを判断し、S5
7では、今回の周期情報11の値が、それに重なる周期
TTRとほぼ一致するか否かを判断する。なお、その限
界範囲は、2−7xttとして、周期情報に依存してそ
の値が変わるようになっている。勿論、これは固定の値
としてもよいが、本実施例採用技術の方が良好な結果を
得ることができる。
(843参照)が、前回の周期データh (=TTP)
(S52参照)の値と略一致するか否かを判断し、S5
7では、今回の周期情報11の値が、それに重なる周期
TTRとほぼ一致するか否かを判断する。なお、その限
界範囲は、2−7xttとして、周期情報に依存してそ
の値が変わるようになっている。勿論、これは固定の値
としてもよいが、本実施例採用技術の方が良好な結果を
得ることができる。
次の858では、今回の周期情報11>定数TTUかど
うかが判断され、YならばS59へ進み、ここで今回の
周期情報11<定数TTWかどうかが判断され、Yなら
ばS60へ進む。なお、858、S59は急激なピッチ
変更を認めないための判断である。
うかが判断され、YならばS59へ進み、ここで今回の
周期情報11<定数TTWかどうかが判断され、Yなら
ばS60へ進む。なお、858、S59は急激なピッチ
変更を認めないための判断である。
つまり、S58の定数TTUは、5TEP3の5301
でいま0とされ、定数TTWは同様にMAXの値とされ
ており、はじめてこのフローを通るときは必ずS58、
S59でYの判断がなされるが、その後は後述するS6
2において、定数TTUには、(17/32)t t
(略1オクターブ高音の周期情報)がセットされ、定数
TTWには同様に562にて(31/16)t t (
はぼ1オクターブ低音の周期情報)がセットされる。従
って、急激にオクターブアップする(これは、フレット
を離してミュート操作したときなどに生ずる)ことやオ
クターブダウンすること(これは波形のピークをとり逃
したときなどに起る)があつたときは、ピッチ変更をす
ると、不自然となるので、ピッチ変更をしないようにブ
ランチする。
でいま0とされ、定数TTWは同様にMAXの値とされ
ており、はじめてこのフローを通るときは必ずS58、
S59でYの判断がなされるが、その後は後述するS6
2において、定数TTUには、(17/32)t t
(略1オクターブ高音の周期情報)がセットされ、定数
TTWには同様に562にて(31/16)t t (
はぼ1オクターブ低音の周期情報)がセットされる。従
って、急激にオクターブアップする(これは、フレット
を離してミュート操作したときなどに生ずる)ことやオ
クターブダウンすること(これは波形のピークをとり逃
したときなどに起る)があつたときは、ピッチ変更をす
ると、不自然となるので、ピッチ変更をしないようにブ
ランチする。
もし、S58、S59でYの判断がなされたときは、次
に860へ進む。S60では、レジスタ5TEP=4に
されたかどうかの判断が行なわれ、その場合にはS61
に進む。S61では、マイコンMCPから音源SSヘピ
ッチ変更(今回の周期情報11に基づく)が行なわれ、
S62に進み、今回の周期情報11に対応して時定数チ
ェンジをし、また定数TTUが(17/32)x今回の
周期情報11に書替えられ、さらに定数TTWが(31
/16)x今回の周期情報11に書替えられる。
に860へ進む。S60では、レジスタ5TEP=4に
されたかどうかの判断が行なわれ、その場合にはS61
に進む。S61では、マイコンMCPから音源SSヘピ
ッチ変更(今回の周期情報11に基づく)が行なわれ、
S62に進み、今回の周期情報11に対応して時定数チ
ェンジをし、また定数TTUが(17/32)x今回の
周期情報11に書替えられ、さらに定数TTWが(31
/16)x今回の周期情報11に書替えられる。
つまり、後述するように、リラティブオフの処理がなさ
れたときに限り、5TEP=5となるが、そのときは、
ピッチ変更を行なうことなく時定数チェンジを行なう。
れたときに限り、5TEP=5となるが、そのときは、
ピッチ変更を行なうことなく時定数チェンジを行なう。
この時定数チェンジの処理とは、第2図の時定数変換制
御回路TCC内部のレジスタに今回の周期情報11の値
に基づくデータをマイコンMCPがセットすることをい
う。
御回路TCC内部のレジスタに今回の周期情報11の値
に基づくデータをマイコンMCPがセットすることをい
う。
これは、既に説明したとおりである。
そして、S62の処理の終了でメインルーチンへリター
ンする。従って、以上述べたようにルート■は、第11
図に示す通り次の処理がなされる。すなわち、aNc−
1、MT=0=b。
ンする。従って、以上述べたようにルート■は、第11
図に示す通り次の処理がなされる。すなわち、aNc−
1、MT=0=b。
RIV=l、FOFR4−OSt t ←(t−TF)
、RIV←O1T F 4−t 、 e 4−A M
P (0)、AMP (0)”c、h 4−TTP、
TTP 4−t t。
、RIV←O1T F 4−t 、 e 4−A M
P (0)、AMP (0)”c、h 4−TTP、
TTP 4−t t。
V E L 4− Cであり、さらに、■TTPL=、
TTR′;11、■TTU< t t <TTW、■A
MP (0)−c<NCHLVの3条件の満足で、11
に従ったピッチ変更を行なう。しかる後、TTU←(1
7/32)xt tS’r”rw−(31/16)xt
tがなされる。
TTR′;11、■TTU< t t <TTW、■A
MP (0)−c<NCHLVの3条件の満足で、11
に従ったピッチ変更を行なう。しかる後、TTU←(1
7/32)xt tS’r”rw−(31/16)xt
tがなされる。
従って、ルート■にて、実際の音源SSに対するピッチ
変更か行なわれ、続くゼロクロスインタラブドでルート
■の処理、同様に、続くゼロクロスインタラブドで、ル
ート■の処理が行なわれる。このようにして、ルート■
では、単に周期を抽出(S67を参照)し、ルート■で
は実際のピッチ変更(S61参照)、時定数チェンジ処
理(S62参照)が行なわれることになる。
変更か行なわれ、続くゼロクロスインタラブドでルート
■の処理、同様に、続くゼロクロスインタラブドで、ル
ート■の処理が行なわれる。このようにして、ルート■
では、単に周期を抽出(S67を参照)し、ルート■で
は実際のピッチ変更(S61参照)、時定数チェンジ処
理(S62参照)が行なわれることになる。
なお、5TEP4におけるS40において、ルート■の
S66で波形ナンバーカウンタHNCが3を越えるよう
に、カウントアツプされた後は、Yの判断がなされ、次
に841へ行き、リラティブオンの条件を検出する。こ
れは、c−AMP(b)>TRLRLであり、前回の振
幅値AMRLIに比べて今回の振幅値がしきい値TRL
RLを越えて増大したとき、つまり、これは弦操作後に
同じ弦を再度ピッキングしたとき(トレモロ奏法などに
よる)にこのようなことがおき、この場合はS41でリ
ラティブオンの処理をすべくS41からS78へ進み、
時定数変換制御回路TCCの時定数チェンジレジスタC
HTRRへ最高音フレット(例えば22フレツト)の周
期CRTIMをセットする。しかる後、第5図のSO6
へ進み、当該発音中の楽音をノートオフした後、再発音
開始する。
S66で波形ナンバーカウンタHNCが3を越えるよう
に、カウントアツプされた後は、Yの判断がなされ、次
に841へ行き、リラティブオンの条件を検出する。こ
れは、c−AMP(b)>TRLRLであり、前回の振
幅値AMRLIに比べて今回の振幅値がしきい値TRL
RLを越えて増大したとき、つまり、これは弦操作後に
同じ弦を再度ピッキングしたとき(トレモロ奏法などに
よる)にこのようなことがおき、この場合はS41でリ
ラティブオンの処理をすべくS41からS78へ進み、
時定数変換制御回路TCCの時定数チェンジレジスタC
HTRRへ最高音フレット(例えば22フレツト)の周
期CRTIMをセットする。しかる後、第5図のSO6
へ進み、当該発音中の楽音をノートオフした後、再発音
開始する。
通常の演奏操作によれば、S40、S41、S42へ進
み、上述したルート■もしくはルート■へ進む。
み、上述したルート■もしくはルート■へ進む。
次に第12図、第13図を参照して、リラティブオフ処
理を説明する。つまり、フレット操作している状態から
、開放弦状態へ移行すると、波形の振幅レベルは急激に
落ちてきて、前々回の波高値AMRL2と前回の波高値
AMRLIとの差が(1/、32)AMRL2を越える
ようになると、S46から874へ進む。そして、リラ
ティブオフカウンタFOFRが定数ROFCTを越える
までカウントアツプするように874から875へ進む
。このとき、S75からS48へ行きS49〜S55の
処理を行なうが、FOFR−0でないので、リラティブ
オフ処理に入る直前ではピッチ変更をおこなうことなく
メインルーチンへ戻る。
理を説明する。つまり、フレット操作している状態から
、開放弦状態へ移行すると、波形の振幅レベルは急激に
落ちてきて、前々回の波高値AMRL2と前回の波高値
AMRLIとの差が(1/、32)AMRL2を越える
ようになると、S46から874へ進む。そして、リラ
ティブオフカウンタFOFRが定数ROFCTを越える
までカウントアツプするように874から875へ進む
。このとき、S75からS48へ行きS49〜S55の
処理を行なうが、FOFR−0でないので、リラティブ
オフ処理に入る直前ではピッチ変更をおこなうことなく
メインルーチンへ戻る。
そして、S74でYと判断すると、つまり第13図の例
では、FOFRの値が3となったとき(ROFCTは2
である)、S74から375へいく。
では、FOFRの値が3となったとき(ROFCTは2
である)、S74から375へいく。
ただし、S46のジャッジでYの判断が一度でもあると
、S46から347へ進み、FOFRをリセットするよ
うになる。従って、ROFCTで指定される回数だけ続
けてS46の条件を満足しなければ、リラティブオフの
処理はなされない。
、S46から347へ進み、FOFRをリセットするよ
うになる。従って、ROFCTで指定される回数だけ続
けてS46の条件を満足しなければ、リラティブオフの
処理はなされない。
なお、ROFCTの値は、音高が高い弦について大きな
値としておけば、略一定の時間経過て、いずれの弦につ
いてもリラティブオフ処理ができる。
値としておけば、略一定の時間経過て、いずれの弦につ
いてもリラティブオフ処理ができる。
そして、S74から876へ行くと、リラティブオフカ
ウンタFOFRをリセットし、レジスタ5TEPを5と
し、S77へ進んで音源SSに対しノートオフを指示す
る。この5TEPが5の状態では、ピッチ抽出処理を5
TEP4の時と同様に実行するが、S60から361を
介することなくS62へ進むので、音源SSに対しては
、ピッチ変更はされない。ただし、S62において抽出
した周期に従って時定数チェンジ処理を行なう。
ウンタFOFRをリセットし、レジスタ5TEPを5と
し、S77へ進んで音源SSに対しノートオフを指示す
る。この5TEPが5の状態では、ピッチ抽出処理を5
TEP4の時と同様に実行するが、S60から361を
介することなくS62へ進むので、音源SSに対しては
、ピッチ変更はされない。ただし、S62において抽出
した周期に従って時定数チェンジ処理を行なう。
そして、5TEPが5の状態では、リラティブオンの処
理を受付けるが(S41.878)、・それ以外の場合
では、第4図のメインフローの中で、振動レベルが減少
してきたことが検知される= 44 − ことによりM14で5TEPが0となり、初期状態にも
どる。
理を受付けるが(S41.878)、・それ以外の場合
では、第4図のメインフローの中で、振動レベルが減少
してきたことが検知される= 44 − ことによりM14で5TEPが0となり、初期状態にも
どる。
なお、S46で使用するAMRLI、
AMRL2はS64て作られており、1周期の中でレベ
ルが大な方のピーク(最大ピークと最小ピークとの一方
)が、この値とされ、第13図の例では、最大ピークa
Kが最小ピークbK−1より必ず大である場合であって
、a n+1とa n+2、an+2とa n+3 、
a n+3とa n+4の差がいずれも所定値を越える
ようになっている。
ルが大な方のピーク(最大ピークと最小ピークとの一方
)が、この値とされ、第13図の例では、最大ピークa
Kが最小ピークbK−1より必ず大である場合であって
、a n+1とa n+2、an+2とa n+3 、
a n+3とa n+4の差がいずれも所定値を越える
ようになっている。
また、このときルート■の処理においては、最小ピーク
b n+1 、b n+2 、b n+3が極端に減少
してきているので、S54でNの判断が成されて、メイ
ンルーチンへリターンし、ピッチ変更処理はなされない
。
b n+1 、b n+2 、b n+3が極端に減少
してきているので、S54でNの判断が成されて、メイ
ンルーチンへリターンし、ピッチ変更処理はなされない
。
次に、ピッチ抽出しているなかで、オクターブ関係にあ
る倍音、つまりオクターブ高い音やオクターブ低い音が
続けて検出されたときの処理について説明する。
る倍音、つまりオクターブ高い音やオクターブ低い音が
続けて検出されたときの処理について説明する。
既に説明したように、858では11が−45=
TTUを越えなかったとき、つまり、前回抽出した周期
の17/32倍した値TTUより小になったとき、S7
6へ進む。つまり、オクターブ高い音が抽出されたとき
は、指定していたフレットから指を離してミュート操作
をした場合とみなし、オクターブ高い音を出力すること
なく、S58から876へ行き、リラティブオフ時同様
S76、S77の処理によって当該者の発音を停止する
。
の17/32倍した値TTUより小になったとき、S7
6へ進む。つまり、オクターブ高い音が抽出されたとき
は、指定していたフレットから指を離してミュート操作
をした場合とみなし、オクターブ高い音を出力すること
なく、S58から876へ行き、リラティブオフ時同様
S76、S77の処理によって当該者の発音を停止する
。
また、S59では、11がTTWを越えなかったとき、
つまり前回抽出した周期の3’l / 16倍した値T
TWより大となったとき、S60へ進むことなく、メイ
ンルーチンへリターンする。
つまり前回抽出した周期の3’l / 16倍した値T
TWより大となったとき、S60へ進むことなく、メイ
ンルーチンへリターンする。
この状態は第14図に示されている。通常ノートオフ近
辺の非常に波形が小さい場合、他のピッキングによって
ヘキサピックアップのクロストオークやボディの共振に
よって波形が乗ってくる。
辺の非常に波形が小さい場合、他のピッキングによって
ヘキサピックアップのクロストオークやボディの共振に
よって波形が乗ってくる。
すると、例えば、第14図のような入力波′形となり、
1オクターブ下の入力波形が続けて検出されてしまうこ
とがある。
1オクターブ下の入力波形が続けて検出されてしまうこ
とがある。
このような場合、同等処理を施さないと、急にオクター
ブ下の音を出力してしまい、極めて不自然となる。その
ために、S57、S56でT an+2L:、T an
+3L:、T bn+2が検出されても、T an+3
>Tan+IX (31/ 16)となるので、ピッチ
変更することなく、S59からメインルーチンへリター
ンする。
ブ下の音を出力してしまい、極めて不自然となる。その
ために、S57、S56でT an+2L:、T an
+3L:、T bn+2が検出されても、T an+3
>Tan+IX (31/ 16)となるので、ピッチ
変更することなく、S59からメインルーチンへリター
ンする。
次に、ダブリの波形が抽出される場合つまり、同じ極性
のゼロクロス点が続けて到来する場合について説明する
。第15図は、MT=1の場合の例を示しており、基本
波周期と倍音成分の周期が非整数倍の関係にあるので、
倍音の位相がずれて行き、同じ極性のゼロクロスを検出
をしてしまうことになり、そのために誤ったピッチ変更
をしないようにしないといけない。
のゼロクロス点が続けて到来する場合について説明する
。第15図は、MT=1の場合の例を示しており、基本
波周期と倍音成分の周期が非整数倍の関係にあるので、
倍音の位相がずれて行き、同じ極性のゼロクロスを検出
をしてしまうことになり、そのために誤ったピッチ変更
をしないようにしないといけない。
そこで、図のダブリと書いであるゼロクロス時の5TE
P4の処理では、S42から843へ行き、843では
Yの判断をしてS72へ行く。
P4の処理では、S42から843へ行き、843では
Yの判断をしてS72へ行く。
ここで、(an+3)と(an+2)の大きさが比較さ
れ、もしくan+3)が(a n+2 )より大であれ
ば、S72でYの判断をし、AMP(1)に、(an+
3)の値をセットし、もし逆の場合は同等変更処理をし
ない。
れ、もしくan+3)が(a n+2 )より大であれ
ば、S72でYの判断をし、AMP(1)に、(an+
3)の値をセットし、もし逆の場合は同等変更処理をし
ない。
ところで、このダブリの場合抽出している時刻データは
同等使用しないので、周期情報T an+3は何等変わ
らない。また、当然周期データに基づくピッチ変更は行
なわれない。
同等使用しないので、周期情報T an+3は何等変わ
らない。また、当然周期データに基づくピッチ変更は行
なわれない。
同様に、第16図は波形のダブリの場合の例で、MT=
Oの状態を示している。このときも、図中にダブリと示
しているところで、ダブリの状態が生じている。このと
きは、S42から863へ行き、Yの判断をしてS68
へ行く。868では、いまの場合(a n+2 )と(
an+3)との比較をして、(an+3)が(an+2
)より大なときに限りS69へ行き、AMP (1)を
書替える。この場合は、更に前回の振幅値AMRLIと
今回の振幅情報(波高値C)の比較を870で行なって
、もしYならばS71へ進み、今回の振幅情報Cを前回
の振幅値AMRLIへセットする。
Oの状態を示している。このときも、図中にダブリと示
しているところで、ダブリの状態が生じている。このと
きは、S42から863へ行き、Yの判断をしてS68
へ行く。868では、いまの場合(a n+2 )と(
an+3)との比較をして、(an+3)が(an+2
)より大なときに限りS69へ行き、AMP (1)を
書替える。この場合は、更に前回の振幅値AMRLIと
今回の振幅情報(波高値C)の比較を870で行なって
、もしYならばS71へ進み、今回の振幅情報Cを前回
の振幅値AMRLIへセットする。
このようにして、倍音の影響で、波形がタブったときに
も、S56、S57を満足しない限りピッチ変更処理は
なされないことになる。
も、S56、S57を満足しない限りピッチ変更処理は
なされないことになる。
以上述べた実施例によれば、入力波形信号の最大ピーク
値と最小ピーク値が共に所定レベル以上でない場合には
、発音開始の指示を音源装置SOBに与えないようにし
たので、演奏者の不注意で弦をピックや爪でひっかいた
とき等に生ずる異常音で生じた場合には、電子音が発音
されることがなく、従って、演奏者の意図しない耳ざわ
りな音が発音されることがない。
値と最小ピーク値が共に所定レベル以上でない場合には
、発音開始の指示を音源装置SOBに与えないようにし
たので、演奏者の不注意で弦をピックや爪でひっかいた
とき等に生ずる異常音で生じた場合には、電子音が発音
されることがなく、従って、演奏者の意図しない耳ざわ
りな音が発音されることがない。
すなわち、第5図及び第6図において、5TEP=Oの
無音状態における501(本発明の判別手段に相当)で
、第2図のピーク検出回路PEDT (本発明のピーク
値検出手段に対応)からの今回波高値(ピーク値)Cが
、所定トリガーレベルTRLAB (b)(この場合、
最大ピーク値の時b=1、また最小ピーク値の時b−o
である)を越えれば、Yとなり、SO2に進む。ここで
、(今回波高値C−前回の波高値AMP(b))〉リラ
ティブオンのしきい値TRLRLかどうかすなわち、共
振除去チエツクがパス(Yの場合)−49= すれば、5TEP=1になる。さらに、第6図の812
(本発明の判別手段に相当)では、先程と反対側のピー
クがきたとき、そのピーク値CをトリガーレベルTRL
AB (b)と比較し、このトリガーレベルTRLAB
(b)より今回波高値Cが大きい場合には、813に
進むことから、5TEP=2となる。
無音状態における501(本発明の判別手段に相当)で
、第2図のピーク検出回路PEDT (本発明のピーク
値検出手段に対応)からの今回波高値(ピーク値)Cが
、所定トリガーレベルTRLAB (b)(この場合、
最大ピーク値の時b=1、また最小ピーク値の時b−o
である)を越えれば、Yとなり、SO2に進む。ここで
、(今回波高値C−前回の波高値AMP(b))〉リラ
ティブオンのしきい値TRLRLかどうかすなわち、共
振除去チエツクがパス(Yの場合)−49= すれば、5TEP=1になる。さらに、第6図の812
(本発明の判別手段に相当)では、先程と反対側のピー
クがきたとき、そのピーク値CをトリガーレベルTRL
AB (b)と比較し、このトリガーレベルTRLAB
(b)より今回波高値Cが大きい場合には、813に
進むことから、5TEP=2となる。
発音開始に到るまでは、前述したようにいくつかの条件
にパスしなければならないが、第5図のSolおよび第
6図の812の両方を満足すなわち、ピーク値Cが所定
レベルTRLABを越えなければ、5TEP=2まで進
まないので、第18図のような入力波形信号がきても発
音されない。また、第18図のような入力波形信号の場
合には、−旦5TEP=1になるが、入力波形信号が所
定レベルTRLABより小さくなれば、第4図のメイン
ルーチンで5TEP=0に戻る。このようなことから、
演奏者の不注意などの異常な入力波形信号が入力されて
も、電子音が発音されることがないため、耳ざわりにな
ることもない。
にパスしなければならないが、第5図のSolおよび第
6図の812の両方を満足すなわち、ピーク値Cが所定
レベルTRLABを越えなければ、5TEP=2まで進
まないので、第18図のような入力波形信号がきても発
音されない。また、第18図のような入力波形信号の場
合には、−旦5TEP=1になるが、入力波形信号が所
定レベルTRLABより小さくなれば、第4図のメイン
ルーチンで5TEP=0に戻る。このようなことから、
演奏者の不注意などの異常な入力波形信号が入力されて
も、電子音が発音されることがないため、耳ざわりにな
ることもない。
なお、前記実施例おいては、最大ピーク点、最小ピーク
点の次のゼロクロス点毎の間隔から周期抽出を行なうよ
うにしたが、その他の方式、例えば最大ピーク点間や最
小ピーク点間の時間間隔から周期抽出をおこなってもよ
い。また、それに合せて回路構成は種々変更し得る。
点の次のゼロクロス点毎の間隔から周期抽出を行なうよ
うにしたが、その他の方式、例えば最大ピーク点間や最
小ピーク点間の時間間隔から周期抽出をおこなってもよ
い。また、それに合せて回路構成は種々変更し得る。
また、前記実施例においては、この発明を電子ギター(
ギターシンセサイザ)に適用したものであったが、それ
に限らない。ピッチ抽出を行なって、オリジナルの信号
とは別の音響信号を発生するタイプの楽器または装置で
あれば、種々適用可能である。
ギターシンセサイザ)に適用したものであったが、それ
に限らない。ピッチ抽出を行なって、オリジナルの信号
とは別の音響信号を発生するタイプの楽器または装置で
あれば、種々適用可能である。
[発明の効果]
以上述べた本発明によれば、入力波形信号の最大ピーク
値及び最小ピーク値が共に、所定の判断基準を越えると
きのみ、音源装置に発音開始の指示を与えるようにした
ので、演奏者が意図しない耳ざわりな電子音が発音され
ることがない電子楽器を提供できる。
値及び最小ピーク値が共に、所定の判断基準を越えると
きのみ、音源装置に発音開始の指示を与えるようにした
ので、演奏者が意図しない耳ざわりな電子音が発音され
ることがない電子楽器を提供できる。
第1図は本発明による電子楽器の入力制御装置の全体の
構成を示すブロック図、第2図は第1図のピッチ抽出デ
ジタル回路の一例を示すブロック図、第3図は第2図の
マイコンの割込み処理ルーチンを示すフローチャート、
第4図は第2図のマイコンのメイン処理ルーチンを示す
フローチャート、第5図〜第7図および第9図、第10
図はいずれも第2図のマイコンの各ステップの動作を説
明するためのフローチャート、第8図、第11図〜第1
7図はいずれも各ステップの動作を説明するためのタイ
ミングチャート、第18図は従来の電子楽器の問題点を
説明するための波形図である。 PA・・・ピッチ抽出アナログ回路、PD・・・ピッチ
抽出デジタル回路、MCP・・・マイコン、SS・・・
音源、PEDT・・・ピーク検出回路(ピーク値検出手
段)、ZTS・・・ゼロクロス時刻取込回路、TCC・
・・時定数変換制御回路、PVS・・・波高値取込み回
路。Sol、S12・・・判別手段。 出願人代理人 弁理士 鈴江武彦 RET。 第 5 図 第 6 図 C −恢 り 鳳。 第17図 第18図
構成を示すブロック図、第2図は第1図のピッチ抽出デ
ジタル回路の一例を示すブロック図、第3図は第2図の
マイコンの割込み処理ルーチンを示すフローチャート、
第4図は第2図のマイコンのメイン処理ルーチンを示す
フローチャート、第5図〜第7図および第9図、第10
図はいずれも第2図のマイコンの各ステップの動作を説
明するためのフローチャート、第8図、第11図〜第1
7図はいずれも各ステップの動作を説明するためのタイ
ミングチャート、第18図は従来の電子楽器の問題点を
説明するための波形図である。 PA・・・ピッチ抽出アナログ回路、PD・・・ピッチ
抽出デジタル回路、MCP・・・マイコン、SS・・・
音源、PEDT・・・ピーク検出回路(ピーク値検出手
段)、ZTS・・・ゼロクロス時刻取込回路、TCC・
・・時定数変換制御回路、PVS・・・波高値取込み回
路。Sol、S12・・・判別手段。 出願人代理人 弁理士 鈴江武彦 RET。 第 5 図 第 6 図 C −恢 り 鳳。 第17図 第18図
Claims (2)
- (1)入力波形信号のピッチをピッチ抽出手段により抽
出し、このピッチ抽出手段にて抽出されるピッチに基づ
いて音源装置を制御して人工的に対応する音高の楽音を
得るようにした電子楽器において、 前記入力波形信号の最大ピーク値及び最小ピーク値を検
出するピーク値検出手段と、 このピーク値検出手段で検出される最大ピーク値及び最
小ピーク値が共に所定の判断基準を越えるときトリガー
信号を出力する判別手段と、この判別手段からのトリガ
ー信号により前記音源装置の発音開始を行なう発音開始
制御手段と、を具備していることを特徴とする電子楽器
。 - (2)前記判別手段の判断基準は、最大ピーク値と最小
ピーク値でそれぞれ異ならせるようにしたことを特徴と
する特許請求の範囲第1項記載の電子楽器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62258672A JP2611263B2 (ja) | 1987-10-14 | 1987-10-14 | 発音制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62258672A JP2611263B2 (ja) | 1987-10-14 | 1987-10-14 | 発音制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01100598A true JPH01100598A (ja) | 1989-04-18 |
JP2611263B2 JP2611263B2 (ja) | 1997-05-21 |
Family
ID=17323496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62258672A Expired - Lifetime JP2611263B2 (ja) | 1987-10-14 | 1987-10-14 | 発音制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2611263B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9271082B2 (en) | 2009-07-17 | 2016-02-23 | Gp Acoustics (Uk) Limited | Surrounds for audio drivers |
-
1987
- 1987-10-14 JP JP62258672A patent/JP2611263B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9271082B2 (en) | 2009-07-17 | 2016-02-23 | Gp Acoustics (Uk) Limited | Surrounds for audio drivers |
Also Published As
Publication number | Publication date |
---|---|
JP2611263B2 (ja) | 1997-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2615825B2 (ja) | 電子弦楽器 | |
JP2734521B2 (ja) | 楽音制御装置 | |
JPH0196700A (ja) | 電子楽器の入力制御装置 | |
US5710387A (en) | Method for recognition of the start of a note in the case of percussion or plucked musical instruments | |
US5048391A (en) | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal | |
US5147970A (en) | Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal | |
US4924746A (en) | Input apparatus of electronic device for extracting pitch from input waveform signal | |
JPH01100598A (ja) | 発音制御装置 | |
JP2722584B2 (ja) | 楽音制御装置 | |
JP2775633B2 (ja) | 楽音制御装置 | |
JP2661066B2 (ja) | 発音制御装置 | |
JP2661481B2 (ja) | 電子楽器 | |
JP2958778B2 (ja) | 楽音発生装置 | |
JP6135312B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム | |
JP2615946B2 (ja) | 楽音制御装置 | |
JP2605773B2 (ja) | 電子弦楽器 | |
JPH01100597A (ja) | 発音制御装置 | |
JP2661065B2 (ja) | 発音制御装置 | |
JP2858313B2 (ja) | 音高情報生成装置 | |
JP2591001B2 (ja) | 電子弦楽器 | |
JPH01100596A (ja) | 電子楽器の入力制御装置 | |
JP2591000B2 (ja) | 電子弦楽器 | |
JP2530928Y2 (ja) | 電子楽器のレベル表示装置 | |
JP2765578B2 (ja) | 波形信号制御装置 | |
JP6361109B2 (ja) | 電子弦楽器、楽音制御方法及びプログラム |