米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> 株式会社河合楽器製作所

発明の名称 電子楽器及びコンピュータプログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−163792(P2007−163792A)
公開日 平成19年6月28日(2007.6.28)
出願番号 特願2005−359443(P2005−359443)
出願日 平成17年12月13日(2005.12.13)
代理人 【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
発明者 和久田 定資
要約 課題
音符データに合わせて表示すべきパートを複数のパートの中から可及的に確実に決定することができるようにする。

解決手段
自動演奏データ200に含まれる歌詞データ(「さ」、「く」、「ら」)のそれぞれについて、出力するタイミングが同じである音符データのパートを計数し、計数値の合計が最も大きいパート(Cパート)を、歌詞データに対応するパートとし、そのパートの音符を表示する際に、その音符の下に対応する歌詞を表示する。これにより、歌詞データを表示すべきパートを可及的に適切に決定することができる。
特許請求の範囲
【請求項1】
複数のパートの音符データと、歌詞データとを含むファイルのデータを記憶媒体から読み出す読み出し手段と、
前記読み出し手段により読み出された前記歌詞データの出力タイミングと、前記複数のパートの音符データの出力タイミングとを比較する比較手段と、
前記比較手段により比較された結果に基づいて、前記歌詞データに合わせて表示すべきパートを前記複数のパートの中から決定する決定手段と、
前記音符データと、前記歌詞データとを表示装置に表示する表示手段とを有し、
前記表示手段は、前記決定手段により決定されたパートの音符データに合わせて、前記歌詞データを表示装置に表示することを特徴とする電子楽器。
【請求項2】
前記比較手段は、前記読み出し手段により読み出された前記歌詞データと、出力タイミングが所定の範囲内にある音符データが属するパートの数を計数し、
前記決定手段は、前記比較手段により計数された数が最も多いパートを、前記歌詞データに合わせて表示すべきパートとして決定することを特徴とする請求項1に記載の電子楽器。
【請求項3】
前記比較手段は、前記読み出し手段により読み出された前記歌詞データと、出力タイミングが同じ音符データが属するパートの数を計数することを特徴とする請求項2に記載の電子楽器。
【請求項4】
前記比較手段は、前記読み出し手段により読み出された前記歌詞データの出力タイミングに対し、所定の範囲内に音符データが存在しないパートの数を計数し、
前記決定手段は、前記比較手段により計数された数が最も少ないパートを、前記歌詞データに合わせて表示すべきパートとして決定することを特徴とする請求項1に記載の電子楽器。
【請求項5】
前記比較手段は、前記読み出し手段により読み出された前記歌詞データと同じ出力タイミングに音符データが存在しないパートの数を計数することを特徴とする請求項3に記載の電子楽器。
【請求項6】
前記決定手段は、前記比較手段により比較された結果に基づいて、前記歌詞データに合わせて表示すべきパートを、前記ファイル内のデータにより構成される楽曲の区間毎に決定することを特徴とする請求項1〜5の何れか1項に記載の電子楽器。
【請求項7】
前記読み出し手段により読み出された前記音符データに含まれている情報に基づいて、その音符データを除外するか否かを判定する判定手段を有し、
前記比較手段は、前記読み出し手段により読み出された前記歌詞データの出力タイミングと、前記複数のパートの音符データであって、前記判定手段により除外しないと判定された音符データの出力タイミングとを比較することを特徴とする請求項1〜6の何れか1項に記載の電子楽器。
【請求項8】
前記読み出し手段により読み出される前記音符データ及び前記歌詞データには、小節又は拍を基準とした出力タイミングに関する情報が含まれていることを特徴とする請求項1〜7の何れか1項に記載の電子楽器。
【請求項9】
複数のパートの音符データと、歌詞データとを含むファイルであって、小節及び拍が規定されていないファイルのフォーマットを、小節及び拍が規定されているフォーマットに変換する変換手段を有し、
前記読み出し手段は、前記変換手段により変換されたファイルのデータを記憶媒体から読み出すことを特徴とする請求項8に記載の電子楽器。
【請求項10】
前記決定手段により決定されたパートの情報を、前記歌詞データに書き込む書き込み手段を有することを特徴とする請求項1〜9の何れか1項に記載の電子楽器。
【請求項11】
複数のパートの音符データと、歌詞データとを含むファイルのデータを記憶媒体から読み出す読み出しステップと、
前記読み出しステップにより読み出された前記歌詞データの出力タイミングと、前記複数のパートの音符データの出力タイミングとを比較する比較ステップと、
前記比較ステップにより比較された結果に基づいて、前記歌詞データに合わせて表示すべきパートを前記複数のパートの中から決定する決定ステップと、
前記音符データと、前記歌詞データとを表示装置に表示するステップとをコンピュータに実行させ、
前記表示ステップは、前記決定手段により決定されたパートの音符データに合わせて、前記歌詞データを表示装置に表示することを特徴とするコンピュータプログラム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、電子楽器及びコンピュータプログラムに関し、特に、音符データに合わせて歌詞データを表示するために用いて好適なものである。
【背景技術】
【0002】
音符データを楽譜の形態にしてLCD(Liquid Crystal Display)等の表示装置に表示するに際し、その音符データに、対応する歌詞データを合わせて表示する電子楽器がある(特許文献1を参照)。
【0003】
【特許文献1】特開2001−306066号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、このような電子楽器では、例えば自動演奏機能を実現する際に、複数のパートの音符データと歌詞データとが1トラック中に混在したSMF(Standard MIDI(Musical Instrument Digital Interface) File)等のデータを使用して、複数のパートの音符データを楽譜の形態にして表示装置に表示することもできる。
ところが、このようなSMF等のデータでは、歌詞データがパートの情報を持たない。従って、前述した従来の技術では、歌詞データが複数のパートのどのパートの音符データに対応するものであるのかを判別することが困難であった。よって、前述した従来の技術では、例えばメロディパートの音符データに合わせて歌詞データを表示すべきであるのに、その他の意図しないパートの音符データに合わせて歌詞データが表示されてしまう虞があるという問題点があった。
【0005】
本発明はこのような問題点に鑑みてなされたものであり、複数のパートの音符データと、歌詞データとを含むファイルを用いて、それら音符データと歌詞データとを表示装置に表示するに際し、音符データに合わせて表示すべきパートを複数のパートの中から可及的に確実に決定することができるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の電子楽器は、複数のパートの音符データと、歌詞データとを含むファイルのデータを記憶媒体から読み出す読み出し手段と、前記読み出し手段により読み出された前記歌詞データの出力タイミングと、前記複数のパートの音符データの出力タイミングとを比較する比較手段と、前記比較手段により比較された結果に基づいて、前記歌詞データに合わせて表示すべきパートを前記複数のパートの中から決定する決定手段と、前記音符データと、前記歌詞データとを表示装置に表示する表示手段とを有し、前記表示手段は、前記決定手段により決定されたパートの音符データに合わせて、前記歌詞データを表示装置に表示することを特徴とする。
【0007】
本発明のコンピュータプログラムは、複数のパートの音符データと、歌詞データとを含むファイルのデータを記憶媒体から読み出す読み出しステップと、前記読み出しステップにより読み出された前記歌詞データの出力タイミングと、前記複数のパートの音符データの出力タイミングとを比較する比較ステップと、前記比較ステップにより比較された結果に基づいて、前記歌詞データに合わせて表示すべきパートを前記複数のパートの中から決定する決定ステップと、前記音符データと、前記歌詞データとを表示装置に表示するステップとをコンピュータに実行させ、前記表示ステップは、前記決定手段により決定されたパートの音符データに合わせて、前記歌詞データを表示装置に表示することを特徴とする。
【発明の効果】
【0008】
本発明によれば、複数のパートの音符データと、歌詞データとを含むファイルから読み出した歌詞データの出力タイミングと、複数のパートの音符データの出力タイミングとの比較結果に基づいて、歌詞データに合わせて表示すべきパートを決定し、決定したパートの音符データに合わせて歌詞データを表示装置に表示するようにしたので、音符データに合わせて表示すべきパートを複数のパートの中から可及的に確実に決定することができる。
【発明を実施するための最良の形態】
【0009】
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、本実施形態の電子楽器の概略構成の一例を示したブロック図である。なお、以下では、電子楽器が電子ピアノである場合を例に挙げて説明する。
図1において、電子楽器は、中央処理装置(以下、CPUと称する)1と、フラッシュメモリ2と、ランダムアクセスメモリ(以下、RAMと称する)3と、外部記憶媒体装着部4と、外部入出力用インターフェース部5と、信号バス6と、キースキャン回路7と、鍵盤8と、パネルスキャン回路9と、操作パネル10と、楽音発生部11と、波形フラッシュメモリ12と、デジタル/アナログ変換部(以下、D/A変換部と称する)13と、アナログ信号処理部14と、パワーアンプ15と、スピーカ部16とを有している。
【0010】
図1に示すように、CPU1、フラッシュメモリ2、RAM3、キースキャン回路7、パネルスキャン回路9、楽音発生部11、外部記憶媒体装着部4、及び外部入出力用インターフェース部5は、それぞれ信号バス6に接続され、相互に通信することが可能である。
【0011】
(鍵盤)
鍵盤8は、複数の鍵と、それら複数の鍵の各々に対応して設けられた複数の鍵スイッチとを有している。電子楽器のユーザは、前記複数の鍵を押鍵及び離鍵して所望の演奏を行う。
(キースキャン回路)
キースキャン回路7は、鍵盤8の各鍵スイッチのスキャン処理を行うためのものである。
【0012】
(操作パネル)
操作パネル10は、各種操作子や表示装置を有している。本実施形態の電子楽器では、表示装置として、例えばLCD(Liquid Crystal Display;液晶ディスプレイ)が設けられている。
【0013】
前記操作子としては、電子楽器に電源を供給するための電源スイッチや、電子楽器の設定状態を初期値にリセットするためのリセットスイッチや、テンポや音量を設定するためのダイアルや、音色を選択するための音色選択スイッチが設けられている。
【0014】
また、前記操作子として、レジストレーションの記憶を行うためのRegist設定スイッチや、設定したレジストレーションを呼び出すためのRegistボタンが設けられている。なお、レジストレーションとは、ユーザが鍵盤8を押鍵及び離鍵して行う演奏時の設定を言う。ここで、演奏時の設定は、操作パネル10や鍵盤8の操作内容に基づいて行われるものであり、例えば、音色、伴奏、テンポ、及び演奏効果(音色に変化を与えること)等が設定項目となる。
【0015】
さらに、前記操作子として、外部記憶媒体装着部4に装着された外部記憶媒体にデータを書き込む指示を行うためのディスク書込ボタン(スイッチ)と、外部記憶媒体装着部4に装着された外部記憶媒体からデータを読み込む指示を行うためのディスク読込ボタン(スイッチ)とを含むディスク操作スイッチが設けられている。
【0016】
また、前記操作子として、自動演奏データを呼び出すための自動演奏呼び出しスイッチや、自動演奏呼び出しスイッチにより呼び出された自動演奏データに基づく自動演奏(又は自動伴奏)を開始するための自動演奏開始スイッチも設けられている。さらに、電子楽器を動作可能にするための電源スイッチ等も設けられている。ここで、自動演奏とは、楽曲の全てのパートの演奏を電子楽器が自動で行うことを言う。また、自動伴奏とは、鍵盤8の押鍵及び離鍵に応じたメロディパート(演奏音)を発音させて行うマニュアル演奏に対する伴奏を電子楽器が自動で行うことを言う。
なお、前記操作子は、前述したものに限定されるものではない。また、前述した機能を実現するための操作子であれば、操作子の形態は前述したものに限定されない。
【0017】
(パネルスキャン回路)
パネルスキャン回路9は、操作パネル10に設けられている各種操作子のスキャン処理を行うためのものである。
【0018】
(CPU)
CPU1は、本実施形態の電子楽器の全体を統括制御するためのものであり、フラッシュメモリ2に格納されている制御プログラムに従って、RAM3をワークメモリとして利用しながら、例えば次のような処理を行う。
【0019】
CPU1は、パネルスキャン回路9によりスキャン処理された結果を入力し、操作パネル10の操作内容を識別する。
また、CPU1は、キースキャン回路7によりスキャン処理された結果を入力して、鍵の操作内容(押鍵及び離鍵)を識別する。
そして、その鍵の操作内容(鍵の押鍵及び離鍵)に基づく演奏データや、操作パネル10の操作内容に基づくデータを楽音発生部11に割り当てる処理を行う。
【0020】
この演奏データは、前記各鍵の操作が押鍵(キーオン)であるか離鍵(キーオフ)であるかを示すキーオン/オフ信号や、音高データである音高や、音量制御データであるベロシティデータや、演奏のテンポの絶対値を示すテンポ情報(以下、必要に応じて単にテンポ情報と称する)や、各鍵の動作スピードに関するキータッチレスポンス信号などから構成される。
【0021】
また、CPU1は、前記レジストレーション設定スイッチを用いて設定されたレジストレーションの内容をフラッシュメモリ2に記憶する。その後、前記レジストレーション実行スイッチが操作されると、操作されたレジストレーション実行スイッチに応じたレジストレーションの内容をフラッシュメモリ2から読み出し、読み出したレジストレーションの内容に従った演奏が行われるように電子楽器の設定を変更する。
【0022】
さらに、CPU1は、前記自動演奏呼び出しスイッチの操作内容に基づいて選択された楽曲に関わる自動演奏データを、フラッシュメモリ2から読み出す。その後、前記自動演奏開始スイッチが操作されると、読み出した自動演奏データを楽音発生部11に割り当てる。これにより、自動演奏データに基づく自動演奏の楽音が発音されるようになる。このように、本実施形態の電子楽器では、CPU1が、自動演奏データの再生を行うシーケンサの役割の一部を果たすようにしている。
【0023】
本実施形態では、この自動演奏データが、「SMF0」のファイル形式のデータである場合を例に挙げて説明する。
図2は、自動演奏データの構成の一例を概念的に示した図である。
図2に示すように、自動演奏データ200は、複数のパートのデータ(データa〜d等)を有している。なお、図2では、説明の都合上、自動演奏データの構成を簡略化して示しているが、実際には図2に示すものより複雑であるということは言うまでもない。
【0024】
データa〜dに含まれているタイミングデータは、データa〜dを出力するタイミング等を規定するデータである。本実施形態の自動演奏データ200は、「SMF0」のファイル形式のデータであるので、タイミングデータには、直前のデータの出力時を基準としたタイミングが記述される。具体的に説明すると、例えば、データbに含まれるタイミングデータ(「0x10」)は、データaが出力されてからデータbを出力するまでの時間(デルタタイム)である。なお、データc、dのタイミングデータは、「0x00」なので、データbの出力と同時にデータc、dが出力されることになる。
【0025】
次に、データa、b、dに含まれているステータスデータは、ノートのオンオフや、データa、b、dが属するパート等を規定するデータである。具体的に説明すると、下位4ビットには、チャネル(パート)が記述される。従って、タイミングデータの下位4ビットが同じ値(「0」)を有するデータa、bは、同じチャネル(パート)のデータということになる。一方、データdのタイミングデータの下位4ビットの値は、「1」なので、データdとデータa、bとは異なるパートのデータということになる。
【0026】
また、上位4ビットには、ノートのオンオフが記述される。データa、dのタイミングデータの上位4ビットには、「9」が記述されているので、データa、dは、ノートをオンするイベントを発するデータということになる。一方、データbのタイミングデータの上位4ビットには、「8」が記述されているので、データbは、ノートをオフするイベントを発するデータということになる。
次に、データa、b、dに含まれているパラメータデータは、ステータスデータで規定されているノートの音高やベロシティ等のパラメータを規定するデータである。
【0027】
以上のようにデータa、b、dは、ノートに関するデータ(以下、音符データと称する)であるのに対し、データcは、歌詞データである。「SMF」のファイル形式では、歌詞データのステータスデータにはチャネルデータが含まれていない。従って、その歌詞データがどのパートに対応する歌詞のデータであるのかを、歌詞データだけから判断することができない。そこで、本実施形態では、歌詞データに対応するパートを以下のようにして推定するようにしている。
【0028】
図3は、歌詞データに対応するパートを推定する方法の一例を概念的に示した図である。
図3では、「さくら」という歌詞が、4つのパート(Aパート〜Dパート)のうち、どのパートに対応するものなのかを推定する場合を例に挙げて示している。
まず、歌詞「さ」を示す歌詞データを読み出すと、その歌詞データと出力するタイミングが同じ(すなわち、デルタタイムがゼロの)音符データが属するパートを計数し、計数値を一時的に記憶する。
図3(a)に示すように、歌詞「さ」と出力するタイミングが同じ音符データが属するパートは、Aパート、Bパート、Cパートであるので、図3(b)に示すように、Aパート、Bパート、Cパートに対してそれぞれ「1」が計数される。同様に、歌詞「く」と出力するタイミングが同じ音符データが属するパートは、Aパート、Cパートであるので、Aパート、Cパートに対してそれぞれ「1」が計数され、歌詞「ら」と出力するタイミングが同じ音符データが属するパートは、Bパート、Cパート、Dパートであるので、Bパート、Cパート、Dパートに対してそれぞれ「1」が計数される。
【0029】
本実施形態では、以上の処理の結果、各パートに対する計数値の合計のうち、値が最も大きいパートが、歌詞データに対応するパートとなる。図3に示した例では、Aパートに対する計数値の合計は「2」、Bパートに対する計数値の合計は「1」、Cパートに対する計数値の合計は「3」、Dパートに対する計数値の合計は「1」であるので、「さくら」という歌詞データに対応するパートはCパートであると判定する。
そして、自動演奏時にAパート〜Dパートの音符データを楽譜の形態で表示する際に、Cパートの音符の下に、対応する歌詞を表示するようにする。
なお、本実施形態では、以上のようにして歌詞データに対応するパートを判定した結果、歌詞データに対応するパートが複数あった場合には、それら複数のパートの音符の下に対応する歌詞を表示するようにする。
【0030】
次に、図3に示したようにして行われる処理を、図2に示した例を用いてより詳細に説明する。
図2において、歌詞データであるデータcが読み出されると、そのデータcの周辺にある音符データのうち、データcと出力するタイミングが同じ音符データを、データcに含まれるタイミングデータとそのデータcの周辺にある音符データに含まれるタイミングデータとが一致するか否かに基づいて検索する。そして、その音符データの属するパートを、その音符データに含まれるステータスデータに基づいて判別して計数する。
【0031】
具体的に説明すると、歌詞データであるデータcのタイミングデータは、「0x00」である。従って、まず、データcよりも前の音符データについては、データcのタイミングデータと異なる値のタイミングデータを有する音符データまでが、出力するタイミングがデータcと同じ音符データとなる。すなわち、データb(まで)がデータcと出力するタイミングが同じ音符データとなる。
【0032】
次に、データcよりも後の音符データについては、データcのタイミングデータと異なる値のタイミングデータを有する音符データの直前の音符データまでが、出力するタイミングがデータcと同じ音符データとなる。すなわち、例えば、データdの直後の音符データのタイミングデータが、「0x20」であった場合には、その音符データの直前のデータd(まで)がデータcと出力するタイミングが同じ音符データとなる。
【0033】
以上のような範囲で音符データを検索して、データcと出力するタイミングが同じ音符データ(データb、d)が検索されたら、その音符データ(データb、d)が属するパートを、ステータスデータに基づいて判別し、判別したパートに1を計数する。すなわち、データbのステータスデータの下位4ビットに示されている「0」に対応するパートと、データbのステータスデータの下位4ビットに示されている「1」に対応するパートに対してそれぞれ「1」を計数する。
以上のように、自動演奏データ200の最初からデータを順番に読み出し、歌詞データを読み出す度に、その歌詞データと出力するタイミングが同じ音符データを、タイミングデータに基づいて検索し、その音符データの属するパートをステータスデータに基づいて判別して計数する。
【0034】
そして、本実施形態では、以上のような処理を、自動演奏データ200の区間毎に行い、歌詞データに対応するパートを区間毎に判定する。ここで、自動演奏データ200の区間としては、例えば、予め設定された小節数や、2つの所定休符に挟まれる区間等が好ましいが、どのように区間を定めてもよい。また、自動演奏データ200の区間は、電子楽器の出荷前に設定されるようにしていても、ユーザによって設定されるようにしていても、自動演奏データ200に付加されていてもよい。
なお、CPU1は、前述したものの他に種々の処理を行うということは言うまでもない。
【0035】
(フラッシュメモリ)
フラッシュメモリ2は、読み出し可能なメモリであり、CPU1の制御プログラムの他、レジストレーションデータや、自動演奏データ等、種々のデータを格納する。
【0036】
(RAM)
RAM3は読み書きが可能なメモリであり、CPU1のプログラム実行過程において各種の必要なデータを一時的に記憶したり、編集可能なパラメータデータを記憶したりする記憶領域を有している。このRAM3の一部あるいは全部はバッテリーバックアップされており、必要なデータを、電子楽器の電源がオフにされても保持しておくことができるようにしている。ここで、本実施形態では、図3(b)に示した計数値をRAM3に記憶するようにしている。
【0037】
(波形メモリ)
波形メモリ12は、音色や音域に応じた種々の楽音波形データを記憶している。
(楽音発生部)
楽音発生部11は、前述したようにしてCPU1により割り当てられた演奏データや自動演奏データと、操作パネル10の操作内容に基づくデータとに基づいて、波形メモリ12から必要な楽音波形データを読み出し、所望のデジタル楽音信号を発生させる。
【0038】
(D/A変換部)
D/A変換部13は、楽音発生部11で発生されたデジタル楽音信号をアナログ楽音信号に変換する機能を有する。
(アナログ信号処理部)
アナログ信号処理部14は、D/A変換部13でD/A変換されたアナログ楽音信号に対し、フィルタ処理(ノイズ除去処理)や音質調整、信号レベル(ゲイン)調整等を施す機能を有する。
【0039】
(パワーアンプ)
パワーアンプ15は、アナログ信号処理部14でノイズ除去処理が施されたアナログ楽音信号に対し、増幅処理を施して適当なレベルに増幅する。
(スピーカ部)
スピーカ部16は、パワーアンプ15で増幅されたアナログ楽音信号を可聴信号として放音するためのものであり、1個あるいは複数個で構成されている。
【0040】
(外部記憶装置装着部)
外部記憶媒体装着部4は、例えば、CD−RWドライブである。そして、CPU1は、CD−RWドライブに装着されたCD−ROMに記憶されている制御プログラムや各種データを読み出して必要な処理を行う。なお、外部記憶媒体装着部4は、CD−RWドライブに限定されず、フレキシブルディスク(FD)装置や、光磁気ディスク(MO)装置などであってもよいということは言うまでもない。
【0041】
(外部入出力用インターフェース部)
外部入出力用インターフェース部5は、外部装置との間で、演奏情報などのデータのやり取りを行うためのものである。具体的に、この外部入出力用インターフェース部5は、例えばMIDI(Musical Instrument Digital Interface)である。
【0042】
次に、図4〜図10のフローチャートを参照しながら、本実施形態の電子楽器に配設されたCPU1により実行される処理の一例を説明する。
図4は、CPU1により実行されるメインルーチンの処理の一例を説明するフローチャートである。
まず、ステップS1において、初期化処理を実行する。
次に、ステップS2において、イベントが発生したか否かを判定する。この判定の結果、イベントが発生した場合には、ステップS3に進み、イベント処理を実行する。このイベント処理の詳細については、図5を参照しながら後述する。一方、イベントが発生していない場合には、このステップS3を省略してステップS4に進む。
そして、ステップS4において、その他の処理を実行する。ここで、その他の処理とは、電子楽器で一般的に行われている処理である。
【0043】
次に、図5のフローチャートを参照しながら、図4のステップS3のイベント処理の詳細の一例を説明する。
まず、ステップS11において、発生したイベントが、自動演奏を行う楽曲を選択する楽曲選択イベントか否かを判定する。例えば、操作パネル10に設けられている自動演奏呼び出しスイッチがオンされると、発生したイベントが楽曲選択イベントであると判定する。
【0044】
この判定の結果、発生したイベントが楽曲選択イベントである場合には、ステップS12に進み、楽曲選択イベント処理を行う。この楽曲選択イベント処理については、図6〜図8を参照しながら後述する。一方、発生したイベントが楽曲選択イベントでない場合には、ステップS13に進む。ステップS13では、発生したイベントが演奏イベントであるか否かを判定する。ここで、演奏イベントとは、演奏を実行するためのイベントを言い、例えば、鍵盤8やダンパペダル等の演奏操作子の操作に係るイベントや、自動演奏の実行に係るイベントである。
【0045】
この判定の結果、発生したイベントが演奏イベントである場合には、ステップS14に進み、演奏イベント処理を行う。この演奏イベント処理については、図9、図10を参照しながら後述する。
一方、発生したイベントが演奏イベントでない場合には、ステップS15に進み、発生したイベントが、その他処理が必要なイベントか否かを判定する。この判定の結果、発生したイベントが、その他処理が必要なイベントである場合には、ステップS16に進み、発生したイベントに応じた処理を行う。一方、発生したイベントが、その他処理が必要なイベントでない場合には、図4に示したフローチャートに戻る。
【0046】
次に、図6のフローチャートを参照しながら、図5のステップS12の楽曲選択イベント処理の一例を詳細に説明する。
まず、ステップS21において、フラッシュメモリ2に記憶されている自動演奏データに基づいて、選択可能な楽曲を判別し、判別した楽曲の一覧を操作パネル10に設けられている表示装置(LCD)に表示する。
次に、ステップS22において、自動演奏呼び出しスイッチの操作内容に基づいて、ステップS21で表示した楽曲の一覧の中から、楽曲が選択されるまで待機する。
次に、ステップS23において、ステップS22で選択された楽曲に関わる自動演奏データ200をフラッシュメモリ2から読み出す楽曲データ読み出し処理を行い、図5に示したフローチャートに戻る。
【0047】
次に、図7のフローチャートを参照しながら、図6のステップS23の楽曲データ読み出し処理の一例を詳細に説明する。
まず、ステップS31において、図6のステップS22で選択されたと判定された楽曲に関わる自動演奏データ200を読み出す。このステップS31では、自動演奏データ200に含まれる未読のデータのうち、最初に記述されているデータを読み出す。図2に示した例では、まずデータaを読み出す。
【0048】
次に、ステップS32において、ステップS31で読み出したデータが歌詞データであるか否かを判定する。この判定の結果、ステップS31で読み出したデータが歌詞データでなければ、ステップS33に進み、その他の処理を行う。その他の処理としては、例えば、読み出した音符データをRAM3に展開する処理等が挙げられる。
【0049】
一方、ステップS31で読み出したデータが歌詞データであれば、ステップS34に進む。ステップS34では、ステップS31で読み出した歌詞データが、音符に対応したデータであるか否かを判定する。ここで、歌詞データの中には、空白又は改行といった音符に対応しない歌詞データが存在する。そこで、本実施形態では、音符に対応しない歌詞データを除外することにより、以降の処理を迅速に行えるようにしている。
【0050】
この判定の結果、ステップS31で読み出した歌詞データが、音符に対応したデータでなければ、後述する図8のステップS40に進む。一方、ステップS31で読み出した歌詞データが、音符に対応したデータであれば、ステップS35に進む。ステップS35では、ステップS31で読み出した歌詞データと出力するタイミングが同じ音符データを、前述したようにして読み出す。すなわち、ステップS31で読み出した歌詞データと、タイミングデータが同じ値を有する音符データを読み出す。
【0051】
次に、ステップS36において、ステップS35で読み出した音符データが、除外データであるか否かを判定する。ここで、自動演奏データには、エクスクルーシブデータ、NRPNデータ、及び音色番号データ等が含まれている。従って、これらエクスクルーシブデータ、NRPNデータ、及び音色番号データ等を参照することによって、音符データのパートが、明らかに歌詞データに対応するパート(例えばメロディパート)でないことを判別することができる。このように、本実施形態では、ステップS35で読み出した音符データのうち、明らかに歌詞データに対応するパートでない音符データを除外データとして除外することにより、以降の処理を正確に且つ迅速に行うことができる。
【0052】
なお、本実施形態では、ステップS36において、自動演奏データ200に含まれる除外データを検索するようにしたが、ステップS36よりも前に、自動演奏データ200に含まれる除外データを予め検索しておくようにしてもよい。このようにした場合には、ステップS36において、ステップS35で読み出した音符データが、予め検索しておいた除外データであるか否かを判定することになる。
【0053】
以上のようなステップS36の判定の結果、ステップS35で読み出した音符データが、除外データである場合には、ステップS37、S38を省略してステップS39に進む。一方、ステップS35で読み出した音符データが、除外データでない場合には、ステップS37に進み、ステップS35で読み出した音符データのステータスデータを参照して、ステップS35で読み出した音符データのパートを判別する。
【0054】
次に、ステップS38において、ステップS37で判別したパートに対する計数値に「1」を加算する。
次に、ステップS39において、ステップS31で読み出した歌詞データと出力するタイミングが同じ音符データであって、未読の音符データがあるか否かを判定する。この判定の結果、未読の音符データがある場合には、未読の音符データがなくなるまでステップS35〜S39を繰り返し行った後に、図8のステップS40に進む。
【0055】
ステップS40に進むと、歌詞データに対応するパートを判定する現在の区間における全てのデータを、図6のステップS22で選択されたと判定された楽曲に関わる自動演奏データ200から読み出したか否かを判定する。この判定の結果、現在の区間における全てのデータを読み出していない場合には、ステップS31に戻り、自動演奏データ200に含まれる未読のデータのうち、最初に記述されているデータを読み出す。図2に示した例において、データaが読み出された場合には、未読のデータのうち、最初に記述されているのはデータbであるので、データbを読み出すことになる。
一方、現在の区間における全てのデータを読み出した場合には、ステップS41に進み、ステップS38で加算された計数値の合計が最も大きいパートを、現在の区間における歌詞データに対応するパートとして判別し、判別したパートをRAM3等に一時的に記憶する。
【0056】
次に、ステップS42において、図6のステップS22で選択されたと判定された楽曲に関わる自動演奏データ200の全てを読み出したか否かを判定する。この判定の結果、自動演奏データ200の全てを読み出していない場合には、ステップS43に進み、次の区間を指定して、ステップS31に戻り、その次の区間における歌詞データに対応するパートを判別する。
一方、自動演奏データ200の全てを読み出した場合には、図6に示したフローチャートに戻る。
【0057】
次に、図9のフローチャートを参照しながら、図5のステップS14の演奏イベント処理の一例を詳細に説明する。
まず、ステップS51において、発生したイベントが、鍵盤8やダンパペダル等の演奏操作子の操作であるか否かを判定する。この判定の結果、発生したイベントが演奏操作子の操作である場合には、ステップS52に進み、演奏操作子の操作内容に応じて、発音及び消音の何れかの処理を行う。
【0058】
一方、発生したイベントが演奏操作子の操作でない場合には、ステップS53に進み、発生したイベントが、操作パネル10に設けられている自動演奏開始スイッチのオン操作であるか否かを判定する。この判定の結果、発生したイベントが自動演奏開始スイッチのオン操作である場合には、ステップS54に進み、自動演奏処理を行う。この自動演奏処理については、図10のフローチャートを参照しながら後述する。
【0059】
一方、発生したイベントが自動演奏開始スイッチのオン操作でない場合には、ステップS55に進み、発生したイベントが、その他処理が必要なイベントか否かを判定する。この判定の結果、発生したイベントが、その他処理が必要なイベントである場合には、ステップS56に進み、発生したイベントに応じた処理を行う。一方、発生したイベントが、その他処理が必要なイベントでない場合には、図5に示したフローチャートに戻る。
【0060】
次に、図10のフローチャートを参照しながら、図9のステップS54の自動演奏処理の一例を詳細に説明する。
まず、ステップS61において、図5のステップS12の楽曲選択イベント処理で楽曲が選択されているか否かを判定する。この判定の結果、楽曲が選択されていない場合には、自動演奏を行う対象が選択されていないので、図9のフローチャートに戻る。
一方、楽曲が選択されている場合には、ステップS62に進む。ステップS62では、歌詞データに対応するパートに関するデータ(図8のステップS41を参照)と、自動演奏の進行状況とに基づいて、歌詞データに対応するパートの音符データの表示を行うタイミングか否かを判定する。この判定の結果、歌詞データに対応するパートの音符データの表示を行うタイミングである場合には、ステップS63に進む。
【0061】
ステップS63では、操作パネル10に設けられた表示装置(LCD)に表示対象の音符データを例えば楽譜の形態で表示する。このとき、歌詞データに対応するパートについては、例えば音符の下に、その音符によって表される歌詞を表示する。具体的に説明すると、図3に示した例では、Cパートの3つの音符の下にそれぞれ「さ」、「く」、「ら」と表示する。
一方、歌詞データに対応するパートの音符データの表示を行うタイミングでない場合には、ステップS64に進み、操作パネル10に設けられた表示装置(LCD)に表示対象の音符データを楽譜の形態で表示する。このときは、歌詞データに対応するパートは表示されないので、歌詞データも表示されない。
【0062】
次に、ステップS65において、図7のステップS31で読み出された自動演奏データ(音符データ)200に合わせて、自動演奏を行う。
次に、ステップS66において、自動演奏の進行に合わせて、操作パネル10に設けられた表示装置(LCD)への表示対象となる音符データを変更して、図9のフローチャートに戻る。
【0063】
以上のように本実施形態では、自動演奏データ200に含まれる歌詞データのそれぞれについて、出力するタイミングが同じである音符データのパートを計数し、計数値の合計が最も大きいパートを、歌詞データに対応するパートとし、そのパートの音符を表示する際に、その音符の下に対応する歌詞を表示する。これにより、歌詞データを表示すべきパートを可及的に適切に決定することができる。従って、意図しないパートの音符データに合わせて歌詞データが表示されてしまうことを防止することができる。
【0064】
また、本実施形態では、空白又は改行といった音符に対応しない歌詞データについては、その歌詞データに対応するパートを判定する処理の対象から除外するようにしたので、歌詞データに対応するパートをより迅速に行うことができる。
さらに、本実施形態では、音符データが、明らかに歌詞データに対応するパートのデータでない場合には、(歌詞データと出力するタイミングが同じであっても、)その音符データのパートを計数しないようにしたので、歌詞データに対応するパートをより正確に且つ迅速に行うことができる。
【0065】
なお、本実施形態では、自動演奏データ200に含まれる歌詞データと音符データとを比較するに際し、出力するタイミングが同じであるか否かを判定するようにしたが、必ずしもこのようにする必要はない。例えば、出力するタイミングが所定の範囲以内にあるか否かを判定するようにしてもよい。ここで、所定の範囲は、例えば、SMFにおけるメロディパートの分解能や、装飾音符1つ分の長さ(例えば32分音符1つ分の長さ)に基づいて決定することができる。
【0066】
また、本実施形態では、自動演奏データ200に含まれる歌詞データのそれぞれについて、出力するタイミングが同じである音符データのパートを計数し、計数値の合計が最も大きいパートを、歌詞データに対応するパートとするようにしたが、必ずしもこのようにする必要はない。すなわち、自動演奏データ200に含まれる歌詞データのそれぞれについて、歌詞データと同じタイミングに音符データの存在しないパートを計数し、計数値の合計が最も小さいパートを、歌詞データに対応するパートとするようにしてもよい。また、このようにして歌詞データと同じタイミングに音符データの存在しないパートを計数するのではなく、歌詞データの出力タイミングに対し、前記所定の範囲内に音符データの存在しないパートを計数するようにしてもよい。
さらに、本実施形態では、歌詞データに対応するパートを区間毎に判定するようにしたが、必ずしもこのようにする必要はなく、自動演奏データ200全体(曲全体)で、歌詞データに対応するパートを1つだけ判定するようにしてもよい。
【0067】
また、本実施形態では、以上のようにして歌詞データに対応するパートを判定した結果、歌詞データに対応するパートが複数あった場合には、それら複数のパートの音符の下に対応する歌詞を表示するようにしたが、必ずしもこのようにする必要はない。例えば、ユーザによる操作パネル10の操作に基づいて選択されたパートの音符の下に対応する歌詞を表示するようにしてもよい。
さらに、本実施形態では、歌詞データに対応するパートの音符の下に、対応する歌詞を表示するようにするにしたが、必ずしもこのようにする必要はない。例えば、歌詞データに対応するパートの音符に合わせて、表示画面の最下欄に、対応する歌詞を表示するようにしてもよい。
また、本実施形態では、自動演奏データについて、歌詞データに対応するパートを判定するようにしたが、複数のパートの音符データと、歌詞データとを含むファイルのデータであれば、歌詞データに対応する対象となるデータは自動演奏データに限定されるものではないということは言うまでもない。
【0068】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、自動演奏データが、「SMF0」のファイル形式のデータである場合を例に挙げて説明した。この「SMF0」は、小節及び拍の規定がなされていないフォーマットとなっている。そこで、本実施形態では、「SMF0」のファイル形式の自動演奏データを、小節及び拍の規定がなされているフォーマットに変換するようにしている。このように、本実施形態と、前述した第1の実施形態とは、歌詞データに対応するパートを判定する対象となる自動演奏データのフォーマットが主として異なる。従って、以下の説明において、第1の実施形態と同一の部分については、図1〜図10に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0069】
図11は、小節及び拍の規定がなされているフォーマットに変換された自動演奏データの構成の一例を概念的に示した図である。
図11に示す自動演奏データ1100は、図2に示したような自動演奏データ200から変換された後に、フラッシュメモリ2に記憶されたものである。ここで、変換元の自動演奏データ200は、例えば、外部記憶媒体装着部4に装着された外部記憶媒体から読み出される。なお、この図11では、説明の都合上、構成を簡略化して示しているが、実際には図11に示すものより複雑であるということは言うまでもない。
【0070】
図11において、データa´は、図2に示したデータaが変換されたものであり、データc´は、図2に示したデータcが変換されたものである。データa´には、図2に示したデータaには存在していない小節データBarと拍データBeatとが含まれている。小節データBarの「0xF4」は、小節を識別するデータであり、「0x00」は、その小節における拍子数を表すデータである。また、拍データBeatの「0xF5」は、拍を識別するデータである。
【0071】
図2に示した自動演奏データ200のタイミングデータには、直前のデータの出力時を基準としたタイミング(デルタタイム)が記述される。これに対し、本実施形態の図11に示す自動演奏データ1100のタイミングデータには、以下のようなデータが記述される。
図12は、自動演奏データ1100のタイミングデータの読み方の一例を説明する図である。
【0072】
図12に示すように、小節の開始地点1201から1拍目1202までの音符データにおけるタイミングデータには、その小節の開始地点1201を基準としたタイミング(デルタタイム)が記述される。1拍目1202から2拍目1203、2拍目1203から3拍目1204、3拍目1204から4拍目1205の間にある音符データについては、それぞれ、1拍目1202、2拍目1203、3拍目1204を基準としたタイミング(デルタタイム)が記述される。
【0073】
従って、例えば、音符データ1206、1207のデルタタイムが共に「60」であるとすると、音符データ1206、1207のタイミングデータは同じ値になるが、音符データ1206、1207に含まれる拍データを参照することにより、音符データ1206は、1拍目1202からのデルタタイムが「60」であり、音符データ1207は、2拍目1203からのデルタタイム「60」であることを判別することができる。
【0074】
以上のようにしてタイミングデータを記述することによっても、第1の実施形態と同様にして、例えば、自動演奏データ1100に含まれる歌詞データのそれぞれについて、出力するタイミングが同じである音符データのパートを計数し、計数値の合計が最も大きいパートを、歌詞データに対応するパートとして決定することが可能になる。
【0075】
図11に説明を戻し、歌詞データであるデータc´の下位4ビットは空欄になっている。この下位4ビットには、歌詞データに対応するパートが決定されたら、そのパートを示すデータがCPU1の処理によって書き込まれる(マージされる)。このようにすることによって、歌詞データに対応するパートを決定する処理を1度行えば、それ以降は、歌詞データを参照するだけで、その歌詞データに対応するパートを判別することができ、処理を効率よく行うことができる。
【0076】
なお、本実施形態では、小節及び拍の規定がなされているフォーマットに自動演奏データを変換するようにしたが、必ずしもこのようにする必要はなく、小節及び拍の何れか一方のみが規定がなされているフォーマットに自動演奏データを変換することもできる。例えば、小節のみが規定されているフォーマットに自動演奏データを変換する場合には、音符データのタイミングデータには、その音符データが属する小節の開始地点からのデルタタイムが記述されることになる。
また、本実施形態では、音符データ(例えばデータa´)に小節及び拍のデータを含ませるようにした場合を例に挙げて説明したが、音符データに小節及び拍のデータを含めず、小節及び拍のデータがその他のデータから独立するようにしてもよい。例えば、2拍子のデータの場合は、<小節データ><拍データ><音符データ等><拍データ><音符データ等><小節データ>・・・とし、3拍子のデータの場合は、<小節データ><拍データ><音符データ等><拍データ><音符データ等><拍データ><音符データ等><小節データ>・・・としてもよい。
例えば、図11に示した自動演奏データ1100において、以上のように音符データに小節及び拍のデータを含めないようにした場合、小節データは「0xF0」、「0x**」の2バイトデータとなり(**は拍子情報)、拍データは「0xF5」の1バイトデータとなり、音符データは「0x9n」、「0x**」、「パラメータ1」、「パラメータ2」、「パラメータ3」の5バイトデータ(nはチャネル情報、**はタイミング情報、パラメータ1〜3はそれぞれ音高情報、ベロシティ情報、ゲートタイム情報)となる。
【0077】
(本発明の他の実施形態)
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0078】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0079】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0080】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【0081】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【0082】
【図1】本発明の第1の実施形態を示し、電子楽器の概略構成の一例を示したブロック図である。
【図2】本発明の第1の実施形態を示し、自動演奏データの構成の一例を概念的に示した図である。
【図3】本発明の第1の実施形態を示し、歌詞データに対応するパートを推定する方法の一例を概念的に示した図である。
【図4】本発明の第1の実施形態を示し、メインルーチンの処理の一例を説明するフローチャートである。
【図5】本発明の第1の実施形態を示し、図4のステップS3のイベント処理の詳細の一例を説明するフローチャートである。
【図6】本発明の第1の実施形態を示し、図5のステップS12の楽曲選択イベント処理の一例を詳細に説明するフローチャートである。
【図7】本発明の第1の実施形態を示し、図6のステップS23の楽曲データ読み出し処理の一例を詳細に説明するフローチャートである。
【図8】本発明の第1の実施形態を示し、図7に続くフローチャートである。
【図9】本発明の第1の実施形態を示し、図5のステップS14の演奏イベント処理の一例を詳細に説明するフローチャートである。
【図10】本発明の第1の実施形態を示し、図9のステップS54の自動演奏処理の一例を詳細に説明するフローチャートである。
【図11】本発明の第2の実施形態を示し、小節及び拍の規定がなされているフォーマットに変換された自動演奏データの構成の一例を概念的に示した図である。
【図12】本発明の第2の実施形態を示し、自動演奏データのタイミングデータの読み方の一例を説明する図である。
【符号の説明】
【0083】
1 CPU
2 フラッシュメモリ
3 ROM
4 外部記憶媒体装着部
5 外部入出力用インターフェース部
9 パネルスキャン回路
10 操作パネル
200、1100 自動演奏データ




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013