JPH083711B2 - 入力波形信号制御装置 - Google Patents
入力波形信号制御装置Info
- Publication number
- JPH083711B2 JPH083711B2 JP62058634A JP5863487A JPH083711B2 JP H083711 B2 JPH083711 B2 JP H083711B2 JP 62058634 A JP62058634 A JP 62058634A JP 5863487 A JP5863487 A JP 5863487A JP H083711 B2 JPH083711 B2 JP H083711B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- register
- scale name
- pitch
- scale
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】 [発明の技術分野] この発明は例えば電子ギター等における入力波形信号
制御装置に関する。
制御装置に関する。
[発明の背景] 従来より、自然楽器の演奏操作によって発生する波形
信号からピッチ(基本周波数)を抽出し、電子回路で構
成された音源装置を制御して、人工的に楽音等の音響を
得るようにしたものが種々開発されている。
信号からピッチ(基本周波数)を抽出し、電子回路で構
成された音源装置を制御して、人工的に楽音等の音響を
得るようにしたものが種々開発されている。
この種の電子楽器では、入力波形信号のピッチを抽出
してから音源装置に対し当該ピッチに対応する音階名を
発生するよう指示するのが一般的である。
してから音源装置に対し当該ピッチに対応する音階名を
発生するよう指示するのが一般的である。
この場合、抽出したピッチデータに対応する音階名を
決定するために、各音階名間のピッチデータに対する区
切値を記憶しておき、この区切値に基づいて、抽出した
ピッチデータの属する音階名を検索するようにしてい
た。
決定するために、各音階名間のピッチデータに対する区
切値を記憶しておき、この区切値に基づいて、抽出した
ピッチデータの属する音階名を検索するようにしてい
た。
このため、入力波形信号のピッチがポルタメント、グ
ライド(グリッサンド)、スライド(スラー)、ライト
ハンド等の奏法で各音階名の区切値を越えて次第に変化
していくとき、この区切値を越える瞬間、わずかなピッ
チのふらつきで区切値を数回横切ってしまい、隣合った
音階音を短時間のうちに交互に出力してしまうという問
題点があった。
ライド(グリッサンド)、スライド(スラー)、ライト
ハンド等の奏法で各音階名の区切値を越えて次第に変化
していくとき、この区切値を越える瞬間、わずかなピッ
チのふらつきで区切値を数回横切ってしまい、隣合った
音階音を短時間のうちに交互に出力してしまうという問
題点があった。
[発明の目的] この発明は上述した事情に鑑みてなされたもので、そ
の目的とするところは、例えば、ポルタメントやグライ
ド等の奏法で音階音が順次変化していくときに、音階音
のふらつきがなく、安定した状態で、なめらかかつきれ
いに音階音を変化させていくことのできる入力波形信号
制御装置を提供することにある。
の目的とするところは、例えば、ポルタメントやグライ
ド等の奏法で音階音が順次変化していくときに、音階音
のふらつきがなく、安定した状態で、なめらかかつきれ
いに音階音を変化させていくことのできる入力波形信号
制御装置を提供することにある。
[発明の要点、作用] この発明は上述した目的を達成するために、入力波形
信号制御装置において、入力波形信号のピッチを抽出す
るピッチ抽出手段と、このピッチ抽出手段で抽出される
ピッチデータより音階名の決定するための、各音階名間
のピッチデータに対する区切値を記憶する記憶手段と、
この記憶手段の各区切値に基づいて、上記ピッチ抽出手
段より抽出したピッチデータの属する音階名を検索する
検索手段と、この検索手段によって音階名が検索された
後、この音階名に係る上限の区切値を増加させ、下限の
区切値を減少させる変更手段と、上記検索手段で検索さ
れた音階名に応じた音響信号の発生を指示する指示手段
とを有することを要点とする。
信号制御装置において、入力波形信号のピッチを抽出す
るピッチ抽出手段と、このピッチ抽出手段で抽出される
ピッチデータより音階名の決定するための、各音階名間
のピッチデータに対する区切値を記憶する記憶手段と、
この記憶手段の各区切値に基づいて、上記ピッチ抽出手
段より抽出したピッチデータの属する音階名を検索する
検索手段と、この検索手段によって音階名が検索された
後、この音階名に係る上限の区切値を増加させ、下限の
区切値を減少させる変更手段と、上記検索手段で検索さ
れた音階名に応じた音響信号の発生を指示する指示手段
とを有することを要点とする。
その結果、例えばポルタメントやグライド等の奏法に
よってピッチデータが変化して区切値を越え、割当音階
名が切り換ったら、この新たに割当てられた音階名に対
応するピッチデータの範囲を上記同様にして拡大し、そ
の結果ピッチデータの多少のふらつきでは、割当音階名
が再び元の音階名とならないようにする。
よってピッチデータが変化して区切値を越え、割当音階
名が切り換ったら、この新たに割当てられた音階名に対
応するピッチデータの範囲を上記同様にして拡大し、そ
の結果ピッチデータの多少のふらつきでは、割当音階名
が再び元の音階名とならないようにする。
この発明は、半音(100セント)単位で、各音階名を
決定するタイプの電子楽器の入力装置に適用されること
は勿論、50セント単位あるいは25セント単位で、各音を
決定するタイプの電子楽器の入力装置に適用でき、本明
細書で使用する「音階」もしくは「音階名」の用語は、
一般に使用されている100セント単位の音を意味するの
みならず、更に微小なセント単位の音をも意味するので
あって、拡大して解釈すべきである。
決定するタイプの電子楽器の入力装置に適用されること
は勿論、50セント単位あるいは25セント単位で、各音を
決定するタイプの電子楽器の入力装置に適用でき、本明
細書で使用する「音階」もしくは「音階名」の用語は、
一般に使用されている100セント単位の音を意味するの
みならず、更に微小なセント単位の音をも意味するので
あって、拡大して解釈すべきである。
[実施例] 以下、本発明を電子ギターに適用した一実施例につい
て図面を参照して詳述する。
て図面を参照して詳述する。
下記の実施例では、以下に説明するとおりピッチ抽出
回路P1〜P6がピッチ抽出手段に、音階名RAM42が記憶手
段に、ステップS401〜S403、S40、S43を実行するCPU100
が検索手段に、ステップS42を実行するCPU100が変更手
段に、ステップS25〜S29、S45、S17〜S20、S41を実行す
るCPU100が指示手段に夫々対応する。
回路P1〜P6がピッチ抽出手段に、音階名RAM42が記憶手
段に、ステップS401〜S403、S40、S43を実行するCPU100
が検索手段に、ステップS42を実行するCPU100が変更手
段に、ステップS25〜S29、S45、S17〜S20、S41を実行す
るCPU100が指示手段に夫々対応する。
全体回路構成 第1図は、同実施例の全体回路構成を示しており、本
実施例は、6つの入力端子1の信号は、電子ギターボデ
ィ上に張設された6つの弦の夫々に設けられた、弦の振
動を電気信号に変換するピックアップからの信号であ
る。
実施例は、6つの入力端子1の信号は、電子ギターボデ
ィ上に張設された6つの弦の夫々に設けられた、弦の振
動を電気信号に変換するピックアップからの信号であ
る。
入力端子1……からの楽音信号は、ピッチ抽出回路P1
〜P6(図では第1弦のP1についてのみその内部構成を示
している。)内部の夫々のアンプ2……で増幅され、ロ
ーパスフィルタ(LPF)3……で高周波成分がカットさ
れて基本波形が抽出され、最大ピーク検出回路(MAX)
4……、最少ピーク検出回路(MIN)5……及びゼロク
ロス点検出回路(Zero)6……に与えられる。ローパス
フィルタ3……は、各弦の開放弦の振動音周波数fの4
倍の4fにカットオフ周波数が設定されている。これは、
各弦の出力音の周波数が2オクターブ以内であることに
基づくものである。最大ピーク検出回路4……では、楽
音信号の最大ピーク点が検出され、その検出パルス信号
の立上りで後段に接続されているフリップフロップ14…
…のQ出力がHighレベルとなり、このフリップフロップ
14……の出力とゼロクロス点検出回路6……のインバー
タ30……の反転出力とのアンド出力がアンドゲート24…
…を介して割り込み指令信号INTa1…INTa6としてCPU100
に与えられ、同様に最小ピーク検出回路5……でも、楽
音信号の最小ピーク点が検出され、その検出パルス信号
の立上りで後段に接続されているフリップフロップ15…
…のQ出力がHighレベルとなり、このフリップフロップ
15……の出力とゼロクロス点検出回路6……の出力との
アンド出力がアンドゲート25……を介して割り込み指令
信号INTb1〜INTb6としてCPU100に与えられる。
〜P6(図では第1弦のP1についてのみその内部構成を示
している。)内部の夫々のアンプ2……で増幅され、ロ
ーパスフィルタ(LPF)3……で高周波成分がカットさ
れて基本波形が抽出され、最大ピーク検出回路(MAX)
4……、最少ピーク検出回路(MIN)5……及びゼロク
ロス点検出回路(Zero)6……に与えられる。ローパス
フィルタ3……は、各弦の開放弦の振動音周波数fの4
倍の4fにカットオフ周波数が設定されている。これは、
各弦の出力音の周波数が2オクターブ以内であることに
基づくものである。最大ピーク検出回路4……では、楽
音信号の最大ピーク点が検出され、その検出パルス信号
の立上りで後段に接続されているフリップフロップ14…
…のQ出力がHighレベルとなり、このフリップフロップ
14……の出力とゼロクロス点検出回路6……のインバー
タ30……の反転出力とのアンド出力がアンドゲート24…
…を介して割り込み指令信号INTa1…INTa6としてCPU100
に与えられ、同様に最小ピーク検出回路5……でも、楽
音信号の最小ピーク点が検出され、その検出パルス信号
の立上りで後段に接続されているフリップフロップ15…
…のQ出力がHighレベルとなり、このフリップフロップ
15……の出力とゼロクロス点検出回路6……の出力との
アンド出力がアンドゲート25……を介して割り込み指令
信号INTb1〜INTb6としてCPU100に与えられる。
即ち、最大ピーク点が検出されてフリップフロップ14
がHighレベルになっているときに、波形が正から負へ横
切ったとき割り込み指令信号INTa1〜INTa6がCPU100に与
えられ、逆に最小ピーク点が検出されてフリップロップ
15がHighレベルになっているときに、波形が負から正に
変化したとき割り込み指令信号INTb1〜INTb6がCPU100に
入力する。
がHighレベルになっているときに、波形が正から負へ横
切ったとき割り込み指令信号INTa1〜INTa6がCPU100に与
えられ、逆に最小ピーク点が検出されてフリップロップ
15がHighレベルになっているときに、波形が負から正に
変化したとき割り込み指令信号INTb1〜INTb6がCPU100に
入力する。
そして、CPU100は、これらの割り込み指令信号を受付
けた直後に、対応するフリップフロップ14……、15……
に対しクリア信号CLa1〜CLa6、CLb1〜CLb6を発生してリ
セットする。従って、次に最大ピーク点あるいは最小ピ
ーク点を検出するまで何度ゼロクロス点を通過しても対
応するフリップフロップ14……、15……はリセット状態
であるので、CPU100には割り込みがかからないことにな
る。
けた直後に、対応するフリップフロップ14……、15……
に対しクリア信号CLa1〜CLa6、CLb1〜CLb6を発生してリ
セットする。従って、次に最大ピーク点あるいは最小ピ
ーク点を検出するまで何度ゼロクロス点を通過しても対
応するフリップフロップ14……、15……はリセット状態
であるので、CPU100には割り込みがかからないことにな
る。
そして、CPU100では、当該弦の振動出力により割り込
み指令信号INTa1〜INTa6もしくはINTb1〜INTb6が与えら
れて、夫々の時間間隔の少なくとも一方の時間間隔のピ
ッチデータに従った音階音を発生する。尚、発音開始時
においては開放弦の音階音を発生開始してピッチ抽出の
後で正しい周波数に修正してもよい。この発音開始時の
動作については後述する。
み指令信号INTa1〜INTa6もしくはINTb1〜INTb6が与えら
れて、夫々の時間間隔の少なくとも一方の時間間隔のピ
ッチデータに従った音階音を発生する。尚、発音開始時
においては開放弦の音階音を発生開始してピッチ抽出の
後で正しい周波数に修正してもよい。この発音開始時の
動作については後述する。
そして、上記時間間隔のピッチデータは、後述するよ
うにカウンタ7と、ワークメモリ101とを用いて求め
る。即ち、このワークメモリ101には、最大ピーク点あ
るいは最小ピーク点直後のゼロクロス点時のカウンタ7
のカウント値など各種データが記憶される。
うにカウンタ7と、ワークメモリ101とを用いて求め
る。即ち、このワークメモリ101には、最大ピーク点あ
るいは最小ピーク点直後のゼロクロス点時のカウンタ7
のカウント値など各種データが記憶される。
一方、音階名ROM41には、第6図に示すように、抽出
されたピッチデータより音階名を決定するため、各音階
名間のピッチデータに対する区切値が記憶されている。
この区切値は第8図に示すように各音階名に対して下限
のものが記憶されている。
されたピッチデータより音階名を決定するため、各音階
名間のピッチデータに対する区切値が記憶されている。
この区切値は第8図に示すように各音階名に対して下限
のものが記憶されている。
この音階名ROMT41の各区切値データは、音階名RAM42
に転送記憶され、音階名RAM42の各区切値に基づいて、
抽出したピッチデータの属する音階名が検索され、この
音階名がいったん検出されると、第7図及び第9図に示
すように、この音階名の上限の区切値が5%増え、下限
の区切値が5%減る。そして、ピッチデータが変動して
音階名が変わると、5%増減のあった区切値は音階名RO
M41の値に基づいて元に戻され、新たな音階名の上限及
び下限の区切値が5%ずつ増減する。
に転送記憶され、音階名RAM42の各区切値に基づいて、
抽出したピッチデータの属する音階名が検索され、この
音階名がいったん検出されると、第7図及び第9図に示
すように、この音階名の上限の区切値が5%増え、下限
の区切値が5%減る。そして、ピッチデータが変動して
音階名が変わると、5%増減のあった区切値は音階名RO
M41の値に基づいて元に戻され、新たな音階名の上限及
び下限の区切値が5%ずつ増減する。
第6図のものは1オクターブ分の音階名しか示してい
ないが、複数オクターブにわたるのであれば、音階名と
オクターブの双方を示すようになる。
ないが、複数オクターブにわたるのであれば、音階名と
オクターブの双方を示すようになる。
そして、発音開始後は、順次求まるピッチデータに従
って、発生中の楽音の周波数を可変制御してゆく。即ち
CPU100より上記音階名コードが周波数ROM8へ送出され
て、その結果対応する周波数を示す周波数データが読み
出され、音源回路9に送られて楽音信号が生成され、サ
ウンドシステム10より放音出力される。
って、発生中の楽音の周波数を可変制御してゆく。即ち
CPU100より上記音階名コードが周波数ROM8へ送出され
て、その結果対応する周波数を示す周波数データが読み
出され、音源回路9に送られて楽音信号が生成され、サ
ウンドシステム10より放音出力される。
また、上記ローパスフィルタ3……からの楽音信号
は、A/Dコンバータ11……に与えられ、その波形レベル
に応じたデジタルデータに変換される。
は、A/Dコンバータ11……に与えられ、その波形レベル
に応じたデジタルデータに変換される。
そして、このA/Dコンバータ11……の出力はラッチ12
……にラッチされる。このラッチ12……に対するラッチ
信号は、上記フリップフロップ14……、15……の出力が
オアゲート13……を介することで生成され、最大ピーク
点もしくは最小ピーク点を通過する都度ラッチ12……に
はそのときの波形のレベルを示す信号が記憶される。ま
た、このオアゲート13……からのラッチ信号L1〜L6はCP
U100にも与えられる。
……にラッチされる。このラッチ12……に対するラッチ
信号は、上記フリップフロップ14……、15……の出力が
オアゲート13……を介することで生成され、最大ピーク
点もしくは最小ピーク点を通過する都度ラッチ12……に
はそのときの波形のレベルを示す信号が記憶される。ま
た、このオアゲート13……からのラッチ信号L1〜L6はCP
U100にも与えられる。
そして、ラッチ12……出力はCPU100へ与えられ、発音
開始、発音停止、ピッチ抽出開始、ピッチ抽出停止、更
には出力音の放音レベル(音量)等の制御がこのデータ
に従ってなされる。なお、このラッチ12に記憶されるピ
ーク値である波高値は、ワークメモリ101に順次書込ま
れる。
開始、発音停止、ピッチ抽出開始、ピッチ抽出停止、更
には出力音の放音レベル(音量)等の制御がこのデータ
に従ってなされる。なお、このラッチ12に記憶されるピ
ーク値である波高値は、ワークメモリ101に順次書込ま
れる。
即ち、CPU100では、A/Dコンバータ11……より与えら
れる波形レベルを示すデータの絶対値が、予め決められ
た一定値以上になった時には、楽音の発音を開始させる
とともにピッチ(基本周波数)抽出も開始させ、このデ
ータが第12図に示す消音レベル値OFFLEV以下になった時
には、消音指示をして放音を終了させる。その動作の詳
細は後述するとおりである。
れる波形レベルを示すデータの絶対値が、予め決められ
た一定値以上になった時には、楽音の発音を開始させる
とともにピッチ(基本周波数)抽出も開始させ、このデ
ータが第12図に示す消音レベル値OFFLEV以下になった時
には、消音指示をして放音を終了させる。その動作の詳
細は後述するとおりである。
なお、第1図には、A/Dコンバータ11が、ピッチ抽出
回路P1〜P6に夫々独立に設けてあるが、一個のA/Dコン
バータを時分割的に使用することも勿論可能である。
回路P1〜P6に夫々独立に設けてあるが、一個のA/Dコン
バータを時分割的に使用することも勿論可能である。
そして、周波数ROM8、音源回路9は時分割処理により
少なくとも6チャンネルの楽音生成系が形成されてい
る。
少なくとも6チャンネルの楽音生成系が形成されてい
る。
なお、第2図は、ピッチ抽出回路P1内の各部の信号波
形のタイムチャートを表わしており、図のは、ローパ
スフィルタ3の出力、は最大ピーク検出回路4の出
力、は最小ピーク検出回路5の出力、はゼロクロス
点検出回路6の出力、は割り込み指令信号INTa1〜INT
a6、は割り込み指令信号INTb1〜INTb6である。
形のタイムチャートを表わしており、図のは、ローパ
スフィルタ3の出力、は最大ピーク検出回路4の出
力、は最小ピーク検出回路5の出力、はゼロクロス
点検出回路6の出力、は割り込み指令信号INTa1〜INT
a6、は割り込み指令信号INTb1〜INTb6である。
動 作 次に本実施例の動作について説明する。第3図はCPU1
00の割り込みルーチンのフローであり、第4図はメイン
フローである。なお、この第3図及び第4図はひとつの
弦についての処理しか示していないが、全ての弦の処理
は全く同じなので、CPU100が夫々の弦についての処理を
時分割的に実行すると考えれば良い。
00の割り込みルーチンのフローであり、第4図はメイン
フローである。なお、この第3図及び第4図はひとつの
弦についての処理しか示していないが、全ての弦の処理
は全く同じなので、CPU100が夫々の弦についての処理を
時分割的に実行すると考えれば良い。
ワークメモリ101内のレジスタ さて、CPU100の具体的な動作の説明の前に、ワークメ
モリ101の中の主なレジスタについて説明する。
モリ101の中の主なレジスタについて説明する。
STEPレジスタは、0、1、2、3の4段階をとり、弦
振動がなされる(第10図(a)もしくは第11図(a)参
照)につれて、第10図(b)あるいは第11図(b)に示
すようにその内容は変化する。このSTEPレジスタが0の
ときは、ノートオフ(消音)状態を表わしている。
振動がなされる(第10図(a)もしくは第11図(a)参
照)につれて、第10図(b)あるいは第11図(b)に示
すようにその内容は変化する。このSTEPレジスタが0の
ときは、ノートオフ(消音)状態を表わしている。
SIGNレジスタは、ピッチ計測のためのゼロクロス点が
最大ピーク(MAX)点の次のゼロクロス点なのか、最小
ピーク(MIN)点の次のゼロクロス点なのかを示すもの
で、1のとき前者、2のとき後者である。
最大ピーク(MAX)点の次のゼロクロス点なのか、最小
ピーク(MIN)点の次のゼロクロス点なのかを示すもの
で、1のとき前者、2のとき後者である。
REVERSEレジスタは、上記SIGNレジスタで表わされた
ゼロクロス点と反対側のピーク点経過後のゼロクロス点
の到来による割り込み処理がなされたか否かをチェック
するデータを記憶するレジスタであり、一周期ごとのピ
ッチ(基本周波数)抽出制御用のチェックに用いられ
る。
ゼロクロス点と反対側のピーク点経過後のゼロクロス点
の到来による割り込み処理がなされたか否かをチェック
するデータを記憶するレジスタであり、一周期ごとのピ
ッチ(基本周波数)抽出制御用のチェックに用いられ
る。
Tレジスタは、入力波形のピッチを計測するための特
定点のカウンタ7の値を記憶する。なお、カウンタ7は
所定のクロックでカウントするフリーランニング動作を
している。
定点のカウンタ7の値を記憶する。なお、カウンタ7は
所定のクロックでカウントするフリーランニング動作を
している。
AMP(i)レジスタは、A/Dコンバータ11からラッチ12
にラッチされた最大もしくは最小ピーク値(実際には絶
対値)を記憶するレジスタで、AMP(1)が最大ピーク
用、AMP(2)が最小ピーク用のレジスタである。
にラッチされた最大もしくは最小ピーク値(実際には絶
対値)を記憶するレジスタで、AMP(1)が最大ピーク
用、AMP(2)が最小ピーク用のレジスタである。
PERIODレジスタは、計測したピッチをあらわすデータ
が入力され、このレジスタの内容を基に、CPU100は、周
波数ROM8、音源回路9に対し周波数制御を行うものであ
る。
が入力され、このレジスタの内容を基に、CPU100は、周
波数ROM8、音源回路9に対し周波数制御を行うものであ
る。
Xレジスタは、第6図のXの欄に示すように、各音源
名を示すコードがセットされ、(X)レジスタは、同じ
く第6図の(X)の欄に示すように、各音階名に係るピ
ッチデータの下限の区切値がセットされる。
名を示すコードがセットされ、(X)レジスタは、同じ
く第6図の(X)の欄に示すように、各音階名に係るピ
ッチデータの下限の区切値がセットされる。
更に、後述するように本実施例は各種判断のために、
3つの定数(スレッシュホールドレベル)がCPU100内に
設定されている。
3つの定数(スレッシュホールドレベル)がCPU100内に
設定されている。
先ず最初のものはONLEV Iであり、第10図(a)、第1
1図(a)に示すように、いまノートオフの状態であ
り、このONLEV Iの値よりも大きなピーク値が検出され
たとき、弦がピッキング等されたとして、周期測定のた
めの動作をCPU100は実行開始する。
1図(a)に示すように、いまノートオフの状態であ
り、このONLEV Iの値よりも大きなピーク値が検出され
たとき、弦がピッキング等されたとして、周期測定のた
めの動作をCPU100は実行開始する。
ONLEV IIは、ノートオン(発音中)状態であって、前
回の検出レベルと今回の検出レベルとの差がこの値以上
あれば、トレモロ奏法等による操作があったとして、再
度発音開始(リラティブオン、relative on)処理を行
うためのものである。
回の検出レベルと今回の検出レベルとの差がこの値以上
あれば、トレモロ奏法等による操作があったとして、再
度発音開始(リラティブオン、relative on)処理を行
うためのものである。
OFFLEVは、第12図(a)に示してあるように、ノート
オン(発音中)状態であって、この値以下のピーク値が
検知されると、ノートオフ(消音)処理をする。
オン(発音中)状態であって、この値以下のピーク値が
検知されると、ノートオフ(消音)処理をする。
以上の説明から、以下に述べる割り込みルーチン、メ
インルーチンの動作の理解は容易となろう。
インルーチンの動作の理解は容易となろう。
ゼロクロス点での割り込み処理 さて、アンドゲート24もしくはアンドゲート25の出力
である割り込み指令信号INTa、INTbのCPU100への到来に
よって、第3図の割り込み処理を行う。
である割り込み指令信号INTa、INTbのCPU100への到来に
よって、第3図の割り込み処理を行う。
即ち、割り込み指令信号INTaの入力時には、先ずステ
ップP1の処理をし、CPU100内のaレジスタを1にし、割
り込み指令信号INTbの入力時には、先ずステップP2の処
理によって上記aレジスタに2をセットする。
ップP1の処理をし、CPU100内のaレジスタを1にし、割
り込み指令信号INTbの入力時には、先ずステップP2の処
理によって上記aレジスタに2をセットする。
そして次にステップP3において、CPU100内のtレジス
タに、カウンタ7の値をプリセットする。続いて実行す
るステップP4では入力波形のレベルデータをラッチ12か
ら読み込み、CPU100内のbレジスタに設定する。
タに、カウンタ7の値をプリセットする。続いて実行す
るステップP4では入力波形のレベルデータをラッチ12か
ら読み込み、CPU100内のbレジスタに設定する。
この場合、割り込み指令信号INTa1〜INTa6、INTb1〜I
NTb6が与えられるのは、最大ピーク点、最小ピーク点を
通過直後のゼロクロス点の到来時であり、このゼロクロ
ス点通過までは、ラッチ12にはそのすぐ前の最大ピーク
点又は最小ピーク点のピークレベルデータが保持されて
いるので、bレジスタには入力波形のピークレベルデー
タがセットされることになる。
NTb6が与えられるのは、最大ピーク点、最小ピーク点を
通過直後のゼロクロス点の到来時であり、このゼロクロ
ス点通過までは、ラッチ12にはそのすぐ前の最大ピーク
点又は最小ピーク点のピークレベルデータが保持されて
いるので、bレジスタには入力波形のピークレベルデー
タがセットされることになる。
そして、ステップP5において、フリップフロップ14も
しくはフリップフロップ15をクリアする。
しくはフリップフロップ15をクリアする。
続くステップP6にて、上記a、b、tレジスタを内容
をワークメモリ101に転送記憶し割り込み処理を終了す
る。
をワークメモリ101に転送記憶し割り込み処理を終了す
る。
このようにして、ゼロクロス点通過のたびに、このゼ
ロクロス点が最大ピーク点開通過後のものか、最小ピー
ク点経過後のものかを示すデータ(aレジスタ)、この
最大ピーク点又は最小ピーク点のピークレベルデータ
(bレジスタ)、入力波形の周期(ピッチ)計測のため
のこのゼロクロス点におけるカウンタ7のカウントデー
タ(tレジスタ)のセットが行われていく。
ロクロス点が最大ピーク点開通過後のものか、最小ピー
ク点経過後のものかを示すデータ(aレジスタ)、この
最大ピーク点又は最小ピーク点のピークレベルデータ
(bレジスタ)、入力波形の周期(ピッチ)計測のため
のこのゼロクロス点におけるカウンタ7のカウントデー
タ(tレジスタ)のセットが行われていく。
メイン処理 メインルーチン(第4図)では、ステップS1にて、上
述したような割り込み処理によってワークメモリ101に
a′、b′、t′の内容(上記a、b、tと同じで前回
記録されたということでa′、b′、t′と示す。)が
書込まれているか否かジャッジし、何ら割り込み処理は
なされていないときはNOの判断をして、このステップS1
を繰返し実行する。
述したような割り込み処理によってワークメモリ101に
a′、b′、t′の内容(上記a、b、tと同じで前回
記録されたということでa′、b′、t′と示す。)が
書込まれているか否かジャッジし、何ら割り込み処理は
なされていないときはNOの判断をして、このステップS1
を繰返し実行する。
そして、上記ステップS1でYESの判断をすれば、次の
ステップS2に進んでその内容a′、b′、t′を読出
す。次にステップS3において、上記AMP(a′)レジス
タに記憶してある同じ種類(つまり最大か最小)のピー
ク点のピーク値をCPU100内のcレジスタに読出し、今回
抽出したピーク値b′を上記AMP(a′)レジスタに設
定する。
ステップS2に進んでその内容a′、b′、t′を読出
す。次にステップS3において、上記AMP(a′)レジス
タに記憶してある同じ種類(つまり最大か最小)のピー
ク点のピーク値をCPU100内のcレジスタに読出し、今回
抽出したピーク値b′を上記AMP(a′)レジスタに設
定する。
さて、次にステップS4〜S6において、STEPレジスタの
内容が夫々3、2、1であるか否かジャッジする。い
ま、最初の状態であるとしたら、STEPレジスタは0なの
で、ステップS4、S5、S6ともNOの判断がなされる。そし
て、次にステップS7で、今回検知したピーク値b′がON
LEV Iより大か否かジャッジする。
内容が夫々3、2、1であるか否かジャッジする。い
ま、最初の状態であるとしたら、STEPレジスタは0なの
で、ステップS4、S5、S6ともNOの判断がなされる。そし
て、次にステップS7で、今回検知したピーク値b′がON
LEV Iより大か否かジャッジする。
もし、上記ピーク値b′がONLEV Iより小であれば、
まだ発音開始の処理をしないのでステップS1へもどる。
仮に、第10図(a)、第11図(a)のようにONLEV Iよ
り大きな入力が得られたとすると、ステップS7の判断は
YESとなり、ステップS8へ進む。
まだ発音開始の処理をしないのでステップS1へもどる。
仮に、第10図(a)、第11図(a)のようにONLEV Iよ
り大きな入力が得られたとすると、ステップS7の判断は
YESとなり、ステップS8へ進む。
そしてステップS8でSTEPレジスタに1をセットし、次
にステップS9でREVERSEレジスタに0をセットし、続け
てステップS10で、a′(つまり最大ピーク点直後のゼ
ロクロス点のとき1、最小ピーク点直後のゼロクロス点
のとき2)の値をSIGNレジスタに入力する。
にステップS9でREVERSEレジスタに0をセットし、続け
てステップS10で、a′(つまり最大ピーク点直後のゼ
ロクロス点のとき1、最小ピーク点直後のゼロクロス点
のとき2)の値をSIGNレジスタに入力する。
そして、ステップS11にて、t′の値をTレジスタに
セットする。その結果、a′の内容はSIGNレジスタに
(第10図(a)、第11図(a)の場合にはSIGNは1とな
る)、b′の内容はAMPレジスタに、t′の内容はTレ
ジスタにセットされたことになる。そして再びステップ
S1にもどる。
セットする。その結果、a′の内容はSIGNレジスタに
(第10図(a)、第11図(a)の場合にはSIGNは1とな
る)、b′の内容はAMPレジスタに、t′の内容はTレ
ジスタにセットされたことになる。そして再びステップ
S1にもどる。
さて、以上の説明で第10図(a)、第11図(a)のゼ
ロクロス点Zero1の直後のメインルーチンの処理を完了
することになる。
ロクロス点Zero1の直後のメインルーチンの処理を完了
することになる。
さて、次に、ゼロクロス点Zero2の直後のメインルー
チンでの処理を説明する。そのときは上記ステップS1→
S2→S3→S4→S5→S6のデータセット処理と発音段階判別
処理とを実行し、このステップS6にてYESの判断がさ
れ、次にステップS12にゆく。
チンでの処理を説明する。そのときは上記ステップS1→
S2→S3→S4→S5→S6のデータセット処理と発音段階判別
処理とを実行し、このステップS6にてYESの判断がさ
れ、次にステップS12にゆく。
いま、第10図(a)、第11図(a)のように波形が入
力時に正方向に変化したときは、SIGNレジスタは1であ
り、今回負方向のピークを経過してきているからa′レ
ジスタは2なので、NOの判断をする。尚、もし同じ極性
のピーク値直後のゼロクロス点到来時には、このステッ
プS12でYESの判断をして何ら続けて動作せずにステップ
S1へもどる。
力時に正方向に変化したときは、SIGNレジスタは1であ
り、今回負方向のピークを経過してきているからa′レ
ジスタは2なので、NOの判断をする。尚、もし同じ極性
のピーク値直後のゼロクロス点到来時には、このステッ
プS12でYESの判断をして何ら続けて動作せずにステップ
S1へもどる。
さて、いまこのステップS12ではNOのジャッジがされ
てステップS13へゆき、STEPレジスタを2とする。(第1
0図(b)、第11図(b)参照)。
てステップS13へゆき、STEPレジスタを2とする。(第1
0図(b)、第11図(b)参照)。
そしてステップS13に続けてステップS14を実行し、前
回のピーク値(AMP(SIGN))と今回のピーク値
(b′)を比較する。いま、第10図(a)のように前回
の値x0が今回の値より小(x1>x0)ならば、YESとな
り、今回の時刻t′を周期の計測開始点とすべく(第10
図(c)参照)ステップS14からステップS10、S11を実
行し、SIGNレジスタを2とすると共にt′レジスタの内
容をTレジスタへ転送する。
回のピーク値(AMP(SIGN))と今回のピーク値
(b′)を比較する。いま、第10図(a)のように前回
の値x0が今回の値より小(x1>x0)ならば、YESとな
り、今回の時刻t′を周期の計測開始点とすべく(第10
図(c)参照)ステップS14からステップS10、S11を実
行し、SIGNレジスタを2とすると共にt′レジスタの内
容をTレジスタへ転送する。
逆に、前回のピーク値が今回のピーク値よりも大きけ
れば、つまり第11図(a)のようにx1<x0ならば、ステ
ップS14NOのジャッジをしステップS15てREVERSEレジス
タを1とする。なお、SIGNレジスタはいま前の値1を保
つことになる。従って、この場合は前のゼロクロス点
(Zero1)が周期計測の開始点となっている(第11図
(c)参照)。
れば、つまり第11図(a)のようにx1<x0ならば、ステ
ップS14NOのジャッジをしステップS15てREVERSEレジス
タを1とする。なお、SIGNレジスタはいま前の値1を保
つことになる。従って、この場合は前のゼロクロス点
(Zero1)が周期計測の開始点となっている(第11図
(c)参照)。
そして、次のゼロクロス点(Zero3)の通過後、はじ
めてメインフローを実行するときは、ステップS5でYES
のジャッジがされてステップS16へ進む。今回a′は1
であり、第10図の場合は、SIGNが2、第11図の場合はSI
GNが1なので、第10図の場合にあっては、ステップS16
でNOのジャッジがされて、ステップS15へゆきステップS
1へもどる。つまり、周期計測を開始し始めてからひと
つ目のピーク(振幅x2)を通過したことをCPU100は認識
する。
めてメインフローを実行するときは、ステップS5でYES
のジャッジがされてステップS16へ進む。今回a′は1
であり、第10図の場合は、SIGNが2、第11図の場合はSI
GNが1なので、第10図の場合にあっては、ステップS16
でNOのジャッジがされて、ステップS15へゆきステップS
1へもどる。つまり、周期計測を開始し始めてからひと
つ目のピーク(振幅x2)を通過したことをCPU100は認識
する。
また第11図の場合にあっては、ステップS16ではYESの
判断がされて、ステップS17へゆきREVERSEレジスタが1
か否かジャッジする。もし1でなければNOの判断をしス
テップS1へもどるが、上述したようにステップS15の実
行によってこのレジスタは1となっており、ステップS
17からステップS18へゆきSTEPレジスタを3とし(第11
図(b)参照)、続けてステップS19にて、t′レジス
タにある今回の割り込み受け付けたカウンタ7の値から
Tレジスタにある値つまりゼロクロス点Zero1の時刻を
減算し、RERIODレジスタにストアする。
判断がされて、ステップS17へゆきREVERSEレジスタが1
か否かジャッジする。もし1でなければNOの判断をしス
テップS1へもどるが、上述したようにステップS15の実
行によってこのレジスタは1となっており、ステップS
17からステップS18へゆきSTEPレジスタを3とし(第11
図(b)参照)、続けてステップS19にて、t′レジス
タにある今回の割り込み受け付けたカウンタ7の値から
Tレジスタにある値つまりゼロクロス点Zero1の時刻を
減算し、RERIODレジスタにストアする。
つまり第11図(c)に示す大きさが一周期の長さとな
り、続くステップS20でt′の内容をTレジスタに転送
して新たな周期計測の開始をする。
り、続くステップS20でt′の内容をTレジスタに転送
して新たな周期計測の開始をする。
そして、次のステップS40において発音開始する音階
名を見つける処理をする。即ち、具体的には第5図のサ
ブルーチンへジャンプし、ステップS401を行い、Xレジ
スタに初期値0をセットし、次にステップS402に進み、
このXレジスタにて音階名RAM42をアドレス指定されて
得られるピッチデータ(X)と、PERIODレジスタの記憶
値とを比較する。この音階名RAM42の(X)の値は、第
6図に示す内容のものがそのまま音階名ROM41から転送
されてきたものである。
名を見つける処理をする。即ち、具体的には第5図のサ
ブルーチンへジャンプし、ステップS401を行い、Xレジ
スタに初期値0をセットし、次にステップS402に進み、
このXレジスタにて音階名RAM42をアドレス指定されて
得られるピッチデータ(X)と、PERIODレジスタの記憶
値とを比較する。この音階名RAM42の(X)の値は、第
6図に示す内容のものがそのまま音階名ROM41から転送
されてきたものである。
さて、いま例えばPERIODレジスタに10000の値が抽出
されているとすれば、最初(X=0)のときの比較では
YESとなり、ステップS403へゆき、Xレジスタをカウン
トアップし、次にステップS402へもどる。今回は、X=
1であるが、今回もステップS402ではYESとなる。以下
繰返し、Xレジスタの値が3となったときステップS402
でNOとなり、このサブルーチンの処理を終了する。
されているとすれば、最初(X=0)のときの比較では
YESとなり、ステップS403へゆき、Xレジスタをカウン
トアップし、次にステップS402へもどる。今回は、X=
1であるが、今回もステップS402ではYESとなる。以下
繰返し、Xレジスタの値が3となったときステップS402
でNOとなり、このサブルーチンの処理を終了する。
従って、いまの場合は、音階名はG(X=3)と抽出
される。そして、次にステップS41へゆき、上述のXレ
ジスタのGの音階名コードを周波数ROM8に与え、発音指
令を出す。従ってこの時点から楽音の発生がなされる。
される。そして、次にステップS41へゆき、上述のXレ
ジスタのGの音階名コードを周波数ROM8に与え、発音指
令を出す。従ってこの時点から楽音の発生がなされる。
そしてCPU100は、ステップS42で、第7図に示すよう
に、この音階名Gのピッチデータの上限区切値「1050
3」を1%増加して「10608」とし、下限区切値「9914」
を1%減少して「9815」として、音階名Gのピッチデー
タの幅を第9図に示すように拡大し、音階名RAM42の音
階名を決定するテーブルを変更する。
に、この音階名Gのピッチデータの上限区切値「1050
3」を1%増加して「10608」とし、下限区切値「9914」
を1%減少して「9815」として、音階名Gのピッチデー
タの幅を第9図に示すように拡大し、音階名RAM42の音
階名を決定するテーブルを変更する。
さて、上述した第10図の場合にあっては、再び次のゼ
ロクロス点(Zero4)後のメインフローの処理で、ステ
ップS5からステップS16へジャンプする。いま、SIGNレ
ジスタは2なので、ステップS16ではYESの判断をし、続
けて上記同様にステップS17→S18→S19→S20→S41→S42
の発音開始処理を実行し、今回は第10図(c)に示すゼ
ロクロス点Zero2からZero4までを一周期としてCPUT100
は認識し、この長さに基づく周波数の楽音を発音開始す
る(第10図(d)参照)。
ロクロス点(Zero4)後のメインフローの処理で、ステ
ップS5からステップS16へジャンプする。いま、SIGNレ
ジスタは2なので、ステップS16ではYESの判断をし、続
けて上記同様にステップS17→S18→S19→S20→S41→S42
の発音開始処理を実行し、今回は第10図(c)に示すゼ
ロクロス点Zero2からZero4までを一周期としてCPUT100
は認識し、この長さに基づく周波数の楽音を発音開始す
る(第10図(d)参照)。
このようにして、値の大きいピーク点の次のゼロクロ
ス点から周期計測の処理を開始し、そのピーク点と同じ
側のピーク点の次のゼロクロス点でその計測を終了する
ようにして、ローパスフィルタ3出力の波形の一周期を
抽出している。
ス点から周期計測の処理を開始し、そのピーク点と同じ
側のピーク点の次のゼロクロス点でその計測を終了する
ようにして、ローパスフィルタ3出力の波形の一周期を
抽出している。
そして、この発音開始処理の後、メインルーチンにお
いては、ステップS4からステップS22へ進行し、今回取
り込んだピーク値であるb′の値が、第12図に示すよう
にOFFLEVを越えているか否かジャッジする。
いては、ステップS4からステップS22へ進行し、今回取
り込んだピーク値であるb′の値が、第12図に示すよう
にOFFLEVを越えているか否かジャッジする。
いま、このレベルを越えておればステップS23へ進
み、リラティブオン(relative on)の処理をするのか
否かジャッジするようにする。即ち具体的には今回のピ
ーク値(b′)が前のピーク値(c)よりONLEV IIだけ
大きいか、つまり発音中に急激に抽出ピーク値が大きく
なったか否かジャッジする。
み、リラティブオン(relative on)の処理をするのか
否かジャッジするようにする。即ち具体的には今回のピ
ーク値(b′)が前のピーク値(c)よりONLEV IIだけ
大きいか、つまり発音中に急激に抽出ピーク値が大きく
なったか否かジャッジする。
通常弦を振動すれば、自然減衰を行うので、このステ
ップS23はNOの判断となるが、もしトレモロ奏法などに
よって、前の弦振動が減衰し終わらないうちに、再び弦
が操作されて、このステップS23の判断がYESとなること
がある。
ップS23はNOの判断となるが、もしトレモロ奏法などに
よって、前の弦振動が減衰し終わらないうちに、再び弦
が操作されて、このステップS23の判断がYESとなること
がある。
その場合は、ステップS23でYESのジャッジをしてステ
ップS8へジャンプし、ステップS9〜ステップS11の発音
開始の準備処理を実行する。その結果、STEPレジスタは
1となり、上述した発音開始時の動作と全く同じ動作を
それ以降実行する。つまり、再びステップS16〜S20、S
40〜S42の発音開始処理をその後実行して再発音開始の
処理をすることになる。このときは、アタック部をもつ
再発音開始がなされる。
ップS8へジャンプし、ステップS9〜ステップS11の発音
開始の準備処理を実行する。その結果、STEPレジスタは
1となり、上述した発音開始時の動作と全く同じ動作を
それ以降実行する。つまり、再びステップS16〜S20、S
40〜S42の発音開始処理をその後実行して再発音開始の
処理をすることになる。このときは、アタック部をもつ
再発音開始がなされる。
さて、通常状態では上述した如くステップS23に続け
てステップS24を行って、a′の内容とSIGNレジスタの
内容の一致比較をし、一致しなければS15へ進み次のゼ
ロクロス点の割り込み処理にそなえ、一致すれば、既に
逆の特性をもったピーク(正/負のピーク)を夫々通過
してきたので、ステップS25へ進み、REVERSEレジスタが
1か否かジャッジし、もしNOならば何ら処理をすること
なくステップS1へもどるが、もしこのステップS25でYES
の判断がなされたならば、ステップS25からステップS26
へ進み新たな周期(ピッチ)を求めるべくt′レジスタ
の内容からTレジスタの内容を引いて、RERIODレジスタ
にセットする。
てステップS24を行って、a′の内容とSIGNレジスタの
内容の一致比較をし、一致しなければS15へ進み次のゼ
ロクロス点の割り込み処理にそなえ、一致すれば、既に
逆の特性をもったピーク(正/負のピーク)を夫々通過
してきたので、ステップS25へ進み、REVERSEレジスタが
1か否かジャッジし、もしNOならば何ら処理をすること
なくステップS1へもどるが、もしこのステップS25でYES
の判断がなされたならば、ステップS25からステップS26
へ進み新たな周期(ピッチ)を求めるべくt′レジスタ
の内容からTレジスタの内容を引いて、RERIODレジスタ
にセットする。
そして、ステップS27においてt′レジスタの内容を
Tレジスタへ転送し、続くステップS29でREVERSEレジス
タの内容を0とし、ステップS43にて、PERIODレジスタ
のピッチデータに基づいて、上述したステップS40と同
じ音階名検索処理を行う。
Tレジスタへ転送し、続くステップS29でREVERSEレジス
タの内容を0とし、ステップS43にて、PERIODレジスタ
のピッチデータに基づいて、上述したステップS40と同
じ音階名検索処理を行う。
いま、ポルタメント又はグライド奏法が実行されて、
これまで放音されてきた音階名Gに対し、実際に抽出さ
れたピッチデータによって検索された音階名が1つ低音
のF#になっていたとすると、CPU100はステップS
44で、この音階名の変化を検出して、ステップS45でこ
の新たなF#の音階名コードを周波数ROM8に与えて、音
階名の変更処理を行う。
これまで放音されてきた音階名Gに対し、実際に抽出さ
れたピッチデータによって検索された音階名が1つ低音
のF#になっていたとすると、CPU100はステップS
44で、この音階名の変化を検出して、ステップS45でこ
の新たなF#の音階名コードを周波数ROM8に与えて、音
階名の変更処理を行う。
次いで、CPU100は、ステップS42で音階名RAM42に音階
名ROM41の元の区切値をセットし直し、F#のピッチデ
ータの上限区切値「11128」を1%増加して「11239」と
し、下限区切値「10503」を1%減少して「10399」とし
て、音階名がGからF#へ変更すると、すぐ音階名F#
のピッチデータの幅を拡大して、ステップS1に戻る。
名ROM41の元の区切値をセットし直し、F#のピッチデ
ータの上限区切値「11128」を1%増加して「11239」と
し、下限区切値「10503」を1%減少して「10399」とし
て、音階名がGからF#へ変更すると、すぐ音階名F#
のピッチデータの幅を拡大して、ステップS1に戻る。
こうして、音階名がGから1つの上のF#に切り換る
と、このGとF#との間の区切値が「10608」から「103
99」へと減少し、いったん区切値を越えると、ピッチデ
ータがふらついても音階名がF#からGに一時的にせよ
戻ってしまうことがなくなり、なめらかに音階名を変化
させていくことができる。
と、このGとF#との間の区切値が「10608」から「103
99」へと減少し、いったん区切値を越えると、ピッチデ
ータがふらついても音階名がF#からGに一時的にせよ
戻ってしまうことがなくなり、なめらかに音階名を変化
させていくことができる。
また、上記ステップS43の音階名検索で、新たに検索
した音階名に変化がなければ、CPU100はステップS44か
らステップS1に戻ることになる。
した音階名に変化がなければ、CPU100はステップS44か
らステップS1に戻ることになる。
そして、弦振動が減衰してきて、ピーク値がOFFLEVを
下まわるようになってくると、ステップS22からステッ
プS30に進みSTEPレジスタをクリアして、ステップS31で
ノートオフ処理(消音処理)を行い、これまで発音して
いた楽音を消音すべくCPU100は音源回路9へ指示し、ス
テップS32で音階名RAM42に音階名ROMT41の区切値をセッ
トして、音階名を決定するテーブルを元の状態に戻す。
下まわるようになってくると、ステップS22からステッ
プS30に進みSTEPレジスタをクリアして、ステップS31で
ノートオフ処理(消音処理)を行い、これまで発音して
いた楽音を消音すべくCPU100は音源回路9へ指示し、ス
テップS32で音階名RAM42に音階名ROMT41の区切値をセッ
トして、音階名を決定するテーブルを元の状態に戻す。
尚、上記実施例では、音階名決定後の上限及び下限の
区切値の増減は1%であったが、これ以外の増減率でも
よく、増減率は上限と下限とで異っていてもよい。更
に、セント単位で変更してもよい。つまり、例えば上
限、下限を10セント広げるなどとしてもよい。また2進
演算で行いやすいように2-n(nは適当な自然数)倍し
た値だけ区切値を増、減するようにすれば、シフト処理
で乗、除算が行える。また、上記実施例にあっては、各
ピーク点直後のゼロクロス点でCPU100が割り込み処理を
して、発音開始、ピッチデータ計算、リラティブオン、
消音開始等の処理を行うようにしたが、各ピーク点検出
時に直接これらの処理を行ってもよい。その場合も全く
同じ結果を得ることができる。その他、例えばピーク点
の直前のゼロクロス点の検出によって、上記同様の処理
を行ってもよい。その他、基準となる点のとり方は種々
変更できる。
区切値の増減は1%であったが、これ以外の増減率でも
よく、増減率は上限と下限とで異っていてもよい。更
に、セント単位で変更してもよい。つまり、例えば上
限、下限を10セント広げるなどとしてもよい。また2進
演算で行いやすいように2-n(nは適当な自然数)倍し
た値だけ区切値を増、減するようにすれば、シフト処理
で乗、除算が行える。また、上記実施例にあっては、各
ピーク点直後のゼロクロス点でCPU100が割り込み処理を
して、発音開始、ピッチデータ計算、リラティブオン、
消音開始等の処理を行うようにしたが、各ピーク点検出
時に直接これらの処理を行ってもよい。その場合も全く
同じ結果を得ることができる。その他、例えばピーク点
の直前のゼロクロス点の検出によって、上記同様の処理
を行ってもよい。その他、基準となる点のとり方は種々
変更できる。
また、上記実施例では、半音単位で、音階音の発生制
御をするようにしたが、50セント単位、25セント単位等
を区切りとして楽音の発生制御を行ってもよく、その場
合も、区切値を、現在割当てた楽音について変更して、
その割当てる範囲を拡大するようにして、本発明を適用
するようにしてもよい。
御をするようにしたが、50セント単位、25セント単位等
を区切りとして楽音の発生制御を行ってもよく、その場
合も、区切値を、現在割当てた楽音について変更して、
その割当てる範囲を拡大するようにして、本発明を適用
するようにしてもよい。
また、上記実施例では、メインフローのなかで各処理
を実行するようにしたが、割り込み処理のなかで同様の
処理を実行するようにしてもよい。
を実行するようにしたが、割り込み処理のなかで同様の
処理を実行するようにしてもよい。
更に、上記実施例においては、本発明を電子ギターに
適用したものであったが、必ずしもそれに限られるもの
でなく、マイクロフォン等から入力される音声信号ある
いは電気的振動信号からピッチ抽出を行って、原音声信
号とは別の音響信号を、対応するピッチもしくは音階周
波数にて発生するシステムであれば、どのような形態の
ものであってもよい。具体的には、鍵盤を有するもの例
えば電子ピアノ、管楽器を電子化したもの、弦楽器、例
えばバイオリンや琴などを電子化したものにも同様に適
用できる。
適用したものであったが、必ずしもそれに限られるもの
でなく、マイクロフォン等から入力される音声信号ある
いは電気的振動信号からピッチ抽出を行って、原音声信
号とは別の音響信号を、対応するピッチもしくは音階周
波数にて発生するシステムであれば、どのような形態の
ものであってもよい。具体的には、鍵盤を有するもの例
えば電子ピアノ、管楽器を電子化したもの、弦楽器、例
えばバイオリンや琴などを電子化したものにも同様に適
用できる。
[発明の効果] この発明は、以上詳述したように、音階名を決定する
区切値に基づいて、抽出したピッチデータより音階名を
検索したら、この音階名に係る上限の区切値を増加さ
せ、下限の区切値を減少させるようにして、ピッチデー
タが変化して区切値を越え、割当音階名が切り換った
ら、前の音階名に対する区切値を本来の値にもどし、新
たな音階名に対する区切値を上記同様に変更させるよう
にしたことにより、割当音階名が再び元の音階名に戻ら
ないようになるので、例えば、ポルタメントやグライド
等の奏法で音階音が順次変化していくときに、音階音の
ふらつきがなく、安定した状態で、なめらかかつきれい
に音階音を変化させていくことができる等の効果を奏す
る。
区切値に基づいて、抽出したピッチデータより音階名を
検索したら、この音階名に係る上限の区切値を増加さ
せ、下限の区切値を減少させるようにして、ピッチデー
タが変化して区切値を越え、割当音階名が切り換った
ら、前の音階名に対する区切値を本来の値にもどし、新
たな音階名に対する区切値を上記同様に変更させるよう
にしたことにより、割当音階名が再び元の音階名に戻ら
ないようになるので、例えば、ポルタメントやグライド
等の奏法で音階音が順次変化していくときに、音階音の
ふらつきがなく、安定した状態で、なめらかかつきれい
に音階音を変化させていくことができる等の効果を奏す
る。
第1図は、本発明を適用した一実施例の電子楽器の入力
制御装置の全体回路構成を示す図、第2図は、第1図中
の各部に表われる波形を示すタイムチャート図、第3図
はCPUの割り込みルーチンのフローチャートを示す図、
第4図はCPUのメインルーチンのフローチャートを示す
図、第5図はCPUのサブルーチンのフローチャートを示
す図、第6図は音階名ROM41の各音階名に対するピッチ
データの区切値の記憶内容を示す図、第7図は音階名RA
M42の記憶内容を示し音階名Gの決定によって上限及び
下限の区切値を増減させた例を示す図、第8図及び第9
図は、夫々第6図及び第7図の記憶内容を各音階名に対
応させて示した図、第10図、第11図は発音開始時の各部
の動作を示すタイムチャート図、第12図は、消音開始時
の動作を示すタイムチャート図である。 1……入力端子、4……最大ピーク検出回路、5……最
小ピーク検出回路、6……ゼロクロス点検出回路、7…
…カウンタ、9……音源回路、12……ラッチ、14、15…
…フリップフロップ、100……CPU、101……ワークメモ
リ、P1〜P6……ピッチ抽出回路。
制御装置の全体回路構成を示す図、第2図は、第1図中
の各部に表われる波形を示すタイムチャート図、第3図
はCPUの割り込みルーチンのフローチャートを示す図、
第4図はCPUのメインルーチンのフローチャートを示す
図、第5図はCPUのサブルーチンのフローチャートを示
す図、第6図は音階名ROM41の各音階名に対するピッチ
データの区切値の記憶内容を示す図、第7図は音階名RA
M42の記憶内容を示し音階名Gの決定によって上限及び
下限の区切値を増減させた例を示す図、第8図及び第9
図は、夫々第6図及び第7図の記憶内容を各音階名に対
応させて示した図、第10図、第11図は発音開始時の各部
の動作を示すタイムチャート図、第12図は、消音開始時
の動作を示すタイムチャート図である。 1……入力端子、4……最大ピーク検出回路、5……最
小ピーク検出回路、6……ゼロクロス点検出回路、7…
…カウンタ、9……音源回路、12……ラッチ、14、15…
…フリップフロップ、100……CPU、101……ワークメモ
リ、P1〜P6……ピッチ抽出回路。
Claims (1)
- 【請求項1】入力波形信号のピッチを抽出するピッチ抽
出手段と、 このピッチ抽出手段で抽出されるピッチデータより音階
名を決定するための、各音階名間のピッチデータに対す
る区切値を記憶する記憶手段と、 この記憶手段の各区切値に基づいて、上記ピッチは抽出
手段より抽出したピッチデータの属する音階名を検索す
る検索手段と、 この検索手段によって音階名が検索された後、 この音階名に係る上限の区切値を増加させ、下限の区切
値を減少させる変更手段と、 上記検索手段で検索された音階名に応じた音響信号の発
生を指示する指示手段と を有することを特徴とする入力波形信号制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62058634A JPH083711B2 (ja) | 1987-03-13 | 1987-03-13 | 入力波形信号制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62058634A JPH083711B2 (ja) | 1987-03-13 | 1987-03-13 | 入力波形信号制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63223790A JPS63223790A (ja) | 1988-09-19 |
JPH083711B2 true JPH083711B2 (ja) | 1996-01-17 |
Family
ID=13090014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62058634A Expired - Lifetime JPH083711B2 (ja) | 1987-03-13 | 1987-03-13 | 入力波形信号制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH083711B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4296433B2 (ja) * | 2005-06-20 | 2009-07-15 | カシオ計算機株式会社 | 入力制御装置および入力制御プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57198832A (en) * | 1981-05-30 | 1982-12-06 | Ricoh Elemex Corp | Tuning device |
JPS58123591A (ja) * | 1982-01-19 | 1983-07-22 | 三洋電機株式会社 | 電子楽器 |
-
1987
- 1987-03-13 JP JP62058634A patent/JPH083711B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57198832A (en) * | 1981-05-30 | 1982-12-06 | Ricoh Elemex Corp | Tuning device |
JPS58123591A (ja) * | 1982-01-19 | 1983-07-22 | 三洋電機株式会社 | 電子楽器 |
Also Published As
Publication number | Publication date |
---|---|
JPS63223790A (ja) | 1988-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5710387A (en) | Method for recognition of the start of a note in the case of percussion or plucked musical instruments | |
JP2532424B2 (ja) | 波形信号入力制御装置 | |
JPH083711B2 (ja) | 入力波形信号制御装置 | |
EP0264955B1 (en) | Apparatus for determining the pitch of a substantially periodic input signal | |
JP2508044B2 (ja) | 電子楽器の入力制御装置 | |
JP2581068B2 (ja) | 波形信号制御装置 | |
JP2679042B2 (ja) | 入力波形信号制御装置 | |
JP2508692B2 (ja) | 入力波形信号制御装置 | |
JPH0782320B2 (ja) | 楽音制御装置 | |
JP2792022B2 (ja) | 電子楽器の入力制御装置 | |
JPH0727512Y2 (ja) | 電子楽器の入力制御装置 | |
JP2555551B2 (ja) | 入力波形信号制御装置 | |
JP2605667B2 (ja) | 電子楽器の入力制御装置 | |
JP2555553B2 (ja) | 入力波形信号制御装置 | |
JPH0431599B2 (ja) | ||
JPH0648556Y2 (ja) | 電子楽器の入力制御装置 | |
JP2508035B2 (ja) | 入力波形信号制御装置 | |
JPS63136088A (ja) | 電子楽器の入力制御装置 | |
JPH07104666B2 (ja) | ピッチ抽出装置 | |
JP3185266B2 (ja) | 楽音発生装置 | |
JP2611263B2 (ja) | 発音制御装置 | |
JP3118863B2 (ja) | 音階検出装置を用いた楽音発生装置 | |
JP2661065B2 (ja) | 発音制御装置 | |
JPH0431598B2 (ja) | ||
JP2516070Y2 (ja) | 電子楽器の入力制御装置 |