JPH08254980A - 演奏データ記録装置 - Google Patents
演奏データ記録装置Info
- Publication number
- JPH08254980A JPH08254980A JP7335802A JP33580295A JPH08254980A JP H08254980 A JPH08254980 A JP H08254980A JP 7335802 A JP7335802 A JP 7335802A JP 33580295 A JP33580295 A JP 33580295A JP H08254980 A JPH08254980 A JP H08254980A
- Authority
- JP
- Japan
- Prior art keywords
- data
- key
- velocity
- track
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005236 sound signal Effects 0.000 claims description 13
- 238000001514 detection method Methods 0.000 abstract description 32
- 101100535994 Caenorhabditis elegans tars-1 gene Proteins 0.000 abstract description 19
- 238000000034 method Methods 0.000 description 84
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】
【目的】 リアルタイムでピッチを検出することが困難
なギター演奏音や人声音を、データを肥大化させること
なく、操作者自身が後でエディット作業を行わなくても
演奏データとしてリアルタイムに記録できるようにす
る。 【構成】 外部音入力手段はエレクトリックギターの各
弦毎に設けられたピックアップなどであり、弦の振動を
音信号として出力する。第1の記録手段は音信号のレベ
ルを所定の基準値と比較判定し、音信号のレベルがその
基準値に達した時点でキーオンと判断してその発生タイ
ミングを示すタイミングデータを記録する。特徴データ
抽出手段は音信号に基づいて音の特徴を示すベロシティ
及びピッチなどの特徴データを、ベロシティ及びピッチ
が確定した時点で検出する。第2の記録手段は第1の記
録手段に記録されているタイミングデータとこれに対応
する特徴データとを一緒に記録する。
なギター演奏音や人声音を、データを肥大化させること
なく、操作者自身が後でエディット作業を行わなくても
演奏データとしてリアルタイムに記録できるようにす
る。 【構成】 外部音入力手段はエレクトリックギターの各
弦毎に設けられたピックアップなどであり、弦の振動を
音信号として出力する。第1の記録手段は音信号のレベ
ルを所定の基準値と比較判定し、音信号のレベルがその
基準値に達した時点でキーオンと判断してその発生タイ
ミングを示すタイミングデータを記録する。特徴データ
抽出手段は音信号に基づいて音の特徴を示すベロシティ
及びピッチなどの特徴データを、ベロシティ及びピッチ
が確定した時点で検出する。第2の記録手段は第1の記
録手段に記録されているタイミングデータとこれに対応
する特徴データとを一緒に記録する。
Description
【0001】
【発明の属する技術分野】この発明は楽器などの演奏音
を元に演奏データを検出し、それを自動演奏データとし
て記録媒体に順次記録する演奏データ記録装置に係り、
特にギターの演奏音や人声音などのようにリアルタイム
でピッチを検出することの困難な音を自動演奏データと
して記録するのに適した演奏データ記録装置に関する。
を元に演奏データを検出し、それを自動演奏データとし
て記録媒体に順次記録する演奏データ記録装置に係り、
特にギターの演奏音や人声音などのようにリアルタイム
でピッチを検出することの困難な音を自動演奏データと
して記録するのに適した演奏データ記録装置に関する。
【0002】
【従来の技術】シーケンサなどの自動演奏装置に演奏デ
ータを入力する方式として、リアルタイム入力方式があ
る。このリアルタイム入力方式は、演奏者が実際に鍵盤
等の演奏操作子を操作することによって発生する演奏デ
ータをテープレコーダのようにリアルタイムに記憶する
ものである。この方式は、自動演奏の再生時と同様にデ
ータ入力時にも自動演奏の時間を強制的に進行させなが
ら記録していく所に特徴がある。リアルタイム入力方式
は、実際の演奏操作状態をそのまま演奏データとして記
憶することができるので、人間的なニュアンスを表現し
易く、また短時間入力が可能であるという利点を有す
る。鍵盤楽器などのように鍵の位置が楽音のピッチに対
応している場合には、押鍵された鍵に対応するキースイ
ッチのオン・オフ信号によってそのピッチを容易に検出
することができるので、リアルタイム入力方式は非常に
有効な入力方式であるといえる。
ータを入力する方式として、リアルタイム入力方式があ
る。このリアルタイム入力方式は、演奏者が実際に鍵盤
等の演奏操作子を操作することによって発生する演奏デ
ータをテープレコーダのようにリアルタイムに記憶する
ものである。この方式は、自動演奏の再生時と同様にデ
ータ入力時にも自動演奏の時間を強制的に進行させなが
ら記録していく所に特徴がある。リアルタイム入力方式
は、実際の演奏操作状態をそのまま演奏データとして記
憶することができるので、人間的なニュアンスを表現し
易く、また短時間入力が可能であるという利点を有す
る。鍵盤楽器などのように鍵の位置が楽音のピッチに対
応している場合には、押鍵された鍵に対応するキースイ
ッチのオン・オフ信号によってそのピッチを容易に検出
することができるので、リアルタイム入力方式は非常に
有効な入力方式であるといえる。
【0003】
【発明が解決しようとする課題】ところが、ギターなど
のように演奏操作によって発生する楽音のピッチを検出
するための手段を有しないような楽器に関しては、リア
ルタイムにその演奏データを記録することは非常に困難
であった。従って、従来はピッチの確定を待ってから演
奏データを記録するものや、ピッチの確定を待っていた
のでは、実際のキーオンタイミングに対して大幅に遅れ
ることになるので、ピッチの確定を待たずにその推定デ
ータを検出し、推定データが検出された時点をキーオン
タイミングとし、ピッチ推定データと共に記録し、その
後にピッチが確定してからその推定データに対する補正
値としてピッチベンドデータを記録するものがあった。
図7はエレクトリックギターからの楽音信号をMIDI
データとして記録する従来の演奏データ記録装置の概略
構成を示す図である。図において、入力装置1はエレク
トリックギターの各弦に独立に設けられたピックアップ
であり、電磁作用によって弦の振動を電気信号に変換
し、その電気信号を楽音信号としてギターコントローラ
2に出力する。ギターコントローラ2はレベル検出部2
1、ベロシティ検出部22及びピッチ検出部23から構
成される。レベル検出部21はスレッショルドレベル信
号Thと入力装置1からの楽音信号の振幅値とを比較
し、楽音信号の振幅値がスレッショルドレベル信号Th
に達した時点でキーオン信号KONをシーケンサ部3に
出力する。ベロシティ検出部22は楽音信号のエンベロ
ープ波形の最大値を検出し、その値をベロシティデータ
Velとしてシーケンサ部3に出力する。
のように演奏操作によって発生する楽音のピッチを検出
するための手段を有しないような楽器に関しては、リア
ルタイムにその演奏データを記録することは非常に困難
であった。従って、従来はピッチの確定を待ってから演
奏データを記録するものや、ピッチの確定を待っていた
のでは、実際のキーオンタイミングに対して大幅に遅れ
ることになるので、ピッチの確定を待たずにその推定デ
ータを検出し、推定データが検出された時点をキーオン
タイミングとし、ピッチ推定データと共に記録し、その
後にピッチが確定してからその推定データに対する補正
値としてピッチベンドデータを記録するものがあった。
図7はエレクトリックギターからの楽音信号をMIDI
データとして記録する従来の演奏データ記録装置の概略
構成を示す図である。図において、入力装置1はエレク
トリックギターの各弦に独立に設けられたピックアップ
であり、電磁作用によって弦の振動を電気信号に変換
し、その電気信号を楽音信号としてギターコントローラ
2に出力する。ギターコントローラ2はレベル検出部2
1、ベロシティ検出部22及びピッチ検出部23から構
成される。レベル検出部21はスレッショルドレベル信
号Thと入力装置1からの楽音信号の振幅値とを比較
し、楽音信号の振幅値がスレッショルドレベル信号Th
に達した時点でキーオン信号KONをシーケンサ部3に
出力する。ベロシティ検出部22は楽音信号のエンベロ
ープ波形の最大値を検出し、その値をベロシティデータ
Velとしてシーケンサ部3に出力する。
【0004】ピッチ検出部23は入力装置1からの楽音
信号を入力し、その音高(ピッチ)データを検出し、そ
れに最も近い音高(ノートナンバ)NTNをシーケンサ
部3に出力する。ピッチ検出部23は、自己相関法、零
点交差法、高速フーリエ変換法、線形予測分析法(Li
near Predictive Coding:LP
C)、線スペクトル対分析法(Line Spectr
um Pair:LSP)、複合正弦波モデル分析法
(Composite Sinnsoidalmode
l:CSM)等の音響・音声分析の分野で周知の技術を
利用して音高を検出する。シーケンサ部3は、レベル検
出部21からのキーオン信号を入力してからピッチ検出
部23によって最初に検出されたノートナンバNTNを
ピッチ推定データとし、ベロシティ検出部22によって
検出されたベロシティデータVelと共にMIDIデー
タを作成し、記録媒体に記録する。例えば、シーケンサ
部3は図示のようにキーオンを示すデータ『9X』(X
はMIDIチャンネルを示す)、ノートナンバを示すデ
ータ『NTN』及びベロシティを示すデータ『Vel』
から構成されるMIDIデータを作成記録する。しかし
ながら、この時点におけるノートナンバNTNは、レベ
ル検出部21がシーケンサ部3にキーオン信号KONを
出力してからピッチ検出部23が最初に推定したデータ
なので、シーケンサ部3はこの後に推定データに対する
補正値としてピッチベンドデータ『pitch』を順次
記録しなければならない。また、シーケンサ部3がMI
DIデータを記録するタイミングは、実際のキーオンタ
イミングよりもピッチ検出部23がピッチの推定データ
を検出するまでの時間だけ遅れたタイミングである。従
って、このような場合には無駄なピッチベンドデータを
多数記録しなければならないことによるデータの肥大化
を招き、また、最終的に正しい演奏データ(ピッチ)に
修正するために膨大な量のエディット作業を行わなけれ
ばならないという事態を招いていた。かといって、ピッ
チの確定を待って記録すると、演奏タイミングの記録が
遅れるという問題を有する。また、上述の従来技術の他
に、時間(タイミング)の量子化(クオンタイズ)によ
ってジャストタイミングに自動修正するという方法もあ
るが、これだと演奏者が意図的に行ったタイミングのず
れをも自動修正してしまうという問題があった。
信号を入力し、その音高(ピッチ)データを検出し、そ
れに最も近い音高(ノートナンバ)NTNをシーケンサ
部3に出力する。ピッチ検出部23は、自己相関法、零
点交差法、高速フーリエ変換法、線形予測分析法(Li
near Predictive Coding:LP
C)、線スペクトル対分析法(Line Spectr
um Pair:LSP)、複合正弦波モデル分析法
(Composite Sinnsoidalmode
l:CSM)等の音響・音声分析の分野で周知の技術を
利用して音高を検出する。シーケンサ部3は、レベル検
出部21からのキーオン信号を入力してからピッチ検出
部23によって最初に検出されたノートナンバNTNを
ピッチ推定データとし、ベロシティ検出部22によって
検出されたベロシティデータVelと共にMIDIデー
タを作成し、記録媒体に記録する。例えば、シーケンサ
部3は図示のようにキーオンを示すデータ『9X』(X
はMIDIチャンネルを示す)、ノートナンバを示すデ
ータ『NTN』及びベロシティを示すデータ『Vel』
から構成されるMIDIデータを作成記録する。しかし
ながら、この時点におけるノートナンバNTNは、レベ
ル検出部21がシーケンサ部3にキーオン信号KONを
出力してからピッチ検出部23が最初に推定したデータ
なので、シーケンサ部3はこの後に推定データに対する
補正値としてピッチベンドデータ『pitch』を順次
記録しなければならない。また、シーケンサ部3がMI
DIデータを記録するタイミングは、実際のキーオンタ
イミングよりもピッチ検出部23がピッチの推定データ
を検出するまでの時間だけ遅れたタイミングである。従
って、このような場合には無駄なピッチベンドデータを
多数記録しなければならないことによるデータの肥大化
を招き、また、最終的に正しい演奏データ(ピッチ)に
修正するために膨大な量のエディット作業を行わなけれ
ばならないという事態を招いていた。かといって、ピッ
チの確定を待って記録すると、演奏タイミングの記録が
遅れるという問題を有する。また、上述の従来技術の他
に、時間(タイミング)の量子化(クオンタイズ)によ
ってジャストタイミングに自動修正するという方法もあ
るが、これだと演奏者が意図的に行ったタイミングのず
れをも自動修正してしまうという問題があった。
【0005】この発明は上述の点に鑑みてなされたもの
であり、ギターの演奏音や人声音などのようにリアルタ
イムでピッチを検出することが困難な音を、データを肥
大化させることなく、操作者自身が後でエディット作業
を行わなくても演奏データとして実際の演奏に即してリ
アルタイムに記録することのできる演奏データ記録装置
を提供することを目的とする。
であり、ギターの演奏音や人声音などのようにリアルタ
イムでピッチを検出することが困難な音を、データを肥
大化させることなく、操作者自身が後でエディット作業
を行わなくても演奏データとして実際の演奏に即してリ
アルタイムに記録することのできる演奏データ記録装置
を提供することを目的とする。
【0006】
【課題を解決するための手段】この発明に係る演奏デー
タ記録装置は、外部で発生された音を入力し、その音に
応じた音信号を出力する外部音入力手段と、前記音信号
に基づいて前記音の発生タイミングを検出し、それをタ
イミングデータとして記録する第1の記録手段と、前記
音信号に基づいて前記音の特徴を検出し、それを特徴デ
ータとする特徴データ抽出手段と、前記第1の記録手段
に記録されているタイミングデータとこれに対応する特
徴データとを一緒に記録する第2の記録手段とを備えた
ものである。外部音入力手段はエレクトリックギターの
各弦に独立に設けられたピックアップなどであり、弦の
振動を音信号として出力する。従って、エレクトリック
ギターが演奏されると、外部音入力手段はそれに応じた
電気的な音信号を発生する。第1の記録手段は音信号の
レベルを所定の基準値と比較判定し、音信号のレベルが
その基準値に達した時点でキーオンと判断してその発生
タイミングを示すタイミングデータを記録する。特徴デ
ータ抽出手段は音信号の特徴を示すベロシティ及びピッ
チを特徴データとして検出する。すなわち、第1の記録
手段は音が発生した時点でその発生タイミングを確実に
記録するので、発生タイミングの記録が遅れることはな
い。一方、特徴データ抽出手段はベロシティ及びピッチ
が確定した時点でそれぞれの特徴データを検出している
ので、正確なベロシティデータ及びピッチデータを検出
することができる。第2の記録手段は第1の記録手段に
記録されているタイミングデータと、このタイミングデ
ータの発音タイミングに対応する音信号の特徴を示す特
徴データとを一緒に記録する。このようにして、この発
明の演奏データ記録装置はリアルタイムでピッチを検出
することが困難な音であっても、データを肥大化させる
ことなく、後で膨大なエディット作業を行わなくても演
奏データを実際の発音タイミングに即した形でリアルタ
イムに記録することができる。
タ記録装置は、外部で発生された音を入力し、その音に
応じた音信号を出力する外部音入力手段と、前記音信号
に基づいて前記音の発生タイミングを検出し、それをタ
イミングデータとして記録する第1の記録手段と、前記
音信号に基づいて前記音の特徴を検出し、それを特徴デ
ータとする特徴データ抽出手段と、前記第1の記録手段
に記録されているタイミングデータとこれに対応する特
徴データとを一緒に記録する第2の記録手段とを備えた
ものである。外部音入力手段はエレクトリックギターの
各弦に独立に設けられたピックアップなどであり、弦の
振動を音信号として出力する。従って、エレクトリック
ギターが演奏されると、外部音入力手段はそれに応じた
電気的な音信号を発生する。第1の記録手段は音信号の
レベルを所定の基準値と比較判定し、音信号のレベルが
その基準値に達した時点でキーオンと判断してその発生
タイミングを示すタイミングデータを記録する。特徴デ
ータ抽出手段は音信号の特徴を示すベロシティ及びピッ
チを特徴データとして検出する。すなわち、第1の記録
手段は音が発生した時点でその発生タイミングを確実に
記録するので、発生タイミングの記録が遅れることはな
い。一方、特徴データ抽出手段はベロシティ及びピッチ
が確定した時点でそれぞれの特徴データを検出している
ので、正確なベロシティデータ及びピッチデータを検出
することができる。第2の記録手段は第1の記録手段に
記録されているタイミングデータと、このタイミングデ
ータの発音タイミングに対応する音信号の特徴を示す特
徴データとを一緒に記録する。このようにして、この発
明の演奏データ記録装置はリアルタイムでピッチを検出
することが困難な音であっても、データを肥大化させる
ことなく、後で膨大なエディット作業を行わなくても演
奏データを実際の発音タイミングに即した形でリアルタ
イムに記録することができる。
【0007】
【発明の実施の形態】以下、この発明の一実施の形態を
添付図面を参照して説明する。この実施の形態では、エ
レクトリックギターの音をMIDIデータとして記憶す
る演奏データ記録装置を例に説明する。図1はエレクト
リックギターからの楽音信号をMIDIデータとして記
録する演奏データ記録装置の構成例を示す図である。図
1において図7と同じ構成のものには同一の符号が付し
てあるので、その説明は省略する。図1では、エレクト
リックギターの6弦に対して独立にギターコントローラ
2及びシーケンサ部3を有する場合について図示する。
この実施の形態が従来のものと異なる点は、シーケンサ
部3がキーオン/オフ用トラックTr1〜Tr6にレベ
ル検出部21のデータを記録し、ベロシティ用トラック
TrV1〜TrV6にベロシティ検出部22のデータを
記録し、ノートナンバ用トラックTrT1〜TrT6に
ピッチ検出部23のデータをそれぞれ別々に記録し、上
記3つのトラックに一旦記録されたデータに基づいてM
IDIデータを作成し、それを正規トラックTrS1〜
TrS6に記録する点である。なお、各弦のレベル検出
部21には、各弦毎にスレッショルドレベル信号T1〜
T6が供給されている。
添付図面を参照して説明する。この実施の形態では、エ
レクトリックギターの音をMIDIデータとして記憶す
る演奏データ記録装置を例に説明する。図1はエレクト
リックギターからの楽音信号をMIDIデータとして記
録する演奏データ記録装置の構成例を示す図である。図
1において図7と同じ構成のものには同一の符号が付し
てあるので、その説明は省略する。図1では、エレクト
リックギターの6弦に対して独立にギターコントローラ
2及びシーケンサ部3を有する場合について図示する。
この実施の形態が従来のものと異なる点は、シーケンサ
部3がキーオン/オフ用トラックTr1〜Tr6にレベ
ル検出部21のデータを記録し、ベロシティ用トラック
TrV1〜TrV6にベロシティ検出部22のデータを
記録し、ノートナンバ用トラックTrT1〜TrT6に
ピッチ検出部23のデータをそれぞれ別々に記録し、上
記3つのトラックに一旦記録されたデータに基づいてM
IDIデータを作成し、それを正規トラックTrS1〜
TrS6に記録する点である。なお、各弦のレベル検出
部21には、各弦毎にスレッショルドレベル信号T1〜
T6が供給されている。
【0008】次に、シーケンサ部3がどのようにしてM
IDIデータを記録するのか、その一例を図2及び図3
のフローチャートに基づいて説明する。図2及び図3は
シーケンサ部3が処理するメインルーチンの一例を示す
図である。以下、この処理をステップ順に説明する。 ステップ31:シーケンサ部3はプログラムメモリに格
納されている制御プログラムに応じた「初期設定処理
(イニシャライズ)」を行う。この初期設定処理では内
部の各種レジスタやフラグ等を初期値に設定する。例え
ば、変数iを『0』にリセットしたり、キーオン/オフ
用ポインタPT1、ベロシティ用ポインタPTv及びノ
ートナンバ用ポインタPTnを所定の記録位置に設定し
たりする。
IDIデータを記録するのか、その一例を図2及び図3
のフローチャートに基づいて説明する。図2及び図3は
シーケンサ部3が処理するメインルーチンの一例を示す
図である。以下、この処理をステップ順に説明する。 ステップ31:シーケンサ部3はプログラムメモリに格
納されている制御プログラムに応じた「初期設定処理
(イニシャライズ)」を行う。この初期設定処理では内
部の各種レジスタやフラグ等を初期値に設定する。例え
ば、変数iを『0』にリセットしたり、キーオン/オフ
用ポインタPT1、ベロシティ用ポインタPTv及びノ
ートナンバ用ポインタPTnを所定の記録位置に設定し
たりする。
【0009】ステップ32:所定のイニシャライズ処理
を行った後、シーケンサ3の各種操作子の操作状態に応
じてその他の処理を行う。 ステップ33:記録(REC)スイッチ(図示せず)が
操作されたかどうかを判定し、操作された(YES)場
合にはステップ34に進み、そうでない場合にはステッ
プ32にリターンし、再びその他の処理を実行する。 ステップ34:前記ステップ33で記録(REC)スイ
ッチが操作されたと判定されたので、デュレーションタ
イムレジスタDT1を『0』にリセットし、ギターコン
トローラ2に対して割り込みを許可する。従って、これ
以降はギターコントローラ2のレベル検出部21、ベロ
シティ検出部22及びピッチ検出部23で検出された各
種データが割り込み信号としてシーケンサ部3に入力す
るようになる。なお、デュレーションタイムレジスタD
T1は図示していない所定周期の割り込み処理によって
カンウトアップされ、キーオンデータKONやキーオフ
データKOFの入力間隔を計時する。
を行った後、シーケンサ3の各種操作子の操作状態に応
じてその他の処理を行う。 ステップ33:記録(REC)スイッチ(図示せず)が
操作されたかどうかを判定し、操作された(YES)場
合にはステップ34に進み、そうでない場合にはステッ
プ32にリターンし、再びその他の処理を実行する。 ステップ34:前記ステップ33で記録(REC)スイ
ッチが操作されたと判定されたので、デュレーションタ
イムレジスタDT1を『0』にリセットし、ギターコン
トローラ2に対して割り込みを許可する。従って、これ
以降はギターコントローラ2のレベル検出部21、ベロ
シティ検出部22及びピッチ検出部23で検出された各
種データが割り込み信号としてシーケンサ部3に入力す
るようになる。なお、デュレーションタイムレジスタD
T1は図示していない所定周期の割り込み処理によって
カンウトアップされ、キーオンデータKONやキーオフ
データKOFの入力間隔を計時する。
【0010】ステップ35:イベント有りかどうか、す
なわち、ギターコントローラ2のレベル検出部21から
のキーオンデータKONやキーオフデータKOF、ベロ
シティ検出部22からのベロシティデータVel又はピ
ッチ検出部23からのノートナンバNTNが入力された
かどうかを判定し、イベント有り(YES)の場合は次
のステップ36に進み、そうでない(NO)場合はイベ
ントデータが入力されるまでステップ35の判定を繰り
返す。 ステップ36:入力イベントの種類は何か、すなわち、
ギターコントローラ2から入力されたデータがキーオン
データKON、キーオフデータKOF、ベロシティデー
タVel及びノートナンバNTNのどれなのかを判定
し、その判定結果に応じた処理に分岐する。すなわち、
入力イベントがキーオンデータKONの場合はステップ
37に、キーオフデータKOFの場合はステップ42
に、ベロシティデータVelの場合はステップ46に、
ノートナンバNTNの場合はステップ48にそれぞれ進
む。
なわち、ギターコントローラ2のレベル検出部21から
のキーオンデータKONやキーオフデータKOF、ベロ
シティ検出部22からのベロシティデータVel又はピ
ッチ検出部23からのノートナンバNTNが入力された
かどうかを判定し、イベント有り(YES)の場合は次
のステップ36に進み、そうでない(NO)場合はイベ
ントデータが入力されるまでステップ35の判定を繰り
返す。 ステップ36:入力イベントの種類は何か、すなわち、
ギターコントローラ2から入力されたデータがキーオン
データKON、キーオフデータKOF、ベロシティデー
タVel及びノートナンバNTNのどれなのかを判定
し、その判定結果に応じた処理に分岐する。すなわち、
入力イベントがキーオンデータKONの場合はステップ
37に、キーオフデータKOFの場合はステップ42
に、ベロシティデータVelの場合はステップ46に、
ノートナンバNTNの場合はステップ48にそれぞれ進
む。
【0011】ステップ37:前記ステップ36で入力イ
ベントがキーオンデータKONと判定されたので、変数
iを『1』だけインクリメント処理する。 ステップ38:キーオン/オフ用ポインタPT1の示す
記録位置にデュレーションタイムレジスタDT1の格納
値を書き込み、デュレーションタイムレジスタDT1を
クリアする。従って、デュレーションタイムレジスタD
T1はこのキーオン処理以降の経過時間を所定周期の割
り込み処理によって計時するようになる。 ステップ39:キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。 ステップ40:前記ステップ39で歩進されたキーオン
/オフ用ポインタPT1の示す位置に今度はマークデー
タM(i)とキーオンデータKONを書き込む。 ステップ41:次回のキーオフデータKOFのイベント
入力に備えて、キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。
ベントがキーオンデータKONと判定されたので、変数
iを『1』だけインクリメント処理する。 ステップ38:キーオン/オフ用ポインタPT1の示す
記録位置にデュレーションタイムレジスタDT1の格納
値を書き込み、デュレーションタイムレジスタDT1を
クリアする。従って、デュレーションタイムレジスタD
T1はこのキーオン処理以降の経過時間を所定周期の割
り込み処理によって計時するようになる。 ステップ39:キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。 ステップ40:前記ステップ39で歩進されたキーオン
/オフ用ポインタPT1の示す位置に今度はマークデー
タM(i)とキーオンデータKONを書き込む。 ステップ41:次回のキーオフデータKOFのイベント
入力に備えて、キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。
【0012】ステップ42:前記ステップ36で入力イ
ベントがキーオフデータKOFと判定されたので、キー
オン/オフ用ポインタPT1の示す記録位置にデュレー
ションタイムレジスタDT1の格納値を書き込み、デュ
レーションタイムレジスタDT1をクリアする。従っ
て、デュレーションタイムレジスタDT1はこのキーオ
フ処理以降の経過時間を所定周期の割り込み処理によっ
て計時するようになる。 ステップ43:キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。 ステップ44:前記ステップ43で歩進されたキーオン
/オフ用ポインタPT1の示す位置にマークデータM
(i)とキーオフデータKOFを書き込む。 ステップ45:次回のキーオンデータKONのイベント
入力に備えて、キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。
ベントがキーオフデータKOFと判定されたので、キー
オン/オフ用ポインタPT1の示す記録位置にデュレー
ションタイムレジスタDT1の格納値を書き込み、デュ
レーションタイムレジスタDT1をクリアする。従っ
て、デュレーションタイムレジスタDT1はこのキーオ
フ処理以降の経過時間を所定周期の割り込み処理によっ
て計時するようになる。 ステップ43:キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。 ステップ44:前記ステップ43で歩進されたキーオン
/オフ用ポインタPT1の示す位置にマークデータM
(i)とキーオフデータKOFを書き込む。 ステップ45:次回のキーオンデータKONのイベント
入力に備えて、キーオン/オフ用ポインタPT1の値を
次の記録位置に進める。
【0013】ステップ46:前記ステップ36で入力イ
ベントがベロシティデータVelと判定されたので、こ
こでは、ベロシティ用ポインタPTvの示す位置にマー
クデータM(i)とベロシティデータVelを書き込
む。 ステップ47:次回のベロシティデータVelのイベン
ト入力に備えて、ベロシティ用ポインタPTvの値を次
の記録位置に進める。 ステップ48:前記ステップ36で入力イベントがノー
トナンバNTNと判定されたので、ここでは、ノートナ
ンバ用ポインタPTnの示す位置にマークデータM
(i)とノートナンバデータNTNを書き込む。 ステップ49:次回のノートナンバNTNのイベント入
力に備えて、ノートナンバ用ポインタPTnの値を次の
記録位置に進める。
ベントがベロシティデータVelと判定されたので、こ
こでは、ベロシティ用ポインタPTvの示す位置にマー
クデータM(i)とベロシティデータVelを書き込
む。 ステップ47:次回のベロシティデータVelのイベン
ト入力に備えて、ベロシティ用ポインタPTvの値を次
の記録位置に進める。 ステップ48:前記ステップ36で入力イベントがノー
トナンバNTNと判定されたので、ここでは、ノートナ
ンバ用ポインタPTnの示す位置にマークデータM
(i)とノートナンバデータNTNを書き込む。 ステップ49:次回のノートナンバNTNのイベント入
力に備えて、ノートナンバ用ポインタPTnの値を次の
記録位置に進める。
【0014】ステップ50:ストップ(STOP)スイ
ッチ(図示せず)が操作されたかどうかを判定し、操作
された(YES)場合には図3のステップ51に進み、
そうでない場合にはステップ35にリターンし、再びギ
ターコントローラ2から何らかのイベントが入力される
まで、上記ステップ35〜ステップ49の処理を繰り返
し実行する。 ステップ51:前記ステップ50でストップスイッチが
操作されたと判定されたので、各トラックTr1、Tr
V1及びTrT1に記録されているデータに基づいてM
IDIデータ作成し、それを正規トラックTrS1に記
録するために、変数iを『1』にセットする。
ッチ(図示せず)が操作されたかどうかを判定し、操作
された(YES)場合には図3のステップ51に進み、
そうでない場合にはステップ35にリターンし、再びギ
ターコントローラ2から何らかのイベントが入力される
まで、上記ステップ35〜ステップ49の処理を繰り返
し実行する。 ステップ51:前記ステップ50でストップスイッチが
操作されたと判定されたので、各トラックTr1、Tr
V1及びTrT1に記録されているデータに基づいてM
IDIデータ作成し、それを正規トラックTrS1に記
録するために、変数iを『1』にセットする。
【0015】ステップ52:キーオン/オフ用トラック
Tr1とベロシティ用トラックTrV1とノートナンバ
用トラックTrT1をそれぞれサーチし、変数iが同じ
マークデータM(i)と共に記録されたキーオンデータ
KON、キーオフデータKOF、ベロシティデータVe
l及びノートナンバNTNが前記3つのトラック全てに
存在するかどうかを判定し、存在する(YES)場合に
は次のステップ53に進み、そうでない(NO)場合は
ステップ55にジャンプする。通常、ギターコントロー
ラはキーオンデータKON、ベロシティデータVel、
ノートナンバNTN、キーオフデータKOFの順番でイ
ベントデータを発生するので、シーケンサ部3もステッ
プ35〜41、ステップ50、ステップ35,36,4
6,47、ステップ50、ステップ35,36,48,
49、ステップ50、ステップ35,36,42〜45
の順番で処理を行う。従って、このような場合には変数
iの同じマークデータM(i)が3つのトラック全てに
それぞれ記録される。ところが、ノートナンバNTNが
検出される前に再びキーオンデータKONが検出された
場合には、3つのトラックに変数iの同じマークデータ
M(i)が記録されないことがある。従って、このステ
ップ52では、そのような場合のキーオンデータKON
を無視するための判定を行っている。
Tr1とベロシティ用トラックTrV1とノートナンバ
用トラックTrT1をそれぞれサーチし、変数iが同じ
マークデータM(i)と共に記録されたキーオンデータ
KON、キーオフデータKOF、ベロシティデータVe
l及びノートナンバNTNが前記3つのトラック全てに
存在するかどうかを判定し、存在する(YES)場合に
は次のステップ53に進み、そうでない(NO)場合は
ステップ55にジャンプする。通常、ギターコントロー
ラはキーオンデータKON、ベロシティデータVel、
ノートナンバNTN、キーオフデータKOFの順番でイ
ベントデータを発生するので、シーケンサ部3もステッ
プ35〜41、ステップ50、ステップ35,36,4
6,47、ステップ50、ステップ35,36,48,
49、ステップ50、ステップ35,36,42〜45
の順番で処理を行う。従って、このような場合には変数
iの同じマークデータM(i)が3つのトラック全てに
それぞれ記録される。ところが、ノートナンバNTNが
検出される前に再びキーオンデータKONが検出された
場合には、3つのトラックに変数iの同じマークデータ
M(i)が記録されないことがある。従って、このステ
ップ52では、そのような場合のキーオンデータKON
を無視するための判定を行っている。
【0016】ステップ53:キーオン/オフ用トラック
Tr1のキーオンデータKONと共に記録されているマ
ークデータM(i)の直前のデュレーションデータDT
を正規トラックTrS1に書込み、その後にキーオンデ
ータKON、ベロシティデータVel及びノートナンバ
NTNに対応するMIDIデータ『9X』、『NTN』
及び『Vel』を書き込む。 ステップ54:キーオン/オフ用トラックTr1のキー
オフデータKOFと共に記録されているマークデータM
(i)の直前のデュレーションデータDTを正規トラッ
クTrS1に書込み、その後にキーオフデータKOF、
ベロシティデータVel及びノートナンバNTNに対応
するMIDIデータ『8X』、『NTN(変数iが同じ
KONのノートナンバ)』及び『Vel(=64)』を
書き込む。すなわち、この場合にはキーオフベロシティ
は64とし、変数iと同じノートナンバNTNを記録す
る。なお、変数iの同じマークデータM(i)と共に記
録されたキーオフデータKOFが存在しない場合には、
デュレーションデータDTに所定の値を記録してもよ
い。 ステップ55:エンドデータかどうかを判定し、エンド
データ(YES)の場合はステップ57に進み、そうで
ない場合にはステップ56に進む。 ステップ56:前記ステップ55でエンドデータでない
と判定されたので、変数iを『1』だけインクリメント
してステップ52にリターンする。従って、次からは
『1』だけインクリメントされた変数iに対して同様の
処理が行なわれるようになる。 ステップ57:前記ステップ55でエンドデータである
と判定され、全データの正規トラックTrS1への書込
みが終了したので、ここでは正規トラックTrS1の内
容をそっくりそのままキーオン/オフ用トラックTr1
にコピーし、ステップ32にリターンする。
Tr1のキーオンデータKONと共に記録されているマ
ークデータM(i)の直前のデュレーションデータDT
を正規トラックTrS1に書込み、その後にキーオンデ
ータKON、ベロシティデータVel及びノートナンバ
NTNに対応するMIDIデータ『9X』、『NTN』
及び『Vel』を書き込む。 ステップ54:キーオン/オフ用トラックTr1のキー
オフデータKOFと共に記録されているマークデータM
(i)の直前のデュレーションデータDTを正規トラッ
クTrS1に書込み、その後にキーオフデータKOF、
ベロシティデータVel及びノートナンバNTNに対応
するMIDIデータ『8X』、『NTN(変数iが同じ
KONのノートナンバ)』及び『Vel(=64)』を
書き込む。すなわち、この場合にはキーオフベロシティ
は64とし、変数iと同じノートナンバNTNを記録す
る。なお、変数iの同じマークデータM(i)と共に記
録されたキーオフデータKOFが存在しない場合には、
デュレーションデータDTに所定の値を記録してもよ
い。 ステップ55:エンドデータかどうかを判定し、エンド
データ(YES)の場合はステップ57に進み、そうで
ない場合にはステップ56に進む。 ステップ56:前記ステップ55でエンドデータでない
と判定されたので、変数iを『1』だけインクリメント
してステップ52にリターンする。従って、次からは
『1』だけインクリメントされた変数iに対して同様の
処理が行なわれるようになる。 ステップ57:前記ステップ55でエンドデータである
と判定され、全データの正規トラックTrS1への書込
みが終了したので、ここでは正規トラックTrS1の内
容をそっくりそのままキーオン/オフ用トラックTr1
にコピーし、ステップ32にリターンする。
【0017】次に、図2及び図3のメインルーチンに従
ったシーケンサ部3の動作例を説明する。まず、シーケ
ンサ部3の記録(REC)スイッチが操作されると、ス
テップ33でYESと判定され、ステップ34の処理が
行われる。この後、エレクトリックギターが操作される
までの間、ステップ35の判定処理が繰り返し実行され
ると共に、この間にデュレーションタイムレジスタDT
1は所定周期の割り込み処理によってカウントアップさ
れ、経過時間を計時する。
ったシーケンサ部3の動作例を説明する。まず、シーケ
ンサ部3の記録(REC)スイッチが操作されると、ス
テップ33でYESと判定され、ステップ34の処理が
行われる。この後、エレクトリックギターが操作される
までの間、ステップ35の判定処理が繰り返し実行され
ると共に、この間にデュレーションタイムレジスタDT
1は所定周期の割り込み処理によってカウントアップさ
れ、経過時間を計時する。
【0018】そして、エレクトリックギターが操作さ
れ、ギターコントローラ2のレベル検出部21からキー
オンデータKONが入力すると、ステップ37〜ステッ
プ41の処理によって図1に示すようにキーオン/オフ
用トラックTr1にデュレーションデータDTとマーク
データM(1)とキーオンデータKONが書き込まれ
る。次に、ギターコントローラ2のベロシティ検出部2
2からベロシティデータVelが入力すると、ステップ
46及びステップ47の処理によって図1に示すように
ベロシティ用トラックTrV1にマークデータM(1)
とベロシティデータVelが書き込まれる。さらに、ギ
ターコントローラ2のピッチ検出部23からノートナン
バNTNが入力すると、ステップ48及びステップ49
の処理によって図1に示すようにノートナンバ用トラッ
クTrT1にマークデータM(1)とノートナンバNT
Nが書き込まれる。そして、ギターコントローラ2のレ
ベル検出部21からキーオフデータKOFが入力する
と、ステップ42〜ステップ45の処理によって図1に
示すようにキーオン/オフ用トラックTr1にデュレー
ションデータDTとマークデータM(1)とキーオフデ
ータKOFが書き込まれる。以下、同様にしてギターコ
ントローラ2からのキーオンデータKON、ベロシティ
データVel、ノートナンバNTN及びキーオフデータ
KOFの入力に応じてマークデータM(i)とキーオン
データKON、マークデータM(i)とキーオフデータ
KOFがキーオン/オフ用トラックTr1に、マークデ
ータM(i)とベロシティデータVelがベロシティ用
トラックTrV1に、マークデータM(i)とノートナ
ンバNTNがノートナンバ用トラックTrT1にそれぞ
れ書き込まれる。
れ、ギターコントローラ2のレベル検出部21からキー
オンデータKONが入力すると、ステップ37〜ステッ
プ41の処理によって図1に示すようにキーオン/オフ
用トラックTr1にデュレーションデータDTとマーク
データM(1)とキーオンデータKONが書き込まれ
る。次に、ギターコントローラ2のベロシティ検出部2
2からベロシティデータVelが入力すると、ステップ
46及びステップ47の処理によって図1に示すように
ベロシティ用トラックTrV1にマークデータM(1)
とベロシティデータVelが書き込まれる。さらに、ギ
ターコントローラ2のピッチ検出部23からノートナン
バNTNが入力すると、ステップ48及びステップ49
の処理によって図1に示すようにノートナンバ用トラッ
クTrT1にマークデータM(1)とノートナンバNT
Nが書き込まれる。そして、ギターコントローラ2のレ
ベル検出部21からキーオフデータKOFが入力する
と、ステップ42〜ステップ45の処理によって図1に
示すようにキーオン/オフ用トラックTr1にデュレー
ションデータDTとマークデータM(1)とキーオフデ
ータKOFが書き込まれる。以下、同様にしてギターコ
ントローラ2からのキーオンデータKON、ベロシティ
データVel、ノートナンバNTN及びキーオフデータ
KOFの入力に応じてマークデータM(i)とキーオン
データKON、マークデータM(i)とキーオフデータ
KOFがキーオン/オフ用トラックTr1に、マークデ
ータM(i)とベロシティデータVelがベロシティ用
トラックTrV1に、マークデータM(i)とノートナ
ンバNTNがノートナンバ用トラックTrT1にそれぞ
れ書き込まれる。
【0019】そして、一連の演奏終了後に演奏者がスト
ップ(STOP)スイッチを操作すると、ステップ51
〜ステップ57の処理が行われる。まず、ステップ51
では変数iが『1』にセットされる。そして、ステップ
52ではマークデータM(1)と共に書き込まれたデー
タが各トラック(キーオン/オフ用トラックTr1、ベ
ロシティ用トラックTrV1及びノートナンバ用トラッ
クTrT1に存在するかどうかが判定される。図1で
は、マークデータM(1)は各トラックに存在するの
で、ステップ53の処理によって、キーオン/オフ用ト
ラックTr1のキーオンデータKONと共に記録された
マークデータM(1)の直前のデュレーションデータD
Tが正規トラックTrS1に書き込まれ、その後にキー
オン/オフ用トラックTr1においてマークデータM
(1)と共に記録されているキーオンデータKON、ベ
ロシティ用トラックTrV1においてマークデータM
(1)と共に記録されているベロシティデータVel及
びノートナンバ用トラックTrT1においてマークデー
タM(1)と共に記録されているノートナンバNTNに
対応したMIDIデータ『9X』、『NTN』及び『V
el』が書き込まれる。次に、ステップ54の処理によ
って、キーオン/オフ用トラックTr1のキーオフデー
タKOFと共に記録されたマークデータM(1)の直前
のデュレーションデータDTが正規トラックTrS1に
書き込まれ、その後にキーオン/オフ用トラックTr1
においてマークデータM(1)と共に記録されているキ
ーオフデータKOF、所定のベロシティデータVel
(=64)及びノートナンバ用トラックTrT1におい
てマークデータM(1)と共に記録されているノートナ
ンバNTNに対応したMIDIデータ『8X』、『NT
N』及び『Vel(=64)』が書き込まれる。
ップ(STOP)スイッチを操作すると、ステップ51
〜ステップ57の処理が行われる。まず、ステップ51
では変数iが『1』にセットされる。そして、ステップ
52ではマークデータM(1)と共に書き込まれたデー
タが各トラック(キーオン/オフ用トラックTr1、ベ
ロシティ用トラックTrV1及びノートナンバ用トラッ
クTrT1に存在するかどうかが判定される。図1で
は、マークデータM(1)は各トラックに存在するの
で、ステップ53の処理によって、キーオン/オフ用ト
ラックTr1のキーオンデータKONと共に記録された
マークデータM(1)の直前のデュレーションデータD
Tが正規トラックTrS1に書き込まれ、その後にキー
オン/オフ用トラックTr1においてマークデータM
(1)と共に記録されているキーオンデータKON、ベ
ロシティ用トラックTrV1においてマークデータM
(1)と共に記録されているベロシティデータVel及
びノートナンバ用トラックTrT1においてマークデー
タM(1)と共に記録されているノートナンバNTNに
対応したMIDIデータ『9X』、『NTN』及び『V
el』が書き込まれる。次に、ステップ54の処理によ
って、キーオン/オフ用トラックTr1のキーオフデー
タKOFと共に記録されたマークデータM(1)の直前
のデュレーションデータDTが正規トラックTrS1に
書き込まれ、その後にキーオン/オフ用トラックTr1
においてマークデータM(1)と共に記録されているキ
ーオフデータKOF、所定のベロシティデータVel
(=64)及びノートナンバ用トラックTrT1におい
てマークデータM(1)と共に記録されているノートナ
ンバNTNに対応したMIDIデータ『8X』、『NT
N』及び『Vel(=64)』が書き込まれる。
【0020】この処理の後、ステップ55及びステップ
56を経て、ステップ52の判定処理が再び行われる。
今度は、ステップ52ではマークデータM(2)と共に
書き込まれたデータが各トラック(キーオン/オフ用ト
ラックTr1、ベロシティ用トラックTrV1及びノー
トナンバ用トラックTrT1)に存在するかどうかを判
定し、存在する場合には、そのデュレーションデータD
TとキーオンデータKON、ベロシティデータVel及
びノートナンバNTNに対応するMIDIデータが正規
トラックTrS1に書き込まれ、同様にデュレーション
データDTとキーオフデータKOF、ベロシティデータ
Vel(=64)及びノートナンバNTNに対応するM
IDIデータが正規トラックTrS1に書き込まれる。
以後、エンドデータが読み出されるまで、ステップ52
〜ステップ56の処理が繰り返し実行され、正規トラッ
クTrS1に次々とMIDIデータが書き込まれる。そ
して、エンドデータが読み出されると、ステップ55の
処理によって、正規トラックTrS1の全データがキー
オン/オフ用トラックTr1にコピーされる。これによ
って、最終的なMIDIデータがトラックTr1に記録
される。なお、他の5つのトラックTr2〜Tr6につ
いても同様の処理によってMIDIデータが書き込まれ
る。
56を経て、ステップ52の判定処理が再び行われる。
今度は、ステップ52ではマークデータM(2)と共に
書き込まれたデータが各トラック(キーオン/オフ用ト
ラックTr1、ベロシティ用トラックTrV1及びノー
トナンバ用トラックTrT1)に存在するかどうかを判
定し、存在する場合には、そのデュレーションデータD
TとキーオンデータKON、ベロシティデータVel及
びノートナンバNTNに対応するMIDIデータが正規
トラックTrS1に書き込まれ、同様にデュレーション
データDTとキーオフデータKOF、ベロシティデータ
Vel(=64)及びノートナンバNTNに対応するM
IDIデータが正規トラックTrS1に書き込まれる。
以後、エンドデータが読み出されるまで、ステップ52
〜ステップ56の処理が繰り返し実行され、正規トラッ
クTrS1に次々とMIDIデータが書き込まれる。そ
して、エンドデータが読み出されると、ステップ55の
処理によって、正規トラックTrS1の全データがキー
オン/オフ用トラックTr1にコピーされる。これによ
って、最終的なMIDIデータがトラックTr1に記録
される。なお、他の5つのトラックTr2〜Tr6につ
いても同様の処理によってMIDIデータが書き込まれ
る。
【0021】図4はこの発明の別の実施の形態に係る演
奏データ記録装置の構成例を示す図である。図4におい
て図1と同じ構成のものには同一の符号が付してあるの
で、その説明は省略する。この実施の形態が図1のもの
と異なる点は、音色検出処理部4及びパターンメモリ5
が設けられている点である。パターンメモリ5は図5に
示すようなエンベロープ波形データを複数種類記憶して
いる。例えば、図5(A)に示すエンベロープ波形デー
タは通常のギター奏法による通常音色の波形パターンデ
ータであり、図5(B)に示すエンベロープ波形データ
はミュート奏法によるミュート音色の波形パターンデー
タである。音色検出処理部4は入力装置1からの楽音信
号を入力し、そのエンベロープ波形とパターンメモリ5
に記憶してある波形パターンデータとを比較判定し、最
も近似したパターンデータを検索するパターンマッチン
グ処理を行い、検索されたパターンデータに対応する音
色情報及び奏法情報をシーケンサ部3に出力する。シー
ケンサ部3は前述の処理に加えて、この音色検出処理部
4からの音色情報及び奏法情報を前記キーオン/オフ用
トラックTr1〜Tr6、ベロシティ用トラックTrV
1〜TrV6及びノートナンバ用トラックTrT1〜T
rT6の他に新たに設けた音色用トラックに記録し、上
述の処理と同様にして正規トラックTrS1〜TrS6
に記録する。これによって、ギターなどの奏法を検出し
たり、この奏法によって変化する音色情報を演奏データ
として記録することができる。なお、入力装置1からの
楽音信号が音声信号の場合には、音色検出処理部4は周
波数分析などによってそのフォルマントなどを検出すれ
ばよい。
奏データ記録装置の構成例を示す図である。図4におい
て図1と同じ構成のものには同一の符号が付してあるの
で、その説明は省略する。この実施の形態が図1のもの
と異なる点は、音色検出処理部4及びパターンメモリ5
が設けられている点である。パターンメモリ5は図5に
示すようなエンベロープ波形データを複数種類記憶して
いる。例えば、図5(A)に示すエンベロープ波形デー
タは通常のギター奏法による通常音色の波形パターンデ
ータであり、図5(B)に示すエンベロープ波形データ
はミュート奏法によるミュート音色の波形パターンデー
タである。音色検出処理部4は入力装置1からの楽音信
号を入力し、そのエンベロープ波形とパターンメモリ5
に記憶してある波形パターンデータとを比較判定し、最
も近似したパターンデータを検索するパターンマッチン
グ処理を行い、検索されたパターンデータに対応する音
色情報及び奏法情報をシーケンサ部3に出力する。シー
ケンサ部3は前述の処理に加えて、この音色検出処理部
4からの音色情報及び奏法情報を前記キーオン/オフ用
トラックTr1〜Tr6、ベロシティ用トラックTrV
1〜TrV6及びノートナンバ用トラックTrT1〜T
rT6の他に新たに設けた音色用トラックに記録し、上
述の処理と同様にして正規トラックTrS1〜TrS6
に記録する。これによって、ギターなどの奏法を検出し
たり、この奏法によって変化する音色情報を演奏データ
として記録することができる。なお、入力装置1からの
楽音信号が音声信号の場合には、音色検出処理部4は周
波数分析などによってそのフォルマントなどを検出すれ
ばよい。
【0022】上述の実施の形態では、キーオン/オフ用
トラックTr1〜Tr6、ベロシティ用トラックTrV
1〜TrV6及びノートナンバ用トラックTrT1〜T
rT6にデュレーションデータDT、キーオンデータK
ON、キーオフデータKOF、ベロシティデータVel
及びノートナンバNTNを書き込んだ後に、それらに基
づいたMIDIデータを正規トラックTrS1に書き込
む場合について説明したが、これらのトラックに書き込
まずに、それぞれのデータに対応したレジスタ(デュレ
ーションタイムレジスタDR、ベロシティレジスタVE
R、ノートレジスタNTR)に一時的に記憶するだけに
して、ノートナンバが確定した時点で、対応するベロシ
ティと共にキーオンデータの記録されている位置に挿入
記録するようにしてもよい。
トラックTr1〜Tr6、ベロシティ用トラックTrV
1〜TrV6及びノートナンバ用トラックTrT1〜T
rT6にデュレーションデータDT、キーオンデータK
ON、キーオフデータKOF、ベロシティデータVel
及びノートナンバNTNを書き込んだ後に、それらに基
づいたMIDIデータを正規トラックTrS1に書き込
む場合について説明したが、これらのトラックに書き込
まずに、それぞれのデータに対応したレジスタ(デュレ
ーションタイムレジスタDR、ベロシティレジスタVE
R、ノートレジスタNTR)に一時的に記憶するだけに
して、ノートナンバが確定した時点で、対応するベロシ
ティと共にキーオンデータの記録されている位置に挿入
記録するようにしてもよい。
【0023】図6は、このようにそれぞれのデータに対
応したレジスタに一時的に記憶し、ノートナンバが確定
した時点で順次正規トラックTtS1 にMIDIデータ
を書き込むというシーケンサ部3のメインルーチンの別
の例(メインルーチン2)を示す図である。以下、この
処理をステップ順に説明する。 ステップ61:シーケンサ部3はプログラムメモリに格
納されている制御プログラムに応じた「初期設定処理
(イニシャライズ)」を行う。この初期設定処理ではデ
ュレーションタイムレジスタDR、ベロシティレジスタ
VER、ノートレジスタNTR等を初期値に設定する。
応したレジスタに一時的に記憶し、ノートナンバが確定
した時点で順次正規トラックTtS1 にMIDIデータ
を書き込むというシーケンサ部3のメインルーチンの別
の例(メインルーチン2)を示す図である。以下、この
処理をステップ順に説明する。 ステップ61:シーケンサ部3はプログラムメモリに格
納されている制御プログラムに応じた「初期設定処理
(イニシャライズ)」を行う。この初期設定処理ではデ
ュレーションタイムレジスタDR、ベロシティレジスタ
VER、ノートレジスタNTR等を初期値に設定する。
【0024】ステップ62:所定のイニシャライズ処理
を行った後、シーケンサ3の各種操作子の操作状態に応
じてその他の処理を行う。 ステップ63:記録(REC)スイッチ(図示せず)が
操作されたかどうかを判定し、操作された(YES)場
合にはステップ64に進み、そうでない場合にはステッ
プ62にリターンし、再びその他の処理を実行する。 ステップ64:前記ステップ63で記録(REC)スイ
ッチが操作されたと判定されたので、デュレーションタ
イムレジスタDT1を『0』にリセットし、ギターコン
トローラ2に対して割り込みを許可する。従って、これ
以降はギターコントローラ2のレベル検出部21、ベロ
シティ検出部22及びピッチ検出部23で検出された各
種データが割り込み信号としてシーケンサ部3に入力す
るようになる。なお、デュレーションタイムレジスタD
T1は図示していない所定周期の割り込み処理によって
カンウトアップされ、キーオンデータKONやキーオフ
データKOFの入力間隔を計時する。
を行った後、シーケンサ3の各種操作子の操作状態に応
じてその他の処理を行う。 ステップ63:記録(REC)スイッチ(図示せず)が
操作されたかどうかを判定し、操作された(YES)場
合にはステップ64に進み、そうでない場合にはステッ
プ62にリターンし、再びその他の処理を実行する。 ステップ64:前記ステップ63で記録(REC)スイ
ッチが操作されたと判定されたので、デュレーションタ
イムレジスタDT1を『0』にリセットし、ギターコン
トローラ2に対して割り込みを許可する。従って、これ
以降はギターコントローラ2のレベル検出部21、ベロ
シティ検出部22及びピッチ検出部23で検出された各
種データが割り込み信号としてシーケンサ部3に入力す
るようになる。なお、デュレーションタイムレジスタD
T1は図示していない所定周期の割り込み処理によって
カンウトアップされ、キーオンデータKONやキーオフ
データKOFの入力間隔を計時する。
【0025】ステップ65:イベント有りかどうか、す
なわち、ギターコントローラ2のレベル検出部21から
のキーオンデータKONやキーオフデータKOF、ベロ
シティ検出部22からのベロシティデータVel又はピ
ッチ検出部23からのノートナンバNTNが入力された
かどうかを判定し、イベント有り(YES)の場合は次
のステップ66に進み、そうでない(NO)場合はイベ
ントデータが入力されるまでステップ65の判定を繰り
返す。 ステップ66:入力イベントの種類は何か、すなわち、
ギターコントローラ2から入力されたデータがキーオン
データKON、キーオフデータKOF、ベロシティデー
タVel及びノートナンバNTNのどれなのかを判定
し、その判定結果に応じた処理に分岐する。すなわち、
入力イベントがキーオンデータKONの場合はステップ
67に、キーオフデータKOFの場合はステップ71
に、ベロシティデータVelの場合はステップ78に、
ノートナンバNTNの場合はステップ83にそれぞれ進
む。
なわち、ギターコントローラ2のレベル検出部21から
のキーオンデータKONやキーオフデータKOF、ベロ
シティ検出部22からのベロシティデータVel又はピ
ッチ検出部23からのノートナンバNTNが入力された
かどうかを判定し、イベント有り(YES)の場合は次
のステップ66に進み、そうでない(NO)場合はイベ
ントデータが入力されるまでステップ65の判定を繰り
返す。 ステップ66:入力イベントの種類は何か、すなわち、
ギターコントローラ2から入力されたデータがキーオン
データKON、キーオフデータKOF、ベロシティデー
タVel及びノートナンバNTNのどれなのかを判定
し、その判定結果に応じた処理に分岐する。すなわち、
入力イベントがキーオンデータKONの場合はステップ
67に、キーオフデータKOFの場合はステップ71
に、ベロシティデータVelの場合はステップ78に、
ノートナンバNTNの場合はステップ83にそれぞれ進
む。
【0026】ステップ67:前記ステップ66で入力イ
ベントがキーオンデータKONと判定されたので、ここ
ではデュレーションタイムフラグDTFが『1』かどう
かを判定し、『1』(YES)の場合はステップ72に
ジャンプし、『0』(NO)の場合は次のステップ68
に進む。すなわち、このステップでYESと判定された
ということはイベント検出部21からキーオンデータK
ONが連続して出力されたことを意味するので、ステッ
プ72〜76の処理を実行し、キーオフデータに関する
処理を行った後に、ステップ68に進むようにする。こ
れによって、キーオフデータKOFが出力されずに、キ
ーオンデータKONが連続して出力した場合でも、強制
的にキーオフデータKOFが書き込まれるようになる。 ステップ68:デュレーションタイムレジスタDTRに
デュレーションタイムレジスタDT1の値を書き込む。
すなわち、このステップは、前記ステップ67でデュレ
ーションタイムフラグDTFが『0』と判定された場合
か、又は前記ステップ67でデュレーションタイムフラ
グDTFが『1』と判定されてステップ72〜77の処
理を経てきた場合のいずれかの場合に行われる。 ステップ69:デュレーションタイムレジスタDTRに
キーオンデータKON発生時のデュレーションタイムが
格納されたことを示すために、デュレーションフラグD
TFに『1』をセットする。 ステップ70:デュレーションタイムレジスタDT1を
『0』にリセットする。従って、デュレーションタイム
レジスタDT1はこのキーオンイベント発生以降の経過
時間を所定周期の割り込み処理によって計時するように
なる。
ベントがキーオンデータKONと判定されたので、ここ
ではデュレーションタイムフラグDTFが『1』かどう
かを判定し、『1』(YES)の場合はステップ72に
ジャンプし、『0』(NO)の場合は次のステップ68
に進む。すなわち、このステップでYESと判定された
ということはイベント検出部21からキーオンデータK
ONが連続して出力されたことを意味するので、ステッ
プ72〜76の処理を実行し、キーオフデータに関する
処理を行った後に、ステップ68に進むようにする。こ
れによって、キーオフデータKOFが出力されずに、キ
ーオンデータKONが連続して出力した場合でも、強制
的にキーオフデータKOFが書き込まれるようになる。 ステップ68:デュレーションタイムレジスタDTRに
デュレーションタイムレジスタDT1の値を書き込む。
すなわち、このステップは、前記ステップ67でデュレ
ーションタイムフラグDTFが『0』と判定された場合
か、又は前記ステップ67でデュレーションタイムフラ
グDTFが『1』と判定されてステップ72〜77の処
理を経てきた場合のいずれかの場合に行われる。 ステップ69:デュレーションタイムレジスタDTRに
キーオンデータKON発生時のデュレーションタイムが
格納されたことを示すために、デュレーションフラグD
TFに『1』をセットする。 ステップ70:デュレーションタイムレジスタDT1を
『0』にリセットする。従って、デュレーションタイム
レジスタDT1はこのキーオンイベント発生以降の経過
時間を所定周期の割り込み処理によって計時するように
なる。
【0027】ステップ71:前記ステップ66で入力イ
ベントがキーオフデータKOFと判定されたので、ここ
ではデュレーションタイムフラグDTFが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ7
2に進み、『0』(NO)の場合はステップ88にジャ
ンプする。 ステップ72:ノートフラグNTFが『1』かどうかを
判定し、『1』(YES)の場合は次のステップ73に
進み、『0』(NO)の場合はステップ88にジャンプ
する。このステップ72〜76の処理は、前記ステップ
71又は前記ステップ67でデュレーションタイムフラ
グDTFが『1』と判定された場合に行われる。 ステップ73:ベロシティフラグVEFが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ7
4に進み、『0』(NO)の場合はステップ88にジャ
ンプする。すなわち、前記ステップ71〜73では、キ
ーオンデータKONの入力に応じたステップ67〜70
の処理、ベロシティデータVelの入力に応じたステッ
プ78〜82の処理、及びノートデータNTNの入力に
応じたステップ83〜87の処理が行われた後に、今回
のキーオフデータKOFが入力されたかどうかを判定し
ている。従って、これらの各イベントに対応する処理が
終了していない時点でキーオフデータKOFがイベント
として入力しても無視されるようになっている。
ベントがキーオフデータKOFと判定されたので、ここ
ではデュレーションタイムフラグDTFが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ7
2に進み、『0』(NO)の場合はステップ88にジャ
ンプする。 ステップ72:ノートフラグNTFが『1』かどうかを
判定し、『1』(YES)の場合は次のステップ73に
進み、『0』(NO)の場合はステップ88にジャンプ
する。このステップ72〜76の処理は、前記ステップ
71又は前記ステップ67でデュレーションタイムフラ
グDTFが『1』と判定された場合に行われる。 ステップ73:ベロシティフラグVEFが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ7
4に進み、『0』(NO)の場合はステップ88にジャ
ンプする。すなわち、前記ステップ71〜73では、キ
ーオンデータKONの入力に応じたステップ67〜70
の処理、ベロシティデータVelの入力に応じたステッ
プ78〜82の処理、及びノートデータNTNの入力に
応じたステップ83〜87の処理が行われた後に、今回
のキーオフデータKOFが入力されたかどうかを判定し
ている。従って、これらの各イベントに対応する処理が
終了していない時点でキーオフデータKOFがイベント
として入力しても無視されるようになっている。
【0028】ステップ74:デュレーションタイムレジ
スタDTRにデュレーションタイムレジスタDT1の値
を書き込むと共にベロシティレジスタVERに所定値
『64』を格納する。ここで書き込まれたデュレーショ
ンタイムレジスタDT1の値はキーオフデータKOF発
生時のデュレーションタイムである。 ステップ75:正規トラックTrS1(正規トラックの
トラック1)にデュレーションタイムレジスタDTRの
値を書込み、その後にキーオフデータKOFとして『8
X』、ノートレジスタNTRの格納値及びベロシティレ
ジスタVERの値『64』をそれぞれ書き込む。 ステップ76:デュレーションタイムレジスタDT1、
デュレーションフラグDTF、ベロシティフラグVE
F、ノートフラグNTFを『0』にリセットする。 ステップ77:入力イベントがキーオンデータKONか
どうかを判定し、キーオンデータKON(YES)の場
合はステップ68にジャンプし、キーオフデータKOF
の場合はステップ88に進む。すなわち、このステップ
では、前記ステップ67の判定を経てこのステップに至
ったのか、それとも前記ステップ71の判定を経てこの
ステップに至ったのかを判定し、前記ステップ67の判
定を経てこのステップに至った場合には、元の入力イベ
ントに対応した流れに戻すためにステップ68に進み、
そうでない場合にはステップ88に進む。
スタDTRにデュレーションタイムレジスタDT1の値
を書き込むと共にベロシティレジスタVERに所定値
『64』を格納する。ここで書き込まれたデュレーショ
ンタイムレジスタDT1の値はキーオフデータKOF発
生時のデュレーションタイムである。 ステップ75:正規トラックTrS1(正規トラックの
トラック1)にデュレーションタイムレジスタDTRの
値を書込み、その後にキーオフデータKOFとして『8
X』、ノートレジスタNTRの格納値及びベロシティレ
ジスタVERの値『64』をそれぞれ書き込む。 ステップ76:デュレーションタイムレジスタDT1、
デュレーションフラグDTF、ベロシティフラグVE
F、ノートフラグNTFを『0』にリセットする。 ステップ77:入力イベントがキーオンデータKONか
どうかを判定し、キーオンデータKON(YES)の場
合はステップ68にジャンプし、キーオフデータKOF
の場合はステップ88に進む。すなわち、このステップ
では、前記ステップ67の判定を経てこのステップに至
ったのか、それとも前記ステップ71の判定を経てこの
ステップに至ったのかを判定し、前記ステップ67の判
定を経てこのステップに至った場合には、元の入力イベ
ントに対応した流れに戻すためにステップ68に進み、
そうでない場合にはステップ88に進む。
【0029】ステップ78:前記ステップ66で入力イ
ベントがベロシティデータVelだと判定されたので、
ベロシティレジスタVERにベロシティデータVelの
値を格納する。 ステップ79:ベロシティレジスタVERにベロシティ
データVelの値が格納されたことを示すために、ベロ
シティフラグVEFに『1』をセットする。 ステップ80:デュレーションタイムフラグDTFが
『1』かどうかを判定し、『1』(YES)の場合は次
のステップ79に進み、『0』(NO)の場合はステッ
プ88にジャンプする。 ステップ81:ノートフラグNTFが『1』かどうかを
判定し、『1』(YES)の場合は次のステップ80に
進み、『0』(NO)の場合はステップ88にジャンプ
する。すなわち、前記ステップ80,81では、キーオ
ンデータKONの入力に応じたステップ67〜70の処
理、及びノートデータNTNの入力に応じたステップ8
3〜87の処理が行われた後に、今回のベロシティデー
タVelが入力されたかどうかを判定している。従っ
て、これらの各イベントに対応する処理が終了していな
い時点でベロシティデータVelがイベントとして入力
しても無視されるようになっている。 ステップ82:正規トラックTrS1(正規トラックの
トラック1)にデュレーションタイムレジスタDTRの
値を書込み、その後にキーオンデータKONとして『9
X』、ノートレジスタNTRの格納値及びベロシティレ
ジスタVERの格納値をそれぞれ書き込む。
ベントがベロシティデータVelだと判定されたので、
ベロシティレジスタVERにベロシティデータVelの
値を格納する。 ステップ79:ベロシティレジスタVERにベロシティ
データVelの値が格納されたことを示すために、ベロ
シティフラグVEFに『1』をセットする。 ステップ80:デュレーションタイムフラグDTFが
『1』かどうかを判定し、『1』(YES)の場合は次
のステップ79に進み、『0』(NO)の場合はステッ
プ88にジャンプする。 ステップ81:ノートフラグNTFが『1』かどうかを
判定し、『1』(YES)の場合は次のステップ80に
進み、『0』(NO)の場合はステップ88にジャンプ
する。すなわち、前記ステップ80,81では、キーオ
ンデータKONの入力に応じたステップ67〜70の処
理、及びノートデータNTNの入力に応じたステップ8
3〜87の処理が行われた後に、今回のベロシティデー
タVelが入力されたかどうかを判定している。従っ
て、これらの各イベントに対応する処理が終了していな
い時点でベロシティデータVelがイベントとして入力
しても無視されるようになっている。 ステップ82:正規トラックTrS1(正規トラックの
トラック1)にデュレーションタイムレジスタDTRの
値を書込み、その後にキーオンデータKONとして『9
X』、ノートレジスタNTRの格納値及びベロシティレ
ジスタVERの格納値をそれぞれ書き込む。
【0030】ステップ83:前記ステップ66で入力イ
ベントがノートナンバデータNTNだと判定されたの
で、ノートレジスタNTRにそのノートナンバデータN
TNの値を格納する。 ステップ84:ノートレジスタNTRにノートナンバデ
ータNTNの値が格納されたことを示すために、ノート
フラグNTFに『1』をセットする。 ステップ85:デュレーションタイムフラグDTFが
『1』かどうかを判定し、『1』(YES)の場合は次
のステップ86に進み、『0』(NO)の場合はステッ
プ88にジャンプする。 ステップ86:ベロシティフラグVEFが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ8
7に進み、『0』(NO)の場合はステップ88にジャ
ンプする。すなわち、このステップ85及び86では、
キーオンデータKONの入力に応じたステップ67〜7
0の処理、及びベロシティデータVelの入力に応じた
ステップ80〜82の処理が行われた後に、今回のノー
トナンバデータNTNが入力されたかどうかを判定して
いる。従って、これらの各イベントに対応する処理が終
了していない時点でノートナンバデータNTNがイベン
トとして入力しても無視されるようになっている。 ステップ87:正規トラックTrS1(正規トラックの
トラック1)にデュレーションタイムレジスタDTRの
値を書込み、その後にキーオンデータKONとして『9
X』、ノートレジスタNTRの格納値及びベロシティレ
ジスタVERの格納値をそれぞれ書き込む。 ステップ88:ストップ(STOP)スイッチ(図示せ
ず)が操作されたかどうかを判定し、操作された(YE
S)場合にはステップ62にリターンし、そうでない
(NO)場合にはステップ65にリターンし、再びギタ
ーコントローラ2から何らかのイベントが入力されるま
で、上記ステップ65〜ステップ87の処理を繰り返し
実行する。
ベントがノートナンバデータNTNだと判定されたの
で、ノートレジスタNTRにそのノートナンバデータN
TNの値を格納する。 ステップ84:ノートレジスタNTRにノートナンバデ
ータNTNの値が格納されたことを示すために、ノート
フラグNTFに『1』をセットする。 ステップ85:デュレーションタイムフラグDTFが
『1』かどうかを判定し、『1』(YES)の場合は次
のステップ86に進み、『0』(NO)の場合はステッ
プ88にジャンプする。 ステップ86:ベロシティフラグVEFが『1』かどう
かを判定し、『1』(YES)の場合は次のステップ8
7に進み、『0』(NO)の場合はステップ88にジャ
ンプする。すなわち、このステップ85及び86では、
キーオンデータKONの入力に応じたステップ67〜7
0の処理、及びベロシティデータVelの入力に応じた
ステップ80〜82の処理が行われた後に、今回のノー
トナンバデータNTNが入力されたかどうかを判定して
いる。従って、これらの各イベントに対応する処理が終
了していない時点でノートナンバデータNTNがイベン
トとして入力しても無視されるようになっている。 ステップ87:正規トラックTrS1(正規トラックの
トラック1)にデュレーションタイムレジスタDTRの
値を書込み、その後にキーオンデータKONとして『9
X』、ノートレジスタNTRの格納値及びベロシティレ
ジスタVERの格納値をそれぞれ書き込む。 ステップ88:ストップ(STOP)スイッチ(図示せ
ず)が操作されたかどうかを判定し、操作された(YE
S)場合にはステップ62にリターンし、そうでない
(NO)場合にはステップ65にリターンし、再びギタ
ーコントローラ2から何らかのイベントが入力されるま
で、上記ステップ65〜ステップ87の処理を繰り返し
実行する。
【0031】次に、図6のメインルーチン2に従ったシ
ーケンサ部3の動作例を説明する。まず、シーケンサ部
3の記録(REC)スイッチが操作されると、ステップ
63でYESと判定され、ステップ64の処理が行われ
る。この後、エレクトリックギターが操作されるまでの
間、ステップ65の判定処理が繰り返し実行されると共
に、この間にデュレーションタイムレジスタDT1は所
定周期の割り込み処理によってカウントアップされ、経
過時間を計時する。そして、エレクトリックギターが操
作され、ギターコントローラ2のレベル検出部21から
キーオンデータKONが入力すると、ステップ67〜ス
テップ70の処理によってデュレーションタイムレジス
タDTRにデュレーションタイムレジスタDT1の値が
格納され、デュレーションフラグDTFに『1』がセッ
トされ、ステップ65に進む。次に、ギターコントロー
ラ2のベロシティ検出部22からベロシティデータVe
lが入力すると、ステップ78及びステップ79の処理
によってベロシティレジスタVERにベロシティデータ
Velの値が格納され、ベロシティフラグVEFに
『1』がセットされる。この時点では、デュレーション
フラグDTFは『1』だが、ノートフラグNTFが
『0』なので、ステップ81でNOと判定されてステッ
プ65に進む。さらに、ギターコントローラ2のピッチ
検出部23からノートナンバNTNが入力すると、ステ
ップ85及びステップ86の処理によってノートレジス
タNTRにノートナンバNTNの値が格納され、ノート
フラグNTFに『1』がセットされる。また、この時点
では、デュレーションフラグDTFもベロシティフラグ
VEFも『1』なので、ステップ87の処理が行われ、
正規トラックTrS1にデュレーションタイムレジスタ
DTRの値、キーオンデータKON、ノートレジスタN
TRの値、ベロシティレジスタVERの値がそれぞれ書
き込まれる。
ーケンサ部3の動作例を説明する。まず、シーケンサ部
3の記録(REC)スイッチが操作されると、ステップ
63でYESと判定され、ステップ64の処理が行われ
る。この後、エレクトリックギターが操作されるまでの
間、ステップ65の判定処理が繰り返し実行されると共
に、この間にデュレーションタイムレジスタDT1は所
定周期の割り込み処理によってカウントアップされ、経
過時間を計時する。そして、エレクトリックギターが操
作され、ギターコントローラ2のレベル検出部21から
キーオンデータKONが入力すると、ステップ67〜ス
テップ70の処理によってデュレーションタイムレジス
タDTRにデュレーションタイムレジスタDT1の値が
格納され、デュレーションフラグDTFに『1』がセッ
トされ、ステップ65に進む。次に、ギターコントロー
ラ2のベロシティ検出部22からベロシティデータVe
lが入力すると、ステップ78及びステップ79の処理
によってベロシティレジスタVERにベロシティデータ
Velの値が格納され、ベロシティフラグVEFに
『1』がセットされる。この時点では、デュレーション
フラグDTFは『1』だが、ノートフラグNTFが
『0』なので、ステップ81でNOと判定されてステッ
プ65に進む。さらに、ギターコントローラ2のピッチ
検出部23からノートナンバNTNが入力すると、ステ
ップ85及びステップ86の処理によってノートレジス
タNTRにノートナンバNTNの値が格納され、ノート
フラグNTFに『1』がセットされる。また、この時点
では、デュレーションフラグDTFもベロシティフラグ
VEFも『1』なので、ステップ87の処理が行われ、
正規トラックTrS1にデュレーションタイムレジスタ
DTRの値、キーオンデータKON、ノートレジスタN
TRの値、ベロシティレジスタVERの値がそれぞれ書
き込まれる。
【0032】その後、ギターコントローラ2のレベル検
出部21からキーオフデータKOFが入力すると、ステ
ップ71〜ステップ77の処理によってデュレーション
タイムレジスタDTRにデュレーションタイムレジスタ
DT1の値が格納され、ベロシティレジスタVERに
『64』が格納され、ステップ76で正規トラックTr
S1にデュレーションタイムレジスタDTRの値、キー
オフデータKOF、ノートレジスタNTRの値、ベロシ
ティレジスタVER=64がそれぞれ書き込まれる。そ
して、ステップ77でデュレーションタイムレジスタD
T1、デュレーションフラグDTF、ベロシティフラグ
VEF及びノートフラグNTFが『0』にリセットされ
る。以後、ストップ(STOP)スイッチ(図示せず)
が操作されるまで上記ステップ65〜ステップ87の処
理が繰り返し実行される。
出部21からキーオフデータKOFが入力すると、ステ
ップ71〜ステップ77の処理によってデュレーション
タイムレジスタDTRにデュレーションタイムレジスタ
DT1の値が格納され、ベロシティレジスタVERに
『64』が格納され、ステップ76で正規トラックTr
S1にデュレーションタイムレジスタDTRの値、キー
オフデータKOF、ノートレジスタNTRの値、ベロシ
ティレジスタVER=64がそれぞれ書き込まれる。そ
して、ステップ77でデュレーションタイムレジスタD
T1、デュレーションフラグDTF、ベロシティフラグ
VEF及びノートフラグNTFが『0』にリセットされ
る。以後、ストップ(STOP)スイッチ(図示せず)
が操作されるまで上記ステップ65〜ステップ87の処
理が繰り返し実行される。
【0033】図6のようにすると、ギターコントローラ
による演奏入力動作に対して、キーオンが検出されてか
らノートナンバが確定するまでの時間分だけ遅れて、正
規トラックが作成され、実質的には演奏の終了とほとん
ど同時に正規トラックの作成が終了するので、すぐに再
生ができるなどの利点がある。また、ノートナンバが確
定したタイミングで最新のベロシティデータ、キーオン
データを一緒に記録するので、マーキングやマーキング
検索といった処理も必要なくなり、ソフトウェアが簡単
になりシステムの負担も少なくなるという利点もある。
上述の実施の形態に比べて、キーオン/オフ用トラッ
ク、ベロシティ用トラック、ノートナンバ用トラックを
必要としないので、メモリを削減できる。
による演奏入力動作に対して、キーオンが検出されてか
らノートナンバが確定するまでの時間分だけ遅れて、正
規トラックが作成され、実質的には演奏の終了とほとん
ど同時に正規トラックの作成が終了するので、すぐに再
生ができるなどの利点がある。また、ノートナンバが確
定したタイミングで最新のベロシティデータ、キーオン
データを一緒に記録するので、マーキングやマーキング
検索といった処理も必要なくなり、ソフトウェアが簡単
になりシステムの負担も少なくなるという利点もある。
上述の実施の形態に比べて、キーオン/オフ用トラッ
ク、ベロシティ用トラック、ノートナンバ用トラックを
必要としないので、メモリを削減できる。
【0034】また、上述の実施の形態では、各弦毎に記
録するトラックを設ける場合について説明したが、6本
の弦の情報をすべて1つのトラックに記録するようにし
てもよい。このときは、マークデータを第1弦用マーク
データM1(i)、第2弦用マークデータM2(i)な
どのように識別して利用すればよい。さらに、上述の実
施の形態ではギターコントローラを例に説明したが、ピ
ッチ検出、ベロシティ検出などのように、データの検出
が確定するまでに時間遅れを伴うような各種のコントロ
ーラに利用できることは言うまでもない。従って、入力
装置1によって入力される楽音信号は、ギター以外の他
の楽器の楽音信号でもよいし、音声信号でもよいことは
言うまでもない。図2及び図3の実施の形態では、正規
トラックの内容をキーオン/オフ用トラックにコピーす
る場合について説明したが、コピーしなくてもよいこと
はいうまでもない。上述の実施の形態では、ピッチベン
ドなどのイベントが起こった場合について説明していな
いが、この場合もキーオフイベントに対する処理と同様
に扱えばよい。このように、起こったイベントに対する
MIDIデータが直ぐにつくれる場合には、タイミング
はそのイベントの発生時点でよい。しかし、MIDIの
ノートオンデータのようにキーオンのタイミングだけで
はデータフォーマットを形成することができない場合に
は、この上述の実施の形態のようにすれば最初に発生し
たイベントのタイミングでデータを記録することができ
る。
録するトラックを設ける場合について説明したが、6本
の弦の情報をすべて1つのトラックに記録するようにし
てもよい。このときは、マークデータを第1弦用マーク
データM1(i)、第2弦用マークデータM2(i)な
どのように識別して利用すればよい。さらに、上述の実
施の形態ではギターコントローラを例に説明したが、ピ
ッチ検出、ベロシティ検出などのように、データの検出
が確定するまでに時間遅れを伴うような各種のコントロ
ーラに利用できることは言うまでもない。従って、入力
装置1によって入力される楽音信号は、ギター以外の他
の楽器の楽音信号でもよいし、音声信号でもよいことは
言うまでもない。図2及び図3の実施の形態では、正規
トラックの内容をキーオン/オフ用トラックにコピーす
る場合について説明したが、コピーしなくてもよいこと
はいうまでもない。上述の実施の形態では、ピッチベン
ドなどのイベントが起こった場合について説明していな
いが、この場合もキーオフイベントに対する処理と同様
に扱えばよい。このように、起こったイベントに対する
MIDIデータが直ぐにつくれる場合には、タイミング
はそのイベントの発生時点でよい。しかし、MIDIの
ノートオンデータのようにキーオンのタイミングだけで
はデータフォーマットを形成することができない場合に
は、この上述の実施の形態のようにすれば最初に発生し
たイベントのタイミングでデータを記録することができ
る。
【0035】
【発明の効果】ギターの演奏音や音声音などのようにリ
アルタイムでピッチを検出することが困難な音に関する
演奏データを、データを肥大化させることなく、リアル
タイムに記録することができる。
アルタイムでピッチを検出することが困難な音に関する
演奏データを、データを肥大化させることなく、リアル
タイムに記録することができる。
【図1】 エレクトリックギターからの楽音信号をMI
DIデータとして記録する演奏データ記録装置の構成例
を示す図である。
DIデータとして記録する演奏データ記録装置の構成例
を示す図である。
【図2】 図1のシーケンサ部が処理するメインルーチ
ンの前半部を示す図である。
ンの前半部を示す図である。
【図3】 図1のシーケンサ部が処理するメインルーチ
ンの後半部を示す図である。
ンの後半部を示す図である。
【図4】 この発明の別の実施の形態の演奏データ記録
装置の構成例を示す図である。
装置の構成例を示す図である。
【図5】 図4のパターンメモリに記憶されているエン
ベロープ波形データの内容を示す図である。
ベロープ波形データの内容を示す図である。
【図6】 図1のシーケンサ部が処理する別のメインル
ーチンを示す図である。
ーチンを示す図である。
【図7】 エレクトリックギターからの楽音信号をMI
DIデータとして記録する従来の演奏データ記録装置の
概略構成を示す図である。
DIデータとして記録する従来の演奏データ記録装置の
概略構成を示す図である。
1…入力装置、2…ギターコントローラ、21…レベル
検出部、22…ベロシティ検出部、23…ピッチ検出
部、3…シーケンサ部、4…音色検出処理部、5…パタ
ーンメモリ
検出部、22…ベロシティ検出部、23…ピッチ検出
部、3…シーケンサ部、4…音色検出処理部、5…パタ
ーンメモリ
Claims (1)
- 【請求項1】 外部で発生された音を入力し、その音に
応じた音信号を出力する外部音入力手段と、 前記音信号に基づいて前記音の発生タイミングを検出
し、それをタイミングデータとして記録する第1の記録
手段と、 前記音信号に基づいて前記音の特徴を検出し、それを特
徴データとする特徴データ抽出手段と、 前記第1の記録手段に記録されているタイミングデータ
とこれに対応する特徴データとを一緒に記録する第2の
記録手段とを備える演奏データ記録装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33580295A JP3376796B2 (ja) | 1994-12-12 | 1995-11-30 | 演奏データ記録装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33209994 | 1994-12-12 | ||
| JP6-332099 | 1994-12-12 | ||
| JP33580295A JP3376796B2 (ja) | 1994-12-12 | 1995-11-30 | 演奏データ記録装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08254980A true JPH08254980A (ja) | 1996-10-01 |
| JP3376796B2 JP3376796B2 (ja) | 2003-02-10 |
Family
ID=26574084
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33580295A Expired - Fee Related JP3376796B2 (ja) | 1994-12-12 | 1995-11-30 | 演奏データ記録装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3376796B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016161671A (ja) * | 2015-02-27 | 2016-09-05 | 株式会社第一興商 | ギターカラオケ採点機能を備えるカラオケ装置 |
-
1995
- 1995-11-30 JP JP33580295A patent/JP3376796B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016161671A (ja) * | 2015-02-27 | 2016-09-05 | 株式会社第一興商 | ギターカラオケ採点機能を備えるカラオケ装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3376796B2 (ja) | 2003-02-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6316710B1 (en) | Musical synthesizer capable of expressive phrasing | |
| US7189912B2 (en) | Method and apparatus for tracking musical score | |
| Dixon | On the computer recognition of solo piano music | |
| JP4389330B2 (ja) | 演奏位置検出方法および楽譜表示装置 | |
| JP3299890B2 (ja) | カラオケ採点装置 | |
| US5939654A (en) | Harmony generating apparatus and method of use for karaoke | |
| US5902948A (en) | Performance instructing apparatus | |
| US6075196A (en) | Player piano reproducing special performance techniques using information based on musical instrumental digital interface standards | |
| JPH0823746B2 (ja) | 自動楽音発生装置 | |
| US20050257667A1 (en) | Apparatus and computer program for practicing musical instrument | |
| JP3577561B2 (ja) | 演奏分析装置及び演奏分析方法 | |
| JPH1069273A (ja) | 演奏指示装置 | |
| JP3750533B2 (ja) | 波形データ録音装置および録音波形データ再生装置 | |
| JPH08254980A (ja) | 演奏データ記録装置 | |
| JP3539188B2 (ja) | Midiデータ処理装置 | |
| JP2532424B2 (ja) | 波形信号入力制御装置 | |
| JP2625800B2 (ja) | 自動演奏装置 | |
| JP3656726B2 (ja) | 楽音信号発生装置及び楽音信号発生方法 | |
| JP3587133B2 (ja) | 発音長決定方法と装置及び記録媒体 | |
| JP2508044B2 (ja) | 電子楽器の入力制御装置 | |
| JP3832147B2 (ja) | 曲データ加工方法 | |
| JP2556040B2 (ja) | 自動演奏装置 | |
| JP3692954B2 (ja) | 楽曲データ編集プログラム、楽曲データ編集方法および装置 | |
| JP3637782B2 (ja) | データ生成装置と記録媒体 | |
| JP3767418B2 (ja) | 自動演奏装置及び自動演奏制御プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081206 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |