(57)【特許請求の範囲】
【請求項１】
楽曲を構成する音符あるいは休符に対応した英数字情報を入力するテキスト入力手段と、
前記英数字情報を表示するテキスト表示手段と、
前記英数字情報を予め決められた第１のルールに従いその楽曲の演奏情報に変換する第１の変換手段と、
前記第１の変換手段で変換された演奏情報を記憶する記憶手段と
を有することを特徴とする楽曲情報入力編集装置。
【請求項２】
前記記憶手段に記憶された演奏情報を予め決められた第２のルールに従い前記英数字情報に変換する第２の変換手段を有することを特徴とする前記請求項１記載の楽曲情報入力編集装置。
【請求項３】
前記記憶手段に記憶された演奏情報を再生する楽曲再生手段を有することを特徴とする前記請求項１あるいは２記載の楽曲情報入力編集装置。
【請求項４】
前記楽曲再生手段による演奏情報の再生時に、その楽曲における現在の再生位置を検出する再生位置検出手段をさらに有し、
前記表示手段は、前記再生位置検出手段の出力に基づいて前記英数字情報中にその再生位置を表示することを特徴とする前記請求項３記載の楽曲情報入力編集装置。
【請求項５】
前記記憶手段に記憶された演奏情報を予め決められた第３のルールに従い前記英数字情報とは異なる表示形態の楽曲表示用情報に変換する第３の変換手段をさらに有し、
前記表示手段は、前記第３の変換手段の出力に基づいて前記英数字表示とは異なる表示形態でその楽曲を表示することを特徴とする前記請求項１あるいは２に記載の楽曲情報入力編集装置。
【請求項６】
前記テキスト入力手段は、前記音符に対応した英数字情報にその演奏方法に対応する英数字を付して入力することが可能であり、
前記第１の変換手段は、前記演奏方法に対応する英数字を検出した場合にその音符の音長情報を修正して変換することを特徴とする前記請求項１記載の楽曲情報入力編集装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シーケンサーあるいは楽曲を作成・編集するオーサリングツールなどの楽曲情報入力編集装置に関し、特に、各チャンネルがモノフォニックで構成されているようなシンプルな楽曲データの作成に用いて好適なインターフェースを提供するものである。
【０００２】
【従来の技術】
従来より、楽曲を作成・編集するシーケンスソフトあるいは楽曲オーサリングツールなどのソフトウエアが知られている。このようなシーケンスソフトにおいては、楽曲データを入力する手段として、リアルタイムＭＩＤＩ録音などのリアルタイム系入力、および、ピアノロール・ウインドウ、イベントリスト・ウインドウあるいは楽譜表示などの各種編集ウインドウによる打ち込みなどのノンリアルタイム系入力により楽曲データを入力することができるようになされている。前記リアルタイム系入力によれば、ＭＩＤＩ楽器などの演奏をリアルタイム録音することにより容易に楽曲を入力することができるが、楽器の演奏ができない者は打ち込みによるノンリアルタイム系の入力を行わざるを得ない。しかしながら、このようなノンリアルタイム系の入力には、次のような問題点がある。
【０００３】
ピアノロール・ウインドウによる打ち込みは最も一般的なものであるが、ピアノロール上の音符データの音域やタイミングを一つ一つグラフィック上で確認する手間や、マウス操作によるストレスがある。
また、音符（ＭＩＤＩノート）などのデータ（イベント）を時間経過順に一行形式で表示させたイベントリスト・ウインドウを用いて打ち込みを行う場合には、イベントを挿入するためのメニューを選択し、音符データ一つずつにつきイベントを確認しながら打ち込む手間が生じる。
さらに、楽譜表示による打ち込みの場合には、画面上に表示された五線譜上に、マウス操作により一音ずつ楽譜データを入力していくのであるが、楽譜表示上の音域やタイミングを一つ一つグラフィック上で確認する手間やマウス操作によるストレスがある。
【０００４】
【発明が解決しようとする課題】
携帯端末の着信音や保留音用の楽曲などは、１チャンネルがモノフォニックで構成されていることが多く、このようなシンプルな音符列を入力するために上述のような従来用いられてきた入力方法を採用する必要はない。
そこで本発明は、携帯端末用着信メロディなどのようなシンプルな楽曲データの入力および編集を簡単に行うことのできる楽曲情報入力編集装置を提供することを目的としている。
また、シンプルな楽曲データを容易に修正することのできる楽曲情報入力編集装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明の楽曲情報入力編集装置は、楽曲を構成する音符あるいは休符に対応した英数字情報を入力するテキスト入力手段と、前記英数字情報を表示するテキスト表示手段と、前記英数字情報を予め決められた第１のルールに従いその楽曲の演奏情報に変換する第１の変換手段と、前記第１の変換手段で変換された演奏情報を記憶する記憶手段とを有するものである。
また、前記記憶手段に記憶された演奏情報を予め決められた第２のルールに従い前記英数字情報に変換する第２の変換手段を有するものである。
さらに、前記記憶手段に記憶された演奏情報を再生する楽曲再生手段を有するものである。
【０００６】
さらにまた、前記楽曲再生手段による演奏情報の再生時に、その楽曲における現在の再生位置を検出する再生位置検出手段をさらに有し、前記表示手段は、前記再生位置検出手段の出力に基づいて前記英数字情報中にその再生位置を表示するものである。
さらにまた、前記記憶手段に記憶された演奏情報を予め決められた第３のルールに従い前記英数字情報とは異なる表示形態の楽曲表示用情報に変換する第３の変換手段をさらに有し、前記表示手段は、前記第３の変換手段の出力に基づいて前記英数字表示とは異なる表示形態でその楽曲を表示するものである。
さらにまた、前記テキスト入力手段は、前記音符に対応した英数字情報にその演奏方法に対応する英数字を付して入力することが可能であり、前記第１の変換手段は、前記演奏方法に対応する英数字を検出した場合にその音符の音長情報を修正して変換するものである。
【０００７】
【発明の実施の形態】
図１は、本発明の楽曲情報入力編集装置の全体構成を示すブロック図である。この図において、１は装置全体の動作の制御を行う中央処理装置（ＣＰＵ）、２は制御プログラムや定数データなどを格納するＲＯＭ、３は主メモリやワークエリアとして使用されるＲＡＭ、４は編集ウインドウなどの各種表示を行う表示装置（ディスプレイ）、５は文字や数字などを入力する入力装置（キーボード）、６はマウスなどの座標入力装置、７は楽音発生部、８はサウンドシステム、９は各種プログラムやデータおよび演奏情報を格納するハードディスク装置などの外部記憶装置、１０は各種入出力インターフェース、１１はバスである。そして、この楽曲情報入力編集装置は、前記入出力インターフェース１０を介してＭＩＤＩ楽器などの外部ＭＩＤＩ機器１２、ＰＨＳや携帯電話機などの携帯端末１３、さらには、インターネットなどのネットワークを介して外部楽曲配信サーバ１４など各種の装置に接続することができるようになされている。
なお、このような本発明の楽曲情報入力編集装置の構成要素１〜１１は、通常のパーソナルコンピュータの構成と同一であり、本楽曲情報入力編集装置は、パーソナルコンピュータ上のシーケンスソフトウエアとして実現すること、あるいは、専用機として実現することのいずれも可能である。また、前記座標入力装置６および外部記憶装置９などを除けば、携帯電話などの携帯機器に搭載されるソフトウエアとしても実現することができる。
【０００８】
本発明の楽曲情報入力編集装置においては、楽曲を構成する音符や休符などを英文字、数字、スペースおよび特殊文字（以下、「英数字」という。）で表現し、該音符や休符を表現する英数字を入力したり音符や休符に対応する英数字を表示するためのテキスト・スコア・ウインドウをノンリアルタイム系の楽曲入力手段として設けている。使用者は、このテキスト・スコア・ウインドウを用いて楽曲データの入力および編集を行う場合には、文字および数字を入力するキーボードを用いて楽曲データの入力および編集を行うことが可能となり、マウスなどを使用することによるストレスを感じることなく作業を行うことができる。
また、この楽曲情報入力編集装置においては、入力された楽曲データを所定のフォーマットの演奏情報（「内部シーケンス・データ」と呼ぶ）で記憶するようにしている。したがって、前述したテキスト・スコア・ウインドウ、あるいは、従来より用いられているピアノロール・ウインドウ、イベントリスト・ウインドウ、楽譜表示ウインドウなどの編集ウインドウを用いるノンリアルタイム系の入力インターフェースあるいはリアルタイム録音などのリアルタイム系の入力インターフェースから入力された楽曲データ、さらには、外部機器から入力される楽曲データは、前記内部シーケンス・データに変換されて記憶され、また、既存の楽曲データを表示あるいは外部に出力する場合には、その内部シーケンス・データが選択された形式のデータに変換されて表示あるいは外部出力されることとなる。
【０００９】
図２は、前記テキスト・スコア・ウインドウの一例を示す図である。なお、この例では、このテキスト・スコア・ウインドウを介してテキスト表現で入力される楽曲データによりモノフォニックの４チャンネルの楽音を発生するものとする。すなわち、各チャンネルは、同時に一つの音しか発音しないものとする。
図２において、２０はテキスト・スコア・ウインドウ、２１はタイトルバー、２２は前記４つのチャンネル（Ｃｈ１、Ｃｈ２、Ｃｈ３およびＣｈ４）のいずれかのチャンネルを選択するタブ、２３は選択されたチャンネルの英数字で表現された楽曲データ（以下、単に「テキストデータ」とよぶ。）を入力したりあるいは表示するテキスト・スコア・セクション、２４はスクロールバーである。また、２５はテキスト変換ボタンであり、このテキスト変換ボタン２５をマウス等で選択してクリックすることにより、前記テキスト・スコア・セクション２３に表示されているテキストデータを前記内部シーケンスデータに変換して記憶する処理が実行される。さらに、２６はテキスト逆変換ボタンであり、このテキスト逆変換ボタン２６をマウス等でクリックすることにより、既に前記内部シーケンスデータの形式で記憶されている楽曲データをテキストデータに変換して前記テキスト・スコア・セクション２３に表示する処理が実行される。
【００１０】
図３は、本発明の楽曲情報入力編集装置の機能を説明するための機能ブロック図であり、まず、この図を参照して本発明の楽曲情報入力編集装置の機能の概略について説明する。
図３において、３０は前述した前記内部シーケンスデータ、３１は前記テキスト・スコア・ウインドウ２０に入力されたテキストデータを読み込んだり、テキスト・スコア・ウインドウ２０にテキストデータを表示するテキストインターフェース処理部、３２はテキストデータ、３３は入力されたテキストデータ３２を前記内部シーケンスデータ３０に変換する第１の変換処理部（変換処理１）である。前記テキスト・スコア・ウインドウに入力された楽曲を表すテキストデータは、この変換処理１により内部シーケンスデータに変換される。また、３４は、前記内部シーケンスデータ３０をテキストデータに変換する第２の変換処理（変換処理２）であり、既に入力されている内部シーケンスデータ３０は、この変換処理２によりテキストデータ３２に変換され、前記テキスト・スコア・ウインドウ２０に表示される。
【００１１】
この楽曲情報入力編集装置には、通常設けられているピアノロール・ウインドウ、イベントリスト・ウインドウあるいは楽譜表示ウインドウなどのテキスト・スコア・ウインドウ以外の楽譜入力編集作業を行う編集ウインドウ（以下、これらを一括して「他モードウインドウ」とよぶ）が用意されており、３５は、これらの他モードウインドウから楽曲データを入力したり、あるいは、他モードウインドウに楽曲データを表示したりする他モードインターフェース処理部、３６はこれら他モードウインドウにおける楽曲データ（「他モードデータ」という）である。そして、前記内部シーケンスデータ３０は、第３の変換処理（変換処理３）３７によりこれら他モードデータ３６に変換され、他モードデータ３６は第４の変換処理（変換処理４）３８により前記内部シーケンスデータ３０に変換される。
【００１２】
また、３９は、楽曲データを前記入出力インターフェース１０（図１）を介して装置外部に接続された各種機器に送出したり、あるいは、外部機器から供給される楽曲データを入力するために、前記内部シーケンスデータ３０をＳＭＦ（Ｓｔａｎｄａｒｄ  ＭＩＤＩ  Ｆｉｌｅ）フォーマット、携帯機器用楽曲フォーマットなどのそれに適したフォーマットのデータに変換したり、外部から供給される各種フォーマットの楽曲データを前記内部シーケンスデータ３０に変換するためのフォーマット変換処理部である。なお、フォーマット変換処理部３９はリアルタイムでのＭＩＤＩ入出力機能を有していてもよい。
さらに、４０は前記内部シーケンスデータ３０に基づいてそれに対応する発音制御信号を前記楽音発生部７に供給し、その演奏情報を再生させる処理を行う楽曲再生処理部である。
【００１３】
そして、本発明の楽曲情報入力編集装置においては、楽曲を再生中にその楽曲データを前記テキスト・スコア・ウインドウ２０などの編集ウインドウで表示させているときに、現在発音中の楽音に対応する位置を表示するようにしており、４１は、前記楽曲再生処理部４０において現在発音されている楽音のその楽曲データ中における位置を検出する再生位置検出処理部である。再生中の楽曲のテキストデータを前記テキスト・スコア・ウインドウで表示させているときに、この再生位置検出処理部４１により検出された位置にあるテキストデータを白抜きで表示したり、あるいは、検出された位置にカーソルを表示させることにより、再生位置を示すことができる。
【００１４】
図４は、上述した本発明の楽曲情報入力編集装置におけるメインルーチンの処理の流れを示すフローチャートである。
処理が開始されると、まず、ステップＳ１の初期設定処理が開始され、ここで各種初期設定が行われるとともに、楽曲全体の構成を示すトラックビューウインドウや楽曲の再生や録音、リアルタイム入力を行うためのプレイコントロールウインドウが表示される。また、楽曲の作成および編集を行うための編集ウインドウとしてどの種類のウインドウがデフォルトとして使用されるかも設定される。そして、何らかのユーザイベントが発生するのを待つ。
【００１５】
何らかのユーザイベントが発生するとステップＳ２に進み、発生したユーザイベントに対応する処理に分岐する。
ユーザにより新規に楽曲データを作成するために新規ファイルの作成が指示されたときには、ステップＳ３に進み、設定されている種類の新規な編集ウインドウが開かれる。
また、ユーザにより既存の楽曲データを開くことが指示されると、ステップＳ４に進み、選択された楽曲データを設定されている種類の編集ウインドウ用のデータに変換する。設定されている編集ウインドウの種類がテキスト・スコア・ウインドウであるときは前記変換処理２が行われ、ピアノロール・ウインドウ、イベントリスト・ウインドウあるいは楽譜ウインドウであるときは前記変換処理３が行われる。そして、その楽曲データが表示された編集ウインドウを開く（ステップＳ５）。
【００１６】
前記テキスト・スコア・ウインドウあるいは前記他モードウインドウに対してデータの入力あるいは編集などの操作が行われた場合には、ステップＳ６に進み、該データの入力あるいは編集処理および入力されたデータの編集ウインドウへの表示が行われる。ここで、前記テキスト・スコア・ウインドウが開かれている場合に、前記テキスト変換ボタン２５が操作されたときには、該テキスト・スコア・ウインドウに表示されているデータを前記内部シーケンスデータに変換する前記変換処理１が行われ、前記テキスト逆変換ボタン２６が操作されたときには、内部シーケンスデータをテキストデータに変換する前記変換処理２が行われ、内部シーケンスデータに対応するテキスト表現の楽曲データを前記テキスト・スコア・ウインドウに表示する。
【００１７】
前記プレイコントロールウインドウ中の再生ボタンが操作されたときは、ステップＳ７に進み、再生すべき楽曲の内部シーケンスデータに基づいて発音制御信号を生成して前記楽音発生部７に出力する楽曲の再生処理を行う。続いて、ステップＳ８において、前記ステップＳ７において発音制御信号が生成された前記内部シーケンスデータに対応する前記編集ウインドウに表示されている楽曲データの位置を検出し、これに基づいて、ステップＳ９で編集ウインドウ中にその発音位置を表示する。例えば、前記テキスト・スコア・ウインドウに楽曲データが表示されているときには、カーソル位置をその発音位置に対応させて移動させることなどによりその発音位置を表示する。また、編集ウインドウがピアノロール・ウインドウや楽譜ウインドウであるときには、発音位置を示す縦線を移動させることによりその発音位置を表示する。なお、この図に示していないが、前記プレイコントロールウインドウ中の録音ボタンが操作されたときは、外部ＭＩＤＩ機器１２などから楽曲データをリアルタイム入力することができる。
【００１８】
ユーザにより編集ウインドウの種類を指定する処理が行われたときには、ステップＳ１０に進み、現在表示されている楽曲データに対応する内部シーケンスデータをユーザにより指定された種類の編集ウインドウ用のデータに変換する処理、すなわち、前記変換処理２あるいは３が行われる。そして、ステップＳ１１に進み、ユーザにより指定された種類の編集ウインドウにその楽曲データを表示する。これにより、ユーザは、その編集ウインドウを用いてその楽曲の作成編集処理を行うことができる。
【００１９】
ユーザにより外部からの楽曲データの入力が指示されたときには、ステップＳ１２に進み、外部機器から該選択された楽曲データを入力し、前記内部シーケンスデータに変換する。そして、ステップＳ１３に進み、該内部シーケンスデータを設定されている編集ウインドウ用のデータに変換して、その編集ウインドウに外部から入力した楽曲データを表示する（ステップＳ１４）。編集ウインドウがテキスト・スコア・ウインドウであるときにはステップＳ１３は前記変換処理２であり、その他の種類の編集ウインドウであるときには前記変換処理３である。ユーザにより楽曲データの外部出力が指示されたときは、ステップＳ１５に進み、編集中の楽曲データを外部出力するときにはその楽曲データを前記変換処理２あるいは３により前記内部シーケンスデータに変換して得られた内部シーケンスデータ、既存の楽曲データを外部出力するときにはその内部シーケンスデータを外部出力のために指定されたフォーマット（ＳＭＦ、携帯機器用楽曲フォーマットなど）に変換し（前記フォーマット変換処理３９（図２））、前記入出力インターフェース１０を介して選択された外部ＭＩＤＩ機器１２、携帯機器１３あるいは楽曲配信サーバ１４などの外部機器に出力する（ステップＳ１６）。
【００２０】
また、ユーザにより楽曲の保存が指示されたときには、ステップＳ１７において、編集ウインドウに表示されている楽曲データを前記内部シーケンスデータに変換する処理、すなわち、前記変換処理１あるいは４が行われ、その内部シーケンスデータが保存される（ステップＳ１８）。
また、処理の終了が指示されたときには、その楽曲が保存されていないときには保存を促すメッセージを表示するなど終了処理（ステップＳ１９）を行い、このアプリケーションプログラムを終了する。
【００２１】
次に、本発明に特徴的な前記テキスト・スコア・ウインドウ２０を用いる楽曲データの作成編集処理、テキストで表現された楽曲データを前記内部シーケンスデータに変換する変換処理１、内部シーケンスデータをテキスト表現の楽曲データに変換する変換処理２などについて説明する。
まず、楽譜（楽曲データ）のテキスト表現について説明する。
図５は、本発明における楽譜のテキスト表現の一例を示す図である。楽譜をアルファベットや数字および特殊記号で表記する方法は各種考えられるが、前述のように、本発明では、携帯機器の着信メロディあるいは各チャンネルがモノフォニックで構成されているような単純な楽曲データを簡易に入力することを目的としているため、この図に示すような表記ルールを用いている。
本発明では、図５に示す、音程、音程調整、音長および音長調整を示すテキストのセットで１つの音符あるいは休符を表現するようにしており、各音符あるいは休符の間は、スペースで区切るようにしている。ここで、音程調整および音長調整は必要な場合にのみ含まれるようにしている。
【００２２】
図５に示すように、休符は「Ｒ」で示され、ドは「Ｃ」、レは「Ｄ」、ミは「Ｅ」、ファは「Ｆ」、ソは「Ｇ」、ラは「Ａ」、シは「Ｂ」で表現する。また、音程調整において、シャープは「＃」、フラットは「ｂ」、デフォルトのオクターブより一つ上のオクターブへの移行を示すオクターブシフトアップは「ｕ」、デフォルトのオクターブより一つ下のオクターブへの移行を示すオクターブシフトダウンは「ｄ」で表現する。
さらに、音長は、全音符は「１」、付点２分音符は「２．」、２分音符は「２」、付点４分音符は「４．」、４分音符は「４」、付点８分音符は「８．」、４分３連符は「６」、８分音符は「８」、８分３連符は「１２」、１６分音符は「１６」というように、その音符名に対応した数字で表現する。なお、ここでは、図に示すように、４分音符の長さを２４単位時間（チック）としている。
【００２３】
さらにまた、上述したような音符や休符、音程調整だけではなく、音符の演奏方法を示す記号として、「Ｓ」で表現するスラーが定義されている。
図６はスラーのない場合とスラーがある場合における発音の差を説明するための図であり、（ａ）はスラーのない通常発音の場合、（ｂ）はスラーのある場合における発音の様子を示す。この図に示すように、スラーのない場合における発音時間長をその音符長に対応する所定の時間長とすると、（ｂ）に示すように、スラーのある場合には、前の音符の音符長はその所定の時間長よりも長く設定される。これにより、図中破線で示すように、次の音符のアタック部は発音されず、前の音符と次の音符が連続して発音されることとなる。
【００２４】
なお、本発明における楽曲のテキスト表現においては、４／４拍子に固定しており、デフォルト（オクターブシフトアップあるいはオクターブシフトダウンが指示されないとき）のオクターブはＣ３＃〜Ｃ４のオクターブとされている。また、休符についても、すべて４分休符であるとしている。このように、各音程はその音名に対応したアルファベット、音長はその音符名に対応した数字を割り当てているために、非常に容易に入力をすることが可能となっている。
【００２５】
次に、前記図５に関して説明した楽譜のテキスト表現方法を用いて、前記図２に示したテキスト・スコア・ウインドウ２０に楽譜を入力するときの様子について説明する。図７の（ａ）は打ち込みたい楽譜の一例を示し、図７の（ｂ）に、それに対応するテキストがテキスト・スコア・ウインドウ２０に表示されている様子を示す。
図７（ａ）の楽譜例において、最初の音符はド（音名Ｃ４）の付点８分音符であり、（ｂ）では、「Ｃ８．」と表記されている。次の音符は、レ（音名Ｄ４）の１６分音符であり、スペースのあとに「Ｄ１６」と表記されている。以下、同様に、「Ｅ８」、「Ｆ８」、「Ｅ８」、「Ｅ８」、「Ｃ４」と表記される。第２の小節目の最初の音符はレ（音名Ｄ４）の８分３連符であり、「Ｄ１２」と表記され、以下、「Ｄ１２」、「Ｃ１２」と表記される。次のシ（音名Ｂ３）の８分音符は１オクターブ低い音であるので、「Ｂｄ８」と表記され、最後のド（音名Ｃ４）の４分音符は「Ｃ４」と表記される。このように、各音符を表す音程表記、音程調整表記、音長表記および音長調整表記がスペースを介して順次テキストで表現される。
【００２６】
また、前述のように、本発明では、スラーがある場合にもテキストでその楽譜データを表現することができるようになされている。図８を参照してスラーがある場合のテキスト入力の例について説明する。図８の（ａ）はスラーがある場合の楽譜例を示し、（ｂ）はそのテキスト入力例を示す。
前記図７の（ａ）の場合と比較して、図８の（ａ）の楽譜例では、第１小節の最後のミとドの音符、および、第２小節のシとドがスラーで結ばれている点で相違している。この場合には、図８の（ｂ）のテキスト打ち込み例中に２重の下線で示すように、スラーで結ばれている音符の内の前に位置する音符（最後の音符ではない音符、この例では、「Ｅ８」と「Ｂｄ８」）にスラーを示す音長調整の記号「Ｓ」を付加して入力すればよい。
【００２７】
次に、前記内部シーケンスデータ３０のフォーマットについて説明する。この内部シーケンスデータ３０としては、ＳＭＦ、携帯機器用楽曲フォーマットなど各種のフォーマットのデータを用いることができるが、ここでは、図９に示したフォーマットを有する内部シーケンスデータを用いるものとして説明する。前記変換処理１は、前述したようにテキストで表現された楽譜データをこの内部シーケンスデータに変換し、前記変換処理２は、この内部シーケンスデータを前述した表現形式のテキストデータに変換する処理を行う。
図９において、（ａ）は音符データを示し、（ｂ）は休符データを示している。図９の（ａ）および（ｂ）に示すように、音符データおよび休符データともに、１６ビットの長さのデータとされている。
【００２８】
図９の（ａ）に示す音符データは、２ビットのオクターブ設定ビット、ＮＴ３〜ＮＴ０で示す４ビットの音程設定ビット、２ビットのチャンネル設定ビット、値が「０」の１ビット、Ｔｌ３〜Ｔｌ０で示す４ビットのインターバル設定ビットおよびＴＸ２〜ＴＸ０で示す３ビットの発音長設定ビットから構成されている。
前記２ビットのオクターブ設定ビットが、「０１」（１）のときは音名Ｃ２＃〜Ｃ３のオクターブが指定され、「１０」（２）であるときはＣ３＃〜Ｃ４のオクターブ、「１１」（３）のときはＣ４＃〜Ｃ５のオクターブが指定される。デフォルトでは「１０」のＣ３＃〜Ｃ４のオクターブが指定されるようになされており、前記オクターブシフトダウンのときは、「０１」のＣ２＃〜Ｃ３のオクターブとされ、前記オクターブシフトアップのときは「１１」のＣ４＃〜Ｃ５のオクターブとされる。
【００２９】
図１０の（ａ）は前記音程設定ビット（ＮＴ３〜ＮＴ０）で設定される音程を示す図であり、この図に示すように、ＮＴ３〜ＮＴ０が「０００１」（１）であるときはＣ＃、「００１０」（２）のときはＤ、「００１１」（３）のときはＤ＃、「０１０１」（５）のときはＥ、「０１１０」（６）のときはＦ、「０１１１」（７）のときはＦ＃、「１００１」（９）のときはＧ、「１０１０」（１０）のときはＧ＃、「１０１１」（１１）のときはＡ、「１１０１」（１３）のときはＡ＃、「１１１０」（１４）のときはＢ、「１１１１」（１５）のときはＣに設定される。
２ビットのチャンネル設定ビットは、どの発音チャンネルで発音される音符であるかを設定するビットであり、「００」（０）のときは第１チャンネル（Ｃｈ１）、「０１」（１）のときは第２チャンネル（Ｃｈ２）、「１０」（２）のときは第３チャンネル（Ｃｈ３）、「１１」（３）のときは第４チャンネル（Ｃｈ４）というようにその音符の発音チャンネルを設定する。
【００３０】
Ｔｌ３〜Ｔｌ０の４ビットのインターバル設定ビットは、次に処理する音符あるいは休符までのインターバル時間を設定するビットである。図１０の（ｂ）は、このインターバル設定ビットにより設定されるインターバル時間（単位はチック数、４８チックは全音符の時間に相当）を示すものであり、この図に示すように次の音符あるいは休符までの時間が設定される。なお、この例に示す内部シーケンスデータ３０は、４８チックで全音符（１２チックで４分音符）の分解能とされている。
ＴＸ２〜ＴＸ０の３ビットの発音長設定ビットは、その音符による楽音の発音長を設定するものである。図１０の（ｃ）はこの発音長設定ビットにより設定される発音長（単位はチック数）を示すものであり、前記インターバル設定ビット（Ｔｌ３〜Ｔｌ０）およびこの発音長設定ビット（ＴＸ２〜ＴＸ０）の値によってその音符の発音長が設定されるようになされている。
【００３１】
図９の（ｂ）に示すように、休符データは、先頭の６ビットが休符コード（００１１００）であり、続いて、音符データと同様に、２ビットのチャンネル設定ビット、「０」の１ビット、４ビットのインターバル設定ビット（Ｔｌ３〜Ｔｌ０）があり、最後の３ビットは「０００」とされている。ここで、２ビットのチャンネル設定ビットおよび４ビットのインターバル設定ビット（Ｔｌ３〜Ｔｌ０）は、前記音符データの場合と同様である。
【００３２】
前述のように、前記変換処理１は前記テキスト・スコア・ウインドウに入力されたテキストデータを前記図９に示した音符データおよび休符データからなる楽譜データ（内部シーケンスデータ）に変換する処理を行う。
図１１は、この変換処理１の流れを示すフローチャートである。
変換処理１が開始されると、まず、ステップＳ２１で処理する発音チャンネル番号を示すカウンタｉを初期値１にセットし、ステップＳ２２に進む。ステップＳ２２では、このチャンネルｉのシーケンスデータ作成処理を行う。すなわち、このチャンネルｉのテキストで表現された楽曲データのスペースで区切られたテキストデータ（楽譜あるいは休符に対応）を取込み、それを前記図１０に示された規則に従って前記図９に示す音符データあるいは休符データに変換する。この処理をそのチャンネルのテキストデータの最後まで繰り返し行い（ステップＳ２３）、そのチャンネルのテキストデータの変換が終了したら、全てのチャンネルについての変換が終了したか否かを判定し（ステップＳ２４）、最後のチャンネル（この場合は第４チャンネル）でないときは、チャンネル番号ｉをインクリメントして（ステップＳ２５）上記処理を繰り返し、全てのチャンネルについてそのテキストデータを前記内部シーケンスデータに変換する。
【００３３】
前記ステップＳ２１〜Ｓ２５により全てのチャンネルについてテキストデータを内部シーケンスデータに変換した後、ステップＳ２６に進み、各チャンネル（チャンネル１〜チャンネル４）の内部シーケンスデータを発生順に並べ替え、最終的な内部シーケンスデータを得る。なお、このとき、インターバルデータの補正を行う。各チャンネル毎に変換された内部シーケンスデータに含まれているインターバル設定ビットは、そのチャンネルにおける音符あるいは休符のタイミング間隔を示すものであり、複数のチャンネルの内部シーケンスデータを合成するときには全チャンネルの音符あるいは休符がひとつのシーケンスデータとされるため、音符あるいは休符の発生タイミングを正しいものとするために、前記インターバルデータを補正することが必要となる。
【００３４】
図１２に示す例を参照して、この変換処理１についてさらに説明する。ここでは、チャンネル１の「Ｃ８．  Ｂｄ８Ｓ  Ｃ４  Ｒ  Ｄｕ４」というテキストスコアを前記内部シーケンスデータに変換するものとする。
前述のように、前記変換処理１では、ステップＳ２２において、スペースで区切られたテキストデータを取込み、それを前記図１０および図９に示した規則に基づいて音符データあるいは休符データに変換する。
まず、最初のスペースまでのテキストデータは、「Ｃ８．」である。この中にはオクターブシフトアップあるいはオクターブシフトダウンを示す「ｕ」あるいは「ｄ」は含まれていないので、オクターブ設定データはデフォルト値である「１０」に設定される。また、音程は「Ｃ」であるので、前記図１０の（ａ）に基づき音程設定ビット（ＮＴ３−０）は「１１１１」（＝１５）に設定される。さらに、チャンネルは第１チャンネルであるので「００」に設定される。次に、音符長を示すテキストは「８．」であり、これは、前記図５に示すように１拍を２４チックで表したとき１８チックとなる。ここで、この内部シーケンスデータは全音符（＝４拍）を４８チックとしているので、前記テキスト表現におけるチック数を１／２倍した後にインターバル設定ビットおよび発音長設定ビットを決定するようにしている。したがって、１８／２＝９（チック）となり、前記図１０の（ｂ）より、インターバル設定ビット（ＴＩ３−０）は「０１１０」（＝６）となる。また、発音長設定ビット（ＴＸ２−０）は、前記インターバル（９チック）よりも１チック短い値（８チック）とされ、前記図１０の（ｃ）より、「１０１」（＝５）とされる。
【００３５】
次のテキスト表現された音符は「Ｂｄ８Ｓ」であり、ここにはオクターブシフトダウンを示す「ｄ」が含まれている。したがって、前記オクターブ設定ビットは１オクターブ下の「０１」とされる。また、「Ｂ」により音程設定ビット（ＮＴ３−０）は「１１１０」に設定される。さらに、音符長を示すテキストデータは「８」であるので、インターバル設定ビット（Ｔｌ３−０）は、８分音符に対応するチック数（１２）を２で割った６に対応する「０１００」（＝４）となる。さらにまた、スラーを示す「Ｓ」が付加されているので、発音長設定ビット（ＴＸ２−０）は前記インターバル（６チック）よりも所定値（この例では１チック）だけ長い値（７チック）とされ、それに対応した値「１００」（＝４）とされる。
次のテキスト表現された音符は「Ｃ４」であり、上述の場合と同様にして内部シーケンスデータに変換される。すなわち、オクターブ設定ビットはデフォルトのオクターブを示す「１０」、音程設定ビット（ＮＴ３−０）は「Ｃ」に対応する「１１１１」、チャンネル設定ビットは「００」、インターバル設定ビット（Ｔｌ３−０）は４分音符に対応するチップ数２４を２で割った１２に対応する「０１１１」（＝７）、発音長設定ビット（ＴＸ２−０）は、前記インターバル（１２チック）より１だけ短い１１チックに対応する「１１０」（＝６）に設定される。
【００３６】
さらに次は、休符を表す「Ｒ」である。前述のように、この例では入力対象となる楽曲が単純なものであることを前提としており、休符は全て４分休符として取り扱うものとしている。したがって、前記図９の（ｂ）に基づき、図示するような休符データに変換される。すなわち、最初の６ビットは前記休符コードとし、チャンネル設定ビットは「００」、インターバル設定ビット（Ｔｌ３−０）は図５の４分音符に対応するチック数（２４）を２で割った数（１２）に対応する「０１１１」（＝７）、最後の３ビットは「０００」とする。
最後は、「Ｄｕ４」である。ここにはオクターブシフトアップを示す「ｕ」が含まれているので、前記オクターブ設定ビットは「１１」とされる。また、音程設定ビット（Ｎｔ３−０）、チャンネル設定ビット、インターバル設定ビット（Ｔｌ３−０）および発音長設定ビット（ＴＸ２−０）は、それぞれ、前述と同様に設定される。
前記ステップＳ２２（図１１）において、このようにして、各発音チャンネル毎にテキスト表現された楽曲データは前記内部シーケンスデータに変換される。
【００３７】
次に、前記ステップＳ２６における各チャンネルの内部シーケンスデータの合成処理について、図１３を参照して説明する。前述のように、この処理は、それまでのステップで生成した各発音チャンネルの内部シーケンスデータを発生順に並べ替えるとともに、インターバルを補正する処理である。
図１３に示した例は、第１チャンネルが前記図１２に示した例と同じく「Ｃ８．  Ｂｄ８Ｓ  Ｃ４  Ｒ  Ｄｕ４」であり、第２チャンネルが「Ｄ１６  Ｃ４  Ｒ  Ｃ４  Ｃ４」である場合を示している。図１３の（ａ）に示すように、第１チャンネルの内部シーケンスデータは、前述のように「１０１１１１００００１１０１０１」「０１１１１０００００１００１００」「１０１１１１００００１１１１１０」「００１１００００００１１１０００」「１１００１０００００１１１１１０」である。また、（ｂ）に示すように、第２チャンネルの内部シーケンスデータは、前述と同様にして生成され、「１０００１００１０００１０００１」「１０１１１１０１００１１１１１０」「００１１０００１００１１１０００」「１０１１１１０１００１１１１１０」「１０１１１１０１００１１１１１０」となる。ここで、チャンネル設定ビットは「０１」である。
【００３８】
これら複数のチャンネルの内部シーケンスデータを発生順に並べて合成するのであるが、まず、前記各チャンネル毎の各内部シーケンスデータについて、その楽曲の開始位置からのチック数で表した発生タイミングをそれぞれに含まれているインターバル設定データから算出し、発生タイミング順に各内部シーケンスデータを並べ替える。図１３に示した例では、第１チャンネルの内部シーケンスデータに発生タイミングを付加して示すと、「１０１１１１００００１１０１０１」（０）、「０１１１１０００００１００１００」（９）、「１０１１１１００００１１１１１０」（１５）、「００１１００００００１１１０００」（２７）、「１１００１０００００１１１１１０」（３９）となり、第２チャンネルの内部シーケンスデータは「１０００１００１０００１０００１」（０）、「１０１１１１０１００１１１１１０」（３）、「００１１０００１００１１１０００」（１５）、「１０１１１１０１００１１１１１０」（２７）、「１０１１１１０１００１１１１１０」（３９）となる。ここで、（）内は、発生タイミングを示すチック数である。これら各チャンネルの内部シーケンスデータをその発生タイミング順に並べ替えると、第０チックで「１０１１１１００００１１０１０１」（Ｃｈ１のＣ８．）と「１０００１００１０００１０００１」（Ｃｈ２のＤ１６）、第３チックで「１０１１１１０１００１１１１１０」（Ｃｈ２のＣ４）、第９チックで「０１１１１０００００１００１００」（Ｃｈ１のＢｄ８Ｓ）、第１５チックで「１０１１１１００００１１１１１０」（Ｃｈ１のＣ４）と「００１１０００１００１１１０００」（Ｃｈ２のＲ）、第２７チックで「００１１００００００１１１０００」（Ｃｈ１のＲ）と「１０１１１１０１００１１１１１０」（Ｃｈ２のＣ４）、第３９チックで「１１００１０００００１１１１１０」（Ｃｈ１のＤｕ４）と「１０１１１１０１００１１１１１０」（Ｃｈ２のＣ４）となる。
【００３９】
次に、各内部シーケンスデータに含まれているインターバル設定ビットを並べ替えられた後の内部シーケンスデータ間の発音タイミングの間隔に合せるように補正する処理を行う。すなわち、図１３の（ｃ）に示すように、第１チャンネルの最初の「Ｃ８．」と第２チャンネルの最初の「Ｄ１６」は、同時に発音されるので、前記「Ｃ８．」のインターバル設定ビットは「００００」としなければならない。また、第２チャンネルの「Ｄ１６」の次に発音されるのは同じチャンネルの「Ｃ４」であり、「Ｄ１６」のインターバル設定ビットは修正する必要はない。前記第２チャンネルの「Ｃ４」の次に発音されるのは、第１チャンネルの「Ｂｄ８Ｓ」であるので、前記「Ｃ４」のインターバル設定ビットは、前記第１発音チャンネルの「Ｃ８．」のインターバル設定ビットにより示されるチック数（９）と前記「Ｄ１６」のインターバル設定ビットにより示されるチック数（３）との差（６）に対応するインターバル設定ビット「０１００」に補正する。さらに、第１チャンネルの「Ｃ４」の発音タイミングと第２チャンネルの「Ｒ」のタイミングは同一であるので、前記第１チャンネルの「Ｃ４」のインターバル設定ビットは０を示す「００００」に変更する。同様に、第１チャンネルの「Ｒ」、「Ｄｕ４」についても、インターバル設定ビットを「００００」に変更する。このようにして、図１３の（ｄ）に示す、第１チャンネルと第２チャンネルとを合成した内部シーケンスデータが得られる。
すなわち、この複数チャンネルの内部シーケンスデータ合成処理（ステップＳ２６）では、各チャンネルの内部シーケンスデータを発生順に並べ、次にあるいは同時に発生するイベント（音符あるいは休符）が他のチャンネルのイベントであるときには、インターバル設定ビットの内容を補正する処理を行う。
【００４０】
次に、内部シーケンスデータをテキストデータに変換する前記変換処理２について説明する。図１４は、この変換処理２の処理の流れを示すフローチャートである。
変換処理２が開始されると、まず、ステップＳ３１において、発音チャンネルを示すカウンタｉに初期値１を設定する。そして、ステップＳ３２に進み、内部シーケンスデータから第ｉチャンネルのシーケンスデータを収集する。前述のように、内部シーケンスデータは複数チャンネル（この場合は、４チャンネル）のデータが合成されたものであり、このステップＳ３２において、前記チャンネル設定ビットを参照して第ｉチャンネル、この場合はｉ＝１であり、第１チャンネルを示す「００」のチャンネル設定ビットを有する内部シーケンスデータを取り出す。前記図１３に示した例の場合には、まず、図１３の（ｄ）に示す全チャンネルが合成されている内部シーケンスデータについて、それぞれのインターバル設定ビットの値から、それぞれの内部シーケンスデータの発生タイミングを楽曲の開始位置からのチック数で取得しておき、チャンネル設定ビットが「００」である内部シーケンスデータ「１０１１１１０００００００１０１」（０）、「０１１１１０１１１０１００１００」（９）、「１０１１１１０００００００１１０」（１５）、「００１１００００００００００００」（２７）、「１１００１００００００００１１０」（３９）を取り出す。ここで、（）内の数値は楽曲の開始位置を基点としてチック数で表したその内部シーケンスデータの発生タイミングである。
【００４１】
そして、ステップＳ３３に進み、該取り出された内部シーケンスデータからテキストデータを合成する。前記図１３に示した例の場合には、まず、第１番目の内部シーケンスデータ「１０１１１１０００００００１０１」（０）について、オクターブ設定ビットが「００」であることからオクターブシフトアップあるいはオクターブシフトダウンが含まれないことが分かる。次に、前記図１０の（ａ）を逆に参照して、音程設定ビットの値が「１１１１」であることから、音程は「Ｃ」であることがわかる。また、後続する内部シーケンスデータの発生タイミングが９チックであることから、この発生タイミングを２倍して１８を得、前記図５から、この音符の音符長は、付点８分音符であることがわかり、対応するテキスト「８．」を得ることができる。また、発音長を示すビットが「１０１」であり、発音長が８チックであることから、インターバルデータ（９チック）との差が１であり、スラーではないことがわかる。以上のことから、第１番目の内部シーケンスデータは、「Ｃ８．」というテキストに変換される。
【００４２】
次に、ステップＳ３４に進み、このチャンネルの内部シーケンスデータが終了していないときは、前記ステップＳ３３に戻り、第２番目の内部シーケンスデータの変換処理を行う。
第２番目の内部シーケンスデータ「０１１１１０１１１０１００１００」のオクターブ設定ビットは「０１」であることから、オクターブシフトダウンがあることが分かる。そして、音程設定ビットの値が「１１１０」であることから、前記図１０の（ａ）の関係より音程は「Ｂ」であることがわかる。そして、この内部シーケンスデータの発生タイミングが９、後続する内部シーケンスデータの発生タイミングが１５であることから、その差（すなわちインターバルデータ）６を求め、これを２倍して、１２チックに対応する音符長が８分音符「８」であることが分かる。また、発音長設定ビットが「１００」（＝７チック）であり、インターバルデータ６よりも１チック長いことから、スラーであることが分かる。以上のことから、この第２番目の内部シーケンスデータをテキスト「Ｂｄ８Ｓ」に変換することができる。
以下、同様にして、この第１番目の発音チャンネルの内部シーケンスデータをそれぞれ対応するテキストデータに変換することができる。
【００４３】
このチャンネルの内部シーケンスデータのテキストへの変換が全て終了した後、ステップＳ３５に進み、全てのチャンネルについて処理が終了したか否かを判定する。今の場合は、ｉ＝１であったので、この判定結果はＮＯとなり、ステップＳ３６に進み、ｉを２にインクリメントして、前記ステップＳ３２以降の処理を繰り返す。
このようにして、全てのチャンネルについて内部シーケンスデータをテキストに変換し、前記テキスト・スコア・ウインドウに表示することができる。
【００４４】
前記図３および図４に関して説明したように、本発明においては、内部シーケンスデータをピアノロール・ウインドウ、イベントリスト・ウインドウ、あるいは、音符表示ウインドウなどテキスト・スコア・ウインドウ以外の編集ウインドウに表示させて編集を行うことができる。
図１５は、前記図７に示した楽譜例１をピアノロール・ウインドウで表示させた例を示す図である。この図に示すように、前記図７の（ｂ）に示すようにテキスト・スコア・ウインドウ２０に入力した楽譜データを、前記テキスト変換ボタンをクリックすることなどにより内部シーケンスデータに変換し、さらに前記変換処理３を行うことにより、図１５に示すように、ピアノロール・ウインドウで表示させることができる。
また、図１６は、前記図８に示したスラーを含む楽譜例２をイベントリスト・ウインドウで表示させた場合を示す図である。このように、前記変換処理３により前記図８（ｂ）に示したようにテキストで入力された楽譜データをイベントリスト・ウインドウに表示させることができる。そして、図１６中に矢印で示すように、スラーの位置におけるイベントは、その発音長が他の音符よりも長くなっていることが分かる。
このように、ユーザは、前記テキスト・スコア・ウインドウにより入力した楽曲データをピアノロール・ウインドウ、イベントリスト・ウインドウあるいは音符表示ウインドウなどの他のモードの編集ウインドウで表示させ、これらの編集ウインドウを用いて編集することも可能である。
【００４５】
なお、上述した例においては、内部シーケンスデータとして前記図９に示した音符データと休符データで定義されるフォーマットの演奏情報を採用した場合について説明したが、これに限られることはなく、ＳＭＦフォーマットや携帯機器用楽曲フォーマットを内部シーケンスデータとして採用することができる。
また、発音チャンネル数も前述した数に限られることはなく、任意の数とすることができる。
さらに、上記においては、演奏方法を示す記号としてスラーをあげて説明したが、これに限られることはなく、他の記号を英数字で表現するようにしてもよい。
さらにまた、英数字による楽曲の表現法としては前記図５に示した定義に限られることはなく、音符や休符などと英数字とを異なる対応付けとしてもよいことは明らかである。
【００４６】
【発明の効果】
以上説明したように、本発明の楽曲情報入力編集装置によれば、シンプルな音符列を簡易に入力することが可能となる。
ブラインド・タッチの可能な者なら、楽譜や着信メロディが記載された本を見ながらマウスを用いるストレスを感じることなく、速やかに音符列を入力することができる。
さらに、元のシーケンス・データをテキストに置き換えて表示することにより、既存のデータを容易に修正することが可能となる。
【図面の簡単な説明】
【図１】本発明の楽曲情報入力編集装置の全体構成を示すブロック図である。
【図２】テキスト・スコア・ウインドウの一例を示す図である。
【図３】本発明の楽曲情報入力編集装置の機能ブロック図である。
【図４】本発明の楽曲情報入力編集装置のメインルーチンのフローチャートである。
【図５】本発明における楽曲データのテキスト表現の一例を示す図である。
【図６】スラーのない場合とある場合における発音の差を示す図である。
【図７】スラーのない楽譜例１およびそれに対応するテキストを示す図である。
【図８】スラーのある楽譜例２およびそれに対応するテキストを示す図である。
【図９】内部シーケンスデータのフォーマット例を示す図である。
【図１０】音程設定ビット、インターバル設定ビットおよび発音長設定ビットの設定内容を示す図である。
【図１１】変換処理１の流れを示すフローチャートである。
【図１２】変換処理１について説明するための図である。
【図１３】複数チャンネルの楽曲データについての変換処理１について説明するための図である。
【図１４】変換処理２の流れを示すフローチャートである。
【図１５】図７に示す楽譜例１のピアノロール・ウインドウによる表示を示す図である。
【図１６】図８に示す楽譜例２のイベントリスト・ウインドウによる表示を示す図である。
【符号の説明】
３０  内部シーケンスデータ、３１  テキストインターフェース処理部、３２テキストデータ、３３  第１の変換処理部、３４  第２の変換処理部、３５  他モードインターフェース処理部、３６  他モードデータ、３７  第３の変換処理部、３８  第４の変換処理部、３９  フォーマット変換処理部、４０  楽曲再生処理部、４１  再生位置検出処理部
【図１】
0003620423.tif 000002
【図２】
0003620423.tif 000003
【図３】
0003620423.tif 000004
【図４】
0003620423.tif 000005
【図５】
0003620423.tif 000006
【図６】
0003620423.tif 000007
【図７】
0003620423.tif 000008
【図８】
0003620423.tif 000009
【図９】
0003620423.tif 000010
【図１０】
0003620423.tif 000011
【図１１】
0003620423.tif 000012
【図１２】
0003620423.tif 000013
【図１３】
0003620423.tif 000014
【図１４】
0003620423.tif 000015
【図１５】
0003620423.tif 000016
【図１６】
0003620423.tif 000017