曲検索装置及び曲検索プログラム
【課題】階名列をキー入力して確実に楽曲を検索する。
【解決手段】電子辞書1は、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶するフラッシュROM80と、ユーザ操作に基づいて、所定の調での階名列を示す文字列を入力階名文字列として入力する入力部30と、複数種類の楽曲情報から、楽曲階名文字列内に入力階名文字列を含む楽曲情報を検索するCPU20とを備える。CPU20は、入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成し、複数種類の楽曲情報から、楽曲階名文字列内に移調階名文字列を含む楽曲情報を検索する。そして、CPU20は、検索された楽曲情報の曲名を表示させる。
【解決手段】電子辞書1は、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶するフラッシュROM80と、ユーザ操作に基づいて、所定の調での階名列を示す文字列を入力階名文字列として入力する入力部30と、複数種類の楽曲情報から、楽曲階名文字列内に入力階名文字列を含む楽曲情報を検索するCPU20とを備える。CPU20は、入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成し、複数種類の楽曲情報から、楽曲階名文字列内に移調階名文字列を含む楽曲情報を検索する。そして、CPU20は、検索された楽曲情報の曲名を表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、曲検索装置及び曲検索プログラムに関する。
【背景技術】
【0002】
従来から、辞書機能を有する電子辞書などの電子機器においては、百科事典の辞書データベースから作曲家名や楽曲名を検索キーとして楽曲を検索し、楽曲にまつわるテキストを表示させたり、楽曲を再生させたりすることが可能となっている。
【0003】
但し、このような検索を行う場合には、ユーザが作曲家名や楽曲名を覚えていて、これらを検索文字列として入力する必要がある。
【0004】
そのため、近年の電子機器では、楽曲の階名列を予め記憶しておき、マイクを介してユーザから入力される音声をフーリエ変換して階名列を検出し、検出された階名列に完全一致するメロディーの楽曲を検索するようになっている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−121556号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1記載の技術では、階名列をキー入力して楽曲検索することはできない。この点、階名列をキー入力して楽曲検索を行うことを意図して、単純に楽曲の階名列を文字列として予め記憶させておいたとしても、入力した階名列の調と、楽曲の調とが一致していない場合には、入力階名列の文字列と、楽曲の階名列の文字列とは同じメロディーを表現していても、異なる文字列となってしまうため、所望の楽曲が検索されない。
【0007】
本発明の課題は、階名列をキー入力して確実に楽曲を検索することのできる曲検索装置及び曲検索プログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1記載の発明は、曲検索装置において、
表示手段と、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶手段と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索手段と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索手段と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御手段と、
を備えることを特徴とする。
【0009】
請求項2記載の発明は、請求項1記載の曲検索装置において、
各階名の音を出力可能な音出力手段を備え、
前記楽曲情報は、
楽曲を再生するための楽曲データを有しており、
前記検索結果出力制御手段は、
ユーザ操作に基づいて、前記検索楽曲情報の前記楽曲データを前記音出力手段に出力させることを特徴とする。
【0010】
請求項3記載の発明は、請求項1または2記載の曲検索装置において、
前記入力階名文字列における何れか一つの階名の文字を、前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換階名文字列を生成する一音置換階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換楽曲検索手段と、
前記移調階名文字列における何れか一つの階名の文字を、当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換移調階名文字列を生成する一音置換移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換移調楽曲検索手段と、
を備えることを特徴とする。
【0011】
請求項4記載の発明は、請求項3記載の曲検索装置において、
前記楽曲階名文字列、前記入力階名文字列、前記移調階名文字列、前記一音置換階名文字列及び前記一音置換移調階名文字列は、幹音の階名列を示すことを特徴とする。
【0012】
請求項5記載の発明は、曲検索プログラムにおいて、
表示手段を有するコンピュータに、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶機能と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索機能と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索機能と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御機能と、
を実現させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報が複数種類記憶され、ユーザ操作に基づいて所定の調での階名列を示す文字列が入力階名文字列として入力されると、入力階名文字列で示される階名列が移調されて、移調後の階名列を示す移調階名文字列が生成され、複数種類の楽曲情報から、楽曲階名文字列内に入力階名文字列,移調階名文字列を含む楽曲情報が検索楽曲情報として検索され、検索楽曲情報の曲名が表示されるので、階名列をキー入力して楽曲検索することができる。また、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲を検索することができる。従って、階名列をキー入力して確実に楽曲を検索することができる。なお入力した階名列の調と楽曲の調とが一致しない例としては、高音の得意な女性ユーザが曲の調を高い調に移調して階名列をキー入力する場合や、同じ調の曲で固定ド読みを移動ド読みにしてキー入力する場合があるが、いずれにおいても確実に楽曲を検索することができる。
【図面の簡単な説明】
【0014】
【図1】電子辞書の概観を示す平面図である。
【図2】電子辞書の内部構成を示すブロック図である。
【図3】(a)は通常の辞書データベースのデータ構造を示す図であり、(b)は音楽事典の辞書データベースのデータ構造を示す図である。
【図4】楽曲階名文字列及び検索インデックスを示す図である。
【図5】アイネ・クライネ・ナハトムジークの楽譜を示す図である。
【図6】インデックステーブルを示す図である。
【図7】移調テーブルを示す図である。
【図8】第1検索楽曲記憶領域のデータ構造を示す図である。
【図9】音楽検索処理を示すフローチャートである。
【図10】階名検索処理を示すフローチャートである。
【図11】表示部の表示内容を示す図である。
【図12】表示部の表示内容を示す図である。
【図13】音楽検索処理の動作例を説明するための図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明に係る曲検索装置を電子辞書に適用した場合の実施形態について詳細に説明する。
【0016】
[外観構成]
図1は、電子辞書1の平面図である。
この図に示すように、電子辞書1は、メインディスプレイ10、サブディスプレイ11、スピーカ12及びキー群2を備えている。
【0017】
メインディスプレイ10及びサブディスプレイ11は、ユーザによるキー群2の操作に応じた文字や符号等、各種データをカラーで表示する部分であり、LCD(Liquid Crystal Display)やELD(Electronic Luminescence Display)等によって構成されている。なお、本実施の形態におけるメインディスプレイ10及びサブディスプレイ11は、いわゆるタッチパネル110(図2参照)と一体的に形成されており、手書き入力等の操作を受け付け可能となっている。
【0018】
スピーカ12は、ユーザによるキー群2の操作に応じた音声を出力する部分であり、本実施の形態においては、少なくとも2オクターブにおける各音階の音を出力するようになっている。
【0019】
キー群2は、ユーザから電子辞書1を操作するための操作を受ける各種キーを有している。具体的には、キー群2は、訳/決定キー2bと、文字キー2cと、辞書選択キー2dと、カーソルキー2eと、シフトキー2fと、戻るキー2g等とを有している。
【0020】
訳/決定キー2bは、検索の実行や、見出し語の決定等に使用されるキーである。文字キー2cは、ユーザによる文字の入力等に使用されるキーであり、本実施の形態においては“A”〜“Z”キーを備えている。辞書選択キー2dは、後述の辞書データベース820,…(図2参照)の選択に使用されるキーである。
【0021】
カーソルキー2eは、画面内の反転表示位置、つまりカーソル位置の移動等に使用されるキーであり、本実施の形態においては上下左右の方向を指定可能となっている。シフトキー2fは、日本語の単語を検索対象に設定するとき等に使用されるキーである。戻るキー2gは、前回表示した画面に戻るとき等に使用されるキーである。
【0022】
[内部構成]
続いて、電子辞書1の内部構造について説明する。図2は、電子辞書1の内部構成を示すブロック図である。
【0023】
この図に示すように、電子辞書1は、表示部40、入力部30、音声出力部50、CPU(Central Processing Unit)20、フラッシュROM(Read Only Memory)80、RAM(Random Access Memory)90を備え、各部はバスで相互にデータ通信可能に接続されて構成されている。
【0024】
表示部40は、上述のメインディスプレイ10及びサブディスプレイ11を備えており、CPU20から入力される表示信号に基づいて各種情報をメインディスプレイ10やサブディスプレイ11に表示するようになっている。
【0025】
入力部30は、上述のキー群2やタッチパネル110を備えており、押下されたキーやタッチパネル110の位置に対応する信号をCPU20に出力するようになっている。
【0026】
音声出力部50は、上述のスピーカ12を備えており、CPU20から入力される音声出力信号に基づいてオーディオデータをスピーカ12に再生させるようになっている。
【0027】
フラッシュROM80は、電子辞書1の各種機能を実現するためのプログラムやデータを記憶するメモリである。本実施の形態においては、フラッシュROM80は、本発明に係る曲検索プログラム81と、辞書データベース群82と、インデックステーブル84A,84Bと、移調テーブル85とを記憶している。
【0028】
曲検索プログラム81は、後述の音楽検索処理(図9〜図10参照)をCPU20に実行させるためのプログラムである。
【0029】
辞書データベース群82は、辞書データベース820を複数有しており、本実施の形態においては、英和辞書の辞書データベース820aや、音楽事典の辞書データベース820b等を有している。
【0030】
これら辞書データベース820,…には、例えば図3(a)に1例を示すように、見出し語と、この見出し語の説明情報とを対応付けた見出し語情報が複数格納されている。
【0031】
また、特に音楽事典の辞書データベース820bでは、例えば図3(b)に1例を示すように、曲名の見出し語と、この曲名の説明情報と、この楽曲の階名列を示す楽曲階名文字列831及び検索インデックス832と、この楽曲を再生するための楽曲データ833とを対応付けた楽曲情報834が見出し語情報として複数格納されている。例えば、各楽曲情報834には、それぞれ固有の曲番号が対応付けられており、例えば曲名「アイネ・クライネ・ナハトムジーク」の楽曲情報834には曲番号「0015」が対応付けられている。なお、音楽の文献では移動ドで読むものを階名唱、固定ドで読むものを音名唱とするものもあるが、本実施例では説明上、移動ド読みも固定ド読みも「階名」と表現した。
【0032】
ここで、本実施の形態における楽曲階名文字列831では、例えば図4の上段に示すように、変化記号「♯」,「♭」が省略されることで幹音の階名列を示すようになっており、更に、階名「ファ」が「フ」で表されることで各階名が1文字で表現されるようになっている。なお、図4の上段では、説明の便宜上、省略された変化記号を括弧書きで図示している。また、幹音とは、自然音や本位音、natural toneとも称される音であり、変化記号(♯、♭)を付けずに書き表せる音である。また、この図では、曲名「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831における先頭部分を示しており、より詳細には、図5に示す楽譜の1段目部分の階名文字列と、2段目部分の階名文字列とを示している。
【0033】
また、本実施の形態における検索インデックス832は、図4の下段に示すように、楽曲階名文字列831の先頭から1文字ずつシフトしながら3文字の階名列(以下、3文字階名列とする)を順に抽出し、抽出順に並べたものである。
【0034】
また、本実施の形態における楽曲データ833は、楽曲の演奏を録音したオーディオデータとなっているが、MIDI楽器に演奏を指示するMIDIデータとしても良い。
【0035】
インデックステーブル84A,84Bは、図6に示すように、3文字の階名列(以下、3文字階名列とする)の各組み合わせに対し、当該3文字階名列を楽曲階名文字列831内に含む楽曲情報834を対応付けている。
【0036】
より詳細には、インデックステーブル84Aは、階名列順にソートされた3文字階名列それぞれに対し、インデックステーブル84Bにおけるデータ格納アドレスを対応付けて記憶している。また、インデックステーブル84Bは、当該インデックステーブル84Bにおけるデータ格納アドレスそれぞれに対し、楽曲情報834の曲番号を対応付けて記憶している。なお、本実施の形態においては、インデックステーブル84Bにおけるデータ格納アドレスは所定の順序で順序付けされるとともに固定長となっており、所望のアドレスを2分岐法によって検出可能となっている。また、楽曲情報834の曲番号は、HEXデータとなっている。インデックステーブル84Bにおいて各データ格納アドレスに対応付けられるデータ長、つまり曲番号の個数は、該当の3文字階名列を含む曲の数に応じて変化するが、次順のデータ格納アドレス(次順の3文字階名列に対応するデータ格納アドレス)を参照すれば算出可能となっている。
【0037】
移調テーブル85は、図7に示すように、鍵盤の階名列を半音分ずつ移調させた場合での各調における階名列と、移調の回数(本実施の形態においては0回〜14回)とを対応付けて記憶している。例えば、本実施の形態における移調テーブル85では、基準となる階名列として、固定ドの階名列(ド,ド♯,レ,レ♯,ミ,ファ,ファ♯,ソ,ソ♯,ラ,ラ♯,シ,ド)を記憶し、この階名列を1回移調した階名列として嬰ハ長調の階名列を記憶している。但し、移調テーブル85における各階名列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0038】
RAM90は、CPU20が実行する各種プログラムや、これらプログラムの実行に係るデータ等を一時的に保持するメモリ領域を備えており、本実施の形態においては、入力階名文字列記憶領域91と、移調番号記憶領域92と、階名列記憶領域93と、第1検索楽曲記憶領域94と、第2検索楽曲記憶領域95と、第3検索楽曲記憶領域96等とを有している。
【0039】
このうち、入力階名文字列記憶領域91は、後述の音楽検索処理(図9〜図10参照)において階名列についてユーザから入力される文字列(以下、入力階名文字列とする)を記憶するようになっている。
【0040】
移調番号記憶領域92は、後述の音楽検索処理(図9〜図10参照)において階名列としての検索対象文字列が半音分ずつ移調される場合に、当該移調の回数が移調番号「t」の値として記憶されるようになっている。
【0041】
階名列記憶領域93は、後述の音楽検索処理(図9〜図10参照)において検索対象文字列から抽出される3文字階名列を、抽出順に複数記憶するようになっている。
【0042】
第1検索楽曲記憶領域94,第2検索楽曲記憶領域95,第3検索楽曲記憶領域96は、後述の音楽検索処理(図9〜図10参照)において検索される楽曲情報834の曲番号などを記憶するようになっている。より詳細には、このうち、第1検索楽曲記憶領域94は、図8に示すように、検索過程で検出される楽曲情報834の曲番号などを記憶するようになっている。また、第2検索楽曲記憶領域95は、階名列についての検索対象文字列がそのままの状態で楽曲階名文字列831に含まれる楽曲情報834、つまり検索対象文字列と楽曲階名文字列831内の文字列とが完全一致する楽曲情報834の曲番号などを記憶するようになっている。また、第3検索楽曲記憶領域96は、階名列についての検索対象文字列が一部置換された状態で楽曲階名文字列831に含まれる楽曲情報834、つまり検索対象文字列と楽曲階名文字列831内の文字列とが曖昧一致(部分一致)する楽曲情報834の曲番号などを記憶するようになっている。
【0043】
CPU20は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送等を行い、電子辞書1を統括的に制御するようになっている。具体的には、CPU20は、入力部30から入力される操作信号等に応じてフラッシュROM80に格納された各種プログラムを読み出し、当該プログラムに従って処理を実行する。そして、CPU20は、処理結果をRAM90に保存するとともに、当該処理結果を表示部40や音声出力部50に適宜出力させる。
【0044】
[動作]
続いて、電子辞書1の動作について、図9〜図12を参照しつつ説明する。
【0045】
(音楽検索処理)
図9〜図10は、CPU20が曲検索プログラム81を読み出して実行する音楽検索処理の流れを示すフローチャートである。また、図11〜図12は、音楽検索処理の実行時における表示部40の表示内容を示す図である。
【0046】
図9に示すように、この音楽検索処理においてまずCPU20は、楽曲の階名列を用いて検索する旨のユーザ操作が行われるか否かを判定する(ステップS1)。より具体的には、このステップS1においてCPU20は、図11の上段に示すように、メインディスプレイ10に「作曲家名から探す」,「楽曲名から探す」,「階名から探す」の選択メニューそれぞれについて入力欄を表示させ、「階名から探す」の入力欄に文字列が入力されるか否かに基づいて、階名列を用いて検索する旨の操作が行われるか否かを判定するようになっている。
【0047】
そして、このステップS1において階名列を用いて検索する旨のユーザ操作が行われないと判定した場合(ステップS1;No)には、CPU20は、他の処理へ移行する。
【0048】
一方、ステップS1において楽曲の階名列を用いて検索する旨のユーザ操作が行われたと判定した場合(ステップS1;Yes)には、CPU20は、階名列を示す入力階名文字列がユーザにより入力されるか否かを判定し(ステップS2)、入力されないと判定した場合(ステップS2;No)には、当該ステップS2を繰り返す。
【0049】
なお、本実施の形態においては、このステップS2においてユーザは任意の調での階名列を文字列として入力することができるが、この階名列は以下の処理において固定ド唱法での階名列として認識される。また、このステップS2で入力される入力階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。また、このステップS2においてユーザは、複数の入力階名文字列を入力し、AND条件を満たす楽曲を検索させても良い。更に、このステップS2においてユーザは、図11の中段,下段に示すように、入力階名文字列を文字キー2cから入力しても良いし、図12(a)に示すように、メインディスプレイ10やサブディスプレイ11にソフトキーとして表示される鍵盤から入力しても良い。
【0050】
そして、ステップS2において入力階名文字列が入力されたと判定した場合(ステップS2;Yes)には、CPU20は、当該入力階名文字列を入力階名文字列記憶領域91に記憶させるとともに、移調番号記憶領域92に記憶される移調番号「t」を「0」に設定した後(ステップS3)、入力階名文字列を検索対象文字列として設定する(ステップS4)。
【0051】
次に、CPU20は、階名検索処理を行う(ステップS5)。なお、この階名検索処理においてCPU20は、3グラム法(トライグラム法、3文字インデックス法)を用いて音楽事典の辞書データベース820bにおける楽曲階名文字列831の全文検索を行うようになっている。
【0052】
具体的には、図10に示すように、この階名検索処理においてまずCPU20は、検索対象文字列の先頭から1文字ずつシフトしながら3文字階名列を順に抽出し、各3文字階名列を抽出順に従って階名列記憶領域93に記憶させる(ステップT1)。より詳細には、例えば検索対象文字列が「ドソドソドソドミソ」である場合には、CPU20は、文字列の先頭文字「ド」から連続する3文字「ドソド」と、文字列の2番目の文字「ソ」から連続する3文字「ソドソ」と、3番目の文字「ド」から連続する3文字「ドソド」と、4番目の文字「ソ」から連続する3文字「ソドソ」と、5番目の文字「ド」から連続する3文字「ドソド」と、6番目の文字「ソ」から連続する3文字「ソドミ」と、7番目の文字「ド」から連続する3文字「ドミソ」とを3文字階名列として抽出する。
【0053】
なお、以下の説明においては、ステップT1で抽出される3文字階名列の個数を「N」個とする。この「N」の値はN=(検索対象文字列の文字数)−2で表される。
【0054】
次に、CPU20は、「N」個の3文字階名列の何れかを指定するための変数「n」に「1」を代入した後(ステップT2)、階名列記憶領域93から「n」番目の3文字階名列を読み出し、この3文字階名列を楽曲階名文字列831内に含む楽曲情報834の曲番号を、インデックステーブル84A,84Bを用いて検索する(ステップT3)。
【0055】
次に、CPU20は、楽曲情報834が検出されたか否かに基づいて、「n」番目の3文字階名列に対応する楽曲情報834が存在するか否かを判定する(ステップT4)。
【0056】
このステップT4において「n」番目の3文字階名列に対応する楽曲情報834が存在しないと判定した場合(ステップT4;No)には、CPU20は、検索対象文字列に対応する楽曲が存在しない旨を第2検索楽曲記憶領域95に記憶させた後(ステップT9)、階名検索処理を終了する。
【0057】
また、ステップT4において「n」番目の3文字階名列に対応する楽曲情報834が存在すると判定した場合(ステップT4;Yes)には、CPU20は、図8に示すように、この楽曲情報834の曲番号を変数「n」の値及び「n」番目の3文字階名列と対応付けて第1検索楽曲記憶領域94に記憶させる(ステップT5)。なお、図8では、検索対象文字列「ソレソレドレソ…」から3文字階名列「ソレソ」,「レソレ」,「ドレド」,…が抽出された場合に第1検索楽曲記憶領域94に記憶される内容を例示している。
【0058】
次に、CPU20は、変数「n」=「N」であるか否か、つまり変数「n」が最大値になっているか否かを判定する(ステップT6)。
【0059】
このステップT6において変数「n」=「N」でないと判定した場合(ステップT6;No)には、CPU20は、変数「n」の値を「1」増加した後(ステップT7)、上述のステップT3に移行する。
【0060】
また、ステップT6において変数「n」=「N」であると判定した場合(ステップT6;Yes)には、CPU20は、変数「n」の各値に対応付けて第1検索楽曲記憶領域94に記憶された曲番号から、AND条件を満たす曲番号、つまり変数「n」の各値に共通する曲番号を抽出する(ステップT11)。これにより、例えば上述の図8に示す内容が第1検索楽曲記憶領域94に記憶されている場合には、変数「n」の各値に共通する曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)等が抽出される。
【0061】
次に、CPU20は、変数「n」の各値に共通する曲番号が抽出されたか否かを判定し(ステップT12)、抽出されないと判定した場合(ステップT12;No)には、上述のステップT9に移行する。
【0062】
また、ステップT12において変数「n」の各値に共通する曲番号が抽出されたと判定した場合(ステップT12;Yes)には、CPU20は、抽出された曲番号の楽曲情報834から楽曲階名文字列831を読み出し、当該楽曲階名文字列831内で検索対象文字列を検索する(ステップT13)。
【0063】
次に、CPU20は、検索対象文字列が連続した状態で楽曲階名文字列831に含まれる楽曲情報834があるか否かを判定し(ステップT14)、ないと判定した場合(ステップT14;No)には、上述のステップT9に移行する。
【0064】
また、ステップT14において検索対象文字列が連続した状態で楽曲階名文字列831に含まれる楽曲情報834があると判定した場合(ステップT14;Yes)には、CPU20は、該当の楽曲情報834を検索結果とし、その曲番号を第2検索楽曲記憶領域95に記憶させ(ステップT15)、階名検索処理を終了する。なお、このとき検索対象文字列が連続した状態で楽曲階名文字列831に含まれる楽曲情報834が複数存在する場合には、CPU20は、各楽曲情報834の曲番号を第2検索楽曲記憶領域95に記憶させる。
【0065】
以上の階名検索処理が終了したら、図9に示すように、次にCPU20は、移調番号記憶領域92に記憶された移調番号「t」が「14」であるか否か、つまり移調番号「t」が最大値になっているか否かを判定し(ステップS6)、「14」でないと判定した場合(ステップS6;No)には、移調番号記憶領域92に記憶される移調番号「t」の値に「1」を加算する(ステップS7)。
【0066】
次に、CPU20は、入力階名文字列記憶領域91に記憶された入力階名文字列で示される階名列を、移調テーブル85において移調番号「t」の値に対応付けられた調に移調し、移調後の階名列を示す文字列(以下、移調階名文字列とする)を生成して、この移調階名文字列を検索対象文字列に設定した後(ステップS8)、上述のステップS5に移行する。なお、このステップS8で生成される移調階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0067】
また、ステップS6において移調番号記憶領域92に記憶された移調番号「t」が「14」であると判定した場合(ステップS6;Yes)には、CPU20は、移調番号「t」を「0」に設定するとともに、入力階名文字列記憶領域91に記憶された入力階名文字列を検索対象文字列に設定する(ステップS11)。
【0068】
次に、CPU20は、検索対象文字列における先頭の階名の文字を、当該検索対象文字列の調、つまり移調テーブル85内で移調番号「t」に対応付けられた調において、当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して置換階名文字列を生成し、この置換階名文字列を検索対象文字列に設定し直す(ステップS12)。但し、このステップS12で生成される置換階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0069】
次に、CPU20は、上述のステップS5と同様の階名検索処理を行う(ステップS13)。但し、このステップS13での階名検索処理においてCPU20は、第2検索楽曲記憶領域95の代わりに第3検索楽曲記憶領域96を用いるようになっている。
【0070】
次に、CPU20は、入力階名文字列における末尾の階名の文字が置換されたか否かを判定し(ステップS14)、置換されていないと判定した場合(ステップS14;No)には、入力階名文字列記憶領域91に記憶された入力階名文字列における各文字のうち、上述のステップS12及び当該ステップS15によって未だ置換されていない最も先頭側の階名の文字を、検索対象文字列の調、つまり移調テーブル85内で移調番号「t」に対応付けられた調において、当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して置換階名文字列を生成し、この置換階名文字列を検索対象文字列に設定した後(ステップS15)、上述のステップS13に移行する。但し、このステップS15で生成される置換階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0071】
そして、上述のステップS13〜S15を繰り返すことにより、ステップS14において入力階名文字列における末尾の階名の文字が置換されたと判定した場合(ステップS14;Yes)には、CPU20は移調番号記憶領域92に記憶された移調番号「t」が「14」であるか否か、つまり移調番号「t」が最大値になっているか否かを判定し(ステップS16)、「14」でないと判定した場合(ステップS16;No)には、移調番号記憶領域92に記憶される移調番号「t」の値に「1」を加算する(ステップS17)。
【0072】
次に、CPU20は、入力階名文字列記憶領域91に記憶された入力階名文字列で示される階名列を、移調テーブル85において移調番号「t」の値に対応付けられた調に移調して移調階名文字列を生成し、この移調階名文字列を検索対象文字列に設定した後(ステップS18)、上述のステップS12に移行する。但し、このステップS18で生成される移調階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0073】
また、ステップS16において移調番号記憶領域92に記憶された移調番号「t」が「14」であると判定した場合(ステップS16;Yes)には、CPU20は、第2検索楽曲記憶領域95及び第3検索楽曲記憶領域96の少なくとも一方に曲番号が記憶されているか否かに基づいて、入力階名文字列に対応する楽曲が存在したか否かを判定する(ステップS21)。
【0074】
そして、このステップS21において入力階名文字列に対応する楽曲が存在しないと判定した場合(ステップS21;No)には、CPU20は、その旨をメインディスプレイ10に表示させた後、上述のステップS1に移行する。
【0075】
また、ステップS21において入力階名文字列に対応する楽曲が存在したと判定した場合(ステップS21;Yes)には、CPU20は、当該楽曲の曲番号に対応する各楽曲情報834から曲名を読み出してメインディスプレイ10に一覧表示させる(ステップS22)。より詳細には、このときCPU20は、第2検索楽曲記憶領域95に記憶された曲番号に対応する曲名を、第3検索楽曲記憶領域96に記憶された曲番号に対応する曲名よりも上位に表示させるようになっている。
【0076】
次に、CPU20は、ユーザから何れかの曲名の楽曲について再生指示がされるか否かを判定し(ステップS23)、されないと判定した場合(ステップS23;No)には、他の処理へ移行する。
【0077】
また、ステップS23において何れかの曲名の楽曲について再生指示がされたと判定した場合(ステップS23;Yes)には、CPU20は、ユーザに指定された楽曲の楽曲データ833を音声出力部50に出力させるとともに、図12(b)に示すように、当該楽曲の説明情報をメインディスプレイ10に全画面表示させ(ステップS24)、音楽検索処理を終了する。
【0078】
(動作例)
続いて、図13を参照しつつ、上記の音楽検索処理を具体的に説明する。なお、以下の各動作例においては、ユーザが「アイネ・クライネ・ナハトムジーク」を階名列から検索するものとして説明する。
【0079】
<動作例1>
まず、図13における「例1」に示すように、ユーザが入力階名文字列「ソレソレ」及び「ドラドラ」を入力すると(ステップS2)、これらが検索対象文字列として設定された後(ステップS4)、検索対象文字列「ソレソレ」から3文字階名列「ソレソ」,「レソレ」が抽出されるとともに、検索対象文字列「ドラドラ」から3文字階名列「ドラド」,「ラドラ」が抽出される(ステップT1)。
【0080】
次に、3文字階名列「ソレソ」,「レソレ」,「ドラド」,「ラドラ」を楽曲階名文字列831に含む楽曲情報834の曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)などが検出される(ステップT3,T11)。
【0081】
次に、検索対象文字列「ソレソレ」及び「ドラドラ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831に含まれると判定され(ステップT14;Yes)、その曲番号「0015」が第2検索楽曲記憶領域95に記憶される(ステップT15)。
【0082】
そして、曲番号「0015」等に対応する楽曲情報834から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ10に一覧表示される(ステップS22)。
【0083】
以上の動作例1によれば、2つの入力階名文字列「ソレソレ」,「ドラドラ」を入力することにより、これらの入力階名文字列「ソレソレ」,「ドラドラ」についてAND条件を満たす楽曲情報834が検索されることが分かる。
【0084】
<動作例2>
まず、図13における「例2」に示すように、ユーザが入力階名文字列「ドラドラドラフ」を入力すると(ステップS2)、この入力階名文字列「ドラドラドラフ」が検索対象文字列として設定された後(ステップS4)、3文字階名列「ドラド」,「ラドラ」,「ドラド」,「ラドラ」,「ドラフ」が抽出される(ステップT1)。
【0085】
次に、3文字階名列「ドラド」,「ラドラ」,「ドラド」,「ラドラ」,「ドラフ」を楽曲階名文字列831に含む楽曲情報834の曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)などが検出される(ステップT3,T11)。
【0086】
次に、検索対象文字列「ドラドラドラフ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831に含まれると判定され(ステップT14;Yes)、その曲番号「0015」が第2検索楽曲記憶領域95に記憶される(ステップT15)。
【0087】
そして、曲番号「0015」等に対応する楽曲情報834から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ10に一覧表示される(ステップS22)。
【0088】
以上の動作例2によれば、ト長調(Gメジャー)であるために本来であれば階名「フ」に変化記号「♯」が付くべき楽曲であっても、変化記号を省略して入力階名文字列を入力することにより、当該楽曲が検索されることが分かる。
【0089】
<動作例3>
まず、図13における「例3」に示すように、ユーザが入力階名文字列「ドドミレドドシシ」を入力すると(ステップS2)、ステップS5〜S8の処理が複数回繰り返された後、入力階名文字列で示される階名列「ドドミレドドシシ」が移調番号「t=7」の調(ト長調)に移調されて移調階名文字列「ソソシラソソフフ」が生成され、検索対象文字列として設定される(ステップS8)。
【0090】
次に、3文字階名列「ソソシ」,「ソシラ」,「シラソ」,「ラソソ」,「ソソフ」,「ソフフ」が抽出され(ステップT1)、3文字階名列「ソソシ」,「ソシラ」,「シラソ」,「ラソソ」,「ソソフ」,「ソフフ」を楽曲階名文字列831に含む楽曲情報834の曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)などが検出される(ステップT3,T11)。
【0091】
次に、検索対象文字列「ソソシラソソフフ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831に含まれると判定され(ステップT14;Yes)、その曲番号「0015」が第2検索楽曲記憶領域95に記憶される(ステップT15)。
【0092】
そして、曲番号「0015」等に対応する楽曲情報834から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ10に一覧表示される(ステップS22)。
【0093】
以上の動作例3によれば、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲が検索されることが分かる。
【0094】
以上の電子辞書1によれば、図9のステップS3〜S8や図13の例1,例3などに示したように、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列831とを対応付けた楽曲情報834が複数種類記憶され、ユーザ操作に基づいて所定の調での階名列を示す文字列が入力階名文字列として入力されると、入力階名文字列で示される階名列が移調されて、移調後の階名列を示す移調階名文字列が生成され、複数種類の楽曲情報834から、楽曲階名文字列831内に入力階名文字列,移調階名文字列を含む楽曲情報834が検索され、検索された楽曲情報834の曲名が表示されるので、階名列をキー入力して楽曲検索することができる。また、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲を検索することができる。従って、階名列をキー入力して確実に楽曲を検索することができる。
【0095】
また、図9のステップS12〜S15等に示したように、入力階名文字列における何れか一つの階名の文字が前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換されて置換階名文字列が生成されるとともに、移調階名文字列における何れか一つの階名の文字が当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換されて置換階名文字列が生成され、複数種類の楽曲情報834から、楽曲階名文字列831内にこれらの置換階名文字列を含む楽曲情報834が検索されるので、入力階名文字列の階名が半音分ずれている場合であっても、楽曲を検索することができる。従って、階名列についての記憶が曖昧な場合であっても、楽曲の検索を行うことができる。
【0096】
また、図13の例2などに示したように、楽曲階名文字列831、入力階名文字列、移調階名文字列及び置換名文字列は幹音の階名列を示すので、変化記号を含んだ階名列を示す場合と比較して、処理を簡略化することができる。また、入力階名文字列として幹音の階名列を入力すれば良いので、入力階名文字列の入力を容易化することができる。
【0097】
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0098】
例えば、本発明に係る曲検索装置を電子辞書1として説明したが、本発明が適用可能なものは、このような製品に限定されず、携帯電話、パソコン、PDA(Personal Digital Assistant)、ゲーム機などの電子機器全般に適用可能である。また、本発明に係る曲検索プログラム81は、電子辞書1に対して着脱可能なメモリカード、CD等に記憶されることとしてもよい。
【符号の説明】
【0099】
1 電子辞書
20 CPU
30 入力部
40 表示部
81 曲検索プログラム
820 辞書データベース
【技術分野】
【0001】
本発明は、曲検索装置及び曲検索プログラムに関する。
【背景技術】
【0002】
従来から、辞書機能を有する電子辞書などの電子機器においては、百科事典の辞書データベースから作曲家名や楽曲名を検索キーとして楽曲を検索し、楽曲にまつわるテキストを表示させたり、楽曲を再生させたりすることが可能となっている。
【0003】
但し、このような検索を行う場合には、ユーザが作曲家名や楽曲名を覚えていて、これらを検索文字列として入力する必要がある。
【0004】
そのため、近年の電子機器では、楽曲の階名列を予め記憶しておき、マイクを介してユーザから入力される音声をフーリエ変換して階名列を検出し、検出された階名列に完全一致するメロディーの楽曲を検索するようになっている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−121556号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1記載の技術では、階名列をキー入力して楽曲検索することはできない。この点、階名列をキー入力して楽曲検索を行うことを意図して、単純に楽曲の階名列を文字列として予め記憶させておいたとしても、入力した階名列の調と、楽曲の調とが一致していない場合には、入力階名列の文字列と、楽曲の階名列の文字列とは同じメロディーを表現していても、異なる文字列となってしまうため、所望の楽曲が検索されない。
【0007】
本発明の課題は、階名列をキー入力して確実に楽曲を検索することのできる曲検索装置及び曲検索プログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1記載の発明は、曲検索装置において、
表示手段と、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶手段と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索手段と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索手段と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御手段と、
を備えることを特徴とする。
【0009】
請求項2記載の発明は、請求項1記載の曲検索装置において、
各階名の音を出力可能な音出力手段を備え、
前記楽曲情報は、
楽曲を再生するための楽曲データを有しており、
前記検索結果出力制御手段は、
ユーザ操作に基づいて、前記検索楽曲情報の前記楽曲データを前記音出力手段に出力させることを特徴とする。
【0010】
請求項3記載の発明は、請求項1または2記載の曲検索装置において、
前記入力階名文字列における何れか一つの階名の文字を、前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換階名文字列を生成する一音置換階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換楽曲検索手段と、
前記移調階名文字列における何れか一つの階名の文字を、当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換移調階名文字列を生成する一音置換移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換移調楽曲検索手段と、
を備えることを特徴とする。
【0011】
請求項4記載の発明は、請求項3記載の曲検索装置において、
前記楽曲階名文字列、前記入力階名文字列、前記移調階名文字列、前記一音置換階名文字列及び前記一音置換移調階名文字列は、幹音の階名列を示すことを特徴とする。
【0012】
請求項5記載の発明は、曲検索プログラムにおいて、
表示手段を有するコンピュータに、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶機能と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索機能と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索機能と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御機能と、
を実現させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報が複数種類記憶され、ユーザ操作に基づいて所定の調での階名列を示す文字列が入力階名文字列として入力されると、入力階名文字列で示される階名列が移調されて、移調後の階名列を示す移調階名文字列が生成され、複数種類の楽曲情報から、楽曲階名文字列内に入力階名文字列,移調階名文字列を含む楽曲情報が検索楽曲情報として検索され、検索楽曲情報の曲名が表示されるので、階名列をキー入力して楽曲検索することができる。また、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲を検索することができる。従って、階名列をキー入力して確実に楽曲を検索することができる。なお入力した階名列の調と楽曲の調とが一致しない例としては、高音の得意な女性ユーザが曲の調を高い調に移調して階名列をキー入力する場合や、同じ調の曲で固定ド読みを移動ド読みにしてキー入力する場合があるが、いずれにおいても確実に楽曲を検索することができる。
【図面の簡単な説明】
【0014】
【図1】電子辞書の概観を示す平面図である。
【図2】電子辞書の内部構成を示すブロック図である。
【図3】(a)は通常の辞書データベースのデータ構造を示す図であり、(b)は音楽事典の辞書データベースのデータ構造を示す図である。
【図4】楽曲階名文字列及び検索インデックスを示す図である。
【図5】アイネ・クライネ・ナハトムジークの楽譜を示す図である。
【図6】インデックステーブルを示す図である。
【図7】移調テーブルを示す図である。
【図8】第1検索楽曲記憶領域のデータ構造を示す図である。
【図9】音楽検索処理を示すフローチャートである。
【図10】階名検索処理を示すフローチャートである。
【図11】表示部の表示内容を示す図である。
【図12】表示部の表示内容を示す図である。
【図13】音楽検索処理の動作例を説明するための図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明に係る曲検索装置を電子辞書に適用した場合の実施形態について詳細に説明する。
【0016】
[外観構成]
図1は、電子辞書1の平面図である。
この図に示すように、電子辞書1は、メインディスプレイ10、サブディスプレイ11、スピーカ12及びキー群2を備えている。
【0017】
メインディスプレイ10及びサブディスプレイ11は、ユーザによるキー群2の操作に応じた文字や符号等、各種データをカラーで表示する部分であり、LCD(Liquid Crystal Display)やELD(Electronic Luminescence Display)等によって構成されている。なお、本実施の形態におけるメインディスプレイ10及びサブディスプレイ11は、いわゆるタッチパネル110(図2参照)と一体的に形成されており、手書き入力等の操作を受け付け可能となっている。
【0018】
スピーカ12は、ユーザによるキー群2の操作に応じた音声を出力する部分であり、本実施の形態においては、少なくとも2オクターブにおける各音階の音を出力するようになっている。
【0019】
キー群2は、ユーザから電子辞書1を操作するための操作を受ける各種キーを有している。具体的には、キー群2は、訳/決定キー2bと、文字キー2cと、辞書選択キー2dと、カーソルキー2eと、シフトキー2fと、戻るキー2g等とを有している。
【0020】
訳/決定キー2bは、検索の実行や、見出し語の決定等に使用されるキーである。文字キー2cは、ユーザによる文字の入力等に使用されるキーであり、本実施の形態においては“A”〜“Z”キーを備えている。辞書選択キー2dは、後述の辞書データベース820,…(図2参照)の選択に使用されるキーである。
【0021】
カーソルキー2eは、画面内の反転表示位置、つまりカーソル位置の移動等に使用されるキーであり、本実施の形態においては上下左右の方向を指定可能となっている。シフトキー2fは、日本語の単語を検索対象に設定するとき等に使用されるキーである。戻るキー2gは、前回表示した画面に戻るとき等に使用されるキーである。
【0022】
[内部構成]
続いて、電子辞書1の内部構造について説明する。図2は、電子辞書1の内部構成を示すブロック図である。
【0023】
この図に示すように、電子辞書1は、表示部40、入力部30、音声出力部50、CPU(Central Processing Unit)20、フラッシュROM(Read Only Memory)80、RAM(Random Access Memory)90を備え、各部はバスで相互にデータ通信可能に接続されて構成されている。
【0024】
表示部40は、上述のメインディスプレイ10及びサブディスプレイ11を備えており、CPU20から入力される表示信号に基づいて各種情報をメインディスプレイ10やサブディスプレイ11に表示するようになっている。
【0025】
入力部30は、上述のキー群2やタッチパネル110を備えており、押下されたキーやタッチパネル110の位置に対応する信号をCPU20に出力するようになっている。
【0026】
音声出力部50は、上述のスピーカ12を備えており、CPU20から入力される音声出力信号に基づいてオーディオデータをスピーカ12に再生させるようになっている。
【0027】
フラッシュROM80は、電子辞書1の各種機能を実現するためのプログラムやデータを記憶するメモリである。本実施の形態においては、フラッシュROM80は、本発明に係る曲検索プログラム81と、辞書データベース群82と、インデックステーブル84A,84Bと、移調テーブル85とを記憶している。
【0028】
曲検索プログラム81は、後述の音楽検索処理(図9〜図10参照)をCPU20に実行させるためのプログラムである。
【0029】
辞書データベース群82は、辞書データベース820を複数有しており、本実施の形態においては、英和辞書の辞書データベース820aや、音楽事典の辞書データベース820b等を有している。
【0030】
これら辞書データベース820,…には、例えば図3(a)に1例を示すように、見出し語と、この見出し語の説明情報とを対応付けた見出し語情報が複数格納されている。
【0031】
また、特に音楽事典の辞書データベース820bでは、例えば図3(b)に1例を示すように、曲名の見出し語と、この曲名の説明情報と、この楽曲の階名列を示す楽曲階名文字列831及び検索インデックス832と、この楽曲を再生するための楽曲データ833とを対応付けた楽曲情報834が見出し語情報として複数格納されている。例えば、各楽曲情報834には、それぞれ固有の曲番号が対応付けられており、例えば曲名「アイネ・クライネ・ナハトムジーク」の楽曲情報834には曲番号「0015」が対応付けられている。なお、音楽の文献では移動ドで読むものを階名唱、固定ドで読むものを音名唱とするものもあるが、本実施例では説明上、移動ド読みも固定ド読みも「階名」と表現した。
【0032】
ここで、本実施の形態における楽曲階名文字列831では、例えば図4の上段に示すように、変化記号「♯」,「♭」が省略されることで幹音の階名列を示すようになっており、更に、階名「ファ」が「フ」で表されることで各階名が1文字で表現されるようになっている。なお、図4の上段では、説明の便宜上、省略された変化記号を括弧書きで図示している。また、幹音とは、自然音や本位音、natural toneとも称される音であり、変化記号(♯、♭)を付けずに書き表せる音である。また、この図では、曲名「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831における先頭部分を示しており、より詳細には、図5に示す楽譜の1段目部分の階名文字列と、2段目部分の階名文字列とを示している。
【0033】
また、本実施の形態における検索インデックス832は、図4の下段に示すように、楽曲階名文字列831の先頭から1文字ずつシフトしながら3文字の階名列(以下、3文字階名列とする)を順に抽出し、抽出順に並べたものである。
【0034】
また、本実施の形態における楽曲データ833は、楽曲の演奏を録音したオーディオデータとなっているが、MIDI楽器に演奏を指示するMIDIデータとしても良い。
【0035】
インデックステーブル84A,84Bは、図6に示すように、3文字の階名列(以下、3文字階名列とする)の各組み合わせに対し、当該3文字階名列を楽曲階名文字列831内に含む楽曲情報834を対応付けている。
【0036】
より詳細には、インデックステーブル84Aは、階名列順にソートされた3文字階名列それぞれに対し、インデックステーブル84Bにおけるデータ格納アドレスを対応付けて記憶している。また、インデックステーブル84Bは、当該インデックステーブル84Bにおけるデータ格納アドレスそれぞれに対し、楽曲情報834の曲番号を対応付けて記憶している。なお、本実施の形態においては、インデックステーブル84Bにおけるデータ格納アドレスは所定の順序で順序付けされるとともに固定長となっており、所望のアドレスを2分岐法によって検出可能となっている。また、楽曲情報834の曲番号は、HEXデータとなっている。インデックステーブル84Bにおいて各データ格納アドレスに対応付けられるデータ長、つまり曲番号の個数は、該当の3文字階名列を含む曲の数に応じて変化するが、次順のデータ格納アドレス(次順の3文字階名列に対応するデータ格納アドレス)を参照すれば算出可能となっている。
【0037】
移調テーブル85は、図7に示すように、鍵盤の階名列を半音分ずつ移調させた場合での各調における階名列と、移調の回数(本実施の形態においては0回〜14回)とを対応付けて記憶している。例えば、本実施の形態における移調テーブル85では、基準となる階名列として、固定ドの階名列(ド,ド♯,レ,レ♯,ミ,ファ,ファ♯,ソ,ソ♯,ラ,ラ♯,シ,ド)を記憶し、この階名列を1回移調した階名列として嬰ハ長調の階名列を記憶している。但し、移調テーブル85における各階名列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0038】
RAM90は、CPU20が実行する各種プログラムや、これらプログラムの実行に係るデータ等を一時的に保持するメモリ領域を備えており、本実施の形態においては、入力階名文字列記憶領域91と、移調番号記憶領域92と、階名列記憶領域93と、第1検索楽曲記憶領域94と、第2検索楽曲記憶領域95と、第3検索楽曲記憶領域96等とを有している。
【0039】
このうち、入力階名文字列記憶領域91は、後述の音楽検索処理(図9〜図10参照)において階名列についてユーザから入力される文字列(以下、入力階名文字列とする)を記憶するようになっている。
【0040】
移調番号記憶領域92は、後述の音楽検索処理(図9〜図10参照)において階名列としての検索対象文字列が半音分ずつ移調される場合に、当該移調の回数が移調番号「t」の値として記憶されるようになっている。
【0041】
階名列記憶領域93は、後述の音楽検索処理(図9〜図10参照)において検索対象文字列から抽出される3文字階名列を、抽出順に複数記憶するようになっている。
【0042】
第1検索楽曲記憶領域94,第2検索楽曲記憶領域95,第3検索楽曲記憶領域96は、後述の音楽検索処理(図9〜図10参照)において検索される楽曲情報834の曲番号などを記憶するようになっている。より詳細には、このうち、第1検索楽曲記憶領域94は、図8に示すように、検索過程で検出される楽曲情報834の曲番号などを記憶するようになっている。また、第2検索楽曲記憶領域95は、階名列についての検索対象文字列がそのままの状態で楽曲階名文字列831に含まれる楽曲情報834、つまり検索対象文字列と楽曲階名文字列831内の文字列とが完全一致する楽曲情報834の曲番号などを記憶するようになっている。また、第3検索楽曲記憶領域96は、階名列についての検索対象文字列が一部置換された状態で楽曲階名文字列831に含まれる楽曲情報834、つまり検索対象文字列と楽曲階名文字列831内の文字列とが曖昧一致(部分一致)する楽曲情報834の曲番号などを記憶するようになっている。
【0043】
CPU20は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送等を行い、電子辞書1を統括的に制御するようになっている。具体的には、CPU20は、入力部30から入力される操作信号等に応じてフラッシュROM80に格納された各種プログラムを読み出し、当該プログラムに従って処理を実行する。そして、CPU20は、処理結果をRAM90に保存するとともに、当該処理結果を表示部40や音声出力部50に適宜出力させる。
【0044】
[動作]
続いて、電子辞書1の動作について、図9〜図12を参照しつつ説明する。
【0045】
(音楽検索処理)
図9〜図10は、CPU20が曲検索プログラム81を読み出して実行する音楽検索処理の流れを示すフローチャートである。また、図11〜図12は、音楽検索処理の実行時における表示部40の表示内容を示す図である。
【0046】
図9に示すように、この音楽検索処理においてまずCPU20は、楽曲の階名列を用いて検索する旨のユーザ操作が行われるか否かを判定する(ステップS1)。より具体的には、このステップS1においてCPU20は、図11の上段に示すように、メインディスプレイ10に「作曲家名から探す」,「楽曲名から探す」,「階名から探す」の選択メニューそれぞれについて入力欄を表示させ、「階名から探す」の入力欄に文字列が入力されるか否かに基づいて、階名列を用いて検索する旨の操作が行われるか否かを判定するようになっている。
【0047】
そして、このステップS1において階名列を用いて検索する旨のユーザ操作が行われないと判定した場合(ステップS1;No)には、CPU20は、他の処理へ移行する。
【0048】
一方、ステップS1において楽曲の階名列を用いて検索する旨のユーザ操作が行われたと判定した場合(ステップS1;Yes)には、CPU20は、階名列を示す入力階名文字列がユーザにより入力されるか否かを判定し(ステップS2)、入力されないと判定した場合(ステップS2;No)には、当該ステップS2を繰り返す。
【0049】
なお、本実施の形態においては、このステップS2においてユーザは任意の調での階名列を文字列として入力することができるが、この階名列は以下の処理において固定ド唱法での階名列として認識される。また、このステップS2で入力される入力階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。また、このステップS2においてユーザは、複数の入力階名文字列を入力し、AND条件を満たす楽曲を検索させても良い。更に、このステップS2においてユーザは、図11の中段,下段に示すように、入力階名文字列を文字キー2cから入力しても良いし、図12(a)に示すように、メインディスプレイ10やサブディスプレイ11にソフトキーとして表示される鍵盤から入力しても良い。
【0050】
そして、ステップS2において入力階名文字列が入力されたと判定した場合(ステップS2;Yes)には、CPU20は、当該入力階名文字列を入力階名文字列記憶領域91に記憶させるとともに、移調番号記憶領域92に記憶される移調番号「t」を「0」に設定した後(ステップS3)、入力階名文字列を検索対象文字列として設定する(ステップS4)。
【0051】
次に、CPU20は、階名検索処理を行う(ステップS5)。なお、この階名検索処理においてCPU20は、3グラム法(トライグラム法、3文字インデックス法)を用いて音楽事典の辞書データベース820bにおける楽曲階名文字列831の全文検索を行うようになっている。
【0052】
具体的には、図10に示すように、この階名検索処理においてまずCPU20は、検索対象文字列の先頭から1文字ずつシフトしながら3文字階名列を順に抽出し、各3文字階名列を抽出順に従って階名列記憶領域93に記憶させる(ステップT1)。より詳細には、例えば検索対象文字列が「ドソドソドソドミソ」である場合には、CPU20は、文字列の先頭文字「ド」から連続する3文字「ドソド」と、文字列の2番目の文字「ソ」から連続する3文字「ソドソ」と、3番目の文字「ド」から連続する3文字「ドソド」と、4番目の文字「ソ」から連続する3文字「ソドソ」と、5番目の文字「ド」から連続する3文字「ドソド」と、6番目の文字「ソ」から連続する3文字「ソドミ」と、7番目の文字「ド」から連続する3文字「ドミソ」とを3文字階名列として抽出する。
【0053】
なお、以下の説明においては、ステップT1で抽出される3文字階名列の個数を「N」個とする。この「N」の値はN=(検索対象文字列の文字数)−2で表される。
【0054】
次に、CPU20は、「N」個の3文字階名列の何れかを指定するための変数「n」に「1」を代入した後(ステップT2)、階名列記憶領域93から「n」番目の3文字階名列を読み出し、この3文字階名列を楽曲階名文字列831内に含む楽曲情報834の曲番号を、インデックステーブル84A,84Bを用いて検索する(ステップT3)。
【0055】
次に、CPU20は、楽曲情報834が検出されたか否かに基づいて、「n」番目の3文字階名列に対応する楽曲情報834が存在するか否かを判定する(ステップT4)。
【0056】
このステップT4において「n」番目の3文字階名列に対応する楽曲情報834が存在しないと判定した場合(ステップT4;No)には、CPU20は、検索対象文字列に対応する楽曲が存在しない旨を第2検索楽曲記憶領域95に記憶させた後(ステップT9)、階名検索処理を終了する。
【0057】
また、ステップT4において「n」番目の3文字階名列に対応する楽曲情報834が存在すると判定した場合(ステップT4;Yes)には、CPU20は、図8に示すように、この楽曲情報834の曲番号を変数「n」の値及び「n」番目の3文字階名列と対応付けて第1検索楽曲記憶領域94に記憶させる(ステップT5)。なお、図8では、検索対象文字列「ソレソレドレソ…」から3文字階名列「ソレソ」,「レソレ」,「ドレド」,…が抽出された場合に第1検索楽曲記憶領域94に記憶される内容を例示している。
【0058】
次に、CPU20は、変数「n」=「N」であるか否か、つまり変数「n」が最大値になっているか否かを判定する(ステップT6)。
【0059】
このステップT6において変数「n」=「N」でないと判定した場合(ステップT6;No)には、CPU20は、変数「n」の値を「1」増加した後(ステップT7)、上述のステップT3に移行する。
【0060】
また、ステップT6において変数「n」=「N」であると判定した場合(ステップT6;Yes)には、CPU20は、変数「n」の各値に対応付けて第1検索楽曲記憶領域94に記憶された曲番号から、AND条件を満たす曲番号、つまり変数「n」の各値に共通する曲番号を抽出する(ステップT11)。これにより、例えば上述の図8に示す内容が第1検索楽曲記憶領域94に記憶されている場合には、変数「n」の各値に共通する曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)等が抽出される。
【0061】
次に、CPU20は、変数「n」の各値に共通する曲番号が抽出されたか否かを判定し(ステップT12)、抽出されないと判定した場合(ステップT12;No)には、上述のステップT9に移行する。
【0062】
また、ステップT12において変数「n」の各値に共通する曲番号が抽出されたと判定した場合(ステップT12;Yes)には、CPU20は、抽出された曲番号の楽曲情報834から楽曲階名文字列831を読み出し、当該楽曲階名文字列831内で検索対象文字列を検索する(ステップT13)。
【0063】
次に、CPU20は、検索対象文字列が連続した状態で楽曲階名文字列831に含まれる楽曲情報834があるか否かを判定し(ステップT14)、ないと判定した場合(ステップT14;No)には、上述のステップT9に移行する。
【0064】
また、ステップT14において検索対象文字列が連続した状態で楽曲階名文字列831に含まれる楽曲情報834があると判定した場合(ステップT14;Yes)には、CPU20は、該当の楽曲情報834を検索結果とし、その曲番号を第2検索楽曲記憶領域95に記憶させ(ステップT15)、階名検索処理を終了する。なお、このとき検索対象文字列が連続した状態で楽曲階名文字列831に含まれる楽曲情報834が複数存在する場合には、CPU20は、各楽曲情報834の曲番号を第2検索楽曲記憶領域95に記憶させる。
【0065】
以上の階名検索処理が終了したら、図9に示すように、次にCPU20は、移調番号記憶領域92に記憶された移調番号「t」が「14」であるか否か、つまり移調番号「t」が最大値になっているか否かを判定し(ステップS6)、「14」でないと判定した場合(ステップS6;No)には、移調番号記憶領域92に記憶される移調番号「t」の値に「1」を加算する(ステップS7)。
【0066】
次に、CPU20は、入力階名文字列記憶領域91に記憶された入力階名文字列で示される階名列を、移調テーブル85において移調番号「t」の値に対応付けられた調に移調し、移調後の階名列を示す文字列(以下、移調階名文字列とする)を生成して、この移調階名文字列を検索対象文字列に設定した後(ステップS8)、上述のステップS5に移行する。なお、このステップS8で生成される移調階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0067】
また、ステップS6において移調番号記憶領域92に記憶された移調番号「t」が「14」であると判定した場合(ステップS6;Yes)には、CPU20は、移調番号「t」を「0」に設定するとともに、入力階名文字列記憶領域91に記憶された入力階名文字列を検索対象文字列に設定する(ステップS11)。
【0068】
次に、CPU20は、検索対象文字列における先頭の階名の文字を、当該検索対象文字列の調、つまり移調テーブル85内で移調番号「t」に対応付けられた調において、当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して置換階名文字列を生成し、この置換階名文字列を検索対象文字列に設定し直す(ステップS12)。但し、このステップS12で生成される置換階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0069】
次に、CPU20は、上述のステップS5と同様の階名検索処理を行う(ステップS13)。但し、このステップS13での階名検索処理においてCPU20は、第2検索楽曲記憶領域95の代わりに第3検索楽曲記憶領域96を用いるようになっている。
【0070】
次に、CPU20は、入力階名文字列における末尾の階名の文字が置換されたか否かを判定し(ステップS14)、置換されていないと判定した場合(ステップS14;No)には、入力階名文字列記憶領域91に記憶された入力階名文字列における各文字のうち、上述のステップS12及び当該ステップS15によって未だ置換されていない最も先頭側の階名の文字を、検索対象文字列の調、つまり移調テーブル85内で移調番号「t」に対応付けられた調において、当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して置換階名文字列を生成し、この置換階名文字列を検索対象文字列に設定した後(ステップS15)、上述のステップS13に移行する。但し、このステップS15で生成される置換階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0071】
そして、上述のステップS13〜S15を繰り返すことにより、ステップS14において入力階名文字列における末尾の階名の文字が置換されたと判定した場合(ステップS14;Yes)には、CPU20は移調番号記憶領域92に記憶された移調番号「t」が「14」であるか否か、つまり移調番号「t」が最大値になっているか否かを判定し(ステップS16)、「14」でないと判定した場合(ステップS16;No)には、移調番号記憶領域92に記憶される移調番号「t」の値に「1」を加算する(ステップS17)。
【0072】
次に、CPU20は、入力階名文字列記憶領域91に記憶された入力階名文字列で示される階名列を、移調テーブル85において移調番号「t」の値に対応付けられた調に移調して移調階名文字列を生成し、この移調階名文字列を検索対象文字列に設定した後(ステップS18)、上述のステップS12に移行する。但し、このステップS18で生成される移調階名文字列では、変化記号「♯」,「♭」が省略されており、幹音の階名列を示すようになっている。
【0073】
また、ステップS16において移調番号記憶領域92に記憶された移調番号「t」が「14」であると判定した場合(ステップS16;Yes)には、CPU20は、第2検索楽曲記憶領域95及び第3検索楽曲記憶領域96の少なくとも一方に曲番号が記憶されているか否かに基づいて、入力階名文字列に対応する楽曲が存在したか否かを判定する(ステップS21)。
【0074】
そして、このステップS21において入力階名文字列に対応する楽曲が存在しないと判定した場合(ステップS21;No)には、CPU20は、その旨をメインディスプレイ10に表示させた後、上述のステップS1に移行する。
【0075】
また、ステップS21において入力階名文字列に対応する楽曲が存在したと判定した場合(ステップS21;Yes)には、CPU20は、当該楽曲の曲番号に対応する各楽曲情報834から曲名を読み出してメインディスプレイ10に一覧表示させる(ステップS22)。より詳細には、このときCPU20は、第2検索楽曲記憶領域95に記憶された曲番号に対応する曲名を、第3検索楽曲記憶領域96に記憶された曲番号に対応する曲名よりも上位に表示させるようになっている。
【0076】
次に、CPU20は、ユーザから何れかの曲名の楽曲について再生指示がされるか否かを判定し(ステップS23)、されないと判定した場合(ステップS23;No)には、他の処理へ移行する。
【0077】
また、ステップS23において何れかの曲名の楽曲について再生指示がされたと判定した場合(ステップS23;Yes)には、CPU20は、ユーザに指定された楽曲の楽曲データ833を音声出力部50に出力させるとともに、図12(b)に示すように、当該楽曲の説明情報をメインディスプレイ10に全画面表示させ(ステップS24)、音楽検索処理を終了する。
【0078】
(動作例)
続いて、図13を参照しつつ、上記の音楽検索処理を具体的に説明する。なお、以下の各動作例においては、ユーザが「アイネ・クライネ・ナハトムジーク」を階名列から検索するものとして説明する。
【0079】
<動作例1>
まず、図13における「例1」に示すように、ユーザが入力階名文字列「ソレソレ」及び「ドラドラ」を入力すると(ステップS2)、これらが検索対象文字列として設定された後(ステップS4)、検索対象文字列「ソレソレ」から3文字階名列「ソレソ」,「レソレ」が抽出されるとともに、検索対象文字列「ドラドラ」から3文字階名列「ドラド」,「ラドラ」が抽出される(ステップT1)。
【0080】
次に、3文字階名列「ソレソ」,「レソレ」,「ドラド」,「ラドラ」を楽曲階名文字列831に含む楽曲情報834の曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)などが検出される(ステップT3,T11)。
【0081】
次に、検索対象文字列「ソレソレ」及び「ドラドラ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831に含まれると判定され(ステップT14;Yes)、その曲番号「0015」が第2検索楽曲記憶領域95に記憶される(ステップT15)。
【0082】
そして、曲番号「0015」等に対応する楽曲情報834から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ10に一覧表示される(ステップS22)。
【0083】
以上の動作例1によれば、2つの入力階名文字列「ソレソレ」,「ドラドラ」を入力することにより、これらの入力階名文字列「ソレソレ」,「ドラドラ」についてAND条件を満たす楽曲情報834が検索されることが分かる。
【0084】
<動作例2>
まず、図13における「例2」に示すように、ユーザが入力階名文字列「ドラドラドラフ」を入力すると(ステップS2)、この入力階名文字列「ドラドラドラフ」が検索対象文字列として設定された後(ステップS4)、3文字階名列「ドラド」,「ラドラ」,「ドラド」,「ラドラ」,「ドラフ」が抽出される(ステップT1)。
【0085】
次に、3文字階名列「ドラド」,「ラドラ」,「ドラド」,「ラドラ」,「ドラフ」を楽曲階名文字列831に含む楽曲情報834の曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)などが検出される(ステップT3,T11)。
【0086】
次に、検索対象文字列「ドラドラドラフ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831に含まれると判定され(ステップT14;Yes)、その曲番号「0015」が第2検索楽曲記憶領域95に記憶される(ステップT15)。
【0087】
そして、曲番号「0015」等に対応する楽曲情報834から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ10に一覧表示される(ステップS22)。
【0088】
以上の動作例2によれば、ト長調(Gメジャー)であるために本来であれば階名「フ」に変化記号「♯」が付くべき楽曲であっても、変化記号を省略して入力階名文字列を入力することにより、当該楽曲が検索されることが分かる。
【0089】
<動作例3>
まず、図13における「例3」に示すように、ユーザが入力階名文字列「ドドミレドドシシ」を入力すると(ステップS2)、ステップS5〜S8の処理が複数回繰り返された後、入力階名文字列で示される階名列「ドドミレドドシシ」が移調番号「t=7」の調(ト長調)に移調されて移調階名文字列「ソソシラソソフフ」が生成され、検索対象文字列として設定される(ステップS8)。
【0090】
次に、3文字階名列「ソソシ」,「ソシラ」,「シラソ」,「ラソソ」,「ソソフ」,「ソフフ」が抽出され(ステップT1)、3文字階名列「ソソシ」,「ソシラ」,「シラソ」,「ラソソ」,「ソソフ」,「ソフフ」を楽曲階名文字列831に含む楽曲情報834の曲番号として「0015」(曲名:「アイネ・クライネ・ナハトムジーク」)などが検出される(ステップT3,T11)。
【0091】
次に、検索対象文字列「ソソシラソソフフ」が連続した状態で「アイネ・クライネ・ナハトムジーク」の楽曲階名文字列831に含まれると判定され(ステップT14;Yes)、その曲番号「0015」が第2検索楽曲記憶領域95に記憶される(ステップT15)。
【0092】
そして、曲番号「0015」等に対応する楽曲情報834から曲名「アイネ・クライネ・ナハトムジーク」等が読み出されてメインディスプレイ10に一覧表示される(ステップS22)。
【0093】
以上の動作例3によれば、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲が検索されることが分かる。
【0094】
以上の電子辞書1によれば、図9のステップS3〜S8や図13の例1,例3などに示したように、楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列831とを対応付けた楽曲情報834が複数種類記憶され、ユーザ操作に基づいて所定の調での階名列を示す文字列が入力階名文字列として入力されると、入力階名文字列で示される階名列が移調されて、移調後の階名列を示す移調階名文字列が生成され、複数種類の楽曲情報834から、楽曲階名文字列831内に入力階名文字列,移調階名文字列を含む楽曲情報834が検索され、検索された楽曲情報834の曲名が表示されるので、階名列をキー入力して楽曲検索することができる。また、入力した階名列の調と、楽曲の調とが一致していない場合であっても、所望の楽曲を検索することができる。従って、階名列をキー入力して確実に楽曲を検索することができる。
【0095】
また、図9のステップS12〜S15等に示したように、入力階名文字列における何れか一つの階名の文字が前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換されて置換階名文字列が生成されるとともに、移調階名文字列における何れか一つの階名の文字が当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換されて置換階名文字列が生成され、複数種類の楽曲情報834から、楽曲階名文字列831内にこれらの置換階名文字列を含む楽曲情報834が検索されるので、入力階名文字列の階名が半音分ずれている場合であっても、楽曲を検索することができる。従って、階名列についての記憶が曖昧な場合であっても、楽曲の検索を行うことができる。
【0096】
また、図13の例2などに示したように、楽曲階名文字列831、入力階名文字列、移調階名文字列及び置換名文字列は幹音の階名列を示すので、変化記号を含んだ階名列を示す場合と比較して、処理を簡略化することができる。また、入力階名文字列として幹音の階名列を入力すれば良いので、入力階名文字列の入力を容易化することができる。
【0097】
なお、本発明を適用可能な実施形態は、上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0098】
例えば、本発明に係る曲検索装置を電子辞書1として説明したが、本発明が適用可能なものは、このような製品に限定されず、携帯電話、パソコン、PDA(Personal Digital Assistant)、ゲーム機などの電子機器全般に適用可能である。また、本発明に係る曲検索プログラム81は、電子辞書1に対して着脱可能なメモリカード、CD等に記憶されることとしてもよい。
【符号の説明】
【0099】
1 電子辞書
20 CPU
30 入力部
40 表示部
81 曲検索プログラム
820 辞書データベース
【特許請求の範囲】
【請求項1】
表示手段と、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶手段と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索手段と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索手段と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御手段と、
を備えることを特徴とする曲検索装置。
【請求項2】
請求項1記載の曲検索装置において、
各階名の音を出力可能な音出力手段を備え、
前記楽曲情報は、
楽曲を再生するための楽曲データを有しており、
前記検索結果出力制御手段は、
ユーザ操作に基づいて、前記検索楽曲情報の前記楽曲データを前記音出力手段に出力させることを特徴とする曲検索装置。
【請求項3】
請求項1または2記載の曲検索装置において、
前記入力階名文字列における何れか一つの階名の文字を、前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換階名文字列を生成する一音置換階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換楽曲検索手段と、
前記移調階名文字列における何れか一つの階名の文字を、当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換移調階名文字列を生成する一音置換移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換移調楽曲検索手段と、
を備えることを特徴とする曲検索装置。
【請求項4】
請求項3記載の曲検索装置において、
前記楽曲階名文字列、前記入力階名文字列、前記移調階名文字列、前記一音置換階名文字列及び前記一音置換移調階名文字列は、幹音の階名列を示すことを特徴とする曲検索装置。
【請求項5】
表示手段を有するコンピュータに、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶機能と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索機能と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索機能と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御機能と、
を実現させることを特徴とする曲検索プログラム。
【請求項1】
表示手段と、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶手段と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索手段と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索手段と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御手段と、
を備えることを特徴とする曲検索装置。
【請求項2】
請求項1記載の曲検索装置において、
各階名の音を出力可能な音出力手段を備え、
前記楽曲情報は、
楽曲を再生するための楽曲データを有しており、
前記検索結果出力制御手段は、
ユーザ操作に基づいて、前記検索楽曲情報の前記楽曲データを前記音出力手段に出力させることを特徴とする曲検索装置。
【請求項3】
請求項1または2記載の曲検索装置において、
前記入力階名文字列における何れか一つの階名の文字を、前記所定の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換階名文字列を生成する一音置換階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換楽曲検索手段と、
前記移調階名文字列における何れか一つの階名の文字を、当該移調階名文字列の調において当該階名の音よりも半音高い音または半音低い音の階名の文字に置換して一音置換移調階名文字列を生成する一音置換移調階名文字列生成手段と、
前記楽曲記憶手段により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記一音置換移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する一音置換移調楽曲検索手段と、
を備えることを特徴とする曲検索装置。
【請求項4】
請求項3記載の曲検索装置において、
前記楽曲階名文字列、前記入力階名文字列、前記移調階名文字列、前記一音置換階名文字列及び前記一音置換移調階名文字列は、幹音の階名列を示すことを特徴とする曲検索装置。
【請求項5】
表示手段を有するコンピュータに、
楽曲の曲名と、当該楽曲の階名列を示す楽曲階名文字列とを対応付けた楽曲情報を複数種類記憶する楽曲記憶機能と、
ユーザ操作に基づいて、所定の調での階名列を示す文字列を、入力階名文字列として入力する階名文字列入力機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記入力階名文字列を含む楽曲情報を、検索楽曲情報として検索する楽曲検索機能と、
前記入力階名文字列で示される階名列を移調し、移調後の階名列を示す移調階名文字列を生成する移調階名文字列生成機能と、
前記楽曲記憶機能により記憶された複数種類の前記楽曲情報から、前記楽曲階名文字列内に前記移調階名文字列を含む楽曲情報を、検索楽曲情報として検索する移調楽曲検索機能と、
前記検索楽曲情報の曲名を前記表示手段に表示させる検索結果出力制御機能と、
を実現させることを特徴とする曲検索プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−37950(P2012−37950A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−175073(P2010−175073)
【出願日】平成22年8月4日(2010.8.4)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願日】平成22年8月4日(2010.8.4)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]