(57)【特許請求の範囲】
【請求項１】
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音及び第２音の情報を受ける入力部と、
前記第１音に対応する、楽譜上の位置番号の定義に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求めるとともに、前記第２音に対応する、前記楽譜上の位置番号の定義に基づく五線譜上の第２の位置番号及び第２の鍵盤の番号を求める入力処理部と、
前記第１及び前記第２の位置番号、及び、前記第１及び前記第２の鍵盤の番号を記憶する記憶部と、
音程名を演算するための規則を予め記憶するテーブルと、
前記第１及び前記第２の位置番号、及び、前記第１及び前記第２の鍵盤の番号に基づき前記テーブルを検索して前記第１音及び前記第２音間の音程名を求める音程名演算部とを備え、
前記テーブルは、前記第１及び前記第２の位置番号の差に相当する度数と前記第１及び前記第２の鍵盤の番号の差に相当する鍵盤数に対応して、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称を予め記憶し、
前記音程名演算部は、前記第１及び前記第２の位置番号に基づき前記度数を求めるとともに、前記第１及び前記第２の鍵盤の番号に基づき前記鍵盤数を求め、前記度数及び前記鍵盤数に基づき前記テーブルを検索し、検索された音程の種類とともに前記度数を出力することを特徴とする２音間音程名計算機。
【請求項２】
前記音程名演算部は、前記度数に基づきオクターブ数を求め、前記音程の種類及び前記度数とともに出力することを特徴とする請求項１記載の２音間音程名計算機。
【請求項３】
さらに、複音程の表示形態を切り換えるスイッチを備え、
前記音程名演算部は、前記スイッチが所定の状態のとき、所定の度数までは前記オクターブ数を出力しないことを特徴とする請求項２記載の２音間音程名計算機。
【請求項４】
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音の情報を受ける第１入力部と、
前記第１音に対応する、楽譜上の位置番号の定義に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求める入力処理部と、
オクターブ数と、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称及び単音程又は複音程による度数からなる音程名と、求めるべき第２音が前記第１音よりも上あるいは下のいずれかの区別に係る情報とを受ける第２入力部と、
音程名を演算するための規則を予め記憶するテーブルと、
前記オクターブ数及び前記区別並びに前記音程名の度数に基づき加算する度数を求めるとともに、前記音程の種類の名称と前記度数に基づき前記テーブルを検索して対応する鍵盤数の差を求め、前記鍵盤数の差と前記第１の位置番号及び前記第１の鍵盤の番号に基づき、求めるべき第２音の位置番号及び第２の鍵盤の番号、さらに前記第２音の音部記号、楽譜上の位置番号及び臨時記号を求める音程名演算部とを備え、
前記テーブルは、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称と度数に対応する鍵盤数の差の関係を予め記憶していることを特徴とする２音間音程名計算機。
【請求項５】
前記第１音及び前記第２音の少なくともいずれかについてその鍵盤上の位置を表示する鍵盤上位置表示部を備えることを特徴とする請求項１又は請求項４記載の２音間音程名計算機。
【請求項６】
前記第１音及び前記第２音の少なくともいずれかの音を発生させるサウンド発生部を備えることを特徴とする請求項１又は請求項４記載の２音間音程名計算機。
【請求項７】
前記第１音及び前記第２音の少なくともいずれかについて、五線譜上にその音部記号、臨時記号及び位置を表示するとともに、楽譜上の位置番号を数値で示す音表示部を備えることを特徴とする請求項１又は請求項４記載の２音間音程名計算機。
【請求項８】
前記第１音及び前記第２音の少なくともいずれかを音名に変換する音名変換部を備えることを特徴とする請求項１又は請求項４記載の２音間音程名計算機。
【請求項９】
コンピュータに、楽譜上の２音間の音程名称を計算させるためのプログラムであって、
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音及び第２音の情報を受けるステップと、
前記第１音に対応する、楽譜上の位置番号の定義に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求めるステップと、
前記第２音に対応する、前記楽譜上の位置番号の定義に基づく五線譜上の第２の位置番号及び第２の鍵盤の番号を求めるステップと、
前記第１及び前記第２の位置番号の差に相当する度数を求めるステップと、
前記第１及び前記第２の鍵盤の番号の差に相当する鍵盤数を求めるステップと、
前記度数と前記鍵盤数に対応して、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称を予め記憶しているテーブルを用意するステップと、
前記度数及び前記鍵盤数に基づき前記テーブルを検索して前記第１音及び前記第２音間の音程名を求めるステップと、
検索された音程の種類とともに前記度数を出力するステップとを実行させるためのプログラム。
【請求項１０】
コンピュータに、楽譜上のひとつの音と音程名に基づき他の楽譜上の音を計算させるためのプログラムであって、
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音の情報を受けるステップと、
前記第１音に対応する、楽譜上の位置番号の定義に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求めるステップと、
オクターブ数と、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称及び単音程又は複音程による度数からなる音程名と、求めるべき第２音が前記第１音よりも上あるいは下のいずれかの区別に係る情報とを受けるステップと、
前記オクターブ数及び前記区別並びに前記音程名の度数に基づき加算する度数を求めるステップと、
重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称と度数に対応する鍵盤数の差の関係を予め記憶しているテーブルを、入力された前記音程の種類の名称と前記度数に基づき検索して対応する鍵盤数の差を求めるステップと、
前記度数及び前記鍵盤数の差と前記第１の位置番号及び前記第１の鍵盤の番号に基づき、求めるべき第２音の位置番号及び第２の鍵盤の番号を求めるステップと、
前記第２音の音部記号、楽譜上の位置番号及び臨時記号を求めるステップとを実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は楽譜上の２音間の音程名称を算出し、音感を養うことを補助、促進するための装置及び方法並びにプログラムに関するものである。
【０００２】
【従来の技術】
音程名とは、音と音の間隔の違いを区別するものである。音楽大学及び音楽高校の入試問題において平均約２０％の配点率で音程を問う問題が出題されている。したがって受験生は音程を理解し、当該問題をできるだけ早く解くことが必須である。入試に出題されなかったとしても、音楽を勉強していく上で音程を理解することは必須である。そこで、音楽教育に携わる教師は、音程を問う問題について様々な様式の問題を作成し、これに多くの時間を費やしている。
【０００３】
【発明が解決しようとする課題】
音程は一定の規則に基づき定められるが、当該規則は比較的複雑であり、音程を求める手順は煩雑であった。そのため、授業の最中に問題を作成し、即座に正しい解答を用意することは困難であった。従来、２音間の音程において、学術的に正しい音程の名称を算出する装置は存在しなかった。
【０００４】
本発明は単音程及び複音程によるすべての２音間の音程について学術的に正しい名称を算出し、表示するものである。この目的のための装置及びプログラムはこれまでには存在せず、本発明は独創的かつ画期的なものである。
【０００５】
【課題を解決するための手段】
この発明に係る２音間音程名計算機は、
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音及び第２音の情報を受ける入力部と、
前記第１音に対応する、所定の基準に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求めるとともに、前記第２音に対応する、所定の基準に基づく五線譜上の第２の位置番号及び第２の鍵盤の番号を求める入力処理部と、
前記第１及び前記第２の位置番号、及び、前記第１及び前記第２の鍵盤の番号を記憶する記憶部と、
音程名を演算するための規則を予め記憶するテーブルと、
前記第１及び前記第２の位置番号、及び、前記第１及び前記第２の鍵盤の番号に基づき前記テーブルを検索して前記第１音及び前記第２音間の音程名を求める音程名演算部とを備える。
【０００６】
好ましくは、前記テーブルは、前記第１及び前記第２の位置番号の差に相当する度数と前記第１及び前記第２の鍵盤の番号の差に相当する鍵盤数に対応して、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称を予め記憶し、
前記音程名演算部は、前記第１及び前記第２の位置番号に基づき前記度数を求めるとともに、前記第１及び前記第２の鍵盤の番号に基づき前記鍵盤数を求め、前記度数及び前記鍵盤数に基づき前記テーブルを検索し、検索された音程の種類とともに前記度数を出力する。
【０００７】
好ましくは、前記音程名演算部は、前記度数に基づきオクターブ数を求め、前記音程の種類及び前記度数とともに出力する。
【０００８】
好ましくは、さらに、複音程の表示形態を切り換えるスイッチを備え、前記音程名演算部は、前記スイッチが所定の状態のとき、所定の度数までは前記オクターブ数を出力しない。
【０００９】
好ましくは、さらに、複音程の表示形態を切り換えるスイッチを備え、前記音程名演算部は、前記スイッチが所定の状態のとき、複音程について所定の度数までは前記オクターブ数を出力しない。
【００１０】
この発明に係る２音間音程名計算機は、
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音の情報を受ける第１入力部と、
前記第１音に対応する、所定の基準に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求める入力処理部と、
オクターブ数と、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称及び単音程又は複音程による度数からなる音程名と、求めるべき第２音が前記第１音よりも上あるいは下のいずれかの区別に係る情報とを受ける第２入力部と、
音程名を演算するための規則を予め記憶するテーブルと、
前記オクターブ数及び前記区別並びに前記音程名の度数に基づき加算する度数を求めるとともに、前記音程の種類の名称と前記度数に基づき前記テーブルを検索して対応する鍵盤数の差を求め、前記鍵盤数の差と前記第１の位置番号及び前記第１の鍵盤の番号に基づき、求めるべき第２音の位置番号及び第２の鍵盤の番号、さらに前記第２音の音部記号、楽譜上の位置番号及び臨時記号を求める音程名演算部とを備えるものである。
【００１１】
好ましくは、前記テーブルは、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称と度数に対応する鍵盤数の差の関係を予め記憶している。
【００１２】
好ましくは、前記第１音及び前記第２音の少なくともいずれかについてその鍵盤上の位置を表示する鍵盤上位置表示部を備える。
【００１３】
好ましくは、前記第１音及び前記第２音の少なくともいずれかの音を発生させるサウンド発生部を備える。
【００１４】
好ましくは、前記第１音及び前記第２音の少なくともいずれかについて、五線譜上にその音部記号、臨時記号及び位置を表示するとともに、楽譜上の位置番号を数値で示す音表示部を備える。
【００１５】
好ましくは、前記第１音及び前記第２音の少なくともいずれかを音名に変換する音名変換部を備える。
【００１６】
この発明に係る２音間音程名計算方法は、
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音及び第２音の情報を受けるステップと、
前記第１音に対応する、所定の基準に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求めるステップと、
前記第２音に対応する、所定の基準に基づく五線譜上の第２の位置番号及び第２の鍵盤の番号を求めるステップと、
前記第１及び前記第２の位置番号の差に相当する度数を求めるステップと、
前記第１及び前記第２の鍵盤の番号の差に相当する鍵盤数を求めるステップと、
前記度数と前記鍵盤数に対応して、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称を予め記憶しているテーブルを用意するステップと、
前記度数及び前記鍵盤数に基づき前記テーブルを検索して前記第１音及び前記第２音間の音程名を求めるステップと、
検索された音程の種類とともに前記度数を出力するステップとを備える。
【００１７】
好ましくは、さらに、前記度数に基づきオクターブ数を求めるステップと、
前記オクターブ数に基づき前記度数を単音程の度数に変換するステップとを備える。
【００１８】
好ましくは、さらに、前記第１及び前記第２の位置番号又は前記第１及び前記第２の鍵盤の番号に基づき前記第１音及び前記第２音の高低比較を行うステップと、高低比較結果を出力するステップとを備える。
【００１９】
この発明に係る２音間音程名計算方法は、
音部記号、楽譜上の位置番号及び臨時記号を含む、楽譜上の第１音の情報を受けるステップと、
前記第１音に対応する、所定の基準に基づく五線譜上の第１の位置番号及び第１の鍵盤の番号を求めるステップと、
オクターブ数と、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称及び単音程又は複音程による度数からなる音程名と、求めるべき第２音が前記第１音よりも上あるいは下のいずれかの区別に係る情報とを受けるステップと、
前記オクターブ数及び前記区別並びに前記音程名の度数に基づき加算する度数を求めるステップと、
重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称と度数に対応する鍵盤数の差の関係を予め記憶しているテーブルを、入力された前記音程の種類の名称と前記度数に基づきテーブルを検索して対応する鍵盤数の差を求めるステップと、
前記度数及び前記鍵盤数の差と前記第１の位置番号及び前記第１の鍵盤の番号に基づき、求めるべき第２音の位置番号及び第２の鍵盤の番号を求めるステップと、
前記第２音の音部記号、楽譜上の位置番号及び臨時記号を求めるステップとを備えるものである。
【００２０】
この発明は、コンピュータに、楽譜上の２音間の音程名称を計算させるための上記方法を実行させるためのプログラムである。
この発明は、コンピュータに、楽譜上のひとつの音と音程名に基づき他の楽譜上の音を計算させるための上記方法を実行させるためのプログラムである。
【００２１】
この発明に係るプログラムは、例えば、記録媒体に記録される。
媒体には、例えば、ＥＰＲＯＭデバイス、フラッシュメモリデバイス、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、ＣＤ（ＣＤ−ＲＯＭ、Ｖｉｄｅｏ−ＣＤを含む）、ＤＶＤ（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）、ＲＯＭカートリッジ、バッテリバックアップ付きのＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等を含む。
【００２２】
また、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等の通信媒体を含む。インターネットもここでいう通信媒体に含まれる。
【００２３】
媒体とは、何等かの物理的手段により情報（主にデジタルデータ、プログラム）が記録されているものであって、コンピュータ、専用プロセッサ等の処理装置に所定の機能を行わせることができるものである。要するに、何等かの手段でもってコンピュータにプログラムをダウンロードし、所定の機能を実行させるものであればよい。
【００２４】
【発明の実施の形態】
発明の実施の形態１．
この発明の実施の形態に係る装置／方法について図面を参照して説明する。この装置／方法は２つの音の入力を受け、その音程名を求めて表示するものである。
【００２５】
図１はこの装置の機能ブロック図、図２はこの装置の操作及び表示パネルの一例を示す。この装置はパソコンあるいはPDAに下記の処理を行うソフトウエアをインストールことにより実現される。あるいは、CPUを内蔵するとともに下記の処理を行うプログラムをファームウエアとして内蔵する専用の装置によっても実現される。専用の装置であれば、パソコンを使わない人あるいは使えない場合でも、場所を選ばずに簡単に素早く操作ができて、瞬時に答えが得られる。特に、専用の装置に電池を内蔵させて小型軽量で携帯可能に構成すれば、場所を選ばず移動中でも使用可能であり、手軽である。
【００２６】
１は音部記号入力部である。ここで入力される記号として、オクターブ上ヴァイオリン記号（オクターブ上ト音記号）、ヴァイオリン記号（ト音記号）、ソプラノ記号（ハ音記号）、メゾソプラノ記号（ハ音記号）、アルト記号（ハ音記号）、テノール記号（ハ音記号）、バリトン記号（ハ音記号）、バス記号（ヘ音記号）、オクターブ下バス記号（オクターブ下ヘ音記号）がある。
【００２７】
２は楽譜上の位置番号入力部である。これは例えばテンキーであり、利用者は直接番号を入力する。楽譜上の位置番号の定義を図９に示す。
【００２８】
３は臨時記号入力部である。ここで入力される記号として、ダブルフラット（♭♭）、フラット（♭）、ナチュラル、シャープ（＃）、ダブルシャープ（×）である。
【００２９】
４は入力された記号・番号を五線譜の番号及び鍵盤の番号に変換する入力処理部である。鍵盤の番号の定義を図１０に示す。この処理の詳細は後述する（図３参照）。
【００３０】
５は入力された音部記号、楽譜上の位置番号及び臨時記号とともに、変換された五線譜の番号及び鍵盤の番号を記憶するメモリである。メモリ５は２つのメモリ、Ａ音情報メモリ５ａとＢ音情報メモリ５ｂを含む。メモリ５ａは利用者により最初に入力された音（Ａ音）の情報を記憶し、メモリ５ｂは次に入力された音（Ｂ音）の情報を記憶する。
【００３１】
６はメモリ５に記憶されたＡ音及びＢ音の鍵盤上の位置を表示するものである。例えば、図２に示すように、画面に表示された鍵盤においてＡ音に対応する位置の鍵盤が赤色に表示され、Ｂ音に対応する位置の鍵盤が緑色に表示される。
【００３２】
７はＡ音及びＢ音のサウンドを発生させるサウンド発生部である。
【００３３】
８はＡ音及びＢ音を表示するＡ音／Ｂ音五線譜上位置表示部である。表示部８において、Ａ音及びＢ音が五線譜上に音部記号、臨時記号及びその位置とともに、楽譜上の位置番号が数値で示される。
【００３４】
９はテーブル１１を参照してＡ音及びＢ音を音名に変換する音名変換部である。テーブル１１は、イタリア語音名テーブル、日本語音名テーブル、英語音名テーブル、ドイツ語音名テーブルを含む。
【００３５】
１０はＡ音及びＢ音の音名を表示するＡ音／Ｂ音音名表示部である。
【００３６】
１２は音程名演算規則テーブル１４を参照しつつメモリ５内の五線譜の番号及び鍵盤の番号に基づき音程名を演算する音程名演算部である。この処理の詳細は後述する（図４参照）。併せてＡ音とＢ音の高低比較を行う。
【００３７】
１３は求められた音程名を表示する音程名表示部である。併せてＡ音とＢ音の高低比較結果を表示する。
【００３８】
図１において、音部記号入力部１〜臨時記号入力部３は、楽譜上の任意の２音について、音部記号、本発明において独自に用いた五線譜上の番号及び臨時記号の情報を入力するための入力部に相当する。音程名演算部１２は、五線譜上の番号より算出する２音間の幹音の差による度数、複音程を単音程に直した場合のオクターブ数及び音程の種類（後述）の３要素から構成される学術的に正しい音程名を算出する。
【００３９】
本装置は、単音程の場合は、度数については1〜７度と単音程の場合のみ８度とを、音程の種類については、１、４、５、８度の完全音程と２、３、６、７度の長短音程とそれらすべての増、重増音程と１度を除くそれらすべての減、重減音程とを、複音程についてはオクターブ数を、複音程の完全８度についてはオクターブ数のみによる答えを表示する。
【００４０】
例えば、図２において、Ａ音がト音記号、五線譜番号＝２８、臨時記号＝＃であるとき、音名はイタリア、日本、英、ドイツそれぞれでソ＃、一点嬰ト、ｇ＃１、gis１と表示される。B音がハ音記号、五線譜番号＝４１、臨時記号＝♭であるとき、音名はイタリア、日本、英、ドイツそれぞれでレ♭、三点変ニ、ｄ♭３、des３と表示される。そして、Ａ音とＢ音の音程名は「１オクターブと重減５度」「Ｂの方がＡより上」と表示される。
【００４１】
音程名演算の規則について説明する。音程名とは、音と音の間隔の違いを区別するものである。音程名は次のような規則に従って付けられる。
・音の間隔は度数（１度、２度、・・・）で表される。度に付く数字はそれぞれの音程に含まれる幹音の数である（幹音は鍵盤の白鍵に相当する）。このとき臨時記号（＃、♭など）が付いても度数は変わらない。
・臨時記号が付されることなどにより同じ度数でも間隔の広い音程と狭い音程が半音の単位で生じる。これらを区別するため、度数の前に重々増、重増、増、長、短、完全、減、重減、重々減のいずれかが付される。重々増が最も音程の幅が広く、重々減が最も音程の幅が狭い。例えば、長６度が半音狭くなれば短６度、更に半音狭くなれば減６度である。
・ただし、１度、４度、５度、８度は完全系の音程で完全、増、減、重増、重減、重々増、重々減がつくが、長、短の名称はつかない。
・また、２度、３度、６度、７度は長、短系で長、短、増、減、重増、重減、重々増、重々減がつくが、完全の名称はつかない。
・１オクターブ以上の広がりをもつ音程を複音程と呼び、１オクターブ以内の音程を単音程と呼ぶ。例えば、減８度は単音程、増８度は複音程である。減８度は厳密には、幹音が一巡して２回数えることから、複音程とみなされるべきであるが、オクターブより狭い音程であることから、単音程として扱われるのが慣習となっている。
【００４２】
なお、発明の詳細な説明で用いる文言について簡単に説明する。
楽譜とは、音部記号と音符が書いてある五線譜である。厳密には音部記号だけが書いてあって音符が書いてない五線譜でも楽譜であるが、反対に音部記号がなく、音符だけ書いてある五線譜は、厳密には楽譜ではない。
五線譜とは、５本の線だけが書いてあるものである。
音符＝四分音符や八分音符（♪）などのことで、５本の線は関係なく表現する。
したがって、位置番号入力部２で入力する位置番号は、厳密には、「楽譜上にある音符の五線譜上の位置番号」が正しい表現となる。但し、位置番号入力部２で入力するものについては「楽譜上の位置番号」、そのあと、ト音記号に換算されたものについては「五線譜上の番号」「五線譜の番号」と、表現しても差し支えない。わかりやすくするために、以下このような表現を用いる。
【００４３】
次に図３及び図４のフローチャートを参照してこの装置／方法の処理の具体例について説明する。
【００４４】
図３は音の入力処理を示す。これはＡ音とＢ音で共通である。
【００４５】
Ｓ１：音部記号を受ける。
音部記号入力部１から、オクターブ上ヴァイオリン記号（オクターブ上ト音記号）〜オクターブ下バス記号（オクターブ下ヘ音記号）のいずれかを受ける。
【００４６】
Ｓ２：ト音記号に直す場合の係数wa2/wb2を得る。
本装置／方法において、音部がト音記号の場合を基準として処理を行う。そのためト音記号の場合以外のときのための補正係数を得る。実際には図５に示す表（Ｗ表）が予め用意されている。ここで、音部記号ｗ１の意味は次のとおりである。
・オクターブ上ヴァイオリン記号（オクターブ上ト音記号）＝１
・ヴァイオリン記号（ト音記号）＝２
・ソプラノ記号（ハ音記号）＝３
・メゾソプラノ記号（ハ音記号）＝４
・アルト記号（ハ音記号）＝５
・テノール記号（ハ音記号）＝６
・バリトン記号（ハ音記号）＝７
・バス記号（ヘ音記号）＝８
・オクターブ下バス記号（オクターブ下ヘ音記号）＝９
【００４７】
Ｓ３：楽譜上の位置番号xa/xb1を受ける。
位置番号入力部（テンキー）２からの番号入力を受ける。楽譜上の位置番号の定義を図９に示す。
【００４８】
Ｓ４：次式に従い、ト音記号に直した場合の五線譜の番号xa2/xb2に変換する。
xa2=xa1+wa2、xb2=xb1+wb2
【００４９】
Ｓ５：オクターブ数等を求める。なお、下記の演算を行う代わりに図６の表（ＸＹ表）を参照してもよい。
・オクターブの番号na/nbを次式に基づいて計算する。
na=trunc((xa2+4)÷7)、nb=trunc((xb2+4)÷7)
・ｎ＋１オクターブ内での白鍵による幹音番号pa/pbを計算する。
pa=(xa2-2)-7×(na-1)、pb=(xb2-2)-7×(nb-1) 
・ｎ＋１オクターブ内での黒鍵の数ra/rbを計算する。
ra=if(pa＞3, 2×(pa-1), 2×(pa-1)+1)、rb=if(pb＞3, 2×(pb-1), 2×(pb-1)+1)
・xa2/xb2に対応する鍵盤の番号ya1/yb1を計算する。
ya1=12×(na-1)+ra+3、yb1=12×(nb-1)+rb+3
【００５０】
Ｓ６：臨時記号の有無を判定する。臨時記号があるときＳ７〜Ｓ９の処理を行う。
【００５１】
Ｓ７：臨時記号を受ける。
臨時記号入力部３から、ダブルフラット（♭♭）、フラット（♭）、ナチュラル、シャープ（＃）、ダブルシャープ（×）のいずれかを受ける。
【００５２】
Ｓ８：臨時記号により変更を受ける鍵盤の番号ya1/yb1及び幹音番号pa/pbを補正するための係数za2/zb2を得る。実際には図７に示す表（Ｚ表）が予め用意されている。
ここで、臨時記号ｚ１の意味は次のとおりである。
・ダブルフラット（♭♭）＝１
・フラット（♭）＝２
・ナチュラル＝３
・シャープ（＃）＝４
・ダブルシャープ（×）＝５
【００５３】
Ｓ９：鍵盤の番号ya1/yb1を臨時記号を反映した鍵盤の番号ya2/yb2に変換する。
ya2=ya1+za2, yb2=yb1+zb2
以上のＳ１〜Ｓ９の処理により、Ａ音／Ｂ音それぞれについて音程名を求めるために必要な五線譜の番号xa2/xb2及び鍵盤の番号ya2/yb2を得ることができた。
図４は音程名演算処理を示す。
【００５４】
Ｓ１０：Ａ音／Ｂ音の番号xa2/xb2の差を求める。
【００５５】
Ｓ１１：差xab1=xa2-xb2に基づきＡ音とＢ音の間の度数xab3を求める。具体的には次式に基づき処理される。
xab2=if(xab1＜0, xab1-1, xab1+1)
xab3=if(xab2＜0, xab2×(-1), xab2）
【００５６】
Ｓ１２：Ａ音とＢ音間のオクターブ数m2を求める。具体的には次式に基づき処理される。
m1=if(xab3＞8, trunc(xab2÷7),0)
m2=if(m1＜0, m1×(-1), m1)
【００５７】
Ｓ１３：度数xab3を単音程の度数xab4に直す。具体的には次式に基づき処理される。
xab4=if(xab3＞8, xab3-7×m2, xab3)
【００５８】
Ｓ１４：度数xab4=７度又は８度かどうか調べる。７度又は８度のとき、Ｓ１５で度数及びオクターブ数を修正する。
【００５９】
Ｓ１５：度数及びオクターブ数を修正する。具体的には次式に基づき処理される。
xab5=if(m2＞0, if(xab4=0, 7, if(xab4=1, 8, xab4)), xab4)
m3=if(m2＞0, if(xab4=0, m2-1, if(xab4=1, m2-1, m2)), m2)
【００６０】
Ｓ１６：Ａ音／Ｂ音間の鍵盤番号ya2/yb2の差を求める。
【００６１】
Ｓ１７：差yab1=ya2-yb2に基づきＡ音とＢ音間の鍵盤数yab2を求める。具体的には次式に基づき処理される。
yab2=if(yab1＜0, yab1×(-1), yab1)
【００６２】
Ｓ１８：鍵盤数yab2を単音程の鍵盤数yab3に直す。具体的には次式に基づき処理される。
yab3=yab2-12×m3
【００６３】
Ｓ１９：度数xab5及び鍵盤数yab3に基づき音程の種類の名称f1を得る。具体的には図８の表（Ｆ表）を参照して名称f1を得る。Ｆ表は度数xab5と鍵盤数yab3に対応する音程の種類の名称（重増、増、長、短、完全、減、重減、重々増、重々減）を予め記憶している。
【００６４】
Ｓ２０：度数xab5及び鍵盤数yab3に基づき単音程が８度のときの音程の種類によるオクターブ数の繰り上げ計算を行う。度数が８度のとき１オクターブ以上となる場合と以下となる場合の両方が存在するためである。１オクターブ以上の広がりをもつ音程を複音程と呼び、１オクターブ以内の音程を単音程と呼ぶ。例えば、減８度は単音程、増８度は複音程である。具体的には次式に基づき処理される。
m4=if(m3＞0, if(xab5=8, if(yab3＞=12, m3+1, m3), m3), if(xab5=8, if(yab3＞12, m3+1, m3), m3))
【００６５】
Ｓ２１：度数xab5及び鍵盤数yab3に基づき完全８度における度数の非表示処理及び音程の種類の名称の非表示処理を行う。
【００６６】
Ｓ２２：度数xab5及び鍵盤数yab3に基づき増８度、重増８度、重々増８度における１度への度数変更処理を行う。
Ｓ２３：オクターブを含む音程における、完全８度とそれ以外の場合のオクターブm4の表示処理を行う。
【００６７】
Ｓ２４：音程の種類f1及び度数xab6の表示処理を行う。
【００６８】
Ｓ２５：Ａ音／Ｂ音の高低比較表示処理を行う。xa2とxb2を比較することにより高低を判定することができる。
【００６９】
以上の処理により正確な音程名及びＡ音とＢ音の対比結果を表示することができる。例えば、Ａ音とＢ音の音程名は「１オクターブと重減５度」「Ｂの方がＡより上」と表示される。
【００７０】
本装置／方法によれば，使用者が学術的に正しい表示を確認することと，２音の片方又は両方の音を聴くこととを同時に行うことができるため、音感を養うことにおいて優れた効果を持っている。
【００７１】
また、２音を実際の音を聴くこともでき、前記２音間の音程名称を正しく判断する感覚を養うことを補助、促進することができる。
【００７２】
また、前記載のＡ音に関するものは赤色で、Ｂ音に関するものは緑色で、２音間に関するものは黄色で表示するので、使用者が即座に認知することができる。
【００７３】
なお、先に「１オクターブ以上の広がりをもつ音程を複音程と呼び、１オクターブ以内の音程を単音程と呼ぶ。例えば、減８度は単音程、増８度は複音程である」と述べた。そのため上述装置ではオクターブ数と単音程で表示している。
【００７４】
しかし、複音程について、１２度までは、オクターブ数を付けないで答えてもいいという慣習があり、完全８度から９度、１０度、１１度、１２度までは、２通りの答え方が許される。慣習に従った表示（複音程による表示）において、９度、10度、11度、12度という場合、これらはつまり１オクターブと２度、3度、4度、5度のことで、それらは言い方の点でのみ異なる。
【００７５】
そこで、２種類の表示を選択できるように上述の装置の構成あるいは処理を変更してもよい。例えば、「オクターブ数と単音程による表示」（あるいは「通常表示）」と「複音程による表示」（あるいは「１２度表示」）を切り換えるスイッチ（ハードウエアスイッチあるいはソフトウエアスイッチ）を設け、前者が選択されたとき上述の処理を行い、後者が選択されたとき次の処理を行うようにする。
【００７６】
Ｓ１９‘：度数xab3及び鍵盤数yab2に基づき音程の種類の名称f1‘を得る。具体的には図８の表（Ｆ’表）を参照して名称f1‘を得る。Ｆ’表は度数xab3と鍵盤数yab2に対応する音程の種類の名称を予め記憶している。
ｆ１'=index(F'表, xab3-7, yab2-9,1)：ただし7＜xab3＜13の場合
Ｓ２３‘：表示処理を行う。
d'=f1'&xab3&"度"（ただし7＜xab3＜13の場合）
C'=d'&e（ただし7＜xab3＜13の場合）  ：２音間の音程名の解（複音程による表示）。ただし、ｅはＡ音／Ｂ音の高低比較表示。
図１１に、表示切り換えスイッチを設けたときの音程名演算処理フローチャートを示す。このフローチャートは表示の切り換え処理と複音程表示処理に関する部分のみを示している。
【００７７】
「複音程による表示」（あるいは「１２度表示」）において、１オクターブと短２度は短９度、１オクターブと長３度は長１０度、１オクターブと完全４度は完全１１度、１オクターブと増５度は増１２度、とそれぞれ表示される。しかし、２オクターブと長１０度は間違いで、それは３オクターブと長３度が正解である。上記式はこの例外処理を行うことができる。また、上記式によれば「完全８度」の場合は、複音程による表示は「完全８度」で、通常表示では「１オクターブ」となり、度数の表示はない。同様に、「完全８度」の複音程の場合は、「２オクターブ」「３オクターブ」・・・など、オクターブ数のみの表示となる。
【００７８】
発明の実施の形態２．
発明の実施の形態１に係る装置／方法は２つの音の入力を受け、その音程名を求めて表示するものであった。発明の実施の形態２に係る装置／方法は１つの音及び音程名（正確には、オクターブ数と、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称及び単音程又は複音程による度数からなる音程名と、求めるべき第２音が前記第１音よりも上あるいは下のいずれかの区別）の入力を受け、その音程名に対応する音を求めて表示するものである。この処理は、発明の実施の形態１で用いた各表と同一あるいは相当するものを用いて行うことができる（なお発明の実施の形態２においてＦ表、Ｆ’表に代えてＦ２表を用いる）。
【００７９】
図１２は発明の実施の形態２の装置の機能ブロック図、図１３はこの装置の操作及び表示パネルの一例を示す。図１２及び図１３に示された装置は、図１及び図２のものと類似するが、他の音を求めるときの基準となるオクターブ数を入力するオクターブ数入力部２０、音程名の名称を入力する音程名名称入力部２１、音程名の度数を入力する音程名度数入力部２２、及び、上下どちらの方向の音を求めるかを指定する上下区別入力部２３を備える点で異なる。また、メモリ５ｂには２０〜２３で入力された音程名等の情報が記憶される点で異なる。
【００８０】
図１２及び図１３の装置において、ひとつの音（Ａ音）の情報（音部記号、楽譜上の位置番号及び臨時記号を含む）と、音程名等の情報とを入力すると、他の音（Ｂ音）の情報（音部記号、楽譜上の位置番号及び臨時記号を含む）が表示部８ｂ、１０ｂに表示される。あるいは表示部１３に表示してもよい。Ａ音又はＢ音について鍵盤上に位置を表示したり、音響を発生する点は、発明の実施の形態１の場合と同様である。
【００８１】
図１４は、発明の実施の形態２において用いられるデータの内容及びテーブルを示す。１００は入力されたＡ音のデータであり、wa1は音符記号、xa1は五線譜上の位置番号、za1は臨時記号の番号を示す。１０１は入力された音程名等のデータであり、M1octはオクターブ数、F2'は音程名の名称、XAB1は音程名の度数、H1は上下の区別を示す。１０２は求められたＢ音のデータである。１０３は音程名の名称と係数の関係を示すテーブルである。１０４は上下の区別のテーブルである。１０５は臨時記号のテーブルである。
【００８２】
図１５は、オクターブ内における音程の種類の名称と度数に対応する鍵盤数の差のテーブルを示す。ｆ２の数値（１〜１２）は度数である。
【００８３】
発明の実施の形態２における基本的な処理手順は、発明の実施の形態１の場合と同様である。以下、発明の実施の形態２の処理について具体的に説明する。
【００８４】
例えば、与えられたＡ音（第１音）の音符記号がト音記号（wa1=2）、五線譜上の位置番号が２４（xa1=24）、臨時記号の番号が４（za1=4）であり、与えられたオクターブ数が１（M1oct=1）、音程名が重増５度（F2'=8、XAB1=5）、求めるべきＢ音（第２音）が下である（H1=2)ときに、Ｂ音を求めるための処理について具体的に説明する。
【００８５】
最初にＡ音の処理について説明する。
101 wa1=2：入力した音符記号をセットする。２はト音記号
103 wa2=index(Ｗ表, wa1, 1)  又は  =0  ：入力した音符記号の係数をＷ表より抽出する。indexは、テーブルまたはセル範囲にある値、あるいはその値のセル参照を返す関数である。ト音記号(wa1=2)の場合は０である。
105 xa1=24：入力した五線譜上の位置番号をセットする。
106 xa2=xa1+wa2：ト音記号に直したときの楽譜上の位置番号を求める。この例では、xa2=24+0=24  である。
107 na=trunc((xa+4)/7)：xa2が位置するオクターブ数を求める。truncは、数値の小数部を切り捨てて、整数または指定した桁数に変換する関数である。この例では、na=(24+4)/7=4である。
108 pa=(xa2-2)-7*(na-1)：ｎ＋１オクターブ内でのxa2の白鍵（７つの幹音）番号を求める。この例では１である。
109 ra=if(pa＞3,2*(pa-1),2*(pa-1)+1)：ｎ＋１オクターブ内でのxa2の黒鍵を含む（１２音）番号を求める。この例では１である。
110 ya1=12*(na-1)+ra+3：xa2の臨時記号を加算した鍵盤記号を求める。この例では、ya1=12*(4-1)+1+3=40である。
112 za1= 4：入力した臨時記号の番号をセットする。
114 za2=if(za1＞0, index(Ｚ表, za1,1),0)：入力した臨時記号の係数をＺ表より抽出する。この例では、za2=1である。
115 ya2=ya1+za2：xa2の臨時記号を加算した鍵盤番号を求める。この例では、ya2=40+1=41である。
【００８６】
次に、オクターブ数と、重々増、重増、増、長、短、完全、減、重減、重々減を含む音程の種類の名称及び単音程又は複音程による度数からなる音程名と、求めるべき第２音が前記第１音よりも上あるいは下のいずれかの区別に関する処理について説明する。与えられたオクターブ数が１（M1oct=1）、音程名が重増５度（F2'=8、XAB1=5）、求めるべきＢ音（第２音）が下（H1=2)である。
【００８７】
401 M1=1：オクターブ数をセットする。
402 H1=2：Ｂ音が上か下かをセットする。例えば、上＝１、下＝２である。
403 H2=index(H表,H1,1,1)：上下の高低比較する場合の係数をＨ表から読み取る。Ｈ表の内容は、上（１）のとき１、下（２）のとき−１である。この例では、H2=-1である。
404 M2=M1*H2：上下の高低比較して加算するオクターブ数を求める。この例ではM2=1*(-1)=-1である。
405 XAB1=5：度数をセットする。
406 XAB2=(XAB1-1)*H2：上下の高低比較して加算する度数を求める。この例では、XAB2=(5-1)*(-1)=-4である。
407 wb1=8：音程の種類の名称をセットする。これに基づき音部記号が表示される。
408 wb2=index(Ｗ表,wb1,1)：音符記号の係数をＷ表より抽出する。この例ではwb2=-12である。
409 xb2=xa2+7*M2+XAB2：ト音記号でのＢ音の楽譜上位置番号を求める。この例では、xb2=24+7*(-1)+(-4)=13である。
410 xb1=xb2-wb2：指定した音部記号によるＢ音の楽譜上位置番号を求める。これに基づき番号表示、楽譜上位置表示がなされる。この例では、xb1=13-(-12)=25である。
411 nb=trunc((xb2+4)/7)：xb2が位置するオクターブ数を求める。この例では、nb=((13+4)/7)=2である。
412 pb=(xb2-2)-7*(nb-1)：ｎ＋１オクターブ内でのxb2の白鍵（７つの幹音）番号を求める。この例では、pb=(13-2)-7*(2-1)=4である。
413 rb=if(pb＞3,2*(pb-1),2*(pb-1)+1)：ｎ＋１オクターブ内でのxb2の黒鍵を含む（１２音）番号を求める。この例では、rb=6である。
414 yb1=12*(nb-1)+rb+3：xb2の幹音の位置に相当する鍵盤番号を求める。この例では、yb1=21である。
415 YAB1=index(F2表,XAB1,f2')：オクターブ内におけるＦとXAB1による音程名に対応する鍵盤数の差をＦ２表より抽出する。この例では、YAB1=9である。
416 YAB2=YAB1*H2：上下の高低比較して加算するオクターブ内の鍵盤数の差を求める。この例では、YAB2=-9である。
417 yb2=ya2+12*M2+YAB2：Ｂ音の鍵盤位置番号を求める。これに基づき鍵盤上の位置表示を行う。この例では、yb2=20である。
418 zb2=yb2-yb1：臨時記号の係数を求める。この例では、zb2=-1である。
419 zb1=z2+3：臨時記号の番号を求める。この例では、zb1=2である。
420 zb=index(Ｚ’表,zb1,1,1)：Ｚ’表から臨時記号を求める。これに基づき鍵盤上の臨時記号が表示される。
【００８８】
以上の処理により、Ｂ音の音部記号、楽譜上の位置番号及び臨時記号が求められる。
【００８９】
音楽大学の入学試験において、楽譜上にある任意の音と音程名が提示され、その音程関係にある音を求め、さらに求められた解を指定された音部記号により答えるという出題方法も存在する。本発明の実施の形態２によれば、これらの課題に瞬時に回答することができる音楽的感覚を養うとともに、音楽基礎能力の向上を促進させることができる。
【００９０】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００９１】
また、本明細書において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウェアによって実現される場合も包含する。さらに、一つの手段の機能が、二つ以上の物理的手段により実現されても、若しくは、二つ以上の手段の機能が、一つの物理的手段により実現されてもよい。
【００９２】
【発明の効果】
この装置及びプログラムは音楽理論及び楽典に基づいており、音楽専門家を初め、音楽専門家を目指している人々及び、趣味において音楽を学んでいるすべての人々が、楽譜上の任意の２音について、それぞれ２又は３種類の情報を簡単なキー操作によって入力することができ、それにより、前記載の２音によって生成される２音間の音程について、オクターブ数と音程の種類と度数とで表す学術的に正しい名称を表示することができる。使用者は学術的に正しい名称を理解することができる。
また、楽譜上の１音と音程名を入力して、他の音を求めることができる。
【図面の簡単な説明】
【図１】  発明の実施の形態に係る装置の機能ブロック図である。
【図２】  当該装置のパネルの一例である。
【図３】  発明の実施の形態に係る方法のＡ音／Ｂ音の入力処理フローチャートである。
【図４】  発明の実施の形態に係る方法の音程名演算処理フローチャートである。
【図５】  発明の実施の形態に係る音部記号の補正係数テーブルの例である。
【図６】  発明の実施の形態に係るオクターブ計算に係るテーブルの例である。
【図７】  発明の実施の形態に係る臨時記号の補正係数テーブルの例である。
【図８】  発明の実施の形態に係る音程の種類の名称のテーブルの例である。
【図９】  発明の実施の形態に係る五線譜上の番号の説明図である。
【図１０】  発明の実施の形態に係る８８鍵盤番号の説明図である。
【図１１】  発明の実施の形態に係る、表示切り換えスイッチを設けたときの音程名演算処理フローチャートである。
【図１２】  発明の実施の形態２に係る装置の機能ブロック図である。
【図１３】  当該装置のパネルの一例である。
【図１４】  発明の実施の形態２に係るテーブルの例である。
【図１５】  発明の実施の形態２に係るオクターブ内における音程の種類の名称と度数に対応する鍵盤数の差のテーブルの例である。
【符号の説明】
１  音部記号入力部
２  楽譜上の位置番号入力部
３  臨時記号入力部
４  入力処理部
５  メモリ
５ａ  Ａ音情報メモリ
５ｂ  Ｂ音情報メモリ
６  鍵盤上位置表示部
７  サウンド発生部
８  Ａ音／Ｂ音五線譜上位置表示部
９  音名変換部
１０  Ａ音／Ｂ音音名表示部
１１  音名テーブル
１２  音程名演算部
１３  音程名表示部
１４  音程名演算規則テーブル
２０  オクターブ数入力部
２１  音程名名称入力部
２２  音程名度数入力部
２３  上下区別入力部
【図１】
0003720334.tif 000002
【図２】
0003720334.tif 000003
【図３】
0003720334.tif 000004
【図４】
0003720334.tif 000005
【図５】
0003720334.tif 000006
【図６】
0003720334.tif 000007
【図７】
0003720334.tif 000008
【図８】
0003720334.tif 000009
【図９】
0003720334.tif 000010
【図１０】
0003720334.tif 000011
【図１１】
0003720334.tif 000012
【図１２】
0003720334.tif 000013
【図１３】
0003720334.tif 000014
【図１４】
0003720334.tif 000015
【図１５】
0003720334.tif 000016