(57)【要約】      （修正有）【課題】階名列をキー入力して確実に楽曲を検索する。【解決手段】電子辞書１は、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶するフラッシュＲＯＭ８０と、ユーザ操作に基づいて、所定の調での階名列を示す文字列を入力階名文字列として入力する入力部３０と、複数種類の楽曲情報から、楽曲階名文字列内に入力階名文字列を含む楽曲情報を検索するＣＰＵ２０とを備える。ＣＰＵ２０は、入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成し、複数種類の楽曲情報から、楽曲階名文字列内に移調階名文字列を含む楽曲情報を検索する。そして、ＣＰＵ２０は、検索された楽曲情報の曲名を表示させる。【選択図】図２
2012037950.tif 000002
【特許請求の範囲】
【請求項１】
表示手段と、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶手段と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索手段と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索手段と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御手段と、
を備えることを特徴とする曲検索装置。
【請求項２】
請求項１記載の曲検索装置において、
各階名の音を出力可能な音出力手段を備え、
前記楽曲情報は、
楽曲を再生するための楽曲データを有しており、
前記検索結果出力制御手段は、
ユーザ操作に基づいて、前記検索楽曲情報の前記楽曲データを前記音出力手段に出力させることを特徴とする曲検索装置。
【請求項３】
請求項１または２記載の曲検索装置において、
前記入力階名文字列における何れか一つの階名の文字を、前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換階名文字列を生成する一音置換階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換楽曲検索手段と、
前記移調階名文字列における何れか一つの階名の文字を、当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換移調階名文字列を生成する一音置換移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換移調楽曲検索手段と、
を備えることを特徴とする曲検索装置。
【請求項４】
請求項３記載の曲検索装置において、
前記楽曲階名文字列、前記入力階名文字列、前記移調階名文字列、前記一音置換階名文字列及び前記一音置換移調階名文字列は、幹音の階名列を示すことを特徴とする曲検索装置。
【請求項５】
表示手段を有するコンピュータに、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶機能と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索機能と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索機能と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御機能と、
を実現させることを特徴とする曲検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曲検索装置及び曲検索プログラムに関する。
【背景技術】
【０００２】
従来から、辞書機能を有する電子辞書などの電子機器においては、百科事典の辞書データベースから作曲家名や楽曲名を検索キーとして楽曲を検索し、楽曲にまつわるテキストを表示させたり、楽曲を再生させたりすることが可能となっている。
【０００３】
但し、このような検索を行う場合には、ユーザが作曲家名や楽曲名を覚えていて、これらを検索文字列として入力する必要がある。
【０００４】
そのため、近年の電子機器では、楽曲の階名列を予め記憶しておき、マイクを介してユーザから入力される音声をフーリエ変換して階名列を検出し、検出された階名列に完全一致するメロディーの楽曲を検索するようになっている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−１２１５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１記載の技術では、階名列をキー入力して楽曲検索することはできない。この点、階名列をキー入力して楽曲検索を行うことを意図して、単純に楽曲の階名列を文字列として予め記憶させておいたとしても、入力した階名列の調と、楽曲の調とが一致していない場合には、入力階名列の文字列と、楽曲の階名列の文字列とは同じメロディーを表現していても、異なる文字列となってしまうため、所望の楽曲が検索されない。
【０００７】
本発明の課題は、階名列をキー入力して確実に楽曲を検索することのできる曲検索装置及び曲検索プログラムを提供することである。
【課題を解決するための手段】
【０００８】
請求項１記載の発明は、曲検索装置において、
表示手段と、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶手段と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索手段と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索手段と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御手段と、
を備えることを特徴とする。
【０００９】
請求項２記載の発明は、請求項１記載の曲検索装置において、
各階名の音を出力可能な音出力手段を備え、
前記楽曲情報は、
楽曲を再生するための楽曲データを有しており、
前記検索結果出力制御手段は、
ユーザ操作に基づいて、前記検索楽曲情報の前記楽曲データを前記音出力手段に出力させることを特徴とする。
【００１０】
請求項３記載の発明は、請求項１または２記載の曲検索装置において、
前記入力階名文字列における何れか一つの階名の文字を、前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換階名文字列を生成する一音置換階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換楽曲検索手段と、
前記移調階名文字列における何れか一つの階名の文字を、当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換移調階名文字列を生成する一音置換移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換移調楽曲検索手段と、
を備えることを特徴とする。
【００１１】
請求項４記載の発明は、請求項３記載の曲検索装置において、
前記楽曲階名文字列、前記入力階名文字列、前記移調階名文字列、前記一音置換階名文字列及び前記一音置換移調階名文字列は、幹音の階名列を示すことを特徴とする。
【００１２】
請求項５記載の発明は、曲検索プログラムにおいて、
表示手段を有するコンピュータに、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶機能と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索機能と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索機能と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御機能と、
を実現させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報が複数種類記憶され、ユーザ操作に基づいて所定の調での階名列を示す文字列が入力階名文字列として入力されると、入力階名文字列で示される階名列が移調されて、移調後の階名列を示す移調階名文字列が生成され、複数種類の楽曲情報から、楽曲階名文字列内に入力階名文字列，移調階名文字列を含む楽曲情報が検索楽曲情報として検索され、検索楽曲情報の曲名が表示されるので、階名列をキー入力して楽曲検索することができる。また、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲を検索することができる。従って、階名列をキー入力して確実に楽曲を検索することができる。なお入力した階名列の調と楽曲の調とが一致しない例としては、高音の得意な女性ユーザが曲の調を高い調に移調して階名列をキー入力する場合や、同じ調の曲で固定ド読みを移動ド読みにしてキー入力する場合があるが、いずれにおいても確実に楽曲を検索することができる。
【図面の簡単な説明】
【００１４】
【図１】電子辞書の概観を示す平面図である。
【図２】電子辞書の内部構成を示すブロック図である。
【図３】（ａ）は通常の辞書データベースのデータ構造を示す図であり、（ｂ）は音楽事典の辞書データベースのデータ構造を示す図である。
【図４】楽曲階名文字列及び検索インデックスを示す図である。
【図５】アイネ・クライネ・ナハトムジークの楽譜を示す図である。
【図６】インデックステーブルを示す図である。
【図７】移調テーブルを示す図である。
【図８】第１検索楽曲記憶領域のデータ構造を示す図である。
【図９】音楽検索処理を示すフローチャートである。
【図１０】階名検索処理を示すフローチャートである。
【図１１】表示部の表示内容を示す図である。
【図１２】表示部の表示内容を示す図である。
【図１３】音楽検索処理の動作例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明に係る曲検索装置を電子辞書に適用した場合の実施形態について詳細に説明する。
【００１６】
［外観構成］
図１は、電子辞書１の平面図である。
この図に示すように、電子辞書１は、メインディスプレイ１０、サブディスプレイ１１、スピーカ１２及びキー群２を備えている。
【００１７】
メインディスプレイ１０及びサブディスプレイ１１は、ユーザによるキー群２の操作に応じた文字や符号等、各種データをカラーで表示する部分であり、ＬＣＤ（Liquid Crystal Display）やＥＬＤ（Electronic Luminescence Display）等によって構成されている。なお、本実施の形態におけるメインディスプレイ１０及びサブディスプレイ１１は、いわゆるタッチパネル１１０（図２参照）と一体的に形成されており、手書き入力等の操作を受け付け可能となっている。
【００１８】
スピーカ１２は、ユーザによるキー群２の操作に応じた音声を出力する部分であり、本実施の形態においては、少なくとも２オクターブにおける各音階の音を出力するようになっている。
【００１９】
キー群２は、ユーザから電子辞書１を操作するための操作を受ける各種キーを有している。具体的には、キー群２は、訳／決定キー２ｂと、文字キー２ｃと、辞書選択キー２ｄと、カーソルキー２ｅと、シフトキー２ｆと、戻るキー２ｇ等とを有している。
【００２０】
訳／決定キー２ｂは、検索の実行や、見出し語の決定等に使用されるキーである。文字キー２ｃは、ユーザによる文字の入力等に使用されるキーであり、本実施の形態においては“Ａ”〜“Ｚ”キーを備えている。辞書選択キー２ｄは、後述の辞書データベース８２０，…（図２参照）の選択に使用されるキーである。
【００２１】
カーソルキー２ｅは、画面内の反転表示位置、つまりカーソル位置の移動等に使用されるキーであり、本実施の形態においては上下左右の方向を指定可能となっている。シフトキー２ｆは、日本語の単語を検索対象に設定するとき等に使用されるキーである。戻るキー２ｇは、前回表示した画面に戻るとき等に使用されるキーである。
【００２２】
［内部構成］
続いて、電子辞書１の内部構造について説明する。図２は、電子辞書１の内部構成を示すブロック図である。
【００２３】
この図に示すように、電子辞書１は、表示部４０、入力部３０、音声出力部５０、ＣＰＵ（Central Processing Unit）２０、フラッシュＲＯＭ（Read Only Memory）８０、ＲＡＭ（Random Access Memory）９０を備え、各部はバスで相互にデータ通信可能に接続されて構成されている。
【００２４】
表示部４０は、上述のメインディスプレイ１０及びサブディスプレイ１１を備えており、ＣＰＵ２０から入力される表示信号に基づいて各種情報をメインディスプレイ１０やサブディスプレイ１１に表示するようになっている。
【００２５】
入力部３０は、上述のキー群２やタッチパネル１１０を備えており、押下されたキーやタッチパネル１１０の位置に対応する信号をＣＰＵ２０に出力するようになっている。
【００２６】
音声出力部５０は、上述のスピーカ１２を備えており、ＣＰＵ２０から入力される音声出力信号に基づいてオーディオデータをスピーカ１２に再生させるようになっている。
【００２７】
フラッシュＲＯＭ８０は、電子辞書１の各種機能を実現するためのプログラムやデータを記憶するメモリである。本実施の形態においては、フラッシュＲＯＭ８０は、本発明に係る曲検索プログラム８１と、辞書データベース群８２と、インデックステーブル８４Ａ，８４Ｂと、移調テーブル８５とを記憶している。
【００２８】
曲検索プログラム８１は、後述の音楽検索処理（図９〜図１０参照）をＣＰＵ２０に実行させるためのプログラムである。
【００２９】
辞書データベース群８２は、辞書データベース８２０を複数有しており、本実施の形態においては、英和辞書の辞書データベース８２０ａや、音楽事典の辞書データベース８２０ｂ等を有している。
【００３０】
これら辞書データベース８２０，…には、例えば図３（ａ）に１例を示すように、見出し語と、この見出し語の説明情報とを対応付けた見出し語情報が複数格納されている。
【００３１】
また、特に音楽事典の辞書データベース８２０ｂでは、例えば図３（ｂ）に１例を示すように、曲名の見出し語と、この曲名の説明情報と、この楽曲の階名列を示す楽曲階名文字列８３１及び検索インデックス８３２と、この楽曲を再生するための楽曲データ８３３とを対応付けた楽曲情報８３４が見出し語情報として複数格納されている。例えば、各楽曲情報８３４には、それぞれ固有の曲番号が対応付けられており、例えば曲名「アイネ・クライネ・ナハトムジーク」の楽曲情報８３４には曲番号「００１５」が対応付けられている。なお、音楽の文献では移動ドで読むものを階名唱、固定ドで読むものを音名唱とするものもあるが、本実施例では説明上、移動ド読みも固定ド読みも「階名」と表現した。
【００３２】
ここで、本実施の形態における楽曲階名文字列８３１では、例えば図４の上段に示すように、変化記号「♯」，「♭」が省略されることで幹音の階名列を示すようになっており、更に、階名「ファ」が「フ」で表されることで各階名が１文字で表現されるようになっている。なお、図４の上段では、説明の便宜上、省略された変化記号を括弧書きで図示している。また、幹音とは、自然音や本位音、natural toneとも称される音であり、変化記号（♯、♭）を付けずに書き表せる音である。また、この図では、曲名「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列８３１における先頭部分を示しており、より詳細には、図５に示す楽譜の１段目部分の階名文字列と、２段目部分の階名文字列とを示している。
【００３３】
また、本実施の形態における検索インデックス８３２は、図４の下段に示すように、楽曲階名文字列８３１の先頭から１文字ずつシフトしながら３文字の階名列（以下、３文字階名列とする）を順に抽出し、抽出順に並べたものである。
【００３４】
また、本実施の形態における楽曲データ８３３は、楽曲の演奏を録音したオーディオデータとなっているが、ＭＩＤＩ楽器に演奏を指示するＭＩＤＩデータとしても良い。
【００３５】
インデックステーブル８４Ａ，８４Ｂは、図６に示すように、３文字の階名列（以下、３文字階名列とする）の各組み合わせに対し、当該３文字階名列を楽曲階名文字列８３１内に含む楽曲情報８３４を対応付けている。
【００３６】
より詳細には、インデックステーブル８４Ａは、階名列順にソートされた３文字階名列それぞれに対し、インデックステーブル８４Ｂにおけるデータ格納アドレスを対応付けて記憶している。また、インデックステーブル８４Ｂは、当該インデックステーブル８４Ｂにおけるデータ格納アドレスそれぞれに対し、楽曲情報８３４の曲番号を対応付けて記憶している。なお、本実施の形態においては、インデックステーブル８４Ｂにおけるデータ格納アドレスは所定の順序で順序付けされるとともに固定長となっており、所望のアドレスを２分岐法によって検出可能となっている。また、楽曲情報８３４の曲番号は、ＨＥＸデータとなっている。インデックステーブル８４Ｂにおいて各データ格納アドレスに対応付けられるデータ長、つまり曲番号の個数は、該当の３文字階名列を含む曲の数に応じて変化するが、次順のデータ格納アドレス（次順の３文字階名列に対応するデータ格納アドレス）を参照すれば算出可能となっている。
【００３７】
移調テーブル８５は、図７に示すように、鍵盤の階名列を半音分ずつ移調させた場合での各調における階名列と、移調の回数（本実施の形態においては０回〜１４回）とを対応付けて記憶している。例えば、本実施の形態における移調テーブル８５では、基準となる階名列として、固定ドの階名列（ド，ド♯，レ，レ♯，ミ，ファ，ファ♯，ソ，ソ♯，ラ，ラ♯，シ，ド）を記憶し、この階名列を１回移調した階名列として嬰ハ長調の階名列を記憶している。但し、移調テーブル８５における各階名列では、変化記号「♯」，「♭」が省略されており、幹音の階名列を示すようになっている。
【００３８】
ＲＡＭ９０は、ＣＰＵ２０が実行する各種プログラムや、これらプログラムの実行に係るデータ等を一時的に保持するメモリ領域を備えており、本実施の形態においては、入力階名文字列記憶領域９１と、移調番号記憶領域９２と、階名列記憶領域９３と、第１検索楽曲記憶領域９４と、第２検索楽曲記憶領域９５と、第３検索楽曲記憶領域９６等とを有している。
【００３９】
このうち、入力階名文字列記憶領域９１は、後述の音楽検索処理（図９〜図１０参照）において階名列についてユーザから入力される文字列（以下、入力階名文字列とする）を記憶するようになっている。
【００４０】
移調番号記憶領域９２は、後述の音楽検索処理（図９〜図１０参照）において階名列としての検索対象文字列が半音分ずつ移調される場合に、当該移調の回数が移調番号「ｔ」の値として記憶されるようになっている。
【００４１】
階名列記憶領域９３は、後述の音楽検索処理（図９〜図１０参照）において検索対象文字列から抽出される３文字階名列を、抽出順に複数記憶するようになっている。
【００４２】
第１検索楽曲記憶領域９４，第２検索楽曲記憶領域９５，第３検索楽曲記憶領域９６は、後述の音楽検索処理（図９〜図１０参照）において検索される楽曲情報８３４の曲番号などを記憶するようになっている。より詳細には、このうち、第１検索楽曲記憶領域９４は、図８に示すように、検索過程で検出される楽曲情報８３４の曲番号などを記憶するようになっている。また、第２検索楽曲記憶領域９５は、階名列についての検索対象文字列がそのままの状態で楽曲階名文字列８３１に含まれる楽曲情報８３４、つまり検索対象文字列と楽曲階名文字列８３１内の文字列とが完全一致する楽曲情報８３４の曲番号などを記憶するようになっている。また、第３検索楽曲記憶領域９６は、階名列についての検索対象文字列が一部置換された状態で楽曲階名文字列８３１に含まれる楽曲情報８３４、つまり検索対象文字列と楽曲階名文字列８３１内の文字列とが曖昧一致（部分一致）する楽曲情報８３４の曲番号などを記憶するようになっている。
【００４３】
ＣＰＵ２０は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送等を行い、電子辞書１を統括的に制御するようになっている。具体的には、ＣＰＵ２０は、入力部３０から入力される操作信号等に応じてフラッシュＲＯＭ８０に格納された各種プログラムを読み出し、当該プログラムに従って処理を実行する。そして、ＣＰＵ２０は、処理結果をＲＡＭ９０に保存するとともに、当該処理結果を表示部４０や音声出力部５０に適宜出力させる。
【００４４】
［動作］
続いて、電子辞書１の動作について、図９〜図１２を参照しつつ説明する。
【００４５】
（音楽検索処理）
図９〜図１０は、ＣＰＵ２０が曲検索プログラム８１を読み出して実行する音楽検索処理の流れを示すフローチャートである。また、図１１〜図１２は、音楽検索処理の実行時における表示部４０の表示内容を示す図である。
【００４６】
図９に示すように、この音楽検索処理においてまずＣＰＵ２０は、楽曲の階名列を用いて検索する旨のユーザ操作が行われるか否かを判定する（ステップＳ１）。より具体的には、このステップＳ１においてＣＰＵ２０は、図１１の上段に示すように、メインディスプレイ１０に「作曲家名から探す」，「楽曲名から探す」，「階名から探す」の選択メニューそれぞれについて入力欄を表示させ、「階名から探す」の入力欄に文字列が入力されるか否かに基づいて、階名列を用いて検索する旨の操作が行われるか否かを判定するようになっている。
【００４７】
そして、このステップＳ１において階名列を用いて検索する旨のユーザ操作が行われないと判定した場合（ステップＳ１；Ｎｏ）には、ＣＰＵ２０は、他の処理へ移行する。
【００４８】
一方、ステップＳ１において楽曲の階名列を用いて検索する旨のユーザ操作が行われたと判定した場合（ステップＳ１；Ｙｅｓ）には、ＣＰＵ２０は、階名列を示す入力階名文字列がユーザにより入力されるか否かを判定し（ステップＳ２）、入力されないと判定した場合（ステップＳ２；Ｎｏ）には、当該ステップＳ２を繰り返す。
【００４９】
なお、本実施の形態においては、このステップＳ２においてユーザは任意の調での階名列を文字列として入力することができるが、この階名列は以下の処理において固定ド唱法での階名列として認識される。また、このステップＳ２で入力される入力階名文字列では、変化記号「♯」，「♭」が省略されており、幹音の階名列を示すようになっている。また、このステップＳ２においてユーザは、複数の入力階名文字列を入力し、ＡＮＤ条件を満たす楽曲を検索させても良い。更に、このステップＳ２においてユーザは、図１１の中段，下段に示すように、入力階名文字列を文字キー２ｃから入力しても良いし、図１２（ａ）に示すように、メインディスプレイ１０やサブディスプレイ１１にソフトキーとして表示される鍵盤から入力しても良い。
【００５０】
そして、ステップＳ２において入力階名文字列が入力されたと判定した場合（ステップＳ２；Ｙｅｓ）には、ＣＰＵ２０は、当該入力階名文字列を入力階名文字列記憶領域９１に記憶させるとともに、移調番号記憶領域９２に記憶される移調番号「ｔ」を「０」に設定した後（ステップＳ３）、入力階名文字列を検索対象文字列として設定する（ステップＳ４）。
【００５１】
次に、ＣＰＵ２０は、階名検索処理を行う（ステップＳ５）。なお、この階名検索処理においてＣＰＵ２０は、３グラム法（トライグラム法、３文字インデックス法）を用いて音楽事典の辞書データベース８２０ｂにおける楽曲階名文字列８３１の全文検索を行うようになっている。
【００５２】
具体的には、図１０に示すように、この階名検索処理においてまずＣＰＵ２０は、検索対象文字列の先頭から１文字ずつシフトしながら３文字階名列を順に抽出し、各３文字階名列を抽出順に従って階名列記憶領域９３に記憶させる（ステップＴ１）。より詳細には、例えば検索対象文字列が「ドソドソドソドミソ」である場合には、ＣＰＵ２０は、文字列の先頭文字「ド」から連続する３文字「ドソド」と、文字列の２番目の文字「ソ」から連続する３文字「ソドソ」と、３番目の文字「ド」から連続する３文字「ドソド」と、４番目の文字「ソ」から連続する３文字「ソドソ」と、５番目の文字「ド」から連続する３文字「ドソド」と、６番目の文字「ソ」から連続する３文字「ソドミ」と、７番目の文字「ド」から連続する３文字「ドミソ」とを３文字階名列として抽出する。
【００５３】
なお、以下の説明においては、ステップＴ１で抽出される３文字階名列の個数を「Ｎ」個とする。この「Ｎ」の値はＮ＝（検索対象文字列の文字数）−２で表される。
【００５４】
次に、ＣＰＵ２０は、「Ｎ」個の３文字階名列の何れかを指定するための変数「ｎ」に「１」を代入した後（ステップＴ２）、階名列記憶領域９３から「ｎ」番目の３文字階名列を読み出し、この３文字階名列を楽曲階名文字列８３１内に含む楽曲情報８３４の曲番号を、インデックステーブル８４Ａ，８４Ｂを用いて検索する（ステップＴ３）。
【００５５】
次に、ＣＰＵ２０は、楽曲情報８３４が検出されたか否かに基づいて、「ｎ」番目の３文字階名列に対応する楽曲情報８３４が存在するか否かを判定する（ステップＴ４）。
【００５６】
このステップＴ４において「ｎ」番目の３文字階名列に対応する楽曲情報８３４が存在しないと判定した場合（ステップＴ４；Ｎｏ）には、ＣＰＵ２０は、検索対象文字列に対応する楽曲が存在しない旨を第２検索楽曲記憶領域９５に記憶させた後（ステップＴ９）、階名検索処理を終了する。
【００５７】
また、ステップＴ４において「ｎ」番目の３文字階名列に対応する楽曲情報８３４が存在すると判定した場合（ステップＴ４；Ｙｅｓ）には、ＣＰＵ２０は、図８に示すように、この楽曲情報８３４の曲番号を変数「ｎ」の値及び「ｎ」番目の３文字階名列と対応付けて第１検索楽曲記憶領域９４に記憶させる（ステップＴ５）。なお、図８では、検索対象文字列「ソレソレドレソ…」から３文字階名列「ソレソ」，「レソレ」，「ドレド」，…が抽出された場合に第１検索楽曲記憶領域９４に記憶される内容を例示している。
【００５８】
次に、ＣＰＵ２０は、変数「ｎ」＝「Ｎ」であるか否か、つまり変数「ｎ」が最大値になっているか否かを判定する（ステップＴ６）。
【００５９】
このステップＴ６において変数「ｎ」＝「Ｎ」でないと判定した場合（ステップＴ６；Ｎｏ）には、ＣＰＵ２０は、変数「ｎ」の値を「１」増加した後（ステップＴ７）、上述のステップＴ３に移行する。
【００６０】
また、ステップＴ６において変数「ｎ」＝「Ｎ」であると判定した場合（ステップＴ６；Ｙｅｓ）には、ＣＰＵ２０は、変数「ｎ」の各値に対応付けて第１検索楽曲記憶領域９４に記憶された曲番号から、ＡＮＤ条件を満たす曲番号、つまり変数「ｎ」の各値に共通する曲番号を抽出する（ステップＴ１１）。これにより、例えば上述の図８に示す内容が第１検索楽曲記憶領域９４に記憶されている場合には、変数「ｎ」の各値に共通する曲番号として「００１５」（曲名：「アイネ・クライネ・ナハトムジーク」）等が抽出される。
【００６１】
次に、ＣＰＵ２０は、変数「ｎ」の各値に共通する曲番号が抽出されたか否かを判定し（ステップＴ１２）、抽出されないと判定した場合（ステップＴ１２；Ｎｏ）には、上述のステップＴ９に移行する。
【００６２】
また、ステップＴ１２において変数「ｎ」の各値に共通する曲番号が抽出されたと判定した場合（ステップＴ１２；Ｙｅｓ）には、ＣＰＵ２０は、抽出された曲番号の楽曲情報８３４から楽曲階名文字列８３１を読み出し、当該楽曲階名文字列８３１内で検索対象文字列を検索する（ステップＴ１３）。
【００６３】
次に、ＣＰＵ２０は、検索対象文字列が連続した状態で楽曲階名文字列８３１に含まれる楽曲情報８３４があるか否かを判定し（ステップＴ１４）、ないと判定した場合（ステップＴ１４；Ｎｏ）には、上述のステップＴ９に移行する。
【００６４】
また、ステップＴ１４において検索対象文字列が連続した状態で楽曲階名文字列８３１に含まれる楽曲情報８３４があると判定した場合（ステップＴ１４；Ｙｅｓ）には、ＣＰＵ２０は、該当の楽曲情報８３４を検索結果とし、その曲番号を第２検索楽曲記憶領域９５に記憶させ（ステップＴ１５）、階名検索処理を終了する。なお、このとき検索対象文字列が連続した状態で楽曲階名文字列８３１に含まれる楽曲情報８３４が複数存在する場合には、ＣＰＵ２０は、各楽曲情報８３４の曲番号を第２検索楽曲記憶領域９５に記憶させる。
【００６５】
以上の階名検索処理が終了したら、図９に示すように、次にＣＰＵ２０は、移調番号記憶領域９２に記憶された移調番号「ｔ」が「１４」であるか否か、つまり移調番号「ｔ」が最大値になっているか否かを判定し（ステップＳ６）、「１４」でないと判定した場合（ステップＳ６；Ｎｏ）には、移調番号記憶領域９２に記憶される移調番号「ｔ」の値に「１」を加算する（ステップＳ７）。
【００６６】
次に、ＣＰＵ２０は、入力階名文字列記憶領域９１に記憶された入力階名文字列で示される階名列を、移調テーブル８５において移調番号「ｔ」の値に対応付けられた調に移調し、移調後の階名列を示す文字列（以下、移調階名文字列とする）を生成して、この移調階名文字列を検索対象文字列に設定した後（ステップＳ８）、上述のステップＳ５に移行する。なお、このステップＳ８で生成される移調階名文字列では、変化記号「♯」，「♭」が省略されており、幹音の階名列を示すようになっている。
【００６７】
また、ステップＳ６において移調番号記憶領域９２に記憶された移調番号「ｔ」が「１４」であると判定した場合（ステップＳ６；Ｙｅｓ）には、ＣＰＵ２０は、移調番号「ｔ」を「０」に設定するとともに、入力階名文字列記憶領域９１に記憶された入力階名文字列を検索対象文字列に設定する（ステップＳ１１）。
【００６８】
次に、ＣＰＵ２０は、検索対象文字列における先頭の階名の文字を、当該検索対象文字列の調、つまり移調テーブル８５内で移調番号「ｔ」に対応付けられた調において、当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して置換階名文字列を生成し、この置換階名文字列を検索対象文字列に設定し直す（ステップＳ１２）。但し、このステップＳ１２で生成される置換階名文字列では、変化記号「♯」，「♭」が省略されており、幹音の階名列を示すようになっている。
【００６９】
次に、ＣＰＵ２０は、上述のステップＳ５と同様の階名検索処理を行う（ステップＳ１３）。但し、このステップＳ１３での階名検索処理においてＣＰＵ２０は、第２検索楽曲記憶領域９５の代わりに第３検索楽曲記憶領域９６を用いるようになっている。
【００７０】
次に、ＣＰＵ２０は、入力階名文字列における末尾の階名の文字が置換されたか否かを判定し（ステップＳ１４）、置換されていないと判定した場合（ステップＳ１４；Ｎｏ）には、入力階名文字列記憶領域９１に記憶された入力階名文字列における各文字のうち、上述のステップＳ１２及び当該ステップＳ１５によって未だ置換されていない最も先頭側の階名の文字を、検索対象文字列の調、つまり移調テーブル８５内で移調番号「ｔ」に対応付けられた調において、当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して置換階名文字列を生成し、この置換階名文字列を検索対象文字列に設定した後（ステップＳ１５）、上述のステップＳ１３に移行する。但し、このステップＳ１５で生成される置換階名文字列では、変化記号「♯」，「♭」が省略されており、幹音の階名列を示すようになっている。
【００７１】
そして、上述のステップＳ１３〜Ｓ１５を繰り返すことにより、ステップＳ１４において入力階名文字列における末尾の階名の文字が置換されたと判定した場合（ステップＳ１４；Ｙｅｓ）には、ＣＰＵ２０は移調番号記憶領域９２に記憶された移調番号「ｔ」が「１４」であるか否か、つまり移調番号「ｔ」が最大値になっているか否かを判定し（ステップＳ１６）、「１４」でないと判定した場合（ステップＳ１６；Ｎｏ）には、移調番号記憶領域９２に記憶される移調番号「ｔ」の値に「１」を加算する（ステップＳ１７）。
【００７２】
次に、ＣＰＵ２０は、入力階名文字列記憶領域９１に記憶された入力階名文字列で示される階名列を、移調テーブル８５において移調番号「ｔ」の値に対応付けられた調に移調して移調階名文字列を生成し、この移調階名文字列を検索対象文字列に設定した後（ステップＳ１８）、上述のステップＳ１２に移行する。但し、このステップＳ１８で生成される移調階名文字列では、変化記号「♯」，「♭」が省略されており、幹音の階名列を示すようになっている。
【００７３】
また、ステップＳ１６において移調番号記憶領域９２に記憶された移調番号「ｔ」が「１４」であると判定した場合（ステップＳ１６；Ｙｅｓ）には、ＣＰＵ２０は、第２検索楽曲記憶領域９５及び第３検索楽曲記憶領域９６の少なくとも一方に曲番号が記憶されているか否かに基づいて、入力階名文字列に対応する楽曲が存在したか否かを判定する（ステップＳ２１）。
【００７４】
そして、このステップＳ２１において入力階名文字列に対応する楽曲が存在しないと判定した場合（ステップＳ２１；Ｎｏ）には、ＣＰＵ２０は、その旨をメインディスプレイ１０に表示させた後、上述のステップＳ１に移行する。
【００７５】
また、ステップＳ２１において入力階名文字列に対応する楽曲が存在したと判定した場合（ステップＳ２１；Ｙｅｓ）には、ＣＰＵ２０は、当該楽曲の曲番号に対応する各楽曲情報８３４から曲名を読み出してメインディスプレイ１０に一覧表示させる（ステップＳ２２）。より詳細には、このときＣＰＵ２０は、第２検索楽曲記憶領域９５に記憶された曲番号に対応する曲名を、第３検索楽曲記憶領域９６に記憶された曲番号に対応する曲名よりも上位に表示させるようになっている。
【００７６】
次に、ＣＰＵ２０は、ユーザから何れかの曲名の楽曲について再生指示がされるか否かを判定し（ステップＳ２３）、されないと判定した場合（ステップＳ２３；Ｎｏ）には、他の処理へ移行する。
【００７７】
また、ステップＳ２３において何れかの曲名の楽曲について再生指示がされたと判定した場合（ステップＳ２３；Ｙｅｓ）には、ＣＰＵ２０は、ユーザに指定された楽曲の楽曲データ８３３を音声出力部５０に出力させるとともに、図１２（ｂ）に示すように、当該楽曲の説明情報をメインディスプレイ１０に全画面表示させ（ステップＳ２４）、音楽検索処理を終了する。
【００７８】
（動作例）
続いて、図１３を参照しつつ、上記の音楽検索処理を具体的に説明する。なお、以下の各動作例においては、ユーザが「アイネ・クライネ・ナハトムジーク」を階名列から検索するものとして説明する。
【００７９】
＜動作例１＞
まず、図１３における「例１」に示すように、ユーザが入力階名文字列「ソレソレ」及び「ドラドラ」を入力すると（ステップＳ２）、これらが検索対象文字列として設定された後（ステップＳ４）、検索対象文字列「ソレソレ」から３文字階名列「ソレソ」，「レソレ」が抽出されるとともに、検索対象文字列「ドラドラ」から３文字階名列「ドラド」，「ラドラ」が抽出される（ステップＴ１）。
【００８０】
次に、３文字階名列「ソレソ」，「レソレ」，「ドラド」，「ラドラ」を楽曲階名文字列８３１に含む楽曲情報８３４の曲番号として「００１５」（曲名：「アイネ・クライネ・ナハトムジーク」）などが検出される（ステップＴ３，Ｔ１１）。
【００８１】
次に、検索対象文字列「ソレソレ」及び「ドラドラ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列８３１に含まれると判定され（ステップＴ１４；Ｙｅｓ）、その曲番号「００１５」が第２検索楽曲記憶領域９５に記憶される（ステップＴ１５）。
【００８２】
そして、曲番号「００１５」等に対応する楽曲情報８３４から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ１０に一覧表示される（ステップＳ２２）。
【００８３】
以上の動作例１によれば、２つの入力階名文字列「ソレソレ」，「ドラドラ」を入力することにより、これらの入力階名文字列「ソレソレ」，「ドラドラ」についてＡＮＤ条件を満たす楽曲情報８３４が検索されることが分かる。
【００８４】
＜動作例２＞
まず、図１３における「例２」に示すように、ユーザが入力階名文字列「ドラドラドラフ」を入力すると（ステップＳ２）、この入力階名文字列「ドラドラドラフ」が検索対象文字列として設定された後（ステップＳ４）、３文字階名列「ドラド」，「ラドラ」，「ドラド」，「ラドラ」，「ドラフ」が抽出される（ステップＴ１）。
【００８５】
次に、３文字階名列「ドラド」，「ラドラ」，「ドラド」，「ラドラ」，「ドラフ」を楽曲階名文字列８３１に含む楽曲情報８３４の曲番号として「００１５」（曲名：「アイネ・クライネ・ナハトムジーク」）などが検出される（ステップＴ３，Ｔ１１）。
【００８６】
次に、検索対象文字列「ドラドラドラフ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列８３１に含まれると判定され（ステップＴ１４；Ｙｅｓ）、その曲番号「００１５」が第２検索楽曲記憶領域９５に記憶される（ステップＴ１５）。
【００８７】
そして、曲番号「００１５」等に対応する楽曲情報８３４から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ１０に一覧表示される（ステップＳ２２）。
【００８８】
以上の動作例２によれば、ト長調(Gメジャー)であるために本来であれば階名「フ」に変化記号「♯」が付くべき楽曲であっても、変化記号を省略して入力階名文字列を入力することにより、当該楽曲が検索されることが分かる。
【００８９】
＜動作例３＞
まず、図１３における「例３」に示すように、ユーザが入力階名文字列「ドドミレドドシシ」を入力すると（ステップＳ２）、ステップＳ５〜Ｓ８の処理が複数回繰り返された後、入力階名文字列で示される階名列「ドドミレドドシシ」が移調番号「ｔ＝７」の調（ト長調）に移調されて移調階名文字列「ソソシラソソフフ」が生成され、検索対象文字列として設定される（ステップＳ８）。
【００９０】
次に、３文字階名列「ソソシ」，「ソシラ」，「シラソ」，「ラソソ」，「ソソフ」，「ソフフ」が抽出され（ステップＴ１）、３文字階名列「ソソシ」，「ソシラ」，「シラソ」，「ラソソ」，「ソソフ」，「ソフフ」を楽曲階名文字列８３１に含む楽曲情報８３４の曲番号として「００１５」（曲名：「アイネ・クライネ・ナハトムジーク」）などが検出される（ステップＴ３，Ｔ１１）。
【００９１】
次に、検索対象文字列「ソソシラソソフフ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列８３１に含まれると判定され（ステップＴ１４；Ｙｅｓ）、その曲番号「００１５」が第２検索楽曲記憶領域９５に記憶される（ステップＴ１５）。
【００９２】
そして、曲番号「００１５」等に対応する楽曲情報８３４から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ１０に一覧表示される（ステップＳ２２）。
【００９３】
以上の動作例３によれば、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲が検索されることが分かる。
【００９４】
以上の電子辞書１によれば、図９のステップＳ３〜Ｓ８や図１３の例１，例３などに示したように、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列８３１とを対応付けた楽曲情報８３４が複数種類記憶され、ユーザ操作に基づいて所定の調での階名列を示す文字列が入力階名文字列として入力されると、入力階名文字列で示される階名列が移調されて、移調後の階名列を示す移調階名文字列が生成され、複数種類の楽曲情報８３４から、楽曲階名文字列８３１内に入力階名文字列，移調階名文字列を含む楽曲情報８３４が検索され、検索された楽曲情報８３４の曲名が表示されるので、階名列をキー入力して楽曲検索することができる。また、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲を検索することができる。従って、階名列をキー入力して確実に楽曲を検索することができる。
【００９５】
また、図９のステップＳ１２〜Ｓ１５等に示したように、入力階名文字列における何れか一つの階名の文字が前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換されて置換階名文字列が生成されるとともに、移調階名文字列における何れか一つの階名の文字が当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換されて置換階名文字列が生成され、複数種類の楽曲情報８３４から、楽曲階名文字列８３１内にこれらの置換階名文字列を含む楽曲情報８３４が検索されるので、入力階名文字列の階名が半音分ずれている場合であっても、楽曲を検索することができる。従って、階名列についての記憶が曖昧な場合であっても、楽曲の検索を行うことができる。
【００９６】
また、図１３の例２などに示したように、楽曲階名文字列８３１、入力階名文字列、移調階名文字列及び置換名文字列は幹音の階名列を示すので、変化記号を含んだ階名列を示す場合と比較して、処理を簡略化することができる。また、入力階名文字列として幹音の階名列を入力すれば良いので、入力階名文字列の入力を容易化することができる。
【００９７】
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００９８】
例えば、本発明に係る曲検索装置を電子辞書１として説明したが、本発明が適用可能なものは、このような製品に限定されず、携帯電話、パソコン、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ゲーム機などの電子機器全般に適用可能である。また、本発明に係る曲検索プログラム８１は、電子辞書１に対して着脱可能なメモリカード、ＣＤ等に記憶されることとしてもよい。
【符号の説明】
【００９９】
１      電子辞書
２０    ＣＰＵ
３０    入力部
４０    表示部
８１    曲検索プログラム
８２０  辞書データベース
【図１】
2012037950.tif 000003
【図２】
2012037950.tif 000004
【図３】
2012037950.tif 000005
【図４】
2012037950.tif 000006
【図５】
2012037950.tif 000007
【図６】
2012037950.tif 000008
【図７】
2012037950.tif 000009
【図８】
2012037950.tif 000010
【図９】
2012037950.tif 000011
【図１０】
2012037950.tif 000012
【図１１】
2012037950.tif 000013
【図１２】
2012037950.tif 000014
【図１３】
2012037950.tif 000015