(57)【要約】【課題】音声データの編集を容易に行うことができる音声データ処理装置を提供することを課題とする。【解決手段】音声データ処理装置は、文字データとノートデータとが組になったデータを複数記憶する記憶手段と、前記文字データとノートデータとの組をノートデータを表示単位として表示する表示手段と、前記表示単位で空白を挿入開始する挿入位置と挿入する空白数を指定する指定手段と、前記指定された挿入位置以降の文字データを一時的に記憶するバッファ手段と、前記指定された挿入位置以降の文字データを消去する消去手段と、前記指定された挿入位置から前記指定された空白数分離間した前記表示単位位置に相当するノートデータから前記一時的に記憶された文字データを順次ノートデータに割り付ける割付手段とを有する。【選択図】  図７
2008233930.tif 000002
【特許請求の範囲】
【請求項１】
文字データとノートデータとが組になったデータを複数記憶する記憶手段と、
前記文字データとノートデータとの組をノートデータを表示単位として表示する表示手段と、
前記表示単位で空白を挿入開始する挿入位置と挿入する空白数を指定する指定手段と、
前記指定された挿入位置以降の文字データを一時的に記憶するバッファ手段と、
前記指定された挿入位置以降の文字データを消去する消去手段と、
前記指定された挿入位置から前記指定された空白数分離間した前記表示単位位置に相当するノートデータから前記一時的に記憶された文字データを順次ノートデータに割り付ける割付手段と
を有する音声データ処理装置。
【請求項２】
文字データとノートデータとが組になったデータを複数記憶する記憶手段と、
前記文字データとノートデータとの組をノートデータを表示単位として表示する表示手段と、
前記表示単位で複製又は挿入する文字データの範囲と挿入開始する挿入位置とを指定する指定手段と、
前記指定された範囲の文字データを一時的に記憶する第１のバッファ手段と、
前記指定された挿入位置以降の文字データを一時的に記憶する第２のバッファ手段と、
前記指定された挿入位置から前記第１のバッファ手段に一時的に記憶された前記指定された範囲の文字データを順次ノートデータに割り付ける第１の割付手段と、
前記指定された挿入位置から前記指定された表示単位数分離間した前記表示単位位置に相当するノートデータから前記第２のバッファ手段に一時的に記憶された文字データを順次ノートデータに割り付ける第２の割付手段と
を有する音声データ処理装置。
【請求項３】
第１の文字列データと第１のノートデータとが組になった第１のデータとそれに続く第２の文字列データと第２のノートデータとが組になった第２のデータを記憶する記憶手段と、
前記第１の文字列データ中の分割位置を指定する指定手段と、
前記第１の文字列データを前記分割位置で２つに分割し、後部の文字列データを前記第２の文字列データに併合する処理手段と
を有する音声データ処理装置。
【請求項４】
文字データとノートデータとが組になった音声データを記憶する記憶手段と、
前記文字データが漢字、英数字又は記号であるときには該文字データを発音するための仮名の候補を提示する提示手段と、
前記仮名の候補の中から１つの仮名を指定し、前記文字データを該仮名の文字列に変更して前記記憶手段に記憶させる変更手段と、
前記変更した仮名の文字列を前記変更前の文字データと組とされたノートデータに割り当てる手段と
を有する音声データ処理装置。
【請求項５】
文字データとノートデータとが組になったデータを処理するコンピュータプログラムの記録媒体であって、
前記文字データとノートデータとの組をノートデータを表示単位として表示する表示手順と、
前記表示単位で空白を挿入開始する挿入位置と挿入する空白数を指定する指定手順と、
前記指定された挿入位置以降の文字データを一時的に記憶するバッファ手順と、
前記指定された挿入位置以降の文字データを消去する消去手順と、
前記指定された挿入位置から前記指定された空白数分離間した前記表示単位位置に相当するノートデータから前記一時的に記憶された文字データを順次ノートデータに割り付ける割付手順と
をコンピュータに実行させるためのプログラムを記録した媒体。
【請求項６】
文字データとノートデータとが組になったデータを処理するコンピュータプログラムの記録媒体であって、
前記文字データとノートデータとの組をノートデータを表示単位として表示する表示手順と、
前記表示単位で複製又は挿入する文字データの範囲と挿入開始する挿入位置とを指定する指定手順と、
前記指定された範囲の文字データを一時的に記憶する第１のバッファ手順と、
前記指定された挿入位置以降の文字データを一時的に記憶する第２のバッファ手順と、
前記指定された挿入位置から前記第１のバッファ手段に一時的に記憶された前記指定された範囲の文字データを順次ノートデータに割り付ける第１の割付手順と、
前記指定された挿入位置から前記指定された表示単位数分離間した前記表示単位位置に相当するノートデータから前記第２のバッファ手段に一時的に記憶された文字データを順次ノートデータに割り付ける第２の割付手順と
をコンピュータに実行させるためのプログラムを記録した媒体。
【請求項７】
第１の文字列データと第１のノートデータとが組になった第１のデータとそれに続く第２の文字列データと第２のノートデータとが組になった第２のデータを処理するコンピュータプログラムの記録媒体であって、
（ａ）前記第１の文字列データ中の分割位置を特定する手順と、
（ｂ）前記第１の文字列データを前記分割位置で２つに分割し、後部の文字列データを前記第２の文字列データに併合する手順と
をコンピュータに実行させるためのプログラムを記録した媒体。
【請求項８】
文字データとノートデータとが組になった音声データを処理するコンピュータプログラムの記録媒体であって、
（ａ）前記文字データが漢字、英数字又は記号であるときには該文字データを発音するための仮名の候補を提示する手順と、
（ｂ）前記仮名の候補の中から１つの仮名を指定し、前記文字データを該仮名の文字列に変更して書き込みを行う手順と、
前記変更した仮名の文字列を前記変更前の文字データと組とされたノートデータに割り当てる手順と
をコンピュータに実行させるためのプログラムを記録した媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声データ処理技術に関し、特に音声発音装置に音声を発音させるための音声データの処理技術に関する。
【背景技術】
【０００２】
音声発音装置に供給する音声データの処理を行うことができる音声データ処理装置が知られている。音声発音装置は、例えばフォルマント音源等の音声合成回路を備えている。フォルマント音源は、音声を周波数解析することにより形成されるフォルマントを合成することにより音声信号を生成する。
【０００３】
音節は、いわゆる５０音のうちの１音等であり、例えば「か」である。音節は、時間軸上の音素列に分解することができる。例えば、音節「か」は、音素列「ＣＬ（７．５ｍｓ）＋ｋｈａ（４×７．５ｍｓ）＋ａｊ（無限長）」に分解することができる。音素は、例えば「ＣＬ」、「ｋｈａ」、「ａｊ」である。フォルマント音源は、音素列を入力することにより音声信号を生成する。
【０００４】
従来技術による音声データ処理装置として、特開平９−５０２８７号公報や特開平９−４４１７９号公報が知られている。これらは、メロディデータと歌詞データをメモリに記憶し、両方のデータをメモリから順次読み出し、フォルマント音源へ供給する。フォルマント音源は、データを受けて歌声を発生する。
【０００５】
データ処理装置として、音節の編集を行うことができるワードプロセッサが知られている。しかし、音素の編集を行うことができるデータ処理装置がないため、音声データはマニュアル設定を行っていた。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特開平９−５０２８７号公報のデータ処理装置は、歌詞データをローマ字表記で入力する必要があり、仮名又は漢字等を使うことができないため、歌詞データの入力又は編集が不便である。例えば、仮名又は漢字が混在した既存の歌詞データを使用することができない。
【０００７】
また、各音符に歌詞データを割り当てるため、歌詞データ中に音符の区切り（歌詞区切り）記号を設ける必要があるが、歌詞区切りは１つの記号（例えばスペース「＿」）のみに限定されている。そのため、改行マーク（歌詞表示画面上において改行をする位置を示すマーク）と副改行マーク（通常は利用されないが、表示スペースが小さい等の表示器の都合により前記改行マークまでの歌詞が１行に入りきらない場合に、改行マークよりも前で改行する位置を示すマーク）の２種類の改行マークが含まれているカラオケ用の歌詞データにおいて、改行マークのみを歌詞区切りとして用いることは可能であっても、改行マークと副改行マークの両方を歌詞区切りとして用いることはできない。
【０００８】
さらに、歌詞データ等は、独自のデータフォーマットを有しており、歌詞データの再生装置として専用の装置が必要となり、一般的なシーケンサ等での再生ができない。
【０００９】
本発明の目的は、仮名等を含むテキストデータを処理することができる音声データ処理装置又はコンピュータプログラムの記録媒体を提供することである。
【００１０】
本発明の他の目的は、音声データの編集を容易に行うことができる音声データ処理装置又はコンピュータプログラムの記録媒体を提供することである。
【００１１】
本発明の他の目的は、汎用性のある音声データを処理することができる音声データ処理装置又はコンピュータプログラムの記録媒体を提供することである。
【課題を解決するための手段】
【００１２】
本発明の一観点によれば、音声データ処理装置は、文字データとノートデータとが組になったデータを複数記憶する記憶手段と、前記文字データとノートデータとの組をノートデータを表示単位として表示する表示手段と、前記表示単位で空白を挿入開始する挿入位置と挿入する空白数を指定する指定手段と、前記指定された挿入位置以降の文字データを一時的に記憶するバッファ手段と、前記指定された挿入位置以降の文字データを消去する消去手段と、前記指定された挿入位置から前記指定された空白数分離間した前記表示単位位置に相当するノートデータから前記一時的に記憶された文字データを順次ノートデータに割り付ける割付手段とを有する。
【００１３】
本発明の他の観点によれば、音声データ処理装置は、文字データとノートデータとが組になったデータを複数記憶する記憶手段と、前記文字データとノートデータとの組をノートデータを表示単位として表示する表示手段と、前記表示単位で複製又は挿入する文字データの範囲と挿入開始する挿入位置とを指定する指定手段と、前記指定された範囲の文字データを一時的に記憶する第１のバッファ手段と、前記指定された挿入位置以降の文字データを一時的に記憶する第２のバッファ手段と、前記指定された挿入位置から前記第１のバッファ手段に一時的に記憶された前記指定された範囲の文字データを順次ノートデータに割り付ける第１の割付手段と、前記指定された挿入位置から前記指定された表示単位数分離間した前記表示単位位置に相当するノートデータから前記第２のバッファ手段に一時的に記憶された文字データを順次ノートデータに割り付ける第２の割付手段とを有する。
【００１４】
本発明の他の観点によれば、音声データ処理装置は、第１の文字列データと第１のノートデータとが組になった第１のデータとそれに続く第２の文字列データと第２のノートデータとが組になった第２のデータを記憶する記憶手段と、前記第１の文字列データ中の分割位置を指定する指定手段と、前記第１の文字列データを前記分割位置で２つに分割し、後部の文字列データを前記第２の文字列データに併合する処理手段とを有する。
【００１５】
本発明の他の観点によれば、音声データ処理装置は、文字データとノートデータとが組になった音声データを記憶する記憶手段と、前記文字データが漢字、英数字又は記号であるときには該文字データを発音するための仮名の候補を提示する提示手段と、前記仮名の候補の中から１つの仮名を指定し、前記文字データを該仮名の文字列に変更して前記記憶手段に記憶させる変更手段と、前記変更した仮名の文字列を前記変更前の文字データと組とされたノートデータに割り当てる手段とを有する。
【発明の効果】
【００１６】
本発明によれば、仮名又は漢字等を含むテキストデータを処理することができるので、テキストデータの入力又は編集が簡単である。仮名又は漢字が混在した既存のテキストデータを使用することができる。
【００１７】
また、ノートデータにテキストデータを割り当てる際、カラオケ用のテキストデータにおいて、改行マークと副改行マークの両方を区切りデータとして用いることができる。
【００１８】
また、音声データを例えばスタンダードＭＩＤＩファイル形式で扱うことが可能になるので、汎用性が増すと共に、ＭＩＤＩ通信を行うことができる。
【発明を実施するための最良の形態】
【００１９】
図１は、パーソナルコンピュータ１と外部音源装置２１との接続を示す図である。パーソナルコンピュータ１は、本実施例による音声データ処理装置を含む。パーソナルコンピュータ１は、シーケンサでもよい。
【００２０】
まず、外部音源装置２１の構成を説明する。検出回路３３は、スイッチ３４の操作を検出し、スイッチ信号を生成する。スイッチ３４は、例えば各種パラメータを設定するためのスイッチを含む。
【００２１】
バス２２には、検出回路３３の他、ＲＡＭ２４、ＲＯＭ２５、ＣＰＵ２６、表示回路２８、ＭＩＤＩインターフェース２３、音声合成回路３２、楽音波形合成回路２９が接続される。
【００２２】
ＲＯＭ２５は、音声を合成するためのフォルマントデータ、その他の各種データ及びコンピュータプログラムを記憶する。ＲＡＭ２４は、フラグ、バッファ等を記憶する。コンピュータプログラムは、ＲＯＭ２５に記憶させる代わりに、ＲＡＭ２４に記憶させてもよい。ＣＰＵ２６は、ＲＯＭ２５又はＲＡＭ２４に記憶されているコンピュータプログラムに従い、演算または制御を行う。
【００２３】
ＣＰＵ２６は、ＭＩＤＩインターフェース２３を介してパーソナルコンピュータ１から受信した演奏データに基づいて楽音パラメータを生成し、楽音波形合成回路２９に供給する。楽音波形合成回路２９は、供給される楽音パラメータに応じて楽音信号を生成し、サウンドシステム３１に供給する。サウンドシステム３１は、Ｄ／Ａ変換器およびスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
【００２４】
なお、楽音波形合成回路２９は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式等、どのような方式であってもよい。
【００２５】
ＭＩＤＩインターフェース２３は、パーソナルコンピュータ１のＭＩＤＩインターフェース８にＭＩＤＩケーブルで接続される。外部音源装置２１とパーソナルコンピュータ１は、ＭＩＤＩ通信を行うことができる。
【００２６】
ＣＰＵ２６は、ＭＩＤＩインターフェース２３を介して、パーソナルコンピュータ１から音声データを受け取り、ＲＡＭ２４に格納する。音声データは、ノート（音符）データと歌詞データを含む。
【００２７】
ＣＰＵ２６は、ＲＡＭ２４に記憶されている音声データを読み出し、ＲＯＭ２５に記憶されているフォルマントデータ等に基づき、フォルマントデータやノートナンバ（音高）等を音声合成回路３２に供給する。フォルマントデータは、例えばフォルマント中心周波数データ、フォルマントバンド幅データ、フォルマントレベルデータ等である。
【００２８】
音声合成回路３２は、供給されるフォルマントデータ等に応じて音声信号を生成する。音声信号は、所定の音高を有し、歌声に相当する。音声合成回路３２は、フォルマント合成方式（フォルマント音源）でもよいし、その他の方式でもよい。なお、音声合成回路３２の方式がフォルマント合成方式以外の場合は、供給するデータもフォルマントデータではなく、その音声合成方式に特有のデータとなる。
【００２９】
音声合成回路３２がフォルマント音源である場合を説明する。音声合成回路３２には、音声データに応じて生成されたフォルマントデータ等が入力される。フォルマントデータは、フォルマント中心周波数データ、フォルマントレベルデータ、フォルマント帯域幅データ等を含む。
【００３０】
音声合成回路３２は、有声音合成グループＶＴＧと無声音合成グループＵＴＧを有する。有声音グループＶＴＧは、フォルマントデータ等に応じて、第１〜４の有声音フォルマントをそれぞれ形成するための有声音合成部Ｖ１、Ｖ２、Ｖ３、Ｖ４を有する。無声音合成グループＵＴＧは、フォルマントデータ等に応じて、第１〜４の無声音フォルマントをそれぞれ形成するための無声音合成部Ｕ１、Ｕ２、Ｕ３、Ｕ４を有する。
【００３１】
第１フォルマント生成ユニットＴＧ１は第１フォルマントを形成するための有声音合成部Ｖ１と無声音合成部Ｕ１を有し、第２フォルマント生成ユニットＴＧ２は第２フォルマントを形成するための有声音合成部Ｖ２と無声音合成部Ｕ２を有し、第３フォルマント生成ユニットＴＧ３は第３フォルマントを形成するための有声音合成部Ｖ３と無声音合成部Ｕ３を有し、第４フォルマント生成ユニットＴＧ４は第４フォルマントを形成するための有声音合成部Ｖ４と無声音合成部Ｕ４を有する。
【００３２】
合成部Ｖ１〜Ｖ４，Ｕ１〜Ｕ４は、それぞれ生成したフォルマントに対応する音声信号を出力する。それらの音声信号は加算され、サウンドシステム３１に供給される。サウンドシステム３１は、供給されるデジタル形式の音声信号をアナログ形式に変換し、発音する。
【００３３】
フォルマント音源のより具体的な構成は、例えば特開平３−２００２９９号公報の第１図に示されている。
【００３４】
なお、音声合成回路３２は、４系統のフォルマント生成ユニットＴＧ１〜ＴＧ４を有する場合に限定されない。それ以上又はそれ以下の系統のフォルマント生成ユニットを有するものでもよい。
【００３５】
破裂音等の特殊な音は、専用のユニットを設けるようにしてもよい。また、発音チャンネルを複数用意し、２声以上の歌唱を発生させることができるようにしてもよい。この場合、１つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、１つの発音チャンネルが１つの回路で構成されるような形式のものであってもよい。
【００３６】
音声合成回路３２と楽音波形合成回路２９は、専用のハードウエアを用いて構成するものに限らず、ＤＳＰ＋マイクロプログラムを用いて構成してもよいし、ＣＰＵ＋ソフトウェアのプログラムで構成するようにしてもよい。
【００３７】
次に、パーソナルコンピュータ１の構成を説明する。検出回路１１は、キーボード１２上のキー（数字キーや文字キー等）入力を検出し、キー信号を生成する。検出回路９は、マウス１０の移動操作やスイッチ（右ボタン、左ボタン等）操作を検出し、マウス信号を生成する。操作者は、マウス１０又はキーボード１２を用いて、音声データの編集を行うことができる。
【００３８】
表示回路７には、音声データ等を編集するための編集画面を表示することができる。操作者は、表示回路７上の編集画面を参照しながら音声データの編集を行うことができる。
【００３９】
バス２には、検出回路１１、検出回路９及び表示回路７の他、ＭＩＤＩインターフェース８、ＲＡＭ３、ＲＯＭ４、ＣＰＵ５、外部記憶装置１３、通信インターフェース１４が接続される。
【００４０】
ＲＯＭ４は、各種パラメータ及びコンピュータプログラムを記憶する。ＲＡＭ３は、フラグ、バッファ、演奏データ、音声データ等を記憶する。また、ＲＡＭ３は、外部記憶装置１３、又は通信インターフェース１４を介して外部から供給されたコンピュータプログラムや演奏データ、音声データ等を記憶することもできる。ＣＰＵ５は、ＲＡＭ３又はＲＯＭ４に記憶されているコンピュータプログラムに従い、音声データの編集又は処理等のための演算または制御を行う。
【００４１】
タイマ６は、ＣＰＵ５に時間情報を供給する。ＣＰＵ５は、当該時間情報に応じて、所定時間間隔で割り込み処理を行うことができる。
【００４２】
ＭＩＤＩインターフェース８は、上記のように、外部音源装置２１のＭＩＤＩインターフェース２３にＭＩＤＩケーブルで接続される。パーソナルコンピュータ１は、ＭＩＤＩインターフェース８を介して、演奏データや音声データを外部音源装置２１に送信することができる。
【００４３】
通信インターフェース１４は、ローカルエリアネットワーク（ＬＡＮ）、インターネット、電話回線等の通信ネットワーク４１に接続される。通信ネットワーク４１には、サーバコンピュータ４２が接続されている。パーソナルコンピュータ１は、通信ネットワーク４１を介して、サーバコンピュータ４２から音声データ又はコンピュータプログラムを受信することができる。
【００４４】
外部記憶装置１３は、外部記憶装置用のインターフェースを含み、そのインターフェースを介してバス２に接続される。外部記憶装置１３は、例えばフロッピディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、光磁気ディスク（ＭＯ）ドライブ、ＣＤ−ＲＯＭ（コンパクトディスク−リードオンリィメモリ）ドライブ、デジタル多目的ディスク（ＤＶＤ）装置等である。演奏データや音声データは、外部記憶装置１３又はＲＡＭ３に記憶される。
【００４５】
コンピュータプログラム等をＲＯＭ４に記憶させずに、外部記憶装置１３（例えばハードディスク）に記憶させることもできる。ハードディスクからＲＡＭ３にコンピュータプログラム等を読み出すことにより、ＲＯＭ４にコンピュータプログラム等を記憶させている場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、ＣＤ−ＲＯＭ等の他の外部記憶媒体からハードディスクにコンピュータプログラム等をコピーすることでコンピュータプログラム等の追加やバージョンアップ等が容易に行える。
【００４６】
通信インターフェース１４は、ローカルエリアネットワーク（ＬＡＮ）やインターネット、電話回線等の通信ネットワーク４１に接続されており、該通信ネットワーク４１を介して、サーバコンピュータ４２と接続される。外部記憶装置１３内にコンピュータプログラム等が記憶されていない場合、サーバコンピュータ４２からコンピュータプログラム等をダウンロードすることができる。クライアントとなるパーソナルコンピュータ１は、通信インターフェース１４及び通信ネットワーク４１を介してサーバコンピュータ４２へとコンピュータプログラム等のダウンロードを要求するコマンドを送信する。サーバコンピュータ４２は、このコマンドを受け、要求されたコンピュータプログラム等を、通信ネットワーク４１を介してパーソナルコンピュータ１へと配信し、パーソナルコンピュータ１が通信インターフェース１４を介して、これらコンピュータプログラム等を受信して外部記憶装置１３内に蓄積することにより、ダウンロードが完了する。
【００４７】
パーソナルコンピュータ１は、ＲＡＭ３に記憶している演奏データや音声データを、所定のテンポにしたがって再生し、再生した演奏データや音声データをＭＩＤＩインターフェース８を介して外部音源装置２１へと送信する。外部音源装置２１は、送信されてきた演奏データや音声データをＭＩＤＩインターフェース２３を介して受信し、受信した演奏データを楽音波形合成回路２９へ供給することにより伴奏楽音信号を形成するとともに、受信した音声データを音声合成回路３２へ供給することにより歌唱信号を形成する。すなわち、パーソナルコンピュータ１と外部音源装置２１により、伴奏楽音を伴った歌唱を生成するシステムが構成される。
【００４８】
次に、音声データ処理装置（パーソナルコンピュータ１）が行う処理を説明する。
【００４９】
図２は、インポート処理を示す図である。インポート処理は、演奏データ５１にテキストデータ（歌詞データ）５２を割り当て、ノートプラスデータ５３を生成する処理である。本明細書では、演奏データ５１、テキストデータ５２、ノートプラスデータ５３のいずれをも音声データという。
【００５０】
演奏データ５１は、例えば、８つのノート（音符）に対応するノートイベントＮ１〜Ｎ８を有する。ノートイベントＮ１〜Ｎ８の各々は、例えばノートオンタイミングデータ、ノートナンバ（音高）、ベロシティ（音量）、ゲートタイム（ノートオンからノートオフまでの時間）を含む。
【００５１】
テキストデータ５２は、例えば「赤（あか）＿い／夕日〔ゆう！ひ〕＿が￥」である。ここで、（）内は読み仮名を示し、〔〕内はルビを示し、「＿，！」等は歌詞区切り記号を示し、「／，￥」等は呼気記号を示す。
【００５２】
呼気記号は、息継ぎを示す記号である。呼気記号があるときは、その前の歌詞データはゲートタイムだけ発音され、その後、無音状態になる。呼気記号がないときには、ある歌詞データとその次の歌詞データとが滑らかにつながるように発音される。すなわち、ゲームタイムが無視される。
【００５３】
歌詞区切り記号は、１つの音符（ノートイベント）に対応する歌詞データ（第１の歌詞イベント）とその次の音符に対応する歌詞データ（第２の歌詞イベント）の間に挿入される。歌詞データ５２は、歌詞区切り記号に従い、歌詞イベントに分解され、各ノートイベントＮ１〜Ｎ８に割り当てられる。例えば、「Ｎ１，あか」、「Ｎ２，い▽」、「Ｎ３，ゆう」、「Ｎ４，ひ」、「Ｎ５，が▽」のように割り当てられる。ここで、「▽」は、呼気記号「／，￥」に対応する呼気データであり、息継ぎを示すとともに、「Ｎ２，い▽」の例でも判るとおり、歌詞区切りの役割も果たしている。このノートイベントと歌詞（文字列）イベントあるいは音素列イベント（音素列イベントについては後述）の組をノートプラスイベント（ノートに対して歌詞イベントがプラスされたイベント）と呼ぶ。ノートプラスデータ５３は、ノートプラスイベントの集まりである。
【００５４】
ノートプラスデータ５３は、読み仮名及びルビを考慮し、漢字を削除してそれに対応する仮名のみを残す。読み仮名記号「（）」があるときには、（）の前の漢字「赤」及び読み仮名記号「（）」を削除して（）内の仮名「かな」を残す。ルビ記号「〔〕」の場合も同様である。
【００５５】
ノートプラスデータ５３中の仮名は、音素列に変換される。例えば、仮名「か」は、音素列「ＣＬ（７．５ｍｓ）＋ｋｈａ（４×７．５ｍｓ）＋ａｊ（無限長）」に変換される。「か」等の音節は、時間軸上の音素列に分解することができる。音素は、例えば「ＣＬ」、「ｋｈａ」、「ａｊ」である。
【００５６】
パーソナルコンピュータ１は、仮名と音素列との間で変換を行うためのテーブルを記憶している。このテーブルを使い、仮名から音素列への変換を行うことができる。しかし、漢字や記号や英数字等から音素列への変換を行うことはできない。なぜなら、漢字や記号や英数字等は、読み方が複数通り存在する可能性があるからである。
【００５７】
仮名は音素列へ変換され、漢字や記号等はそのまま残される。パーソナルコンピュータ１は、漢字等から仮名へ変換を行うための辞書を記憶している。この辞書を用いて、漢字等を仮名に変換し、さらにその仮名を音素列に変換することができる。パーソナルコンピュータ１は、音素列等を外部音源装置２１（図１）に供給する。外部音源装置２１は、音素列等を受けて、音声を発音する。
【００５８】
パーソナルコンピュータ１は、歌詞データとしてテキストデータを使用することができる。例えばカラオケ用のテキストデータ等、既存のテキストデータを使用することができる。
【００５９】
また、歌詞区切り記号は「＿，！」等であり、呼気記号は「／，￥」等であり、いずれも複数種類設定することができる。例えば、カラオケ用のテキストデータを使用する場合、改行マークと副改行マークの両方を歌詞区切り記号とし、改ページマークを呼気記号として設定することができる。歌詞区切り記号を複数種類設定することができるので、改行マークと副改行マークの両方を歌詞区切り記号として使用することができる。
【００６０】
改行マークは、歌詞を画面に表示する際に、歌詞の１行分の区切りを示すマークである。副改行マークは、小さい画面に表示する際にのみ用いる改行のためのマークである。すなわち、通常画面では改行マークのみで改行を行い、小画面では改行マークと副改行マークの両方で改行を行う。例えば、改行マークとして「＿」を使用し、副改行マークとして「！」を使用することができる。なお、歌詞区切り記号や呼気記号は、改行マークや福改行マークのように本来は他の用途に用いるために挿入された記号をこれら歌詞区切り記号や呼気記号として流用する場合に限らず、ユーザが任意に設定し挿入した記号を、歌詞区切り記号や呼気記号としてもよい。
【００６１】
図３は、パーソナルコンピュータ１のＣＰＵが行うテキストインポート処理を示すフローチャートである。テキストインポート処理は、上記のように（図２）、演奏データ５１にテキストデータ５２を割り当てて、ノートプラスデータ５３を生成する処理である。
【００６２】
ステップＳＡ１では、インポートするテキストファイルを選択する。テキストファイルはテキストデータ５２（図２）を含み、外部記憶装置１３（図１）等に記憶される。操作者は、マウス１０等を用いて、１つ又は複数のテキストファイルの中から１つを選択することができる。
【００６３】
ステップＳＡ２では、演奏データ５１中の最初のノートイベントＮ１の位置にポインタをセットする。演奏データ５１は、ＲＡＭ４又は外部記憶装置１３（図１）等に記憶される。
【００６４】
ステップＳＡ３では、テキストデータ５２中の最初の文字コードの位置にポインタをセットする。例えば、テキストデータ５２中の「赤」の位置にポインタをセットする。
【００６５】
ステップＳＡ４では、当該文字コードが呼気記号として設定されている文字コードのいずれかと一致するか否かをチェックする。例えば、呼気記号として、「／，￥」が設定されている。一致しないときには、ＮＯの矢印に従い、ステップＳＡ５へ進む。
【００６６】
ステップＳＡ５では、当該文字コードが歌詞区切り記号として設定されている文字コードのいずれかと一致するか否かをチェックする。例えば、歌詞区切り記号として、「＿，！」が設定されている。一致しないときには、ＮＯの矢印に従い、ステップＳＡ６へ進む。
【００６７】
ステップＳＡ６では、当該文字コードを文字列レジスタの内容に追加する。文字列レジスタは、１音符に対応する１又は複数の文字コード（以下、歌詞イベントという）を記憶するためのレジスタであり、初期時には何も記憶していない。
【００６８】
ステップＳＡ７では、次の文字コードの位置にポインタをセットする。例えば、テキストデータ５２中の「（）の位置にポインタをセットする。その後、ステップＳＡ４へ戻り、上記の処理を繰り返す。
【００６９】
ステップＳＡ７でセットされたポインタの位置における文字コードが「＿」又は「！」であった場合は、ステップＳＡ４を介して、ステップＳＡ５へ進み、文字コード「＿」又は「！」が歌詞区切り記号であると判断し、ＹＥＳの矢印に従いステップＳＡ９へ進む。
【００７０】
一方、ステップＳＡ７でセットされたポインタの位置における文字コードが「／」又は「￥」あった場合は、ステップＳＡ４で文字コード「／」又は「￥」が呼気記号であると判断し、ＹＥＳの矢印に従いステップＳＡ８へ進む。ステップＳＡ８では、呼気マーク「▽」を文字列レジスタの内容に追加する。その後、ステップＳＡ９へ進む。
【００７１】
ステップＳＡ９では、読み仮名及びルビ処理を行う。具体的には、文字列レジスタに格納された歌詞イベント内に読み仮名又はルビが含まれている場合には、漢字等を削除して仮名を残す処理である。この処理の詳細は、後に図４のフローチャートを参照しながら説明する。その後、ステップＳＡ１０へ進む。
【００７２】
ステップＳＡ１０では、文字列レジスタの内容をポインタが位置するノートイベントに付加して、ノートプラスイベントを生成する。例えば、文字列レジスタ内の歌詞イベント「あか」をノートイベントＮ１に付加して、ノートプラスイベント「Ｎ１，あか」を生成する。
【００７３】
ステップＳＡ１１では、テキストデータ５２の続きがあるか否かをチェックする。すなわち、テキストデータ５２が終わりか否かをチェックする。終わりでないときには、ＹＥＳの矢印に従い、ステップＳＡ１２へ進む。
【００７４】
ステップＳＡ１２では、文字列レジスタの内容をクリアし、次の歌詞イベントの格納に備える。
【００７５】
ステップＳＡ１３では、演奏データ５１中の次のノートイベントの位置にポインタをセットする。例えば、ノートイベントＮ２の位置にポインタをセットする。
【００７６】
ステップＳＡ１４では、テキストデータ５２中の次の文字コードの位置にポインタをセットする。例えば、文字コード「い」の位置にポインタをセットする。その後、ステップＳＡ４へ戻り、上記の処理を繰り返す。
【００７７】
テキストデータ５２の最後の文字コードの処理が終了すると、ステップＳＡ１１でＮＯの矢印に従い、テキストインポート処理を終了する。この処理により、ノートプラスデータ５３が生成される。
【００７８】
なお、上記のフローチャートでは、テキストファイル中のテキストデータ５２をインポートする場合を説明したが、スタンダードＭＩＤＩファイル中の所定トラックに含まれるテキストをインポートするようにしてもよい。
【００７９】
図４は、図３のステップＳＡ９に示す読み仮名及びルビ処理の詳細を示すフローチャートである。
【００８０】
ステップＳＢ１では、文字列レジスタ中に（）又は〔〕に囲まれた仮名の文字コードがあるか否かをチェックする。例えば、テキストデータ５２中の「（あか）」又は「〔ゆうひ〕」がこれに該当する。
【００８１】
また、「夕日〔ゆう！ひ〕＿」の場合は、文字列「夕日〔ゆう〕と文字列「ひ」」との両方もこれに該当する。すなわち、（）又は〔〕のいずれかの片括弧に囲まれた仮名文字があればこれに該当する。
【００８２】
当該文字コードがあるときには、ＹＥＳの矢印に従い、ステップＳＢ２へ進む。当該文字コードがないときには、ＮＯの矢印に従い、読み仮名及びルビ処理を終了する。
【００８３】
ステップＳＢ２では、文字列レジスタ中の（）又は〔〕の前にある非仮名の文字コードを削除する。非仮名の文字コードは、漢字、記号、英数字を含む。例えば、テキストデータ５２中の「赤」や「夕日」を削除する。
【００８４】
ステップＳＢ３では、文字列レジスタ中の（）又は〔〕を削除する。その結果、例えば、文字列「夕日〔ゆう〕は「ゆう」に変換され、文字列「ひ」」は「ひ」に変換される。その後、読み仮名及びルビ処理を終了し、図３のテキストインポート処理に戻る。
【００８５】
上記の処理により、読み仮名やルビが振られた漢字等は、漢字等が削除されて仮名が残る。漢字等は、発音に不必要な文字コードである。
【００８６】
図５は、パーソナルコンピュータ１のＣＰＵが行う音素列変換処理を示すフローチャートである。音素列変換処理は、ノートプラスデータ５３（図２）を生成した後に、歌詞イベントを音素列に変換する処理である。
【００８７】
表示回路７においては、１つのノートプラスイベントが１行に表示されている。すなわち、１つの行は１つのノートプラスイベントに対応する。ステップＳＣ１では、ノートプラスデータ５３中から変換する行を選択する。操作者は、表示回路７に表示された各行の表示内容を参照し、マウス１０等を用いて、１行又は複数行（すなわち１又は複数のノートプラスイベント）を選択することができる。
【００８８】
ステップＳＣ２では、選択された行の中の第１行目の位置にポインタをセットする。例えば、ノートプラスイベント「Ｎ１，あか」の位置にポインタをセットする。
【００８９】
ステップＳＣ３では、当該行の文字列（歌詞イベント）は仮名のみか否かをチェックする。仮名のみのときは、音素列変換を行うため、ＹＥＳの矢印に従いステップＳＣ４へ進む。仮名のみでないときには、ＮＯの矢印に従い、音素列変換を行わずにステップＳＣ６へ進む。なお、仮名以外に呼気記号も含まれている場合は、仮名のみと判断する。
【００９０】
ステップＳＣ４では、仮名−音素列テーブルを参照して、当該文字列に対応する音素列を求める。例えば、文字列「あか」に対応する音素列を求める。
【００９１】
ステップＳＣ５では、文字列と音素列との置き換えを行う。すなわち、ノートプラスデータ５３中では、文字列「あか」が削除され、それに対応する音素列が書き込まれる。その後、ステップＳＣ６へ進む。
【００９２】
ステップＳＣ６では、選択範囲行の中に次の行があるか否かをチェックする。選択範囲行が１行のみの場合は次の行がないので、ＮＯの矢印に従い、音素列変換処理を終了する。次の行があるときには、ＹＥＳの矢印に従い、ステップＳＣ７へ進む。
【００９３】
ステップＳＣ７では、次の行の位置にポインタをセットする。例えば、ノートプラスイベント「Ｎ２，い▽」の位置にポインタをセットする。その後、ステップＳＣ３へ戻り、上記の処理を繰り返す。呼気記号「▽」は音素列に変換されない。仮名「い」のみが音素列に変換される。
【００９４】
全ての行の処理が終了すると、ステップＳＣ６においてＮＯの矢印に従い、音素列変換処理を終了する。後の処理で、変換された音素列は、外部音源装置２１（図１）へ供給され、発音される。
【００９５】
なお、音素列に変換された後は、当該音素列を再び文字列に変換して、音素列と文字列の両方を表示回路７上の画面に表示する。操作者は、文字列とそれに対応する音素列を知ることができる。また、音素列の変換が正常に行われたか否かを知ることもできる。
【００９６】
次に、空白行挿入処理を説明する。上記のように、ノートイベントに歌詞イベントを割り当てた後、歌詞の間に新たな歌詞を挿入したい場合がある。例えば、歌詞の一部分が欠落しており、該欠落部分以降の歌詞が前方に詰まった状態でノートイベントと歌詞イベントが対応づけられてしまい、結果として、ノートイベントと歌詞イベントの対応が間違った状態でノートプラスイベントが生成されてしまった場合等である。その場合に、所望の場所に空白行を挿入し、その空白行に新たな歌詞を埋めればよい。
【００９７】
図６（Ａ）〜（Ｄ）は、空白行挿入処理を説明するための図である。図６（Ａ）は、ノートプラスデータの例を示す。ノートプラスデータは、例えば８行のノートプラスイベントを有する。第１行目のノートプラスイベントは、ノートイベントＮ１と歌詞イベントＬ１を有する。
【００９８】
操作者は、マウス等を用いて、空白行を挿入したい位置ＰＴと行数ＬＬを指定することができる。例えば、挿入位置ＰＴとして第３行目を指定し、挿入行数ＬＬとして２行を指定することができる。
【００９９】
まず、図６（Ｂ）のバッファに、挿入位置ＰＴ以降の歌詞イベントＬ３〜Ｌ８をコピーする。なお、バッファ内には、空白行が含まれていてもよい。
【０１００】
次に、図６（Ｃ）に示すように、図６（Ａ）のノートプラスデータの挿入位置ＰＴ（第３行目）から挿入行数ＬＬ（２行）だけ歌詞イベントを消去する。すなわち、歌詞イベントＬ３及びＬ４を消去する。
【０１０１】
次に、図６（Ｄ）に示すように、図６（Ｃ）のノートプラスデータ中の第５行目以降にバッファ（図６（Ｂ））内の歌詞イベントをコピーする。ただし、ノートイベントＮ８よりも後ろにはノートイベントがないので、ノートイベントＮ８に残りの歌詞イベントがまとめて割り当てられる。すなわち、ノートイベントＮ８には、歌詞イベントＬ６〜Ｌ８が割り当てられる。
【０１０２】
図６（Ｄ）のノートプラスデータでは、ノートイベントＮ３及びＮ４に空白行の歌詞イベントが割り当てられる。結果として、２行の空白行が挿入されたことになる。そして、空白行挿入箇所以降のノートプラスイベントは、ノートイベントと歌詞イベントの対応づけが変更された状態となる。なお、空白行については、歌詞イベントが消去されたため、ノートプラスイベントではなく、通常のノートイベントとなる。
【０１０３】
図７は、上記の空白行挿入処理を実現するためのフローチャートである。ステップＳＤ１では、空白行の挿入位置ＰＴと挿入行ＬＬを指定する。
【０１０４】
ステップＳＤ２では、挿入位置ＰＴ以降の歌詞イベント（音素列／文字列）をバッファ（図６（Ｂ））にコピーする。
【０１０５】
ステップＳＤ３では、挿入位置ＰＴから挿入行数ＬＬ分の歌詞イベントを消去する（図６（Ｃ））。
【０１０６】
ステップＳＤ４では、バッファ（図６（Ｂ））の歌詞イベントを、挿入位置ＰＴから挿入行数ＬＬ分より後ろのノートイベントに割り当てる。このとき、割り当てるべきノートイベントが無くなったにもかかわらず歌詞イベントがバッファ内に残っているときは、残りの歌詞イベントを全て最後のノートイベントに追加する。以上で、空白行の挿入処理を終了する。
【０１０７】
なお、図６（Ａ）のノートプラスデータに空白行を挿入して図６（Ｄ）のノートプラスデータを生成する方法は上記以外の方法でもよい。
【０１０８】
図８（Ａ）〜（Ｆ）は、歌詞イベント挿入処理を説明するための図である。図８（Ａ）は、ノートプラスデータの例を示す。操作者は、マウス等を用いて、挿入したい歌詞イベントの範囲ＲＧを指定することができる。例えば、範囲ＲＧとして、歌詞イベントＬ５及びＬ６を指定することができる。
【０１０９】
まず、図８（Ｂ）のクリップボードに、範囲ＲＧ内の歌詞イベントＬ５及びＬ６をコピーする。
【０１１０】
次に、図８（Ｃ）に示すように、操作者は、マウス等を用いて、挿入位置ＰＴを指定することができる。例えば、挿入位置ＰＴとして、第３行目のノートプラスイベント「Ｎ３，Ｌ３」を指定することができる。
【０１１１】
次に、図８（Ｄ）のバッファに、挿入位置ＰＴ以降の歌詞イベントＬ３〜Ｌ８をコピーする。
【０１１２】
次に、図８（Ｅ）に示すように、図８（Ｃ）の挿入位置ＰＴ以降のノートイベントＮ３及びＮ４に、クリップボード（図８（Ｂ））の歌詞イベントＬ５及びＬ６を割り当てる。
【０１１３】
次に、図８（Ｆ）に示すように、図８（Ｅ）のノートプラスデータ中の第５行目「Ｎ５，Ｌ５」以降に、バッファ（図８（Ｄ））内の歌詞イベントＬ３〜Ｌ８を割り当てる。ただし、ノートイベントＮ８よりも後ろにはノートイベントがないので、ノートイベントＮ８に残りの歌詞イベントＬ６〜８をまとめて割り当てる。その結果、図８（Ｆ）のノートプラスデータには、挿入位置ＰＴに歌詞イベントＬ５及びＬ６が挿入されたことになる。
【０１１４】
図９は、上記の歌詞イベント挿入処理を実現するためのフローチャートである。
【０１１５】
ステップＳＥ１では、任意行数ＲＧの歌詞イベントを指定し（図８（Ａ））、クリップボード（図８（Ｂ））にコピーする。
【０１１６】
ステップＳＥ２では、歌詞イベントの挿入位置ＰＴを指定する（図８（Ｃ））。
【０１１７】
ステップＳＥ３では、挿入位置ＰＴ以降の歌詞イベントをバッファ（図８（Ｄ））にコピーする。
【０１１８】
ステップＳＥ４では、クリップボード（図８（Ｂ））の歌詞イベントを、挿入位置ＰＴから挿入行数ＲＧ分だけノートプラスデータに割り当てる（図８（Ｅ））。
【０１１９】
ステップＳＥ５では、バッファ（図８（Ｄ））の歌詞イベントを、挿入位置ＰＴから挿入行数ＲＧ分より後ろのノートプラスデータに割り当てる（図８（Ｆ））。以上で、歌詞イベント挿入処理を終了する。
【０１２０】
なお、図８（Ａ）のノートプラスデータに所望の歌詞イベントを挿入して、図８（Ｆ）のノートプラスデータを生成する方法は上記以外の方法でもよい。
【０１２１】
図１０（Ａ）〜（Ｅ）は、歌詞イベント削除処理を説明するための図である。図１０（Ａ）は、ノートプラスデータの例を示す。操作者は、マウス等を用いて、削除したい歌詞イベントの範囲ＲＧを指定することができる。例えば、範囲ＲＧとして、歌詞イベントＬ３及びＬ４を指定することができる。
【０１２２】
まず、図１０（Ｂ）のクリップボードに、範囲ＲＧ内の歌詞イベントＬ３及びＬ４をコピーする。このクリップボードの内容は、この後の処理で使用することはないが、必要に応じて図８（Ｂ）のクリップボードとして使用することができる。
【０１２３】
次に、図１０（Ｃ）のバッファに、範囲ＲＧより後ろの歌詞イベントＬ５〜Ｌ８をコピーする。
【０１２４】
次に、図１０（Ｄ）に示すように、図１０（Ａ）の範囲ＲＧ以降の歌詞イベントＬ３〜Ｌ８を削除する。
【０１２５】
次に、図１０（Ｅ）に示すように、図１０（Ｄ）の範囲ＲＧ以降のノートイベントＮ３〜Ｎ８に、バッファ（図１０（Ｃ））内の歌詞イベントＬ５〜Ｌ８を割り当てる。ただし、歌詞イベントＬ３及びＬ４を削除したため、最後のノートイベントＮ７及びＮ８には空白行の歌詞イベントが割り当てられる。図１０（Ｅ）のノートプラスデータでは、歌詞イベントＬ３及びＮ４が削除されたため、歌詞イベントＬ２の次に歌詞イベントＬ５が続く。
【０１２６】
図１１は、上記の歌詞イベント削除処理を実現するためのフローチャートである。
【０１２７】
ステップＳＦ１では、削除すべき任意行数ＲＧの歌詞イベントを指定し（図１０（Ａ））、クリップボード（図１０（Ｂ））にコピーする。
【０１２８】
ステップＳＦ２では、削除される行ＲＧより後ろの歌詞イベントをバッファ（図１０（Ｃ））にコピーする。
【０１２９】
ステップＳＦ３では、削除される行ＲＧ以降の歌詞データを消去する（図１０（Ｄ））。
【０１３０】
ステップＳＦ４では、バッファ（図１０（Ｃ））の歌詞イベントを、削除行ＲＧ以降のノートプラスデータに割り当てる（図１０（Ｅ））。以上で、歌詞イベント削除処理を終了する。
【０１３１】
歌詞イベント削除処理は、演奏データをアレンジしてノートイベントの数が少なくなったり、歌詞データの入力ミスにより歌詞イベントの数が多くなった場合等に有効な処理である。
【０１３２】
なお、図１０（Ａ）のノートプラスデータから所望の歌詞イベントを削除して図１０（Ｅ）のノートプラスデータを生成する方法は上記以外の方法でもよい。
【０１３３】
図１２（Ａ）〜（Ｄ）は、第１の歌詞自動割り当て処理を説明するための図である。
【０１３４】
図１２（Ａ）は、ノートプラスデータの例を示す。操作者は、マウス等を用いて、自動割り当てを行いたいノートプラスイベントの範囲ＲＧを指定することができる。例えば、範囲ＲＧとして、第２〜６のノートプラスイベントを指定することができる。
【０１３５】
まず、図１２（Ｂ）のバッファに、範囲ＲＧ内の歌詞イベント「いうえおかきく」をコピーする。次に、図１２（Ｃ）に示すように、図１２（Ａ）の範囲ＲＧ内の歌詞イベントを削除する。
【０１３６】
次に、図１２（Ｄ）に示すように、図１２（Ｄ）の範囲ＲＧ内のノートイベントＮ２〜Ｎ６に、バッファ（図１２（Ｂ））内の歌詞イベント「いうえおかきく」を１文字ずつ割り当てる。ただし、最後のノートイベントＮ６には、残りの文字列「かきく」を割り当てる。図１２（Ｄ）のノートプラスデータでは、範囲ＲＧ内のノートイベントＮ２〜Ｎ５にそれぞれ１文字ずつ割り当てられ、ノートイベントＮ６に３文字「かきく」が割り当てられる。基本的に、１音符に１文字（音節）が割り当てられる。
【０１３７】
第１の歌詞自動割り当て処理は、範囲ＲＧの行数内で、すなわち、行数を増減させることなく、各行に自動的に歌詞イベントを割り当てる処理である。
【０１３８】
図１３は、上記の第１の歌詞自動割り当て処理を実現するためのフローチャートである。
【０１３９】
ステップＳＧ１では、歌詞を自動割り当てする複数行ＲＧを選択する（図１２（Ａ））。
【０１４０】
ステップＳＧ２では、選択された複数行ＲＧに含まれる歌詞イベントをバッファ（図１２（Ｂ））にコピーする。ただし、歌詞イベントが音素列により構成されているときには、バッファ中の音素列を文字データに変換する。
【０１４１】
ステップＳＧ３では、選択された複数行ＲＧ内の歌詞イベントを消去する（図１２（Ｃ））。
【０１４２】
ステップＳＧ４では、バッファ（図１２（Ｂ））内の文字列データを、選択された複数行ＲＧのノートプラスデータに割り当てる（図１２（Ｄ））。以上で、第１の歌詞自動割り当て処理を終了する。
【０１４３】
図１４（Ａ）、（Ｂ）は、空白行自動挿入処理を説明するための図である。図１４（Ａ）は、ノートプラスデータの例を示す。操作者は、マウス等を用いて、空白行を挿入したい行ＲＧを選択することができる。例えば、選択行ＲＧとして、第４行のノートプラスイベントを指定することができる。
【０１４４】
まず、選択行ＲＧ内の歌詞イベントを構成する文字数をカウントする。例えば、歌詞イベント「おかきく」の文字数は４文字である。
【０１４５】
次に、図１４（Ｂ）に示すように、「当該文字数−１」行の空白行を、選択行ＲＧの位置に挿入する。例えば、４−１＝３行の空白行を挿入する。選択行ＲＧ以降のノートイベントＮ４〜Ｎ６には空白行が割り当てられ、ノートイベントＮ７に歌詞イベント「おかきく」が割り当てられる。
【０１４６】
なお、選択行ＲＧの歌詞イベント「おかきく」の前に空白行を挿入する場合に限定されず、歌詞イベント「おかきく」の後ろに空白行を挿入してもよい。
【０１４７】
この後、第４行〜第７行を選択して、図１２に示した第１の歌詞自動割り当て処理を行えば、当該空白行に歌詞イベントを割り当てることができる。具体的には、「Ｎ４，お」、「Ｎ５，か」、「Ｎ６，き」、「Ｎ７，く」のように割り当てることができる。
【０１４８】
図１５は、上記の空白行自動挿入処理を実現するためのフローチャートである。
【０１４９】
ステップＳＨ１では、空白行を自動挿入する行ＲＧを選択する（図１４（Ａ））。
【０１５０】
ステップＳＨ２では、選択された行ＲＧ内の歌詞イベントの文字数を検出する。歌詞イベントが音素列により構成されるときには、音素列を文字に換算してから文字数を検出する。
【０１５１】
ステップＳＨ３では、「文字数−１」の行数の空白行を選択行ＲＧの位置に挿入する。この挿入は、上記空白行挿入と同様に、バッファを用いて行うことができる。以上で、空白行自動挿入処理を終了する。
【０１５２】
図１６（Ａ）〜（Ｄ）は、第２の歌詞自動割り当て処理を説明するための図である。
【０１５３】
図１６（Ａ）は、ノートプラスデータの例を示す。操作者は、マウス等を用いて、自動割り当てを行いたいノートプラスイベントの範囲ＲＧを指定することができる。例えば、範囲ＲＧとして、第２〜６のノートプラスイベントを指定することができる。
【０１５４】
まず、図１６（Ｂ）のバッファに、範囲ＲＧ内の歌詞イベント「いうえおかきく」をコピーする。
【０１５５】
次に、図１６（Ｃ）に示すように、バッファ内の文字数（７文字）が範囲ＲＧの行数（５行）よりも２文字多いので、２行の空白行を範囲ＲＧの位置に挿入する。
【０１５６】
次に、図１６（Ｄ）に示すように、選択行ＲＧの位置からバッファ（図１６（Ｂ））内の文字数（７文字）までの数のノートイベントＮ２〜Ｎ８に、バッファ内の文字列「いうえおかきく」を１文字ずつ割り当てる。ノートイベントＮ２〜Ｎ８には、それぞれ１文字の歌詞イベントが割り当てられる。
【０１５７】
第２の歌詞自動割り当て処理は、選択された行ＲＧに含まれる全ての文字が、必ず１ノートイベントに付き１文字割り当てられるようにする処理である。
【０１５８】
図１７は、上記の第２の歌詞自動割り当て処理を実現するためのフローチャートである。
【０１５９】
ステップＳＩ１では、歌詞を自動割り当てする複数行ＲＧのノートプラスイベントを選択する（図１６（Ａ））。
【０１６０】
ステップＳＩ２では、選択された複数行ＲＧ内の歌詞イベントをバッファ（図１６（Ｂ））にコピーする。ただし、歌詞イベントが音素列により構成されているときには、バッファ中の音素列を文字データに変換する。
【０１６１】
ステップＳＩ３では、バッファ内の文字数を検出する。ステップＳＩ４では、選択された行数ＲＧと検出された文字数を比較する。
【０１６２】
ステップＳＩ５では、比較した行数が等しいか、多いか、少ないかをチェックする。行数が多いときにはステップＳＩ６へ進み、余分な行数を削除し、ステップＳＩ８へ進む。行数が少ないときにはステップＳＩ７へ進み、足りない行数を挿入し（図１６（Ｃ））、ステップＳＩ８へ進む。行数が等しいときには、行数を変更せずに、ステップＳＩ８へ進む。
【０１６３】
ステップＳＩ８では、バッファ内の文字列データを、選択行ＲＧの先頭行から、選択行ＲＧの行数だけ、又は削除後の行数だけ、又は挿入後の行数だけ、ノートプラスイベントに割り当てる（図１６（Ｄ））。以上で、第２の歌詞自動割り当て処理を終了する。
【０１６４】
図１８（Ａ）〜（Ｄ）は、複数行併合処理を説明するための図である。図１８（Ａ）は、ノートプラスデータの例を示す。ノートプラスデータは、ノートプラスイベント「Ｎ１，あ」、「Ｎ２，い」、「Ｎ３，う」、「Ｎ４，え」、「Ｎ５，お」を有する。
【０１６５】
操作者は、マウス等を用いて、併合するノートプラスイベントの範囲ＲＧを指定することができる。例えば、範囲ＲＧとして、第２及び３のノートプラスイベントを指定することができる。
【０１６６】
まず、図１８（Ｂ）のバッファに、範囲ＲＧ内の歌詞イベント「いう」をコピーする。
【０１６７】
次に、図１８（Ｃ）に示すように、範囲ＲＧ内の先頭行の歌詞イベント「い」だけを残し、残りの行の歌詞イベント「う」を削除する。範囲ＲＧより後ろの歌詞イベント「え、お」は、前の行に詰められる。ノートプラスデータは、ノートプラスイベント「Ｎ１，あ」、「Ｎ２，い」、「Ｎ３，え」、「Ｎ４，お」、「Ｎ５，＿」を有する。
【０１６８】
次に、図１８（Ｄ）に示すように、範囲ＲＧ内の先頭行のノートイベントＮ２に、バッファ内の文字列「いう」を割り当てる。第２のノートイベントＮ２には、範囲ＲＧ内の歌詞イベント「いう」が併合されて割り当てられる。
【０１６９】
上記の第１又は第２の歌詞自動割り当て処理では、１つのノートイベントに１文字の歌詞イベントが割り当てたが、その後にこの複数行併合処理を利用することにより、１つのノートイベントに２文字以上の歌詞イベントを割り当てるように修正することができる。
【０１７０】
図１９は、上記の複数行併合処理を実現するためのフローチャートである。ステップＳＪ１では、歌詞イベントを併合する複数行ＲＧを選択する（図１８（Ａ））。
【０１７１】
ステップＳＪ２では、選択された複数行ＲＧ内の歌詞イベントをバッファ（図１８（Ｂ））にコピーする。ただし、歌詞イベントが音素列により構成されているときには、バッファ中の音素列を文字データに変換する。
【０１７２】
ステップＳＪ３では、選択された複数行ＲＧのうち、１行を残して残りの行の歌詞イベントを削除する（図１８（Ｃ））。削除された後の歌詞イベントは、前の行に詰められる。
【０１７３】
ステップＳＪ４では、バッファ内の文字列データを、範囲ＲＧ内の残った行のノートプラスデータ内のノートイベントに割り当てる（図１８（Ｄ））。以上で、複数行併合処理を終了する。
【０１７４】
図２０（Ａ）、（Ｂ）は、歌詞イベント分割処理を説明するための図である。図２０（Ａ）は、ノートプラスデータの例を示す。ノートプラスデータは、ノートプラスイベント「Ｎ１，あ」、「Ｎ２，いう」、「Ｎ３，え」を有する。
【０１７５】
操作者は、マウス等を用いて、歌詞イベントの分割を行いたい行ＲＧを選択し、その行内で分割を行いたい文字位置にカーソルＣＳを設定する。例えば、範囲ＲＧとして、第２のノートプラスイベント「Ｎ２，いう」を選択し、カーソルＣＳを「い」と「う」の間に設定する。その後、操作者がリターンキー（実行キー）を操作することにより、以下の分割処理が行われる。
【０１７６】
図２０（Ｂ）に示すように、文字「い」と「う」とが分割される。ノートプラスデータは、ノートプラスイベント「Ｎ１，あ」、「Ｎ２，い」、「Ｎ３，うえ」を有する。カーソルＣＳの後ろの文字「う」は、選択行ＲＧの後ろの行の歌詞イベント「え」と併合される。
【０１７７】
空白行の歌詞イベントを多数挿入しておき（図６）、先頭から順番に歌詞を割り当てる際に便利である。
【０１７８】
図２１は、上記の歌詞イベント分割処理を実現するためのフローチャートである。
【０１７９】
ステップＳＫ１では、分割する歌詞イベントを含む行ＲＧを選択する（図２０（Ａ））。
【０１８０】
ステップＳＫ２では、マウス操作等により分割位置にカーソルを設定する（図２０（Ａ））。
【０１８１】
ステップＳＫ３では、リターンキーの操作に応じて、分割位置以降の歌詞イベントをその次の行のノートプラスデータ内の歌詞イベントに追加する（図２０（Ｂ））。以上で、歌詞イベント分割処理を終了する。
【０１８２】
図２２（Ａ）〜（Ｃ）は、仮名変換処理を説明するための図である。図２２（Ａ）は、ノートプラスデータの例を示す。ノートプラスデータは、ノートプラスイベント「Ｎ１，あか」、「Ｎ２，い」、「Ｎ３，夕」、「Ｎ４，日」を有する。
【０１８３】
操作者は、マウスを用いて、仮名変換を行いたい歌詞イベント「夕」の位置にマウスポインタ７１を移動し、マウスの右ボタンをクリックする。
【０１８４】
図２２（Ｂ）に示すように、歌詞イベント「夕」の読み仮名候補がメニュー７２に表示される。メニュー７２には、例えば「ゆう」、「せき」が表示される。操作者は、適切な読み仮名である文字列「ゆう」の位置にマウスポインタ７１を移動させ、マウスの左ボタンをクリックする。
【０１８５】
図２２（Ｃ）に示すように、ノートイベントＮ３に割り当てられる歌詞イベントは漢字「夕」から仮名「ゆう」に変換される。漢字の他、英数字や記号等も仮名に変換することができる。漢字や英数字等を仮名に変換すれば、その後に仮名から音素列に変換することができるので（図５）、音素列の発音が可能になる。
【０１８６】
図２３は、上記の仮名変換処理を実現するためのフローチャートである。ステップＳＬ１では、仮名変換する文字の行をマウスポインタ７１で指定する（図２２（Ａ））。
【０１８７】
ステップＳＬ２では、マウスの右ボタンがクリックされると、選択文字に対応する読み仮名をデータベースから検索し、読み仮名候補として表示する（図２２（Ｂ））。データベースは、漢字等から仮名への変換するための辞書であり、外部記憶装置１３又はＲＡＭ３等に記憶される。
【０１８８】
ステップＳＬ３では、読み仮名候補のいずれかをマウスポインタ７１で指定する（図２２（Ｂ））。
【０１８９】
ステップＳＬ４では、マウスの左ボタンがクリックされると、指定された読み仮名候補を指定行の文字列として、ノートプラスデータ内のノートイベントに割り当てる（図２２（Ｃ））。以上で、仮名変換処理を終了する。
【０１９０】
以上のようにして作成されたノートプラスイベント（図５の音素列変換処理によって文字列を音素列に変換したもの）を、外部音源装置２１へと供給することによって、外部音源装置２１内の音声合成回路３２において、歌唱音声信号を生成させることができる。なお、本実施の形態において説明した音声データ処理装置（パーソナルコンピュータ１）においては、ノートプラスデータを、そのままの形式で再生処理可能な、いわば、専用の音声データ処理装置である。この音声データ処理装置は、ノートイベントと歌詞イベント（音素列）を適切な順序で送信することができる。
【０１９１】
ここで、ノートイベントと歌詞イベントを送信する際の適切な順序について説明する。図２４（Ａ）、（Ｂ）は、ノートイベントと歌詞イベントの送信順序を説明するための図である。ノートプラスイベントは、例えばノートイベントＮ１と歌詞イベントＬ１の組である（図６（Ａ）））。ノートイベントＮ１と歌詞イベントＬ１は理論上は同じタイミングで送信するべきであるが、ＭＩＤＩ通信はシリアル通信であるため、いずれを先に外部音源装置２１（図１）へ送信すべきかが問題になる。ノートイベントＮ１はノートオンイベントに変換されて送信される。歌詞イベントは音素列に変換（図５）されて送信される。
【０１９２】
図２４（Ａ）は、音素列、ノートオンの順序で送信するタイミングを示す。まず、音節「あ」に対応する音素列「ａｊ」を送信する。その後にノートオンを送信すると、そのタイミングで「あ」の発音が開始する。次に、音節「い」に対応する音素列「ｉｊ」を送信する。その後にノートオンを送信すると、そのタイミングで「あ」から「い」に発音が切り換わる。次に、音節「う」に対応する音素列「ｕｊ」を送信する。その後にノートオンを送信すると、そのタイミングで「い」から「う」に発音が切り換わる。
【０１９３】
図２４（Ａ）では、ノートオン（ノートイベント）と音素列（歌詞イベント）との対応がとれており、適正な歌を歌わせることができる。
【０１９４】
図２４（Ｂ）は、ノートオン、音素列の順序で送信するタイミングを示す。まず、ノートオンを送信する。この時点では、音素列が設定されていないので、例えば「あ」等の初期設定されている音素列が発音を開始する。その後、音節「あ」に対応する音素列「ａｊ」を送信する。この時点では、発音に変化はなく初期設定されている「あ」の発音が持続される。次に、ノートオンを送信すると、そのタイミングで初期設定された音素列「あ」の発音から、送信された音素列「あ」の発音に切り換わる。その後に、音節「い」に対応する音素列「ｉｊ」を送信するが、発音に影響はない。次に、ノートオンを送信すると、そのタイミングで「あ」から「い」に発音が切り換わる。その後に、音節「う」に対応する音素列「ｕｊ」を送信するが、発音に影響はない。
【０１９５】
図２４（Ｂ）では、ノートオン（ノートイベント）と音素列（歌詞イベント）との対応がとれていず、１つのノート分だけ遅れて歌詞が発音されてしまう。これでは、適正な歌を歌わせることができない。
【０１９６】
外部音源装置２１には、図２４（Ａ）に示したように、まず音素列を送信し、その後、対応するノートオンを送信する必要がある。上述したように、この実施の形態における音声データ処理装置は、ノートプラスデータを正しく扱うことができる装置であり、つ１のノートプラスイベントについて、先に音素列を送信した後、ノートオンを送信するようになっている。ところが、本音声データ処理装置以外のシーケンサ等においては、ノートプラスイベントを正しく扱うとこができない。このため、本音声データ処理装置は、ノートプラスデータを、より汎用的なスタンダードＭＩＤＩファイルに変換する機能を備えている。このとき、単純にスタンダードＭＩＤＩファイルに変換するだけでは、後述するような不都合が生じてしまう可能性があるため、上述したような送信順序を考慮しての変換をするようにしている。以下、ノートイベントと歌詞イベント（音素列）の送信順序を考慮して、ノートプラスデータを、スタンダードＭＩＤＩファイルに変換する方法を説明する。
【０１９７】
図２５は、ノートプラスデータ７５をスタンダードＭＩＤＩファイル７６に変換する方法を説明するための図である。
【０１９８】
ノートプラスデータ７５は、順にノートイベントＮ１、歌詞イベントＬ１、デュレーションＴ２、ノートイベントＮ２、歌詞イベントＬ２、デュレーションＴ３を有する。
【０１９９】
ノートイベントＮ１は、ノートオンイベントＮＯＮ１とゲートタイムＧＴ１を有する。ノートオンイベントＮＯＮ１は、例えばノートナンバ（音高）、ベロシティ（音量）を含む。ゲートタイムＧＴ１は、ノートオンからノートオフまでの時間であり、例えば４５０である。歌詞イベントＬ１は、音素列により構成される。ただし、呼気記号や漢字等は文字列として歌詞イベントＬ１内に含まれる。
【０２００】
ノートイベントＮ２は、ノートイベントＮ１と同様に、ノートオンイベントＮＯＮ２とゲートタイムＧＴ２を有する。ゲートタイムＧＴ２は、例えば２２０である。歌詞イベントＬ２は、歌詞イベントＬ１と同様に、音素列により構成される。
【０２０１】
デュレーションＴ２は、ノートオンイベントＮＯＮ１の発音開始からノートオンイベントＮＯＮ２の発音開始までの時間であり、例えば４８０である。デュレーションＴ３は、ノートオンイベントＮＯＮ２の発音開始から次のノートオンイベントの発音開始までの時間であり、例えば２４０である。ゲートタイムやデュレーションの値は、クロック数で表される。１クロックは、例えば４分音符長の１／４８０の時間である。
【０２０２】
スタンダードＭＩＤＩファイル７６は、ＭＩＤＩ規格に適した汎用フォーマットのファイルである。スタンダードＭＩＤＩファイル７６は、デュレーションとイベントの組で構成される。
【０２０３】
スタンダードＭＩＤＩファイル７６は、順に、歌詞イベントＬ１、デュレーションＴＴ１、ノートオンイベントＮＯＮ１、デュレーションＴＴ２、ノートオフイベントＮＯＦＦ１、デュレーションＴＴ３、歌詞イベントＬ２、デュレーションＴＴ４、ノートオンイベントＮＯＮ２、デュレーションＴＴ５、ノートオフイベントＮＯＦＦ２、デュレーションＴＴ６を有する。
【０２０４】
歌詞イベントＬ１及びノートオンイベントＮＯＮ１は、ノートプラスデータ７５中の歌詞イベントＬ１及びノートオンイベントＮＯＮ１と同じであるが、並び順が異なる。歌詞イベントＬ１をノートオンイベントＮＯＮ１よりも先に送信することにより、図２４（Ａ）のように正常な歌を歌わせることができる。
【０２０５】
デュレーションＴＴ１は、歌詞イベントＬ１の送信からノートオンイベントＮＯＮ１の送信までの時間であり、例えば５である。歌詞イベントＬ１をノートオンイベントＮＯＮ１よりも前のアドレスに位置するのであれば、理論的にはデュレーションＴＴ１は０でもよいと考えることができる。
【０２０６】
しかし、デュレーションＴＴ１を０にすると、スタンダードＭＩＤＩファイルを送信するパーソナルコンピュータ１又はシーケンサによって送信順序が異なることがある。すなわち、デュレーションＴＴ１を０にすると、歌詞イベントＬ１、ノートオンイベントＮＯＮ１の順で送信されるとは限らず、ノートオンイベントＮＯＮ１、歌詞イベントＬ１の順で送信されることがある。さらに、デュレーションＴＴ１が０でなく、１又は２であるときにも同様な現象が生じる。
【０２０７】
これは、シーケンサ等が歌詞イベントＬ１とノートオンイベントＮＯＮ１との重要度を比較し、ノートオンイベントＮＯＮ１の重要度が高いと判断し、ノートオンイベントＮＯＮ１を歌詞イベントＬ１よりも先に送信しているものと考えられる。なお、歌詞イベントは、ＭＩＤＩ規格で決められたシステムエクスクルーシブメッセージにより送信することができる。
【０２０８】
上記の弊害を防止するため、デュレーションＴＴ１を５にする。デュレーションＴＴ１は３以上が好ましいが、値が大きすぎると前のイベントに悪影響を与えることも考えられる。デュレーションＴＴ１は、３〜１０が好ましい。ただし、これはクロックの音符分解能が４分音符長の１／４８０の場合であって、音符分解能が異なる場合は上記好ましい数値は他の値をとる。例えば、クロックの音符分解能が４分音符の１／９６であれば、１〜３程度が好ましい。
【０２０９】
デュレーションＴＴ２は、ノートオンＮＯＮ１からノートオフＮＯＦＦ１までの時間であり、ノートプラスデータ７５のゲートタイムＧＴ１に相当し、例えば４５０である。
【０２１０】
ノートプラスデータ７５中のデュレーションＴ２は、ノートオンＮＯＮ１から次のノートオンＮＯＮ２までの時間であり、スタンダードＭＩＤＩファイル７６中のデュレーションＴＴ２とＴＴ３とＴＴ４とに分解される。
【０２１１】
デュレーションＴＴ２は、上記のように、ノートプラスデータ７５のゲートタイムＧＴ１と同じく４５０である。デュレーションＴＴ４は、歌詞イベントＬ２の送信からノートオンイベントＮＯＮ２の送信までの時間であり、デュレーションＴＴ１と同様に５である。デュレーションＴＴ３は、ノートオフイベントＮＯＦＦ１の送信から歌詞イベントＬ２の送信までの時間であり、ＴＴ３＝Ｔ２−ＴＴ２−ＴＴ４で表される。すなわち、ＴＴ３＝４８０−４５０−５＝２５である。
【０２１２】
上記のように、歌詞イベントＬ１をノートオンイベントＮＯＮ１よりも前のアドレスに位置させ、かつデュレーションＴＴ１を５にすることにより、確実に、歌詞イベントＬ１をノートオンイベントＮＯＮ１よりも先に送信することができる。その際、ノートオンイベントＮＯＮ１のタイミングは変えずに、歌詞イベントＬ１のタイミングを５だけ早めるので、ノートオンＮＯＮ１による発音タイミングはずれることがない。
【０２１３】
また、ノートプラスデータ７５をスタンダードＭＩＤＩファイル７６に変換することにより汎用性が増し、他のシーケンサ等でも処理することが可能になると共に、スタンダードＭＩＤＩファイル７６をフロッピディスク等でユーザに供給することが可能になる。
【０２１４】
図２６（Ａ）に示すように、スタンダードＭＩＤＩファイル（ＳＭＦ）変換手段８１は、ノートプラスデータ７５をＳＭＦデータ７６に変換することができる。パーソナルコンピュータ１は、ＳＭＦ変換手段８１において、ノートプラスデータ７５をスタンダードＭＩＤＩファイル７６に変換し、外部記憶装置１３にセーブすることができる。セーブされたスタンダードＭＩＤＩファイル７６は、他のパーソナルコンピュータやシーケンサ等で使用することができる。また、パーソナルコンピュータ１がスタンダードＭＩＤＩファイル７６を外部音源装置２１に送信すれば、外部音源装置２１はスタンダードＭＩＤＩファイル７６に応じて発音処理を行う。
【０２１５】
また、図２６（Ｂ）に示すように、ノートプラス変換手段８２は、ＳＭＦデータ７６をノートプラスデータ７５に変換することができる。パーソナルコンピュータ１は、外部記憶装置１３に記憶されているスタンダードＭＩＤＩファイル７６をロードし、ノートプラス変換手段８２において、ノートプラスデータ７５に変換してＲＡＭ３に記憶することができる。この際、上記ノートプラスデータ７５をスタンダードＭＩＤＩファイル７６に変換したのとは逆に、ノートイベントとは独立して記憶されている歌詞イベントを、１つのノートプラスイベントにまとめる処理を行う。まず、スタンダードＭＩＤＩファイル中のデータを先頭から順次サーチし、ノートオンイベントが見つかったら対応するノートオフイベントを探してゲートタイムを含む１つのノートオンイベントを生成する。そして、該ノートオンイベントよりも５クロック前までに存在する歌詞イベントをサーチして、見つかった場合は、該歌詞イベントをノートオンイベントに付加してノートオンイベントと歌詞イベントを組にしたノートプラスイベントを生成する。操作者は、上記に示したように、ノートプラスデータ７５について、種々の編集を行うことができる。なお、ノートプラスデータ７５をスタンダードＭＩＤＩファイルに変換する際の処理と同様の処理を、スタンダードＭＩＤＩファイル以外の比較的汎用性の高いデータ形式に変換する場合に適用してもよい。
【０２１６】
なお、外部音源装置２１内の音声合成回路に音素列を発音させる場合に限定されない。音声合成回路を含む音源ボードをパーソナルコンピュータ１に差し込み、当該音源ボードに音素列を発音させてもよい。その場合は、パーソナルコンピュータ１に外部音源装置２１を接続する必要はない。
【０２１７】
本実施例による音声データ処理装置は、パソコンとアプリケーションソフトウエアとによる形態に限らず、電子楽器やシーケンサの形態でもよい。アプリケーションソフトウエアは、磁気ディスク、光ディスク、半導体メモリ等の記憶媒体に記憶させ、パソコンに供給するようにしてもよいし、ネットワークを介して供給するようにしてもよい。
【０２１８】
音声データのフォーマットはスタンダードＭＩＤＩファイルのような演奏イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」に限定されず、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長あるいは休符と休符長で演奏データを表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等の形式でもよい。
【０２１９】
音声データは、複数のチャンネルのデータが混在した形式であってもよいし、各チャンネルのデータがトラック毎に別れているような形式であってもよい。
【０２２０】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。
【図面の簡単な説明】
【０２２１】
【図１】パーソナルコンピュータと外部音源装置とが接続されたシステムのハード構成を示す図である。
【図２】ノートイベントにテキストイベントを割り当てる処理を示す図である。
【図３】テキストインポート処理を示すフローチャートである。
【図４】図３のステップＳＡ９に示す読み仮名及びルビ処理の詳細を示すフローチャートである。
【図５】音素列変換処理を示すフローチャートである。
【図６】空白行挿入処理を説明するための図である。
【図７】空白行挿入処理を示すフローチャートである。
【図８】歌詞イベント挿入処理を説明するための図である。
【図９】歌詞イベント挿入処理を示すフローチャートである。
【図１０】歌詞イベント削除処理を説明するための図である。
【図１１】歌詞イベント削除処理を示すフローチャートである。
【図１２】第１の歌詞自動割り当て処理を説明するための図である。
【図１３】第１の歌詞自動割り当て処理を示すフローチャートである。
【図１４】空白行自動挿入処理を説明するための図である。
【図１５】空白行自動挿入処理を示すフローチャートである。
【図１６】第２の歌詞自動割り当て処理を説明するための図である。
【図１７】第２の歌詞自動割り当て処理を示すフローチャートである。
【図１８】複数行併合処理を説明するための図である。
【図１９】複数行併合処理を示すフローチャートである。
【図２０】歌詞イベント分割処理を説明するための図である。
【図２１】歌詞イベント分割処理を示すフローチャートである。
【図２２】仮名変換処理を説明するための図である。
【図２３】仮名変換処理を示すフローチャートである。
【図２４】図２４（Ａ）は音素列、ノートオンの順序で送信した場合の発音を示し、図２４（Ｂ）はノートオン、音素列の順序で送信した場合の発音を示す図である。
【図２５】ノートプラスデータとスタンダードＭＩＤＩファイルとの間の変換を示す図である。
【図２６】図２６（Ａ）はスタンダードＭＩＤＩファイル変換手段を示し、図２６（Ｂ）はノートプラス変換手段を示す図である。
【符号の説明】
【０２２２】
１ パーソナルコンピュータ、 ２ バス、 ３ ＲＡＭ、 ４ ＲＯＭ、 ５ ＣＰＵ、 ６ タイマ、 ７ 表示回路、 ８ ＭＩＤＩインターフェース、 ９，１１ 検出回路、 １０ マウス、 １２ キーボード、 １３ 外部記憶装置、 １４ 通信インターフェース、 ２１外部音源装置、 ２２ バス、 ２３ ＭＩＤＩインターフェース、２４ ＲＡＭ、 ２５ ＲＯＭ、 ２６ ＣＰＵ、 ２８ 表示回路、２９ 楽音波形合成回路、 ３１ サウンドシステム、 ３２ 音声合成回路、 ３３ 検出回路、 ３４ スイッチ、 ４１ 通信ネットワーク、 ４２ サーバコンピュータ、 ５１ 演奏データ、 ５２ テキストデータ、 ５３ ノートプラスデータ、 ７５ ノートプラスデータ、７６ スタンダードＭＩＤＩファイル、 ８１ スタンダードＭＩＤＩファイル変換手段、 ８２ ノートプラス変換手段
【図１】
2008233930.tif 000003
【図２】
2008233930.tif 000004
【図３】
2008233930.tif 000005
【図４】
2008233930.tif 000006
【図５】
2008233930.tif 000007
【図６】
2008233930.tif 000008
【図７】
2008233930.tif 000009
【図８】
2008233930.tif 000010
【図９】
2008233930.tif 000011
【図１０】
2008233930.tif 000012
【図１１】
2008233930.tif 000013
【図１２】
2008233930.tif 000014
【図１３】
2008233930.tif 000015
【図１４】
2008233930.tif 000016
【図１５】
2008233930.tif 000017
【図１６】
2008233930.tif 000018
【図１７】
2008233930.tif 000019
【図１８】
2008233930.tif 000020
【図１９】
2008233930.tif 000021
【図２０】
2008233930.tif 000022
【図２１】
2008233930.tif 000023
【図２２】
2008233930.tif 000024
【図２３】
2008233930.tif 000025
【図２４】
2008233930.tif 000026
【図２５】
2008233930.tif 000027
【図２６】
2008233930.tif 000028