JP2615825B2 - 電子弦楽器 - Google Patents

電子弦楽器

Info

Publication number
JP2615825B2
JP2615825B2 JP63109625A JP10962588A JP2615825B2 JP 2615825 B2 JP2615825 B2 JP 2615825B2 JP 63109625 A JP63109625 A JP 63109625A JP 10962588 A JP10962588 A JP 10962588A JP 2615825 B2 JP2615825 B2 JP 2615825B2
Authority
JP
Japan
Prior art keywords
string
peak value
output
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.)
Expired - Lifetime
Application number
JP63109625A
Other languages
English (en)
Other versions
JPH01279297A (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 JP63109625A priority Critical patent/JP2615825B2/ja
Priority to US07/345,101 priority patent/US5024134A/en
Priority to EP89107947A priority patent/EP0340734B1/en
Priority to DE8989107947T priority patent/DE68904106T2/de
Priority to KR1019890005927A priority patent/KR920010919B1/ko
Publication of JPH01279297A publication Critical patent/JPH01279297A/ja
Application granted granted Critical
Publication of JP2615825B2 publication Critical patent/JP2615825B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/26Selecting circuits for automatically producing a series of tones
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/32Constructional details
    • G10H1/34Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments
    • G10H1/342Switch arrangements, e.g. keyboards or mechanical switches specially adapted for electrophonic musical instruments for guitar-like instruments with or without strings and with a neck on which switches or string-fret contacts are used to detect the notes being played
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H3/00Instruments in which the tones are generated by electromechanical means
    • G10H3/12Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
    • G10H3/125Extracting or recognising the pitch or fundamental frequency of the picked up signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/066Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/165User input interfaces for electrophonic musical instruments for string input, i.e. special characteristics in string composition or use for sensing purposes, e.g. causing the string to become its own sensor
    • G10H2220/181User input interfaces for electrophonic musical instruments for string input, i.e. special characteristics in string composition or use for sensing purposes, e.g. causing the string to become its own sensor by nonresonant wave interaction, i.e. string sensing using wavelengths unrelated to string resonant wavelengths, e.g. ultrasonic waves, microwave or light waves, propagated along a musical instrument string to measure its fret length, e.g. for MIDI transcription
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/30Fret control

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子ギター等の電子弦楽器に係り、特に弦
の撥弦(ピッキング)に対する楽音の発音開始制御技術
及び音高制御技術に関する。
〔従来の技術〕
通常のギター等においては、弦が張設されている方向
の下部のネックと呼ばれる本体部の複数の位置に複数の
フレットが設けられており、これらのフレット間のいず
れかの位置で弦を本体部に押圧することにより、弦の有
効弦長をその押圧位置に応じて変化させることができ
る。そして、このようなフレット操作により弦の有効弦
長を変化させながら弦を撥弦(ピッキング)し、それに
よる弦振動を例えば電磁ピックアップ等で拾いアンプ等
で増幅することによりギター音を発音させることができ
る。
最近、上記のようなギターに対するフレット操作及び
撥弦(ピッキング)操作により、デジタル回路等で構成
された楽音発生回路を制御して楽音を合成し、発音させ
るようにした電子弦楽器が開発されている。
上記のような電子弦楽器の第1の従来例として、複数
のフレット間の各位置のネックの内部にフレットスイッ
チを埋設しておき、フレット操作により弦を押圧した位
置のフレットスイッチがオンとなることを検出して対応
するフレット番号を出力し、また、弦のピッキング操作
の開始時点を別のセンサで検出することにより、楽音発
生回路に対してフレット番号に対応した音高で楽音の発
音をさせるようにしたものがある。
第2の従来例として、各フレットを導電性部材で構成
し、また、弦を電気抵抗を有する導電性部材で構成して
弦に電流を流すことにより、ピッキングをする側の弦の
支持部から弦の押圧により弦が接触しているフレットま
での弦の有効弦長をその抵抗値に対応する電圧として検
出することによりフレットの位置を検出し、楽音の音高
制御を行うものがある。
第3の従来例として、ピッキングをする側の弦の支持
部付近から弦に超音波を発信し、その超音波が弦の押圧
により弦が接触しているフレットで反射して戻ってくる
までの時間を検出することによりフレットの位置を検出
し、楽音の音高制御を行うものがある。
一方、上記第1〜第3の従来例とは異なり、弦振動そ
のものを電磁ピックアップ等によって検出し、その弦振
動波形からピッチ周期をリアルタイムで抽出することに
より、ピッチ周期に対応した音高で楽音の発音をさせる
ようにしたものがある。
〔発明が解決しようとする課題〕
上記第1〜第3の従来例においては、フレット操作と
同時にフレットの位置を検出でき、また、一般にフレッ
ト操作は弦のピッキングの操作より早いタイミングで行
われるため、フレット位置に対応する音高制御を速いレ
スポンスで行うことができる。しかし、いずれもフレッ
ト位置に対応した音高しか得られないため、一般のギタ
ー特有のチョーキング操作(弦を押圧しながら張設方向
と垂直な方向にずらして弦の張力を増加させる操作)を
行った場合等においても、押圧しているフレット位置が
変わらない限り音高情報は変更できないため、表現力に
乏しい演奏効果しか得られないという問題点を有してい
た。
一方、第4の従来例では、弦振動波形からリアルタイ
ムで抽出したピッチ周期に基づいて音高を制御するた
め、チョーキング操作等に対しても忠実に対応し、弦振
動の細かいニュアンスを反映できるため、表現力に富ん
だ演奏効果が得られる。しかし、一般に弦振動波形から
正確なピッチ周期を抽出できるまでには、弦がピッキン
グされて弦振動波形が入力し始めてから早くても1周期
分の波形データが入力されるまで待つ必要があり、楽音
の発音開始もその後になる。従って、弦の振動周期が短
い場合には問題はないが、低音弦のように振動周期が長
くなる場合には、弦がピッキングされてから発音が開始
されるまでに10msec以上の遅れを生じ、ピッキング操作
に対するレスポンスが悪くなり、楽音の発音に不自然さ
を生じてしまうという問題点を有していた。
本発明の課題は、弦のピッキングに対するレスポンス
が良好で、かつ、ピッキング後の音高制御は弦の振動に
忠実に行うことができ、豊かな演奏表現を可能にするこ
とにある。
〔課題を解決するための手段〕
本発明は、本体に張設される弦と、前記弦の押圧位置
を検出する押圧位置検出手段と、前記弦の振動発生を検
出する弦振動検出手段と、前記弦の振動のピッチを検出
するピッチ検出手段と、前記弦振動検出手段が前記弦の
振動発生を検出した場合、前記押圧位置検出手段が検出
する前記弦の押圧位置に対応する音高の楽音の発生開始
を指示し、該楽音発生中には、ピッチ検出手段が検出す
る前記弦の振動のピッチに基づいて該発生中の楽音の音
高を制御する楽音制御手段とを有することを特徴とす
る。
〔作用〕
本発明の作用は次の通りである。
まず、演奏者が弦のピッキング操作をすることにより
弦振動検出手段が弦振動発生を検出した場合、演奏者が
上記操作の直前又は同時に行った弦押圧操作、例えばフ
レット操作により、押圧位置検出手段が検出する弦の押
圧位置に応じた音高で、楽音制御手段が楽音の発生を指
示する。
ここで、弦振動の発生及び弦の押圧位置は、非常に早
いタイミングでの検出が可能である。従って、上記動作
により、弦のピッキング操作に対してレスポンスの良好
な楽音の発音を開始させることができる。
上記動作の後は、楽音制御手段は、ピッチ検出手段が
検出する弦振動のピッチに応じて、現在発音中の楽音の
音高を変更させる等して制御する。
この動作により、演奏者が弦をピッキングした後、チ
ョーキング操作又はトレモロアーム等を操作して弦の張
力を変化させたような場合でも、それに応じて楽音の音
高を制御できるため、表現力に富んだ演奏効果を得るこ
とができる。
以上のように、発音開始時の情報は弦振動検出手段及
び押圧位置検出手段から、その後の情報はピッチ検出手
段から得ることにより、各々の特徴を生かした楽音制御
を行うことができ、全体として自然性に富み、演奏者の
意志を良く反映した楽音の発音が可能となる。
更に、以上の動作を複数の弦に対して時分割処理等で
行うことにより、演奏効果をより高めることができる。
〔実施例〕 以下、本発明の実施例につき詳細に説明を行う。な
お、以下の説明においては、記号{ }、( )、
《 》、< >で囲まれ、アンダーラインを付した見出
しの順に、順次項目分けを行う。
{本実施例による電子弦楽器の外観構成} 第1図は本実施例に係る電子弦楽器の平面図である。
この電子弦楽器は、フィンガーボード104を有するネ
ック102と胴部101とからなっている。フィンガーボード
104上には、非伸縮性材料からなる6本の弦105が張設さ
れており、各弦105はその一端がヘッド106に設けられた
ブリッジ107aに支持され、各弦105毎に設けられた糸巻1
08によって各弦の張力が調整可能である。また、他の一
端は胴部101上に設けられた固定板109上のブリッジ107b
内の軸(特には図示しない)に支持される。そして、ブ
リッジ107b内の軸は、トレモロアーム111によって回転
可能であり、演奏中にトレモロアーム111を操作するこ
とにより、6弦同時に張力を任意に可変可能である。
また、胴部101上の弦105の下部の固定板109上には、
各弦の振動を検出して6種類の電気信号として出力する
各弦独立のヘキサピックアップ110が設けられている。
一方、フィンガーボード104は音高指定用のフレット1
03によって区切られ、これらによって区切られた各フィ
ンガーボード104の下部のネック内には、後述するよう
に各弦の位置にフレットスイッチが埋設されており、隣
接するフレット103間の各フィンガーボード104の部分で
弦105を押圧することにより、対応するフレットスイッ
チがオンし、各弦105及び各フレット位置に対応した音
高を指定することができる。
次に、第1図のネック102内に設けられるフレットス
イッチの構成を第2図に示す。同図は、第1図のネック
102のI・・・Iで示される部分の断面図である。
図示のように、ネック102の上面に形成された凹部201
内に、プリント基板203とゴムシート202がはめ込まれて
固定されている。ゴムシート202はプリント基板203の上
に積層接着され、ゴムシート202の両端はプリント基板2
03を包み込んでプリント基板203を固定するようにコ字
状に折り曲げられている。
プリント基板203の上面と接合するゴムシート202の下
面の、各弦105と対応した位置には、ネック102の長手方
向に沿って6列の接点凹部204が形成されている。
そして、隣接する各フレット103間(第1図参照)に
おいて、各接点凹部204の上底面には可動電極205bがパ
ターン形成され、一方、各可動電極205bと対向するプリ
ント基板203上には固定電極205aがパターン形成されて
いる。この固定電極205aと上記可動電極205bとで、所定
の音高を指定するためのフレットスイッチ205が構成さ
れている。
従って、弦105の上からフィンガーボード104の表面で
あるゴムシート202を、隣接するフレット103間で押さえ
ると、可動電極205bと固定電極205aが接触導通して、フ
レットスイッチ205がオンするようになっている。
{本実施例による電子弦楽器の全体ブロック図} 第3図は、本実施例に係る電子弦楽器の全体ブロック
図である。この回路は、第1図の胴部101内に設けられ
るが、第3図の楽音発生回路305、D/A変換器306、アン
プ307、及びスピーカ308は、第1図の電子弦楽器本体の
外部に別に設けてもよい。
第3図において、フレット番号検出部302は、第2図
に示したフレットスイッチ205(各フレット間、各弦に
対応して複数個ある)のうちどれが押されているのかを
検出する特には図示しないデコーダ回路であり、中央制
御装置(MCP、以下同じ)301からの特には図示しないフ
レットスキャン信号に基づいて各フレットスイッチ205
をスキャンし、現在オンとなっているフレットスイッチ
に対応するフレット番号をMCP301に出力する。
一方、ピッチ抽出アナログ部303は、第1図のヘキサ
ピックアップ110から出力される各弦(6弦)対応の波
形信号から、各種デジタル信号(後述する)を生成する
回路である。
ピッチ抽出デジタル部304は、ピッチ抽出アナログ部3
03からの各信号に基づいて、ピッチ抽出のためのピーク
値、ゼロクロス時刻等の各種パラメータ(後述する)を
生成し、MCP301に割り込み信号INTで割り込みをかける
ことにより、バスBUSを介して上記各種パラメータをMCP
301に出力する。
次に、第3図のMCP301は、フレット番号検出部302及
びピッチ抽出デジタル部304からの各種情報に基づい
て、第1図の弦105のうちどの弦がピッキングされたか
を検出すると共に、ピッキングされた弦についてのフレ
ット番号(どのフレットスイッチ205がオンになってい
るか)を検出して、そのフレット番号に対応する音高に
よる発音開始の情報を楽音発生回路305に出力する。
また、発音開始後、演奏者がチョーキング操作(フィ
ンガーボード104(第1図)上で弦105を押さえながらネ
ック102の短手方向にずらす操作)を行うか、又は第1
図のトレモロアーム111を操作すること等により、ピッ
キングされた弦の張力を変化させたような場合、ピッチ
抽出デジタル部304からの情報に基づいて、ピッキング
れた弦振動のピッチ周期の変化を抽出し、これに基づく
音高の変更を支持する情報を楽音発生回路305に出力す
る。
以上の制御動作は、MCP301内の特には図示しないROM
(リードオンリーメモリー)等に記憶された制御プログ
ラムに基づいて行われる。
続いて、第3図の楽音発生回路305は、MCP3からの各
種楽音制御情報に基づいて、特には図示しない波形ROM
に記憶されているデジタル楽音波形を読み出して出力す
る。この場合、特には図示しない波形読み出し手段が、
MCP301から指示される音高に応じたアドレス間隔で前記
波形ROMからデジタル楽音波形を読み出すことにより、
楽音の音高制御を行う。
D/A変換器306は、楽音発生回路305から出力されるデ
ジタル楽音波形をアナログ楽音波形に変換し、この波形
はアンプ307が増幅された後、スピーカ308から放音され
る。
なお、始めに述べたように、楽音発生回路305、D/A変
換器306、アンプ307、及びスピーカ308等を、第1図の
電子弦楽器本体の外部に別音源として設けるような場
合、MCP301と楽音発生回路305は、第3図にかっこ付で
示すように楽音制御情報転送用の専用バスMIDI−BUS(M
IDI:Musical Instrument Digital Interface)によって
接続することができるように構成されている。
{本実施例による電子弦楽器の概略動作} 上記第3図に示したブロック構成の概略動作につき、
以下に説明しておく。
まず、第4図のD1は、第3図のピッチ抽出アナログ部
303からピッチ抽出デジタル部304に出力されるデジタル
波形信号D1の1弦分についてアナログ的に示したもので
ある。この波形は、第1図の電子弦楽器の各弦105のう
ち1弦をピッキングすることにより、対応するヘキサピ
ックアップ110から検出される電気信号をローパスフィ
ルタでろ波した後(後述する)、デジタル信号として出
力したものであり、当該弦を第1図の各フレット103に
はさまれたフィンガーボード104上で押圧しながらピッ
キングすることにより第4図T0〜T5等に示すようなピッ
チ周期を有する振動波形が発生する。
次に、本実施例では、第3図のピッチ抽出デジタル部
304が、第4図のデジタル波形信号D1から、ピーク値a0
〜a3又はb0〜b3等を抽出し、同時にピーク値の直後のゼ
ロクロス時刻t1〜t7等を抽出する。そして、これらのデ
ータを、第3図のMCP301に割込み信号INTを出力して割
込みをかけることによりバスBUSを介してMCP301に順次
転送する。
上記動作により、MCP301は始めのデータの組(b0
t0)が入力した時点において、対応する弦105(第1
図)がピッキングされたと判断し、即座にフレット番号
検出部302にフレットスイッチ205(第2図)の走査信号
を出力し、どのフレットスイッチ205が押圧されている
かを表わすフレット番号を入力するフレットスキャン処
理を行う(第4図)。
これにより、フレット番号が検出されたら、それに対
応する音高情報を生成し、キーオン(発音開始)情報と
共に第3図の楽音発生回路305に出力するノートオン処
理を行う(第4図)。
これに従って、楽音発生回路305が指定された音高で
楽音の発生を開始し、D/A変換器306でアナログ信号に変
換された後、アンプ307、スピーカ308を介して発音され
る。
続いて、第3図のMCP301は、ピッチ抽出デジタル部30
4から割込み信号INTが入力して割り込みかかる毎に入力
するデータの組(a0、t1)、(b1、t2)、(a1、t3)、
・・・等から、第4図の各ピッチ周期T0〜T5等をリアル
タイムで抽出する。そして、第4図の、、等にお
いて、最も新しく得られたピッチ周期T1、T3、T5等に基
づいた音高情報を生成し、楽音発生回路305に供給する
ことにより、発音されている楽音の音高を上記各音高情
報に基づいて変更してゆくピッチ変更処理を行う。
従って、発音開始後、演奏者が前記チョーキング操作
を行うか、又は第1図のトレモロアーム111を操作する
こと等により、ピッキングされた弦の張力を変化させた
ような場合、それに従って第4図のデジタル波形信号D1
の各ピッチ周期T0〜T5等が変化するため、音高情報もそ
れに従ってリアルタイムで変化し、楽音に豊かな表現を
付加することができる。
一方、第4図のデジタル波形信号D1のみから音高情報
を得て発音を開始しようとすると、波形立ち上り時付近
のピッチ周期T0、T1等を得るまでに、同図に示すように
最低でも1.5ピッチ周期程度待たなければならない。こ
のため、特にピッチ周期の長い低音弦をピッキングした
ような場合には、発音開始が遅れ、レスポンスの悪い楽
器になってしまう。
そこで、本実施例では、演奏者が弦を押さえたフレッ
ト103の位置で弦振動の基本的なピッチ周期が定まるこ
とに着目し、発音開始時の音高情報のみは、第4図の
フレットスキャン処理によってフレット番号検出部302
(第3図)より得られるフレット番号から生成するよう
にして、ノートオン(発音開始)を極めて速いタイミン
グで行うことのできる電子弦楽器を実現している。な
お、第1図の各弦105の張力は、各フレット103位置から
得られる音高情報と対応するように、予め糸巻108(第
1図)によってチューニングしておくことができる。
上記動作は、ギターの6弦分のヘキサピックアップ11
0(第1図)の各出力について時分割処理されるため
(従って、後述するようにデジタル信号波形D1は6弦分
の時分割信号となる)、楽音発生回路305からは6弦分
の楽音を聴覚的に同時に発音させることができる。そし
て、これらの楽音は、自由な音量・音色に設定でき、電
子的に各種の効果を付加できるため、極めて大きな演奏
効果が得られる。
{ピッチ抽出アナログ部の説明} 上記動作を実現するための本実施例の動作につき、以
下に詳細に説明を行ってゆく。
(概略説明) まず、第3図のピッチ抽出アナログ部303について説
明を行う。ここでは、第1図のヘキサピックアップ110
からの6種類(各弦対応)の出力を、ローパスフィルタ
に通して高調波成分を除去することにより、6種類の各
波形信号Wi(i=1〜6)を得る。更に、各波形信号Wi
の振幅の符号が正又は負に変化する毎に、ハイレベル又
はローレベルとなるパルス状のゼロクロス信号Zi(i=
1〜6)を発生する。そして、これら6種類の波形信号
Wi及びゼロクロス信号Ziを、各々ゲート回路又はA/D変
換器等により、時分割のデジタル波形信号D1及び時分割
のシリアルゼロクロス信号ZCRに変換し、上記Ziと共に
出力する。
(構成) 第5図は、第3図のピッチ抽出アナログ部303の詳細
を示す回路図であり、第1図のヘキサピックアップ110
からの各弦に対応した入力波形信号は各々ローパスフィ
ルタ(LPF)501〜506の各入力端子534〜539に入力し、
ここで増幅されると共に、高周波成分が除去されて基本
波形W1〜W6が抽出される。このローパスフィルタ501〜5
06としては各弦の出力音の周波数が2オクターブ範囲内
であることを考慮し、各弦毎にそれぞれ異なるカットオ
フ周波数に設定されたものを用いる。
ローバスフィルタ501〜506の出力即ち、波形信号(波
高値)W1〜W6はそのまま出力され、また波形信号(波高
値)W1〜W6は夫々ゼロクロスコンパレータ507〜512に入
力され、ここで基準信号であるアース電位と比較され
て、ゼロクロス信号Z1〜Z6が生成される。
このゼロクロス信号Z1〜Z6は、アンドゲート513〜518
とオアゲート525からなるゼロクロスパラレル−シリア
ル変換部の入力、即ちアンドゲート513〜518に与えら
れ、後述する順次パルスΦ1〜Φ6にそれぞれ対応して
入力され、ここでシリアルゼロクロス信号ZCRに変換さ
れる。そして、ここでは、ゼロクロス信号Z1〜Z6が正の
ときシリアルゼロクロス信号ZCRとして論理「1」を出
力し、またゼロクロス信号Z1〜Z6が負のときシリアルゼ
ロクロス信号ZCRとして論理「0」を出力する。
一方、ローパスフィルタ501〜506からの波形信号W1〜
W6は、アナログゲート519〜524などからなるアナログパ
ラレル−シリアル変換部の入力、即ちアナログゲート51
9〜524に与えられ、後述する順次パルスΦ1〜Φ6にそ
れぞれ対応して入力され、ここでアナログのシリアル信
号に変換される。そしてここでは、順次パルスΦ1〜Φ
6が正のとき対応するアナログゲート519〜524はオープ
ン状態となり、また順次パルスΦ1〜Φ6が負のときア
ナログゲート519〜524はクローズ状態となる。これらの
出力は抵抗530、531が接続された反転アンプ529に入力
され、ここで正側および負側の波形がすべて正側に反転
される。即ち、オアゲート525からのシリアルゼロクロ
ス信号ZCRは直接アナログゲート527のゲート端子へ入力
すると共に、インバータ526を介してアナログゲート528
のゲート端子に入力する。そして、アナログゲート528
の入力端子に反転アンプ529の出力が入力され、アナロ
グゲート528の出力は、必ず正の値となっている。一
方、アナログゲート527は、シリアルゼロクロス信号ZCR
が論理「1」のときにオンとなることで、アナログゲー
ト519〜524をその出力端子へ送出する結果、必ず正の値
の出力となる。
そして、このアナログゲート527、528の出力は、VIN
としてログ(log)変換回路532に入力され、ここでデー
タがログ変換されることにより対数圧縮され、必要なメ
モリビットが削減される。ログ変換回路532の出力VOUT
は、アナログデジタル変換器A/D(以下、A/D変換器と称
す)533において、AD変換クロック信号ADCKの状態に応
じて時分割のデジタル波形信号D1に変換される。
(詳細動作) 第6図は、第5図のピッチ抽出アナログ部303(第3
図も参照)の動作を説明するための動作タイミングチャ
ートである。まず、順次パルスΦ1〜Φ6は、後述する
タイミングジェネレータ905(第9図参照)から出力さ
れる各弦(6弦)対応のサンプリングクロックであり、
各々、上記と同じタイミングジェネレータ905から発生
されるA/D変換器533を動作させるためのAD変換クロック
信号ADCKの6倍の周期を有し、各順次パルスΦ1〜Φ6
はAD変換クロック信号ADCKの1周期分ずつ位相がずれて
発生する。
従って、上記各順次パルスΦ1〜Φ6がアンドゲート
513〜518を順次制御することにより、6弦分の波形信号
W1〜W6に対応する各ゼロクロス信号Z1〜Z6がサンプリン
グされた後オアゲート525によって時分割多重化され
て、第6図に示すシリアルゼロクロス信号ZCRとして出
力される。
第7図は、第5図の構成において、第1弦が弾かれた
場合の順次パルスΦ1と、波形信号W1と、ログ変換回路
532の入力電圧VINと、出力電圧VOUTと、シリアルゼロク
ロス信号ZCRのタイミングチャートである。この図から
明らかなように、ログ変換回路532によりデータが対数
圧縮され、これにより、A/D変換器533において量子化を
行うときのビット数を減らすことができる(これについ
ては後述する)。
なお、他の弦に対応する波形信号W2〜W6についても、
各順次クロックΦ2〜Φ6に従って時分割で処理され
る。この場合、VIN、VOUT、ZCRの各信号は、第7図の斜
線部分に時分割多重化される。
そして、これら時分割多重化された信号VOUTは、A/D
変換器533(第5図)において、AD変換クロック信号ADC
Kに基づいて8ビット(256レベル)に量子化され、前記
のように、上記6弦分が時分割多重化された8ビットの
デジタル波形信号D1として出力される。
第8図(a)、(b)は、各々第5図のログ変換回路
532への入力VINと、同回路532の出力VOUT(共に、第7
図参照)の各信号の振幅値のエンベローブ(包絡)を示
すものである。ここで、VIN、VOUTは、共にヘキサピッ
クアップ110から得られる各波形信号W1〜W6のいづれか
に基づく信号であるため、結局、上記エンベローブは第
1図の各弦105の弦振動のエンベローブを示している。
ここで注目すべき点は、ノートオン時間である。本実
施例では、後に詳述するように、弦振動の立ち上がり時
の振幅値が所定のしきい値以上となることを検出して楽
音をノートオン(発音開始)し、その後、弦振動が減衰
して振幅値が前記しきい値以下となることを検出してノ
ートオフ(消音)する。そして、ノートオンからノート
オフまでのノートオン時間内に、ピッチ抽出に基づく音
高制御等を行う。ここで、弦をピッキングしたことによ
る弦振動の細かいニュアンスを楽音の発音に反映させる
ためには、上記しきい値(以下、ノートオフしきい値と
呼ぶ)をなるべく低い振幅値に設定することが望まし
い。
一方、上記ノートオン、ノートオフの処理は、安定し
た動作を保障するために、第5図のA/D変換器533の出力
デジタル波形信号D1に対して、デジタル値のノートオフ
しきい値を設定して行われる。
従って、A/D変換器533において、入力するVOUTの振幅
値の量子化を行う場合、その振幅値の低い範囲がなるべ
く細かいレベルで量子化されるようにした方が、ノート
オフしきい値を低い振幅レベルに設定することが容易に
なる。
上記動作を実現するためには、量子化ビット数の多い
(例えば10ビット(=1024レベル)以上の)A/D変換器5
33を使用すればよいが、そのようなA/D変換器は高価で
あるため、実際にはコストを低く抑えるため、8ビット
(=256レベル)程度のA/D変換器しか使用できない。
そこで、本実施例ではA/D変換器533の前段に安価なロ
グ変換回路532を設け、入力VINを、その低い振幅値の範
囲が予め対数関数的に増幅された出力VOUTに変換してA/
D変換器533に入力することにより、上記動作を実現して
いる。これにより、第8図(b)に示すように、同図
(a)と同じノートオフしきい値(デジタル値)でも、
もとの弦振動波形に対してはずっと低い振幅値でしきい
値設定が行えたことになり、実質的なノートオン時間を
第8図(a)の場合に比較して長くとることができ、よ
り細かな楽音制御が行える。
以上、第3図又は第5図のピッチ抽出アナログ部303
によって、ヘキサピックアップ110(第1図)の6弦分
の出力を時分割多重化した8ビットのデジタル波形信号
D1(第7図のVOUTの各振幅値を量子化した信号)、同様
に時分割多重化した1ビットのシリアルゼロクロス信号
ZCR(第7図参照)、及び6弦分のゼロクロス信号Z1〜Z
6が生成され、第3図のピッチ抽出デジタル部304に供給
される。
{ピッチ抽出デジタル部の説明} 第9図は、第3図のピッチ抽出デジタル部304の概略
構成を示すブロック図であり、シリアルゼロクロス信号
ZCRを入力してMAX1〜6又はMIN1〜6の各弦対応のピー
ク点を検出する信号を出力するピーク検出回路901と、
このピーク検出回路901の時定数を変換する時定数変換
制御回路904と、ゼロクロス時刻取込み回路902と、波高
値取込み回路903と、種々のタイミング信号すなわち順
次パルスΦ1〜Φ6、タイミング信号ADCK、Q5、MO5、M
Cを生成するタイミングジェネレータ905とからなってお
り、以下これらについて詳細に説明する。
(ピーク検出回路の説明) まず、第9図のピーク検出回路901について説明を行
う。
《概略説明》 ここでは、第3図又は第5図のピッチ抽出アナログ部
303からの6弦分を時分割多重化したデジタル波形信号D
1及びシリアルゼロクロス信号ZCRに基づいて、デジタル
波形信号D1の各弦対応の時分割信号の最大ピーク点(正
振幅側のピーク点)及び最小ピーク点(負振幅側のピー
ク点)のタイミングを時分割処理により検出し、6弦対
応の最大ピーク値検出信号MAX1〜MAX6及び最小ピーク値
検出信号MIN1〜MIN6を出力する。
そのために、ピーク検出回路の内部に、後述するよう
に各弦毎の過去のピーク値を減算し(減衰させ)ながら
記憶する回路を有しており、各弦毎に前回のピーク値検
出後、上記回路から出力される各弦毎の出力信号をしき
い値として、次にデジタル波形信号D1の各弦毎の時分割
信号がこのしきい値を越えた時点直後のピーク値の入力
タイミングとして、各弦毎のピーク値のタイミングを検
出する。
このとき、第7図において既に説明したように、元の
波形信号W1〜W6(第5図参照)の負側の部分は、正側に
極性が反転されてデジタル波形信号D1として入力してく
るため、ピーク検出回路901ではシリアルゼロクロス信
号ZCRを判定することにより、上記ピーク検出は正側と
負側の各々について個別に行われる。
そして、前記各弦毎のピーク値の検出タイミングで、
正側の場合は最大ピーク値検出信号MAXi(i=1〜
6)、負側の場合は最小ピーク値検出信号MINi(i=1
〜6)を出力する。
《構成》 第10図に、第9図のピーク検出回路901の詳細な回路
図を示す。この回路は、前記したようにデジタル波形信
号D1の6弦毎の正側と負側の各々について時分割処理を
行い、最大ピーク値検出信号MAX1〜MAX6及び最小ピーク
値検出信号MIN1〜MIN6を出力する。従って、全体では12
時分割処理を行う。
同図において、まずシフトレジスタ101は12ビット構
成で12時分割処理、即ち12ビット×12段のシフトレジス
タとなっている。なお、各12ビットのうち、上位8ビッ
トは整数部、下位4ビットは小数部であり、小数部を設
けたのは後述する減算処理の精度を確保するためであ
る。上記シフトレジスタ1001のクロック端子CKには、第
9図のタイミングジェネレータ905からのタイミング信
号MO5(AD変換クロック信号ADCKの1/2の周期を有する)
が入力され、この立ち上がりエッジで右回転する。
シフトレジスタ1001に記憶されている記憶値1227の上
位8ビットはゲート1013に入力し、同ゲート1013はゲー
ト制御回路1014からの制御信号PRにより開閉制御され
る。
ゲート制御回路1014は、2ビットのカウンタ1015、オ
アゲート1016〜1018、1021、アンドゲート1017、1020と
からなる。まず、オアゲート1016に入力される順次パル
スΦ1、Φ2は、そのままアオゲート1021を介して制御
信号PRとして出力される。一方、オアゲート1017に入力
される順次パルスΦ3、Φ4は、アンドゲート1019を介
して出力されるため、カウンタ1015の下位ビット出力端
子QAが論理「1」である周期のみ出力される。また、オ
アゲート1018に入力される順次パルスΦ5、Φ6は、ア
ンドゲート1020を介して出力されるため、カウンタ1015
の上位ビット出力端子QB及び下位ビット出力端子QAが共
に論理「1」である周期のみ出力される。ここで、カウ
ンタ1015の各出力QA、QBは、順次パルスΦ1に同期して
(0、0)(0、1)(1、0)(1、1)(0、0)
・・・とサイクリックに変化する。以上のようにして出
力される制御信号PRがハイレベルとなるタイミングで、
ゲート1013がオンとなる。
ゲート1013の出力即ちシフトレジスタ1001の読み出し
出力は、シフタ1003に入力される。ここでは入力信号を
8ビットシフト又は4ビットシフトすることにより、1/
256又は1/16の除算を実行する。なお、上記2種類のシ
フトの切替えは、後に詳述する第9図の時定数変換制御
回路904から端子SELに入力する時定数チェンジ信号GXに
より行われる。
シフター1003の4ビットの出力は、減算器1002の第2
の入力端子Bに入力する。減算器1002の第1の入力端子
Aにはシフトレジスタ1001からの12ビットの記憶値1027
が入力する。ここでは後述するように、A入力−B入力
を計算し、12ビットの出力端子Sから出力するが、この
ときキャリインの入力端子CINに論理「1」を入力させ
ている。これについては後述する。
次に、オアゲート1011から論理「1」が出力されたと
き、上記減算器1002の出力端子Sからの12ビットの出力
のうち、上位8ビット(整数部)がデータ切替スイッチ
1005を介してシフトレジスタ1001へ入力され、下位4ビ
ット(小数部)はアンドゲート1006〜1009を介してシフ
トレジスタ1001に入力される。また、オアゲート1011の
出力が論理「0」のとき、第3図のピッチ抽出アナログ
部303内のA/D変換器533(第5図参照)から8ビットの
新たなデジタル波形信号D1が、データ切替スイッチ1005
を介してシフトレジスタ1001へ入力される。このとき、
アンドゲート1006〜1009がオフとなるため、下位4ビッ
ト、即ち、小数部はゼロ入力となる。
一方、比較器1004の第1の入力端子Aには8ビットの
デジタル波形信号D1が入力し、また、第2の入力端子B
にはシフトレジスタ1001の記憶値1027の上位8ビット
(整数部)が入力する。この比較器1004の出力は、イン
バータ1010を介してオアゲート1011の第1の入力端子に
入力され、オアゲート1011の第2の入力端子には排他論
理和回路1012からの出力が入力される。そして、この排
他論理和回路1012の入力端子には前記ピッチ抽出アナロ
グ部303(第3図又は第5図)からのシリアルゼロクロ
ス信号ZCRと、タイミングジェネレータ905(第9図)か
らのAD変換クロック信号ADCKとが入力される。
次に、シリアルゼロクロス信号ZCRは、比較器1004の
出力、第9図のタイミングジェネレータ905からのタイ
ミング信号Q5、AD変換クロック信号ADCKと共に、シリア
ル/パラレル変換回路1022内のアンドゲート1023〜1026
に各々入力される。そして、アンドゲート1023〜1026の
各出力は、前記タイミングジェネレータ905からの各順
次パルスΦ1〜Φ6と共にアンドゲートANDia〜ANDid
(i=1〜6)に入力され、当該各アンドゲートの出力
は、フリップフロップFFia、FFib(i=1〜6)に入力
される。これにより、6弦分のパラレルの最大ピーク値
検出信号MAXi(i=1〜6)、及び最小ピーク値検出信
号MINi(i=1〜6)が出力される。
(動作) 上記構成の第9図又は第10図のピーク検出回路901の
動作につき以下に説明する。
まず、第3図のピッチ抽出アナログ部303内のA/D変換
器533(第5図)から出力されるデジタル波形信号D1に
は、第11図に示すようにAD変換クロック信号ADCKに同期
した6種類の順次パルスΦ1〜Φ6が論理「1」となる
のに同期して、6弦分の波形信号W1〜W6(第5図参照)
をデジタル化したものが時分割多重化されている。ただ
し、前記第6図と同様に、順次パルスΦ1〜Φ6に対し
て、AD変換器533(第5図)の変換時間Δtだけ遅延が
あるが、これについては後述する。
これに対して、第10図のシフトレジスタ1001は、AD変
換クロック信号ADCKの1/2の周期を有するタイミング信
号MO5の立ち上がりで動作する。従って、シフトレジス
タ1001の記憶値1027が出力されるタイミング及び減算器
1002、シフタ1003、比較器1005その他のゲート等の動作
タイミングは、前記デジタル波形信号D1の各弦対応の時
分割信号が入力するタイミングの2倍の速度で動作す
る。そこで、第11図に示すように、各弦対応の時分割タ
イミングの前半では、その弦に対応する時分割信号の正
側に対する処理を行い、同じく後半では負側に対する処
理を行う。
<第1弦に対する処理> 今、順次パルスΦ1に同期する第1弦に対する処理の
みに注目する。第1弦に対応する波形信号W1は、第3図
又は第5図のピッチ抽出アナログ部303において「ピッ
チ抽出アナログ部の説明」の「詳細動作」の項で第7図
に示したように、順次パルスΦ1に同期してデジタル化
されるが、波形信号W1の負側の部分は正側に極性が反転
されて出力される。そして、波形信号W1の正側のとき論
理「1」、負側のとき論理「0」となるシリアルゼロク
ロス信号ZCRが同時に出力される。なお、これも当然6
弦分が時分割多重化されており、順次パルスΦ1に同期
する部分が第1弦に対応する。
そこで、第9図又は第10図のピーク検出回路901で
は、上記のように正側と負側が共に正側の極性として混
在して入力してくるデジタル波形信号D1に対して、シリ
アルゼロクロス信号ZCRを判定することにより、正側と
負側で第11図に示した別々のタイミングで個別に処理を
行う。
このために、第12図に示すように、まず、順次パルス
Φ1の立ち上がりに同期した1ずつ増加する整数値n=
n1、n2、n3、・・・で表わされる離散的な時刻を考え
る。なお、実際の時刻は、上記整数値に順次パルスΦ1
の周期を乗じた値となる。
そして、デジタル波形信号D1のうち上記離散時刻n毎
に入力する第1弦に対応する時分割信号をx(n)と
し、これを便宜上第12図に示すように正側処理波形と負
側処理波形に分けて表わす。なお、同図では代表的にx
(n2)(正側)、x(n8)(負側)のみ記入してあるが
他の棒グラフ的に示した部分も同様である。また、順次
パルスΦ1に同期する1弦に対応するシリアルゼロクロ
ス信号をz(n)とする。同図では代表的にz(n2)、
z(n7)のみ記入してあるが他の棒グラフ的に示した部
分も同様である。
更に、上記離散時刻n毎にシフトレジスタ1001から出
力される第1弦に対応する記憶値1027のうち、順次パル
スΦ1が論理「1」となる前半部分に同期して出力され
る正側に対応する記憶値をp(n)、同じく後半部分に
同期して出力される負側に対応する記憶値をq(n)と
する。同図では代表的にp(n7)(正側),q(n11
(負側)のみ記入してあるが、他のプロット「・」で示
した部分も同様である。
<第1弦正側の処理> 上記第12図を用いて、まず、デジタル波形信号x
(n)の正側に対する処理について説明を行う。この処
理は、第11図に既に示したように順次パルスΦ1が論理
「1」となるタイミングの前半部分で行われる。以下、
特記しない限り全てこのタイミングでの処理であるとす
る。
今、第10図のシフトレジスタ1001の記憶値1027は、始
めて全て0であるとし、離散時刻n1において第12図に示
すような正のデジタル波形信号x(n1)が入力したとす
る。これにより、第10図の比較器1004では、A入力>B
入力となるため、その出力は論理「1」を出力し、イン
バータ1010の出力は論理「0」となる。また、このとき
シリアルゼロクロス信号z(n1)は論理「1」となって
おり、順次パルスΦ1が論理「1」となるタイミングの
前半部分は、第11図に示すようにAD変換クロックADCKも
論理「1」であるため、第10図の排他論理和回路1012の
出力は論理「0」となる。
これにより、オアゲート1011の出力は論理「0」とな
って、データ切替スイッチ1005が端子B側に接続され、
アンドゲート1006〜1009がオフとなる。従って、同スイ
ッチ1005を介して、第12図のn1におけるデジタル波形信
号x(n1)が、シフトレジスタ1201の上位8ビット(整
数部分)に記憶される。
なお、この記憶動作は、第11図の順次パルスΦ1が論
理「1」となるタイミングの前半部分と後半部分の境界
で、タイミング信号MO5が立ち上がるのに同期して行わ
れるため、第11図のようにデジタル波形信号D1=x
(n1)が、AD変換器533(第5図)の変換時間Δtだけ
遅延して入力しても問題はない。
これと同時に、比較器1004の出力及びシリアルゼロク
ロス信号z(n1)(ZCR)が共に論理「1」となること
により、第11図に示すAD変換クロック信号ADCKとタイミ
ング信号Q5が同時に論理「1」となるタイミングでアン
ドゲート1024がオンとなり、更に、順次パルスΦ1が論
理「1」となっていることにより第11図に示すようにア
ンドゲートAND1bの出力が論理「1」となって、フリッ
プフロップFF1aがセットされる。これにより、離散時刻
n1の順次パルスΦ1が論理「1」となる前半部分の最後
のタイミングで、フリップフロップFF1aの出力である第
1弦に対応する最大ピーク値検出信号MAX1が第12図に示
すように論理「1」に立ち上がる。
続いて、シフトレジスタ1001がタイミング信号MO5の1
2クロック分シフトされ、第12図の離散時刻n2におい
て、同図に示すような前回(離散時刻n1)より大きな値
のデジタル波形信号x(n2)が入力したとする。これと
同時に、シフトレジスタ1001から出力される記憶値p
(n2)は、前回におけるデジタル波形信号x(n1)に等
しい。即ち、p(n2)=x(n1)である。従って、この
場合も第10図の比較器1004は論理「1」を出力し、排他
論理和回路1012の出力も前回と同じく論理「0」を出力
する。これにより、前回と同様にデータ切替スイッチ10
05を介してデジタル波形信号x(n2)がシフトレジスタ
1001に記憶される。
上記動作は離散時刻n3においても同様であり、デジタ
ル波形信号x(n3)がシフトレジスタ1001に記憶され
る。
続いて、離散時刻n4にデジタル波形信号x(n4)が入
力し、これと同時にシフトレジスタ1001から記憶値p
(n4)=x(n3)=a0が出力される。この場合には、x
(n4)<p(n4)となるため、比較器1004の出力は論理
「0」となる。そして、この出力はアンドゲート1023に
負論理で入力し、同時にシリアルゼロクロス信号z
(n1)(ZCR)の論理「1」がアンドゲート1023に入力
することにより、AD変換クロック信号ADCKと第11図に示
すタイミング信号Q5が同時に論理「1」となるタイミン
グでアンドゲート1023がオンとなり、更に、順次パルス
Φ1が論理「1」となっていることによりアンドゲート
AND1aの出力が論理「1」となって、フリップフロップF
F1aがリセットされる。これにより、離散時刻n4の順次
パルスΦ1が論理「1」となる前半部分の最後のタイミ
ングで、フリップフロップFF1aの出力である第1弦に対
応する最大ピーク値検出信号MAX1が論理「0」に立ち下
がる。
上記のように、第1弦のデジタル波形信号x(n)と
して第12図に示すごとく最大ピーク値x(n3)=a0が入
力した1離散時刻後のn4に、第1弦の最大ピーク値検出
信号MAX1が論理「0」に立ち下がることにより、最大ピ
ーク値a0の入力タイミングを検出できる。なお、検出タ
イミングが1離散時刻だけ遅れるのは、第9図の波高値
取込回路903において、上記最大ピーク値a0を取り込む
場合に必要となるものであり、これについては「波高値
取込回路の説明」の項において後述する。
一方、上記動作と同時に、第12図の離散時刻n4におい
て比較器1004のデジタルが論理「0」となることによ
り、インバータ1010を介してオアゲート1011が論理
「1」を出力するため、データ切替スイッチ1005が端子
A側に接続され、アンドゲート1007〜1009がオンとな
る。従って、シフトレジスタ1001には減算器1002の出力
端子Sからの12ビットの出力が記憶される。
今、ある離散時刻nにおいてシフトレジスタ1001から
出力される記憶値p(n)に対して、減算器1002の入力
端子Aの入力値はp(n)である。また、シフト1003で
1/256の除算が行われるとすれば(1/16の場合について
は後述する)、減算器1002の入力端子Bの入力値はp
(t)/256となるため、出力端子Sからの出力値は、 p(n)−p(n)/256=(1−1/256)・p(n) ……(1) となる。なお、減算器1002のキャリー入力端子CINに常
時″1″が与えられ、入力端子Aの値から入力端子Bの
値を引き、更に1を引くことが減算器1002で実際には行
われる。これは、入力端子Bへの値が0となった以降も
シフトレジスタ1001の値を減少してゆかねばらず、その
ため、常時1を引くようにして、解決している。従っ
て、上式(1)ならびに以下に示す式は、“−1"の分だ
け違ってくるが、値が小さいので、無視して説明するこ
とにする。前記減算器1002の出力値はデータ切替スイッ
チ1005及びアンドゲート1006〜1009を介してシフトレジ
スタ1001に入力し、1離散時刻後のn+1にその出力側
に出力値p(n+1)として現われるため、前記(1)
式より、 p(n+1)=(1−1/256)・p(n) ……(2) の関係が成り立つ。
ここで、前記したように、離散時刻n4において減算器
1002の出力端子Sからの12ビットの出力がシフトレジス
タ1001に記憶されるとすれば、その記憶値は前記(1)
式にp(n4)=x(n3)=a0を代入することにより、
(1−1/256)・a0となる。従って、n4以降の各離散時
刻n毎に、減算器1002及びシフタ1003による上記動作が
繰り返されるとすれば、そのときのシフトレジスタ1001
の各出力値p(n)は前記(2)式より、 p(n)=(1-1/256)n-n3・a0 ……(3) と表わされる。
なお、このときゲート1013は、ゲート制御回路1014内
のオアゲート1016、1021を介して、順次パルスΦ1が論
理「1」となる毎に論理「1」となる制御信号PRによっ
て、各離散時間n毎にシフトレジスタ1001の出力x
(n)をシフタ1003に入力させており、これにより上記
(3)式の計算が成立する。このゲート1013及びゲート
制御回路1014の働きについては後に詳述する。
前記(3)式で求まる出力値p(n)は、第12図の各
離散時刻n4、n5、n6毎にp(n4)、p(n5)、p(n6
として、比較器1004の入力端子Bに順次入力することに
より、入力端子Aに順次入力するデジタル波形信号x
(n4)、x(n5)、x(n6)と比較される。そして、こ
れらのデジタル波形信号が第12図のようにシフトレジス
タ1001からの上記各出力値より小さければ、比較器1004
の出力は各離散時刻毎に論理「0」を出力し、データ切
替スイッチ105及びアンドゲート1006〜1009を介して減
算器1002の出力がシフトレジスタ1001に入力される動作
が繰り返される。これにより、シフトレジスタ1001の出
力値p(n)は、上記(3)式に従って変化し、第12図
に示すように最大ピーク値a0から指数関数的に減衰する
特性を有する。
上記のように離散時間n4以後、指数関数的に減衰する
特性を有するシフトレジスタ1001の出力値p(n)が第
1弦に対応する正側のデジタル波形信号x(n)の最大
ピーク値を検出するためのしきい値信号となる。
続いて、第12図に示すように離散時間n7〜n12におい
て、第1弦の元の波形信号W1が負となる場合には、入力
するデジタル波形信号x(n7)〜x(n12)としては、
同図に示すように負側の信号を正側に折り返した形の正
極性の信号が入力してくる。そして、このような負側の
波形は、後述するように順次パルスΦ1が論理「1」と
なる後半部分において処理される(第1図参照)。従っ
て、離散時間n7〜n12の順次パルスΦ1が論理「1」と
なる前半部分において、シフトレジスタ1001から出力さ
れる正側のしきい値信号p(n)は、デジタル波形信号
x(n)と比較されることなく、減算器1002及びシフタ
1002で前記した減衰動作のみが行われて、シフトレジス
タ1001への記憶が繰り返される必要がある。ここで、離
散時刻n7〜n12の順次パルスΦ1が論理「1」となる前
半部分においては、第1弦対応のシリアルゼロクロス信
号z(n7)〜z(n12)は、負側であることを示し論理
「0」となり、また、AD変換クロック信号ADCKが論理
「1」(第11図参照)となることより、排他論理和回路
1012の出力ひいてはオアゲート1011の出力が論理「1」
となる。これにより、データ切替スイッチ1005が端子A
側に接続され、アンドゲート1006〜1009がオンとなっ
て、減算器1002の出力がシフトレジスタ1001に記憶され
る。
上記のように、負側のデジタル波形信号x(n7)〜x
(n12)が入力してくる間も、シフトレジスタ1001から
出力される正側のしきい値信号p(n7)〜p(n12)は
減衰を続け、その後離散時刻n13から再び正側のデジタ
ル波形信号x(n13)、・・・が入力する。
そして、第12図の離散時刻n14において、デジタル波
形信号x(n14)がシフトレジスタ1001からのしきい値
信号p(n14)より大きくなると、比較器1004の出力が
論理「1」に変化し、前記離散時刻n1の場合と同様にし
て、デジタル波形信号x(n14)がデータ切替スイッチ1
005を介してシフトレジスタ1001に入力され次の離散時
刻n15の記憶値p(n15)となる。これと同時に、離散時
刻n1の場合と同様にしてフリップフロップFF1aがセット
され、第1弦の最大ピーク値検出信号MAX1が第12図に示
すように論理「1」に立ち上がる。
その後、第12図において離散時間n15でも同様に新た
なデジタル波形信号x(n15)がシフトレジスタ1001へ
の記憶値p(n16)となる。
そして、第12図の離散時間n16になると、デジタル波
形信号x(n16)がシフトレジスタ1001の出力値p
(n16)=x(n15)=a1を下まわるため、比較器1004の
出力が論理「0」に変化し、前記離散時刻n4の場合と同
様にして、減算器1002からの出力がシフトレジスタ1001
への記憶値となる。これと同時に、離散時刻n4の場合と
同様にしてフリップフロップFF1aがリセットされ、第1
弦の最大ピーク値検出信号MAX1が第12図に示すように論
理「0」に立ち下がる。これにより、最大ピーク値a1
入力タイミングを検出できる。
そして、第12図の離散時刻n16の以後、最大ピーク値a
1から再び指数的に減衰するしきい値信号p(n17)、p
(n18)、・・・がシフトレジスタ1001から得られる。
この場合、p(n)は前記(3)式に準じて、 p(n)=(1-256)n-n15・a1 ……(4) となる。
以上の動作を順次パルスΦ1が論理「1」となる前半
部分(第11図参照)で繰り返すことにより、第1弦に対
応する正側のデジタル波形信号x(n)から、最大ピー
ク値a0、a1、・・・の入力タイミングを最大ピーク値検
出信号MAX1が論理「1」から論理「0」に立ち上がるタ
イミングとして検出することができる。
<第1弦負側の処理> 次に、第12図の第1弦のデジタル波形信号x(n)の
負側の最小ピーク値の入力タイミングを検出する処理に
ついて説明を行う。この処理は、第11図に既に示したよ
うに、順次パルスΦ1が論理「1」となるタイミングの
後半部分で行われる。以下、特記しない限り全てのこの
タイミングでの処理であるとする。
まず、第12図の離散時刻n1〜n5においては、正側のデ
ジタル波形信号x(n1)〜x(n6)が入力しているた
め、シリアルゼロクロス信号z(n1)〜z(n6)は論理
「1」であり、順次パルスΦ1が論理「1」となる後半
部分は、第11図に示すようにAD変換クロック信号ADCKは
論理「0」である。従って、排他論理和回路1012の出力
ひいてはオアゲート1011の出力は論理「1」となり、デ
ータ切替スイッチ1005は端子A側に接続され、アンドゲ
ート1001〜1009はオンとなるため、減算器1002の出力が
シフトレジスタ1001に入力する。ここで、シフトレジス
タ1001の記憶値p(n)は始め0であるとすれば、減算
器1002の出力も0であり、従って、離散時刻n1〜n6のシ
フトレジスタ1001からの負側の出力値q(n1)〜q
(n6)は、第12図に示すように0である。
続いて、離散時刻n7において負側のデジタル波形信号
x(n7)が入力する。これにより、第10図の比較器1004
ではA入力>B入力となるため、その出力は論理「1」
を出力し、インバータ1010の出力は論理「0」となる。
また、このときシリアルゼロクロス信号z(n1)は論理
「0」となっており、順次パルスΦ1が論理「1」とな
るタイミングの後半部分は、第11図に示すようにAD変換
クロックADCKも論理「0」であるため、第10図の排他論
理和回路1012の出力は論理「0」となる。
これにより、オアゲート1011の出力は論理「0」とな
って、データ切替スイッチ1005が端子B側に接続され、
アンドゲート1006〜1009がオフとなる。従って、同スイ
ッチ1005を介して、第12図のn7におけるデジタル波形信
号x(n7)が、シフトレジスタ1001の上位8ビット(整
数部分)に記憶される。
なお、この記憶は、第11図の順次パルスΦ1が論理
「1」から論理「0」に変化する境界で、タイミング信
号MO5が立ち上がるのに同期して行われるが、このタイ
ミングにおいては第11図のようにデジタル波形信号D1=
x(n7)が、AD変換器533(第5図)の変換時間Δtだ
け遅延して入力しているため、順次パルスΦ1の境界に
おいても充分に余裕をもってシフトレジスタ1001への記
憶を行うことができる。
これと同時に、比較器1004の論理「1」の出力及び第
11図のタイミング信号Q5の論理「1」がアンドゲート10
26に正論理で入力し、シリアルゼロクロス信号z(n7
(ZCR)の論理「0」の出力及び第11図のAD変換クロッ
ク信号ADCKの論理「0」がアンドゲート1026に負論理で
入力するタイミングでアンドゲート1026がオンとなり、
更に、順次パルスΦ1が論理「1」となっていることよ
り第11図に示すようにアンドゲンートAND1dの出力が論
理「1」となって、フリップフロップFF1bがセットされ
る。これにより、離散時刻n7の順次パルスΦ1が論理
「1」となる後半部分の最後のタイミングで、フリップ
フロップFF1bの出力である第1弦に対応する最小ピーク
値検出信号MIN1が第12図に示すように論理「1」に立ち
上がる。
続いて、離散時刻n8において、同図に示すような前回
(離散時刻n7)より大きな値のデジタル波形信号x
(n8)が入力したとする。これと同時に、シフトレジス
タ1001から出力される記憶値q(n8)は、前回における
デジタル波形信号x(n7)に等しい。即ち、q(n8)=
x(n7)である。従って、この場合も第10図の比較器10
04は論理「1」を出力し、排他論理和回路1012の出力も
前回と同じく論理「0」を出力する。これにより、前回
と同様にデータ切替スイッチ1005を介して、デジタル波
形信号x(n8)がシフトレジスタ1001に記憶される。
上記動作は離散時刻n9においても同様であり、デジタ
ル波形信号x(n9)がシフトレジスタ1001に記憶され
る。
続いて、離散時刻n10にデジタル波形信号x(n10)が
入力し、これと同時に、シフトレジスタ1001から記憶値
q(n10)=x(n9)=b0が出力される。この場合に
は、x(n10)<q(n10)となるため、比較器1004の出
力は論理「0」となる。そして、この出力とシリアルゼ
ロクロス信号z(n10)(ZCR)の論理「0」の出力及び
第11図のAD変換クロック信号ADCKの論理「0」の3つの
信号がアンドゲート1025に負論理で入力し、第11図のタ
イミング信号Q5の論理「1」がアンドゲート1026に負論
理で入力するタイミングでアンドゲート1025がオンとな
り、更に、順次パルスΦ1が論理「1」となっているこ
とよりアンドゲートAND1cの出力が論理「1」となっ
て、フリップフロップFF1bがリセットされる。これによ
り、離散時刻10の順次パルスΦ1が論理「1」となる後
半部分の最後のタイミングで、フリップフロップFF1bの
出力である第1弦に対応する最小ピーク値検出信号MIN1
が論理「0」に立ち下がる。
上記のように、第1弦のデジタル波形信号x(n)と
して第12図に示すごとく最小ピーク値x(n9)=b0が入
力した1離散時刻後のn10に、第1弦の最小ピーク値検
出信号MIN1が論理「0」に立ち下がることにより、最小
ピーク値b0の入力タイミングを検出できる。なお、検出
タイミングが1離散時刻だけ遅れるのは、前記最大ピー
ク値検出信号MAX1の場合と同様の理由によるものであ
り、これについては「波高値取込回路の説明」の項にお
いて後述する。
一方、上記動作と同時に第12図の離散時刻n10におい
て比較器1004の出力が論理「0」となることにより、イ
ンバータ1010を介してオアゲート1011が論理「1」を出
力するため、データ切替スイッチ1005が端子A側に接続
され、アンドゲート1007〜1009がオンとなる。従って、
シフトレジスタ1001には減算器1002の出力端子Sからの
12ビットの出力が記憶される。
次に、第12図の離散時間n10以後のn11、n12では、減
算器1002及びシフトレジスタ1003において前記正側の場
合と全く同様の動作が行われ、最小ピーク値b0から指数
的に減衰するしきい値信号q(n11)、q(n12)がシフ
トレジスタ1001から得られる。この場合、q(n)は前
記(3)式又は(4)式に準じて、 q(n)=(1/256)n-n9・b0 ……(5) となる。
更に、第12図に示すように離散時間n13〜n18におい
て、第1弦の元の波形信号W1が正となる場合には、前記
正側の処理において波形信号W1が負となる場合と全く逆
である。従って、離散時間n13〜n18の順次パルスΦ1が
論理「1」となる後半部分において、シフトレジスタ10
01から出力される負側のしきい値信号q(n)は、デジ
タル波形信号x(n)と比較されることなく、減算器10
02及びシフタ1002で前記した減衰動作のみが行われて、
シフトレジスタ1001への記憶繰り返される必要がある。
ここで、離散時刻n13〜n18の順次パルスΦ1が論理
「1」となる後半部分においては、第1弦対応のシリア
ルゼロクロス信号z(n13)〜z(n18)は、正側である
ことを示す論理「1」となり、また、AD変換クロック信
号ADCKが論理「0」(第11図参照)となることより、排
他論理和回路1012の出力ひいてはオアゲート1011の出力
が論理「1」となる。これによりデータ切替スイッチ10
05が端子A側に接続され、アンドゲート1006〜1009がオ
ンとなって、減算器1002の出力がシフトレジスタ1001に
記憶される。
上記のように、正側のデジタル波形信号x(n13)〜
x(n18)が入力してくる間も、シフトレジスタ1001か
ら出力される負側のしきい値信号q(n13)〜q(n18
は減衰を続け、その後、離散時刻n19から再び負側のデ
ジタル波形信号x(n19)、・・・が入力する。
そして、第12図の離散時刻n20において、デジタル波
形信号x(n20)がシフトレジスタ1001からのしきい値
信号q(n20)より大きくなると、比較器1004の出力が
論理「1」に変化し、前記離散時刻n7の場合と同様にし
て、デジタル波形信号x(n20)がデータ切替スイッチ1
005を介してシフトレジスタ1001に入力され次の離散時
刻n21の記憶値q(n21)となる。これと同時に、離散時
刻n7の場合と同様にしてフリップフロップFF1bがセット
され、第1弦の最小ピーク値検出信号MIN1が第12図に示
すように論理「1」に立ち上がる。
その後、第12図において離散時間n21でも同様に新た
なデジタル波形信号x(n21)がシフトレジスタ1001へ
の記憶値q(n22)となる。
そして、第12図の離散時間n22になると、デジタル波
形信号x(n22)がシフトレジスタ1001の出力値をq(n
22)=x(n21)=b1を下まわるため、比較器1004の出
力が論理「0」に変化し、前記離散時刻n10の場合と同
様にして、減算器1002からの出力がシフトレジスタ1001
への記憶値となる。これと同時に、離散時刻n10の場合
と同様にしてフリップフロップFF1bがリセットされ、第
1弦の最小ピーク値検出信号MIN1が第12図に示すように
論理「0」に立ち下がる。これにより、最小ピーク値b1
の入力タイミングを検出する検出できる。
そして、第12図の離散時刻n22の以後は、特には図示
しない最小ピーク値b1から再び指数的に減衰するしきい
値信号q(n)がシフトレジスタ1001から得られる。こ
の場合、q(n)は前記(3)〜(5)式に準じて、 q(n)=(1-1/256)n-n21・b1 ……(6) となる。
以上の動作を順次パルスΦ1が論理「1」となる後半
部分(第11図参照)で繰り返すことにより、第1弦に対
応する負側のデジタル波形信号x(n)から、最小ピー
ク値b0、b1の入力タイミングを最小ピーク値検出信号MI
N1が論理「1」から論理「0」に立ち下がるタイミング
として検出することができる。
以上のようにして、第1弦の正側及び負側が正極性と
して混在して入力するデジタル波形信号x(n)に対し
て、順次パルスΦ1が論理「1」となる前半部分と後半
部分で個別に処理を行うことにより、第12図に示す正側
のピーク値である最大ピーク値a0、a1、・・・の各入力
タイミング及び負側のピーク値である最小ピーク値b0
b1、・・・の各入力タイミングを、第1弦の最大ピーク
値検出信号MAX1及び1弦の最小ピーク値検出信号MIN1と
して検出することができる。
ここで、第13図(a)に示すように、第1弦に対応す
るデジタル波形信号D1=x(n)(同図では、便宜上連
続的な波形として示してある)には、同図の斜線のハッ
チで示すように2倍音のピーク成分が含まれている。こ
のような場合でも、シフトレジスタ1001の出力1027であ
る第1弦正側のしきい値p(n)及び負側のしきい値q
(n)がゆっくりと指数関数的に減衰するため、上記の
ような擬似的なピーク成分のタイミングを抽出しない
で、各周期のピークタイミングのみを正確に抽出するこ
とができる。
また、第13図(b)のようにデジタル波形信号D1=x
(n)の振幅が小さい場合でも、前記(1)〜(6)式
に準じて各自の振幅値に基づいてしきい値p(n)、q
(n)が決定できるため、各ピッチ周期ピークタイミン
グを正確に抽出することができる。
<他の弦に対する処理> 上記のように、デジタル波形信号D1のうち第1弦に対
応するものは、第11図に示したように順次パルスΦ1が
論理「1」となるタイミングで処理され、更に、その前
半部分では正側に対する処理、後半部分では負側に対す
る処理が行われる。
一方、デジタル波形信号D1の他の第2弦〜第6弦に対
応するものについては、各順次パルスΦ2〜Φ6が論理
「1」となる各タイミングで時分割処理され、その詳細
な処理タイミングが異なるだけで第1弦の場合と全く同
様であり、第11図に示すように、各時分割タイミングの
前半部分では各弦対応のデジタル波形信号の正側に対す
る処理、後半部分では同じく負側に対する処理が行われ
る。
この場合、第2弦〜第6弦に対応する各最大ピーク値
検出信号MAX2〜MAX6の検出動作は、i=2〜6として各
フリップフロップFFia、リセット用アンドゲートANDia
及びセット用アンドゲートANDibが、第1弦に対応するF
F1a、AND1a、AND1bと全く同様に動作することにより実
現される。同様に、各最小ピーク値検出信号MIN2〜MIN6
の検出動作も、各フリップフロップFFib、リセット用ア
ンドゲートANDic及びセット用アンドゲートANDidが、第
1弦に対応するFF1a、AND1c、AND1dと全く同様に動作す
ることにより実現される。
ただし、上記動作において、第10図の減算器1002及び
シフタ1003における前記(1)、(6)式に示したよう
な減算動作は、各弦毎に多少異なった動作をする。これ
は、ゲート1013及びゲート制御回路1014の働きによるも
のであり、以下にこれらの動作につき説明を行う。
今、第10図のゲート制御回路1014において、各順次パ
ルスΦ1、Φ2はオアゲート1016、1021を介してそのま
ま制御信号PRとしてゲート1013を制御する。これによ
り、ゲート1013をオンにする制御信号PRの第1弦及び第
2弦に対する各タイミングPR(1弦)及びPR(2弦)
は、第14図のように各順次パルスΦ1、Φ2が論理
「1」となるサイクルと同じである。
一方、オアゲート1017に入力される各順次パルスΦ
3、Φ4は、アンドゲート1019を介して出力されるた
め、カウンタ1015の下位ビット出力端子QAからの出力が
論理「1」である周期のみ出力される。今、カウンタ10
15の各出力端子QA、QBからの各出力の論理は、順次パル
スΦ1の立ち上がりのタイミングに同期してその周期幅
で(0、0)、(0、1)、(1、0)、(1、1)、
(0、0)、・・・とサイクリックに変化する。従っ
て、ゲート1013をオンにする制御信号PRの第3弦及び第
4弦に対する各タイミングPR(3弦)及びPR(4弦)
は、第14図のように各順次パルスΦ3、Φ4が論理
「1」となるサイクルに対して、2サイクルに1回とな
る。
更に、オアゲート1018に入力される各順次パルスΦ
5、Φ6は、アンドゲート1020を介して出力されるた
め、カウンタ1015の上位ビット出力端子QB及び下位ビッ
ト出力端子QAからの各出力が共に論理「1」である周期
のみ出力される。従って、ゲート1013をオンにする制御
信号PRの第5弦及び第6弦に対する各タイミングPR(5
弦)及びPR(6弦)は、第14図のように各順次パルスΦ
5、Φ6が論理「1」となるサイクルに対して、4サイ
クルに1回となる。
上記動作により、第1弦と第2弦については、各順次
パルスΦ1、Φ2に同期した各サイクル毎に、シフタ10
03による除算動作及び減算器1002による減算動作1002が
なされて、前記(1)〜(6)式に準じたしきい値計算
が行われる。また、第3弦と第4弦については、各順次
パルスΦ3、Φ4に同期したサイクルの2サイクルに1
回上記しきい値計算が行われる。そして、ゲート1013が
オフとなるサイクルでは、シフタ1003の出力が0となる
ため、シフトレジスタ1001からの出力1027は減算器1002
を素通りして、しきい値の値は変化しない。更に、第5
弦と第6弦については、各順次パルスΦ5、Φ6に同期
したサイクルの4サイクルに1回上記しきい値計算が行
われ、ゲート1013がオフとなるサイクルでは、上記と同
様しきい値の値は変化しない。
従って、第12図のp(n)、q(n)等として示した
シフタ1001の出力値1027であるしきい値信号の減衰率
は、第1弦・第2弦に対しては大、第3弦・第4弦に対
しては中、第5弦・第6弦に対しては小となる。これ
は、高音側即ち第1弦側の弦振動周期は短く、低音側即
ち第6弦側の弦振動周期は長いため、各弦振動周期に合
わせて上記しきい値信号が減衰するようにしたものであ
る。
(時定数変換制御回路の説明) 次に、第3図のピッチ抽出デジタル部304を構成する
第9図の時定数変換制御回路904について説明を行う。
《概略説明》 ここでは、第9図のピーク検出回路901内の第10図で
説明したシフタ1003での除算率を変更するための時定数
チェンジ信号GXを生成し、これにより第12図、第13図等
において説明したしきい値信号p(n)、q(n)の減
衰率(時定数)を変更する。即ち、しきい値信号p
(n)、q(n)の減衰率を、後述するように状況に応
じて変更することにより、第9図のピーク検出回路901
における最大・最小ピークのタイミングを正確に抽出で
きるように働く。
《構成》 第15図は、第9図の時定数変換制御回路904の具体的
な回路構成図であり、同図では第1弦に対応する一回路
分のみ示されているが、実際にはこれと同じものが全部
で6回路分ある。
レジスタ1501には、第3図のMCP301から特には図示し
ない制御線を介して書き込み信号▲▼が入力する
ことにより、同じくMCP301からバスBUS(第3図又は第
9図参照)を介して、後述する周期データが書き込まれ
る。
一方、ピーク検出回路901(第9図及び第10図参照)
からの最大ピーク値検出信号MAX1及び最小ピーク値検出
信号MIN1は、各々インバータ1506及び1507を介してラッ
チ1508及び1509並びにタイマー1502及び1504の各クリア
端子▲▼に入力し、MAX1及びMIN1が各々論理「1」
から「0」に変化するときにクリアされる。
タイマー1502及び1504の各々8ビットの計時出力は、
コンパレーター1505及び1503の端子Aに入力される。こ
こでは、端子Bにレジスタ1501からの周期データが入力
されることにより、各端子の入力値が比較され、端子A
と端子Bの両入力が一致したときに論理「1」を出力
し、これらが各々Dフリップフロップ1508及び1509の各
クロック端子CKに入力する。
Dフリップフロップ1508及び1509の各D入力端子には
論理「1」のレベルの電圧VDDが印加されており、ここ
では、各クロック端子CKへの上記入力が論理「1」とな
るタイミングで、各出力Qが論理「1」となる。
そして、Dフリップフロップ1508の出力Qは、アンド
ゲート1510に入力し、第9図のタイミングジェネレータ
905からの順次パルスΦ1が論理「1」となる前半部分
即ち同じくタイミングジェネレータ905からのAD変換ク
ロック信号ADCKが論理「1」となるタイミング(第11図
参照)で、その出力が論理「1」となり、オアゲート15
12、1513を介して時定数チェンジ信号GXとして、第10図
のシフター1030に与えられる。
一方、Dフリップフロップ1509の出力Qはアンドゲー
ト1511に入力し、順次パルスΦ1が論理「1」となる後
半部分即ちAD変換クロック信号ADCKが論理「0」となる
タイミング(第11図参照、アンドゲート1511には負論理
で入力する)で、その出力が論理「1」となり、オアゲ
ート1512、1513を介して前記と同様時定数チェンジ信号
GXとして、第10図のシフタ1003に与えられる。
なお、第15図で特には図示しない第2弦〜第6弦に対
応する回路では、第15図のΦ1の代わりに第9図のタイ
ミングジェネレータ905からΦ2〜Φ6が各々入力し、M
AX1、MIN1の代わりに第9図又は第10図のピーク検出回
路901からMAX2〜MAX6、MIN2〜MIN6が各々入力し、▲
▼の代わりに第3図のMCP301から特には図示しない
制御線を介して▲▼〜▲▼が入力する。
《動作》 上記構成の第9図又は第15図の時定数変換制御回路90
4の動作につき以下に説明を行う。
前記「ピーク検出回路の説明」の「第1弦正側の処
理」又は「第1弦負側の処理」の項において説明したよ
うに、第9図又は第10図のピーク検出回路901では、第1
2図又は第13図に示したごとく、第1弦の前回の最大・
最小ピーク値から1/256の割合でゆっくりと減衰する第
1弦対応のしきい値信号p(n)又はq(n)(前記
(1)〜(6)式参照)と、第1弦のデジタル波形信号
D1=x(n)とを比較することにより、x(n)が次に
p(n)又はq(n)を越えた時点で、第1弦の今回の
最大・最小ピーク値を含む波形の山のタイミングを検出
していた。この動作は、他の弦についても時分割で同様
に処理されていた。
しかし、デジタル波形信号D1の各弦に対応する波形の
立ち上がり時には、その波形の振動を速やかに検知すべ
く、各弦の発生しうる最高音の周期時間(最高音に対応
する第1図のフレット103上で各弦を押圧したことに対
応する周期)が経過した後は前記各弦対応のしきい値信
号が急速に減衰するように各弦対応のしきい値信号の減
衰率を設定し、その直後は、各ピッチ周期(各弦毎のデ
ジタル波形信号の振動周期)の倍音を拾わないように、
各弦の開放弦に対応する周期(最低音周期)時間が経過
した後に前記各弦対応のしきい値信号が急速減衰するよ
うに設定し、更に、第3図のMCP301において後述する動
作により各弦毎のピッチ周期(リアルタイムに変化しう
る)が有効に抽出された後は、当該ピッチ周期時間が経
過した後に前記各弦対応のしきい値信号が急速減衰する
ように設定すると、各弦対応のデジタル波形信号D1から
各ピッチ周期毎の最大・最小ピーク値のタイミングを最
も正確に検出できることが実験的にわかっている。
<最高音周期時間での第1弦正側の処理> そこで、上記各動作を実現するために、まず、前記第
12図等で説明した動作に従って、第16図の離散時刻naに
おいて第1弦正側の最大ピーク値検出信号AMX1が論理
「0」に立ち下がって、第1弦のデジタル波形信号x
(n)から最初の最大ピーク値のタイミングが検出され
ると、第3図のMCP301が後述する動作(第21図のM1の説
明参照)によりこれを認識した後、MCP301は第15図のレ
ジスタ1501に特には図示しない制御線を介して書き込み
信号▲▼を供給することにより、バスBUS(第3
図又は第9図参照)を介して第1弦に対応する最高音周
期時間をセットする。これと同時に、第1弦の最大ピー
ク値検出信号が論理「0」に立ち下がるタイミングで、
第15図のインバータ1506を介してタイマー1502がクリア
され、計時がスタートする。
上記離散時刻na以後、第9図又は第10図のピーク検出
回路901では、第16図に示すように1/256の割合でゆっく
りと減衰する第1弦正側対応しきい値信号p(n)が生
成され、第1弦正側のデジタル波形信号x(n)との比
較が行われるが、これと並行して第15図のコンパレータ
1503において、端子Aに入力するタイマー1502の離散時
刻na(第16図)からの計時出力と、端子Bに入力するレ
ジスタ1501からの第1弦対応の最高音周期時間とが比較
される。
そして、第16図において、離散時刻naから第1弦対応
の最高音周期時間だけ経過した離散時刻ncになると、第
15図のコンパレータ1503が端子Aと端子Bの各入力の一
致を検出し、その出力が論理「1」に立ち上がる。そし
てこのタイミングで、第15図のDフリップフロップ1508
にD入力端子の論理「1」のレベルがセットされ、その
出力Qが第16図に示すように論理「1」に立ち上がる。
続いて、この直後の第16図に示す離散時刻ndにおい
て、順次パルスΦ1が論理「1」となる前半部分即ちAD
変換クロック信号ADCKが論理「1」となるタイミング
で、アンドゲート1510がオンとなり、オアゲート1512、
1513を介して出力される時定数チェンジ信号GXが第16図
に示すように論理「1」に立ち上がる。
上記時定数チェンジ信号GXは、第9図のピーク検出回
路901内のシフタ1003(第10図)に入力するが、上記に
示したタイミングは第11図に示したように、ピーク検出
回路901がちょうど第1弦の正側の処理をする時分割タ
イミングに一致する。従って、上記動作により第10図の
シフタ1003での1/256の除算動作が1/16の除算動作に切
り替えられ、これにより、第10図の減算器1002の出力端
子Sから出力される第1弦正側対応のしきい値信号p
(n)の減衰率が大きくなる。そして、この状態は、離
散時刻nd以降順次パルスΦ1が論理「1」となりその前
半でAD変換クロック信号ADCKが論理「1」となるタイミ
ング毎に繰り返され、その都度時定数チェンジ信号GXが
論理「1」となる(第16図では省略してある)。従っ
て、第1弦正側対応のしきい値信号p(n)の減衰率
は、離散時刻nd以後大きくなり、第16図に示すように急
速に減衰する。これは、前記「ピーク検出回路の説明」
の「第1弦正側の処理」の項において示した(1)〜
(4)式等の1/256の項が1/16に変更されたことより明
らかである。
上記の動作により、離散時刻nd以後、第9図又は第10
図のピーク検出回路901では、第16図に示すように、1/1
6の割合で急速に減衰する第1弦正側対応のしきい値信
号p(n)と、第1弦正側のデジタル波形信号x(n)
との比較が行われ、離散時刻neにおいて同図に示すよう
に、次の第1弦対応の最大ピーク値を含む波形の山のタ
イミングが確実に検出され、第1弦対応の最大ピーク値
検出信号MAX1が論理「1」に立ち上がる。そして、続く
離散時刻nfにおいて上記MAX1が論理「0」に立ち下がる
タイミングとして、次の第1弦対応の最大ピーク値のタ
イミングを抽出できる。
なお、上記MAX1が論理「0」に立ち下がるのと同時
に、第15図のインバータ1506を介してタイマー1502及び
フリップフロップ1508がクリアされ、Dフリップフロッ
プ1508の出力Qは第16図に示すように論理「0」に立ち
下がる。
<最高音周期時間での第1弦負側の処理> 上記動作は、第1弦のデジタル波形信号x(n)の負
側に対しても全く同様に動作する。
即ち、前記第12図等で説明した動作に従って、第16図
の離散時刻nbにおいて第1弦負側の最小ピーク値検出信
号MIN1が論理「0」に立ち下がって、第1弦のデジタル
波形信号x(n)から最初の最小ピーク値のタイミング
が検出されると、このタイミングで第15図のインバータ
1507を介してタイマー1504がクリアされ、計時がスター
トする。
上記離散時刻nb以後、第16図に示すように1/256の割
合でゆっくり減衰する第1弦負側対応のしきい値信号q
(n)と、第1弦負側のデジタル波形信号x(n)との
比較が行われ、これと並行して第15図のコンパレータ15
05において、端子Aに入力するタイマー1504の離散時刻
nb(第16図)からの計時出力と、端子Bに入力するレジ
スタ1501からの第1弦対応の最高音周期時間(これは既
に、離散時刻naでセットされている)とが比較される。
そして、第16図において、離散時刻nbから第1弦対応
の最高音周期時間だけ経過した離散時刻ngになると、第
15図のコンパレータ1505が端子Aと端子Bの各入力の一
致を検出し、その出力が論理「1」に立ち上がる。そし
てこのタイミングで、第15図のDフリップフロップ1509
にD入力端子の論理「1」のレベルがセットされ、その
出力Qが第16図に示すように論理「1」に立ち上がる。
続いて、この直後の第16図に示す離散時刻nhにおい
て、順次パルスΦ1が論理「1」となる後半部分即ちAD
変換クロック信号ADCKが論理「0」となるタイミング
で、アンドゲート1511がオンとなり、オアゲート1512、
1513を介して出力される時定数チェンジ信号GXが第16図
に示すように論理「1」に立ち上がる。
上記に示したタイミングは第11図に示したように、ピ
ーク検出回路901がちょうど第1弦の負側の処理をする
時分割タイミングに一致する。そして、この状態は、離
散時刻nh以後順次パルスΦ1が論理「1」となりその後
半でAD変換クロック信号ADCKが論理「0」となるタイミ
ング毎に繰り返され、その時定数チェンジ信号GXが論理
「1」となる(第16図では省略してある)。従って、第
1弦負側対応のしきい値信号q(n)の減衰率は、離散
時刻nh以後大きくなり、第16図に示すように急速に減衰
する。これは、前記「ピーク検出回路の説明」の「第1
弦負側の処理」の項において示した(5)又は(6)式
等の1/256の項が1/16に変更されたことより明らかであ
る。
上記の動作により、離散時刻nh以後、第16図に示すよ
うに、1/16の割合で急速に減衰する第1弦負側対応しき
い値信号q(n)と、第1弦負側のデジタル波形信号x
(n)との比較が行われ、離散時刻n1において同図に示
すように、次の第1弦対応の最小ピーク値を含む波形の
山のタイミングが確実に検出され、第1弦対応の最小ピ
ーク値検出信号MIN1が論理「1」に立ち上がる。そし
て、続く離散時刻njにおいて上記MIN1が論理「0」に立
ち下がるタイミングとして、次の第1弦対応の最小ピー
ク値のタイミングを抽出できる。
なお、上記MIN1が論理「0」に立ち下がるのと同時
に、第15図のインバータ1507を介してタイマー1504及び
Dフリップフロップ1509がクリアされ、Dフリップフロ
ップ1509の出力Qは第16図に示すように論理「0」に立
ち下がる。
<開放弦周期時間での第1弦の処理> 以上のように、最高音周期時間経過後に急速減衰する
第1弦対応のしきい値信号p(n)又はq(n)によ
り、離散時刻nf又はnjにおいて第1弦対応のデジタル波
形信号x(n)の立ち上がり時直後の最大・最小ピーク
値が検出されると、その後、第3図のMCP301が後述する
動作(第24図S21の説明参照)により、第15図のレジス
タ1501に書き込み信号▲▼を供給することによ
り、バスBUSを介して第1弦に対応する開放弦周期時間
をセットする。
それ以後、第9図又は第15図の時定数変換制御回路90
4では、第16図で説明したのと全く同様に動作する。こ
の結果、開放弦周期時間経過後に急速減衰する第1弦対
応のしきい値信号p(n)又はq(n)により、そのと
きのピッチ周期の倍音を拾わないようにして、第1弦対
応のデジタル波形信号x(n)の最大・最小ピーク値の
タイミングが検出される。
<各ピッチ周期時間での第1弦の処理> 更に、上記動作の後は、第3図のMCP301が後述する動
作(第25図、第26図参照)により、第1弦のデジタル波
形信号x(n)からリアルタイムでピッチ周期を検出で
きるため、その都度第3図のMCP301が後述する動作(第
26図、S62の説明参照)により、第15図のレジスタ501に
書き込み信号▲▼を供給して、バスBUSを介して
第1弦に対応して抽出される各ピッチ周期時間をセット
する。
従って、第9図又は第15図の時定数変換制御回路904
では、上記各ピッチ周期時間が経過した後に急速減衰す
る第1弦対応のしきい値信号p(n)又はq(n)によ
り、第1弦対応のデジタル波形信号x(n)の最大・最
小ピーク値が検出される。
<他の弦の処理> 以上、デジタル波形信号D1の第1弦に対応する時分割
信号x(n)に対する処理について説明を行なったが、
他の第2弦〜第6弦に対しても第15図の特には図示しな
い対応回路が、第9図のタイミングジェネレータ905か
らの順次パルスΦ2〜Φ6、第9図又は第10図のピーク
検出回路901からの最大ピーク値検出信号MAX2〜MAX6と
最小ピーク値検出信号MIN1〜MIN6、及び第3図のMCP301
からの書き込み信号▲▼〜▲▼に基づいて
動作することにより、第9図又は第10図のピーク検出回
路901が、第11図に示したように時分割で各弦に対応す
る処理を行なうのに同期して、前記第1弦の場合と同様
の処理を行う。
このように本実施例では、第9図のピーク検出回路90
1というハードウェアによって検出されたデジタル波形
信号D1のピーク値のタイミング等から、後述するよう
に、第3図のMCP301がソフトウェアによってピッチ周期
を抽出して楽音制御を行うが、このピッチ抽出結果を第
9図の時定数変換回路904を介して再びピーク検出回路9
01のハードウェアにフィードバックすることにより、よ
り正確なピーク値のタイミング抽出を実現している。
(ゼロクロス時刻取込回路の説明) 続いて、第3のピッチ抽出デジタル部304を構成する
第9図のゼロクロス時刻取込回路902について説明を行
う。
《概略説明》 本実施例においては、「本発明による電子弦楽器の概
略動作」の項で第4図を用いて説明したように、第3図
又は第5図のピッチ抽出アナログ部303から出力される
デジタル波形信号D1について、各弦毎にピーク値a0〜a3
又はb0〜b3等(第4図)を抽出し、同時に各ピーク値直
後のゼロクロス時刻t1〜t7等(第4図)を抽出して、こ
れらのデータを第3図のMCP301に送ることにより、MCP3
01が後に詳述する動作に従って各弦毎のピッチ周期をT0
〜T5等(第4図)を抽出する。
そこで、第9図又は第17図のゼロクロス時刻取込回路
902では、第3図又は第5図のピッチ抽出アナログ部303
から出力される各弦対応のゼロクロス信号Z1〜Z6、及び
第9図又は第10図のピーク検出回路901から出力される
各弦対応の最大ピーク値検出信号MAX1〜MAX6、最小ピー
ク値検出信号MIN1〜MIN6に基づいて、各弦毎の最大ピー
ク値又は最小ピーク値直後のゼロクロス時刻を取り込ん
で、第3図のMCP301へ出力する。
《構成》 第17図は、第9図のゼロクロス時刻取込回路902の具
体的な回路構成図であり、同図では第1弦に対応する一
回路分のみ示されているが、実際にはこれと同じものが
全部で6回路分ある。
第3図又は第5図のピーク検出回路901からの第1弦
対応の最大ピーク値検出信号MAX1はR−Sフリップフロ
ップ1702のR(リセット)入力端子に入力され、このS
(セット)入力端子には第3図又は第5図のピッチ抽出
アナログ部303からの第1弦対応のゼロクロス信号Z1が
インバータ1701を介して入力され、R−Sフリップフロ
ップ1702のQ出力端子からの出力は、Dフリップフロッ
プ1703のD入力端子に入力される。
また、ピーク検出回路901からの第1弦対応の最小ピ
ーク値検出信号MIN1はR−Sフリップフロップ1705のR
(リセット)入力端子に入力され、このS(セット)入
力端子には第1弦対応の前記ゼロクロス信号Z1が入力さ
れ、R−Sフリップフロップ1705のQ出力端子からの出
力は、Dフリップフロップ1706のD入力端子に入力され
る。
Dフリップフロップ1703、1706の各CK(クロック)端
子には、第9図のタイミングジェネレータ905からのメ
インクロック信号MCが各々入力され、この立ち上がりエ
ッジで各D入力端子からの信号が取り込まれ、これらは
各Q出力端子から出力されて、アンドゲート1704、1707
の各第1の入力端子に入力される。アンドゲート1704、
1707の各第2の入力端子には、R−Sフリップフロップ
1702、1705の各出力端子Qからの出力が入力される。
前記アンドゲート1704、1707の各出力は、各々ノアゲ
ート1708に入力されるとともに、R−Sフリップフロッ
プ1710のS(セット)、R(リセット)入力端子に入力
され、ノアゲート1708の出力は、Dフリップフロップ17
09及び多入力多出力型のDフリップフロップ1711の各CK
(クロック)端子に入力される。
R−Sフリップフロップ1710のQ出力端子からの出力
は、Dフリップフロップ1711の第0ビット入力端子D0に
入力される。また、同じく第1〜第15ビット入力端子D1
〜D5には、メインクロック信号MCに従って動作するタイ
ムベースカウンタ9021からの計時出力が入力される。こ
れらの記憶値は、出力端子Q0〜Q15を介してバスBUSに出
力される。
一方、Dフリップフロップ1508のD入力端子には、論
理「1」のレベルの電圧VDDが印加されている。
また、Dフリップフロップ1709の▲▼(クリア)
端子及びDフリップフロップ1711のOE(アウトプットイ
ネーブル)端子には、第3図のMCP3からの第1弦対応の
時刻読み込み信号▲▼が入力される。
一方、ゲート1713の入力端子には、Dフリップフロッ
プ1709(第1弦に対応する回路)のQ出力端子からの出
力と、他の第2弦〜第6弦に対応する各Dフリップフロ
ップ(特には図示しない)の出力が各々入力され、ゲー
ト1713のOE(アウトプットイネーブル)端子には、第3
図のMCP301からの弦番号読み込み信号▲▼が
入力され、ゲート1713の出力は、バスBUSを介して第3
図のMCP301に出力される。
アンドゲート1712の入力端子には、前記第1弦に対応
するノアゲート1718の出力及び第2〜第6弦に対応する
ノアゲート(特には図示しない)の出力が入力され、こ
れによりアンドゲート1712から全ての弦について共通の
割り込み信号INTが第3図のMCP301に出力される。な
お、第17図で特には図示しない第2弦〜第6弦に対応す
る回路では、第17図のZ1、MAX1、MIN1の代わりにZ2〜Z
6、MAX2〜MAX6、MIN2〜MIN6が各々入力し、▲
▼の代わりに▲▼〜▲▼
が各々入力する。
《動作》 上記構成の第9図又は第17図のゼロクロス時刻取込回
路902の動作につき以下に説明を行う。
まず、第9図又は第10図のピーク検出回路901から出
力される第1弦対応の最大ピーク値検出信号MAX1及び最
小ピーク値検出信号MIN1は、第18図に示すように第1弦
対応のデジタル波形信号D1=x(n)の最大ピーク値a
k、ak+1及び最小ピーク値bk、bk+1の入力タイミン
グの前後で論理「1」となる信号である。これらは第10
図において説明したように、デジタル波形信号D1=x
(n)と正側及び負側のしきい値信号p(n)及びq
(n)とが比較されることにより生成される。なお、第
1弦対応のデジタル波形信号D1=x(n)は、実際には
第12図に示したように時分割信号であり、かつ、負側は
正側に極性が反転されているが、第18図では便宜上通常
の波形として示してある。
一方、第3図又は第5図のピッチ抽出アナログ部303
から出力されるゼロクロス信号Z1は、第18図に示すよう
に第1弦対応のデジタル波形信号D1=x(n)の正側の
部分で論理「1」、負側の部分で論理「0」となる信号
である。
<正側ゼロクロス時刻の取り込み> 今、最大ピーク値akの入力タイミングの前後におい
て、第1弦対応の最大ピーク値検出信号MAX1が論理
「1」となると、まず、同信号が論理「1」に立ち上が
るタイミングでR−Sフリップフロップ1702がクリアさ
れ、その出力が第18図のように論理「0」に立ち下が
る。
続いて、上記最大ピーク値akの入力直後の離散時刻nx
において、デジタル波形信号D1=x(n)が正側から負
側にゼロクロスするタイミングで、ゼロクロス信号Z1が
論理「1」から「0」に立ち下がると、これに合わせて
R−Sフリップフロップ1702がセットされ、その出力が
第18図のように論理「1」に立ち上がる。
これにより、Dフリップフロップ1703とアンドゲート
1704とによって構成されるワンショットパルス生成回路
において、上記離散時刻nxにR−Sフリップフロップ17
02の出力が論理「0」から「1」に立ち上がるのと、ほ
ぼ同じタイミングで(実際にはメインクロック信号MCに
同期する分だけわずかにずれる)、第18図のようにアン
ドゲート1704からメインクロック信号MCの幅の論理
「1」となるワンショットパルスが出力される。この動
作により、ゼロクロスタイミングが検出される。
次に、上記アンドゲート1704からのワンショットパル
スが論理「0」から「1」に変化するタイミングで、R
−Sフリップフロップ1710がセットされ、その出力が第
18図のように論理「1」に立ち上がる。この出力が論理
「1」となることにより、最大ピーク値ak即ち正側のピ
ーク値の入力直後のゼロクロスが発生したことが記憶さ
れる。逆に、上記出力が論理「0」ならば、後述するよ
うに最小ピーク値即ち負側のピーク値の直後のゼロクロ
スが発生したことになる。このように、R−Sフリップ
フロップ1710の出力は、ゼロクロスタイミングの直前の
ピーク値が最大(正側の)ピーク値であるか最小(負側
の)ピーク値であるかを示しており、以下この出力を正
負フラグと呼ぶ。
続いて、前記アンドゲート1704からのワンショットパ
ルスはノアゲート1708において反転され、論理「0」か
ら論理「1」に変化するタイミングでDフリップフロッ
プ1709が動作し、第18図に示すようにその出力が論理
「1」に変化する。この出力が論理「1」となることに
より、第1弦にピーク値入力直後のゼロクロスが発生し
たことが記憶される。
上記タイミングと同時に、Dフリップフロップ1711も
動作し、その直前にR−Sフリップフロップ1710にセッ
トされた論理「1」の正負フラグが0ビット入力端子D0
を介してセットされ、また、その時点即ちゼロクロス発
生時点におけるタイムベースカウンタ9021の計時出力
が、第1〜第15ビット入力端子D1〜D15を介してセット
される。即ち、Dフリップフロップ1711には、第18図に
示すように最大ピーク値akの入力直後のゼロクロス時刻
tx(離散時刻nxにほぼ等しい)と、その直前のピーク値
が最大ピーク値であることを示す論理「1」の正負フラ
グが記憶される。なお、ゼロクロス時刻txは、タイムベ
ースカウンタ9021が計数出力であるため、現実の時刻と
は異なるが、便宜上現実の時刻としても問題はないた
め、これ以後は現実の時刻として説明を進める。
上記動作により、Dフリップフロップ1709及び1711が
セットされると共に、第18図に示すノアゲート1708から
のワンショットパルスの出力は、アンドゲート1712を介
して割り込み信号INTとして第3図のMCP301に出力され
る。なお、上記ワンショットパルスはローレベルでアク
ティブになるため、アンド回路1712は第1弦以外の第2
弦〜第6弦に対応する第17図には特には図示しない回路
のいずれか1つからの上記と同様のワンショットパルス
により、ローアクティブの割り込み信号が出力される。
第18図に示した上記割り込み信号INTを受けてMCP301
は、まず特には図示しない制御線を介して第17図のゲー
ト1713に、第18図のように弦番号読み込み信号▲
▼を出力する。これによりゲート1713がオンとな
り、第1弦〜第6弦に対応するDフリップフロップ1709
の6ビットの出力が、ゲート1713からバスBUSに出力さ
れる。今、第18図の例では、第1弦のデジタル波形信号
D1=x(n)にゼロクロスが発生したため、前記したよ
うに第1弦対応のDフリップフロップ1709の出力が論理
「1」となっている。従って、第3図のMCP3は、これを
検出することにより第1弦にゼロクロスが発生したこと
を認識できる。
そこで、MCP301は、続いて特には図示しない制御線を
介して第17図の第1弦対応のDフリップフロップ1711
に、第18図のように第1弦対応の時刻読み込み信号▲
▼を出力する。これにより、第1弦対応のD
フリップフロップ1711のQ0〜Q15の16ビットの出力端子
からの出力が出力可能となり、その記憶内容がバスBUS
を介して第3図のMCP301に出力される。この動作によ
り、MCP301は、第18図の第1弦に関する最大ピーク値ak
の入力直後のゼロクロス時刻txと、その直前のピーク値
が最大ピークであることを示す論理「1」の正負フラグ
を取り込むことかできる。なお、第1弦対応の時刻読み
込み信号▲▼が論理「0」から「1」に変
化するタイミングで、第1弦対応のDフリップフロップ
1709が第18図のようにクリアされる。
<第1弦負側のゼロクロス時刻の取り込み> 次に、第18図の第1弦のデジタル波形信号D1=x
(n)について、正側の最大ピーク値akが入力した後、
負側の最小ピーク値bkが入力した場合について説明す
る。
まず、最小ピーク値bkのタイミングの前後において、
第1弦対応の最小ピーク値検出信号MIN1が論理「1」と
なると、まず、同信号が論理「1」に立ち上がるタイミ
ングでR−Sフリップフロップ1705がクリアされ、その
出力が第18図のように論理「0」に立ち下がる。
続いて、上記最小ピーク値bkの入力直後の離散時刻ny
において、デジタル波形信号D1=x(n)が負側から正
側にゼロクロスするタイミングで、ゼロクロス信号Z1が
論理「0」から「1」に立ち上がると、これに合わせて
R−Sフリップフロップ1705がセットされ、その出力が
第18図のように論理「1」に立ち上がる。
これにより、Dフリップフロップ1706とアンドゲート
1707とによって構成されるワンショットパルス生成回路
において、上記離散時刻nyにおいてR−Sフリップフロ
ップ1705の出力が論理「0」から「1」に立ち上がるの
とほぼ同じタイミングで、第18図のようにアンドゲート
1707からメインクロック信号MCの幅の論理「1」となる
ワンショットパルスが出力される。この動作により、再
びゼロクロスタイミングが検出される。
次に、上記アンドゲート1707からのワンショットパル
スが論理「0」から「1」に変化するタイミングで、R
−Sフリップフロップ1710が前記正側の場合とは逆にリ
セットされ、その出力が第18図のように論理「0」に立
ち下がる。この出力が論理「0」となることより、最小
ピーク値bk即ち負側のピーク値の入力直後のゼロクロス
が発生したことが正負フラグとして記憶される。
続いて、前記アンドゲート1707からのワンショットパ
ルスはノアゲート1708において反転され、論理「0」か
ら論理「1」に変化するタイミングでDフリップフロッ
プ1709が前記正側の場合と同様に動作し、第18図に示す
ようにその出力が論理「1」に変化する。この出力が論
理「1」となることにより、第1弦にピーク値入力直後
のゼロクロスが再び発生したことが記憶される。
上記タイミングと同時に、Dフリップフロップ1711も
動作し、その直前にR−Sフリップフロップ1710にセッ
トされた論理「0」の正負フラグが第0ビット入力端子
D0を介してセットされ、また、その時点即ちゼロクロス
発生時点におけるタイムベースカウンタ9021の計時出力
が、第1〜第15ビット入力端子D1〜D15を介してセット
される。即ち、Dフリップフロップ1711には、第18図に
示すように最小ピーク値bkの入力直後のゼロクロス時刻
ty(離散時刻nyにほぼ等しい)と、その直前のピーク値
が最小ピーク値であることを示す論理「0」の正負フラ
グが記憶される。
上記動作により、Dフリップフロップ1709及び1711が
セットされると共に、第18図に示すノアゲート1708から
のワンショットパルスの出力は、アンドゲート1712を介
して割り込み信号INTとして第3図のMCP301に出力され
る。
上記割り込み信号INTを受けてMCP301は、前記正側の
場合と同様に、まず第17図のゲート1713に、第18図のよ
うに弦番号読み込み信号▲▼を出力する。こ
れによりゲート1713がオンとなり、第1弦〜第6弦に対
応するDフリップフロップ1709の6ビットの出力が、ゲ
ート1713からバスBUSに出力される。そして、第3図のM
CP3は、これを検出することにより第1弦に再度ゼロク
ロスが発生したことを認識できる。
続いて、MCP301は、第17図の第1弦対応のDフリップ
フロップ1711に、第18図のように第1弦対応の時刻読み
込み信号▲▼を出力する。これにより、第
1弦対応のDフリップフロップ1711のQ0〜Q15の16ビッ
トの出力端子からの出力が出力可能となり、その記憶内
容がバスBUSを介して第3図のMCP301に出力される。こ
の動作により、MCP301は、第18図の第1弦に関する最小
ピーク値bkの入力直後のゼロクロス時刻tyと、その直前
のピーク値が最小ピーク値であることを示す論理「0」
の正負フラグを取り込むことができる。そして、第1弦
対応の時刻読み込み信号▲▼が論理「0」
から「1」に変化するタイミングで、第1弦対応のDフ
リップフロップ1709が第18図のようにクリアされる。
以下、第18図の最大ピーク値ak+1及び最小ピーク値
bk+1の入力直後の各ゼロクロス時刻tz(離散時刻nzに
対応)、tw(離散時刻nwに対応)及び各正負フラグも、
全く同様にして第3図のMCP301に出力することができ
る。
なお、第18図の斜線部のピークは倍音のピークであ
り、この場合もゼロクロス信号Z1は変化するが、第9図
又は第10図のピーク検出回路901では前記したようにピ
ーク検出が行われない(第13図等参照)。従って、最大
ピーク値検出信号MAX1及び最小ピーク値検出信号MIN1は
変化しないため、第17図のR−Sフリップフロップ1702
及び1705の状態は変化せず、この部分のゼロクロス時刻
等が誤って検出されてしまうことはない。
<他の弦の処理> 以上、デジタル波形信号D1の第1弦に対応する時分割
信号x(n)に対する処理について説明を行なったが、
他の第2弦〜第6弦に対しても第17図の特には図示しな
い対応回路が、第3図又は第5図のピッチ抽出アナログ
部303からのゼロクロス信号Z2〜Z6、第9図又は第10図
のピーク検出回路901からの最大ピーク値検出信号MAX2
〜MAX6と最小ピーク値検出信号MIN2〜MIN6、及び第3図
のMCP301からの時刻読み込み信号▲▼〜▲
▼に基づいて動作することにより、第1弦
の場合と同様にしてゼロクロス時刻と正負フラグを第3
図のMCP301に出力することができる。
この場合、第17図において、MCP301がゲート1713から
各弦毎のDフリップフロップ1709の出力を読み込んだと
きに、同時に複数の弦でゼロクロスの発生が検出された
場合には、MCP301が対応する弦の時刻読み込み信号▲
▼〜▲▼を順次出力するように
(同時に出力しないように)制御することにり、バスBU
S上でのデータの衝突を避けることができる。
(波高値取込回路の説明) 次に、第3図のピッチ抽出デジタル304を構成する第
9図の波形値取込回路903について説明を行なう。
《概略説明》 本実施例においては、「本発明による電子弦楽器の概
略動作」の項で第4図を用いて説明したように、第3図
又は第5図のデジタル波形信号D1について、各弦毎にピ
ーク値a0〜a3又はb0〜b3等(第4図)を抽出して第3図
のMCP301に送ることにより、MCP301が後に詳述する動作
に従って各弦毎のピッチ周期T0〜T5等(第4図)の抽出
のための制御に用いる。また、MCP301は後述するよう
に、いずれかの弦についてある瞬間のデジタル波形信号
D1の瞬時値が必要になる場合もある。
そこで、第9図又は第19図の波高値取込回路903で
は、第9図又は第10図のピーク検出回路901から出力さ
れる各弦対応の最大ピーク値検出信号MAX1〜MAX6、最小
ピーク値検出信号MIN1〜MIN6、及び第9図のタイミング
ジェネレータ905からの順次パルスΦ1〜Φ6に基づい
て、第3図又第5図のピッチ抽出アナログ部303からの
デジタル波形信号D1の各弦毎の最大ピーク値又は最小ピ
ーク値、及び瞬時値を取り込んで、第3図のMCP301へ出
力する。
《構成》 第19図は、第9図の波高値取込回路903の具体的な回
路構成図であり、同図では第1弦に対応する一回路分の
み示されているが、実際にはこれと同じものが全部で6
回路分ある。
第3図又は第5図のピッチ抽出アナログ部303からの
8ビットのデジタル波形信号D1は、8入力8出力型のD
フリップフロップ1902のD入力端子に入力され、第9図
のタイミングジェネレータ905からインバータ1901を介
して入力する順次パルスΦ1が論理「1」から「0」に
立ち下がるタイミングで、第1弦に対応する時分割信号
が読み込まれる。
Dフリップフロップ1902のQ出力端子からの8ビット
の出力は、8入力8出力型のDフリップフロップ1904、
1907の各D入力端子に各々入力されると共に、8入力8
出力型のゲート1909に入力される。このゲート1909のOE
(アウトプットイネーブル)端子には、第3図のMCP301
から特には図示しない制御線を介して波形読み込み信号
▲▼が入力し、MCP301の処理に合わせてデジ
タル波型信号D1の第1弦分についてその時点の瞬時値
を、バスBUSを介してMCP301へ出力する。
一方、Dフリップフロップ1902の第1弦対応の8ビッ
ト出力を最大ピーク時点又は最小ピーク時点で読み込む
ための8入力8出力型のDフリップフロップ1904、1907
は、第9図又は第10図のピーク検出回路901からインバ
ータ1903又は1906を介して入力する第1弦対応の最大ピ
ーク値検出信号MAX1又は最小ピーク値検出信号MIN1が論
理「1」から「0」に立ち下がるタイミングで動作す
る。
Dフリップフロップ1904、1907の各Q出力端子からの
8ビットの出力は、各々8入力8出力型のゲート1905、
1908に入力される。これらのゲート1905、1908の各OE
(アウトプットイネーブル)端子には、第3図のMCP301
から特には図示しない制御線を介して波形読み込み信号
▲▼、▲▼が各々入力し、ゲート190
5、1908からの最大ピーク値又は最小ピーク値が、バスB
USを介してMCP301へ出力される。
なお、第19図で特には図示しない第2弦〜第6弦に対
応する回路では、第19図のΦ1、MAX1、MIN1の代わりに
Φ2〜Φ6、MAX2〜MAX6、MIN1〜MIN6が各々入力し、▲
▼、▲▼の代わりに が各々入力し、▲▼の代わりに が各々入力する。
《動作》 上記構成の第9図又は第19図の波高値取込回路903の
動作につき以下に説明を行う。
まず、第3図のピッチ抽出アナログ部303内のAD変換
器533(第5図)から出力されるデジタル波形信号D1に
は、第6図又は第11図に既に示したように、AD変換クロ
ック信号ADCKに同期した6種類の順次パルスΦ1〜Φ6
が論理「1」となるのに同期して、6弦分の波形信号W1
〜W6(第5図参照)をデジタル化したものが時分割多重
化されている。そして、この場合、順次パルスΦ1〜Φ
6に対して、AD変換器533(第5図)の変換時間Δtだ
けの遅延が存在する。
<第1弦対応の最大ピーク値の取り込み> 上記の関係より、第19図のDフリップフロップ1902
が、インバータ1901を介して入力する順次パルスΦ1の
論理「1」から「0」への立ち下がるタイミング動作し
た場合、同回路には、第11図等からわかるようにデジタ
ル波形信号D1の第1弦に対応する時分割信号値が読み込
まれる。
続いて、第9図又は第10図のピーク検出回路901から
入力する第1弦対応の最大ピーク値検出信号MAX1は、第
11図において既に示したように、順次パルスΦ1が論理
「1」となる前半部分の最後にタイミング信号Q5が論理
「0」から「1」に立ち上がるタイミングで論理「0」
から「1」又は「1」から「0」に変化する。
従って、第19図のDフリップフロップ1904が、インバ
ータ1903を介して入力する第1弦対応の最大ピーク値検
出信号MAX1の論理「1」から「0」への立ち下がりタイ
ミングで動作した場合、同回路には、それより前に順次
パルスΦ1が論理「1」から「0」へ立ち下がったタイ
ミングでDフリップフロップ1902にセットされた第1弦
対応の時分割信号値、即ち1離散時刻前の時分割信号値
が読み込まれる。
ところで、第1弦対応の最大ピーク値検出信号MAX1が
論理「1」から「0」へ立ち下がるタイミングは、第12
図において既に示したように、第1弦の最大ピーク値
(第12図a0、a1等)が入力した1離散時刻後である。こ
のため、Dフリップフロップ1904に読み込まれる第1弦
対応の時分割信号値は、第1弦の最大ピーク値に一致す
る。
一方、既に説明したように第1弦の時分割信号につい
て、最大ピーク値が入力した直後に、波形がゼロクロス
するタイミングにおいて、第9図のゼロクロス時刻取込
回路902内のノアゲート1708(第17図)から、第18図に
示すような割り込み信号INTが第3図のMCP301に出力さ
れ、これによりMCP301が弦番号読み込み信号▲
▼、続いて第1弦対応の時刻読み込み信号▲
▼を第18図のように第17図のゼロクロス時刻取込
回路902に与えることにより、MCP301は第1弦に関する
最大ピーク値の入力直後のゼロクロス時刻とその直前の
ピーク値が最大ピーク値であることを示す論理「1」の
正負フラグを取り込むことができる。
従って、第3図のMCP301は、上記動作により第1弦の
最大ピーク値が入力しことを判別できるため、第1弦の
最大ピーク値に対応するゲート1905に波形読み込み信号
▲▼を与えることが可能となる。これによりゲ
ート1905がオンとなり、前記した動作によりDフリップ
フロップ1904に既に読み込まれている第1弦の最大ピー
ク値が、バスBUSを介して第3図のMCP301に取り込まれ
る。
<第1弦対応の最小ピーク値の取り込み> 次に、第9図又は第10図のピーク検出回路901から入
力する第1弦対応の最小ピーク値検出信号MIN1は、第11
図において既に示したように順次パルスΦ1が論理
「1」となる後半部分の最後にΦ1が論理「1」から
「0」に立ち下がる直前にタイミング信号Q5が論理
「0」から「1」に立ち上がるタイミングで論理「0」
から「1」又は「1」から「0」に変化する。
従って、第19図のDフリップフロップ1907が、インバ
ータ1906を介して入力する第1弦対応の最小ピーク値検
出信号MIN1の論理「1」から「0」への立ち下がりタイ
ミングで動作した場合、同回路には、前記最大ピーク値
の場合と同様にそれより前に順次パルスΦ1が論理
「1」から「0」へ立ち下がったタイミングでDフリッ
プフロップ1902にセットされた第1弦対応の時分割信号
値、即ち1離散時刻前の時分割信号値が読み込まれる。
ところで、第1弦対応の最小ピーク値検出信号MIN1が
論理「1」から「0」へ立ち下がるタイミングは、第12
図において既に示したように、前記最大ピーク値検出信
号MAX1の場合と同様に第1弦の最小ピーク値(第12図
b0、b1等)が入力した1離散時刻後である。このため、
Dフリップフロップ1907に読み込まれる第1弦対応の時
分割信号値は、第1弦の最小ピーク値に一致する。
一方、既に説明したように第1弦の時分割信号につい
て最小ピーク値が入力した直後に波形がゼロクロスする
タイミングにおいても、前記最大ピーク値が入力した場
合と同様に、第3図のMCP301は第1弦に関する最小ピー
ク値の入力直後のゼロクロス時刻とその直前ピーク値が
最小ピーク値であることを示す論理「0」の正負フラグ
を取り込むことができる。
従って、第3図のMCP301は上記動作により第1弦の最
小ピーク値が入力したとこを判別できるため、第1弦の
最小ピーク値に対応するゲート1908に波形読み込み信号
▲▼を与えることが可能となる。これにより、
ゲート1908がオンとなり、前記した動作によりDフリッ
プフロップ1907に既に読み込まれている第1弦の最小ピ
ーク値が、バスBUSを介して第3図のMCP301に取り込ま
れる。
<第1弦対応の瞬時値の取り込み> 上記のように、第9図又は第19図の波高値取込回路
は、第1弦対応の最大ピーク値又は最小ピーク値を出力
できるほか、MCP301からの要求によりその要求タイミン
グでのデジタル波形信号D1の第1弦対応の時分割信号の
瞬時値を出力できる。
即ち、第3図のMCP301が後に詳述する楽音制御の途中
において第1弦の瞬時値が必要になった場合(第21図M1
1の説明等参照)、波形読み込み信号▲▼を
第19図のゲート1909に与える。これによりゲート1909が
オンとなり、そのタイミングにおいて前記した動作によ
りDフリップフロップ1902に既に読み込まれている第1
弦の瞬時値が、バスBUSを介して第3図のMCP301に取り
込まれる。
<他の弦の処理> 以上、デジタル波形信号D1の第1弦に対応する時分割
信号に対する処理について説明を行なったが、他の第2
弦〜第6弦に対しても第19図の特には図示しない対応回
路が第9図のタイミングジェネレータ905からの順次パ
ルスΦ2〜Φ6、第9図又は第10図のピーク検出回路90
1からの最大ピーク値検出信号MAX2〜MAX6、最小ピーク
値検出信号MIN2〜MIN6、及び第3図のMCP301からの波形
読み込み信号 に基づいて動作することにより、第1弦の場合と同様に
して最大ピーク値、最小ピーク値、又は瞬時値を第3図
のMCP301に出力することができる この場合、バスBUSは6弦で共有するため、MCP301は
波形読み込み信号 を同時には出力しないように制御することにより、バス
BUS上でのデータの衝突を避けることができる。
{中央制御装置(MCP)の動作} 以上の動作により、第3図又は第9図のピッチ抽出デ
ジタル部304から、最大又は最小ピーク値、ゼロクロス
時刻、及びピーク値の正負を示す正負フラグが第3図の
MCP301に入力される。
これによりMCP301は、前記「本実施例による電子弦楽
器の概略動作」の項で簡単に説明したように、まず、フ
レット番号検出部302に対するフレットスキャン処理を
行ってノートオンの処理を行い、続いて、ピッチ抽出及
び音量等に関するパラメータの抽出を行うことにより、
第3図の楽音発生回路305を制御するための楽音制御情
報を発生する。なお、MCP301は特には図示しないメモリ
等に記憶されたプログラムに従って、以下に詳細に説明
するように第20図〜第26図に示す動作フローチャートを
実行する。
(変数の説明) はじめに、後述する第20図〜第26図の動作フローチャ
ートで示される制御プログラムにおいて用いられる各変
数について、以下に列挙しておく。
AD・・・第3図のピッチ抽出ディジタル部304へのデジ
タル波形信号D1を直接読んだ入力波高値(瞬時値) AMP(0,1)・・・正又は負の前回(old)の波高値(ピ
ーク値) AMRL1・・・振幅レジスタで記憶されているリラティブ
(relative)オフ(off)のチェックのための前回の振
幅値(ピーク値)である。ここで、前記リラティブオフ
とは波高値が急激に減衰してきたことに基づき消音する
ことで、フレット操作をやめて開放弦へ移ったときの消
音処理に相当する。
AMRL2・・・振幅レジスタで記憶されている前記リラテ
ィブオフのための前々回の振幅値(ピーク値)で、これ
にはAMRL1の値が入力される。
CHTIM・・・最高音フレット(22フレット目)に対応す
る周期 CHTIO・・・開放弦フレットに対応する周期 CHTRR・・・時定数変換レジスタで、第9図の時定数変
換制御回路904の内部に設けられているレジスタ1501
(第15図)と同一のレジスタ。
DUB・・・波形が続けて同一方向にきたことを示すフラ
グ、 FOFR・・・リラティブオフカウンタ、 HNC・・・波形ナンバーカウンタ MT・・・これからピッチ抽出を行う側のフラグ(正=
1、負=0) NCHLV・・・ノーチェンジレベル(定数) OFTIM・・・オフタイム(例えば当該弦の開放弦周期に
相当) OFPT・・・通常オフチェック開始フラグ ONF・・・ノートオンフラグ RIV・・・後述のステップ(STEP)4での処理ルートの
切替を行うためのフラグ ROFCT・・・リラティブオフのチェック回数を定める定
数 STEP・・・MCP301のフロー動作を指定するレジスタ(1
〜5の値をとる) TF・・・有効となった前回のゼロクロス時刻データ TFN(0,1)・・・正または負のピーク値直後の前回のゼ
ロクロス時刻データ TFR・・・時刻記憶レジスタ THLIM・・・周波数上限(定数) TLLIM・・・周波数下限(定数) TP(0,1)・・・正または負の前回の周期データ TRLAB(0,1)・・・正または負の絶対トリガレベル(ノ
ートオンしきい値) TRLRL・・・リラティブオン(再発音開始)のしきい値 TRLRS・・・共振除去しきい値 TTLIM・・・トリガ時の周波数下限 TTP・・・前回抽出された周期データ TTR・・・周期レジスタ、 TTU・・・定数(17/32と今回の周期情報ttの積) TTW・・・定数(31/16と今回の周期情報ttの積) X・・・異常または正常状態を示すフラグ b・・・ワーキングレジスタBに記憶されている今回正
負フラグ(正ピークの次のゼロ点のとき1、負ピークの
次のゼロ点のとき0) c・・・ワーキングレジスタCに記憶されている今回波
高値(ピーク値) e・・・ワーキングレジスタEに記憶されている前々回
波高値(ピーク値) h・・・ワーキングレジスタHに記憶されている前々回
抽出された周期データ t・・・ワーキングレジスタT0に記憶されている今回の
ゼロクロス時刻 tt・・・ワーキングレジスタTOTOに記憶されている今回
の周期情報 (割り込み処理ルーチンの動作) 次に、第20図は、第3図のMCP301へピッチ抽出デジタ
ル部304内のゼロクロス時刻取込回路902(第9図又は第
17図)から、割り込み信号INTにより割り込みがかけら
れたときの処理を示す割り込み処理ルーチンの動作フロ
ーチャートを示した図である。
前記したように、ゼロクロス時刻取込回路902から割
り込み信号INTが出力される時点においては、第9図又
は第19図の波高値取込回路903には最大又は最小ピーク
値(絶対値)がホールドされ、ゼロクロス時刻取込回路
902には当該ピーク値発生直後のゼロクロス時刻、及び
直前のピーク値が最大(正の)ピーク値である場合論理
「1」、最小(負の)ピーク値である場合論理「0」を
示す正負フラグがラッチされている。
そこで、MCP301はまず第20図のI1において、第9図又
は第17図のゼロクロス時刻取込回路902に対して、弦番
号読み込み信号▲▼を出力する。これによ
り、既に説明したように同回路902からは、まずどの弦
番号について上記割り込みが発生したのかを示す弦番号
が、バスBUSを介してMCP301に出力される。続いて、MCP
301はゼロクロス時刻取込回路902に対して、時刻読み込
み信号 のうち上記弦番号に対応する信号を出力する。これによ
り、既に説明したように同回路902からは、上記時刻読
み込み信号▲▼(i=1〜6のうちいずれ
か)で指定される弦番号対応のラッチ(第17図のDフリ
ップフロップ1711に等しい)にセットされているゼロク
ロス時刻情報が、バスBUSを介してMCP301に出力され
る。これを第20図I1に示すように今回のゼロクロス時刻
tとする。
続いて、第20図のI2において、ゼロクロス時刻情報の
最下位ビットに付加されている正負フラグ(第17図の説
明参照)を取り出しこれを今回正負フラグbとする。
その後、第20図のI3において、MCP301は既に説明した
ように第9図又は第19図の波高値取込回路903に対し
て、波形読み込み信号▲▼(j=1〜12のうち
いずれか)を出力させる。ここで、同回路903内には第1
9図に示したように、6弦分の最大ピーク値及び最小ピ
ーク値をホールドする12個のラッチ(第19図のDフリッ
プフロップ1904,1907)があるため、MCP301は前記弦番
号及び正負フラグbに基づいて、上記波形読み込み信号
▲▼を選択して出力させる。これにより同回路
903からは、当該波形読み込み信号▲▼で指定
されるラッチにセットされている最大ピーク値または最
小ピーク値(絶対値)が、バスBUSを介してMCP301に出
力される。これを第20図I3に示すように、今回ピーク値
cとする。
以上の動作の後、第20図のI4において、上記のように
して得たt,c,bの値をMCP301内の特には図示しないレジ
スタT0,C,Bにセットする。このレジスタには、上記割り
込み処理がなされる都度、このようなゼロクロス時刻情
報、ピーク値情報(絶対値)、ピークの種類を示す正負
フラグの情報がワンセットとして書込まれていき、後述
するメインルーチンで、各弦毎に関する情報に対する処
理がなされる。
なお、上記レジスタT0,C,Bは、6弦に対応して6個ず
つあり、以下第21図〜第26図に説明する楽音制御の処理
は、6弦分について全て時分割で行われるが、これ以後
は簡単のため1弦分の処理について述べてゆく。
(メインルーチンの動作) 第21図は、メインルーチンの処理を示す動作フローチ
ャートである。ここでは、パワーON後の初期化(イニシ
ャライズ)、楽音のノートオフ(消音)処理、及びSTEP
0〜STEP4(又は5)の各処理の選択の処理を行う。本実
施例では、楽音制御の処理を後述するようにステップと
いう処理概念で行っており、後述するように、STEP0→S
TEP1→STEP2→STEP3→STEP4(→STEP5)→STEP0という
順で楽音制御を行ってゆく。
《基本動作》 第21図において、まず、パワーオン(電源投入)する
ことにより、M1において各種レジスタやフラグがイニシ
ャライズされ、レジスタSTEPが0とされる。またこの場
合、前記「ピッチ抽出デジタル部の説明」の項の時定数
変換制御回路904(第9図又は第15図)の説明において
述べたように、初期状態において、ピーク検出回路901
(第9図又は第10図)がデジタル波形信号D1の波形の立
ち上がり時の振動を速やかに検知できるように、MCP301
がバスBUSを介して時定数変換制御回路904内の各弦対応
の時定数変換レジスタCHTRR(第15図のレジスタ1501と
同一)に各弦の最高音フレット周期CHTIMをセットし、
ピーク検出回路901内で生成されるしきい値信号が最高
音周期時間経過にて急速減衰するように制御される(第
16図の説明参照)。
続いて、第21図のM2で、前記「割り込み処理ルーチン
の動作」の項で説明したレジスタが空かどうかが判断さ
れ、ノー(以下、NOと称す)の場合にはM3に進み、各レ
ジスタB,C,T0の内容が読まれる。続いて、M4において、
レジスタSTEPの値はいくつかが判断され、M5ではSTEP0,
M6ではSTEP1,M7ではSTEP2,M8ではSTEP3、M9ではSTEP4の
処理が順次実行される。なお、次のステップへの更新
は、後述するように各STEP0〜STEP4の処理において行わ
れる。
《ノートオフ動作》 前記M2でバッファが空の場合、すなわちイエス(以
下、YESと称する)の場合、M10〜M16への処理に進み、
ここで通常のノートオフのアルゴリズムの処理が行われ
る。このノートオフのアルゴリズムは、デジタル波形信
号D1において、その波高値がオフ(OFF)レベル以下の
状態が所定のオフタイム時間続いたら、ノートオフする
アルゴリズムである。
まず、M10でSTEP=0かどうかが判断され、YESの場合
には、楽音を発生していない初期状態のため、ノートオ
フはする必要がなく、M2に戻る。一方、NOの場合には、
M11に進む。
M11では、その時点のデジタル波形信号D1の入力波高
値(瞬時値)ADが直接読まれる。これは、既に説明した
ようにMCP301が波高値取込み回路903(第9図又は第19
図)へ波形読み込み信号▲▼〜▲
▼のいずれかを与えることにより、同回路903がデジタ
ル波形信号D1の現在の瞬時値を、バスBUSを介してMCP30
1に出力することで達成できる。そして、この値ADが、
予め設定したオフレベル以下かどうかが判断され、NOの
場合はノートオフする必要がないためM2に戻り、YESの
場合にはM12に進む。
M12では、前回の入力波高値ADがオフレベル以下かど
うかが判断され、NOの場合には、M17に進みMCP301内の
特には図示しないタイマーをスタートし、M2に戻る。そ
して、次に再びこの処理にきたときに、M12はYESとなる
ため、M13に進み、ここでタイマーの値がオフタイムOFT
IMかどうかが判断される。オフタイムOFTIMとしては例
えば処理をしている弦の開放弦フレット周期CHTIOがセ
ットされており、M13でNOの場合にはM2に戻って処理が
繰り返され、YESとなるとM14に進み、レジスタSTEPに0
を書き込み、時定数変換レジスタCHTRRへ最高音フレッ
ト周期CHTIMをセットした後、M15を介して(後述す
る)、M16に進む。すなわち、デジタル波形信号D1のレ
ベルが減衰してきた場合、オフレベル以下の入力波高値
ADがオフタイムOFTIMに相当する時間続くと、デジタル
波形信号D1が入力せず弦が弾かれなくなったと判断でき
るため、M16に進んでノートオフの処理がされる。
M16では、MCP301が楽音発生回路305(第3図)に対し
て、ノートオフの指示を送出し、これにより楽音の発音
が停止される。このようにノートオフされた場合には、
必ずSTRP0に戻る。
なお、ステップM15において、通常の状態ではYESの判
断がなされるが、後述するような処理によって、楽音の
発音を指示していない場合でもレジスタSTEPは0以外の
値をとっていることがあり(例えばノイズの入力によ
る)、そのようなときには、M14,M15の処理後M2へ戻る
ことで、STEP0へ初期設定される。
(STEP0の処理動作) 次に、第21図のメインルーチンにおいて分岐して対応
する処理を行う各ルーチンの詳細について説明を行う。
まず、第22図は、第21図のメインルーチンのM5として
示すステップ0(STEP0)の処理の動作フローチャート
である。この処理においては、ピッチ抽出処理等のため
の初期設定、フレットスキャンとノートオン処理、及び
次のSTEP1への移行処理を行う。以下第27図の基本動作
説明図を用いて説明を行う。なお、第27図は第4図と同
一の波形である。
《基本動作》 今、第21図のメインルーチンは、M2とM10のループの
繰り返しにより、前記「割り込み処理ルーチンの動作」
の項のおいて説明したように、ピッチ抽出デジタル部30
4(第3図又は第9図)から割り込みが掛かって、レジ
スタT0、C、Bにデータが入力するのを待っている。
そして、データが入力し、第21図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM5、
即ち第22図のSTEP0に移る。この状態においては、例え
ば第27図に示すように、今回のゼロクロス時刻t=t0
今回正負フラグb=0、今回ピーク値cはb=0より最
小ピーク値でc=b0(絶対値)である。なお、第27図で
bとb0〜b3等は異なる記号である。
まず、第22図のS01において、今回ピーク値cの値
が、絶対トリガレベル(ノートオンのための正の閾値)
TRLAB(b)より大きいか否かが判定される。なお、こ
の判定は、今回正負フラグbの値に基づいて正と負の各
極性(最大ピーク値又は最小ピーク値)の各々について
実行され、正側の絶対トリガレベルTRLAB(1)と負側
の絶対トリガレベルTRLAB(0)は、デジタル波形信号D
1にオフセットが重畳された場合等を考慮して、経験的
に別々の値に設定することができる。理想的なシステム
では同じ値でよい。第27図の例では、今回最小ピーク値
c=b0(絶対値)とTRLAB(b)=TRLAB(0)とが比較
され、c=b0>TRLAB(0)、即ち判定はYESとなる。
次に、S02を経た後(後述する)、S03の処理が実行さ
れる。ここでは、まず、今回正負フラグbがフラグMTに
書き込まれ、レジスタSTEPに1が書き込まれて次のステ
ップへの移行準備がなされ、更に、今回のゼロクロス時
刻tが以降の処理のために前回のゼロクロス時刻データ
TFN(b)として設定される。第27図の例では、同図に
示すようにMT=b=0、TFN(b)=TFN(0)=t=t0
となる。
続いて、S04において、「変数の説明」の項に示した
上記フラグ以外のその他フラグ類(定数値を除く)が初
期化される。
更に、S011においてはフレットスキャンの処理がなさ
れる。即ち、MCP301は始めのデータの組(b0,t0)(第
27図)が入力した時点において、対応する弦がピッキン
グされたと判断し、即座にフレット番号検出部302(第
3図)にフレットスイッチ205(第2図)の走査信号を
出力し、どのフレットスイッチ205が押圧されているか
表わすフレット番号を入力する。
上記動作によりフレット番号が検出されたら、次のS0
12(第22図)においてノートオン処理を行う。即ち、上
記フレット番号に対応する音高情報を生成し、更に音量
データとして今回ピーク値cを付加し、キーオン(発音
開始)情報と共に第3図の楽音発生回路305に出力す
る。これに従って、楽音発生回路305が指定された音高
で楽音の発音を開始する。
このように、本実施例ではデジタル波形信号D1のいず
れかの弦に対応する時分割信号が立ち上がると即座にノ
ートオン処理を行えるため、弦105(第1図)をピッキ
ングする動作に応じて極めて速いタイミングで発音を開
始することのできる応答性のよい電子弦楽器を実現でき
る。
以上の動作の後、第22図のS05においては、今回ピー
ク値cが以降の処理のために前回のピーク値AMP(b)
(絶対値)としてセットされ、第21図のメインルーチン
のM2の処理に戻る。第27図の例では、同図に示すように
AMP(b)=AMP(0)=c=b0となる。
以上の処理により、第27図の例では同図(STEP0→1
の間)に示すように、フレットスキャン及びノートオン
の処理と共に、フラグMTにレジスタBの今回正負フラグ
b=0が書き込まれ、負側の前回のゼロクロス時刻のデ
ータTFN(0)にレジスタT0の今回のゼロクロス時刻デ
ータt=t0が書き込まれ、負側の前回のピーク値AMP
(0)にレジスタCの今回最小ピーク値c=b0が書き込
まれる。
《共振除去動作》 なお、第22図のS01において、今回ピーク値cの値が
絶対トリガレベルTRLAB(b)以下の場合は、発音(ノ
ートオン)の処理へは移行せず、S05において前回のピ
ーク値AMP(b)に今回ピーク値cの値をセットするだ
けで、第21図のメインルーチンへ戻る。ところが、1本
の弦をピッキングすることにより、他の弦が共振を起こ
すような場合、当該他の弦については振動のレベルが徐
々に大きくなり、やがて第22図のS01の判定結果がYESと
なり、S02の処理に移る。しかし、このような場合、正
規のピッキングを行った訳ではないので、発音(ノート
オン)の動作に移行するのは妥当ではない。そこで、S0
2の処理において上記共振の除去を行う。即ち、上記の
ような場合、今回ピーク値cは前回のピーク値AMP
(b)に比べてほとんど大きくなっていないため、その
差c−AMP(b)が共振除去しきい値TRLRSより大きくな
い場合には、上記共振状態が発生したと判定して、発音
処理へは移行せず、S05において前回のピーク値AMP
(b)に今回ピーク値cの値をセットするだけで、第21
図のメインルーチンに戻る。一方、第27図のような正常
なピッキングを行った場合には、波形が急激に立上るこ
とになり、前記ピーク値の差c−AMP(b)は共振除去
閾値TRLRSを越え、前記したようにS02からS03の処理へ
移行する。
《リラティブオンのエントリ動作》 第22図において、Aは後述するリラティブオン(再発
音開始)のエントリであり、後述するSTEP4のフローか
らこのS06へジャンプしてくる。そして、S06では今まで
出力している楽音を一度消去(ノートオフ)し、再発音
開始のためにS03へ進行する。この再発音開始のための
処理は、通常の発音開始のときと同様であり、前記した
とおりである。ここでS06のノートオフの処理は、第21
図の前記M16での処理と同じである。
(STEP1の処理動作) 次に、第23図は、第21図のメインルーチンのM6として
示すステップ(STEP1)の処理の動作フローチャートで
ある。この処理においては、前記STEP0に続くピッチ抽
出処理等のための初期設定とそれに続くSTEP2への移行
処理、又はおかしな波形が入力したときのダブリ処理
(エラー処理)等を行う。
《基本動作》 まず、前記STEP0により、最初のデータに対する初期
設定が行われた後、第21図のメインルーチンでは、M2→
M10→M11→M2のループの繰り返しにより、前記ピッチ抽
出デジタル部304(第3図又は第9図)から再び割り込
みがかかって、レジスタT0、C、Bに次のデータが入力
するのを待っている。
そして、データが入力し、第21図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM6、
即ち第23図のSTEP1に移る。この状態においては、例え
ば第27図に示すように、今回のゼロクロス時刻t=t1
今回正負フラグb=1、今回ピーク値はb=1より最大
ピーク値でc=a0である。
まず、第23図のS11を介して(後述する)、S12におい
て前記「STEP0の処理動作」の項における第22図のS01の
説明で述べたのと全く同様に、今回ピーク値cの値が、
絶対トリガレベルTRLAB(b)より大きいか否かが判定
される。第27図の例では、今回最大ピーク値c=a0とTR
LAB(b)=TRLAB(1)とが比較され、c=a0>TRLAB
(1)、即ち判定はYESとなる。
次に、S13において、レジスタSTEPに2が書き込まれ
て次のステップへの移行準備がなされ、また、S14にお
いて、レジスタT0の今回のゼロクロス時刻tが以降の処
理のために前回のゼロクロス時刻データTFN(b)とし
て設定される。更に、S15において、レジスタcの今回
ピーク値cが以降の処理のために前回のピーク値AMP
(b)としてセットされ、第21図のメインルーチンのM2
の処理に戻る。第27図の例では、同図に示すようにTFN
(1)=t=t1、AMP(1)=c=a0となる。なお、MT
の内容は書き替えられず0のままである。
《ダブリ処理の動作》 第27図のような正常なディジタル出力D1が入力してい
る場合には、前記STEP0において負(正)側の最小
(大)ピーク値(絶対値)が抽出された後は、STEP1に
おいて反対に正(負)側の最大(小)ピーク値が抽出さ
れる。従って、第23図のS11においては、今回正負フラ
グb=1(0)はSTEP0でセットされたフラグMT=0
(1)と異なるため、前記したようにS12に進む。
ところが、場合により、STEP0の後にSTEP1で第28図
(a)又は(b)に示すような波形が入力することがあ
る。この場合、STEP0で負側の最小ピーク値b0が抽出さ
れた後、STEP1で再び負側の最小ピーク値b1がダブって
抽出される。従って、第23図のS11においては、今回正
負フラグはb=0となり、STEP0でセットされたフラグM
T=0と一致する。この場合は、第23図のS16に進み、ダ
ブリ処理(エラー処理)を行う。
S16では、ピーク値cの値が同じ符号の前回のピーク
値AMP(b)より大きいか否かが判定される。
今、第28図(a)のような場合、c=b1>AMP(b)
=AMP(0)=b0は成立しない。このような場合、今回
の最小ピーク値b1はおかしな波形として無視し(斜線
部)、STEPは更新せずに、第21図のメインルーチンのM2
の処理に戻り、次の正常なピークが入力されるのを待
つ。
一方、第28図(b)のような場合、c=b1>APM
(b)=AMP(0)=b0は成立する。このような場合
は、前回のSTEP0で抽出した最小ピーク値b0の方をおか
しな波形として無視し(斜線部)、STEP0においてセッ
トされた負側の前回のゼロクロス時刻データTFN
(0)、及び負側の前回のピーク値AMP(0)の内容
を、第23図のS14、S15により今回のゼロクロス時刻t及
び今回ピーク値cと入れ替えて変更する。
即ち、第28図(b)の例では、TFN(0)=t=t1、A
MP(0)=c=b1となる。このダブリ処理の後、STEPは
更新せずに(第23図のS13を通らない)、第21図のメイ
ンルーチンのM2の処理に戻り、次の正常なピークが入力
されるのを待つ。
上記動作の後、正常なピーク値が入力すると、第23図
のS11→S12→S13→S14→S15により前記した処理が行わ
れ、例えば第27図に示すようにt=t1で、次のSTEP2の
処理への移行が行われる。
(STEP2の処理動作) 次に、第24図は、第21図のメインルーチンのM7として
示すステップ2(STEP2)の処理の動作フローチャート
である。この処理においては、ピッチ抽出のための第1
回目のピッチ周期の検出、ベロシティーの設定、及びST
EP3への移行処理、又はおかしな波形が入力したときの
エラー処理(ダブリ処理)等を行う。
《基本動作》 まず、前記STEP1による処理が行われた後、第21図の
メインルーチンでは、M2→M10→M11→M2のループの繰り
返しにより、前記ピッチ抽出デジタル部304(第3図又
は第9図)から再び割り込みがかかって、レジスタT0、
C、Bに次のデータが入力するのを待っている。
そして、データが入力し、第21図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM7、
即ち第24図のSTEP2に移る。この状態においては、例え
ば第27図に示すように、今回のゼロクロス時刻t=t2
今回正負フラグb=0、今回ピーク値はb=0より最小
ピーク値でc=b1である。
まず、第24図のS20を経た後(後述する)のS21におい
ては、MCP301(第3図)がバスBUSを介して第9図の時
定数変換制御回路904内の時定数変換レジスタCHTRR(第
15図のレジスタ1501と同一)に現在処理をしている弦の
開放弦フレット周期CHTIOをセットする。これは、前記
「ピッチ抽出デジタル部の説明」の項の時定数変換制御
回路904の説明において述べたように、ピーク検出回路9
01(第9図又は第10図)がデジタル波形信号D1の波形の
立ち上がり時の振動を検知した後は、各ピッチ周期の倍
音を拾わないように、ピーク検出回路904内で生成され
るしきい値信号が各弦の開放弦周期、即ち最低音周期CH
TIOの時間経過にて急速減衰するようにしたものであ
る。
次に、S22において、今回ピーク値cの値が同じ符号
の前回のピーク値AMP(b)の7/8倍より大きいか否かが
判定される。この処理については後に詳述するが、通常
は弦をピッキングした波形はなめらかに自然減衰するた
めこの判定はYESとなり、次のS23を経て(後述する)S2
4に進む。
S24では、{(今回のゼロクロス時刻t)−(同じ符
号の前回のゼロクロス時刻データTFN(b))}を演算
することにより、第1回目のピッチ周期を検出する。そ
してこの結果を、後述するSTEP3でのピッチ変更の条件
として使用するために、前回周期データTP(b)として
設定する。第27図の別では、同図に示すようにTP(0)
=t−TFN(0)=t2−t0となる。
また、S24では、今回のゼロクロス時刻tが以降の処
理のために前回のゼロクロス時刻データTFN(b)とし
て設定される。第27図の例では、同図に示すようにTFN
(0)=t=t2となる。なお、STEP0で設定されたTFN
(0)=t0は、上記前回周期データTP(b)=TP(0)
が演算できたため必要なくなり消去される。
同じく、S24では、レジスタSTEPに3が書き込まれて
次のステップへの移行準備がなされる。
更に、S24では、以降の処理のために今回ピーク値c
を前回のピーク値AMP(b)として設定し、第21図のメ
インルーチンのM2の処理に戻る。第27図の例では、AMP
(0)=c=b1となる。なお、STEP0で設定されたAMP
(0)=b0は必要なくなり消去される。
《ダブリ処理の動作》 第27図のような正常なデジタル出力D1が入力している
場合には、前記STEP1において正(負)側の最大(小)
ピーク値が抽出された後は、STEP2において反対に負
(正)側の最小(大)ピーク値が抽出される。従って、
この場合のSTEP2におけるピーク値の符号はSTEP1のとき
と逆であり、更に、STEP0のときと同じとなり、第24図
のS20においては、今回正負フラグb=0(1)はSTEP0
でセットされたフラグMT=0(1)と一致し、前記した
ようにS21に進む。
ところが、前記「STEP1の処理動作」の「ダブリ処理
の動作」の項の説明において述べたのと同様に、場合に
より波形がダブって、STEP1の後に第29A図又は第29B図
に示すような波形が入力することがある。この場合、ST
EP1で正側の最大ピーク値a0が抽出された後、STEP2で再
び正側の最大ピーク値a1がダブって抽出される。従っ
て、第24図のS20においては、今回正負フラグはb=1
となり、STEP0でセットされたフラグMT=0と一致す
る。この場合は、第24図のS25に進み、ダブリ処理(エ
ラー処理)を行う。なお、第29A図、第29B図において単
純斜線のハッチを施したピークは、第9図又は第10図の
ピーク検出回路901内で生成される第29A図又は第29B図
のしきい信号p0、p1、q0等(第13図p(n)、q(n)
等と同一)にひっかからなかったため、ピークとして検
出されなかった部分である。
S25では、まず、ダブリフラグDUBを1に設定した後
(後述する)、S26に進み、今回ピーク値cの値が同じ
符号の前回のピーク値AMP(b)より大きいか否かが判
定される。
今、第29A図において、STEP0(t=t0)、STEP1(t
=t1)の処理の後、t=t2においてSTEP2が実行された
場合、c=a1>AMP(b)=AMP(1)=a0は成立しな
い。即ち、第24図のS26の判定結果はNOとなる。このよ
うな場合は、今回の最大ピーク値a1はおかしな波形とし
て無視し(同図のクロス斜線のハッチを施した部分)、
STEPは更新せずに、第21図のメインルーチンのM2の処理
に戻り、次の正常なピークが入力されるのを待つ。そし
て、t=t3において、最小ピーク値c=b1が入力するこ
とにより、第24図のS20がYESとなって、第27図の場合と
同様に、前記S21→S22→S23→S24の処理が行われ、第29
A図のt=t3で次のSTEP3の処理に進む。なお、第24図の
S24において設定される前回周期データTP(0)は、第2
9A図に示すように、今回のゼロクロス時刻t3と、STEP0
において設定された前回のゼロクロス時刻t0の差にな
る。また、後述するSTEP3において演算されるその次の
周期データTxの起点は、同図に示すようにクロス斜線の
ハッチを施したピーク(c=a1)が無視されるため、ST
EP1において設定された前回のゼロクロス時刻TFN(1)
=t1である。
一方、第29B図の場合、上記とは逆にc=a1>AMP
(b)=AMP(1)=a0は成立する。即ち、第24図のS26
の判定結果はYESとなる。このような場合は、前回のSTE
P1で抽出した最大ピーク値a0の方をおかしな波形として
無視し(同図のクロス斜線のハッチを施した部分)、ST
EP1においてセットされた前回のゼロクロス時刻データT
FN(1)、及び正側の前回のピーク値AMP(1)の内容
を、第24図のS29により今回のゼロクロス時刻t及び今
回のピーク値cと入れ替えて変更する。即ち、第29B図
の例では、同図に示すようにTFN(1)=t=t2、AMP
(1)=c=a0となる。このダブリ処理の後、STEPは更
新せずに第21図のメインルーチンのM2の処理に戻り、次
の正常のピーク値が入力するのを待つ。以下、t=t3
おいて最小ピーク値c=b1が入力した後の処理は、前記
第29A図の場合と同じである。ただし、STEP1において抽
出されたピーク(第29B図のクロス斜線のハッチを施し
たピークc=a0)が無視され、c=a1のピークに変更さ
れているため、後述するSTEP3において演算されるTP
(0)の次の周期データTyの起点は、STEP2の前記ダブ
リ処理において設定された前回のゼロクロス時刻TFN
(1)=t2となり、第29A図の場合と異なる。
以上、第29A図又は第29B図に示すように波形がダブっ
た場合は、ピーク値の小さい方のピークがおかしな波形
として無視され、エラー処理される。
次に、ダブリ処理の他の場合の処理のための、第24図
のS22の分岐について説明を行う。
今、第24図のSTEP2の処理が実行される場合、弦をピ
ッキングした正常な波形はなめらかに自然減衰するた
め、S22において今回ピーク値の値は同じ符号の前回の
ピーク値AMP(b)の7/8倍より大きい値となり、S22の
判定はYESとなって次のS23に進む。
ところが、場合によりc>(7/8)×AMP(b)が成立
しないことがある。第1の場合として、例えば弦105
(第1図)をブリッジ(第1図の107b)に近いところで
ピッキングすることにより、立ち上がり時のピーク値が
大きく、その直後のピーク値が急速に減衰する場合があ
る。このような場合には、波形は正常だがなめらかな減
衰波形とならず、S22の判定結果がNOとなることがおこ
りうる。しかし、このような場合においても、前記第24
図のS24の処理を正常に行う必要がある。そして、この
場合、波形が正常であるため、前記したようなダブリは
発生しておらず、それ以前に第24図のS20からS25へ分岐
していないため、ダブリフラグDUBの値は0のままであ
る。そこで、第24図のS27において、DUB=1が成立しな
い場合は、S22の判定結果にかかわらず、再びS24の処理
の戻り、前記「基本動作」の項で述べた処理を行う。な
お、ダブリフラグDUBは、前記第22図のSTEP0のS04の処
理において、その値が0に初期化されている。
一方、第24図のS22が成立しない第2の場合として、
波形に前記したようなダブリが発生した場合がある。こ
の場合について、第29C図を用いて以下に説明を行う。
今、第29B図で説明したのと同様に、第29C図に示すよ
うに、STEP0(t=t0)、STEP1(t=t1)の処理の後
に、t=t2において前記ダブリ処理が行われ、c=a0
ピーク(同図のクロス斜線のハッチを施したピーク)が
除去され、c=a1のピーク(同図の縦線のハッチを施し
たピーク)が残されたとする。なお、単純な斜線のハッ
チを施したピーク(c=a1)は、第29A図又は第29B図と
同様、元々検出されないピークである。
上記のようにダブリが発生すると、次のt=t3におい
ては第29C図に示すように正負フラグはb=0となるた
め、STEP0でセットされたフラグMT=0と一致する。従
って、第24図のS20からS21を介してS22の処理に進む。
ところが、t=t3において検出される今回の最小ピーク
値c=b1は、波形がダブったために同じ符号の前回の最
小ピーク値AMP(0)=b0からかなり離れており、減衰
も大きい。従って、第29C図に示すように第24図のS22の
判定結果がNOとなる場合がある。
上記のような場合は、それ以前のt=t2においてダブ
リ処理を行っているため、ダブリフラグDUBの値は1で
ある。従って、第24図のS27の判定結果はNOとなり、S28
を介して(後述する)S29に進む。
S29においては、第29C図のt=t3以後に正常な波形を
獲得して新たに処理をやり直すために、STEP0において
セットされた前回のゼロクロス時刻データTFN(0)、
及び負側の前回のピーク値AMP(0)の内容を、第24図
のS29により今回のゼロクロス時刻t及び今回のピーク
値cと入れ替えて変更する。即ち、第29C図の例では、
同図に示すようにTFN(0)=t=t3、AMP(0)=c=
b1となり、結局、同図の横線のハッチを施したピーク
(c=b0)が無視される。なお、以降の処理のために、
第24図のS28でダブリフラグDUBは0にリセットされる。
これらの動作の後、STEPの値は更新せずに第21図のメイ
ンルーチンのM2の処理に戻り、次のピークの入力を待
つ。
そして、上記の場合、第29C図に示すようにt=t4
t=t5において、第24図のSTEP2が繰り返された後、STE
P3に移行する。このようなSTEP2の繰り返し動作につい
ては様々なパターンがあるため、その詳細な説明は省略
するが、全体の流れとしては正常な波形を獲得できるよ
うになって、次のSTEP3において用いるためのデータTFN
(0)、AMP(0)、及びTFN(1)、AMP(1)が有効
に決定されるように動作した後に、STEP3に移行する。
なお、第29C図のケースでは、TP(0)=t5−t3、後述
するSTEP3において演算されるその次の周期データT2
起点は、TFN(1)=t4となる。
(STEP3の処理動作) 次に、第25図は、第21図のメインルーチンのM8として
示すステップ3(STEP3)の処理の動作フローチャート
である。この処理においては、第2回目のピッチ周期の
抽出とそれに基づくピッチ変更処理、STEP4への移行処
理、及びおかしな波形が入力したときのエラー処理等を
行う。
《基本動作》 まず、前記STEP2による処理が行われた後、第21図の
メインルーチンでは、M2→M10→M11→M2のループの繰り
返しにより、前記ピッチ抽出デジタル部304(第3図又
は第9図)から再び割り込みがかかって、レジスタT0、
C、Bに次のデータが入力するのを待っている。
そして、データが入力し、第21図のM2からM3を経て上
記各レジスタの内容が読み込まれると、M4を介してM8、
即ち第25図のSTEP3に移る。この状態においては、例え
ば第27図に示すように、今回のゼロクロス時刻t=t3
今回正負フラグb=1、今回ピーク値はb=1より最大
ピーク値でc=a1である。
まず、第25図のS30、S31、S32を経た後(後述す
る)、更に第25図のS33を経て(後述する)、S34におい
て{(今回のゼロクロス時刻t)−(同じ符号の前回の
ゼロクロス時刻データTFN(b)}を演算することによ
り、2回目のピッチ周期を検出し、前回周期データTP
(b)として設定する。第27図の例では、同図に示すよ
うにTP(1)=t3−t1となる。
続いて、第25図のS35〜S38を経た後(後述する)、S3
9において、上記S34で求まった前回周期データTP(b)
と、前記第24図のS24において設定された、上記TP
(b)とは異極性の前回周期データTP()とが、ほぼ
同一であるか否かを判定する。そして、その判定結果が
YESである場合には、ピッチ周期が安定に抽出され始め
たとして、S301を経た後(後述する)、S302においてピ
ッチ変更の処理を行う。即ち、前回周期データTP(b)
として求まった2回目のピッチ周期データを第3図のMC
P301から楽音発生回路305に出力することによりピッチ
変更が行われ、現在発音されている楽音の音高がリアル
タイムで変更される。第27図の例では、負側の前回周期
データTP(1)=t3−t1と正側の前回周期データTP
(0)=t2−t0が、ほぼ同一であると判定され、ピッチ
変更の処理に移る。なお、判定結果がNOの場合について
は後述する。
上記ピッチ変更の処理と共に、第25図のS38及びS301
において、次のSTEP4において用いられるパラメータの
設定を行なった後、S302を経て第21図のメインルーチン
のM2の処理の戻り、次のSTEP4に移行する。即ち、S38に
おいてS34で抽出された前回の周期データTP(b)が前
回抽出された周期データTTPとしてセットされ、S301に
おいて第24図のSTEP2のS24において設定された前回のゼ
ロクロス時刻データTFN()が時刻記憶レジスタTFRに
セットされ、今回のゼロクロス時刻データtが有効とな
った前回のゼロクロス時刻データTFとしてセットされ、
波形ナンバーカウンタHNCが0にクリアされ、レジスタS
TEPの値が4に更新され、ノートオンフラグONFが2(発
音状態)にセットされ、定数TTUが0(最低MIN)にセッ
トされ、定数TTWが最高MAXにセットされ、リラティブオ
フチェックのための前回の振幅値AMRL1が0にクリアさ
れる。これらの各パラメータについては、STEP4で後述
する。
《周期不適切な場合の動作》 前記第25図のS34において、前回周期データTP(b)
が検出された場合、このピッチ周期は、対応する弦を最
高音フレットに演奏したときの周期より大きい値を有
し、その弦の開放弦周期より小さい値を有するはずであ
る。
そこで、周波数上限THLIMという定数として、現在処
理をしている弦の最高音フレットで定まる音高の2〜3
半音上の音高周期を設定し、周波数下限TTLIMという定
数として、同じ弦の開放弦状態で定まる音高の5半音程
度下の音高周期を設定し、第25図のS36、S37において、
S34で求まった前回周期データTP(b)がTHLIMより大き
く、かつ、TTLIMより小さいか否かが判定される。そし
て、上記判定結果が共にYESであれば、S39に進んで前記
した周期判定処理を行う。
ここでS36、S37の判定結果がNOの場合、S34で抽出さ
れた前回周期データTP(b)は適切な値でないことにな
る。従って、このような場合は、S36又はS37から第21図
のメインルーチンのM2の処理に戻りSTEP3を繰り返す。
次に、第25図のS39において、S34で求まった前回周期
データTP(b)と、これと異極性の前回周期データTP
()とが離れた値である場合には、倍音等を抽出して
しまって正確なピッチ周期の抽出を誤った可能性が高
く、ピッチ周期が安定に抽出されていないことになる。
従って、このような場合は、S39の判定結果がNOとな
り、第21図のメインルーチンのM2の処理に戻りSTEP3を
繰り返す。
ここで、上記動作によりSTEP3を繰り返す場合、通常
の波形においては、第21図のM2、M3を介して新たに検出
されるピークは、その極性が交互に切り替わってbの値
が0と1で交互に反転し、また、第25図のS33において
フラグMTの値が交互に変更され、同じくS34においてTP
(b)が新たに演算され、TFN(b)の内容も書き替え
られる。従って、S36、S37の判定は、最も新しく求まっ
たピッチ周期に対して行われ、更に、S39における判定
は、最も新しく求まったピッチ周期と、その1つ前(約
半周期前)の異極性側のピッチ周期とに対して行われ、
ピッチ周期が安定に抽出できた時点で前記ピッチ変更の
処理へ移行することになる。
また、その都度、第25図のS32において、前回のピー
ク値AMP(b)が、新しく検出された今回ピーク値cに
対応するように更新される。
《ノイズ除去処理の動作》 第25図のS31の処理は、波形の立ち上がり部分にノイ
ズが発生した場合に対処するための処理である。今、例
えば第30図に示すように、STEP0、1、2においてノイ
ズによるピークa0,b0、a1等が検出されてしまった場
合、これらのノイズの周期を検出して発音開始を指示す
ると、全くおかしな楽音を発音してしまう。
そこで、第25図のS31においては、連続するピーク値
が大きく変化した場合には、ノイズが発生していると判
断して異常検知フラグXを1にセットし、S35においてN
Oの判定をさせることにより、ノイズ部分に基づいてノ
ートオンしないようにしている。
具体的には、今回ピーク値cを1/8した値が、それと
同符号の前回ピーク値AMP(b)より小さければ正常で
あると判断してX=0とし、そうでなければX=1とす
る。そして、S35においてX=0でないと判定された場
合には、第21図のメインルーチンのM2の処理に戻りSTEP
3を繰り返す。この場合、第25図のS32において前回ピー
ク値AMP(b)が順次更新されるため、S31における処理
は、最も新しく検出されたピーク値とその直前の同符号
のピーク値とに対して行われ、連続するピーク値が大き
く変化しなくなった時点で前記ピッチ変更の処理へ移行
することになる。第30図の例では、t=t3、t=t4共に
S31でX=1となってしまうためピッチ変更せず、t=t
5において初めて正常なピークが入力したと判断される
ためX=0となり、t=t5でピッチ変更する。そして、
この場合、連続するピッチ周期TP(b)とTP()は正
常な値となっている。
《ダブリ処理の動作》 第25図のS30の判定処理は、ダブリ処理のための判定
である。今、第27図のような正常な波形D1が入力してい
る場合には、t=t3における今回正負フラグb=1は、
フラグMT=0と一致せず、前記したようにS31へ進む。
ところが、前記「STEP1の処理動作」又は「STEP2の処
理動作」の「ダブリ処理の動作」の項の説明において述
べたのと同様に、波形がダブった場合、第25図のS30の
判定結果はNOとなる。
そして、ダブったピークのピーク値cの方が、それと
同符号の直前のピーク値AMP(b)より小さい場合は、
第25図のS303の判定結果がNOとなることによりそのダブ
ったピークを無視し、第21図のM2の処理に戻った後STEP
3を繰り返す。これは、第29A図の場合等と同様の考え方
による。
これに対して、ダブったピークのピーク値cの方が大
きかった場合は、S303の判定結果はYESとなり、S304の
処理へ進む。そして、S304では直前のピークの方を無視
して、AMP(b)の内容を今回のピーク値cに設定し直
し、第21図のM2に戻ってSTEP3を繰り返す。これは、第2
9B図の場合等と同様の考え方による。
以上の処理の後、正常なピークが入力することによ
り、S30の判定結果がYESとなり、更に、S35、S36、S37
及びS39等の各判定結果がYESとなることにより、前記ピ
ッチ変更の処理が行われ、楽音の音高が変更されること
になる。
以上に示したようにSTEP3においては、弦105(第1
図)をピッキングすることによりデジタル波形信号D1が
振動を始めた場合、その立ち上がり部分においては弦振
動が不安定でピッチ周期が乱れることがあるため、ピッ
チ周期が安定に抽出される条件を判定した後に第1回目
のピッチ変更を行う。これにより、前記STEP0でノート
オンした音高を弦振動の真のピッチ周期に対応するよう
に変更することができる。
(STEP4の処理動作) 次に、第26図は、第21図のメインルーチンのM9として
示すステップ4(STEP4)の処理の動作フローチャート
である。この処理においては、ピッチ抽出・変更処理、
リラティブオン・リラティブオフの処理、ピッチ周期不
適時の処理、及びダブリ処理等を行う。ここで、ピッチ
抽出・変更処理においては、ピッチ抽出のみを行うルー
ト、実際にピッチ変更を行うルートがあり、通常は
新たなピークが入力する毎に交互に繰り返す。
なお、STEP4でのピッチ変更処理は、STEP3の振動の立
ち上がり時に対する処理とは多少異なり、発音開始後演
奏者がチョーキング操作(フィンガーボード104(第1
図)上で弦105(第1図)を押えながらネック102の短手
方向にずらす操作)を行うか、又はトレモロアーム111
(第1図)を操作すること等により、ピッキングされた
弦105(第1図)の張力を変化させたような場合、デジ
タル波形信号D1のピッチ周期が変化するため、それに対
応してリアルタイムで音高を変更できるようにするため
になされる。
《ピッチ抽出処理(ルート)の動作》 まず、S40、S41、S42、S63〜S67に示すルートにつ
いて説明する。S40において、波形ナンバーカウンタHNC
>3が判断され、YESの場合にはS41に進む。S41では、
リラティブオンしきい値TRLRL>(今回ピーク値c−同
じ符号の前回のピーク値AMP(b))かどうかが判断が
行われ、NOの場合にはS42に進む(YESの場合は後述す
る)。
S42では今回正負フラグb=フラグMTつまりピッチ変
更側かどうかが判断され、YESの場合にはS43に進む。
ところで、初期状態では、前記波形ナンバーカウンタ
HNCは0である(第25図のS301参照)ので、S40ではNOの
判断をしてS42へ進む。そして、例えば第27図のような
波形入力の場合は、t=t4においてb=0でMT=1(第
25図のSTEP3のS33で書き替えられている)であるから、
S42からS63へ進む。
S63においては、同じ極性のピークが続けて入力され
てきているか(ダブリであるか)、否かチェックするた
めに、レジスタRIV=1かどうかが判断され、YESの場合
(ピークがダブった場合)にはS68に進んでダブリ処理
を行い(後述する)、また、NOの場合(ダブリでない場
合)にはS64に進み、ここで以下の処理が行われる。
即ち、S64では今回ピーク値cが前回のピーク値AMP
(b)に入力され、リラティブオフ処理(後述する)の
ために前回の振幅値AMRL1が前々回の振幅値AMRL2に入力
される。なお、始めはAMRL1の内容は0である(第25図
のSTEP3のS301参照)。
更に、S64において、異符号の前回のピーク値AMP
()と今回ピーク値cのうちいずれか大きい値が前回
振幅値AMRL1に入力される。つまり、周期の中で2つあ
る正、負のピーク値について大きい値のピーク値が振幅
値AMRL1にセットされる。
そして、S65で波形ナンバンーカウンタHNC>8かどう
かが判断され、ここで波形ナンバーカウンタ(ピッチ変
更側でないゼロクロスカウンタ)HNCが+1され、カン
ウトアップされる。従って、波形ナンバーカウンタHNC
は、上限が9となる。そして、S65もしくはS66の処理の
後S67へ進行する。
S67では、レジスタRIVを1とし、今回のゼロクロス時
刻tから時刻記憶レジスタTFRの内容を引算して、周期
レジスタTTRへ入力する。この周期レジスタTTRは、第27
図の例では周期情報TTR=t−TFR=t4−t2を示す。そし
て、今回のゼロクロス時刻tは、時刻記憶レジスタTFR
へセーブされ、この後、第21図のメインルーチンのM2の
処理に戻る。
以上述べたようにルートは、第27図の例によれば以
下のような処理がなされる。即ち、MT=1≠b、RIV=
0、AMP(0)←c=b2、AMRL2←AMRL1=0、AMRL1←ma
x{AMP(1)=a1、c=b2(のいずれか大きい方)}、
HNC←{HNC+1}=1、RIV←1、TTR←{t−TFR}=
{t4−t2}、TFR←t=t4となる。従って、周期レジス
タTTRに前回の同極性のゼロクロス点t=t2(STEP2→3
の変化時点)から今回のゼロクロス点t=t4までの時刻
情報の差つまり、周期情報が求まったことになる。そし
て、第21図のメインルーチンのM2の処理へ戻り、次のピ
ークが入力するのを待つ。
《ピッチ変更処理(ルート)の動作》 次に、S40〜S62に示すルートへ進んだ場合の説明を
行なう。いま、波形ナンバーカウンタHNC=1なので(S
66参照)、S40からS42へ進む(S40については後述す
る)。
S42では、例えば第27図のような場合、MT=1、b=
1なのでYESとなり、S43へ進む。
S43では、レジスタRIV=1かどうかが判断される。既
にルートにおいて、レジスタRIVは1とされている(S
67参照)ので、S43の判断はYESとなり、S44へ進む。な
お、S43の判定結果がNOとなる場合のダブリ処理につい
ては後述する。
S44では、レジスタSTEP=4かどうかが判断され、YES
の場合にはS45に進む(NOの場合については後述す
る)。S45では、今回ピーク値c<60H(Hは16進法表現
を示す)かどうかが判断され、値の大きなピーク値が入
力した場合は、この判定結果はNOとなり、S47に進む。
これに対して、値が60Hより小さい場合は、YESとなりS4
6に進む。
S46では、前々回の振幅値(ピーク値)AMRL2−前回の
振幅値(ピーク値)AMLR1≦(1/32)×前々回の振幅値
(ピーク値)AMRL2かどうかが判断され、YESの場合には
S47に進み、リラティブオフカウンタFOFRが0にセット
される。NOの場合には、S74に進みリラティブオフの処
理が行われる。このリラティブオフの処理については後
述する。
S48では周期計算がおこなわれる。具体的には(今回
のゼロクロス時刻t−前回のゼロクロス時刻データTF)
が今回の周期情報ttとしてレジスタTOTOにセットされ
る。そして、S49に進む。
S49では、今回の周期情報tt>周波数上限THLIM(発音
開始後の上限)かどうかが判断され、YESの場合にはS50
に進む(NOの場合は後述する)。S49の周波数上限THLIM
は、第25図のSTEP3のS36で使用した周波数の許容範囲の
上限(従って周期として最小で、最高音フレットの2〜
3半音上の音高周期に相当する)と同一のものである。
次に、S50では以下の処理が行われる。即ち、レジス
タRIVを0にし、今回のゼロクロス時刻tが前回のゼロ
クロス時刻データTFとして入力され、また前回のピーク
値AMP(b)が前々回ピーク値eに入力され、さらに今
回ピーク値cが前回のピーク値AMP(b)に入力され
る。
そして、S50の処理の後S51に進み、S51では、周波数
下限TLLIM>今回の周期情報ttかどうかが判断され、YES
の場合即ち今回の周期がノートオン中のピッチ抽出音域
下限以下になった場合にはS52に進む。この場合、周波
数下限TLLIMは、例えば、開放弦音階の1オクターブ下
にセットされる。つまり、第25図のSTEP3の周波数下限T
TLIM(S37参照)に比較して、許容範囲を広くしてい
る。このようにすることで、前記チョーキング操作又は
トレモロアーム111(第1図)の操作などによる周波数
変更に対応し得るようになる。
上記動作により、周波数の上限、下限について許容範
囲に入る場合についてのみS52まで進み、そうでない場
合はS49、S51より第21図のメインルーチンのM2の処理に
戻って次のピークの入力を待つ。
次に、S52では周期データTTPが前々回抽出された周期
データhに入力され、また、今回の周期情報ttが前回抽
出された周期データTTPに入力される。
そして、S53で今回ピーク値cがベロシティVELに書込
まれ、S54に進む。
S54では、ノーチェンジレベルNCHLV>(前々回ピーク
値e−今回ピーク値c)かどうかの判断が行われ、YES
の場合にはS55に進む。即ち、前回の同極性のピーク値
(e=AMP(b)と今回のピーク値cとが大きく変化し
ている場合は、その差がNCHLVを越えることになり、そ
のようなときに、抽出された周期情報に基づきピッチ変
更を行なうと、不自然な音高変化を呈することになる可
能性が高い。そこで、S54でNOの判断がなされると、S55
以降の処理をすることなく、第21図のメインルーチンの
M2の処理へ戻り、次のピークの入力を待つ。
次に、S54でYESの場合は、リラティブオフカウンタFO
FR=0か否かが判断される。後述するリラティブオフ処
理を行っているときは、リラティブオフカウンタFOFRは
0でなくなっており、そのような場合はピッチ変更(S6
1を参照)の処理を行なうことなく、S55でNOの判断をし
て第21図のメインルーチンのM2の処理へリターンする。
そして、S55にて、YESの判断をしたときは、S56、S57へ
と順次進む。
S56、S57では2波3値一致条件が判断される。S56で
は今回の周期情報tt×2-7>|今回の周期情報tt−前々
回周期データh|が判断され、YESの場合にはS57に進み、
またS57では今回の周期情報tt×2-7>|今回の周期情報
tt−周期レジスタTTRの内容|が判断され、YESの場合に
はS58に進む。即ち、S56では、第27図の例の場合、今回
の周期情報tt=t5−t3(S48参照)が、前回の周期デー
タh=TTP=t3−t1(S52参照)の値とほぼ一致するか否
かを判断し、S57では、今回の周期情報tt=t5−t3が、
それに重なる周期TTR=t4−t2(S67参照)とほぼ一致す
るか否かを判断する。なお、その限界範囲は、2-7・tt
として、周期情報に依存してその値が変わるようになっ
ている。勿論、これは固定の値としてもよいが、本実施
例採用技術の方が良好な結果を得ることができる。
次のS58では、今回の周期情報tt>定数TTUかどうかが
判断され、YESならばS59へ進み、ここで今回の周期情報
tt<定数TTWかどうかが判断され、YESならばS60へ進
む。なお、S58、S59でNOと判定される場合については後
述する。
S60では、レジスタSTEP=4であるのかどうかの判断
が行われ、YESの場合にはS61に進む。
S61では、第3図のMCP301から楽音発生回路305へピッ
チ変更が行われ、S62に進む。即ち、第3図のMCP301が
今回の周期情報ttを楽音発生回路305に出力することに
よりピッチ変更が行われ、前記チョーキング操作又はト
レモロアーム111(第1図)の操作などによる周波数変
更に対応して、現在発音されている楽音の音高がリアル
タイムで変更される。
S62では、今回の周期情報ttに対応して時定数チェン
ジをする。即ち、MCP301がバスBUSを介して第9図の時
定数変換制御回路904内の時定数変換レジスタCHTRR(第
15図のレジスタ1501と同一)に現在処理をしている弦の
今回の周期情報ttをセットする。これは前記「ピッチ抽
出デジタル部の説明」の項の時定数変換制御回路904の
説明において述べたように、MCP301が有効なピッチ周期
を抽出した後は、当該ピッチ周期時間即ちttが経過した
後に各弦対応のしきい値信号が急速減衰するように設定
して、各ピッチ周期毎の最大・最小ピーク値のタイミン
グを正確に抽出できるようにしたためである。
また、S62では、定数TTUが(17/32)×今回の周期情
報ttに書替えられ、さらに定数TTWが(31/16)×今回の
周期情報ttに書き替えられる。
更に、後述するように、リラティブオフの処理がなさ
れたときに限り、STEP=5となるが、そのときはS60か
らS62に直接進み、S61でピッチ変更を行なうことなく、
S62で時定数チェンジを行なう。
そして、S62の処理の終了で第21図のメインルーチン
のM2の処理へ戻る。
以上述べたようにルートでは、第27図の例では、次
の処理がなされる。即ち、HNC=1、MT=1=b、RIV=
1と判定され、FOFR←0、tt←t−TE=t5−t3、RIV←
0、TF←t=t5、e←AMP(1)=a1、AMP(1)←c=
a2、h←TTR=TR(1)=t3−t1、TTP←tt=t5−t3、VE
L←c=a2となり、更に、 TTP≒TTR≒tt、 TTU<tt<TTW、 AMP(0)−c<NCHLV の3条件の満足で、ttに従ったピッチ変更を行なう。そ
の後、TTU←(17/32)×tt、TTW←(31/16)×ttの設定
がなされる。
以上の動作によりルートにおいて、STEP3に続いて
楽音発生回路305(第3図)に対するピッチ変更が行わ
れ、続くゼロクロスインタラプト(次のピークの検出)
でルートの処理、同様に、続くゼロクロスインタラプ
トで、ルートの処理が行われる。このようにして、ル
ートでは、単に周期を抽出(S67を参照)し、ルート
では実際のピッチ変更(S61参照)、時定数チェンジ
処理(S62参照)が行われることになる。
《リラティブオンの処理動作》 第26図のSTEP4におけるルートのS66で、波形ナンバ
ーカウンタHNCが3を越えるようにカウントアップされ
た後は、S40においてYESの判断がなされ、次にS41へ行
き、リラティブオンの条件を検出する。
これは、c−AMP(b)>TRLRLであり、前回のピーク
値AMP(b)に比べて今回のピーク値cがしきい値TRLRL
を越えて増大したとき、つまり、これは弦105(第1
図)の操作後に同じ弦105を再度ピッキングしたとき
(トレモロ奏法などによる)にこのようなことがおき、
この場合はS41の判定結果がYESとなり、リラティブオン
の処理をすべくS41からS78へ進む。
S78では、時定数変換制御回路904(第9図)の時定数
変換レジスタCHTRR(第15図1501の同一)へ最高音フレ
ット(例えば22フレット)の周期CHTIMをセットする。
上記処理の後、第22図のSTEP0のS06へ進み、当該発音
中の楽音をノートオフした後、再発音を開始する。な
お、通常の演奏操作によれば、第26図のSTEP4のS41では
NOの判断がなされ、S42へ進み、上述したルートもし
くはルートへ進む。
《リラティブオフの処理動作》 次に、第31図を参照して、リラティブオフ処理を説明
する。リラティブオフとは、フレット操作をしている状
態から、ピッキングをしないで開放弦状態へ移行する操
作にともない消音動作を行うことをいう。
この場合、波形の振幅レベルは急激に落ちてきて、前
々回の波高値(ピーク値)AMRL2と前回の波高値(ピー
ク値)AMRL1との差が(1/32)・AMRL2を越えるようにな
り、第26図のSTEP4のS46からS74へ進む。
そして、リラティブオフカウンタFOFRが定数ROFCTを
越えるまでカウントアップするようにS74からS75へ進
む。
続けて、S75からS48へ行きS49〜S55の処理を行なう
が、FOFR=0でないので、S55の判定結果はNOとなり、
リラティブオフ処理に入る直前ではピッチ変更を行なう
ことなく第21図のメインルーチンのM2の処理へ戻る。
そして、リラティブオフ時のピークが次々に入力し、
S74でNOと判断すると、つまり第31図の例では、FOFRの
値が3となったとき(ROFCTは2である)、S74からS76
へ移行する。
ただし、S46の判断でYESの判断が一度でもあると、S4
6からS47へ進み、FOFRをリセットするように動作する。
従って、FOFCTで指定される回数だけ続けてS46の条件を
満足しなければ、リラティブオフの処理はなされない。
なお、ROFCTの値は、音高が高い弦について大きな値と
しておけば、ほぼ一定の時間経過で、いずれの弦につい
てもリラティブオフ処理ができる。
次に、S74からS76へ行くと、リラティブオフカウンタ
FOFRをリセットし、レジスタSTEPを5とし、S77へ進ん
で楽音発生回路305(第3図)に対しノートオフを指示
する。
このSTEPが5の状態では、ピッチ抽出処理をSTEP4の
時と同様に実行するが、S60からS61を介することなくS6
2へ進むので、楽音発生回路305に対しては、ピッチ変更
は指示されない。ただし、S62において抽出した周期に
従って前記時定数チェンジ処理を行なう。
そして、STEPが5の状態では、リラティブオンの処理
を受付けるが(S41、S78)、それ以外の場合では、第21
図のメインルーチンの中で、振動レベルが減少してきた
ことが検知されることによりM14でSTEPが0となり、初
期状態にもどる。
なお、S46で使用するAMRL1、AMRL2はS64で作られてお
り、1周期の中でレベルが大きい方のピーク(最大ピー
クと最小ピークとのうちのいずれか一方)がこの値とさ
れ、第31図の最大ピークakが最大ピークbk−1より必ず
大である場合であって、an+1とan+2、an+2とan+
3、an+3とan+4の差がいずれも所定値を越えるよう
になっている。
また、このときルートの処理においては、最小ピー
クbn+1、bn+2、bn+3が極端に減少してきているの
で、S54でNOの判断が成されて、第21図のメインルーチ
ンのM2の処理へ戻り、ピッチ変更処理はなされない。
《ピッチ周期不適切時の処理動作》 次に、ピッチ周期が不適切な場合、即ち、ピッチ抽出
している際に、S58又はS59でオクターブ関係にある倍
音、つまりオクターブ高い周期やオクターブ低い周期が
続けて検出されたときの処理について説明を行う。
今、第26図のSTEP4のS58の定数TTUは、第25図のSTEP3
のS301にて最小の値0とされ、定数TTWは同様に最大の
値MAXとされており、はじめてこのフローを通るときは
必ずS58、S59でYESの判断がなされるが、その後はS62に
おいて、定数TTUには、(17/32)tt(ほぼ1オクターブ
高音の周期情報)がセットされ、定数TTWには同様にS62
にて(31/16)tt(ほぼ1オクターブ低音の周期情報)
がセットされる。
従って、急激にオクターブアップする場合(これは、
振動弦を指で振動を止めるようにミュート操作したとき
などに生ずる)、又はオクターブダウンする場合(これ
は波形のピークを取り逃した時などに起る)が発生した
ときは、ピッチ変更をすると、不自然となるので、ピッ
チ変更をしないように分岐する。
即ち、S58ではttがTTUを越えなかったとき、つまり、
前回抽出した周期の17/32倍した値TTUより小になったと
き、S76へ進む。つまり、オクターブ高い音が抽出され
たときは、ミュート操作をした場合とみなし、オクター
ブ高い音を出力することなく、S58からS76へ行い、前記
リラティブオフ時同様S76、S77の処理によって当該音の
発音を停止する。
また、S59では、ttがTTWを越えなかったとき、つまり
前回抽出した周期の31/16倍した値TTWより大となったと
き、S60へ進むことなく、第21図のメインルーチンのM2
の処理へ戻る。
この状態は第32図に示されている。通常ノートオフ近
辺の非常に波形が小さい場合は、他のピッキングによっ
てヘキサピックアップ110(第1図)のクロストークや
ボディの共振によって波形が乗ってくる。すると、例え
ば、第32図のような入力波形となり、1オクターブ下の
入力波形が続けて検出されてしまうことがある。
このような場合、何等処理を施さないと、急にオクタ
ーブ下の音を出力してしまい、極めて不自然となる。そ
のために、S56、S57でTan+2≒Tan+3≒Tbn+2が検
出されても、Tan+3>Tan+1×(31/16)となるの
で、ピッチ変更することなく、S59から第21図のメイン
ルーチンのM2の処理へ戻る。
《ダブリ処理の動作》 次に、波形がダブって抽出される場合、即ち、同じ極
性のピークが続けて検出される場合の処理について説明
を行う。
まず、第26図のSTEP4のS42の判定結果がNOとなるルー
トにおいて、S63でYESの場合は、S68に進みダブリ処
理が行われる。
即ち、S63でYESの場合はS68に進み、今回ピーク値c
>同じ符号の前回のピーク値AMP(b)かどうかが判断
され、YESの場合はS69に進む。
S69では、今回ピーク値cに前回のピーク値AMP(b)
が書き替えられ、S70に進む。
S70では今回ピーク値c>前回の振幅値(ピーク値)A
MRL1かどうかが判断され、YESの場合にはS71に進み、こ
こで今回ピーク値cが前回の振幅値(ピーク値)AMRL1
とされる。
もし、S68でNOの判断がなされるとすぐに第21図のメ
インルーチンのM2の処理に戻る。従って、新しい入力波
形のピークが大である場合についてのみ、倍音のピーク
をひろっていないと考えられるので、新しい波形のピー
ク値が登録される。
また、S70でNOのときと、S71の処理の終了のときに
は、同様にメインルーチンへ戻る。
第33図に、上記ダブリ処理の例を示す。なお、この例
の場合はMT=0の状態を示している。一般に、基本波周
期と倍音成分の周期が非整数倍の関係にあるので、倍音
の位相がずれて行き、同じ極性のゼロクロスを検出して
しまうことになり、そのために誤ったピッチ変更をしな
いようにしないといけない。この図の例の場合、「ダブ
リ」と示しているところで、ダブリの状態が生じてい
る。このときは、S42からS63へ行き、YESの判断をしてS
68へ行く。S68では、この場合、(an+2)と(an+
3)との比較をして、(an+3)が(an+2)より大な
ときに限りS69へ行き、AMP(1)を書替える。そして、
更に前回の振幅値(ピーク値)AMRL1と今回の振幅情報
(ピーク値c)の比較をS70で行って、もしYESならばS7
1へ進み、今回のピーク値cを前回の振幅値(ピーク
値)AMRL1とする。
次に、第26図のSTEP4のS42の判定結果がYESとなるル
ートにおいて、次のS43でNOとなる場合は、S72に進み
上記と同様にダブリ処理が行われる。
即ち、S43でNOの場合はS72に進み、今回ピーク値c>
同じ符号の前回のピーク値AMP(b)かどうかが判断さ
れ、YESの場合はS73に進み、今回ピーク値cに前回のピ
ーク値AMP(b)が書き替えられた後、第21図のメイン
ルーチンのM2の処理へ戻る。
もし、S72でNOの判断がなされるとすぐに、第21図の
メインルーチンのM2の処理に戻る。従って、この場合
も、新しい入力波形のピークが大である場合についての
み、新しい波形のピーク値が登録される。
第34図に、その例を示す。この例ではMT=1の状態を
示している。この場合、図のダブリと書いてあるゼロク
ロス時のSTEP4の処理では、S42からS43へ行き、S43では
YESの判断をしてS72へ進む。ここで(an+3)と(an+
2)の大きさが比較され、もし(an+3)が(an+2)
より大であれば、S72でYESの判断をし、AMP(1)に、
(an+3)の値をセットし、もし逆の場合は何等変更処
理をしない。
ところで、上記のダブリ処理の場合、抽出している時
刻データは何等使用しないので、周期情報Tan+3は何
等変わらない。また、当然周期データに基づくピッチ変
更は行われない。
{第2の実施例の説明} 以上に示した実施例により、前記「本実施例による電
子弦楽器の概略動作」の項で説明したような特徴的な動
作が実現される。
上記の実施例においては、第1図のネック102内に第
2図に示したようなフレットスイッチ205が設けられ、
第3図のMCP301による楽音制御動作時における第22図の
STEP0のS011のフレットスキャンの処理においては、MCP
301はフレット番号検出部302(第3図)にフレットスイ
ッチ205の走査信号を出力することにより、同検出部302
内の特には図示しないデコーダ回路がどのフレットスイ
ッチ205が押圧されているかを表わすフレット番号を検
出し、これによりMCP301は対応する音高のノートオンの
処理(第22図S011)を行うことができる。
これに対して、第2の実施例では、上記フレットスイ
ッチ205は設けず、第1図の各フレット103を導電性部材
で構成し、また、各弦105を電気抵抗を有する導電性部
材で構成して、各弦105に電流を流すことによりブリッ
ジ107b(第1図)から弦の押圧により接触したフレット
103までの弦105の有効弦長を、その抵抗値に対応する電
圧として検出することにより、上記フレット番号を検出
する。
(構成) 第35図に第2の実施例の構成図を示す。
第1図に対応する各フレット103は導電部材で構成さ
れ、各々信号線3522により接地されている。
第1図に対応するブリッジ107a及び107bは絶縁性部材
で構成される。
第1図に対応する6本の弦105は電気抵抗を有する金
属線で構成され(同図では模式的に抵抗のように示して
ある)、ブリッジ107a側は信号線3522により接地されて
る。また、ブリッジ107b側は各々有効弦長検出部3501内
のトランジスタ3502〜3505の各コレクタ側に接続され
る。
有効弦長検出部3501は第3図のフレット番号検出部30
2に対応し、上記トランジスタ3502〜3505の各エミッタ
側には電流供給回路3507から定電流Iが流される。ま
た、各ベース側には第3図のMCP301から特には図示しな
い制御線を介して制御パルスC1〜C6が印加される。
トランジスタ3502〜3505のコレクタ側の各電圧側v1〜
v6は、ゲート3508〜3513を介してA/D変換器3520に選択
的に入力してデジタル値に変換され、有効弦長データ35
21として第3図のMCP301に出力される。ゲート3508〜35
13は、各々インバータ3514〜3519を介して入力する前記
制御パルスC1〜C6によって開閉制御される。
なお、第2図及び第3図のフレット番号検出部302以
外の、第1図、第3図、第4図〜第34図のその他の図面
は本実施例にそのまま適用される。
(動作) 上記構成の第35図の第2の実施例の動作につき以下に
説明を行う。
今、第3図のMCP301における楽音制御動作において、
第22図のSTEP0のS011のフレットスキャンの処理になる
と、MCP301から第35図の有効弦長検出部3501に対して、
第36図に示すようなローアクティブの制御パルスC1〜C6
(通常はハイレベルである)が、例えば所定の時間間隔
Tで出力される。
そして、制御パルスC1がローレベルになると、第35図
のトランジスタ3502がオンとなって、第1弦105に電流
供給回路3507から制御パルスC1と同じタイミングで定電
流I(A)が流れる。
ここで、ブリッジ107aから107bまでの弦105の抵抗値
をRとし、第12番目のフレット103が弦105の長さを2等
分するとし、演奏者が現在n番目のフレット103′を押
圧しているとすれば、電流Iが第1弦に流れたときのト
ランジスタ3502のコレクタ側の電圧値v1(ボルト)は、 となる。そして、この電圧値v1はブリッジ107からフレ
ット103′までの有効弦長lに比例する。
上記動作と同時に、インバータ3514の出力がハイレベ
ルとなってゲート3508がオンになる。これにより、上記
電圧値v1がA/D変換器3520でデジタル値に変換され、有
効弦長データ3521として第3図のMCP301に出力する。
一方、MCP301では例えば特には図示しないメモリに、
第1弦の各フレット103に対応する有効弦長データ3521
(電圧値)と音高データをテーブルとして記憶させてお
き、上記有効弦長データ3521でこのテーブルをひくこと
により、対応する音高データを生成することができる。
そして、この音高データに基づいて第22図のS012におけ
るノートオン処理を行う。
上記動作は、第36図の制御パルスC2〜C6がローアクテ
ィブになった場合も全く同様であり、第2弦〜第3弦に
対応するトランジスタ3503〜3506がオンになり、また、
インバータ3515〜3519を介して入力する制御パルスC2〜
C6によってオンとなるゲート3509〜3513を介して、各電
圧値v2〜v6がA/D変換器3520で選択的にデジタル値に変
換され、有効弦長データ3421としてMCP301に読み込ま
れ、ノートオン処理される。
なお、電流供給回路3507から流す定電流Iは数アンペ
ア程度がよいが、電力消費量を少なくするため、第36図
の各制御パルス幅Δtは第35図のA/D変換器3520の動作
可能時間以上でなるべく短く設定し、例えば10μsec程
度とする。
以上説明した第2の実施例により、現在どのフレット
103が押圧されているかを容易に知ることができる。本
実施例は、ネック102等に特別な機構は必要のないた
め、コストの低い電子弦楽器等を実現する上で特に有効
である。
{第3の実施例の説明} 次に、上記フレット番号を検出するための第3の実施
例について説明を行う。本実施例では、弦に超音波を発
信し、押圧されているフレットで反射して戻ってくるま
での往復時間を検出することによりフレット番号を検出
する。
(構成) 第37図に第3の実施例の構成図を示す。
同図において、第1図と同じ番号を付けたものは同じ
動作をするものとする。本実施例では、6弦分のヘキサ
ピックアップ110に平行に、6本の弦105に対して超音波
を発信し又は受信するための6個の圧電素子3701が、各
弦105を支持するように密着されている。
上記6個の圧電素子3701には、後述するフレット番号
検出部302内の送信部3802(第3図及び第38図参照)か
らの高周波パルス3810が入力するほか、同素子3701の出
力はアンプ3702で増幅された後、ハイパスフィルタ(HP
F、以下同じ)3703で低周波分が除去され、超音波検出
信号3704として後述するフレット番号検出部302内の受
信部3803(第3図及び第38図)に出力される。
次に、第37図は第3(又は後述する第4)の実施例に
おける第3のフレット番号検出部302の構成図である。
パルス発生回路3801から出力される高周波パルスは送
信部3802を介して3810として第37図の圧電素子3701に出
力される。
一方、上記高周波パルス3810又は第37図の圧電素子37
01(又は後述する第4の実施例における3901)からの超
音波検出信号3704(又は後述する第4の実施例における
3905)は受信部3803に入力する。
受信部3803は、高周波パルス3810の出力タイミングで
出力パルス3812を立ち上げてゲート回路3807をオンに
し、超音波検出信号3704(又は3905)の検出タイミング
で出力パルス3812を立ち下げてゲート回路3807をオフに
する。これにより、ゲート回路3707がオンの間クロック
発振器3806からのクロックCLKがカウンタ3808をカウン
トアップさせる。
また、立ち下がり微分回路3804は、出力パルス3812の
立ち下がりタイミングを検出して制御パルス3813を出力
し、ラッチ回路3809を動作させる。
上記制御パルス3813は遅延回路3805で所定時間遅延さ
れた後、カウンタ3808のリセット端子RSTに入力して同
カウンタをリセットする。
カウンタ3808の計数出力3814はラッチ3809を介してデ
ータ変換テーブル3815でフレット番号に変換され、フレ
ット番号データ3816として第3図のMCP301へ出力され
る。
また、カウンタ3808からのオーバーフロー信号3817
は、受信部3803に入力し、受信動作を停止させる。
上記第3の実施例において、第37図のアンプ3702、HP
F3703、及び第38図のフレット番号検出部302(第3図参
照)は、圧電素子3701の6弦分の出力に対応して6回路
分あるが、以後は便宜上1回路分のみ説明を行う。
また、上記以外の第1図〜第34図の図面は本実施例に
そのまま適用される。
(動作) 上記構成の第37図及び第38図の第3の実施例の動作に
つき説明を行う。
今、第3図のMCP301における楽音制御動作において、
第22図のSTEP0のS011のフレットスキャンの処理になる
と、MCP301から第3図のフレット番号検出部302に動作
命令が出力される。
これにより、第38図の送信部3802は、パルス発生回路
3801からの高周波パルス3810を第37図の圧電素子3701に
出力する。
これと同時に、受信部3803は高周波パルス3810の出力
タイミングを検出し、出力パルス3812を立ち上げてゲー
ト回路3807をオンにする。従って、クロック発振器3806
からのクロックCLKがカウンタ3808に入力し、カウンタ3
808は計数を開始する。
また、上記高周波パルス3810により、第37図の圧電素
子3701は弦105(現在制御中のいずれか1弦)に数百KHz
の周波数の超音波を発信する。
ここで、演奏者が現在いずれかのフレット103を押圧
していれば、上記弦105上を伝搬する超音波は、当該フ
レット103の部分で伝搬してきた方向に反射される。
従って、超音波が第37図の圧電素子3701から現在押圧
しているフレット103の位置までの弦105の長さを往復す
る時間の後に、圧電素子3701において上記反射された超
音波が検出される。
この反射波の検出信号は、第37図のアンプ3702で増幅
された後、HPF3703において、演奏者が弦105をピッキン
グしたことによる低周波の振動成分が除去され、超音波
検出信号3704として第38図の受信部3803に入力する。
これにより、受信部3803は出力パルス3812を立ち下げ
てゲート回路3807をオフにする。従って、カウンタ3808
での計数動作が停止される。
そして、上記出力パルス3812の立ち下がりタイミング
は、立ち下がり微分回路3804で制御パルス3813として検
出され、これによりラッチ回路3809が動作する。従っ
て、ラッチ回路3809には、前記停止時のカウンタ3808の
計数出力3814がラッチされる。
従って、上記計数出力3814は、第37図の圧電素子3701
から超音波が発信され、それが現在押圧中のフレット10
3が反射して再びもどってくるまでの時間に対応してい
る。そしてこの時間は、押圧されているフレット103の
位置即ちフレット番号に対応して変化する。
そこで、第38図のデータ変換テーブル3815に各計数出
力に対応するフレット番号を予め記憶させておくことに
より、上記計数出力3814に対応するフレット番号がデー
タ変換テーブル3815で検索され、フレット番号データ38
16として第3図のMCP301へ出力される。
なお、上記ラッチ回路3809の動作タイミングから少し
遅れて遅延回路3805の出力がカウンタ3808をリセットす
ることにより、次のフレットスキャン動作が可能な状態
になる。
また、演奏者が第37図のどのフレット103も押圧して
いない場合、カウンタ3808はオーバーフローをおこす
が、この場合はカウンタ3808からオーバーフロー信号38
17が受信部3803に出力されることにより、出力パルス38
12が立ち下げられ前記と同様にカウンタ3808が停止す
る。このとき、計数出力3814は計数可能な最大値となっ
ているが、この場合にはフレット番号データ3816として
開放弦状態を示すデータを出力するようにしておく。
上記動作の後、第3図のMCP301は入力するフレット番
号データ3816に対応する音高データを生成し、これに基
づいて第22図のS012におけるノートオン処理を行う。
以上説明した第3の実施例により、第2の実施例と同
様に現在どのフレット103が押圧されているかを容易に
知ることができる。なお、本実施例では、演奏者が第37
図の弦105をピッキングすることによる弦振動周波数
は、その振動周期が超音波の周波数に比較して十分に低
いため、第37図のHPF3703により有効に除去される。そ
して上記弦振動は、第37図のヘキサピックアップ110の
方で検出され、第3図のピッチ抽出アナログ部303に入
力することにより、既に説明したピッチ抽出処理等がな
される。
以上の動作は、第38図の回路を6回路分設けることに
より、6弦の各々に対応する圧電素子3701に対して独立
して制御を行うことができる。また、6弦分を1つの回
路で時分割処理によって制御するようにしてもよい。
{第4の実施例の説明} 第39図のフレット番号を検出するための第4の実施例
について説明を行う。
(構成) 本実施例は、第37図のヘキサピックアップ110と圧電
素子3701を、第39図のように1つの圧電素子3901で置き
替えた構成を有する。
そして、圧電素子3901には、既に説明した第3図又は
第38図のフレット番号検出部302内の送信部3802からの
高周波パルス3810が入力するほか、同素子3901の出力は
アンプ3902で増幅された後、その出力3904についてHPF3
903で低周波成分がろ波され、超音波検出信号3905とし
て第3図又は第38図のフレット番号検出部302内の受信
部3803に出力される。同時にアンプ3902の出力3904は、
第3図のピッチ抽出アナログ部303に入力し弦振動の検
出が行われる。
(動作) 上記構成の第39図及び第38図の第4の実施例の動作に
つき説明を行う。
本実施例では、圧電素子3901に第37図の第3の実施例
における圧電素子3701とヘキサピックアップ110の2つ
の働きを兼用させる。
そして、第3図又は第38図のフレット番号検出部302
から第39図の圧電素子3801へ入力する高周波パルス3810
及び圧電素子3901からアンプ3902、HPF3903を介してフ
レット番号検出部302へ出力される超音波検出信号3905
に関する動作は前記第3の実施例の場合と全く同様であ
る。
この場合、演奏者が第39図の弦105をピッキングする
ことによる低周波数を弦振動も、圧電素子3901において
同時に検出されるが、この成分はHPF3903によって有効
に除去されるため、第38図のフレット番号検出部302へ
出力される超音波検出信号3905に上記低周波成分が混入
されてしまうのを防止することができる。
一方、上記弦振動の成分はアンプ3902の出力3904を第
3図又は第5図のピッチ抽出アナログ部303へ入力させ
ることにより検出できる。この場合、上記出力3904(各
弦105に対応して6出力である)は、第5図の入力端子5
34〜539を介してLPF501〜LPF506に入力する。従って、
出力3904に混入している超音波を検出したことによる高
周波成分が有効に除去され、第7図W1に示したような低
周波の波形信号のみを抽出することができ、既に説明し
たピッチ抽出処理等がなされる。
以上に示したように、本実施例では低周波数の弦振動
を検出する動作と、フレット番号検出のための超音波の
送受信動作を、1つの圧電素子3901で兼用することがで
き、構成を簡略化することができる。
〔発明の効果〕
本発明によれば、楽音の発音開始時の弦振動発生の検
出及び弦押圧位置を、各々弦振動検出手段及び弦押圧位
置検出手段により、弦ピッキングに対して非常に早いタ
イミングで検出することができ、レスポンスの良好な楽
音の発音が可能となる。
そして、楽音の発音開始後のピッチの検出及び音高制
御は、ピッチ検出手段及び楽音制御手段がリアルタイム
で行うため、弦振動に良く対応した楽音の音高制御が可
能となり、チョーキング操作又はトレモロアームの操作
等に基づく表現力の富んだ演奏効果を得ることができ
る。
ここで、弦振動波形の有効なピーク値及びその直後の
ゼロクロス時刻を検出して、これらの情報に基づいて前
記弦振動検出手段及びピッチ検出手段を動作させること
により、効率の良い処理が可能となる。
そして、弦を複数設け各弦に対して時分割処理を行う
ことにより、更に演奏効果を高めることができる。
上記動作において、弦押圧位置検出手段を、フレット
スイッチにより構成することにより、フレット操作と同
時に弦押圧位置を検出できるため、楽音の発音開始時の
制御を迅速に行うことが可能となる。
また、弦押圧位置検出手段と、弦とフレットとの電気
的接触を検知して、弦押圧位置を検出するように構成す
ることにより、フレットの部分の構造を変えることな
く、フレット操作と同時に弦の押圧位置を検出でき、上
記と同様楽音の発音開始時の制御を迅速に行うことがで
きる。
一方、押圧位置検出手段を、超音波発信手段が弦に対
して超音波を発信してから超音波受信手段が超音波を受
信するまでの時間を計測し、計測した時間に基づいて押
圧位置を検出するように構成することにより、上記と同
様にフレットの部分の構造を変えることなく、上記効果
が得られる。
更に、そのときの超音波送受信手段を受信手段が検出
した超音波と低周波とを分離すると共に、該超音波を計
時手段に、該低周波を弦振動検出手段及び前記ピッチ検
出手段にそれぞれ供給することにより、上記各機構の簡
略化が図れ、コストの低減が可能となる。
【図面の簡単な説明】
第1図は、本発明による電子弦楽器の外観構成図、 第2図は、フレットスイッチの構成図、 第3図は、本発明による電子弦楽器の全体ブロック図、 第4図は、本実施例の概略動作説明図、 第5図は、ピッチ抽出アナログ部の構成図、 第6図は、ピッチ抽出アナログ部の動作タイミングチャ
ート図、 第7図は、Φ1,W1,VIN,VOUT及びZCRの関係図、 第8図(a),(b)は、弦のエンベロープとノートオ
ン時間の関係図、 第9図は、ピッチ抽出デジタル部の全体ブロック図、 第10図は、ピーク検出回路の具体構成図、 第11図は、ピーク検出回路の具体的動作タイミングチャ
ート図、 第12図は、ピーク検出回路の具体的動作説明図、 第13図(a),(b)は、振幅の大小とピーク検出回路
の動作の関係を示した図、 第14図は、ピーク検出回路の各弦毎の減算動作タイミン
グチャート図、 第15図は、時定数変換制御回路の具体構成図、 第16図は、時定数変換制御回路の動作説明図、 第17図は、ゼロクロス時刻取込回路の具体構成図、 第18図は、ゼロクロス時刻取込回路の動作タイミングチ
ャート図、 第19図は、波高値取込回路の具体構成図、 第20図は、割込み処理ルーチンの動作フローチャートを
示した図、 第21図は、メインルーチンの動作フローチャートを示し
た図、 第22図は、STEP0の動作フローチャートを示した図、 第23図は、STEP1の動作フローチャートを示した図、 第24図は、STEP2の動作フローチャートを示した図、 第25図は、STEP3の動作フローチャートを示した図、 第26図は、STEP4(5)の動作フローチャートを示した
図、 第27図は、本実施例の基本動作説明図、 第28図(a)、(b)は、STEP1におけるタブリ処理の
動作説明図、 第29A図、第29B図、第29C図は、それぞれSTEP2における
ダブリ処理の動作説明図、 第30図は、STEP3におけるノイズ除去処理の動作説明
図、 第31図は、STEP4におけるリラティブオフ処理の動作説
明図、 第32図は、STEP4におけるピッチ周期不適切時の処理動
作説明図、 第33図は、ルートにおけるダブリ処理の動作説明図、 第34図は、ルートにおけるダブリ処理の動作説明図、 第35図は、第2の実施例の構成図、 第36図は、第2の実施例の動作タイミングチャート図、 第37図は、第3の実施例の構成図、 第38図は、第3、第4の実施例におけるフレット番号検
出部の構成図、 第39図は、第4の実施例の構成図である。 101…胴部、102…ネック、103…フレット、104…フィン
ガーボード、105…弦、107a,107b…ブリッジ、110…ヘ
キサピックアップ、202…ゴムシート、205…フレットス
イッチ、301…中央制御装置(MCP)、302…フレット番
号検出部、303…ピッチ抽出アナログ部、304…ピッチ抽
出デジタル部、305…楽音発生回路、501…ローパスフィ
ルタ(LPF)、3501…有効弦長検出部、3701,3901…圧電
素子、3703,3903…ハイパスフィルタ(HPF).

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】本体に張設される弦と、 前記弦の押圧位置を検出する押圧位置検出手段と、 前記弦の振動発生を検出する弦振動検出手段と、 前記弦の振動のピッチを検出するピッチ検出手段と、 前記弦振動検出手段が前記弦の振動発生を検出した場
    合、前記押圧位置検出手段が検出する前記弦の押圧位置
    に対応する音高の楽音の発生開始を指示し、該楽音発生
    中には、ピッチ検出手段が検出する前記弦の振動のピッ
    チに基づいて該発生中の楽音の音高を制御する楽音制御
    手段と を有することを特徴とする電子弦楽器。
  2. 【請求項2】前記弦振動検出手段は、前記弦振動の振動
    波形のピーク値が所定値を越えたことを条件に前記弦振
    動の発生を検出し、 前記ピッチ検出手段は、前記弦振動の振動波形のピーク
    値の直後のゼロクロス時刻の間隔に基づいて前記弦振動
    のピッチを抽出する ことを特徴とする請求項1記載の電子弦楽器。
  3. 【請求項3】前記弦は前記本体に複数本張設され、 前記押圧位置検出手段、前記弦振動検出、前記ピッチ検
    出手段及び前記楽音制御手段の少なくとも1つは、前記
    複数本の弦に対する動作を時分割処理によって行う ことを特徴とする請求項1記載の電子弦楽器。
  4. 【請求項4】前記押圧位置検出手段は、前記本体上の前
    記弦の下方の複数の位置に設けられ、弦が押圧されるこ
    とにより接触する複数のフレットスイッチと、該各フレ
    ットスイッチの状態を検出するスイッチスキャン手段と
    を有してなる ことを特徴とする請求項1記載の電子弦楽器。
  5. 【請求項5】前記本体上の前記弦の下方の複数の位置に
    設けられ、弦が押圧されることにより該弦と接触し、該
    弦の有効弦長を該弦の押圧位置に応じて変化させる複数
    のフレットを更に有する ことを特徴とする請求項1記載の電子弦楽器。
  6. 【請求項6】前記弦は、導電性部材によって形成され、 前記フレットは、導電性部材によって形成され、 前記押圧位置検出手段は、前記弦と前記フレットとの電
    気的接触を検知することにより、いずれの該フレットに
    対応する位置において該弦が押圧されたかを検出する ことを特徴とする請求項5記載の電子弦楽器。
  7. 【請求項7】前記弦は超音波を伝播可能な部材によって
    形成され、 前記押圧位置検出手段は、前記弦の指示部近傍から該弦
    に対して超音波を発信する超音波発信手段と、前記弦が
    押圧されている際に該超音波発信手段が発信した超音波
    を、該超音波がフレットに達した後で受信する受信手段
    と、前記超音波発信手段が超音波を発信してから前記超
    音波受信手段が超音波を受信するまでの時間を計測する
    計時手段とを有し、該計時手段が計時した時間に基づい
    て前記弦の押圧位置を検出する ことを特徴とする請求項5記載の電子弦楽器。
  8. 【請求項8】前記押圧位置検出手段の前記受信手段は、
    前記超音波と共に低周波を検出し、 前記押圧位置検出手段は、前記受信手段が検出した前記
    超音波と前記低周波とを分離すると共に、該超音波を計
    時手段に、該低周波を前記弦振動検出手段及び前記ピッ
    チ検出手段にそれぞれ供給する分離手段を更に有し、 前記弦振動検出手段は、前記押圧位置検出手段の分離手
    段から供給された前記低周波に基づいて前記弦の振動発
    生を検出し、 前記ピッチ検出手段は、前記押圧位置検出手段の分離手
    段から供給された前記低周波に基づいて前記弦の振動の
    ピッチを検出する ことを特徴とする請求項7記載の電子弦楽器。
JP63109625A 1988-05-02 1988-05-02 電子弦楽器 Expired - Lifetime JP2615825B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63109625A JP2615825B2 (ja) 1988-05-02 1988-05-02 電子弦楽器
US07/345,101 US5024134A (en) 1988-05-02 1989-04-28 Pitch control device for electronic stringed instrument
EP89107947A EP0340734B1 (en) 1988-05-02 1989-05-02 Control apparatus for an electronic stringed instrument
DE8989107947T DE68904106T2 (de) 1988-05-02 1989-05-02 Steuergeraet fuer ein elektronisches saiteninstrument.
KR1019890005927A KR920010919B1 (ko) 1988-05-02 1989-05-02 전자 현악기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63109625A JP2615825B2 (ja) 1988-05-02 1988-05-02 電子弦楽器

Publications (2)

Publication Number Publication Date
JPH01279297A JPH01279297A (ja) 1989-11-09
JP2615825B2 true JP2615825B2 (ja) 1997-06-04

Family

ID=14515029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63109625A Expired - Lifetime JP2615825B2 (ja) 1988-05-02 1988-05-02 電子弦楽器

Country Status (5)

Country Link
US (1) US5024134A (ja)
EP (1) EP0340734B1 (ja)
JP (1) JP2615825B2 (ja)
KR (1) KR920010919B1 (ja)
DE (1) DE68904106T2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2775651B2 (ja) * 1990-05-14 1998-07-16 カシオ計算機株式会社 音階検出装置及びそれを用いた電子楽器
US5162603A (en) * 1991-01-15 1992-11-10 Bunker David D Muting for touch guitar
US5270475A (en) * 1991-03-04 1993-12-14 Lyrrus, Inc. Electronic music system
WO1994014156A1 (en) * 1992-12-15 1994-06-23 Lyrrus Incorporated Electronic music system
US5591931A (en) * 1995-01-17 1997-01-07 Virtual Dsp Corporation Musical signal multiplexing circuit and demultiplexing system
US6610917B2 (en) * 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
US7220912B2 (en) 1999-04-26 2007-05-22 Gibson Guitar Corp. Digital guitar system
AU2002248328A1 (en) * 2001-01-12 2002-08-28 Protune Corp. Self-aligning ultrasonic sensor system, apparatus and method for detecting surface vibrations
US6995310B1 (en) * 2001-07-18 2006-02-07 Emusicsystem Method and apparatus for sensing and displaying tablature associated with a stringed musical instrument
US6777608B1 (en) * 2002-01-12 2004-08-17 Travis Redding Integrated sound trigger musical instruments
US20050002643A1 (en) * 2002-10-21 2005-01-06 Smith Jason W. Audio/video editing apparatus
JP3941707B2 (ja) * 2003-02-17 2007-07-04 ヤマハ株式会社 電子楽器
US8450593B2 (en) * 2003-06-09 2013-05-28 Paul F. Ierymenko Stringed instrument with active string termination motion control
US7115810B2 (en) * 2004-07-15 2006-10-03 Ambrosonics, Llc Programmable/semi-programmable pickup and transducer switching system
JP2006267342A (ja) * 2005-03-23 2006-10-05 Roland Corp 楽音制御装置および楽音制御プログラム
JP5098404B2 (ja) * 2006-10-27 2012-12-12 ソニー株式会社 音声処理方法および音声処理装置
US7928309B2 (en) * 2007-04-19 2011-04-19 The Trustees Of Columbia University In The City Of New York Scat guitar signal processor
US7598450B2 (en) * 2007-04-19 2009-10-06 Marcodi Musical Products, Llc Stringed musical instrument with improved method and apparatus for tuning and signal processing
JP2011509800A (ja) * 2008-01-24 2011-03-31 745 エルエルシー 弦付きコントローラおよび/または楽器のための方法ならびに装置
US20100037755A1 (en) * 2008-07-10 2010-02-18 Stringport Llc Computer interface for polyphonic stringed instruments
CN102422531B (zh) * 2009-06-29 2014-09-03 三菱电机株式会社 音频信号处理装置
KR101047516B1 (ko) * 2009-12-07 2011-07-08 안정모 현악기의 소음방지 장치
US8653350B2 (en) * 2010-06-01 2014-02-18 Casio Computer Co., Ltd. Performance apparatus and electronic musical instrument
US8796531B2 (en) 2010-07-15 2014-08-05 Ambrosonics, Llc Programmable pickup director switching system and method of use
US9263015B2 (en) * 2010-10-28 2016-02-16 Gibson Brands, Inc. Wireless electric guitar
JP6048151B2 (ja) * 2013-01-08 2016-12-21 カシオ計算機株式会社 電子弦楽器、楽音生成方法及びプログラム
JP6127519B2 (ja) * 2013-01-08 2017-05-17 カシオ計算機株式会社 楽音制御装置、楽音制御方法及びプログラム
JP6171347B2 (ja) * 2013-01-08 2017-08-02 カシオ計算機株式会社 電子弦楽器、楽音生成方法及びプログラム
JP6135312B2 (ja) * 2013-06-10 2017-05-31 カシオ計算機株式会社 電子弦楽器、楽音制御方法及びプログラム
JP6361109B2 (ja) * 2013-10-24 2018-07-25 カシオ計算機株式会社 電子弦楽器、楽音制御方法及びプログラム
CA2945916A1 (en) * 2014-03-18 2015-09-24 O.M.B. Guitars Ltd. A detecting system for a string instrument
US9646591B1 (en) * 2015-01-21 2017-05-09 Leroy Daniel Young System, method, and apparatus for determining the fretted positions and note onsets of a stringed musical instrument
US9626947B1 (en) * 2015-10-21 2017-04-18 Kesumo, Llc Fret scanners and pickups for stringed instruments
US20220293071A1 (en) * 2019-07-12 2022-09-15 Technology Connections International Pty Ltd Vibrato control mechanism

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1478722A (en) * 1975-05-03 1977-07-06 Avant W Stringed musical instrument with elecgronic time-division multiplexing circuitry
JPS5299808A (en) * 1976-02-16 1977-08-22 Roland Corp Fundamental wave selector circuit
JPS5332708A (en) * 1976-09-08 1978-03-28 Kawai Musical Instr Mfg Co Electronic stringed instrument
US4235141A (en) * 1978-09-18 1980-11-25 Eventoff Franklin Neal Electronic apparatus
JPS5587196A (en) * 1978-12-23 1980-07-01 Nippon Musical Instruments Mfg External music tone input type electronic musical instrument
US4280387A (en) * 1979-02-26 1981-07-28 Norlin Music, Inc. Frequency following circuit
JPS55159495A (en) * 1979-05-31 1980-12-11 Nippon Musical Instruments Mfg Musical sound input type electronic musical instrument
JPS55162132A (en) * 1979-06-06 1980-12-17 Hitachi Ltd Data transfer system
US4377961A (en) * 1979-09-10 1983-03-29 Bode Harald E W Fundamental frequency extracting system
US4321852A (en) * 1979-12-19 1982-03-30 Young Jr Leroy D Stringed instrument synthesizer apparatus
US4336734A (en) * 1980-06-09 1982-06-29 Polson Robert D Digital high speed guitar synthesizer
US4677419A (en) * 1982-02-16 1987-06-30 University Of Pittsburgh Electronic musical instrument
JPS58175596A (ja) * 1982-04-08 1983-10-14 株式会社ナカ技術研究所 物干装置
JPS58168793U (ja) * 1982-05-06 1983-11-10 ロ−ランド株式会社 ギタ−
US4468997A (en) * 1983-02-07 1984-09-04 John Ellis Enterprises Fretboard to synthesizer interface apparatus
US4633748A (en) * 1983-02-27 1987-01-06 Casio Computer Co., Ltd. Electronic musical instrument
EP0125145A1 (en) * 1983-05-10 1984-11-14 Synthaxe Limited Electronic musical instrument
US4570521A (en) * 1984-03-30 1986-02-18 Jeffrey Fox Electronic musical instrument with string-simulating switches
JPS6126090A (ja) * 1984-07-16 1986-02-05 セイコーインスツルメンツ株式会社 音程検出装置
US4627323A (en) * 1984-08-13 1986-12-09 New England Digital Corporation Pitch extractor apparatus and the like
WO1987000330A1 (en) * 1985-07-09 1987-01-15 Stepp Electronics Limited Electronic musical instrument
JPS6247698A (ja) * 1985-08-27 1987-03-02 ローランド株式会社 弦押圧位置検出装置
US4723468A (en) * 1985-10-26 1988-02-09 Nippon Gakki Seizo Kabushiki Kaisha Electronic stringed instrument
JPS62163099A (ja) * 1986-01-13 1987-07-18 フジゲン株式会社 シンセサイザ用ギタ−コントロ−ラ
JPS62174795A (ja) * 1986-01-28 1987-07-31 ヤマハ株式会社 電子弦楽器
FR2598017B1 (fr) * 1986-04-25 1990-10-05 Dianous Herve De Dispositif de commande d'un synthetiseur de frequences par un instrument de musique a cordes frottees.
US4911053A (en) * 1986-07-04 1990-03-27 Casio Computer Electronic stringed instrument having a string trigger switch
EP0288062B1 (en) * 1987-04-22 1993-01-07 Yamaha Corporation Electronic musical instrument

Also Published As

Publication number Publication date
DE68904106T2 (de) 1993-07-22
JPH01279297A (ja) 1989-11-09
EP0340734A3 (en) 1990-05-23
EP0340734B1 (en) 1992-12-30
US5024134A (en) 1991-06-18
KR890017655A (ko) 1989-12-16
DE68904106D1 (de) 1993-02-11
EP0340734A2 (en) 1989-11-08
KR920010919B1 (ko) 1992-12-24

Similar Documents

Publication Publication Date Title
JP2615825B2 (ja) 電子弦楽器
JP2805598B2 (ja) 演奏位置検出方法およびピッチ検出方法
JP2734521B2 (ja) 楽音制御装置
US5048391A (en) Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal
JP3653854B2 (ja) 弦楽器型電子楽器
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
JP2722584B2 (ja) 楽音制御装置
JP2775633B2 (ja) 楽音制御装置
JP2615946B2 (ja) 楽音制御装置
JP2661481B2 (ja) 電子楽器
JP2611263B2 (ja) 発音制御装置
JP2858313B2 (ja) 音高情報生成装置
JP2661065B2 (ja) 発音制御装置
JP6135312B2 (ja) 電子弦楽器、楽音制御方法及びプログラム
JP2958778B2 (ja) 楽音発生装置
JP2661066B2 (ja) 発音制御装置
JP2591001B2 (ja) 電子弦楽器
JP2591000B2 (ja) 電子弦楽器
JP2775628B2 (ja) 音高決定装置
JP2605773B2 (ja) 電子弦楽器
JP2530928Y2 (ja) 電子楽器のレベル表示装置
JP2014153434A (ja) 電子弦楽器、楽音生成方法及びプログラム
JP3293179B2 (ja) 電子弦楽器
JPH01100597A (ja) 発音制御装置