JP4175208B2 - 楽譜表示装置及びプログラム - Google Patents
楽譜表示装置及びプログラム Download PDFInfo
- Publication number
- JP4175208B2 JP4175208B2 JP2003205282A JP2003205282A JP4175208B2 JP 4175208 B2 JP4175208 B2 JP 4175208B2 JP 2003205282 A JP2003205282 A JP 2003205282A JP 2003205282 A JP2003205282 A JP 2003205282A JP 4175208 B2 JP4175208 B2 JP 4175208B2
- Authority
- JP
- Japan
- Prior art keywords
- lyrics
- display
- data
- display data
- displayed
- 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
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
この発明は、歌詞情報付きの演奏データに基づいて楽譜を表示する際に歌詞を読み易くすることができる楽譜表示システムに関する。
【0002】
【従来の技術】
従来より、自動演奏データに基づいて見栄えのよい楽譜表示を行うようにした装置やプログラムは、例えば、特許文献1に示されるように、既によく知られている。特許文献1では、各小節内でタイミングの異なる音符が重なって表示されないように、各小節の表示幅および各音符位置の割り付けを制御している。
【0003】
【特許文献1】
特開平11−327427号公報
【0004】
ところで、自動演奏データには歌詞を表わすイベントで構成される歌詞情報が含まれているものがある。このような自動演奏データは、歌詞情報も音符情報と同様にタイミング情報を持っており、音符に基づいて表示される楽譜に合わせて表示することができる。この場合、音符については、重ならないように小節幅が調整されて表示されるが、歌詞については考慮されていない。そのため、表示画面上で音符密度の高い小節などでは、歌詞の各文字が重なって表示されたり、表示しきれない部分が省略されるなどしてユーザが読みづらくなることがある。
【0005】
【発明が解決しようとする課題】
この発明は、このような不都合に鑑み、歌詞情報付きの演奏データなどに基づいて楽譜表示する際に、歌詞がきれいに表示し切れない場合でも、ユーザは特別な操作をすることなく歌詞を容易に読むことができるようにした楽譜表示システムを提供することを目的とする。
【0006】
【課題を解決するための手段】
この発明の主たる特徴に従う楽譜表示装置又は楽譜表示プログラムの手順は、曲を表わす演奏データから音符表示データ(Nd)及びこれに対応する歌詞表示データ(Ld)を取得するデータ取得手段又はステップ(S2,S4)と、取得された音符表示データ(Nd)に基づいて音符(N1〜N5)を表示する音符表示手段又はステップ(S3)と、上記曲を表わすデータを所定時間毎に区切った区間(基本表示範囲)のうち、取得された歌詞表示データ(Ld:Ld1〜Ld5)に基づく歌詞(L1〜L5)を、対応する音符表示データ(Nd)に基づき表示される音符(N1〜N5)に合わせて表示した場合に、歌詞同士が重なる区間を検出する重なり検出手段又はステップ(S6→NO)と、検出された区間に対応する一連の歌詞表示データ(Ld1〜Ld5)を複数のグループ(G1〜G3)に分割する分割手段又はステップ(S8)と、曲の進行に従って上記一連の歌詞表示データが再生すべき対象に指定されている間(R4→YES)、分割された各グループ(G1,G2,G3)の歌詞表示データ(Ld1+Ld2,Ld3+Ld4,Ld5)に基づいて歌詞(L1+L2,L3+L4,L5)を順次表示する歌詞表示手段又はステップ(R5〜R11)とを備える〔請求項1,4〕。なお、括弧書きは、対応する実施例の参照記号又は用語を例示したものであり、以下においても同様である。
【0007】
この発明による楽譜表示装置において、歌詞表示手段(R5〜R11)は、分割された歌詞表示データ(Ld1〜Ld5)に基づく歌詞(L1〜L5)を、対応する音符表示データ(Nd)に基づく音符(N1〜N5)の表示位置に合うように表示する(R6)〔請求項2〕ように構成し、或いは、分割された各グループ(G1,G2,G3)の歌詞表示データ(Ld1+Ld2,Ld3+Ld4,Ld5)に基づく歌詞(L1+L2,L3+L4,L5)を表示する際、当該歌詞(L1+L2,L3+L4,L5)に隣接して別の歌詞(L3,L2,L4)が当該区間(基本表示範囲)内に存在することを表わす簡略表記(歌詞存在マークMk)を表示する(R7〜R11)〔請求項3〕ように構成することができる。
【0008】
〔作用〕
この発明による楽譜表示システムにおいては、歌詞情報付きの曲データをMIDI形式などで表現した演奏データを読み出し、読み出した演奏データから音符表示データ(Nd)及び歌詞表示データ(Ld)を取得すると(S2,S4)、取得した各音符表示データ(Nd)に従って各音符(N1〜N5)が完全に表示される。また、歌詞表示データ(Ld)については、仮に、各歌詞表示データ(Ld)に従い各音符(N1〜N5)に合わせて歌詞(L1〜L5)を表示した際に、歌詞(L1〜L5)同士が重なる区間〔「区間」は、実施例では基本表示範囲といい、小節、拍、音符毎などの時間的な所定の範囲(位置)を指す。〕を検出する。ここで、「歌詞同士が重なる」には、例えば、拍の区切りや小節線などの所定区間の区分線と重なる状態、つまり、所定区間内に歌詞が入り切らない状態が含まれる。次に、検出された区間に表示されるべき歌詞(L1〜L5)がこの区間で表示可能になるように、重なり区間に対応する一連の歌詞表示データ(Ld1〜Ld5)を複数グループ(G1〜G3)に分割する。そして、検出された重なり区間が再生対象である間、分割されたグループ(G1,G2,G3)毎に歌詞表示データ(Ld1+Ld2,Ld3+Ld4,Ld5)に従って、各グループに対応する歌詞(L1+L2,L3+L4,L5)を順次表示する。
【0009】
また、分割された歌詞表示データ(Ld1〜Ld5)に従って歌詞(L1〜L5)を表示する際には、対応する音符(N1〜N5)の表示位置に合うように表示する。この際、さらに、表示しようとしているグループ(G1,G2,G3)の歌詞(L1+L2,L3+L4,L5)に隣接する歌詞(L3,L2,L4)の存在を簡略表記(Mk)で追加し、この追加表示により、重なり区間内における当該表示中の歌詞(L1+L2,L3+L4,L5)の順番(先頭、途中、末尾)が分かるようにする。
【0010】
このように、この発明によると、演奏データの歌詞情報に従う歌詞を全て表示し切れない重なり区間については、当該区間の歌詞をグループ分けし、再生に応じてグループ分けした歌詞を順次表示するようにしているので、歌詞をきれいに表示し切れない場合でも、ユーザは、特別な操作をすることなく、歌詞を容易に読むことができる。また、その際、音符表示位置に合わせて歌詞を表示し、楽譜の主要素である音符の表示には影響させず、楽譜表示をきれいな状態に維持することができる。さらに、表示されている歌詞が重なり区間の歌詞の一部分である場合、区間内における表示中の歌詞の位置付けを追加表示で知ることができる。
【0011】
【発明の実施の形態】
〔システム構成〕
図1は、この発明の一実施例による楽譜表示システムのハードウエア構成例を示す。この例では、楽譜表示装置本体を構成する情報処理装置には、ポータブルキーボード等の電子楽器が用いられるが、電子楽器に特化した形態でなくとも、演奏データに基づく楽譜表示処理機能を有するパーソナルコンピュータ等の汎用処理装置の形態でもよい。この楽譜表示装置は、中央処理装置(CPU)1、ランダムアクセスメモリ(RAM)2、読出専用メモリ(ROM)3、外部記憶装置4、入力操作部5、表示部6、音源部7、通信インターフェース(通信I/F)8などの要素を備え、これらの要素1〜8はバス9に接続される。
【0012】
装置全体を制御するCPU1は、所定の制御プログラムに従って各種処理を実行し、RAM2は、これらの処理で利用される種々の情報を一時的に記憶するための処理バッファとして機能する。例えば、楽譜表示処理時には、歌詞表示データをグループ分けする際のグループ番号などがRAM2上に格納される。また、ROM3は、CPU1に楽譜表示処理を実行させるための楽譜表示プログラムを含む各種制御プログラムや各種データ等を記憶している。
【0013】
外部記憶装置4は、ハードディスク(HD)や、コンパクトディスク・リード・オンリィ・メモリ(CD−ROM)、フレキシブルディスク(FD)、光磁気(MO)ディスク、ディジタル多目的ディスク(DVD)、メモリカード等の記憶媒体を用いた記憶手段である。楽譜表示プログラム等の各種制御データは、ROM3だけでなく外部記憶装置4に記憶させることができる。例えば、ROM3に制御プログラムが記憶されていない場合、HDやCD−ROMなどの外部記憶装置4に制御プログラムを記憶させておいてそれをRAM2に読み込むことで、ROM3に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができ、制御プログラムの追加やバージョンアップ等を容易に行うことができる。また、楽譜表示プログラムや歌詞表示データを含む演奏データ等をインストールすることによって、所望の楽譜表示装置を実現することができる。
【0014】
入力操作部5は、演奏用鍵盤などの演奏操作子や、文字キー等のスイッチを主体とするパネル操作子と、それらの検出回路から成り、操作子による演奏/設定入力操作の内容を検出回路で検出してシステム本体内に導入する。例えば、演奏操作子の演奏入力操作に基づく実演奏データを入力したり、パネル操作子のスイッチ操作にてシステムの動作状態を設定したり楽譜表示に必要な各種情報を入力することができる。表示部6は、ディスプレイ(CRT、LCD等の表示器)10の表示内容や各種インジケータの点灯状態をCPU1からの指令に従って制御し、楽譜表示を行ったり入力操作に対する表示援助を行う。
【0015】
音源部7は、音源(ソフトウエアを含む)や効果付与DSPを含み、CPU1で処理された演奏データに対応する楽音信号を生成し、音源部7に接続されるサウンドシステム11は、D/A変換部やアンプ、スピーカを備え、音源部7からの楽音信号に基づく楽音を発生する。つまり、音源7及びサウンドシステム11は楽音生成部を形成し、演奏データに基づく楽音を発音することができる。
【0016】
また、図示の通信I/F8は、ローカルエリアネットワーク(LAN)や、インターネット、電話回線などの一般用通信ネットワーク、或いは、MIDI用ネットワークに接続される各種インターフェースを一括して表わしており、サーバ等の他の情報処理装置やMIDI機器などの種々の外部機器PDと、必要な各種情報を授受することができる。例えば、この装置に制御プログラムや各種データ等が記憶されていない場合、通信I/F8を介して他の情報処理装置PDから制御プログラムや種々のデータ等をダウンロードすることができる。また、外部機器PDにMIDI鍵盤などの別の演奏入力操作装置を用いて、その演奏操作に基づく演奏データを通信I/F8から取り込むこともできる。
【0017】
〔表示データの例〕
この発明の一実施例による楽譜表示システムでは、ROM3、外部記憶装置4或いは外部機器PDから演奏データを呼び出し、この演奏データに音符情報及び歌詞情報として含まれる音符データ及び歌詞データから得られる音符表示データ及び歌詞表示データに基づき、演奏データの進行に従ってディスプレイ10の楽譜画面に音符列及び歌詞列から成る楽譜を表示していくことができる。この場合、演奏操作子(5)による実演奏に対して楽譜表示でガイドしたり、楽音生成部(7,11)を通じて演奏データが再生されるのに合わせて楽譜を表示し、或いは、音符データ及び歌詞データのみを再生して楽譜を表示して、当該演奏データの内容を視認したりするのに利用することができる。
【0018】
図2は、この発明の一実施例による楽譜表示システムで楽譜表示に用いられる表示データの例を表わす。このシステムでは、図2(1),(2)に夫々示されるような音符表示及び歌詞表示データNd,Ldを演奏データから取得してこれを楽譜表示に利用する。音符表示データNdは、例えば、MIDI形式で表わされる演奏データにおける所定パート(例えば、メロディパート)の音符データから作成され、音符データの音符イベント毎に、図2(1)のように、タイミングデータ、音高(音高軸上の位置)、音符種類、音符フォントのサイズ、表示位置(時間軸上の位置)、等々、の要素データを有しており、これらの要素データを用いて、演奏データの進行に従った音符列をディスプレイ10の音符表示領域に表示することができる。ここで、音符には休符が含まれるものとする。
【0019】
歌詞表示データLdは、演奏データに含まれる歌詞データから作成され、歌詞データの歌詞イベント毎に、図2(2)のように、タイミングデータ、歌詞(文字)情報、文字フォント種類、文字フォントのサイズ、表示位置(時間軸上の位置)、等々、の要素データを有している。各歌詞イベントは、歌詞文字を特定するための歌詞(文字)情報として、1文字分に限らず、複数文字分持つ場合もある。表示される歌詞には、ひらがなやカタカナの外に、漢字や数字、アルファベット或いはその他の文字を用いることができる。また、スペースや括弧、更に改ページや改行なども含み、語句を識別するもの(文節を区切るための何らかの情報)があってもよい。従って、各歌詞イベントは、楽譜画面に実際に表示される文字だけでなく、スペース情報Spなどが加わり、文字とスペースや区切り情報のセットを表わす場合もある。或いは、表示する文字情報を持たず、例えば、改行情報や改ページ情報などの区切り情報のみから成る場合もある。
【0020】
また、1つの(音符イベント毎の)音符表示データNdには1以上の(歌詞イベント毎の)歌詞表示データLdを対応させることができる。そして、歌詞表示データLdの要素データを用いて、音符の進行に従った歌詞列をディスプレイ10の歌詞表示領域に表示することができる。なお、以下の例では、説明を簡単にするために、1つの(音符イベント毎の)音符表示データNdにそれぞれ対応して1つの(歌詞イベント毎の)歌詞表示データLdが設定され、従って、各歌詞表示データLdにより各音符表示データNdに対応する1乃至複数文字から成る歌詞を表示することができるものとする。
【0021】
〔歌詞表示例〕
この発明の一実施例による楽譜表示システムでは、歌詞を対応する音符の位置に合わせて表示する際に、表示される歌詞同士が重なることがある場合には、これを検出して、歌詞表示に重なりをもたらす一連の歌詞データを複数のグループに分割し、グループ分けされた歌詞データ毎に順次その表示タイミングで表示する。図3は、この発明の一実施例による楽譜表示態様を説明するための楽譜表示例である。
【0022】
ここで、図3を用いてこの発明の一実施例による楽譜表示システムの概略を簡単に説明しておくと、次のとおりである。このシステムでは、演奏データから音符表示及び歌詞表示データNd,Ldが得られ、音符表示データNdに従って各音符N1〜N5が完全に表示される。一方、歌詞については、仮に、各歌詞表示データLd=Ld1〜Ld5に従い各音符N1〜N5に合わせて歌詞L1〜L5を表示した際に、歌詞同士が重なる区間〔小節、拍、音符毎などに対応する時間的な所定の位置範囲を指し「基本表示範囲」と呼ばれ、任意に設定可能である。以下の具体例では小節に対応する区間が採用される。〕を検出し、この重なり区間に対応する一連の歌詞表示データLd1〜Ld5を複数グループG1〜G3に分割する。そして、検出された重なり区間が再生される際には、グループG1〜G3毎に歌詞表示データLd1+Ld2,Ld3+Ld4,Ld5に従い、対応音符N1+N2,N3+N4,N5の位置に合わせて各グループの歌詞L1+L2,L3+L4,L5を当該区間内に順次表示すると共に、簡略表記Mkを追加的に表示して隣接歌詞L3,L2,L4の存在を知らせる。
【0023】
以下、図3についてより詳しく説明する。図3は、演奏データの或る1小節分に対応する音符表示及び歌詞表示データに基づいて表示される音符列及び歌詞列を例示したものである。この楽譜表示システムでは、楽譜表示に際して、例えば、時間軸を横(左右)方向にした楽譜画面がディスプレイ10に表示される。この楽譜画面には、例えば、上部に音符表示領域が設けられ、音符表示領域の下側に隣接して歌詞表示領域が設けられると共に、両表示領域における時間軸の方向及び目盛を一致させ、設定された基本表示範囲(時間的な位置)の制限に従って歌詞表示データLdに基づいて歌詞が表示される。
【0024】
図3の例では、基本表示範囲に、音符データの1小節分に対応する1小節表示区間(時間軸に沿う1小節分の表示区間)が用いられる。上述した1小節分の音符表示データNdは、5つの音符イベント分から成り、音符表示領域には、それらの要素データ〔図2(1)〕に従って、図3(a),(b)の各上段に示すように、1小節表示区間内に5つの音符N1〜N5が自動的に割付け配置される。
【0025】
一方、音符N1〜N5に対応する5つの歌詞イベント分の歌詞表示データLd(各歌詞表示データを記号“Ld1”〜“Ld5”で表わす。)により表示される歌詞については、この例の場合、当該歌詞表示データLd1〜Ld5は、各要素データ〔図2(2)〕に従って、対応する歌詞L1〜L5を重ならないようにそのまま歌詞表示領域に表示したとすると、図3(a)の下段に示すように、1小節表示区間に収まり切らずこの区間からはみ出してしまうような時間長に設定されている。つまり、歌詞L1〜L5の時間軸方向の総表示長は、音符N1〜N5が配置される1小節表示区間よりも長く、仮に、音符N1〜N5に合わせて1小節表示区間内に収まるように歌詞L1〜L5を表示した場合には、歌詞L1〜L5同士が重なり合うことになる。なお、この例では、第2及び第4歌詞L2,L4は、括弧書きで図示するように、通常の文字列“○○…○”,“△△…△”とスペース文字(空白文字)Spから成る状態である〔各歌詞イベントは、最後にスペース情報Spを持っている〕とする。
【0026】
そこで、このシステムでは、楽譜を初期表示する際には、図3(a)の下段に示される歌詞L4,L5のように、少なくとも1小節表示区間即ち基本表示範囲からはみ出す歌詞については、表示を省略し、その代わりに、“……”のような歌詞存在マークMkにより、区間内に歌詞が後続していることを簡略表示する。
【0027】
また、演奏データの再生時(楽譜表示のみの再生を含む)には、図3(b)の下3段のように、グループ分けによる歌詞列表示態様を採用する。すなわち、図示の歌詞L1〜L5のように、1小節表示区間即ち基本表示範囲内に収まるように歌詞を表示した場合に歌詞同士が重なり合うときには、この区間(範囲)の音符N1〜N5に対応する一連の歌詞表示データLd1〜Ld5を、例えば、スペース情報(空白文字)Spなどの語句の区切りを表わす情報に従って、複数のグループG1〜G3に分割し、各グループG1〜G3の先頭の歌詞表示データLd1,Ld3,Ld5のタイミングデータが示す再生対象時点ごとに、各グループG1〜G3に属する歌詞表示データLd1+Ld2,Ld3+Ld4,Ld5の内容に従って、当該グループG1〜G3に対応する歌詞列L1+L2,L3+L4,L5だけの表示に順次切り換えていく。また、その際、この基本表示範囲内に含まれる他グループの歌詞列については具体的な文字表示を省略する。
【0028】
この場合、表示中の歌詞列の前方乃至後方には、図示の例では、“……”で表わされる必要な歌詞存在マークMkを追加的に表示して、当該基本表示範囲(1小節表示区間)内において表示中の歌詞列に隣接する歌詞が存在することをユーザに報知することができる。これにより、ユーザは、現在表示されている歌詞列の基本表示範囲内における位置付け(表示中の歌詞列が、基本表示範囲の先頭、途中又は末尾の何れに位置しているのか)を認知することができる。なお、歌詞表示の前後に追加される歌詞存在マークMkについては、この例では“……”を表示するようにしているが、他の表示態様でもよい。
【0029】
〔楽譜初期表示処理フロー〕
図4は、この発明の一実施例による楽譜表示を開始した当初における楽譜初期表示処理の手順を表わすフローチャートであり、図5は、図4の楽譜初期表示処理フローにおけるグループ分け処理(S8)の具体的な手順を表わすフローチャートである。この楽譜初期表示フローが楽譜表示プログラムに従ってスタートすると、ユーザがパネル操作子5を用いて、ROM3や外部記憶装置4などに記録されている演奏データ(曲データと呼ばれる)から楽譜表示したい所望の曲を指示したり、基本表示範囲(位置)を小節などで指示する等の設定操作を行うことができる。CPU1は、このようなユーザ設定操作に応じて、楽譜表示の対象となる演奏データを選択し、基本表示範囲(例えば、1小節表示区間)などを設定する(ステップS1:以下、“S…”等の記号単独で該当ステップを表わす)。
【0030】
CPU1は、次いで、設定された演奏データから音符データを読み出し、音符同士が重ならないように全曲分の音符表示データNdを作成し(S2)、さらに、作成された音符表示データに基づき、全曲にわたって音符列を音符表示領域に表示する(S3)。次に、歌詞に関しては、設定された演奏データから歌詞データを読み出し、歌詞データのタイミングに合う音符表示データNdを探索し、探索した音符表示データNdの表示位置に対応するように、歌詞データに基づく全曲分の歌詞表示データLdを作成し(S4)、その後、作成された歌詞表示データLdに基づいて図示破線枠内の歌詞表示処理(S5〜S10)を行う。
【0031】
歌詞表示処理(S5〜S10)は、基本表示範囲(位置)単位で(例えば、1小節表示区間毎に)、つまり、第1基本表示範囲から最終基本表示範囲まで、1つの基本表示範囲毎に、順次、繰り返し実行される。そして、全基本表示範囲について処理が完了すると、歌詞表示データLdに基づく歌詞列が、音符列に対応して全曲にわたり表示される。なお、音符列及び歌詞列は、ユーザのパネル設定操作に応じて、必要な曲部分のみを表示することもできる。
【0032】
さて、歌詞表示処理(S5〜S10)においては、まず、当該基本表示範囲(位置)に表示されるべき歌詞列の基になる1乃至複数の歌詞表示データLdを抽出する(S5)。次に、抽出した歌詞表示データLdに基づいて歌詞を表示した場合、全ての歌詞を重なりがなく而も基本表示範囲内に収まるように表示することができるか否かを判定する(S6)。ここで、当該歌詞表示データLdは重ならず且つ基本表示範囲からはみ出すことなく表示可能であるときは(S6→YES)、通常の表示形式を採用し、抽出した各歌詞表示データLdに基づく歌詞列を音符列に対応させてそのまま歌詞表示領域に表示する(S7)。
【0033】
一方、重なりなく基本表示範囲内に収めることができないと判定されたときは(S6→NO)、抽出した各歌詞表示データLdに対して、図5に詳細フローが示される「グループ分け処理」を行い(S8)、このグループ分け処理の結果に基づいて歌詞を表示する(S9)。グループ分け処理(S8:S81〜S86)においては、当該基本表示範囲内に表示されるべき歌詞の基になる歌詞表示データLdを抽出し、これらの歌詞表示データLdを、スペース情報Spなどの区切り情報を用いて複数のグループに分割し、当該基本表示範囲の先頭に位置すべきグループの歌詞表示データLdから、順次、番号1、2,…を付けていく。そのため、まず、初期状態(条件)として、抽出された歌詞表示データLdのうち先頭(最初)の歌詞表示データLdを番号付けの処理対象としてセットすると共にグループ番号“1”をセットする(S81)。
【0034】
次いで、現在セットされているグループ番号を、処理対象にセットされた歌詞表示データLdのグループ番号として記憶する番号設定処理を行う(S82)。続いて、当該歌詞表示データLdの次に更なる歌詞表示データLdnが存在するか否かを判別する次データ判別ステップ(S83)に進む。そして、次データ判別ステップで更なる歌詞表示データLdnがあると判別されたときは(S83→YES)、現在処理対象になっている歌詞表示データLdの歌詞(文字)情報の最後にスペース情報(空白文字)Spがあるか否かを判定する(S84)。
【0035】
ここで、スペース情報Spがなければ(S84→NO)、更なる歌詞表示データLdnを処理対象の歌詞表示データLdに新たにセットして(S85)、番号設定処理ステップ(S82)に戻り、新たにセットされた歌詞表示データLdに対して現在のグループ番号を設定する。また、スペース情報Spがあるときは(S84→YES)、更なる歌詞表示データLdnを処理対象の歌詞表示データLdに新たにセットすると共に、現在のグループ番号を“1”だけインクリメントして(S86)、番号設定処理ステップ(S82)に戻り、新たにセットされた歌詞表示データLdに、インクリメントされた現在のグループ番号を設定する。
【0036】
そして、次データ判別ステップ(S83)で更なる歌詞表示データLdnがあると判別される間は(S83→YES)、上述した処理(S85→S82,S86→S82)の何れかを繰り返し、更なる歌詞表示データLdnがないと判別されると(S83→NO)、当該基本表示範囲におけるグループ分け処理を終了し、楽譜初期表示処理フロー(図4)の表示ステップ(S9)にリターンする。
【0037】
グループ分け後の表示ステップ(S9)では、グループ分け処理(図5)でグループ番号“1”が設定された歌詞表示データLdに基づいて、対応する歌詞を歌詞表示領域に表示する。さらに、当該基本表示範囲において、表示された歌詞の時間軸進行方向(例えば、時間軸が水平方向に設定されていれば、右横)に余裕があれば、“……”等の歌詞存在マークMkを追加表示する(S10)。
【0038】
〔再生時楽譜表示処理フロー〕
上述した楽譜初期表示処理を終えると、このシステムの再生時楽譜表示処理により、演奏データ再生(楽譜表示のみに利用する場合を含む)の進行に従って、グループ分け処理された基本表示範囲の歌詞表示を順次切り換えていくことができる。なお、データ再生時には、音符や他の基本表示範囲の歌詞の表示は基本的に初期表示の内容を維持するが、従来知られた方法で音符や歌詞を強調表示して現時点で再生している位置を報知する等の表示制御を付加することができる。
【0039】
図6及び図7は、この発明の一実施例による再生時楽譜表示処理の手順を表わすフローチャートである。楽譜初期表示の処理(図4及び図5)が終わり、パネル操作子(例えばデータ再生ボタン)5のユーザ操作などによりデータ再生が開始し、この処理フローがスタートすると、まず、CPU1は、ユーザ操作などによりデータ再生を停止する指示がなされた否かを検出する(R1)。
【0040】
ここで、再生ストップの指示を検出しなければ(R1→NO)、歌詞表示データLdのタイミングデータを調べて、現在、再生対象となるべき基本表示範囲(位置)があるか否かを判定し(R2)、再生対象とすべき基本表示範囲があれば(R2→YES)、再生対象となる基本表示範囲を抽出し(R3)、さらに、抽出された当該基本表示範囲内の歌詞表示データLdに対応するグループ番号があるか否かを判定する(R4)。ここで、グループ番号がないときには(R4→NO)、再生停止検出ステップ(R1)に戻る。
【0041】
つまり、再生ストップの指示が検出されず(R1→NO)、再生対象となる基本表示範囲がある限り(R3→YES)、再生対象の基本表示範囲内の歌詞表示データLdに対するグループ番号有無の判定(R4)を繰り返す。従って、歌詞列を重ならず収め切るような基本表示範囲を再生対象としている間は、当該基本表示範囲内にグループ番号が設定された歌詞表示データLdが現れないので(R4→NO)、再生ストップ無し(R1→NO)→新たな基本表示範囲有り(R2→YES)→基本表示範囲抽出(R3)→グループ番号無し(R4→NO)のループ処理を繰り返すだけで、これらの基本表示範囲については、楽譜初期表示処理(図4及び図5)による表示状態を維持し、表示内容に変化がない。
【0042】
一方、グループ番号が設定された基本表示範囲が再生対象になると、CPU1は、グループ番号判定ステップでグループ番号有りと判定し(R4→YES)、再生対象とされた基本表示範囲(位置)内における歌詞表示データの中から、現在の再生対象である歌詞表示データLdを探索し、探索された歌詞表示データLdを含むグループを表示対象に指定する(R5:図7)。そして、指定されたグループの歌詞表示データ(探索した歌詞表示データLd及び同じグループ番号の歌詞表示データ)に基づいて歌詞を表示し(R6)、さらに、グループ番号に応じて歌詞存在マークMkを追加表示する(R7〜R11)。
【0043】
ここで、歌詞表示ステップ(R6)で表示される歌詞の配置については、対応する歌詞表示データLdに従って、歌詞が重ならなず而も当該基本表示範囲(位置)からはみ出さないように表示するだけでなく、当該歌詞の左右にある表示領域にゆとりがあれば、対応する音符になるべく近くなるように調整する。
【0044】
また、歌詞存在マーク追加表示処理(R7〜R11)においては、まず、再生対象である歌詞表示データLdのグループ番号が“1”であるか否かを判定する(R7)、ここで、グループ番号“1”であれば(R7→YES)、当該基本表示範囲(位置)内で、歌詞の進行方向(例えば、右側)の表示領域にゆとりがある場合に、“……”のような歌詞存在マークMkを追加表示し(R8)、その後、再生停止検出ステップ(R1)に戻る。
【0045】
一方、再生対象である歌詞表示データLdのグループ番号が“1”でないときは(R7→NO)、さらに、現在、表示対象になっている歌詞表示データグループのグループ番号が、基本表示範囲(位置)内の最後の歌詞表示データLdに対応するグループ番号であるか否かを判定する(R9)。ここで、最後のグループ番号でないときは(R9→NO)、当該基本表示範囲(位置)内で歌詞の時間進行方向(例えば、右側)の表示領域にゆとりがあれば“……”のような歌詞存在マークMkを追加表示し、同様に、時間を遡る方向(例えば、左側)の表示領域にゆとりがあればここにも歌詞存在マークMkを追加表示する(R10)。そして、この追加表示の処理後、再生停止検出ステップ(R1)に戻る。
【0046】
また、最後のグループ番号のときは(R9→YES)、当該基本表示範囲(位置)内で歌詞の時間遡行方向(例えば、左側)の領域にゆとりがあれば“……”のような歌詞存在マークMkを追加表示し(R11)、その後、再生停止検出ステップ(R1)に戻る。
【0047】
ここで、図3に例示したケース(基本表示範囲=1小節表示区間)について具体的に説明する。このケースでは、図示の区間(基本表示範囲)が再生対象(タイミング)になると〔R2(YES)〕、当該基本表示範囲について、歌詞表示データLd1〜Ld5が抽出され〔R3〕、グループ番号“1”〜“3”があるので〔R4(YES)〕、各グループG1〜G3に属する歌詞表示データが、順次、表示対象に指定される〔R5〕。
【0048】
まず、1拍目のタイミングでは、グループ番号“1”の第1グループG1の第1歌詞表示データLd1が探索され、探索された第1歌詞表示データLd1及びこれと同じグループ番号“1”の第2歌詞表示データLd2から成る第1グループG1が歌詞の表示対象に指定され〔R6〕、第1及び第2歌詞表示データLd1,Ld2に基づいて、図3(2)の下から3段目のように、この基本表示範囲内で、対応する音符N1,N2になるべく近くなるように、歌詞L1,L2が表示される〔R6〕。また、表示される歌詞L1,L2のグループ番号は“1”であり〔R7(YES)〕、歌詞L2の右側領域に表示のゆとりがあるので、“……”で示される歌詞存在マークMkを追加表示する〔R8〕。
【0049】
次に、3拍目のタイミングになると〔同一基本表示範囲を再生対象としている間は、R1(NO)〜R4(YES)を通過〕、グループ番号“2”をもつ第2グループG2の第3歌詞表示データLd3が探索・指示されて、第2グループG2が歌詞の表示対象に切り換えられる〔R5〕。これにより、第2グループG2の第3及び第4歌詞表示データLd3,Ld4に基づき、図3(2)の下から2段目のように、この基本表示範囲内で、対応する音符N3,N4になるべく近くなるように歌詞L3,L4を表示する〔R6〕。また、表示される歌詞L3,L4のグループ番号は“2”であり〔R7(NO)→R9(NO)〕、歌詞L3の左側領域に表示のゆとりがあるので、“……”で示される歌詞存在マークMkを追加表示する〔R10〕。なお、図3のケースでは、歌詞L3を対応音符N3の位置に近づけるように配置したので、歌詞L4の右側領域には、表示のゆとりがなく、歌詞存在マークMkが表示されない。
【0050】
さらに、4拍目のタイミングになると、この基本表示範囲でグループ番号の最大値“3”をもつ第3グループG3の第5歌詞表示データLd5が表示対象に切り換えられる〔R5〕。これにより、第5歌詞表示データLd5に基づいて、図3(2)の最下段のように、この基本表示範囲内で対応する音符N5になるべく近くなるように歌詞L5を表示する〔R6〕。また、表示される歌詞L5は最後のグループ番号“3”であり〔R7(NO)→R9(YES)〕、当該歌詞L5の左側領域には表示のゆとりがあるので、“……”で示される歌詞存在マークMkを追加表示する〔R10〕。
【0051】
さて、再生停止検出ステップ(R1)で再生ストップの指示を検出したとき(R1→YES)は、直ちに、この再生時楽譜表示処理を終了する。また、再生処理が進み、再生対象にすべき基本表示範囲がなくなったときも(R3→NO)、この再生時楽譜表示処理を終了する。
【0052】
〔種々の実施態様〕
以上、この発明の好適な一実施例について説明したが、これは単なる一例であって、この発明は、その精神を逸脱しない範囲で種々の変更が可能であり、種々の態様で実施することができる。例えば、実施例では、音符情報は、1パート(1トラック)に入っているものとしたが、特許文献1のように、複数パート(複数トラック)からなるものでもよい。音符情報の楽譜(小節、拍など)への位置割付け方法は、従来ある方法を用いてよい。また、歌詞情報は、表示される音符情報と同じトラックに入っていてもよいし、別のトラックに入っていてもよい。
【0053】
実施例では、歌詞情報と音符情報は、それぞれ別のイベントとして扱っているが、例えば、音符情報の中に、対応する歌詞情報を持つような形式でもよい。また、歌詞情報は、タイミング情報を持っていれば、音符情報と別ファイルにしてもよい。さらに、歌詞情報と音符情報が別イベントの場合、それぞれのタイミング情報で位置を対応付ける。
【0054】
実施例では、1曲分の楽譜を一度に全部表示するものとして説明しているが、ページ切替やスクロールなどで表示を進める方式を適用することができ、この場合、楽譜表示を或る一定量毎に切り替えたり連続的に推移させる。また、初期表示は手動で、再生時は自動で、楽譜表示を進行させる方法を採ることもできる。
【0055】
楽譜が拡大表示される等により、歌詞がきれいに表示される(重なりや所定区間外へのはみ出しがない)ようになった場合、その時点で、表示可能判定(S6)の基準を変更し、歌詞グループ化による細分化表示対象から外すようにしてもよい。また、歌詞表示データのグループ分けは、実施例では、歌詞情報の最後にスペースが含まれているかどうかに基づいて判断したが、この方法に限らず、区切り検出の条件に他の区切り情報を含めてもよい。或いは、構文解析のアルゴリズムを用いるなどしてもよい。さらに、各グループが表示する区間(「位置」)に入るかどうかをチェックして、入り切らない場合は更に細かくグループ分けするようにしてもよい。その際、複数文字を含むような1つの歌詞イベントを複数の歌詞表示データに分割する方法を採ることができる。
【0056】
各歌詞表示データに設定するグループ情報は、例えば、歌詞表示データのシリアル番号を付けておいて、その順番でグループ情報を一時記憶するバッファを用意しておいてもよいし、図2(2)の歌詞表示データ(Ld)の中にグループ情報(初期値は0など)を持たせるようにしてもよい。また、実施例では、グループ情報を番号で表したが、例えば文字などでもよい。
【0057】
再生時に該当するグループの歌詞を表示する際、表示対象である歌詞表示データの再生タイミングが来る少し(例えば、0.1秒や半拍)前に表示するようにしてもよい。また、グループ分けされた歌詞表示データを楽譜中の対応する音符に合うように表示する方法には種々の手法を用いることができる。例えば、グループ内の先頭の歌詞表示データに対応する音符表示位置に合わせてグループ内の各歌詞の表示位置を算出し、グループ内末尾の歌詞が表示領域内に入ればそのまま表示する。もし、はみ出す場合には、グループ内末尾の歌詞が表示領域内に入るところまで、グループ内の各歌詞の表示位置を左側にずらす。
【0058】
【発明の効果】
以上説明したように、この発明によれば、歌詞を全て表示し切れない重なり区間については、その区間の歌詞をグループ分けし、再生に応じてグループ分けした歌詞を順次表示するようにしているので、歌詞をきれいに表示し切れない場合でも、ユーザは、特別な操作をすることなく、歌詞を容易に読むことができる。また、その際、音符の表示位置に合わせて歌詞を表示して音符の表示には影響しないようにしているので、楽譜表示はきれいな状態が維持される。さらに、表示されている歌詞が重なり区間の歌詞の一部分である場合、追加表示によって、その区間内における表示中の歌詞の位置付けを知ることができる。
【図面の簡単な説明】
【図1】図1は、この発明の一実施例による楽譜表示システムのハードウエア構成例を示すブロック図である。
【図2】図2は、この発明の一実施例による楽譜表示システムで楽譜表示に用いられる表示データの例を説明するための図である。
【図3】図3は、この発明の一実施例による楽譜表示態様を説明するための楽譜表示例である。
【図4】図4は、この発明の一実施例による楽譜初期表示処理の手順を表わすフローチャートである。
【図5】図4は、この発明の一実施例による楽譜初期表示処理におけるグループ分け処理手順を表わすフローチャートである。
【図6】図6は、この発明の一実施例による再生時楽譜表示処理の手順を表わすフローチャートの一部である。
【図7】図7は、この発明の一実施例による再生時楽譜表示処理の手順を表わすフローチャートの他部である。
【符号の説明】
Nd 音符イベント毎の音符表示データ、
Ld 歌詞イベント毎の歌詞表示データ(Ld1〜Ld5等は図示せず)、
N1〜N5 音符、
L1〜L5 歌詞、
Sp スペース情報(空白文字)、
Mk 歌詞存在マーク。
Claims (4)
- 曲を表わすデータから音符表示データ及びこれに対応する歌詞表示データを取得するデータ取得手段と、
取得された音符表示データに基づいて音符を表示する音符表示手段と、
上記曲を表わすデータを所定時間毎に区切った区間のうち、取得された歌詞表示データに基づく歌詞を、対応する音符表示データに基づき表示される音符に合わせて表示した場合に、歌詞同士が重なる区間を検出する重なり検出手段と、
検出された区間に対応する一連の歌詞表示データを複数のグループに分割する分割手段と、
曲の進行に従って上記一連の歌詞表示データが再生すべき対象に指定されている間、分割された各グループの歌詞表示データに基づいて歌詞を順次表示する歌詞表示手段と
を具備することを特徴とする楽譜表示装置。 - 前記歌詞表示手段は、分割された歌詞表示データに基づく歌詞を、対応する音符表示データに基づく音符の表示位置に合うように表示することを特徴とする請求項1に記載の楽譜表示装置。
- 前記歌詞表示手段は、分割された各グループの歌詞表示データに基づく歌詞を表示する際、当該歌詞に隣接して別の歌詞が当該区間内に存在することを表わす簡略表記を表示することを特徴とする請求項1又は2に記載の楽譜表示装置。
- 曲を表わすデータから音符表示データ及びこれに対応する歌詞表示データを取得するデータ取得ステップと、
取得された音符表示データに基づいて音符を表示する音符表示ステップと、
上記曲を表わすデータを所定時間毎に区切った区間のうち、取得された歌詞表示データに基づく歌詞を、対応する音符表示データに基づき表示される音符に合わせて表示した場合に、歌詞同士が重なる区間を検出する重なり検出ステップと、
検出された区間に対応する一連の歌詞表示データを複数のグループに分割する分割ステップと、
曲の進行に従って上記一連の歌詞表示データが再生すべき対象に指定されている間、分割された各グループの歌詞表示データに基づいて歌詞を順次表示する歌詞表示ステップと
から成る手順をコンピュータに実行させるための楽譜表示プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003205282A JP4175208B2 (ja) | 2003-08-01 | 2003-08-01 | 楽譜表示装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003205282A JP4175208B2 (ja) | 2003-08-01 | 2003-08-01 | 楽譜表示装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005055457A JP2005055457A (ja) | 2005-03-03 |
JP4175208B2 true JP4175208B2 (ja) | 2008-11-05 |
Family
ID=34362633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003205282A Expired - Fee Related JP4175208B2 (ja) | 2003-08-01 | 2003-08-01 | 楽譜表示装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4175208B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007086305A (ja) * | 2005-09-21 | 2007-04-05 | Kawai Musical Instr Mfg Co Ltd | 歌詞編集装置および歌詞編集プログラム |
JP2007086304A (ja) * | 2005-09-21 | 2007-04-05 | Kawai Musical Instr Mfg Co Ltd | 歌詞編集装置および歌詞編集プログラム |
JP4655878B2 (ja) * | 2005-10-24 | 2011-03-23 | ヤマハ株式会社 | 音楽コンテンツ作成装置、方法及びプログラム |
JP4648177B2 (ja) * | 2005-12-13 | 2011-03-09 | 株式会社河合楽器製作所 | 電子楽器及びコンピュータプログラム |
JP4486042B2 (ja) * | 2005-12-26 | 2010-06-23 | 株式会社河合楽器製作所 | 楽曲表示装置及びコンピュータプログラム |
JP4506750B2 (ja) * | 2006-12-13 | 2010-07-21 | ヤマハ株式会社 | コンテンツ再生装置 |
JP4539647B2 (ja) * | 2006-12-13 | 2010-09-08 | ヤマハ株式会社 | コンテンツ再生装置 |
JP5303959B2 (ja) * | 2008-02-21 | 2013-10-02 | ヤマハ株式会社 | 電子音楽装置およびその制御方法を実現するためのプログラム |
-
2003
- 2003-08-01 JP JP2003205282A patent/JP4175208B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005055457A (ja) | 2005-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3528654B2 (ja) | メロディ生成装置及びリズム生成装置と記録媒体 | |
US7094960B2 (en) | Musical score display apparatus | |
JP3637775B2 (ja) | メロディ生成装置と記録媒体 | |
JP4650182B2 (ja) | 自動伴奏装置及びプログラム | |
JP4175208B2 (ja) | 楽譜表示装置及びプログラム | |
JP3674407B2 (ja) | 演奏データ編集装置、方法及び記録媒体 | |
JP5297662B2 (ja) | 楽曲データ加工装置、カラオケ装置、及びプログラム | |
JP4424218B2 (ja) | 電子音楽装置および同装置に適用されるコンピュータプログラム | |
JP3807380B2 (ja) | スコアデータ編集装置、スコアデータ表示装置およびプログラム | |
JP3719151B2 (ja) | 演奏パターン処理装置、処理プログラム記録媒体及びデータ記録媒体 | |
JP4270102B2 (ja) | 自動演奏装置及びプログラム | |
JP3620423B2 (ja) | 楽曲情報入力編集装置 | |
JP3799843B2 (ja) | 楽曲生成装置および楽曲生成プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2005091846A (ja) | 楽譜表示装置及びプログラム | |
JPH10124075A (ja) | 歌詞ワイプ情報入力装置および記録媒体 | |
JP5195210B2 (ja) | 演奏データ編集装置及びプログラム | |
JP3972942B2 (ja) | 演奏パターン処理装置及び処理プログラム記録媒体 | |
JP4725667B2 (ja) | 電子音楽装置および同装置に適用されるコンピュータプログラム | |
JP3327188B2 (ja) | 和音進行作成支援装置及び和音進行作成支援プログラムを記録した記録媒体 | |
JP2007086572A (ja) | 画像表示装置及びプログラム | |
JP4853688B2 (ja) | 電子音楽装置および同装置に適用されるコンピュータプログラム | |
JP6728847B2 (ja) | 自動伴奏装置、自動伴奏プログラムおよび出力伴奏データ生成方法 | |
JP3752940B2 (ja) | 自動作曲方法、自動作曲装置及び記録媒体 | |
JP3669301B2 (ja) | 自動作曲装置及び方法並びに記憶媒体 | |
JP5509961B2 (ja) | フレーズデータ抽出装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070928 |
|
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: 20080729 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080811 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |