JP3812328B2 - 自動伴奏パターン発生装置及び方法 - Google Patents
自動伴奏パターン発生装置及び方法 Download PDFInfo
- Publication number
- JP3812328B2 JP3812328B2 JP2000351997A JP2000351997A JP3812328B2 JP 3812328 B2 JP3812328 B2 JP 3812328B2 JP 2000351997 A JP2000351997 A JP 2000351997A JP 2000351997 A JP2000351997 A JP 2000351997A JP 3812328 B2 JP3812328 B2 JP 3812328B2
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- value
- parameters
- note
- texture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/155—Musical effects
- G10H2210/321—Missing fundamental, i.e. creating the psychoacoustic impression of a missing fundamental tone through synthesis of higher harmonics, e.g. to play bass notes pitched below the frequency range of reproducing speakers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/341—Rhythm pattern selection, synthesis or composition
- G10H2210/371—Rhythm syncopation, i.e. timing offset of rhythmic stresses or accents, e.g. note extended from weak to strong beat or started before strong beat
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
この発明は、自動ベース演奏や自動コード演奏などの自動演奏のために適用可能な自動伴奏装置のための自動伴奏パターン発生装置及び方法に関し、特に新たな伴奏パターンを作成したり、操作者の操作に応じて該伴奏パターンをリアルタイムに変化させることができるようにした自動伴奏パターン発生装置及び方法に関する。
【0002】
【従来の技術】
ユーザーの望みの自動伴奏パターンを得るための、従来の自動伴奏装置における典型例は、複数の伴奏パターンを予めメモリに記憶しておき、その中のいずれかを選択するやり方である。しかし、そのやり方では、選択可能なパターンが限られてしまうという欠点が有る。すなわち、予め記憶された伴奏パターンの中からいずれかを選択するタイプの自動伴奏装置では、記憶可能な伴奏パターンの数に限界があるため、ユーザーが欲しいと思う伴奏パターンに最も近いものを選択することができるだけであり、ユーザーが真に欲する伴奏パターンを得られないことが多い。
それに対して、ユーザーの望みに従って全く自由に自動伴奏パターンを作成できるようにするやり方としては、電子楽器等の鍵盤をユーザーが任意に手弾き演奏(押鍵)することにより、望みの伴奏パターンを作成し、これをメモリに記憶することである。こうしてメモリに記憶した伴奏パターンを読出し再生することによって自動伴奏を行うことができる。
また、リズム演奏パターンの作成を比較的容易にするものとして、個々の打楽器音源毎に複数のパターンを予め記憶しておき、各打楽器音源毎に夫々所望の1つのパターンを選択することにより、それらの組合せによって全体として望みのリズム演奏パターンを得るようにしている。
【0003】
【発明が解決しようとする課題】
前者の手弾き演奏を利用するやり方では、ユーザー自身が音楽に関する知識や演奏技術を有していないと、適切な伴奏パターンを作成することができないという問題があり、またユーザーが知識や演奏技術等を有していたとしても、その作成作業自体に多くの手間を要し、望みの伴奏パターンの作成を非常に困難なものにしていた。
後者のパターンを利用するやり方では、打楽器音源の選択操作と望みのパターンを選択するための選択操作を別々に行わねばならないという面倒がある、また、操作性が悪い、また、組合せによって得られる演奏パターンのバリエーションに限度が有る、など解決されるべき問題点が有った。また、メモリに記憶したパターンの中からしか選択することができないので、自由な伴奏パターンの作成を行うことができないものであった。
また、従来の自動伴奏装置において演奏者の演奏に応じて伴奏パターンが変化するものとしては、演奏内容に応じて伴奏パターンを切り換えるものはあったが、予め記憶されている伴奏パターンの間でしか切り換わらず、演奏が単調になってしまった。
この発明は上述の点に鑑みてなされたもので、新たな伴奏パターンを作成したり、操作者の操作に応じて伴奏パターンをリアルタイムに複雑に変化させることのできる自動伴奏パターン発生装置及び方法を提供しようとするものである。
【0004】
【課題を解決するための手段】
【0005】
この発明に係る自動伴奏パターン発生装置は、複数のパラメータを供給するパラメータ供給手段と、前記複数のパラメータには音符イベントの発生確率を規定する所定パラメータが少なくとも含まれており、演奏操作子手段と、前記演奏操作子手段による演奏状態を検出し、少なくとも現在と過去の或る期間についての該演奏状態に基づいて前記パラメータ供給手段で供給するパラメータを変更する変更手段と、前記パラメータ供給手段から供給される前記複数のパラメータに基づき、伴奏音の各々についての音高情報と発音タイミング情報とを決定し、この発音タイミング情報は少なくとも前記音符イベントの発生確率を規定する所定パラメータに基づき決定されるものであり、該決定された情報からなる伴奏パターンを生成する伴奏パターン生成手段とを具え、これにより、前記演奏操作子手段によるリアルタイムの演奏に応じて前記伴奏パターン生成手段で生成する伴奏パターンが変更されるようにしたものである。
本願発明によれば、既存のパターンを選択したり、フレーズパターンを組み合わせるのではなく、伴奏パターンを生成するための元となる複数のパラメータに基づき任意の伴奏パターンが「伴奏パターン生成手段」において新規に作り出されるようになっており、供給する複数のパラメータを適宜に変更することにより、自由に伴奏パターンを作り出すことができることを特徴としております。加えて、例えば演奏操作子手段が鍵盤であるとすると、リアルタイムな鍵盤演奏の状態を、現在と過去の或る期間についての鍵盤演奏状態の相関性から、或る程度の確度で計量化して表すことができることを特徴としております。従って、こうして計量化した情報によりパラメータを変更制御することにより、リアルタイムな演奏状態を反映させたパラメータ制御が可能であり、こうして制御されたパラメータに基づいて伴奏パターンが生成されることにより、生成する伴奏パターンのより一層のリアルタイム制御と変更制御の複雑さを容易に達成することができる。
【0007】
【発明の実施の形態】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1はこの発明に係る自動伴奏パターン発生装置を採用した自動伴奏装置の概略構成を示す図である。図2は、図1の自動伴奏装置が具体的にどのようなシステムで構成されるのかを示すブロック図である。
この発明に係る自動伴奏パターン発生装置を採用した自動伴奏装置は、鍵盤1Bや音源回路18などを内蔵した電子楽器1Hと、この電子楽器1HにMIDIインターフェイス1F,2Cを介して接続されたパーソナルコンピュータ20とから構成される。パーソナルコンピュータ20は、鍵盤1Bの操作に応じて電子楽器1Hから出力されるMIDI形式の演奏データをリアルタイムレスポンスコントローラ31で分析し、その分析結果に基づいて伴奏パターン作成用パラメータ33、34及び35をリアルタイムに変化させ、変化したパラメータに応じて伴奏パターン(コードパターン及びベースパターン)をコードジェネレータ36及びベースジェネレータ37で合成し、それをMIDI形式の演奏データとして再び電子楽器1H側の音源回路18に出力する。
【0008】
まず、図2により、電子楽器1Hの具体的構成について説明する。
マイクロプロセッサユニット(CPU)11は、この電子楽器1Hの動作を制御するものである。このCPU11に対して、バス1Gを介してROM12、RAM13、押鍵検出回路14、スイッチ検出回路15、表示回路16、操作検出回路17、音源回路18、サウンドシステム19、タイマ1A及びMIDIインターフェイス(I/F)1Fがそれぞれ接続されている。
この実施の形態ではCPU11によって押鍵検出処理や演奏データ(ノートデータ)の送受信処理及び発音処理等を行う電子楽器について説明するが、押鍵検出回路14からなるモジュールや音源回路18からなるモジュールとがそれぞれ別々に構成され、各モジュール間のデータの授受をMIDIインターフェイスで行うように構成されたものにも同様に適用可能である。
ROM12はCPU11の各種の制御プログラムや各種のデータなどを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM13は、演奏情報やCPU11がプログラムを実行する際に発生する各種のデータを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)の所定のアドレス領域がそれぞれ割り当てられ、レジスタやフラグとしても利用される。
【0009】
鍵盤1Bは、発音すべき楽音の音高を選択するための複数の鍵を備えており、各鍵に対応してキースイッチを有しており、また必要に応じて押鍵速度検出装置や押圧力検出装置等のタッチ検出手段を有している。この実施の形態では、音楽演奏のための基本的な操作子である鍵盤1Bを例に説明するが、これ以外の演奏操作子、例えばドラムパッド等でもよいことはいうまでもない。
押鍵検出回路14は、発生すべき楽音の音高を指定する鍵盤1Bのそれぞれの鍵に対応して設けられた複数のキースイッチからなる回路を含んで構成されており、新たな鍵が押圧されたときはキーオンイベント情報を出力し、鍵が新たに離鍵されたときはキーオフイベント情報を出力する。また、鍵押し下げ時の押鍵操作速度又は押圧力等を判別してタッチデータを生成する処理を行い、生成したタッチデータをベロシティデータとして出力する。このようにキーオンイベント情報、キーオフイベント情報及びベロシティ情報はMIDI規格で表現されておりキーコードと割当てチャンネルを示すデータをも含んでいる。
パネルスイッチ1Cは、音色、音量、効果等を選択・設定・制御するための各種操作子を含むものである。パネルスイッチには色々なものがあるが、その詳細については公知なので説明を省略する。
スイッチ検出回路15は、パネルスイッチ1Cの各操作子の操作状態を検出し、その操作状態に応じたスイッチ情報をバス1Gを介してCPU11に出力する。
表示回路16はCPU11の制御状態、設定データの内容等の各種の情報を表示部1Dに表示するものである。表示部1Dは液晶表示パネル(LCD)等から構成され、表示回路16によってその表示動作を制御される。
ホイール&ペダル1Eは、各種のホイール(モジュレーションホイールやピッチベンドホイール)1Eaやフットペダル1Ebである。
操作検出回路17は、これらのホイール1Eaの操作方向や操作量、ペダル1Ebの操作量などを検出し、それに応じた情報をバス1Gを介してCPU11に出力する。
【0010】
音源回路18は、複数のチャンネルで楽音信号の同時発生が可能であり、CPU11から与えられた楽音制御情報(ノートオン、ノートオフ、ベロシティ、ピッチデータ、音色番号等のMIDI規格に準拠したデータ)を入力し、これらのデータに基づいた楽音信号を発生して図示していないサウンドシステムに供給する。音源回路18において複数チャンネルで楽音信号を同時に発音させる構成としては、1つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものや、1つの発音チャンネルが1つの回路で構成されるような形式のものであってもよい。
また、音源回路18における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出すメモリ読み出し方式(波形メモリ方式)、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してもよい。また、これらの方式以外にも、自然楽器の発音原理を模したアルゴリズムにより楽音波形を合成する物理モデル方式、基本波に複数の高調波を加算することで楽音波形を合成する高調波合成方式、特定のスペクトル分布を有するフォルマント波形を用いて楽音波形を合成するフォルマント合成方式、VCO、VCF及びVCAを用いたアナログシンセサイザ方式等を採用してもよい。また、専用のハードウェアを用いて音源回路を構成するものに限らず、DSPとマイクロプログラムを用いて音源回路を構成するようにしてもよいし、CPUとソフトウェアのプログラムで音源回路を構成するようにしてもよい。
【0011】
音源回路18から発生された楽音信号は、図示しないアンプ及びスピーカからなるサウンドシステム19を介して発音される。
タイマ1Aは時間間隔を計数したりするためのクロックパルスを発生するものであり、このクロックパルスはCPU11に対してインタラプト命令として与えられるので、CPU11はインタラプト処理により各種の処理を実行する。
MIDIインターフェイス(I/F)1Fは電子楽器1Hのバス1Gとパーソナルコンピュータ20のMIDIインターフェイス(I/F)2Cとの間を接続し、MIDIインターフェイス2Cはパーソナルコンピュータ20のバス2DとMIDIインターフェイス1Fとの間を接続している。従って、電子楽器1Hのバス1Gとパーソナルコンピュータ20のバス2Dとの間は、MIDIインターフェイス1F及び2Cを介して接続され、両者の間では、MIDI規格に準拠したデータのやり取りが双方向で同時に行えるようになっている。
【0012】
次に、図2により、パーソナルコンピュータ20の構成について説明する。
マイクロプロセッサユニット(CPU)21は、このパーソナルコンピュータ20の動作を制御するものである。このCPU21に対して、バス2Dを介してROM22、RAM23、ハードディスク装置24、CD−ROM(コンパクト・ディスク・メモリ)ドライブ241、通信インタフェース243、ディスプレイインターフェイス(I/F)25、マウスインターフェイス(MOUSE I/F)26、スイッチ検出回路27、タイマ28及びMIDIインターフェイス2Cがそれぞれ接続されている。
ROM22は、CPU21の各種プログラムや各種データや各種記号文字等のデータを格納するものであり、リードオンリーメモリ(ROM)で構成されている。
RAM23は、CPU21がプログラムを実行する際に発生する各種データを一時的に記憶するものであり、ランダムアクセスメモリ(RAM)で構成されている。
【0013】
ハードディスク装置24は、パーソナルコンピュータ20の外部記憶装置であり、数百メガバイト(MB)〜数ギガバイト(GB)の記憶容量を有する。この実施の形態では、ハードディスク装置24は、伴奏パターンを実時間で作成するためのリアルタイム反応制御プログラムや伴奏パターン合成用の特徴抽出プログラムなどを記憶していると共に、これらのプログラムの動作時に利用される各種のパラメータ群をデータベースとして記憶している。パーソナルコンピュータ20はリアルタイム反応制御プログラムに応じてコードジェネレータ36及びベースジェネレータ37として動作し、伴奏パターン合成用特徴抽出プログラムに応じてリアルタイムレスポンスコントローラ31として動作する。なお、これらの動作時に利用されるパラメータの内容については、後述する。
なお、図示していないが、ハードディスク装置24に対するアクセスタイムを大幅に短縮するために、数メガバイト程度のキャッシュメモリ(RAM)を設けたり、RAM23とハードディスク装置24との間におけるデータ転送の負担を軽減するために、DMA(ダイレクト・メモリ・アクセス)装置を設けたりしてもよいことはいうまでもない。
【0014】
CD−ROMドライブ241は、CD−ROM242に記録してあるプログラム及び/またはデータを読み出すことができる。ハードディスク装置24内に、初期段階において、上述のリアルタイムレスポンス制御プログラム、特徴抽出プログラム、および様々なパラメータ群が、まだストアされていない場合は、それらのプログラムやパラメータをそれらをストアしているCD−ROM242からCD−ROMドライブ241によって読み出してハードディスク装置24内にインストールし、CPU21がそれらのプログラムを実行したりパラメータを使用できるようにしてよい。それらのプログラムやパラメータをハードディスク装置24内にインストールするために、フロッピーディスクまたは光磁気ディスク(MO)のような、CD−ROM以外の外部記録媒体を使用してもよい。
通信インタフェース243が、LAN(ローカルエリアネットワーク)やインターネット、電話回線等の通信ネットワーク244に接続され、更にこの通信ネットワーク244を介してサーバコンピュータ245に接続される。
【0015】
ハードディスク装置24内に上記プログラムやデータをまだ記憶していない場合、パーソナルコンピュータ20が、それらのプログラムやデータを記憶しているサーバコンピュータ245から通信ネットワーク244を介して該プログラムやデータをダウンロードすることができる。その場合、クライアントとなるパーソナルコンピュータ20より、通信ネットワーク244を介してサーバコンピュータ245に該プログラムやデータのダウンロードを要求するコマンドを送信する。サーバコンピュータ245は、このコマンドを受け、要求されたプログラムやデータを、パーソナルコンピュータ20へと配信する。パーソナルコンピュータ20では、これらの配信されたプログラムやデータをハードディスク装置24内に蓄積する。こうして、パーソナルコンピュータ20は、該プログラムやデータを実行若しくは使用することができるようになる。
【0016】
ディスプレイ29は、パーソナルコンピュータ20内部で演算処理されたデータ等をディスプレイインターフェイス(I/F)を介して入力し、これらのデータを視覚的に認識可能なように表示するものであり、通常のCRTやLCD等で構成される。
マウス2Aは、ディスプレイ29上の座標点を入力するポインティングデバイスの一種あり、その出力はマウスインターフェイス(MOUSE I/F)26及びバス2Dを介してCPU21に取り込まれる。
パネルスイッチ2Bは、パーソナルコンピュータ20にプログラムやデータ等を入力するためのキーボードであり、テンキーやファンクションキー等を備えたものである。
スイッチ検出回路27は、パネルスイッチ2Bのキー操作状態を検出し、その操作状態に応じたキー情報をバス2Dを介してCPU21に出力する。
【0017】
これらのディスプレイ29、マウス2A及びパネルスイッチ2BによってGUI(Graphical User Interface)が構成される。なお、図1ではこのGUIが伴奏パターン作成時の各種パラメータを修正するグラフィカルエディタ32として動作する。このグラフィカルエディタ32を操作することによって、操作者はパラメータに所望の修正を施すことができる。
タイマ28は時間間隔を計数したり、パーソナルコンピュータ20全体の動作クロックを発生するものである。パーソナルコンピュータ20はこの動作クロックを所定数だけ計数することによって所定時間の計時を行い、それに応じたインタラプト処理を行う。例えば、この所定数を自動伴奏のテンポに応じた値とすることで、パーソナルコンピュータ20は、そのテンポに応じて自動伴奏処理を行うようになる。
【0018】
この実施の形態では、鍵盤1Bをマウス2Aやパネルスイッチ2B以外のパーソナルコンピュータ20の各種機能を選択設定するための操作子として使用している。すなわち、図3に示すように、鍵盤1Bには各種のスイッチ機能が割り当てられており、鍵盤1Bの押鍵によって発生したノートオンイベントに基づいてスイッチイベント発生と同じ動作をするようになっている。ただし、ペダル1Ebを操作しながら鍵盤を押鍵した場合には、特定の鍵域を除いて通常の発音、消音の動作をする(詳しくは後述する)。なお、白鍵に示された英数字記号はその鍵のキーコードを示す。
図3において、鍵盤1BはキーコードA0からキーコードC8の全部で88個の鍵を有する。キーコードC1からキーコードB1までの1オクターブ分の鍵はコードルート(chord root: 和音の根音)を指定するためのスイッチとして動作する。例えば、キーコードF1の鍵が押鍵されると、電子楽器1Hからは押鍵に対応したMIDIデータがパーソナルコンピュータ20に出力されるので、それを受信したパーソナルコンピュータ20は『F』をコードルートに変更して、自動演奏処理を行う。
【0019】
キーコードC2、D2及びE2の鍵はクラスタを指定するスイッチとして動作する。すなわち、キーコードC2の鍵は1番目のクラスタ(クラスタ#1)を、キーコードD2の鍵は2番目のクラスタ(クラスタ#2)を、キーコードE2の鍵は3番目のクラスタ(クラスタ#3)をそれぞれ指定するスイッチとなる。ここで、クラスタとは、演奏スタイル(Music Style)のことであり、この実施の形態では図1のような3種類のクラスタを有する場合について説明する。なお、これ以上のスタイル数を有していてもよいことはいうまでもない。各クラスタは、ベースパターン作成用のベーステクスチャーとコードパターン作成用のコードテクスチャーをそれぞれ3種類ずつ有する。
キーコードG2、A2及びB2の鍵は、キーコードC2、D2及びE2によって指定されたクラスタの中の3種類のベーステクスチャーのどれを使用するかを選択指定するスイッチとして動作する。すなわち、キーコードG2の鍵は1番目のベーステクスチャー(ベース#1)を、キーコードA2の鍵は2番目のベーステクスチャー(ベース#2)を、キーコードB2の鍵は3番目のベーステクスチャー(ベース#3)をそれぞれ指定するスイッチとなる。ベーステクスチャーはベースパターンを生成するためのパラメータ群の集合である。ベーステクスチャーがどのようなパラメータ群で構成されているのかは後述する。
【0020】
キーコードC3、D3及びE3の鍵は、キーコードC2、D2及びE2によって指定されたクラスタの中の3種類のコードテクスチャーのどれを使用するかを指定するスイッチとして動作する。すなわち、キーコードC3の鍵は1番目のコードテクスチャー(コード#1)を、キーコードD3の鍵は2番目のコードテクスチャー(コード#2)を、キーコードE3の鍵は3番目のコードテクスチャー(コード#3)をそれぞれ指定するスイッチとなる。コードテクスチャーはコードパターンを生成するためのパラメータ群の集合である。コードテクスチャーがどのようなパラメータ群で構成されているのかは後述する。
キーコードF#3の鍵はベースパターン生成時にベーステクスチャーを使用するかどうか、すなわちベーステクスチャーのイネーブル/ディセーブルを、キーコードG#3の鍵はコードパターン生成時にコードテクスチャーを使用するかどうか、すなわちコードテクスチャーのイネーブル/ディセーブルを指定するスイッチとして動作する。
キーコードG#4〜B4の鍵はコードタイプを指定するスイッチとして動作する。キーコードG#4の鍵はドミナント7th(dom7)を、キーコードA4の鍵はマイナー7th(min7)を、キーコードA#4の鍵はメジャー(Maj)を、キーコードB4の鍵はマイナー(min)をそれぞれ指定するスイッチとなる。
【0021】
キーコードC5の鍵はドラム演奏処理のイネーブル/ディセーブルを、キーコードD5の鍵はベース演奏処理のイネーブル/ディセーブルを、キーコードE5の鍵はコード演奏処理のイネーブル/ディセーブルを、それぞれ指定するスイッチとして動作する。
キーコードF5は自動演奏のスタートを、キーコードF#5の鍵は自動演奏のストップを指定するスイッチとして動作する。
キーコードG5の鍵は、図1のリアルタイムレスポンスコントローラ31のイネーブル/ディセーブルを指定するスイッチとして動作する。すなわち、キーコードG5の鍵が押鍵されると、リアルタイムレスポンスフラグRTAがオン状態にセットされ、リアルタイムレスポンスコントローラ31はイネーブルとなる。なお、フットペダル1Ebが押圧された場合にも、リアルタイムレスポンスフラグRTAはオン状態にセットされる。キーコードC6〜A6までの鍵は、操作者によって鍵盤1Bが操作された場合に、リアルタイムコントローラ31がその操作にどのように反応して、どのようにしてパラメータに修正を加えるのか、その応答状態を指定するスイッチとなる。なお、この実施の形態では、応答状態として9種類(#0〜#9)の場合について説明するが、これ以外でもよいことはいうまでもない。これら各キーの操作に応じた処理内容の詳細については後述する。
ペダル1Ebを操作した時は、コードルート指定キーC1〜B1、応答状態指定キーC6〜A6を除いて、通常の演奏のためのキーとして動作する。
【0022】
次に、パーソナルコンピュータ20のハードディスク装置24内に記憶されているパラメータ群について説明する。
ハードディスク装置24には、コードパターン生成時に使用されるパラメータ群(コードテクスチャー)と、ベースパターン生成時に使用されるパラメータ群(ベーステクスチャー)とが各クラスタ毎に記憶されている。これらのパラメータ群は、伴奏パターンを再生又は合成するために必要十分な音楽情報に関するものである。
コードテクスチャーには、アクティビティ(ACTIVITY)パラメータ、シンコペーション(SYNCOPATION)パラメータ、ボリューム(VOLUME)パラメータ、デュップ/トリップ(DUP/TRIP)パラメータ、デューレション(DURATION)パラメータ、レンジ(RANGE)パラメータ、サブレンジ(SUB RANGE)パラメータ、レジスタ(REGISTER)パラメータ、ナムノーツ(NUM NOTES)パラメータ、デンシティ(DENSITY)パラメータ、カラーa(COLOR-a)パラメータ及びカラーb(COLOR-b)パラメータがある。
ベーステクスチャーには、アクティビティ(ACTIVITY)パラメータ、シンコペーション(SYNCOPATION)パラメータ、ボリューム(VOLUME)パラメータ、デュップ/トリップ(DUP/TRIP)パラメータ、スケールデュー(SCALE DURATION) パラメータ、コードトーン(CHORD TONE)パラメータ、ライプトーン(RIPE TONE)パラメータ、ダルトーン(DULL TONE)パラメータ、ディレクション(DIRECTION)パラメータ及びリーパ(LEAPER)パラメータがある。
なお、デュップ/トリップ(DUP/TRIP)は、"duplet/triplet"の略であり、3連符か否かを示すパラメータである。
また、ナムノーツ(NUM NOTES)は、"number-of-notes"の略であり、音の数を示すパラメータである。
【0023】
これらの各パラメータのデータ構成について、説明する。
図4は、コードテクスチャー及びベーステクスチャーを構成するパラメータの一例を示す図である。図において、『CHORD PATCH 28』の文字は図4のコードテクスチャーのコードボイス(和音音色)番号を示し、『BASS PATCH 32』はベーステクスチャーのベースボイス番号を示す。また、『TEMPO: 90』は両テクスチャーのテンポが90であることを示す。このテンポ値は1分間の拍数をメトロノーム数によって示す。
『CHORD』はこれに続く各データがコード(和音)に関するパラメータであることを示す。『BEATS 4』はコードテクスチャーの拍子が4拍子であることを示す。図4では、コードに関するパラメータとして、デューレションパラメータ、レジスタパラメータ、ナムノーツパラメータ、アクティビティパラメータ、ボリュームパラメータ、レンジパラメータ、サブレンジパラメータ、デンシティパラメータ、シンコペーションパラメータが列記されている。各パラメータは、そのパラメータシンボルと、これに続くスロット番号と数値との複数組で構成されている。スロット番号は1小節内おける時間軸上の位置を示すものである。従って、4拍子の場合には1小節を96分割(1拍を24分割)した場合の分割点の位置を示し、3拍子の場合には1小節を72分割した場合の分割点の位置を示すことになる。各パラメータの取り得る数値は『0』〜『127』の範囲である。
【0024】
図における『DURATION(0,21)(96,21)』では、『DURATION』の文字がパラメータシンボルを示し、『(0,21)(96,21)』のカッコ内における前の数字『0』及び『96』がスロット番号であり、カッコ内における後の数字『21』がそのスロット番号におけるパラメータ値を示す。デュレーションパラメータのようにスロット番号が『0』と『96』の2つの場合にはそのパラメータの値が1小節内で変化しない一定値『21』であることを示している。図4ではレジスタパラメータ、ナムノートパラメータ、ボリュームパラメータ、レンジパラメータ、サブレンジパラメータ、デンシティパラメータが同じように、1小節内で変化しない一定値を示している。
これに対して、アクティビティパラメータやシンコーペーションパラメータなどのようにスロット番号が3個以上で構成されている場合にはそのパラメータの値が1小節内で変化していることを示す。図4(B)はコードテクスチャーのアクティビティパラメータの変化の様子を示すものである。このようにパラメータの中には時系列的に変動するパラメータと変動しないパラメータがある。
『BASS』はこれに続く各データがベースに関するパラメータであることを示す。図4では、ベースに関するパラメータとして、ダルトーンパラメータ、アクティビティパラメータ、ボリュームパラメータ、リーパパラメータ、コードトーンパラメータ、シンコペーションパラメータ、ディレクションパラメータが列記されている。各パラメータは、コードテクスチャーの構成と同じである。
なお、図4のようにコードテクスチャー中に規定されていないパラメータ(デュップ/トリップパラメータ、カラーaパラメータ及びカラーbパラメータ)やベーステクスチャー中に規定されていないパラメータ(デュップ/トリップパラメータ、スケールデューパラメータ、ライプトーンパラメータ)に関しては、それぞれの値は『0』として処理される。
【0025】
次に、各パラメータの音楽的な意味について説明する。
まず、コードテクスチャー及びベーステクスチャーに共通なアクティビティパラメータ、シンコペーションパラメータ、ボリュームパラメータ、デュップ/トリップパラメータについて説明する。これらの各パラメータは、『0』〜『127』の範囲に設定される。
アクティビティパラメータは、イベント発生の分解能(発音分解能)に関するパラメータである。すなわち、アクティビティパラメータは、その値に応じて4分音符から16分音符のどれを発音するか、又は発音しないかを決定するパラメータである。アクティビティパラメータの値が『0』の場合は『発音なし』を示す。アクティビティパラメータの値が『1』〜『63』の場合はその数値の大きさに応じて『4分音符を発音』するか又は『8分音符を発音』するかを決定し、数値が小さい程、4分音符を発音する確率が高くなり、数値が大きい程8分音符を発音する確率が高くなる。アクティビティの値が『64』〜『126』の場合はその数値の大きさに応じて『8分音符を発音』するか又は『16分音符を発音』するかを決定し、数値が小さい程8分音符を発音する確率が高くなり、数値が大きい程16分音符を発音する確率が高くなる。アクティビティパラメータの値が『127』の場合は『16分音符の発音』を示す。
シンコペーションパラメータは、アクティビティパラメータによって決定した発音分解能に基づいて各音符のベロシティを決定するためのパラメータである。シンコペーションパラメータの値が『63』以下の場合には、表拍のベロシティが大きくなり、裏拍のベロシティが小さくなるように作用し、『64』以上の場合には表拍のベロシティが小さくなり、裏拍のベロシティが大きくなるように作用する。
【0026】
図5は、このシンコペーションパラメータの値に基づいて表拍及び裏拍のベロシティを決定する際に用いられるトータル値の一例を示す図であり、図5(A)は1小節内のアクティビティパラメータの値が『63又は64』であり、1小節内が全て8分音符で発音すると決定された場合に、シンコーペーションの値が『0』、『31』、『63又は64』、『95』、『127』の場合の8分音符の発音タイミングのトータル値を示すものである。図では、発音タイミングとして、スロット番号が示されているが、これは前述の1小節内の時間軸上のタイミング位置と同じである。スロット番号『0』、『24』、『48』、『72』は1小節内を8分音符で発音する場合の表拍に相当し、スロット番号『12』、『36』、『60』、『84』がその裏拍に相当する。図5では、シンコペーションパラメータが『0』の場合は、表拍のトータル値が『15』であり、裏拍のトータル値が『0』である。シンコペーションパラメータが『127』の場合は、その表拍のトータル値が『−15』、裏拍のトータル値が『20』である。シンコペーションパラメータが『1』〜『126』の場合には、そのトータル値は両端の値を線形補間して得られた値になる。すなわち、シンコペーション『31』の場合の表拍のトータル値は『7.5』、裏拍のトータル値は『5』となり、シンコペーション『63』又は『64』の場合のトータル値は『0』、裏拍のトータル値は『10』となり、シンコペーション『95』の場合の表拍のトータル値は『−7.5』、裏拍のトータル値は『15』となる。
【0027】
このようにしてシンコペーションパラメータからトータル値が求まるので、そのトータル値を次の演算式
ベロシティ=(ボリューム値−64)+トータル値×3
に代入することによってベロシティを求める。求められた値が表拍及び裏拍のベロシティとなる。この式で、ボリューム値とはボリュームパラメータの値である。従って、この式にボリューム値及びトータル値を代入した結果、ベロシティ値がマイナスになった場合には『0』とし、『128』以上になった場合には『127』とする。
なお、図5(B)は1小節内のアクティビティパラメータが『127』であり、1小節内が全て16分音符で発音すると決定された場合において、シンコーペーションパラメータが『0』、『31』、『63/64』、『95』、『127』の場合の全16分音符の発音タイミングのトータル値を示す。
デュップ/トリップパラメータは、発音される音が偶数系なのか、又は奇数系なのかを示すパラメータである。デュップ/トリップパラメータの値が『0』〜『63』の場合は偶数系を、『64』〜『127』の場合は奇数系をそれぞれ示す。従って、アクティビティの値が『63/64』で、デュップ/トリップの値が『64』〜『127』の場合には、8分音符の3連符が選択され、アクティビティの値が『127』でデュップ/トリップの値が『64』〜『127』の場合には16分音符の3連符が選択されることになる。
【0028】
次に、ベーステクスチャー特有のパラメータであるスケールデューパラメータ、ディレクションパラメータ、リーパパラメータ、コードトーンパラメータ、ライプトーンパラメータ及びダルトーンパラメータについて説明する。これらのパラメータはベースパターンを決定するためのパラメータであり、次のような構成になっている。これらの各パラメータも『0』〜『127』の値に設定される。スケールデューパラメータは、アクティビティパラメータの値に応じてベースパターンの音長を決定するものである。スケールデューパラメータは『0』〜『127』の値に設定されるが、『0』とそれ以外とで異なる取り扱いとなる。
スケールデューパラメータが『0』でアクティビティパラメータが『0』〜『63』の場合には、次の演算式
12.5×2.4/tempo
によって音長が決定される。この場合、tempoの値が『90』の場合には、0.33secとなる。
【0029】
また、アクティビティパラメータが『64』〜『127』の場合には、次の演算式
12.5×1.6/tempo
によって音長が決定される。この場合、tempoの値が『90』の場合には、0.22secとなる。
一方、スケールデューパラメータが『0』以外の場合には、上記演算式にさらに5のm乗から1を減算した値を乗することによって音長を決定する。ここで、mはスケールデューパラメータを100で除した値である。すなわち、スケールデューパラメータが『0』以外でアクティビティパラメータが『0』〜『63』の場合には、次の演算式
((5のm乗)−1))×12.5×2.4/tempo
によって音長が決定される。
また、アクティビティパラメータが『64』〜『127』の場合には、次の演算式
((5のm乗)−1)12.5×1.6/tempo
によって音長を決定する。
【0030】
ディレクションパラメータは、前に決定されたベースパターンの音の中で直前のものの音高よりも音高を高くするのか、それとも低くするのかを決定するものである。ディレクションパラメータが『0』〜『63』の場合には直前の音高よりも低い音高が選択され、『64』〜『127』の場合には直前の音高よりも高い音高が選択される。
リーパパラメータは、ディレクションパラメータによって決定された音高方向(高くするのか、低くするのか)に対して、選択されるべき音高の最小音高幅(リープサイズ(leap_size))を決定するものである。リーパパラメータが『0』〜『20』の場合にはリープサイズは『1半音』となり、『21』〜『40』の場合にはリープサイズは『0(同音)』となり、『41』〜『127』の場合にはリープサイズは次の演算式
((リーパパラメータ))−40)/7
によって決定される。この演算結果の小数点以下は切り捨てる。従って、リーパパラメータが『41』〜『46』の場合にはリープサイズは『0(同音)』になり、リーパパラメータが『47』〜『53』の場合はリープサイズは『1半音』になり、リーパパラメータが『54』〜『60』の場合はリープサイズは『2半音』になり、以下同様にリーパパラメータの値に応じてリーパサイズが変化する。そして、最終的には、リーパパラメータが『127』の場合にリープサイズは『12半音(1オクターブ)』となる。
【0031】
コードトーンパラメータ、ライプトーンパラメータ及びダルトーンパラメータは、それぞれの値の比重に応じた確率で各トーンリストの中から音高を決定するためのものである。すなわち、コードトーンパラメータの値をCT、ライプトーンパラメータの値をRT、ダルトーンパラメータの値をDTとすれば、コードトーンが選択される確率はCT/(CT+RT+DT)となり、ライプトーンが選択される確率はRT/(CT+RT+DT)となり、ダルトーンが選択される確率はDT/(CT+RT+DT)となる。
図6は、トーンリストの一例を示す図である。図6(A)は主音『C』をルートとするメジャーコードに、図6(B)はマイナーコードに、図6(C)はマイナー7thコードに、図6(D)はドミナント7thコードに、それぞれ対応したトーンリストである。これらのトーンリストは、前述の鍵盤1Bの中のキーコードC1〜B1の鍵(コードルートを指定するスイッチ)及びキーコードG#4〜B4の鍵(コードタイプを指定するスイッチ)の操作に対応したものが選択されるようになっている。従って、鍵盤1BのキーコードC1とキーコードA#4の鍵が押鍵されることによって図6(A)のトーンリストが選択され、キーコードC1とキーコードB4の鍵が押鍵されることによって図6(B)のトーンリストが選択され、キーコードC1とキーコードA4の鍵が押鍵されることによって図6(C)のトーンリストが選択され、キーコードC1とキーコードG#4の鍵が押鍵されることによって図6(D)のトーンリストがそれぞれ選択されることになる。図6(A)〜(D)のトーンリストから理解されるように、コードトーンとは選択されたコードタイプの構成音のことであり、ダルトーンとは選択されたコードトーン以外のコードタイプのスケール構成音のことであり、ライプトーンとはそのコードタイプのスケール構成音(コードトーン及びダルトーン)以外の音のことである。なお、コードタイプとして4種類のみを示したが、これ以外のコードタイプを多数準備してもよいことはいうまでもない。
【0032】
ディレクションパラメータ、リープサイズパラメータ、コードトーンパラメータ、ライプトーンパラメータ、ダルトーンパラメータの値及び選択されたトーンリストに応じて、次のようにして順次音高が選択決定される。すなわち、トーンリストの中の前音に対してディレクションパラメータで決定された方向にリーパパラメータの示す最小音高差幅(リープ・サイズ)以上離れた音であって、前音に一番近接する音高をそれぞれのコードトーンパラメータ、ライプトーンパラメータ及びダルトーンパラメータの値の比重に比例した確率で選択する。
例えば、前音がキーコードC3であって、図4のように、ディレクションパラメータが『113』で、リーパパラメータが『10』で、コードトーンパラメータCTが『84』で、ダルトーンパラメータDTが『3』で、トーンリストが図6(A)である場合には、次にくる音高として前音のキーコード『C3』よりも1半音だけ高い音高であって、コードトーンの『E3』が84/87の確率で選択され、ダルトーンの『D3』が3/87の確率で選択される。なお、図4では、ライプトーンパラメータRTが存在しないので、ライプトーンパラメータRTの値は『0』として処理される。
【0033】
次に、コードテクスチャー特有のパラメータであるデューレションパラメータ、ナムノーツパラメータ、レジスタパラメータ、レンジパラメータ、サブレンジパラメータ、デンシティパラメータ、カラーaパラメータ及びカラーbパラメータについて説明する。これらのパラメータはコードパターンを決定するためのパラメータであり、次のような構成になっている。これらの各パラメータも『0』〜『127』の値に設定される。
デュレーションパラメータは、コードジェネレータ36用の音長指定パラメータであり、アクティビティパラメータの値に応じてコードパターンの音長時間を決定するパラメータである。デュレーションパラメータは『0』〜『127』の値に設定される。和音の音長は前述のスケールデューパラメータと同様の演算式によって決定される。
ナムノーツパラメータは和音構成音の数すなわち同時にいくつの音を発音するのかその発音数を決定するパラメータである。発音数はナムノーツパラメータの値に10/127を乗算することによって得られる。従って、ナムノーツパラメータの値が『12』以下の場合には、発音数『0』であり、ナムノーツパラメータの値が『13』〜『26』の場合には、発音数『1』であり、ナムノーツパラメータの値が『127』の場合に発音数は最高の『10』となる。図4のコードテクスチャーでは、ナムノーツパラメータの値が『124』なので、発音数は『9』となる。
【0034】
レジスタパラメータは、和音を構成する音高位置のほぼ中心の音高を示すパラメータであり、ノートナンバにて指定される。レンジパラメータは、和音を構成する音高域を示すパラメータである。従って、レジスタパラメータとレンジパラメータに基づいて発音対象となり得る和音構成音の音高域が決定する。決定される音高域はレジスタパラメータの値を中心にレンジパラメータの値の2分の1だけ上下方向の音域となる。例えば、図4のコードテクスチャーの場合には、レジスタパラメータが『60』すなわちキーコード『C3』であり、レンジパラメータが『60』なので、発音対象となる音高域は、『30』(キーコード『F#0』)から『90』(キーコード『F#5』)までとなる。なお、計算の過程で生じる小数点以下は切り捨てる。サブレンジパラメータは、レジスタパラメータとレンジパラメータに基づいて定められた音高域の中から相対的にどの程度の音高域の音を和音構成音として採用するのかを決定するパラメータであり、ノートナンバにて指定される。図4のコードテクスチャーでは、サブレンジの値は『45』(キーコード『A1』)である。従って、このキーコードA1付近の音が和音構成音として決定される。
デンシティパラメータは、同じタイミング(スロット)中で複数音発音される場合の音高間隔(interval)を決定するパラメータである。このデンシティパラメータの値は図7のような変換テーブルによって音高間隔に変換される。図7の変換テーブルは音高が低い場合には音高間隔が広くなるように変換し、音高が高い場合には音高間隔が狭くなるように、それぞれの値が設定されている。図7では、音高間隔の最大値は『12』すなわち1オクターブであり、テーブルに存在しないデンシティの値『17』〜『31』,『33』〜『63』,『65』〜『126』に対しては、線形補間にてその音高間隔が算出される。また、テーブルに存在しないノートナンバに対しても同様に線形補間にて音高間隔が算出される。線形補間によって生じた小数点以下は切り上げる。
【0035】
カラーaパラメータ及びカラーbパラメータは、レンジパラメータで決定された音高域の中から、各コードタイプ毎に設けられた出現確率算出テーブルに応じて和音の構成音となる候補を抽出するためのパラメータである。カラーaパラメータ及びカラーbパラメータは『0』〜『127』の値が設定されるが、後述の演算式ではそれに1/127の乗じられた『0』〜『1』の範囲に正規化されて使用される。図8は、出現確率算出テーブルの一例を示すものである。図8の出現確率算出テーブルは図6のトーンリストに対応したものである。図8(A)は主音『C』をルートとするメジャーコードに、図8(B)はマイナーコードに、図8(C)はマイナー7thコードに、図8(D)はドミナント7thコードに、それぞれ対応した出現確率算出テーブルである。これらの出現確率算出テーブルは、前述の鍵盤1BはキーコードC1〜B1の鍵(コードルートを指定するスイッチ)及びキーコードG#4〜B4の鍵(コードタイプを指定するスイッチ)の操作に対応したものが選択される。この出現確率算出テーブルは、1オクターブ分の12音高を、第1から第3の3つのレベルにグループ化したものである。まず、第1のレベルの音高は、図6のトーンリストのコードトーンに対応したものであり、そのコードタイプの和音を構成する音高と同じである。この第1レベルの音高は出現確率算出時に第1レベル係数REQUIREDで重み付けされる。第2及び第3のレベルの音高は第1のレベルで指定されたもの、又はそれ以外の音高で構成されている。第2のレベルの音高は出現確率算出時に第2レベル係数OPTIONAL 1で重み付けがなされ、第3のレベルの音高は出現確率算出時に第3レベル係数OPTIONAL 2で重み付けがなされる。
カラーaパラメータ、カラーbパラメータ及び出現確率算出テーブルの各係数(REQUIRED, OPTIONAL 1, OPTIONAL 2)を次の演算式
CA×((O1×CT+O2×(1−CT))+(1−CA)×RQ
に代入することによって、それぞれの12音の出現確率が決定される。
この演算式において、CAはカラーaパラメータとカラーbパラメータの総和であり、各12音に共通の値である。RQは第1レベル係数REQUIREDの値であり、O1は第2レベル係数OPTIONAL 1の値であり、O2は第3レベル係数OPTIONAL 2の値である。CTは自然対数eの(−0.6931472×カラーbパラメータ/カラーaパラメータ)乗である。但し、カラーaパラメータが『0』の場合はCTは『0』とする。
【0036】
図9は、リズムパターンの一例を示す図である。リズムパターンはパターン番号#0からパターン番号#nまでの複数n個が予め用意されており、その中のいずれかが適宜選択されるようになっている。リズムパターンは『SCORE』の文字の後に続くデータで構成されている。各データは、4拍子の時の1小節を1920分割した場合の分割点の位置すなわち時間軸上のタイミングを表すリズムタイムと、そのデータの内容を示すフラグと、そのフラグに対応したデータ群とで構成される。この実施の形態では、『MESSAGE』、『NOTE』及び『REPEAT』の3種類のフラグによって特定されるデータによってリズムパターンが構成されている。
『MESSAGE』のフラグを有するデータは、1小節内における拍の先頭を示すインデックスデータであり、図では『0(MESSAGE 1 0)』や『480(MESSAGE 2 0)』のように表される。先頭の数値『0』や『480』が1小節内における拍の先頭タイミングに対応している。『MESSAGE』フラグの後の数値『1』や『2』は拍の番号を示し、末尾の数値『0』が出力ポートを示す。なお、この実施の形態では、『MESSAGE』フラグに基づいて拍先頭割込み信号が出力されるようになっているので、リズムパターンにおいては、1拍目の先頭位置に対応するタイミング位置『0』と、2拍目の先頭位置に対応するタイミング位置『480』と、3拍目の先頭位置に対応するタイミング位置『960』と、4拍目の先頭位置に対応するタイミング位置『1440』に、必ず『MESSAGE』フラグが存在する。
【0037】
『NOTE』のフラグを有するデータは、ノートオンに関するデータであり、図では『0(NOTE 36 84 77 9 0)』のように表される。先頭の数値『0』は時間軸上のタイミングを示し、『NOTE』はこのデータがドラムの音色に関するデータであることを示すフラグであり、フラグの後の最初(第1番目)の数値『36』はGM(General MIDI)におけるドラム音色のキー番号を示し、2番目の数値『84』はベロシティを示し、3番目の数値『77』はデュレーションを示し、4番目の数値『9』はMIDIチャンネル番号を示し、最後の数値『0』は出力ポートを示す。
『REPEAT』のフラグを有するデータは、繰り返し位置を示すデータであり、図では『1920(REPEAT 1 T 0)』のように表される。先頭の数値『1920』は時間軸上のタイミングを示し、『REPEAT』はこのデータが繰り返しに関するデータであることを示すフラグであり、フラグの後の英数時『1』、『T』『0』は、繰り返し処理に関するデータである。
図9のようなリズムパターンがハードディスク装置24内に複数存在し、操作者の現在の演奏状態に応じたものが、所定のリズムパターングループの中から適宜選択されて電子楽器1Hに送出されるようになっている。
なお、上述した各種演算式は一例にすぎず、他の演算式を用いてもよいことはもちろんである。
【0038】
次に、CPU11によって実行される図1の電子楽器1Hの処理の一例を図10のフローチャートを用いて説明する。図10(A)は図1の電子楽器1HのCPU11が処理するメインルーチンの一例を示す図である。
まず、電源が投入されると、CPU11はROM12に格納されている制御プログラムに応じた処理を開始する。「イニシャライズ処理」では、RAM13内の各種レジスタ及びフラグを初期化する。その後に、CPU11は「キー処理」、「MIDI受信処理」及び「その他の処理」をイベントの発生に応じて繰り返し実行する。
図10(B)は図10(A)の「キー処理」の一例を示す図である。
「キー処理」では、鍵盤1Aの操作状態がキーオン状態かキーオフ状態かを判定し、その判定結果に応じて、MIDIノートオンメッセージ又はMIDIノートオフメッセージをMIDIインターフェース1F及び2Cを介してパーソナルコンピュータ20に出力する。従って、この実施の形態では、鍵盤1Aが操作された場合でも電子楽器自体の処理すなわち音源回路18を駆動しないようにしてある。そのため、キー処理の時点では、音源回路18は発音処理を行わないようにしてある。
【0039】
図10(C)は図10(A)の「MIDI受信処理」の一例を示す図である。「MIDI受信処理」では、パーソナルコンピュータ20からMIDIインターフェース2C及び1Fを介してMIDIメッセージを入力する毎に実行する。「MIDI受信処理」では、そのMIDIメッセージがノートオンメッセージかどうかを判定し、ノートオン(YES)の場合にはそのノートオン信号、ノートナンバ及びベロシティデータを音源回路18に供給し、楽音の発音を音源回路18に行わせる。一方、MIDIメッセージがノートオン以外(NO)の場合には受信したMIDIメッセージに応じた「メッセージ対応処理」を行った後、図10(A)のメインルーチンにリターンする。
「その他の処理」では、パネルスイッチ1Cにおけるその他の操作子の操作に基づく処理、ホイール&ペダル1Eの操作に基づく処理、その他の種々の処理を行う。
【0040】
次に、CPU21によって実行される図1のパーソナルコンピュータ20の処理の一例を図11〜図21を用いて説明する。
図11は図1のパーソナルコンピュータ20のCPU21が処理するメインルーチンの一例を示す図である。
まず、電源が投入されると、CPU21はROM22に格納されている制御プログラムに応じて処理を開始する。
ステップ111のイニシャライズ処理では、RAM23内の各種レジスタ及びフラグを初期化すると共に、図3のようにペダル1Ebが操作されない場合における各種のスイッチ機能を鍵盤1Bに割り当てる。
ステップ112では、電子楽器1HからMIDIインターフェース1F及び2Cを介して入力するMIDIメッセージがノートオンメッセージかどうかを判定し、ノートオンメッセージ(YES)の場合には次のステップ113に進み、そうでない場合にはステップ11Bにジャンプする。
ステップ113では、ペダル1Ebがオン状態すなわち押圧されているかどうかを判定し、押圧されていない(NO)と判定された場合には操作者はペダルを操作しないで鍵盤1Bだけを操作したことを意味するので、ステップ114に進み、そこでノートナンバに対応した各種の処理を行う。一方、押圧されている(YES)と判定された場合は操作者はペダルを押しながら鍵盤1Bを操作したことを意味するので、ステップ115〜ステップ11Aの処理を行う。
【0041】
ステップ114の処理は、ペダル1Ebが押圧されていない状態で鍵盤1Bが押鍵された場合に行われるものであり、電子楽器1HからのMIDIメッセージに含まれるノートナンバに対応した各種処理、すなわち図3に示すような鍵盤1Bに割り当てられた各種スイッチ機能に対応した処理を行う。
例えば、ノートナンバが36(C1)〜47(B1)の場合には、そのノートナンバに対応したコードルートに変更する。
ノートナンバが48(C2)場合はクラスタを1番目(#1)に、50(D2)の場合はクラスタを2番目(#2)に、52(E2)の場合はクラスタを3番目(#3)にそれぞれ変更する。
ノートナンバが55(G2)の場合はベーステクスチャーを1番目(#1)に、57(A2)の場合はベーステクスチャーを2番目(#2)に、59(B2)の場合はベーステクスチャーを3番目(#3)にそれぞれ変更する。
ノートナンバが60(C3)の場合はコードテクスチャーを1番目(#1)に、62(D3)の場合はコードテクスチャーを2番目(#2)に、64(E3)の場合はコードテクスチャーを3番目(#3)にそれぞれ変更する。
【0042】
ノートナンバが66(F#3)の場合はベースのレスポンスステートによる反応をイネーブルにし、ノートナンバが68(G#3)の場合はコードのレスポンスステートによる反応をイネーブルにする。
ノートナンバが80(G#4)の場合はコードタイプをドミナント7th(dom7)に、81(A4)の場合はマイナー7th(min7)に、82(A#4)の場合はメジャー(Maj)に、83(B4)の場合はマイナー(min)にそれぞれ変更する。
ノートナンバが84(C5)の場合はドラムの再生(演奏)を行うために、図9のような複数のリズムパターンの中から1小節分のパターンを読み込み、それをRAM23に格納すると共にドラム再生フラグDRUMをイネーブル/ディセーブルに設定する。
また、ノートナンバが86(D5)の場合はベースの再生(演奏)に関するベース再生フラグを、88(E5)の場合はコードの再生(演奏)に関するコード再生フラグを、イネーブル/ディセーブルに設定する。
ノートナンバが89(F5)の場合は自動演奏をスタートし、90(F#5)の場合は自動演奏を停止する。
ノートナンバが91(G5)の場合はリアルタイムレスポンスフラグRTAをオンに設定し、リアルタイムレスポンスコントローラ31をイネーブルにする。ノートナンバが96(C6)〜105(A6)の場合はそのノートナンバに応じて応答状態(レスポンスステート)を0番目(#0)から9番目(#9)に変更する。
【0043】
ステップ115の処理は、ペダル1Ebが押圧された状態で鍵盤1Bが押鍵された場合に行われるものであり、電子楽器1HからのMIDIメッセージに含まれるノートナンバが36(C1)〜47(B1)のコードルートの変更に対応するものであるかどうかを判定し、対応する(YES)と判定された場合にはステップ116に進み、コードルートをそのノートナンバに対応したものに変更する。一方、対応しない(NO)と判定された場合にはステップ117に進み、今度はノートナンバが96(C6)〜105(A6)の応答状態の変更に対応するものであるかどうかを判定する。
ノートナンバが応答状態の変更に対応する(YES)とステップ117で判定された場合にはステップ118に進み、応答状態をそのノートナンバに対応した番号に変更し、対応していない(NO)と判定された場合にはステップ119及びステップ11Aの処理を行う。
ステップ119では、ノートナンバがコードルート変更指定領域、応答状態変更指定領域のいずれにも属していないため、ノートナンバに応じた発音処理、すなわちノートオンに関するMIDIメッセージを電子楽器1Hの音源回路18に供給する。
ステップ11Aでは、電子楽器1HからのMIDIメッセージに含まれるノートイベントデータに基づいて(キーコード、ベロシティ、デュレーション(音長))を得て、そのイベント発生タイミング(オン時刻)に応じて1小節を96等分割したバッファの対応する位置にストアする。なお、デュレーション(音長)はノートオフイベントが発生した時点で決定され、対応するノートオンイベントが記憶されている位置にストアされる。
【0044】
ステップ11Bでは、電子楽器1HからのMIDIメッセージがノートオフメッセージかどうかを判定し、ノートオフメッセージ(YES)の場合には次のステップ11Cに進み、そうでない場合にはステップ11Fにジャンプする。
ステップ11Cでは、ペダル1Ebがオン状態かどうかを判定し、オン状態(YES)と判定された場合にはステップ11Dに進み、電子楽器1HからのMIDIメッセージに含まれるノートナンバが36(C1)〜47(B1)のコードルートの変更、又は96(C6)〜105(A6)の応答状態の変更に対応するものであるかどうかを判定し、対応する(YES)と判定された場合にはステップ11Fにジャンプし、対応しない(NO)と判定された場合には、ステップ11Eに進み、そこでそのノートナンバの消音処理、すなわちノートオフに関するMIDIメッセージを電子楽器1Hの音源回路18に供給する。これにより、前述のステップ119において発音された音が消音される。
ステップ11Fのその他の処理では、パネルスイッチ2Bにおけるその他の操作子の操作に基づく処理やその他の種々の処理を行う。
【0045】
次に、鍵盤1Bのノートナンバ89(F5)の鍵がペダル1Ebの操作を伴わずに押鍵され、前記ステップ114によって自動伴奏処理がスタートした場合に、CPU21がタイマインタラプト信号に同期して行う自動伴奏処理の一例を説明する。この自動伴奏処理は、パターン再生処理、シチュエーション分析処理及びコード&ベースパターン合成処理からなる。
図12はパターン再生処理の一例を示す図であり、図13はシチュエーション分析処理の一例を示す図であり、図16はコード&ベースパターン合成処理の一例を示す図である。
図12のパターン再生処理は、テンポの値に対応したタイマ割り込み信号(1拍あたり480回)に同期して実行される。
ステップ121では、リズムパターンの中にリズムタイムレジスタRHTの値に対応するイベントデータが存在するかどうかを判定し、存在する(YES)と判定された場合にはステップ122に進み、存在しない(NO)と判定された場合にはステップ12Dにジャンプする。
ステップ122では、リズムパターンの中からリズムタイムレジスタRTの値に対応するデータを全て読み出す。
ステップ123では、読み出されたデータの中に図9のような『MESSAGE』のフラグを有するデータが存在するかどうかを判定し、YESと判定された場合には、ステップ124に進み、NOと判定された場合にはステップ125にジャンプする。
『MESSAGE』のフラグは拍の先頭を示すものなので、ステップ124では、拍先頭割り込み信号を出力する。この拍先頭割り込み信号の発生に同期して図16のコード&ベースパターン合成処理が開始する。また、拍先頭割り込み信号が1小節の始まり、すなわち第1拍目に対応する場合には図13のシチュエーション分析処理も同時に開始する。
【0046】
ステップ125では、ドラムトラックを変更するのかどうかの判定を行う。すなわち、レスポンスステートのドラム欄におけるアクティビティパラメータの項目のテクスチャーの値が『1』であるかどうかを判定し、『1』(YES)の場合にはステップ126に進む。なお、レスポンスステートの構成については後述する。
ステップ126では、1拍分の押鍵数に対応したパターン番号のリズムパターンを新たに読み出し、古いリズムパターンと交換、すなわち古いリズムパターンを新しく読み出されたリズムパターンに書き換える。この処理により、押鍵数に応じてリズムパターンが自動的に切り替えられていく。そして、書き換えられた新しいリズムパターンの中からリズムタイムレジスタRTの値に対応するデータを読み出す。
ステップ127では、ドラム再生フラグDRUMがイネーブルかどうかを判定し、イネーブル(YES)の場合はステップ128に進み、ディセーブル(NO)の場合はステップ129にジャンプする。
【0047】
ステップ128では、ステップ122又はステップ126で読み出されたリズムタイムレジスタRT対応のデータに基づいたMIDIメッセージを電子楽器1Hの音源回路18に出力する。これにより、ドラムパートの演奏がなされる。
ステップ129では、ベース再生フラグBASSがイネーブルかどうかを判定し、イネーブル(YES)の場合はステップ12Aに進み、ディセーブル(NO)の場合はステップ12Bにジャンプする。
ステップ12Aでは、後述する図16のコード&ベースパターン合成処理によって合成されたベースパターンの中からリズムタイムレジスタRT対応のデータを読み出し、それに基づいたMIDIメッセージを電子楽器1Hの音源回路18に出力する。これにより、ベースパートの演奏がなされる。
ステップ12Bでは、コード再生フラグCHORDがイネーブルかどうかを判定し、イネーブル(YES)の場合はステップ12Cに進み、ディセーブル(NO)の場合はステップ12Dにジャンプする。
ステップ12Cでは、後述する図16のコード&ベースパターン合成処理によって合成されたコードパターンの中からリズムタイムレジスタRT対応のデータを読み出し、それに基づいたMIDIメッセージを電子楽器1Hの音源回路18に出力する。これにより、コードパートの演奏がなされる。
そして、リズムタイムレジスタRTの値を所定値にてインクリメント処理してリターンする。
【0048】
次に、図13のシチュエーション分析処理について説明する。図14はこのシチュエーション分析処理の動作概念を示す図である。
このシチュエーション分析処理は、小節の先頭すなわち第1拍目の拍先頭割り込み信号の入力に応じて開始し、それ以降は6分の1拍毎の割込みタイミングで実行する。図11のステップ11Aの処理によって1小節当たり96分割されたバッファ内に時系列的にノートイベントデータが格納されているので、このシチュエーション分析処理では、そのバッファ内にストアされているノートイベントデータの中の特にノートオンイベントだけを抽出し、それに基づいて現在のシチュエーションを分析している。なお、ノートイベントデータの発生タイミングは1拍を24スロットで表現した場合のスロット位置に対応しているので、ここではバッファ内の位置をスロット番号で表現することにする。
まず、ステップ131では、カーレントシチュエーションウィンドウ(CUR−SIT−WINDOW)内にノートオンイベントが存在するかどうかを判定する。すなわち、1小節当たり96分割されたバッファ内には、図14に示すようにノートオンイベントがスロット番号『2』、『26』、『50』で発生したと仮定する。ここで、カーレントシチュエーションウィンドウとは、図14に示すように半拍分の幅、すなわち、スロット数で12個分の幅を有する分析窓である。従って、このステップ131では、現時点、すなわちこのシチュエーション分析処理を行うスロット番号『0』、『4』、『8』、『12』、『16』、『20』、・・・(以下「判定スロット番号」とする)から過去(図面上で左側)に12スロット分にノートオンイベントが存在するかどうかを判定し、その判定結果に応じてステップ132又はステップ133のいずれに進むかを決定している。
【0049】
ステップ131でノートオンイベント有りと判定された場合には、ステップ132でプレゼントアナライザフラグPRESENT ANALYZERにアクティブすなわち『1』を設定する。逆に、ノートオンイベント無しと判定された場合には、ステップ133でプレゼントアナライザフラグPRESENT ANALYZERにノーアクティブすなわち『0』を設定する。
これらステップ131〜ステップ133の処理の結果が図14のプレゼントアナライザフラグPRESENT ANALYZERのところに示されている。プレゼントアナライザフラグPRESENT ANALYZERにおいて、黒い四角はノートオンイベント有り、すなわちアクティブと判定されたものであり、白抜き四角はノートオンイベント無し、すなわちノーアクティブと判定されたものである。図14から明らかなように、ノートオンイベントがスロット番号『2』、『26』、『50』で発生した場合には、その直後の判定スロット番号『4』、『28』、『52』及びこれ以降の判定スロット番号『8』、『12』、『32』、『36』、『56』、『60』におけるカーレントシチュエーションウィンドウ(CSW4,CSW28,CSW52,CSW8,CSW12,CSW32,CSW36,CSW56,CSW60)内にはノートオンイベントが存在することになるので、これらの各判定スロット番号におけるプレゼントアナライザフラグPRESENT ANALYZERはアクティブとなり、これ以外の判定スロット番号ではノーアクティブとなっている。
【0050】
次に、ステップ134では、アクセスウィンドウサイズ(ACCESS-WINDOW-SIZE)内にノートオンイベントが存在するかどうかを判定する。ここで、アクセスウィンドウサイズとは、図14に「AWS」で示すように1拍分の幅、すなわち、スロット数で24個分の幅を有する分析窓である。しかしながら、このアクセスウィンドウサイズが前述のカーレントシチュエーションウィンドウと異なる点は、現時点(判定スロット番号)よりもアクセスシチュエーションディレイ(ACCESS−SIT−DELAY)分だけ過去に遡って、その前後の24スロット範囲内にノートオンイベントが存在するかどうかを判定している点である。ここで、アクセスシチュエーションディレイの値は、2拍分(48スロット分)である。従って、このステップ134では、現時点(判定スロット番号)から過去に60スロット分遡った位置から過去に36スロット分遡った位置までの間にノートオンイベントが存在するかどうかを判定し、その判定結果に応じてステップ135又はステップ136のいずれに進むかを決定している。
【0051】
ノートオンイベント有りとステップ134で判定された場合には、ステップ135でパーストアナライザフラグPAST ANALYZERにアクティブすなわち『1』を設定する。逆に、ノートオンイベント無しと判定された場合には、ステップ136でパーストアナライザフラグPAST ANALYZERにノーアクティブすなわち『0』を設定する。
これらステップ134〜ステップ136の処理の結果が図14のパーストアナライザフラグPAST ANALYZERのところに示されている。黒い四角及び白抜き四角は前述と同様にアクティブ又はノーアクティブを示す。図14から明らかなように、ノートオンイベントがスロット番号『2』、『26』、『50』で発生した場合には、最初のノートオンイベントの発生したスロット番号『2』の直後の判定スロット番号『4』から36スロット分遅れた判定スロット番号『40』におけるアクセスウィンドウサイズAWS40内にノートオンイベントが存在することになる。そして、これ以降の判定スロット番号『44』、『48』、『52』、・・・におけるパーストアナライザフラグPAST ANALYZERはアクティブとなる。
【0052】
ステップ137では、上記ステップ131〜ステップ136の処理の結果、すなわちプレゼントアナライザフラグPRESENT ANALYZER及びパーストアナライザフラグPAST ANALYZERの値に基づいてシチュエーション(SITUATION)を判定する。シチュエーションとは現在のウインドウ(CSW)と過去のウインドウ(AWS)のそれぞれにおいて演奏があった(ノイズ)か、なかった(ピース)かの状態を示すものである。すなわち、ステップ137では、判定スロット番号におけるプレゼントアナライザフラグPRESENT ANALYZER及びパーストアナライザフラグPAST ANALYZERが共にノーアクティブ『0』の場合をピース・ピースシチュエーション(PEACE-PEACE)とする。図14では判定スロット番号『16』、『20』、『24』でピース・ピースシチュエーションと判定される。従って、スロット番号『12』〜『24』の範囲がピース・ピースシチュエーションとなる。プレゼントアナライザフラグPRESENT ANALYZERがアクティブでパーストアナライザフラグPAST ANALYZERがノーアクティブの場合をノイズ・ピースシチュエーション(NOISE-PEACE)とする。図14では判定スロット番号『4』、『8』、『12』、『28』、『32』、『36』でノイズ・ピースシチュエーションと判定される。従って、スロット番号『0』〜『12』及びスロット番号『28』〜『36』の範囲がノイズ・ピースシチュエーションとなる。なる。プレゼントアナライザフラグPRESENT ANALYZERがノーアクティブでパーストアナライザフラグPAST ANALYZERがアクティブの場合をピース・ノイズシチュエーション(PEACE-NOISE)とする。図14では判定スロット位置『40』、『44』、『48』、『64』〜『0』でピース・ノイズシチュエーションと判定される。従って、スロット番号『40』〜『48』及びスロット番号『60』〜『0』の範囲がノイズ・ピースシチュエーションとなる。プレゼントアナライザフラグPRESENT ANALYZER及びパーストアナライザフラグPAST ANALYZERが共にアクティブ『0』の場合をノイズ・ノイズシチュエーションとする。図14では判定スロット位置『52』、『56』、『60』の場合がノイズ・ノイズシチュエーション(NOISE-NOISE)と判定される。従って、スロット番号『48』〜『60』の範囲がノイズ・ノイズシチュエーションとなる。
【0053】
ステップ138では、ステップ137の判定結果、すなわち現在のシチュエーションとレスポンスステートとに基づいてテクスチャーレジスタ、ゲシュタルトレジスタ及びスタティックトランスレジスタに所定値を格納する。
レスポンスステートには、鍵盤1Bの中のノートナンバ96(C6)〜105(A6)に対応する鍵が押圧された時点で『0』〜『9』の値が予め設定されているので、それに基づいて所定のレスポンスステートが特定される。
図15は、レスポンスステートの一例を示す図である。図15において、レスポンスステートは、ベース、コード及びドラムの各演奏パート毎にテクスチャーレジスタ(T)、ゲシュタルトレジスタ(G)及びスタティックトランスレジスタ(S)に格納される値をそれぞれ格納したテーブルであり、それを前述の4つのシチュエーション分有するものである。なお、図中の『*』は、ベース、コード、ドラムが左側のパラメータに対応していないことを示す。
【0054】
テクスチャーレジスタには、コード及びベースパターンを合成する際に使用されるパラメータ群、すなわちプリセットテクスチャー、ミミックテクスチャー、サイレントテクスチャーのどれを使用するのかを示す値『0』、『1』、『2』のいずれかが設定される。テクスチャーレジスタの値が『0』の場合にはプリセットテクスチャーが、『1』の場合にはミミックテクスチャーが、『2』の場合にはサイレントテクスチャーがそれぞれ選択されることになる。ここで、プリセットテクスチャーは所定のベースパターン、コードパターンを得るために予め用意されたパラメータ群を表す。また、ミミックテクスチャーは、演奏者によるリアルタイム演奏を分析し、その分析結果に基づいて得られたパラメータ群を示す。また、サイレントテクスチャーは、ベースパターン、コードパターンを発生させないために予め用意されたパラメータ群を表す。ミミックテクスチャーは演奏者のリアルタイム演奏の内容に近いベースパターン、コードパターンを得るためのテクスチャーである。なお、リズムパターンに関しては前述のようにテクスチャーの値に応じてリズムパターンの書き換え処理を行うかどうかの選択をするだけである。
ゲシュタルトレジスタには、リアルタイム演奏の分析結果に対して乗じられるゲイン値として、『−10』〜『10』の値が設定される。
スタティックトランスレジスタには、各パラメータのオフセット値として、『0』〜『127』の値が設定される。
このシチュエーション分析処理によって得られたテクスチャーレジスタ、ゲシュタルトレジスタ、スタティックトランスレジスタの値に基づいて、コード&ベースパターン合成処理の内容が種々変化する。
【0055】
次に、図16のコード&ベースパターン合成処理について説明する。このコード&ベースパターン合成処理は、図12のパターン再生処理のステップ124によって出力される拍先頭割り込み信号の入力に同期して実行される。
まず、ステップ161では、MIDIインターフェイス1F及び2Cを介して入力する鍵盤1BからのMIDIメッセージ(演奏入力情報)を分析してミミックテクスチャーを作成する。このミミックテクスチャー作成処理では、図18(A)の対応表に示した黒塗り円の部分のパラメータを作成する。以下、このミミックテクスチャー作成処理について説明する。
このミミックテクスチャー作成処理では、図11のステップ11Aでバッファにストアされているノートイベントデータ(キーコード、ベロシティ、デュレーション)に基づいて分析を行う。そして、抽出された各ノートオンイベントの発生時刻(ノートオン時刻)を16分音符に対応した基準スロット位置(スロット番号『0』、『6』、『12』、『18』)にクオンタイズする。すなわち、基準スロット位置から前に2スロット以内、後に3スロット以内のノートオンイベントはその基準スロット位置で発生したものと見なす。例えば、図14に示すようにノートオンイベントのタイミングが『2』の場合には、そのノートオンイベンは基準スロット番号『0』に発生したものと見なされる。従って、仮にノートイベントデータが16分音符の3連符に対応したものや8分音符の3連符に対応したものの場合には、分析後のデータは偶数系音符に強制的にクオンタイズされる。すなわち、ノートイベントデータが3連符のノートオン情報の場合にはそれを識別することはできない。なお、識別可能にしてもよいことはいうまでもない。
【0056】
このようにして基準スロット位置にクオンタイズされたデータを16分音符抽出データ(Get_Sixteenths)と呼ぶ。そして、図17に示すように、各基準スロット位置(スロット番号『0』、『6』、『12』、『18』)におけるノートオンの有無を『0』と『1』のパターンで示すことによって、ノートオンパターンを作成する。ノートオン有りの場合には『1』、ノートオン無しの場合には『0』とする。ノートオンパターンは、(0000)〜(1111)の16パターンになる。ノートオンパターンの左端がスロット番号『0』に、左から2番目がスロット番号『6』に、左から3番目がスロット番号『12』に、右端がスロット番号『18』にそれぞれ対応している。従って、図14のような発生タイミングの場合にはいずれの拍においてもノートオンパターンは(1000)となる。
このようにしてノートオンパターンが検出されたら、今度はそれに基づいて各基準スロット位置におけるアクティビティパラメータ及びシンコペーションパラメータの値を分析する。
【0057】
アクティビティパラメータの値は図17に示すようにノートオンパターンに1対1に対応したものであり、『0』、『1』、『60』、『120』の固定値の組合せからなるアクティビティパターンが割り当てられる。なお、図示したアクティビティパターン以外のものを採用してもよいことは言うまでも無い。例えば、図14のようにノートオンパターンが(1000)の場合には、基準スロット位置におけるアクティビティパターンは(1111)となる。また、ノートオンパターンが(0011)の場合には、基準スロット位置におけるアクティビティパターンは(60 120 60 120)となる。このアクティビティパターンは、スロット番号『0』、『6』、『12』、『18』のみのアクティビティパラメータの値を示すものである。従って、これ以外のスロット番号『1』〜『5』、『7』〜『11』、『13』〜『17』、『19』〜『23』のアクティビティパラメータの値は『0』である。
このようにして得られた値はリズムミミックテクスチャー、ベースミミックテクスチャー及びコードミミックテクスチャーのアクティビティパラメータとなる。
【0058】
シンコペーションパラメータの値も図17に示すようにノートオンパターンに1対1に対応したものであり、『0』、『40』、『80』の固定値と演算式によって得られた値との組合せから構成される。すなわち、ノートオン有無パターンが(0000)、(1000)、(0100)、(0010)、(0110)及び(0101)の場合には、基準スロット位置におけるシンコペーションパラメータの値は『0』、『40』、『80』だけの組合せからなり、(1100)、(0001)、(1001)、(1101)、(0011)及び(0111)の場合には『0』、『40』、『80』の値と演算式によって得られた値との組合せからなり、(1010)、(1110)、(1011)及び(1111)の場合には演算式によって得られた値だけの組合せからなる。例えば、図14の場合にはノートオンパターンが(1000)となり、基準スロット位置におけるシンコペーションパラメータの値は(0000)のように『0』だけとなる。
また、ノートオンパターンが(1100)の場合には、次の演算式
Vel〔6〕−Vel〔0〕
によって求められた値がスロット番号0及びスロット番号12のシンコペーションパラメータの値となり、スロット番号6及びスロット番号18のシンコペーションパラメータの値は『0』となる。なお、演算式の中のVel〔0〕は、基準スロット位置『0』にクオンタイズされたノートオン情報の中で最もノートオンの早いもののベロシティの値である。Vel〔6〕、Vel〔12〕及びVel〔18〕の場合も同じである。
このようにして得られた値がリズムミミックテクスチャー、ベースミミックテクスチャー及びコードミミックテクスチャーのシンコペーションパラメータとなる。
【0059】
各基準スロット位置にクオンタイズされたノートオン情報の中で最もノートオン時刻の早いもののベロシティの値がその基準スロット位置のボリュームパラメータとなり、この値がそのままリズムミミックテクスチャー、ベースミミックテクスチャー及びコードミミックテクスチャーのボリュームパラメータとなる。
コードミミックテクスチャーのデュレーションパラメータ及びベースミミックテクスチャーのスケールデューパラメータは次のようにして決定される。まず、各基準スロット位置にクオンタイズされたノートオン情報の中で最もノートオン時刻の早いものの音長値(dur−val)と、分析済みのアクティビティパラメータの値とに応じて各基準スロット位置の値を決定する。すなわち、アクティビティパラメータは前述のように『0』、『1』、『60』及び『120』の値の組合せであるから、アクティビティパラメータが『0』の場合にはその基準スロット位置のデュレーションパラメータ及びスケールデューパラメータの値は『0』となる。アクティビティパラメータが『1』の場合には音長値(dur−val)を480で除算し、それに127を乗じたものをデュレーションパラメータ及びスケールデューパラメータの値とする。アクティビティパラメータが『60』の場合には音長値を240で除算し、それに127を乗じたものをデュレーションパラメータ及びスケールデューパラメータの値とする。アクティビティパラメータが『120』の場合には音長値を120で除算し、それに127を乗じたものをデュレーションパラメータ及びスケールデューパラメータの値とする。すなわち、ここでは実際のデュレーション(音長)値(dur−val)をアクティビティパラメータに応じて正規化したことに相当する。
このシンコペーションパラメータも、前述のアクティビティパターンと同様、スロット番号「0」、「6」、「12」、「18」におけるシンコペーションパラメータ値を示すものである。なお、シンコペーションパラメータの値を図17のように設定するものに限らない。
このようにして得られた値がコードミミックテクスチャーのデュレーションパラメータ及びベースミミックテクスチャーのスケールデューパラメータとなる。
【0060】
ベースミミックテクスチャーのコードトーンパラメータ、ダルトーンパラメータ及びライプトーンパラメータは次のようにして決定される。各基準スロット位置にクオンタイズされたノートオン情報の中で最もノートオン時刻の早いものの音高が、図6のようなトーンリスト(予め選択設定されたもの)の中のどれに該当するか応じて、それぞれの値を選択する。例えば、音高がトーンリストの中のコードトーンに該当する場合にはコードトーンパラメータの値を『120』とし、ダルトーンパラメータ及びライプトーンパラメータの値を『0』とする。また、音高がトーンリストの中のダルトーンに該当する場合には、コードトーンパラメータの値を『64』とし、ダルトーンパラメータの値を『120』とし、ライプトーンパラメータの値を『0』とする。また、音高がトーンリストの中のライプトーンに該当する場合には、コードトーンパラメータの値を『64』とし、ダルトーンパラメータの値を『0』とし、ライプトーンパラメータの値を『120』とする。なお、この判定において前述のコードルートキーやコードタイプキーにより指定されたコードルート、コードタイプを考慮して判定している。
このようにして得られた値がベースミミックテクスチャーのコードトーンパラメータ、ダルトーンパラメータ及びライプトーンパラメータとなる。
【0061】
ベースミミックテクスチャーのディレクションパラメータ及びリーパパラメータは次のようにして決定される。各基準スロット位置にクオンタイズされたノートオン情報の中で最もノートオン時刻の早いものの音高が、直前の基準スロット番号の音高に対して上昇しているのか、それとも下降しているのか、またどの程度の音高差なのかに基づいてディレクションパラメータ及びリーパパラメータを決定する。例えば、直前の基準スロット位置の音高に対して音高差が無い(同じ音高の)場合には、ディレクションパラメータの値を『0』、リーパパラメータの値を『25』とする。また、直前の基準スロット位置の音高に対して音高差が存在する場合には、ディレクションパラメータの値を『127』とし、リーパパラメータの値をその音高差の絶対値から『1』を減算し、その減算値に『7』を乗じ、その乗算値に『40』を加算したものとする。
このようにして得られた値がベースミミックテクスチャーのディレクションパラメータ及びリーパパラメータとなる。
各基準スロット位置にクオンタイズされたノートオンの数に『13』を乗じた値が基準スロット位置のナムノーツパラメータとなり、この値がそのままコードミミックテクスチャーのナムノーツパラメータとなる。
各基準スロット位置にクオンタイズされた全ノートオンのピッチの平均値が各基準スロット位置のレジスタパラメータとなり、この値がそのままコードミミックテクスチャーのレジスタパラメータとなる。なお、基準スロット位置にノートオンが存在しない場合には、『64』をパラメータ値とする。
各基準スロット位置にクオンタイズされた全ノートオンのピッチの最大値から最小値を減算し、その減算値に6を乗じたものが各基準スロット位置のレンジパラメータとなり、この値がそのままコードミミックテクスチャーのレンジパラメータとなる。
【0062】
次に、ステップ162では、ステップ161の処理によって作成されたミミックテクスチャー内の各パラメータに基づいてベース用オフセットテクスチャー及びコード用オフセットテクスチャーの各パラメータを作成する。以下、このオフセットテクスチャー作成処理について説明する。
まず、ここでは、ステップ161の処理によって作成されたミミックテクスチャー内のアクティビティパラメータ、シンコペーションパラメータ、ボリュームパラメータ、デュレーションパラメータ、ディレクションパラメータ、ナムノーツパラメータ、レジスタパラメータ、レンジパラメータについては、各基準スロット位置における値の1拍分の総和をノートオンイベントの発生したスロット数で除算したものをそれぞれのパラメータの1拍長当たりの平均値とする。ミミックテクスチャー内のダルトーンパラメータについては、各基準スロット位置における値の1拍分の総和をノートオンイベントの発生したスロット数で除算したものをカラーaパラメータの1拍長の平均値とする。ミミックテクスチャー内のライプトーンパラメータについては、各基準スロット位置における値の1拍分の総和をノートオンイベントの発生したスロット数で除算したものをカラーbパラメータの1拍当たりの平均値とする。
図18(A)には、このようにして算出された各パラメータの平均値AVがどのミミックテクスチャー内のパラメータに基づいて作成されるのかが示してある。なお、ベースミミックテクスチャー、コードミミックテクスチャー及びリズムミミックテクスチャーにおいて、アクティビティパラメータ、シンコペーションパラメータ及びボリュームパラメータは共通の値なので、どのパラメータを用いてもよい。
【0063】
このようにして算出された各パラメータの平均値AVに基づいて、ベース用オフセットテクスチャー及びコード用アフセットテクスチャーの各パラメータが作成される。図18(B)には、各パラメータの平均値AVに基づいてどのようにしてオフセットテクスチャーのパラメータが作成されるのかが示してある。
まず、ベース用オフセットテクスチャーのアクティビティパラメータ、シンコペーションパラメータ、ボリュームパラメータ、レジスタパラメータについては、それぞれのパラメータに対応する各パラメータの1拍長当たりの平均値から『64』を減算し、その減算値を2分の1したものを採用する。ベース用オフセットテクスチャーのスケールデューパラメータについては、デュレーションパラメータの1拍長当たりの平均値から『64』を減算し、その減算値を『−2』で除したものを採用する。ベース用オフセットテクスチャーのダルトーンパラメータについては、カラーaパラメータの1拍長当たりの平均値から『64』を減算し、その減算値を2で除したものを採用する。ベース用オフセットテクスチャーのライプトーンパラメータについては、カラーbパラメータの1拍長の平均値から『64』を減算し、その減算値を2で除したものを採用する。ベース用オフセットテクスチャーのディレクションパラメータについては、ディレクションパラメータの1拍長当たりの平均値から『64』を減算し、その減算値を2倍したものを採用する。
【0064】
コード用オフセットテクスチャーのアクティビティパラメータ、シンコペーションパラメータ、ボリュームパラメータ、カラーaパラメータ、カラーbパラメータ、レジスタパラメータ、レンジパラメータについては、それぞれのパラメータに対応する各パラメータの1拍長当たりの平均値から『64』を減算し、その減算値を2で除したものを採用する。コード用オフセットテクスチャーのデュレーションパラメータについては、デュレーションパラメータの1拍長当たりの平均値から『64』を減算し、その減算値を『−2』で除したしたものを採用する。コード用オフセットテクスチャーのデンシティについては、ナムノーツの1拍長当たりの平均値から『64』を減算し、その減算値をで2で除したものを採用する。
以上の処理によって、ベース用オフセットテクスチャー及びコード用オフセットテクスチャーが作成される。
【0065】
ステップ163では、スロット番号レジスタSLOTを『0』にリセットする。そして、ステップ164及びステップ165でシチュエーションとレスポンスステートによって決定された各パラメータ毎の現時点のテクスチャーレジスタの格納値が何であるかを判定し、テクスチャーレジスタの値が『0』と判定された場合にはステップ166に進み、『1』と判定されたパラメータについてはステップ167に進み、『2』と判定されたパラメータについてはステップ168に進む。
ステップ166では、プリセットテクスチャーの時系列データ、すなわち図4に示すような時系列的なパラメータ値を前記ステップ162によって作成されたオフセットテクスチャーの各パラメータ、ゲシュタルト値とホイール値WH2の乗算値、スタティックトランス値、ホイール値WH1(以下、これらをまとめて「オフセットテクスチャーの各パラメータ等」と呼ぶ)に基づいて、それぞれ変調(所定値を加算)する。
ステップ167では、前記ステップ161によって作成されたミミックテクスチャーの時系列データを同様にオフセットテクスチャーの各パラメータに基づいて、それぞれ変調する。
ステップ168では、サイレントテクスチャーの時系列データを同様にオフセットテクスチャーの各パラメータに基づいて、それぞれ変調する。
ステップ161からステップ168までの処理の詳細について、図19の機能ブロック図を用いて説明する。なお、ベースパターン合成とコードパターン合成の両処理の内容はほぼ同じなので、図19ではベースパターン合成処理について示し、コードパターン合成処理については省略してある。
【0066】
図19において、アナライザ181は、ステップ161の処理を実行するものであり、MIDIインターフェイス1F及び2Cを介して入力する鍵盤1BからのMIDIメッセージ(演奏入力情報)を分析してベースミミックテクスチャーを作成し、それをMT記憶領域182に記憶する。このときMIDIメッセージを分析して得られた各パラメータの現在のSLOTでの分析値を、1小節分の時系列データ領域であるベースミミックテクスチャーの前記SLOTに対応するアドレスに設定し、それをMT記憶領域182に記憶する。SLOT=95の次の時刻のSLOTは0となり、分析値は、MT記憶領域内を循環するように設定される。
テクスチャーデータベース183はハードディスク装置24に対応しており、3つのクラスタ#1〜#3毎に設けられた3つのベーステクスチャー(ベース#1〜#3)からなる全部で9種類のベーステクスチャーを格納しているテクスチャーデータベースである。従って、このテクスチャーデータベースの中から、キーコードC2、D2又はE2の鍵及びキーコードG2、A2又はB2の鍵の押鍵に応じて選択指定されたベーステクスチャーに基づいて1小節分の時系列データが作成され、それがプリセットテクスチャーとしてPST記憶領域184に記憶される。すなわち、ベーステクスチャーは図4(A)のようなものなので、それが図4(B)のような時系列データに変換されてPST記憶領域184に記憶される。
ST記憶領域185には、サイレントテクスチャーが記憶されている。このサイレントテクスチャーは、ベース演奏又はコード演奏を静かにするような所定のパラメータで構成されている。
【0067】
現在のSLOTからアクセスシチュエーションディレイ分過去の、即ち((SLOT)−(アクセスシチュエーションディレイ))を96で除した余り値をアドレスとしたときのMT記憶領域182からの読み出し値が、セレクタ186およびアベレージャー188に対して供給される。また、現在のSLOTをアドレスとしたときのST記憶領域183からの読み出し値、及び現在のSLOTをアドレスとしたときのPST記憶領域184からの読み出し値が、セレクタ186に対して供給される。セレクタ186は、供給された3種類の読み出し値の中からいずれかの1つをパラメータ毎に現在のテクスチャーレジスタの格納値に応じて選択し、次段のセレクタ187に出力するものであり、前述のステップ164及びステップ165の処理に対応した動作を行う。MT記憶領域182からの読み出しアドレスだけをこのように遅らせることで、次のような動作になる。即ち、セレクタ186がPST記憶領域184若しくはST記憶領域185を選択したときには、アクセスシチュエーションディレイ分過去の演奏情報に基づくオフセット値が加算器18Hにおいて加算される(詳しくは後述)ので、選択された記憶領域からの読み出し値によるパターン再生(PST記憶領域184若しくはST記憶領域185からの読み出し値は一定値であって、そのままでは伴奏パターンは変化しない)に対して、アクセスシチュエーションディレイ分過去の演奏情報で変化を与えることができる。また、セレクタ186がMT記憶領域182を選択したときには、アクセスシチュエーションディレイ分過去の演奏情報に基づいたデータでパターンが再生され、この結果、実演奏をミミックした(=まねた)伴奏パターン(実演奏の特徴が反映されている伴奏パターン)がアクセスシチュエーションディレイ分だけ遅れて再生される。
【0068】
セレクタ187は、セレクタ186によって選択されたテクスチャーを第1端子に、PST記憶領域184に記憶されているプリセットテクスチャーを第2端子に入力し、リアルタイムアナライザフラグRETAの状態がオン状態のときにはセレクタ187によって選択されたテクスチャーを、オフ状態の場合にはプリセットテクスチャーを加算器18Hに出力する。このリアルタイムアナライザフラグRETAは、ペダルオンの場合にオンに設定され、ペダルオフの場合にオフに設定されるものである。また、ペダルオフの状態においてキーコードG5の鍵が押された時も同様にオンに設定される。
アベレージャー188は、前述のステップ162の処理に対応した動作を行うものである。すなわち、アベレージャー188は、MT記憶領域182からのミミックテクスチャー内のアクティビティパラメータ、シンコペーションパラメータ、ボリュームパラメータ、デュレーションパラメータ、ダルトーンパラメータ、ライプトーンパラメータ、ディレクションパラメータ、レジスタパラメータについて、各基準スロット位置における値の1拍分の総和をノートオンイベントの発生したスロット数で除算して平均値を算出し、その平均値に基づいて図18(B)のようにしてベース用オフセットテクスチャーを作成し、それをオフセット記憶領域189に格納する。
【0069】
オフセット変換器18Aは、鍵盤1B上の所定の鍵(図3において、機能が割り当てられていない鍵のうちのいずれか)の押鍵力の値をオフセットテクスチャーの各パラメータに対応した値(オフセット値)に変換し、セレクタ18Bに出力するものである。これにより、リアルタイムアナライザがオフの場合に、プリセットテクスチャーに基づいて発生されるベースパターンを多少変形させることができる。
セレクタ18Bは、オフセット記憶領域189に格納されているオフセットテクスチャーを第1端子に、オフセット変換器18Aからのオフセット値を第2端子に入力し、リアルタイムアナライザフラグRETAの状態がオン状態のときにはオフセット記憶領域189のオフセットテクスチャーの各パラメータを、オフ状態の場合にはオフセット変換器18Aからのオフセット値を乗算器18Gに出力する。
ゲシュタルト記憶領域18Cは、図13のステップ138の処理によって得られたゲシュタルトの値を格納するゲシュタルトレジスタであり、『−10』〜『10』のゲイン値を乗算器18Eに出力する。シチュエーションに応じてゲシュタルトの値が変化するため、シチュエーションの変化に対応してベースパターンも変化する。
【0070】
ホイール変換器18Dは、モジュレーションホイールからの操作信号WH2を所定の値に変換して乗算器18Eに出力する。乗算器18Eはゲシュタルト記憶領域18Cからのゲイン値とホイール変換器18Dからの変換値とを乗算し、それをセレクタ18Fの第1端子に出力する。なお、ホイール変換器18Dは、レジスタパラメータ、リーパパラメータ、ナムノーツパラメータ、デンシティパラメータ、レンジパラメータ、サブレンジパラメータに関しては変換を行わずに、係数『1』を乗算器18Eに出力するので、これらのパラメータに関してはゲシュタル記憶領域18Cの値がそのままセレクタ18Fに出力することになる。ホイールを操作することにより、ゲシュタルト値が変化し、その結果、セレクタ18Bからの出力値が変化することになり、ベースパターンも変化する。
セレクタ18Fは、乗算器18Eからの乗算値を第1端子に、係数『1』を第2端子に入力し、リアルタイムアナライザフラグRETAがオン状態のときには乗算器18Eからの乗算値を、オフ状態の場合には係数『1』を乗算器18Gに出力する。
乗算器18Gは、セレクタ18B及びセレクタ18Gからの出力値を乗算し、それを加算器18Hに出力する。
加算器18Hは、セレクタ187からのテクスチャーパラメータの値に、乗算器18Gからの乗算値を加算して、次段の加算器18Lに出力する。
【0071】
スタティックトランス記憶領域18Jは、図13のステップ138によって得られたスタティックトランスの値を格納するスタティックトランスレジスタであり、『0』〜『127』の値をセレクタ18Kに出力する。シチュエーションに応じてスタティックトランスの値が変化するため、シチュエーションの変化に対応してベースパターンも変化する。
セレクタ18Kは、スタティックトランス記憶領域18Jの値を第1端子に、係数『0』を第2端子に入力し、リアルタイムアナライザフラグRETAがオン状態のときにはスタティックトランスの値を、オフ状態の場合には係数『0』を加算器18Lに出力する。加算器18Lは、セレクタ18Kによって選択された値と、加算器18Hからの値(パラメータ値)とを加算し、それを次段の加算器18Pに出力する。
【0072】
ホイール変換器18Mは、ピッチベンドホイールからの操作信号WH1を所定の値に変換し、それを所定値で除算する。例えば、アクティビティパラメータ及びボリュームパラメータについては、係数『2』で除算する。カラーaパラメータ及びレンジパラメータについては係数『3』で除算する。シンコペーションパラメータ及びライプトーンパラメータについては係数『1』と、係数『1〜4』の中からランダムに選択された値との合計値で除算する。ダルトーンパラメータについては係数『1』と、係数『1〜8』の中からランダムに選択された値との合計値で除算する。これ以外のパラメータについては、定数『0』を出力する。ホイール操作すると、その操作値に応じた値がセレクタ187の出力に加算されるため、ベースパターンが変化する。
セレクタ18Nは、ホイール変換器18Mからの変換値を第1端子に、係数『0』を第2端子に入力し、リアルタイムアナライザフラグ RETAがオン状態のときにはホイール変換器18Mからの変換値を、オフ状態の場合には係数『0』を加算器18Pに出力する。加算器18Pは、セレクタ18Nによって選択された値と、加算器18Lからの値(パラメータ値)を加算し、それをベースジェネレータ37に出力する。
ベースジェネレータ37は、ステップ169及びステップ16Aの処理を実行してベースパターンを合成し、合成されたベースパターンに基づいて図12のパターン再生処理のステップ12Aの処理を実行し、MIDIメッセージを音源回路18に出力する。図示していないが、コードジェネレータ36も同様にステップ16B及びステップ16Cの処理を実行してコードパターンを合成し、合成されたコードパターンに基づいて図12のステップ12Cの処理を実行し、対応するMIDIメッセージを音源回路18に出力する。
【0073】
ステップ169では、加算器18Pからのアクティビティパラメータ及びシンコペーションパラメータの値に応じて現在のスロットにおけるベースのイベント発生が妥当かどうかを判定し、イベント発生が妥当である(YES)と判定された場合には次のステップ16Aに進み、ベースパターンの合成処理を行い、妥当でない(NO)と判定された場合にはステップ16Bに進み、今度はコードジェネレータ36に関する処理を行う。
ステップ16Aでは、前記ステップ169でベースパターンのイベント発生が妥当であると判定されたので、加算器18Pからの各パラメータ(ディレクションパラメータ、リーパパラメータ、コードトーンパラメータ、ダルトーンパラメータ、ライプトーンパラメータ、スケールデューパラメータ)に基づいて発音される音を1つ決定する。すなわち、今回の処理の前に決定された音(ラストベースノート)を基準として、ディレクションパラメータに基づいて音高の方向を決定する。次にリーパパラメータに基づいて最小音高差幅(リープサイズ)を決定する。そして、コードトーンパラメータ、ダルトーンパラメータ、ライプトーンパラメータ及びトーンリストに基づいて発音される1つの音を決定する。そして、スケールデューパラメータに基づいて発音される音の時間長を、シンコペーションパラメータとボリュームパラメータに基づいてベロシティをそれぞれ決定する。
【0074】
ステップ16Bでは、ステップ169と同様に、変調されたアクティビティパラメータ及びシンコペーションパラメータの値に応じて現在のスロットにおけるコードのイベント発生が妥当かどうかを判定し、イベント発生が妥当である(YES)と判定された場合には次のステップ16Cに進み、コードパターンの合成処理を行い、妥当でない(NO)と判定された場合にはステップ16Dに進み、スロット番号レジスタSLOTの値を『1』だけインクリメントする。
ステップ16Cでは、前記ステップ16Bでコードパターンのイベント発生が妥当であると判定されたので、各パラメータ(デュレーションパラメータ、ナムノーツパラメータ、レジスタパラメータ、レンジパラメータ、サブレンジパラメータ、デンシティパラメータ、カラーaパラメータ、カラーbパラメータ)に基づいて発音される和音構成音を決定する。
まず、デュレーションパラメータに基づいて発音されるコードの音長時間を決定する。ナムノーツパラメータに基づいて同時に発音する音数を決定する。レジスタパラメータとレンジパラメータから発音対象となり得る音高域を決定する。そして、デンシティパラメータに基づいて同じスロット中で複数音発音される場合の音高差(interval)を決定する。
【0075】
決定された音高差と、カラーaパラメータ、カラーbパラメータ及び図8のような出現確率算出テーブルに基づいて和音構成音の候補音を抽出する。どのようにして和音構成音の候補音が抽出されるのか、その一例を図面を用いて説明する。
図20は、レジスタパラメータとレンジパラメータの値によって決定される音高域の各ノートナンバを図8(A)の出現確率算出テーブルの各音高に対応付けて示したマッピング図である。この図において、レジスタパラメータ(REGISTER)はキーコードC3(ノートナンバ『60』)、レンジパラメータ(RANGE)は『60』、デンシティパラメータ(DENSITY)は『64』、カラーaパラメータ()は『127』、カラーbパラメータは『0』とする。そして、第1レベル係数REQUIREDと第2レベル係数OPTIONAL 1の値は同じとし、第3レベル係数OPTIONAL 2の値を『0』とする。従って、第1レベル係数REQUIREDと第2レベル係数OPTIONAL 1については、黒塗り円で示し、第3レベル係数OPTIONAL 2については、白塗り円で示す。
この場合の最低音高はキーコードF#0(ノートナンバ『30』)、最高音高はキーコードF#5(ノートナンバ『90』)となる。以下、キーコードの後のカッコ内にノートナンバを付記して示すこととする。従って、図11には、出現確率算出テーブルの各音高に対応したキーコードF#0(30)〜キーコードF#5(90)がマッピングされる。
【0076】
そして、このマッピング図に基づいて1スロット内(同タイミング)で発音される和音構成音の候補音が次のような手順で順次選択される。ここでは和音としてCメジャー(Cmaj)が指定されているとして話をすすめるが、他の和音が指定されている場合はコードタイプに応じた出現確率テーブルを用いると共に、コードルートに応じてノートナンバをシフトさせればよい。
まず、第1の手順として、音高域の中で最も低いルート音すなわち図ではキーコードC1(36)を最低音として選択する。そして、デンシティによって決まる音高差(interval)を前記最低音に加算し、第2の基準音高を決定する。デンシティ『64』の場合の音高差は図7に示すように『4』なので、キーコードC1(36)に音高差『4』の加算されたキーコードE1(40)が次の基準音高となる。この基準音高から高音側に7音高分の範囲の8つの音高の出現確率をそれぞれ算出し、その確率に応じて1個の音高を選択する。すなわち、キーコードE1(40)〜B1(47)の中で、キーコードF#1(42)、キーコードG#1(44)、キーコードB#1(47)の出現確率は『0』となり、他の音高の出現確率は『1』となる。出現確率『0』以外の音高が選択対象音高となり、その出現確率に応じて選択される。なお、ここでは、選択対象音高の出現確率が全て『1』なので、選択対象音高の中からランダムに候補音が選択される。従って、ここでは、キーコードE1(40)が候補音として選択されたとする。そしたら、上述の手順を繰り返し実行する。すなわち、キーコードE1(40)に音高差『4』が加算され、そのキーコードG#1(44)から高音側に7音高分の範囲内の選択対象音高群であるキーコードA1(45)、キーコードA#1(46)、キーコードC2(48)、キーコードD2(50)の中から候補音が選択される。ここでは、キーコードA1(45)が選択されたとする。以後、前記選択対象音高が最高音高のキーコードF#5(90)を越えるまで、上述の手順が繰り返し実行され、キーコードF2(53)、キーコードA2(57)、キーコードE3(64)、キーコードC4(72)、キーコードG4(79)、キーコードA4(81)、キーコードE5(88)が選択されたとする。なお、図20において、選択されたノートナンバについては、その周囲を長方形で囲って示してある。
【0077】
次に、第2の手順として、前記第1の手順によって選択された候補音群の中に適当に第1のレベルの音高(REQUIRED NOTE)が含まれるように選択された候補音群の一部を修正する。例えば、第1の手順を経て選択された候補音群の中で第1のレベルの音高に該当するものはキーコードC1(36)、キーコードC4(72)、キーコードE1(40)、キーコードE3(64)、キーコードE5(88)、キーコードG4(79)であったとする。この場合には、第1のレベルの音高に該当する音高要素C,E,Gに対応する候補音がそれぞれ存在するので修正の必要はない。
ところが、第1のレベルの音高に該当する音高要素が候補音群に存在しない場合がある。このような場合には、まず、候補音群に存在しない第1のレベルの音高に該当する音高要素から高音側に6音高の範囲内に複数個の候補音を有する音高要素が存在するかどうかを判定し、存在する場合にはその中のいずれか1つを削除し、削除されたオクターブレベルと同レベルの音高を候補音群の中に加える。ここで、オクターブレベルが同じレベルの音高とは、キーコードの音高要素(C,D,E,F,G,A,B)の後に付記される数字が同じもののことを意味する。
【0078】
例えば、第1の手順を経て選択された候補音群として、前述のキーコードC1(36)、キーコードC4(72)の代えてキーコードD3(62)、キーコードD5(86)が選択されたとする。この場合、第1のレベルの音高に該当する音高要素C,E,Gの中で候補音群に存在しないのは音高要素Cとなる。この音高要素Cから高音側に6音高の範囲内の音高要素(第1のレベル音高に該当するものを除く)であって、複数個の候補音を有するものとして、音高要素Dが存在する。従って、この音高要素Dに中のいずれか1つ、例えばキーコードD3(62)を削除し、削除されたオクターブレベルと同じレベルの音高キーコードC3(60)を候補音群の中に加えるか、または、キーコードD5(86)を削除し、削除されたオクターブレベルと同じレベルの音高キーコードC5(84)を候補音群の中に加える。
ここでは、候補音群に存在しない第1のレベルの音高に該当する音高要素から高音側に6音高の範囲内の音高要素(第1のレベル音高に該当するものを除く)であって、複数個の候補音を有する音高要素を対象としたが、これに限らず、候補音群に存在しない第1のレベル音高に該当する音高要素から高音側に6音高分の範囲内の音高要素(第1のレベル音高に該当するものを除く)に対応する1又は複数個の候補音を対象としてもよいし、候補音群に存在しない第1のレベル音高に該当する音高要素から高音側に6音高分の範囲内に存在する全ての候補音(第1のレベル音高に該当するものが1つの場合はそれ以外の候補音)を対象としてもよい。また、高音側に6音高分の範囲内としたが、低音側でもよいし、6音高以外でもよい。また、候補音群に存在しない第1のレベル音高に該当する音高要素から高音側に6音高分の範囲内に削除対象となる候補音が1つも存在しない場合には、その候補音群に存在しない第1のレベル音高に該当する音高要素からランダムに音高を選択してもよい。
【0079】
上述のようにして選択された複数の候補音の中からサブレンジパラメータに基づいて最終的に和音構成音を決定する。例えば、複数の候補音が図20のように長方形で囲まれたものである場合、すなわちキーコードC1(36)、キーコードE1(40)、キーコードA1(45)、キーコードF2(53)、キーコードA2(57)、キーコードE3(64)、キーコードC4(72)、キーコードG4(79)、キーコードA4(81)、キーコードE5(88)である場合に、これらの音高群を図21のようにその音高の低い順に並べる。
そして、ナムノーツパラメータから決定される発音数とサブレンジパラメータに基づいて和音構成音を決定する。例えば、図21に示すように、サブレンジパラメータがレジスタパラメータと同じ『60』で、発音数が『8』の場合には、複数の候補音の中からサブレンジパラメータ『60』に近い8つの音高、すなわちノートナンバ『40、45、53、57、64、72、79、81』が選択され、発音数が『4』の場合にはノートナンバ『53、57、64、72』が選択され、発音数が『2』の場合にはノートナンバ『57、64』が選択される。また、サブレンジパラメータが『45』で発音数が『4』の場合には、複数の候補音の中からサブレンジパラメータ『45』に近い4つの音高、すなわノートナンバ『36、40、45、53』が選択され、発音数が『2』の場合にはノートナンバ『40、45』が選択される。また、サブレンジパラメータが『75』で発音数が『4』の場合にはノートナンバ『64、72、79、81』が選択され、発音数が『2』の場合にはノートンナバ『72、79』が選択される。なお、候補音の中でサブレンジの上下で同じ音高差のものが存在する場合には、レジスタパラメータの音高に近い方を選択したり、絶対音高の低い方を選択したり、高い方を選択したり、又はランダムに選択してもよい。なお、サブレンジパラメータが与えられていない場合には、レジスタパラメータの値に基づいて和音構成音を選択する。
このようにして決定された和音構成音に関するコードパターンデータがコードジェネレータ36に出力される。
【0080】
そして、ステップ16Dでは、スロット番号レジスタSLOTを『1』だけインクリメントし、その値が『24』になったかどうかをステップ16Eで判定し、YESと判定された場合は1拍分の処理が終了したのでリターンし、次の拍に対する処理を行い、NOと判定された場合はステップ163にリターンし、次のスロットに対して同様の処理を行う。
このようにして、合成されたベースパターン及びコードパターンに基づいて、図12のパターン再生処理が行われる。
【0081】
なお、本実施の形態においてはパーソナルコンピュータ20側から電子楽器1Hに対してノートイベントを出力することによりベースパターンやコードパターンの演奏を行うようにしたので、電子楽器1H側の音源設定の仕方によっては、パーソナルコンピュータ20側から出力されたノートイベントに応じてドラム音を発生させることも可能である。即ち、受信したノートイベントによりベース音を発生させるように音源の設定をすればベースパターンの演奏になり、受信したノートイベントによりコード音(ピアノやストリングス、ギターなどの通常の音階音)を発生させるように音源の設定をすればコードパターンの演奏になり、受信したノートイベントによりドラム音を発生させるように音源の設定をすればドラムパターンの演奏になるのである。このとき、ベースパターンとして発生させたノートイベントを受信してドラム音を発生させるようにしてもよいし、コードパターンとして発生させたノートイベントを受信してドラム音を発生させるようにしてもよい。1つのノートナンバを1つのドラム音に対応させるようにしてもよいし、複数のノートナンバを同一のドラム音に対応させるようにしてもよい(例えば音域を区分し、第1区間はバスドラム、第2区間はスネアドラム、第3区間はシンバル、・・・といった具合)。ドラム音としては、通常のドラムセット(バスドラム、スネアドラム、シンバル等の組み合わせ)であってもよいし、タムタムやティンパニのように音階を持ったドラム音であってもよい。このようにベースパターンやコードパターンに基づいてドラム音を発生させるようにすると、予想しなかったよい結果(よいドラムパターン)が得られることがある。また、パターン生成のためのパラメータ(テクスチャー)の設定の仕方により、好みのドラムパターンを作り出すことも可能である。
【0082】
【発明の効果】
この発明によれば、新たな伴奏パターンを作成したり、操作者の操作に応じて伴奏パターンをリアルタイムに複雑に変化させることができる。
【図面の簡単な説明】
【図1】 この発明に係る自動伴奏パターン発生装置を採用した自動伴奏装置の概略構成を示す図である。
【図2】 図1の自動伴奏装置の具体的な構成を示すブロック図である。
【図3】 鍵盤1Bに割り当てられたスイッチ機能の一例を示す図である。
【図4】 コードテクスチャー及びベーステクスチャーを構成する各パラメータの一例を示す図である。
【図5】 シンコペーションパラメータの値に基づいて表拍及び裏拍のベロシティを決定する際に用いられるトータル値の一例を示す図であり、図5(A)は8分音符の発音タイミングのトータル値を示し、図5(B)は16分音符の発音タイミングのトータル値を示す図である。
【図6】 ベースパターンを合成する際に用いられるトーンリストの一例を示す図である。
【図7】 デンシティパラメータを音高間隔に変換する変換テーブルの一例を示す図である。
【図8】 コードパターンを合成する際に用いられる出現確率算出テーブルの一例を示す図である。
【図9】 リズムパターンの一例を示す図である。
【図10】 電子楽器側のCPUの処理の一例を示すフローチャートであり、図10(A)はメインルーチンの一例を示す図、図10(B)はメインルーチンの中の「キー処理」の一例を示す図、図10(C)はメインルーチンの中の「MIDI受信処理」の一例を示す図である。
【図11】 パーソナルコンピュータ側のCPUが処理するメインルーチンの一例を示す図である。
【図12】 パーソナルコンピュータ側のCPUが行うパターン再生処理の一例を示す図である。
【図13】 パーソナルコンピュータ側のCPUが行うシチュエーション分析処理の一例を示す図である。
【図14】 図13のシチュエーション分析処理の動作概念を示す図である。
【図15】 レスポンスステートの一例を示す図である。
【図16】 パーソナルコンピュータ側のCPUが行うコード&ベースパターン合成処理の一例を示す図である。
【図17】 ミミックテクスチャー内のアクティビティパラメータ及びシンコペーションパラメータがどのようにして決定するかを示す図である。
【図18】 ミミックテクスチャーからオフセットテクスチャーが作成されまでの各パラメータの変遷を示す図であり、図18(A)は、ミミックテクスチャーのパラメータと算出されたパラメータ平均値との対応関係を示す図であり、図18(B)は算出されたパラメータ平均値とベース用オフセットテクスチャー及びコード用アフセットテクスチャーの各パラメータとの対応関係を示す図である。
【図19】 図16のステップ161からステップ168までの処理に対応した機能ブロック図を示す図である。
【図20】 レジスタパラメータとレンジパラメータの値によって決定される音高域の各ノートナンバを図8(A)の出現確率算出テーブルの各音高に対応付けて示したマッピング図である。
【図21】 選択された複数の候補音の中からどのようにして和音構成音が決定されるのかの概念を示す図である。
【符号の説明】
11…電子楽器のCPU、12…電子楽器のROM、13…電子楽器のRAM、14…押鍵検出回路、15…電子楽器のスイッチ検出回路、16…電子楽器の表示回路、17…操作検出回路、18…音源回路、19…サウンドシステム、1A…電子楽器のタイマ、1B…鍵盤、1C…電子楽器のパネルスイッチ、1D…表示部、1E…ホイール&ペダル、1F…電子楽器のMIDIインターフェイス、1G…電子楽器のバス、1H…電子楽器、20…パーソナルコンピュータ、21…パーソナルコンピュータのCPU、22…パーソナルコンピュータのROM、23…パーソナルコンピュータのRAM、24…ハードディスク装置、25…ディスプレイインターフェイス、26…マウスインターフェイス、27…パーソナルコンピュータのスイッチ検出回路、28…パーソナルコンピュータのタイマ、29…ディスプレイ、2A…マウス、2B…パーソナルコンピュータのパネルスイッチ、2C…パーソナルコンピュータのMIDIインターフェイス、1Ea…モジュレーションホイール・ピッチベンドホイール、1Eb…フットペダル、31…リアルタイムレスポンスコントローラ、32…グラフィカルエディタ、33,34,35…クラスタ、36…コードジェネレータ、37…ベースジェネレータ、38…加算器、181…アナライザ、182…MT記憶領域、183…テクスチャーデータベース、184…PST記憶領域、185…ST記憶領域、186,187,18B,18F,18K,18N…セレクタ、188…アベレージャ、189…オフセット記憶領域、18A…オフセット変換器、18C…ゲシュタルトレジスタ、18D,18M…ホイール変換器、18E,18G…乗算器、18H,18L,18P…加算器、18J…スタティックトランスレジスタ、RTA…リアルタイムレスポンスフラグ。
Claims (8)
- 複数のパラメータを供給するパラメータ供給手段と、前記複数のパラメータには音符イベントの発生確率を規定する所定パラメータが少なくとも含まれており、
演奏操作子手段と、
前記演奏操作子手段による演奏状態を検出し、少なくとも現在と過去の或る期間についての該演奏状態に基づいて前記パラメータ供給手段で供給するパラメータを変更する変更手段と、
前記パラメータ供給手段から供給される前記複数のパラメータに基づき、伴奏音の各々についての音高情報と発音タイミング情報とを決定し、この発音タイミング情報は少なくとも前記音符イベントの発生確率を規定する所定パラメータに基づき決定されるものであり、該決定された情報からなる伴奏パターンを生成する伴奏パターン生成手段と
を具え、これにより、前記演奏操作子手段によるリアルタイムの演奏に応じて前記伴奏パターン生成手段で生成する伴奏パターンが変更されるようにした自動伴奏パターン発生装置。 - 前記変更手段は、前記演奏状態に基づいてどのようにパラメータを変更するかを規定したデータを複数持っており、そのうちから選択されたいずれかのデータの規定に従って前記演奏状態に基づく前記パラメータの変更を行うものである請求項1に記載の自動伴奏パターン発生装置。
- 前記パラメータ供給手段は、多数のパラメータの中から前記演奏操作子手段による演奏状態に応じて複数のパラメータを選択して供給するものである請求項1に記載の自動伴奏パターン発生装置。
- 前記パラメータ供給手段は、複数種類のパラメータをそれぞれ複数具備しており、前記演奏操作子手段による演奏状態に応じて各種類毎にいずれかのパラメータをそれぞれ選択し、選択されたパラメータからなる複数種のパラメータを供給するものである請求項1に記載の自動伴奏パターン発生装置。
- 前記変更手段は、前記パラメータを変更するための変調データを持っており、前記演奏状態に基づいて該変調データを変更するものである請求項1に記載の自動伴奏パターン発生装置。
- 前記変更手段は、前記演奏状態に基づいて前記パラメータを変更するかを選択するものである請求項1に記載の自動伴奏パターン発生装置。
- 複数のパラメータを供給するステップと、前記複数のパラメータには音符イベントの発生確率を規定する所定パラメータが少なくとも含まれており、
演奏者によって操作される演奏操作子の演奏状態を検出するステップと、
少なくとも現在と過去の或る期間についての前記演奏状態に基づき前記供給するステップで供給する前記パラメータを変更するステップと、
前記供給するステップで供給される前記複数のパラメータに基づき、伴奏音の各々についての音高情報と発音タイミング情報とを決定し、この発音タイミング情報は少なくとも前記音符イベントの発生確率を規定する所定パラメータに基づき決定されるものであり、該決定された情報からなる伴奏パターンを生成するステップと
を具え、これにより、前記演奏操作子によるリアルタイムの演奏に応じて前記伴奏パターンを生成するステップで生成する伴奏パターンが変更されるようにした自動伴奏パターン発生方法。 - コンピュータによって読み取り可能な記録媒体であって、下記ステップからなる自動伴奏データ発生方法を該コンピュータに実行させるための命令を記憶してなる記録媒体であって、該自動伴奏データ発生方法は、
複数のパラメータを供給するステップと、前記複数のパラメータには音符イベントの発生確率を規定する所定パラメータが少なくとも含まれており、
演奏者によって操作される演奏操作子の演奏状態を検出するステップと、
少なくとも現在と過去の或る期間についての前記演奏状態に基づき前記供給するステッ プで供給する前記パラメータを変更するステップと、
前記供給するステップで供給される前記複数のパラメータに基づき、伴奏音の各々についての音高情報と発音タイミング情報とを決定し、この発音タイミング情報は少なくとも前記音符イベントの発生確率を規定する所定パラメータに基づき決定されるものであり、該決定された情報からなる伴奏パターンを生成するステップと
を具え、これにより、前記演奏操作子によるリアルタイムの演奏に応じて前記伴奏パターンを生成するステップで生成する伴奏パターンが変更されるようにしたことを特徴とする。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/698,136 US5850051A (en) | 1996-08-15 | 1996-08-15 | Method and apparatus for creating an automatic accompaniment pattern on the basis of analytic parameters |
US08/698136 | 1996-08-15 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23541997A Division JP3209156B2 (ja) | 1996-08-15 | 1997-08-14 | 自動伴奏パターン発生装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001175263A JP2001175263A (ja) | 2001-06-29 |
JP3812328B2 true JP3812328B2 (ja) | 2006-08-23 |
Family
ID=24804058
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23541997A Expired - Fee Related JP3209156B2 (ja) | 1996-08-15 | 1997-08-14 | 自動伴奏パターン発生装置及び方法 |
JP2000351997A Expired - Fee Related JP3812328B2 (ja) | 1996-08-15 | 2000-11-17 | 自動伴奏パターン発生装置及び方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23541997A Expired - Fee Related JP3209156B2 (ja) | 1996-08-15 | 1997-08-14 | 自動伴奏パターン発生装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5850051A (ja) |
JP (2) | JP3209156B2 (ja) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120870A1 (en) * | 1998-05-15 | 2005-06-09 | Ludwig Lester F. | Envelope-controlled dynamic layering of audio signal processing and synthesis for music applications |
US6610917B2 (en) | 1998-05-15 | 2003-08-26 | Lester F. Ludwig | Activity indication, external source, and processing loop provisions for driven vibrating-element environments |
US6689947B2 (en) * | 1998-05-15 | 2004-02-10 | Lester Frank Ludwig | Real-time floor controller for control of music, signal processing, mixing, video, lighting, and other systems |
US7309829B1 (en) | 1998-05-15 | 2007-12-18 | Ludwig Lester F | Layered signal processing for individual and group output of multi-channel electronic musical instruments |
US9818386B2 (en) | 1999-10-19 | 2017-11-14 | Medialab Solutions Corp. | Interactive digital music recorder and player |
US7176372B2 (en) | 1999-10-19 | 2007-02-13 | Medialab Solutions Llc | Interactive digital music recorder and player |
AU2002213685B2 (en) * | 2000-11-17 | 2005-08-04 | Allan Mack | An Automated Music Harmonizer |
AUPR150700A0 (en) * | 2000-11-17 | 2000-12-07 | Mack, Allan John | Automated music arranger |
JP3642039B2 (ja) * | 2001-05-25 | 2005-04-27 | ヤマハ株式会社 | 楽音再生装置および携帯端末装置 |
EP1326228B1 (en) | 2002-01-04 | 2016-03-23 | MediaLab Solutions LLC | Systems and methods for creating, modifying, interacting with and playing musical compositions |
US7297859B2 (en) * | 2002-09-04 | 2007-11-20 | Yamaha Corporation | Assistive apparatus, method and computer program for playing music |
US7169996B2 (en) | 2002-11-12 | 2007-01-30 | Medialab Solutions Llc | Systems and methods for generating music using data/music data file transmitted/received via a network |
JP3906800B2 (ja) * | 2002-12-27 | 2007-04-18 | ヤマハ株式会社 | 自動演奏装置及びプログラム |
US7199259B2 (en) * | 2003-06-20 | 2007-04-03 | Metabolex, Inc. | Resolution of α-(phenoxy)phenylacetic acid derivatives |
JP4239952B2 (ja) * | 2004-11-09 | 2009-03-18 | ヤマハ株式会社 | 自動伴奏装置およびその制御方法を実現するためのプログラム |
JP2006145855A (ja) * | 2004-11-19 | 2006-06-08 | Yamaha Corp | 自動伴奏装置およびその制御方法を実現するためのプログラム |
WO2008094415A2 (en) * | 2007-01-18 | 2008-08-07 | The Stone Family Trust Of 1992 | Real time divisi with path priority, defined note ranges and forced octave transposition |
US9019237B2 (en) * | 2008-04-06 | 2015-04-28 | Lester F. Ludwig | Multitouch parameter and gesture user interface employing an LED-array tactile sensor that can also operate as a display |
US8345014B2 (en) | 2008-07-12 | 2013-01-01 | Lester F. Ludwig | Control of the operating system on a computing device via finger angle using a high dimensional touchpad (HDTP) touch user interface |
US8169414B2 (en) | 2008-07-12 | 2012-05-01 | Lim Seung E | Control of electronic games via finger angle using a high dimensional touchpad (HDTP) touch user interface |
US8604364B2 (en) * | 2008-08-15 | 2013-12-10 | Lester F. Ludwig | Sensors, algorithms and applications for a high dimensional touchpad |
US8170346B2 (en) | 2009-03-14 | 2012-05-01 | Ludwig Lester F | High-performance closed-form single-scan calculation of oblong-shape rotation angles from binary images of arbitrary size using running sums |
US8158873B2 (en) * | 2009-08-03 | 2012-04-17 | William Ivanich | Systems and methods for generating a game device music track from music |
US20110055722A1 (en) * | 2009-09-02 | 2011-03-03 | Ludwig Lester F | Data Visualization Environment with DataFlow Processing, Web, Collaboration, Advanced User Interfaces, and Spreadsheet Visualization |
US20110066933A1 (en) | 2009-09-02 | 2011-03-17 | Ludwig Lester F | Value-driven visualization primitives for spreadsheets, tabular data, and advanced spreadsheet visualization |
JP5700351B2 (ja) * | 2009-11-24 | 2015-04-15 | カシオ計算機株式会社 | 自動演奏装置およびプログラム |
US20110202934A1 (en) * | 2010-02-12 | 2011-08-18 | Ludwig Lester F | Window manger input focus control for high dimensional touchpad (htpd), advanced mice, and other multidimensional user interfaces |
US10146427B2 (en) * | 2010-03-01 | 2018-12-04 | Nri R&D Patent Licensing, Llc | Curve-fitting approach to high definition touch pad (HDTP) parameter extraction |
US9632344B2 (en) | 2010-07-09 | 2017-04-25 | Lester F. Ludwig | Use of LED or OLED array to implement integrated combinations of touch screen tactile, touch gesture sensor, color image display, hand-image gesture sensor, document scanner, secure optical data exchange, and fingerprint processing capabilities |
US9626023B2 (en) | 2010-07-09 | 2017-04-18 | Lester F. Ludwig | LED/OLED array approach to integrated display, lensless-camera, and touch-screen user interface devices and associated processors |
US8754862B2 (en) | 2010-07-11 | 2014-06-17 | Lester F. Ludwig | Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces |
US9950256B2 (en) | 2010-08-05 | 2018-04-24 | Nri R&D Patent Licensing, Llc | High-dimensional touchpad game controller with multiple usage and networking modalities |
US20120204577A1 (en) | 2011-02-16 | 2012-08-16 | Ludwig Lester F | Flexible modular hierarchical adaptively controlled electronic-system cooling and energy harvesting for IC chip packaging, printed circuit boards, subsystems, cages, racks, IT rooms, and data centers using quantum and classical thermoelectric materials |
US9442652B2 (en) | 2011-03-07 | 2016-09-13 | Lester F. Ludwig | General user interface gesture lexicon and grammar frameworks for multi-touch, high dimensional touch pad (HDTP), free-space camera, and other user interfaces |
WO2012132856A1 (ja) * | 2011-03-25 | 2012-10-04 | ヤマハ株式会社 | 伴奏データ生成装置 |
US9052772B2 (en) | 2011-08-10 | 2015-06-09 | Lester F. Ludwig | Heuristics for 3D and 6D touch gesture touch parameter calculations for high-dimensional touch parameter (HDTP) user interfaces |
US10430066B2 (en) | 2011-12-06 | 2019-10-01 | Nri R&D Patent Licensing, Llc | Gesteme (gesture primitive) recognition for advanced touch user interfaces |
US9823781B2 (en) | 2011-12-06 | 2017-11-21 | Nri R&D Patent Licensing, Llc | Heterogeneous tactile sensing via multiple sensor types |
ITBO20120173A1 (it) * | 2012-03-30 | 2013-10-01 | Roland Europ Spa | Metodo di controllo di un accompagnamento automatico in uno strumento musicale elettronico a tastiera |
EP2772904B1 (en) * | 2013-02-27 | 2017-03-29 | Yamaha Corporation | Apparatus and method for detecting music chords and generation of accompaniment. |
US9418641B2 (en) | 2013-07-26 | 2016-08-16 | Audio Impressions | Swap Divisi process |
US9443500B2 (en) | 2014-11-26 | 2016-09-13 | Curtis Hoerbelt | Pedal for modulating an electronic signal |
KR102054943B1 (ko) * | 2018-06-01 | 2019-12-12 | 주식회사 와이드 | 사출성형기용 노즐 히터 |
JP7263998B2 (ja) * | 2019-09-24 | 2023-04-25 | カシオ計算機株式会社 | 電子楽器、制御方法およびプログラム |
JP7192830B2 (ja) | 2020-06-24 | 2022-12-20 | カシオ計算機株式会社 | 電子楽器、伴奏音指示方法、プログラム、及び伴奏音自動生成装置 |
US20230012028A1 (en) * | 2021-07-07 | 2023-01-12 | Alex Matthew Moye | Portable Music Production Apparatus |
JP7409366B2 (ja) * | 2021-12-15 | 2024-01-09 | カシオ計算機株式会社 | 自動演奏装置、自動演奏方法、プログラム、及び電子楽器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5308915A (en) * | 1990-10-19 | 1994-05-03 | Yamaha Corporation | Electronic musical instrument utilizing neural net |
US5241125A (en) * | 1990-10-31 | 1993-08-31 | Yamaha Corporation | Editing apparatus for automatic musical player |
IT1244804B (it) * | 1990-11-21 | 1994-09-05 | Roland Europ Spa | Apparecchiatura per suonare accompagnamenti automatici |
JP2572318B2 (ja) * | 1991-09-06 | 1997-01-16 | 株式会社河合楽器製作所 | 自動演奏装置 |
JPH05257465A (ja) * | 1992-03-11 | 1993-10-08 | Kawai Musical Instr Mfg Co Ltd | 楽器演奏者の特徴抽出再生装置 |
US5495073A (en) * | 1992-05-18 | 1996-02-27 | Yamaha Corporation | Automatic performance device having a function of changing performance data during performance |
US5399799A (en) * | 1992-09-04 | 1995-03-21 | Interactive Music, Inc. | Method and apparatus for retrieving pre-recorded sound patterns in synchronization |
JP2677146B2 (ja) * | 1992-12-17 | 1997-11-17 | ヤマハ株式会社 | 自動演奏装置 |
US5496962A (en) * | 1994-05-31 | 1996-03-05 | Meier; Sidney K. | System for real-time music composition and synthesis |
-
1996
- 1996-08-15 US US08/698,136 patent/US5850051A/en not_active Expired - Fee Related
-
1997
- 1997-08-14 JP JP23541997A patent/JP3209156B2/ja not_active Expired - Fee Related
-
2000
- 2000-11-17 JP JP2000351997A patent/JP3812328B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001175263A (ja) | 2001-06-29 |
US5850051A (en) | 1998-12-15 |
JP3209156B2 (ja) | 2001-09-17 |
JPH1074087A (ja) | 1998-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3812328B2 (ja) | 自動伴奏パターン発生装置及び方法 | |
JP2602458B2 (ja) | 自動演奏装置 | |
US20060054006A1 (en) | Automatic rendition style determining apparatus and method | |
US7470855B2 (en) | Tone control apparatus and method | |
JP4702160B2 (ja) | 楽音合成装置及びプログラム | |
JP3454140B2 (ja) | コンピュータ用キーボードを楽器用鍵盤として使用する装置、方法、及びプログラムを記録した媒体 | |
US7271330B2 (en) | Rendition style determination apparatus and computer program therefor | |
JP4614307B2 (ja) | 演奏データ処理装置及びプログラム | |
JP4802947B2 (ja) | 奏法決定装置及びプログラム | |
JP4239706B2 (ja) | 自動演奏装置及びプログラム | |
JP4244504B2 (ja) | 演奏制御装置 | |
JP3397071B2 (ja) | 自動演奏装置 | |
JP3933070B2 (ja) | アルペジオ生成装置及びプログラム | |
JPH0566776A (ja) | 自動伴奏装置 | |
JP3855356B2 (ja) | ピッチベンドデータの表示装置及び入力装置 | |
JPH04274297A (ja) | 自動演奏装置 | |
JPH10319961A (ja) | 発音タイミング制御装置 | |
JP4186855B2 (ja) | 楽音制御装置及びプログラム | |
JP3738634B2 (ja) | 自動伴奏装置、及び記録媒体 | |
JP4218566B2 (ja) | 楽音制御装置及びプログラム | |
JPH10254448A (ja) | 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体 | |
JP4129794B2 (ja) | 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム | |
JP2000172253A (ja) | 電子楽器 | |
JP2972364B2 (ja) | 音楽的情報処理装置及び音楽的情報処理方法 | |
JP3642028B2 (ja) | 演奏データ処理装置及び方法並びに記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040402 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060410 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060522 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130609 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140609 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |