米国特許情報 | 欧州特許情報 | 国際公開(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−171778(P2007−171778A)
公開日 平成19年7月5日(2007.7.5)
出願番号 特願2005−372108(P2005−372108)
出願日 平成17年12月26日(2005.12.26)
代理人 【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
発明者 和久田 定資
要約 課題
音符とその音符に対応する歌詞とを可及的に分かりやすく表示できるようにする。

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




 

 


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

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


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