JP6981239B2 - 機器、方法及びプログラム - Google Patents
機器、方法及びプログラム Download PDFInfo
- Publication number
- JP6981239B2 JP6981239B2 JP2017247834A JP2017247834A JP6981239B2 JP 6981239 B2 JP6981239 B2 JP 6981239B2 JP 2017247834 A JP2017247834 A JP 2017247834A JP 2017247834 A JP2017247834 A JP 2017247834A JP 6981239 B2 JP6981239 B2 JP 6981239B2
- Authority
- JP
- Japan
- Prior art keywords
- standard
- performance data
- data
- midi
- determined
- 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.)
- Active
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
<1−1>電子鍵盤楽器100
以下、実施形態に係る電子鍵盤楽器について図1及び図2を参照して説明する。
本実施形態では、電子鍵盤楽器100に再生させる演奏データの例として、MIDIデータファイルを想定している。そこで、図3を用いて、MIDIデータファイルの構成について説明する。ここでは、SMF(Standard MIDI file)について説明する。ところで、SMFの主な目的は、演奏データの互換性を得ることである。SMFにより、異なった機種、ソフト間で時間情報を含むMIDIデータファイルを相互に利用出来るようになる。
SMFは、後述するチャンク構造の違いで3つのフォーマット(フォーマット0、フォーマット1、フォーマット2)に分類される。
SMFの最初にあるヘッダチャンクには、MIDIデータファイル全体に関しての基本的な情報が記述されている。ヘッダチャンクは、ヘッダチャンクのタイプ、ヘッダチャンクのデータ長、ヘッダデータセクションが順番に並んで構成されている。
ヘッダチャンクのタイプは、これから始まるチャンクのタイプを表したものである。
ヘッダチャンクのデータ長は、チャンクタイプとデータ長自身の長さを除いた、MIDIデータファイルの長さを示す。
ヘッダデータセクションは、SMFフォーマットと、トラック数と、時間単位と、を含む。
トラックチャンクには、実際の演奏音に関するデータが含まれる。トラックチャンクは、トラックチャンクのタイプ、トラックチャンクのデータ長、複数のトラックデータセクションが順番に並んで構成されている。
トラックチャンクのタイプは、これから始まるチャンクのタイプを表したものである。
ヘッダチャンクのデータ長と同様に、トラックチャンクのデータ長は、この後に続くデータの長さを示す。
トラックデータセクションは、デルタタイムとイベントとを含む。トラックチャンクは、このトラックデータセクションを複数備えている。
1つのイベントを表現する場合、デルタタイムが設定される。デルタタイムは可変長数値表現で表わされ、次に続くイベントまでの時間を表す時間情報である。デルタタイムはヘッダチャンクで設定した「時間単位」の設定に左右される。例えばトラックチャンクの最初のイベントがトラックチャンクの開始と同時に始まった場合や、2つのイベントが同時に表れた場合にはゼロのデルタタイムが使われる。
MIDIイベントは、MIDIチャンネルメッセージである。
コントロールチェンジを示すMIDIイベントは、「Bn cc vv」という形式で記述される。この記述は、チャンネル番号nで、コントローラナンバーccに、バリュー(数値)vvを送るという意味になる。
SysExイベントは、MIDIシステムエクスクルーシブメッセージを指定するために用いられる。SysExイベントがMIDIイベントと異なるのは、ステータスバイトの後に可変長のデータが格納される点である。
メタイベントは、シーケンサやSMFに便利な、演奏音のデータに含まれない情報(テンポ、曲タイトル等)を納めるために用いる。メタイベントは、ステータスバイトffで始まり、次にイベントタイプを表すバイトが続き、さらに可変長形式で格納されたデータ長が続き、最後にデータ自体が続く構成となっている。以下では、メタイベントの具体例に関して、「ステータスバイト/イベントタイプを表すバイト/データ長/データ」という形式で記述される。
<1−3−1>パーカッションの割り当て表
図5を用いて、パーカッションの割り当て表について説明する。図5は、音高に対するパーカッションの割り当て表(マップ)である。図5では、ノート番号、音高、及び楽器の対応関係を示している。なお、パーカッションとは、打つ、こする、振る等して音を出す楽器の総称である。
図6を用いて、トラックデータセクション群の具体例1について説明する。図6では、トラックチャンクに含まれるトラックデータセクション群の一部を示している。図6では、各トラックデータセクションを、「小節:拍:TICK:MIDIメッセージ:[メッセージ内容]」という形式で表記している。なお、[メッセージ内容]とは、電子鍵盤楽器100が認識するMIDIメッセージの内容を便宜的に示したものである。つまり、トラックデータセクションに記述されるのは「小節:拍:TICK:MIDIメッセージ」である。
図7を用いて、トラックデータセクションの具体例2について説明する。図7では、トラックチャンクに含まれるトラックデータセクション群の一部を示している。図7における各トラックデータセクションの表記方法は図6と同様である。
本実施形態に係る電子鍵盤楽器100は、MIDIデータファイルを再生する音源規格を指定していないMIDIデータファイルであっても、特定の規格に応じた動作モードでMIDIデータファイルを再生できる。ここで、図8を用いて、MIDIデータファイルを再生する際における電子鍵盤楽器100の動作について説明する。
CPU201は、MIDIデータファイルを再生する場合、再生しようとするMIDIデータファイルに第1音源規格(第1規格)準拠を示すSysExイベントが含まれるか否かを判断するために、MIDIファイルデータを調査する第1調査処理を実行する。この第1音源規格とは、一例としてGM音源規格である。
CPU201は、ステップS1001の調査結果に基づき、再生しようとするMIDIデータファイルに、第1音源規格準拠を示すSysExイベントが含まれているか否かを判断する。
CPU201は、MIDIデータファイルに第1音源規格準拠を示すSysExイベントが含まれていないと判断する場合(ステップS1002、NO)、MIDIデータファイルを調査する第2調査処理を実行する。
CPU201は、ステップS1003の調査結果に基づき、再生しようとするMIDIデータファイルに、第1チャンネルに関するMIDIイベントが含まれているか否かを判断する判断処理を実行する。
CPU201は、MIDIデータファイルに、第1チャンネルに関するMIDIイベントが含まれていると判断する場合(ステップS1004、YES)、第1チャンネルのノート番号毎の出現回数をカウントするカウント処理を実行する。なお、CPU201は、第1チャンネルに関する全てのMIDIイベントを調査することでノート番号毎の出現回数をカウントしても良いし、ある一定数のMIDIイベントを調査することでノート番号毎の出現回数をカウントしても良い。
ステップS1006において、CPU201は、ステップS1005のカウント処理の結果に基づき、第1チャンネル(第1パート)に係る複数のノート番号(ノート)における各ノート番号のそれぞれが示す楽器のうちの第1楽器群(パーカッション)に含まれる少なくとも1つの楽器の割合が第1値に達するか達しないかを判断する判断処理を実行する。なお、第1値は、ユーザにより調整可能であるが、一例としては70%である。
図8に戻って、ステップS1006の続きを説明する。
図8に戻って、ステップS1007の続きを説明する。
CPU201は、ユーザによってMIDIデータファイルを第1音源規格に応じた第1モードで発音させることが選択されたと判断する場合(ステップS1008、YES)、または、MIDIデータファイルに第1音源規格準拠を示すSysExイベントが含まれていると判断する場合(ステップS1002、YES)、第1音源規格に応じた第1モードで、MIDIデータファイルに基づく演奏音を発音部に発音させる第1発音処理を実行する。
CPU201は、MIDIデータファイルに、第1チャンネルに関するMIDIイベントが含まれていないと判断する場合(ステップS1004、NO)、または第1楽器群に含まれる少なくとも1つの楽器の割合が第1値に達しないと判断する場合(ステップS1006、NO)、またはユーザによってMIDIデータファイルを第1音源規格に応じた第1モードで発音させることが選択されないと判断する場合(ステップS1008、NO)、第2音源規格(第2規格)に応じた第2モードで、MIDIデータファイルに基づく演奏音を発音部に発音させる第2発音処理を実行する。なお、第2音源規格は、一例としては電子鍵盤楽器100の特有の規格である。
上述した実施形態によれば、第1音源規格準拠を示す識別子が含まれていないMIDIデータファイルの再生において、MIDIデータファイル内の第1チャネルに関するデータから、MIDIデータファイルが第1音源規格準拠であると判断する場合、第1音源規格準拠を示す識別子が含まれていないMIDIデータファイルであっても、第1音源規格に応じた第1モードで、MIDIデータファイルに基づく演奏音を発音部に発音させる。
第2実施形態について説明する。第1実施形態では、第1パートに含まれる複数のノートにおける各ノートのそれぞれが示す楽器のうち、パーカッションに含まれる少なくとも1つの楽器の割合を判断することで、MIDIデータファイルが、第1音源規格準拠か否かを判断した。第2実施形態では、第1パートに含まれる複数のノートにおける各ノートそれぞれが示す楽器のうち、パーカッションに含まれる少なくとも1つの楽器の出現に周期性を判断することで、MIDIデータファイルが、第1音源規格準拠か否かを判断する場合について説明する。尚、第2実施形態に係る情報処理装置の基本的な構成及び基本的な動作は、上述した第1実施形態に係る情報処理装置と同様である。従って、上述した第1実施形態で説明した事項についての説明は省略する。
図11を用いて、MIDIデータファイルを発音する際における電子鍵盤楽器100の動作について説明する。
ステップS2001〜ステップS2004は、図8で説明したステップS1001〜ステップS1004と同様である。
CPU201は、MIDIデータファイルに、第1チャンネルに関するMIDIイベントが含まれていると判断する場合(ステップS1004、YES)、第1チャンネルのノート番号毎の出現タイミングを調査する第3調査処理を実行する。なお、CPU201は、第1チャンネルに関する全てのMIDIイベントを調査しても良いし、ある一定数のMIDIイベントを調査しても良い。
ステップS2006において、CPU201は、ステップS2005の第3調査処理の結果に基づき、第1チャンネル(第1パート)に含まれる複数のノート番号(ノート)における各ノート番号それぞれが示す楽器のうち、第1楽器群(パーカッション)に含まれる少なくとも1つの楽器の出現に周期性があるか否かを判断する判断処理を実行する。
図11に戻って、ステップS2006の続きを説明する。
ステップS2008〜ステップS2010は、図8で説明したステップS1008〜ステップS1010と同様である。
上述した実施形態によれば、第1音源規格準拠を示す識別子が含まれていないMIDIデータファイルの再生において、MIDIデータファイル内の第1チャネルに関するデータに周期性があると判断する場合、第1音源規格準拠を示す識別子が含まれていないMIDIデータファイルであっても、第1音源規格に応じた第1モードで、MIDIデータファイルに基づく演奏音を発音部に発音させる。これにより、第1実施形態と同様の効果を得ることができる。
第3実施形態について説明する。第3実施形態では、第1パートに含まれる複数のノートが示すリズムパターンが、予め決められたリズムパターンにどの程度一致しているかを示す適合率が第1値に達するか否かを判断することで、MIDIデータファイルが、第1音源規格準拠か否かを判断する場合について説明する。尚、第3実施形態に係る情報処理装置の基本的な構成及び基本的な動作は、上述した第1実施形態に係る情報処理装置と同様である。従って、上述した第1実施形態で説明した事項についての説明は省略する。
図12を用いて、MIDIデータファイルを発音する際における電子鍵盤楽器100の動作について説明する。
ステップS3001〜ステップS3004は、図8で説明したステップS1001〜ステップS1004と同様である。
CPU201は、MIDIデータファイルに、第1チャンネルに関するMIDIイベントが含まれていると判断する場合(ステップS1004、YES)、MIDIデータファイルに対してクオンタイズ処理を実行する。このクオンタイズによって、データを整える。なお、クオンタイズ時における分解能は、ユーザが任意に変更可能である。
CPU201は、MIDIデータファイルの第1チャネルのノート番号の出現パターンを調査する。そして、CPU201は、ノート番号の出現パターンと、あらかじめ用意しておいた既定のリズムパターンと照合する。既定のリズムパターンは、一例としてはノート番号パターンである。また、既定のリズムパターンは、どのようなものでも良く、たとえば、ROM202、またはRAM203に記憶されているリズムパターンなどが考えられる。
CPU201は、第1チャネル(第1パート)に含まれる複数のノート番号(ノート)が示す出現パターン(リズムパターン)が、予め決められたリズムパターンにどの程度一致しているかを示す適合率が第1値に達するか否かを判断する判断処理を実行する。なお、第1値は、ユーザにより調整可能であるが、一例としては70%である。
CPU201は、第1チャネルに含まれる複数のノート番号が示す出現パターンが、予め決められたリズムパターンにどの程度一致しているかを示す適合率が第1値に達すると判断する場合(ステップS3007、YES)、第1メッセージをLCD104に表示させる。
ステップS3009〜ステップS3011は、図8で説明したステップS1008〜ステップS1010と同様である。
上述した実施形態によれば、第1音源規格準拠を示す識別子が含まれていないMIDIデータファイルの再生において、MIDIデータファイル内の第1チャネルに関するデータリズムパターンと、予め用意されたリズムパターンとの適合率が第1値に達すると判断する場合、第1音源規格準拠を示す識別子が含まれていないMIDIデータファイルであっても、第1音源規格に応じた第1モードで、MIDIデータファイルに基づく演奏音を発音部に発音させる。これにより、第1実施形態と同様の効果を得ることができる。
[付記1]
演奏データ内に第1規格準拠を示す識別子が含まれていない場合に、前記演奏データ内の第1パートに係るデータから、前記演奏データが前記第1規格準拠であるか否かを判断する判断処理と、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、第1規格に応じた第1モードで、前記演奏データに基づく演奏音を発音部に発音させる第1発音処理と、
を実行する制御部を備えることを特徴とする機器。
[付記2]
前記制御部は、
前記判断処理により前記演奏データが前記第1規格準拠でないと判断された場合に、第2規格に応じた第2モードで、前記演奏データに基づく演奏音を発音部に発音させる第2発音処理、
を実行することを特徴とする付記1に記載の機器。
[付記3]
前記制御部は、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、前記第1モードでの発音可否を問い合わせるメッセージを表示部に表示させる表示処理、
を実行することを特徴とする付記1または2に記載の機器。
[付記4]
前記判断処理は、
前記第1パートに含まれる複数のノートにおける各ノートそれぞれが示す楽器のうちのパーカッションに含まれる少なくとも1つの楽器の割合が第1値に達すると判断した場合に、前記演奏データが前記第1規格準拠であると判断することを特徴とする付記1乃至3のいずれか1項に記載の機器。
[付記5]
前記判断処理は、
前記第1パートに含まれる複数のノートにおける各ノートそれぞれが示す楽器のうち、パーカッションに含まれる少なくとも1つの楽器の出現に周期性があると判断した場合に、前記演奏データが前記第1規格準拠であると判断することを特徴とする付記1乃至3のいずれか1項に記載の機器。
[付記6]
前記判断処理は、
前記第1パートに含まれる複数のノートが示すリズムパターンが、予め決められたリズムパターンにどの程度一致しているかを示す適合率が第1値に達すると判断した場合に、前記演奏データが前記第1規格準拠であると判断することを特徴とする付記1乃至3のいずれか1項に記載の機器。
[付記7]
機器のコンピュータに、
演奏データ内に第1規格準拠を示す識別子が含まれていない場合に、前記演奏データ内の第1パートに係るデータから、前記演奏データが前記第1規格準拠であるか否かを判断する判断処理と、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、第1規格に応じた第1モードで、前記演奏データに基づく演奏音を発音部に発音させる第1発音処理、
を実行させる方法。
[付記8]
機器のコンピュータに、
演奏データ内に第1規格準拠を示す識別子が含まれていない場合に、前記演奏データ内の第1パートに係るデータから、前記演奏データが前記第1規格準拠であるか否かを判断する判断処理と、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、第1規格に応じた第1モードで、前記演奏データに基づく演奏音を発音部に発音させる第1発音処理、
を実行させるプログラム。
101…鍵盤、
102…第1のスイッチパネル
103…第2のスイッチパネル、
104…LCD、
200…制御システム、
201…CPU、
202…ROM、
203…RAM、
204…音源LSI、
205…音声合成LSI、
206…キースキャナ、
207…LEDコントローラ、
208…LCDコントローラ、
209…システムバス、
210…タイマ、
211、212…デジタルアナログコンバータ、
213…ミキサ、
214…アンプ
215…MIDIインタフェース
Claims (8)
- 演奏データ内に第1規格準拠を示す識別子が含まれていない場合に、前記演奏データ内の第1パートに係るデータから、前記演奏データが前記第1規格準拠であるか否かを判断する判断処理と、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、第1規格に応じた第1モードで、前記演奏データに基づく演奏音を発音部に発音させる第1発音処理と、
を実行する制御部を備えることを特徴とする機器。 - 前記制御部は、
前記判断処理により前記演奏データが前記第1規格準拠でないと判断された場合に、第2規格に応じた第2モードで、前記演奏データに基づく演奏音を発音部に発音させる第2発音処理、
を実行することを特徴とする請求項1に記載の機器。 - 前記制御部は、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、前記第1モードでの発音可否を問い合わせるメッセージを表示部に表示させる表示処理、
を実行することを特徴とする請求項1または2に記載の機器。 - 前記判断処理は、
前記第1パートに含まれる複数のノートにおける各ノートそれぞれが示す楽器のうちのパーカッションに含まれる少なくとも1つの楽器の割合が第1値に達すると判断した場合に、前記演奏データが前記第1規格準拠であると判断することを特徴とする請求項1乃至3のいずれか1項に記載の機器。 - 前記判断処理は、
前記第1パートに含まれる複数のノートにおける各ノートそれぞれが示す楽器のうち、パーカッションに含まれる少なくとも1つの楽器の出現に周期性があると判断した場合に、前記演奏データが前記第1規格準拠であると判断することを特徴とする請求項1乃至3のいずれか1項に記載の機器。 - 前記判断処理は、
前記第1パートに含まれる複数のノートが示すリズムパターンが、予め決められたリズムパターンにどの程度一致しているかを示す適合率が第1値に達すると判断した場合に、前記演奏データが前記第1規格準拠であると判断することを特徴とする請求項1乃至3のいずれか1項に記載の機器。 - 機器のコンピュータに、
演奏データ内に第1規格準拠を示す識別子が含まれていない場合に、前記演奏データ内の第1パートに係るデータから、前記演奏データが前記第1規格準拠であるか否かを判断する判断処理と、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、第1規格に応じた第1モードで、前記演奏データに基づく演奏音を発音部に発音させる第1発音処理、
を実行させる方法。 - 機器のコンピュータに、
演奏データ内に第1規格準拠を示す識別子が含まれていない場合に、前記演奏データ内の第1パートに係るデータから、前記演奏データが前記第1規格準拠であるか否かを判断する判断処理と、
前記判断処理により前記演奏データが前記第1規格準拠であると判断された場合に、第1規格に応じた第1モードで、前記演奏データに基づく演奏音を発音部に発音させる第1発音処理、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017247834A JP6981239B2 (ja) | 2017-12-25 | 2017-12-25 | 機器、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017247834A JP6981239B2 (ja) | 2017-12-25 | 2017-12-25 | 機器、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019113745A JP2019113745A (ja) | 2019-07-11 |
JP6981239B2 true JP6981239B2 (ja) | 2021-12-15 |
Family
ID=67223190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017247834A Active JP6981239B2 (ja) | 2017-12-25 | 2017-12-25 | 機器、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6981239B2 (ja) |
-
2017
- 2017-12-25 JP JP2017247834A patent/JP6981239B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019113745A (ja) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6191349B1 (en) | Musical instrument digital interface with speech capability | |
Rothstein | MIDI: A comprehensive introduction | |
JP3718919B2 (ja) | カラオケ装置 | |
US7750230B2 (en) | Automatic rendition style determining apparatus and method | |
JP3807275B2 (ja) | コード提示装置およびコード提示用コンピュータプログラム | |
JP2019113764A (ja) | 鍵盤楽器、方法及びプログラム | |
JP4274272B2 (ja) | アルペジオ演奏装置 | |
JP3266149B2 (ja) | 演奏ガイド装置 | |
JPH10214083A (ja) | 楽音生成方法および記憶媒体 | |
JP2011118218A (ja) | 自動編曲システム、および、自動編曲方法 | |
JP6981239B2 (ja) | 機器、方法及びプログラム | |
JP2006126710A (ja) | 奏法決定装置及びプログラム | |
JPH0744162A (ja) | 伴奏装置 | |
JP3879524B2 (ja) | 波形生成方法、演奏データ処理方法および波形選択装置 | |
JP3047879B2 (ja) | 演奏ガイド装置、演奏ガイド用演奏データ作成装置および記憶媒体 | |
JP4003625B2 (ja) | 演奏制御装置および演奏制御用プログラム | |
JP2904045B2 (ja) | カラオケ装置 | |
JP3674469B2 (ja) | 演奏ガイド方法と装置及び記録媒体 | |
JPH0728462A (ja) | 自動演奏装置 | |
JP7425558B2 (ja) | コード検出装置及びコード検出プログラム | |
JP3752956B2 (ja) | 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2000003175A (ja) | 楽音生成方法、楽音デ―タ作成方法、楽音波形デ―タ作成方法、楽音デ―タ生成方法、および記憶媒体 | |
JP4067007B2 (ja) | アルペジオ演奏装置及びプログラム | |
JPH10171475A (ja) | カラオケ装置 | |
JP5104293B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211014 |
|
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: 20211019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211101 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6981239 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |