IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特開2022-144338電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム
<>
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図1
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図2
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図3
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図4
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図5
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図6
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図7
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図8
  • 特開-電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022144338
(43)【公開日】2022-10-03
(54)【発明の名称】電子機器、電子楽器、電子機器における機能割当て方法、及びプログラム
(51)【国際特許分類】
   G10H 1/18 20060101AFI20220926BHJP
   G10H 1/34 20060101ALI20220926BHJP
【FI】
G10H1/18 Z
G10H1/34
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021045285
(22)【出願日】2021-03-18
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100182936
【弁理士】
【氏名又は名称】矢野 直樹
(72)【発明者】
【氏名】石岡 洋介
【テーマコード(参考)】
5D478
【Fターム(参考)】
5D478BA32
5D478BA37
5D478BA38
5D478KK03
5D478KK12
(57)【要約】      (修正有)
【課題】音楽機能の効果的な組合せを初心者でも良好に認識可能な機能割当てを行うことが可能な電子楽器を提供する。
【解決手段】ユーザが演奏のための音楽機能を指定するためのN種類のユーザボタンを備える電子楽器であって、機能組合せ推奨度正方行列データと、機能利用回数データとから、行列Wと列ベクトルCの乗算により、ユーザに対するN種類の機能毎の推奨度を示す対ユーザ機能推奨度データを列ベクトルRとして算出する。機能組合せ推奨度正方行列データと機能利用回数データとの掛け合わせで得られる対ユーザ機能推奨度データに基づいて、N種類の機能からユーザが知らないお勧め機能も含む最適なM種類の機能を選択して、ユーザボタンに割り当てる。
【選択図】図3
【特許請求の範囲】
【請求項1】
複数の機能指定キーと、
少なくとも1つのプロセッサと、
を備え、前記少なくとも1つのプロセッサは、
各機能の組合せ推奨度を示す行列データ及びユーザによる各機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の機能指定キーにそれぞれ割り当てる、
電子機器。
【請求項2】
前記行列データは、行及び列にそれぞれ機能が対応付けられており、
行と列が交差する交差要素には、行に対応する第1機能と列に対応する第2機能の組合せの推奨度を示す値が設定されている、
請求項1に記載の電子機器。
【請求項3】
前記交差要素には、0以上1以下の値が設定されている、
請求項2に記載の電子機器。
【請求項4】
前記行列データは、非正方行列及び正方行列の何れかを含む、
請求項1乃至3の何れかに記載の電子機器。
【請求項5】
決定される前記複数の推奨機能には、前記ユーザによる利用が1度もない機能が含まれ得る、
請求項1乃至4の何れかに記載の電子機器。
【請求項6】
複数の音楽機能指定キーと、
少なくとも1つのプロセッサと、
を備え、前記少なくとも1つのプロセッサは、
各音楽機能の組合せ推奨度を示す行列データ及びユーザによる各音楽機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の音楽機能指定キーにそれぞれ割り当てる、
電子楽器。
【請求項7】
電子機器の少なくとも1つのプロセッサが、
各機能の組合せ推奨度を示す行列データ及びユーザによる各機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の機能指定キーにそれぞれ割り当てる、
方法。
【請求項8】
電子機器の少なくとも1つのプロセッサに、
各機能の組合せ推奨度を示す行列データ及びユーザによる各機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の機能指定キーにそれぞれ割り当てる、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、電子楽器、電子機器における機能割当て方法、及びプログラムに関する。
【背景技術】
【0002】
ミュージックシンセサイザなどの多機能電子楽器等において、音色を決定する多数のパラメータ情報のうち各音色に適したパラメータを即座に調整可能なカスタマイズ機能を搭載したものが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平8-123415号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、経験の浅いユーザや演奏スタイルに偏りのあるユーザが効果的な機能の組合せに気付くことは難しかった。
【0005】
そこで、本発明は、複数の機能の効果的な組合せを初心者でも良好に認識可能な電子楽器を提供することを目的とする。
【課題を解決するための手段】
【0006】
態様の一例の電子楽器は、複数の機能指定キーと、少なくとも1つのプロセッサと、を備え、少なくとも1つのプロセッサは、各機能の組合せ推奨度を示す行列データ及びユーザによる各機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、決定された複数の推奨機能を複数の機能指定キーにそれぞれ割り当てる。
【発明の効果】
【0007】
本発明によれば、複数の機能の効果的な組合せを初心者でも良好に認識することが可能となる。
【図面の簡単な説明】
【0008】
図1】電子楽器の実施形態のハードウェア構成例を示す図である。
図2】スイッチ・ディスプレイ部105の構成例を示す図である。
図3】ユーザボタン機能割当て処理の動作説明図である。
図4】ユーザボタン機能割当て処理において用いられる各種データのデータ構成例を示す図である。
図5】列ベクトルCの算出処理を含むユーザボタン群に対するボタン制御処理の例を示すフローチャートである。
図6】列ベクトルRと列ベクトルFの算出処理の例を示すフローチャートである。
図7】列ベクトルAの算出処理とボタン配置処理の例を示すフローチャートである。
図8】識別情報表示処理の例を示すフローチャートである。
図9】識別情報表示処理によりフルドットLCD202に表示される表示情報の画面例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。図1は、電子楽器の一例である電子鍵盤楽器の実施形態のハードウェア構成例を示す図である。図1において、電子鍵盤楽器100は、例えば電子ピアノとして実現され、CPU(中央演算処理装置)101、ROM(リードオンリーメモリ)102、RAM(ランダムアクセスメモリ)103、鍵盤部104、スイッチ・ディスプレイ部105、及び音源LSI106を備え、それらがシステムバス108によって相互に接続された構成を有する。また、音源LSI106の出力はサウンドシステム107に入力する。
【0010】
鍵盤部104は、複数の演奏操作子としての各鍵の押鍵又は離鍵操作を検出し、CPU101に通知する。
【0011】
スイッチ・ディスプレイ部105は、演奏者による各種スイッチの操作を検出し、CPU101に通知すると共に、CPU101によって各種情報が液晶ディスプレイに表示する。
【0012】
本実施形態では、例えば図2に例示されるような、ボタン1~Nより構成されるユーザボタン群(機能指定キー)201と、フルドットLCD(液晶ディスプレイ)202と、機能ボタン1~Mより構成される機能ボタン群203を備える。
【0013】
機能ボタン群203の各機能ボタンi(1≦i≦M)には、電子鍵盤楽器100において各種音楽機能を制御するための各種機能が割り当てられている。機能ボタン群203の形態は、機械的なボタンであってもよいし、タッチパネル式のディスプレイであってもよく、M個未満のボタンによる階層構造を備えていてもよし、その形態は特には問わない。
【0014】
本実施形態では、機能ボタン群203からアクセスできるM種類の全ての機能のうち、それよりも少ない所定数のN種類の機能を、ユーザボタン群201のボタン1~Nに割り当てることができる。ユーザは、ユーザボタン群201を操作することにより、例えば演奏中に割り当てられた機能に迅速にアクセスすることができる。本実施形態では、このユーザボタン群201の各ボタン1~Nに、ユーザの利用回数が高い機能と、その機能に関連していてユーザがまだ使ったことがないお勧めの機能とを自動的に割り当てることが可能である。
【0015】
CPU101は、RAM103を作業用メモリとして使用しながらROM102に記憶された制御プログラムをRAM103にロードして実行することにより、図1の電子楽器100の制御動作を実行する。CPU101は、鍵盤部104から通知された押鍵又は離鍵操作の検出通知に基づいて、演奏者による鍵盤演奏に対応する楽音の発音又は消音を指示するための発音指示データを生成する処理を実行し、生成した発音指示データを音源LSI106に通知する。また、本実施形態において、CPU101は、後述するフローチャートによって示される制御プログラムをROM102からRAM103にロードして実行することにより、図1のスイッチ・ディスプレイ部105内の図2に示されるユーザボタン群201の各ボタン1~Nに、ユーザの利用回数が高い機能と、その機能に関連していてユーザがまだ使ったことがないお勧めの機能とを自動的に割り当てる制御動作を実行する。
【0016】
音源LSI106は、楽音発生のための大規模集積回路である。音源LSI106は、CPU101から入力する発音指示データに基づいて、デジタル楽音波形データを生成し、サウンドシステム107に出力する。サウンドシステム107は、音源LSI106から入力したデジタル楽音波形データをアナログ楽音波形信号に変換した後、そのアナログ楽音波形信号を内蔵のアンプで増幅して内蔵のスピーカから放音する。
【0017】
上記構成を有する電子鍵盤楽器100の実施形態(以下「本実施形態」と記載)による、図2のユーザボタン群201への機能割当て処理(以降「ユーザボタン機能割当て処理」と記載)の詳細について、以下に説明する。図2を用いて前述したように、本実施形態では、機能ボタン群203からアクセスできるM種類の全ての機能のうち、それよりも少ない所定数のN種類の、ユーザの利用回数が高い機能と、その機能に関連していてユーザがまだ使ったことがないお勧めの機能とを、演奏中等に迅速にアクセスできるユーザボタン群201の各ボタン1~N(機能指定子)に、自動的に割り当てることが可能である。
【0018】
図3は、本実施形態におけるユーザボタン機能割当て処理の動作説明図、図4はユーザボタン機能割当て処理において用いられる各種データのデータ構成例を示す図である。本実施形態における上記ユーザボタン機能割当て処理においては、まず、所定数Nよりも多い複数の機能Mについての各機能の組合せ推奨度を示す正方行列データ(以下「機能組合せ推奨度正方行列データ」と記載)が、例えば図1のROM102に記憶される。
【0019】
具体的には、機能組合せ推奨度正方行列データは、図3に示される行列Wとして、図1のROM102に予め記憶される。行列Wにおいては、図4(a)に示されるように、M行からなる行(第i行)の夫々(1≦i≦M)に機能1から機能MのM種類の複数の機能(第1機能)が夫々割り当てられると共に、M列からなる列(第j行)の夫々(1≦j≦M)に機能1から機能MのM種類の機能(第2機能)が夫々割り当てられる。図3の例では、例えばスプリット機能、メインパート音色機能、スプリットパート音色機能、メインパートオクターブシフト機能、スプリットパートオクターブシフト機能、スプリットポイント機能、及びスプリットパート音量機能の7つの機能が、行列Wの各行及び各列に割り当てられる。
【0020】
スプリット機能は、図1の鍵盤部104の特には図示しない鍵盤を2つの領域にスプリット(分割)する機能である。ユーザは、スプリット機能が割り当てられたボタンを押下すると、デフォルトで分割された右側鍵盤領域のメインパートで例えばメロディを演奏でき、左側鍵盤領域のスプリットパートで特定の鍵操作により例えば自動伴奏を行うことができる。
【0021】
メインパート音色機能は、上記スプリット機能により有効になった右側鍵盤領域のメインパートの楽器音の音色を選択できる機能である。
【0022】
スプリットパート音色機能は、上記スプリット機能により有効になった左側鍵盤領域のスプリットパートの楽器音の音色を選択できる機能である。
【0023】
メインパートオクターブシフト機能は、上記スプリット機能により有効になった右側鍵盤領域の音域をオクターブ単位で高音域側又は低音域側にシフトできる機能である。
【0024】
スプリットパートオクターブシフト機能は、上記スプリット機能により有効になった左側鍵盤領域の音域をオクターブ単位で高音域側又は低音域側にシフトできる機能である。
【0025】
スプリットポイント機能は、上記スプリット機能により有効になった右側鍵盤領域と左側鍵盤領域の鍵盤上の境界位置を移動できる機能である。
【0026】
スプリットパート音量機能は、上記スプリット機能により有効になった左側鍵盤領域のスプリットパートのメインパートに対する楽器音量のバランスを調整できる機能である。
【0027】
上記各機能は、本実施形態の説明のための例示にすぎず、実際の製品では、様々な機能の組合せが規定されてよい。
【0028】
次に、行列Wにおいて、M行からなる行の夫々(第i行,1≦i≦M)とM列からなる列の夫々(j列,1≦j≦M)とが交差する各交差要素には、図4(a)に示されるように、その交差要素に対応する行(第i行)に割り当てられている第1機能と列(第j列)に割り当てられている第2機能との組合せの推奨度Wijが設定される。
行列Wの対角線要素では、行(第i行)と列(第j列)(j=i)に夫々割り当てられている第1機能及び第2機能が同一であり、その推奨度は最大値「1」とされる。もっともこの対角成分の最大値「1」は行列を正規化した場合であって、正規化しない場合は「1」より大きな値でもよい。
互いに異なる第1機能及び第2機能が夫々割り当てられている行(第i行)と列(第j列)(j≠i)の交差要素には、上記第1機能及び第2機能の組合せが推奨されない場合には値「0」が設定され、上記第1機能及び第2機能の組合せの推奨度(親和性)が高いほど値「1」に近い値が設定される。もっとも、機能の組み合わせをより推奨したい場合、これらの値(交差要素)は対角成分の値より大きな値が設定されてもよい。すなわち交差要素には「1」以上の値が設定されていてもよい。
【0029】
図3の例において、行列W内の破線の太枠301(第4~6行及び第4~6列の範囲の外枠)で示されるように、例えばスプリットポイント機能とメインパートオクターブシフト機能、スプリットポイント機能とスプリットパートオクターブシフト機能は、推奨度が高い値「0.8」に設定される(例えば図3の破線302(第6行第4列の範囲の太枠)又は303(第6行第5列の範囲の太枠))。これは、ユーザが例えばメインパートオクターブシフト機能やスプリットパートオクターブシフト機能を利用している場合には、その代わりとなるスプリットポイント機能が推奨機能としてユーザボタン群201に同時に割り当てられ得ることを意味する。逆に、ユーザが例えばスプリットポイント機能を利用している場合には、その代わりとなるメインパートオクターブシフト機能やスプリットパートオクターブシフト機能が推奨機能としてユーザボタン群201に同時に割り当てられ得ることを意味する。その逆もあり得る。
【0030】
その他、図3の例において、例えばスプリット機能とメインパート音色機能又はスプリットパート音色機能は、推奨度が高い値「0.8」に設定される。これは、ユーザが例えばスプリット機能を使用しているときには、メインパート音色機能やスプリットパート音色機能が推奨機能として高い確率でユーザボタン群201に同時に割り当てられ得ることを意味する。その逆もあり得る。
【0031】
又は、スプリット機能とメインパートオクターブシフト機能やスプリットパートオクターブシフト機能は、推奨度が比較的高い値「0.6」に設定される。これは、ユーザが例えばスプリット機能を使用しているときには、メインパートオクターブシフト機能やスプリットパートオクターブシフト機能が推奨機能として比較的高い確率でユーザボタン群201に同時に割り当てられ得ることを意味する。その逆もあり得る。
【0032】
或いは、スプリット機能とスプリットポイント機能は、推奨度がある程度高い値「0.4」に設定される。これは、ユーザが例えばスプリット機能を使用しているときには、スプリットポイント機能が推奨機能としてある程度高い確率でユーザボタン群201に同時に割り当てられ得ることを意味する。その逆もあり得る。
【0033】
更には、スプリット機能とスプリットパート音量機能は、推奨度がやや高い値「0.2」に設定される。これは、ユーザが例えばスプリット機能を使用しているときには、スプリットパート音量機能が推奨機能としてやや高い確率でユーザボタン群201に同時に割り当てられ得ることを意味する。その逆もあり得る。
図3に示す本実施形態では、正方行列W(行列データ)を例示した。しかし必ずしも正方行列である必要はなく、非正方行列(行列データ)であってもよい。正方行列における特定機能の行要素にすべて0を設定することと、非正方行列にてその特定機能を除外することは等価である。また、本実施形態では、正方行列Wにおける対角成分には同じ値が設定されている。しかし必ずしも対角成分に同じ値を設定する必要はない。例えば、機能Aと機能Bの組み合わせを推奨するけれども、機能Aが使われた場合は機能Bを強く推奨するのに対し、機能Bが使われた場合は機能Aをそこまでは推奨しないという場合、対角成分には異なる値が設定されてもよい。
【0034】
次に、本実施形態における上記ユーザボタン機能割当て処理において、例えば図1のCPU101が、ユーザによる複数の機能毎の利用回数を、機能利用回数データとして算出する。
【0035】
具体的には、CPU101は、機能利用回数データを、図3に示される列ベクトルCとして算出する。列ベクトルCにおいては、図4(b)に示されるように、M行からなる行(第i行)の夫々(1≦i≦M)に機能1から機能MのM種類の機能の夫々が割り当てられる。
また、CPU101は、列ベクトルCにおいて、M行からなる行(第i行)の夫々(1≦i≦M)の要素に、図4(b)に示されるように、M種類の機能の夫々の利用回数Cを設定する。利用回数Cの単位は例えば回数である。
【0036】
図5は、列ベクトルCの算出処理を含む図2のユーザボタン群201に対するボタン制御処理の例を示すフローチャートである。この処理は、図1のCPU101が、ROM102に記憶されているボタン制御処理のプログラムをRAM103にロードして、特には図示しないメインのループ処理の中で繰り返し実行する処理である。
【0037】
図5においてまず、CPU101は、スイッチ・ディスプレイ部105内の図2の機能ボタン群203の機能ボタン1からNのうちどのボタンが操作されたかを検出するボタン検出処理を実行する(ステップS501)。
ここで、ユーザボタン群201内のボタン1からNには夫々、機能ボタン群203内のN個の機能ボタンが夫々、ショートカットとして割り当てられている。そこで、ユーザボタン群201のボタン1からNの何れかのボタンj(1≦i≦N)が操作された場合には、CPU101は、そのボタンjに対応する機能ボタン群203内の機能ボタンi(1≦i≦M)が操作されたと判断する。
【0038】
次に、CPU101は、例えばボタンi(1≦i≦M)が操作されたことを検出すると、そのボタンiに現在割り当てられている機能処理Pを実行する(ステップS502)(1≦i≦M)。
【0039】
そして、CPU101は、図1のRAM103に記憶されている図4(b)のデータ構成例を有する列ベクトルCの構造体において、ボタンiに対応する図4(b)のi番目の要素の利用回数Cを+1カウントアップする(ステップS503)(1≦i≦N)。
【0040】
その後、CPU101は、図5のフローチャートで示されるボタン制御処理を終了する。
【0041】
以上のボタン制御処理が特には図示しないメインループ処理により繰り返し実行されることにより、RAM103上の図4(b)のデータ構成例を有する列ベクトルCの構造体として、機能利用回数データが蓄積される。
【0042】
図3の説明に戻り、本実施形態では、CPU101は、上述の機能組合せ推奨度正方行列データと機能利用回数データとから、ユーザに対する複数の機能毎の推奨度(以下「対ユーザ機能推奨度データ」と記載)として算出する。
【0043】
具体的には、CPU101は、下記(1)式で示される演算により、行列Wに列ベクトルCを乗算することにより、対ユーザ機能推奨度データを図3に示される列ベクトルRとして算出する。
R=WC・・・(1)
列ベクトルRにおいては、図4(c)に示されるように、M行からなる行(第i行)の夫々(1≦i≦M)に機能1から機能MのM種類の機能の夫々が割り当てられる。
また、CPU101は、列ベクトルRにおいて、M行からなる行(第i行)の夫々(1≦i≦M)の要素に、図4(c)に示されるように、(1)式の行列Wと列ベクトルCとの乗算の結果として、ユーザに対するM種類の機能毎の推奨度Rを算出して設定する。
【0044】
図3の例において、前述の(1)式で示される行列演算において、例えばユーザはスプリットポイント機能は1回も利用していない。このため、列ベクトルCのスプリットポイント機能の要素の機能利用回数データは0回となっている(図3の破線枠304)。
しかし、(1)式の行列演算の結果、列ベクトルRのスプリットポイント機能の要素の対ユーザ機能推奨度データとしては、104という高い数字が出現している(図3の破線枠305)。これは、次のような理由による。まず、ユーザがスプリット機能を100回使ったことがスプリット機能に対して「0.4」の推奨度を有するスプリットポイント機能のスコア40となって現れている。また、スプリット機能に対して推奨度が「0.8」と高く設定されているメインパートオクターブシフト機能とスプリットパートオクターブシフト機能についてもユーザが40回ずつ使用したことが32+32というスコアの加算として寄与してきている。このため、列ベクトルRにおけるスプリットポイント機能についての対ユーザ機能推奨度データを算出するための、行列Wのスプリットポイント機能の行(第6行目)と列ベクトルCと列ベクトルCとの乗算+累算演算の結果が、
0.4×100+0×0+0×0+0.8×40+0.8×40
+1×0+0×0=40+32+32=104
というように、高いスコアとなっているためである。
このことは、スプリットポイント機能をほとんど利用せずに(つまりもしかしたらスプリット機能を知らずに)、メインパートオクターブシフト機能やスプリットパートオクターブシフト機能を利用しているユーザに対して、スプリット位置を固定のままオクターブシフト機能を使うよりも、スプリットポイント機能を使ってスプリット位置を変更したほうが良いですよということを、本実施形態のシステムがお勧めしていることを意味する。
【0045】
また、図3の例において、元々ユーザによる利用回数が多いスプリット機能自体や、メインパートオクターブシフト機能、及びスプリットパートオクターブシフト機能については、列ベクトルCでのそれらの機能に対する機能利用回数データの値が、100、40、40というように高い値である。この結果、行列Wと列ベクトルCとの乗算の結果として得られる列ベクトルRにおける各対ユーザ機能推奨度データの値も、148、100、100というように高い値となっている。
例えば、列ベクトルRにおけるスプリット機能についての対ユーザ機能推奨度データを算出するための、行列Wのスプリット機能の行(第1行目)と列ベクトルCとの乗算+累算演算の結果が、
1×100+0.8×0+0.8×0+0.6×40+0.6×40
+0.4×0+0.2×0=100+24+24=148
というように、高いスコアとなっている。
【0046】
このように、本実施形態では、ユーザボタン機能割当て処理において、ユーザの機能利用回数データそのものではなく、機能組合せ推奨度正方行列データである行列Wと機能利用回数データである列ベクトルCとの掛け合わせにより算出される列ベクトルRに得られる対ユーザ機能推奨度Rに基づいて、ユーザボタン群201への機能割当てが行われる。この結果、ユーザの機能利用回数だけではなく、機能間の推奨度(親和性)に基づいてユーザが知らないような機能も、お勧め機能としてユーザボタン群201に割り当てることが可能となる。
【0047】
図3の説明を続ける。本実施形態では、CPU101は、上述の機能利用回数データ及び対ユーザ機能推奨度データに基づいて、所定数Nの機能を機能配置確定データとして算出する。
【0048】
具体的には、CPU101は、機能配置確定データを、図3に示される列ベクトルFとして算出する。列ベクトルFにおいては、図4(d)に示されるように、M行からなる行(第i行)の夫々(1≦i≦M)に機能1から機能MのM種類の機能の夫々が割り当てられる。
次に、CPU101は、列ベクトルCにおいて利用回数の値が大きい順に第1の数L個(≦N)の要素に夫々対応する列ベクトルFの要素に夫々値「1」を設定する。
続いて、CPU101は、列ベクトルRにおいて推奨度Rの値が大きい順に(N-L)個の要素に夫々対応し上述の値「1」がまだ設定されていない列ベクトルFの要素に夫々値「1」を更に設定する。
そして、CPU101は、列ベクトルFの値「1」が設定されている要素以外の要素には値「0」を設定する。
【0049】
例えば図3の例で、列ベクトルC中の機能利用回数データCの値が大きい順にL=3個の要素「C=100」、「C=40」、及び「C=40」に夫々対応する列ベクトルの要素「F、F、F」に夫々「1」が設定される。続いて、列ベクトルRにおいて推奨度Rの値が大きい順に(N-L)=(4-3)=1個の要素「R=104」に対応し上述の値「1」がまだ設定されていない列ベクトルFの要素「F」に値「1」が設定される。そして、値「1」が設定されている要素以外の要素「F、F、F」には値「0」が設定される。このようにして、スプリット機能、メインパートオクターブシフト機能、スプリットパートオクターブシフト機能、及びスプリットポイント機能の4つの機能が、図2のユーザボタン群201のN=4個のボタン1から4に割り当てられることが確定する。ただし、配置順はまだ決定されていない。
【0050】
このように、列ベクトルFの算出時には、列ベクトルCでどのくらいの値の機能利用回数データを持っていたとか、列ベクトルRでどのくらいの値の対ユーザ機能推奨度データを持っていたとかの情報は除去されて、値「1」という機能配置確定データにまとめられている。即ち、列ベクトルFの機能配置確定データは、図2のユーザボタン群201のN個のボタン1からNに対して、M種類の機能のうちどのN種類の機能を割り当てるかという確定情報を与えることになる。
【0051】
なお、この機能配置確定データを、列ベクトルCの機能利用回数データの値が高いL個から選び、列ベクトルRの対ユーザ機能推奨度データの値が高い(N-L)個から選ぶようにしたのは、ユーザによる利用回数と機能間の推奨度に基づく対ユーザ機能推奨度とで判断基準をバランスさせてユーザボタン群201への機能割当てを行えるようにするためである。
【0052】
図6は、上述の列ベクトルRと列ベクトルFの算出処理の例を示すフローチャートである。この処理は、図1のCPU101が、例えばユーザのスイッチ・ディスプレイ部105での特には図示しないスイッチ等による指示に従って、ROM102に記憶されているユーザボタン機能割当て処理のプログラムをRAM103にロードして実行する処理の一部である。
【0053】
まず、CPU101は、前述の(1)式で示される演算により、図1のROM102に予め記憶されている図4(a)のデータ構成例を有する行列Wに、前述した図5のフローチャートで例示されるボタン制御処理により図1のRAM103に生成されている図4(b)のデータ構成例を有する列ベクトルCを乗算することにより、対ユーザ機能推奨度データを列ベクトルRとして算出し、図4(c)のデータ構成例でRAM103に記憶させる(ステップS601)。
【0054】
次に、CPU101は、RAM103上の図4(b)のデータ構成例の列ベクトルCを参照し、機能利用回数データCの値が高いL(≦N)個の機能に対応するRAM103上の列ベクトルFの図4(d)のデータ構成例の構造体の要素に値「1」を設定する(ステップS602)。
【0055】
更に、CPU101は、ステップS601によりRAM103上に得られている図4(c)のデータ構成例の列ベクトルRを参照し、ステップS602で既に値「1」が設定された要素を除く、対ユーザ機能推奨度データRの大きい上位(N-L)個の機能に対応するRAM103上の列ベクトルFの図4(d)のデータ構成例の構造体の要素に値「1」を設定する(ステップ603)。
【0056】
なお、RAM103上の列ベクトルFの図4(d)のデータ構成例の構造体の初期状態としては、全ての要素に値「0」が設定されているとする。従って、RAM103上の列ベクトルFの図4(d)のデータ構成例の構造体において、ステップS602とS603で値「1」が設定された要素以外の要素の値は「0」となる。
【0057】
ステップS603の処理の後、CPU101は、図6のフローチャートで示される列ベクトルRと列ベクトルFの算出処理を終了する。
【0058】
図3の説明に戻り、本実施形態では、CPU101は、上述の機能組合せ推奨度正方行列データと機能配置確定データとから、機能配置順位データを算出する。そして、CPU101は、算出した機能配置順位データに基づく配置順位で、所定数Nの機能を機能指定子の夫々に割り当てる。
【0059】
具体的には、CPU101は、下記(2)式で示される演算により、行列Wに列ベクトルFを乗算することにより、機能配置順位データを図3に示される列ベクトルAとして算出する。
A=WF・・・(2)
列ベクトルAにおいては、図4(e)に示されるように、M行からなる行(第i行)の夫々(1≦i≦M)に機能1から機能MのM種類の機能の夫々が割り当てられる。
また、CPU101は、列ベクトルAにおいて、M行からなる行(第i行)の夫々(1≦i≦M)の要素に、図4(e)に示されるように、(2)式の行列Wと列ベクトルFとの乗算の結果として、機能配置順位データAを算出して設定する。
【0060】
その後、CPU101は、列ベクトルAにおいて、機能配置順位データAの値が大きい所定数Nの要素の順に対応する配置順位で、その所定数Nの要素に対応する所定数Nの機能を機能指定子の夫々に割り当てる。
【0061】
例えば図3の例において、列ベクトルA中で機能配置順位データAの値が「A=2.6」、「A=2.4」、「A=2.4」、及び「A=3」である、スプリット機能、メインパートオクターブシフト機能、スプリットパートオクターブシフト機能、及びスプリットポイント機能が選択される。
そして、各機能配置順位データAの値を大きい順に並び替えたスプリットポイント機能(A=3)、スプリット機能(A=2.6)、メインパートオクターブシフト機能(A=2.4)、及びスプリットパートオクターブシフト機能(A=2.4)の配置順で、図2のユーザボタン群201のN=4個のボタン1から4に割り当てられる。
【0062】
このように、本実施形態では、列ベクトルFの機能配置確定データが行列Wの機能組合せ推奨度正方行列データに乗算されて列ベクトルAの機能配置順位データが算出されることにより、ユーザボタン群201への各ボタンへの割当てにおける機能間の配置順位が、ユーザの機能利用回数によってではなく、行列Wが持つ機能間の推奨度のみに基づいて行われる。例えば、図3の例では、ユーザが一度も利用しておらず列ベクトルCの機能利用回数データが0であるスプリットポイント機能(図3の破線枠304)に関する機能配置順位データA=3と算出され(図3の破線枠306)、スプリットポイント機能がユーザボタン群201の1番目のボタン1に割り当てられる。このようにして、ユーザに機能間の関係性を把握し易くさせるようにすることができる。
【0063】
ただし、列ベクトルRの対ユーザ機能推奨度データに基づいて列ベクトルAの機能配置順位データが算出されるようにして、ユーザボタン群201への各ボタンへの割当てにおける機能間の配置順位が、ユーザの機能利用回数にも依存するようにしてもよい。
【0064】
図7は、上述の列ベクトルAの算出処理とボタン配置処理の例を示すフローチャートである。この処理は、図6と同様に、図1のCPU101が、例えばユーザのスイッチ・ディスプレイ部105での特には図示しないスイッチ等による指示に従って、ROM102に記憶されているユーザボタン機能割当て処理のプログラムをRAM103にロードして実行する処理の一部であり、図6の列ベクトルRと列ベクトルFの算出処理に続いて実行される。
【0065】
まず、CPU101は、前述の(2)式で示される演算により、図1のROM102に予め記憶されている図4(a)のデータ構成例を有する行列Wに、前述した図6のステップS602及びS603の処理により図1のRAM103に生成されている図4(d)のデータ構成例を有する列ベクトルFを乗算することにより、機能配置順位データを列ベクトルAとして算出し、図4(e)のデータ構成例でRAM103に記憶させる(ステップS701)。
【0066】
次に、CPU101は、列ベクトルFと列ベクトルAを参照し、配置が確定している機能のうち、配置順位の高い機能から順に、図2のユーザボタン群201の左端のボタン1から順次機能を配置する(ステップS702)。
【0067】
その後、CPU101は、図7のフローチャートで示される列ベクトルAの算出処理とボタン配置処理を終了する。
【0068】
本実施形態は、前述したM種類の機能毎に、その機能を識別表示(ラベル表示)するための機能識別表示情報を、例えば図4(f)に例示されるようなデータ構成例で、図1のROM102に予め記憶している。そして、CPU101は、上記機能識別表示情報に基づいて、図7のフローチャートによって割当てが実行されたN種類の機能指定子毎に、その機能指定子に割り当てられている機能に対応する機能識別表示情報を取得してその機能獅子の近傍に識別表示する。
【0069】
図8は、上述の識別情報表示処理の例を示すフローチャートである。この処理は、図6及び図7と同様に、図1のCPU101が、例えばユーザのスイッチ・ディスプレイ部105での特には図示しないスイッチ等による指示に従って、ROM102に記憶されているユーザボタン機能割当て処理のプログラムをRAM103にロードして実行する処理の一部であり、図7の列ベクトルAの算出処理及びボタン配置処理に続いて実行される。
【0070】
図8のフローチャートにおいて、CPU101はまず、図7のステップS702の処理による、図2のユーザボタン群201の各ボタンへの機能の配置を参照する。そして、各ボタンに割り当てられた機能毎に、ROM102に記憶されている図4(f)のデータ構成例の機能識別表示情報Sにアクセスすることにより、各ボタンの機能を識別するための識別表示である文字列Sを参照し、機能毎の文字列Sに基づいて、図2のフルドットLCD202に表示するための表示情報Dを生成し、図1のRAM1033に記憶させる(ステップS801)。
【0071】
そして、CPU101は、ユーザが電子鍵盤楽器100を演奏している間、ステップS801で機能毎に生成した表示情報Dを、図2のフルドットLCD202に表示させることをフルドットLCD202の制御回路に指示する(ステップS802)。
【0072】
その後、CPU101は、図8のフローチャートで示される識別情報表示処理を終了し、ユーザボタン機能割当て処理のプログラムの実行を終了して、特には図示しないメインループ処理の実行に戻る。
【0073】
図9は、上述の識別情報表示処理により図2のフルドットLCD202に表示される表示情報Dの画面例を示す図である。図7のフローチャートで例示される処理により、スプリットポイント機能、スプリット機能、メインパートオクターブシフト機能、及びスプリットパートオクターブシフト機能が、ユーザボタン群201のN=4個のボタン1から4に割り当てられたとする。この結果、図8のフローチャートに例示される識別情報表示処理により、各機能のラベルを示す図9に示される表示情報Dが、フルドットLCD202の下部のボタン1から4の各近傍に常時表示される。
【0074】
本実施形態では、行列Wの機能組合せ推奨度データは、例えば工場設定による固定値としてROM102に予め記憶されているが、ユーザの習熟度に応じて複数種類が用意されてもよく、又はユーザの機能利用履歴に基づいて生成されてもよい。更には、行列Wの機能組合せ推奨度データは、インターネットなどを通じて他のユーザと共有されてもよい。
【0075】
本実施形態では、図2のユーザボタン群201は、物理的なスイッチボタンとして説明したが、これらは例えばタッチパネル液晶に表示されるボタンであってもよい。
【0076】
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
複数の機能指定キーと、
少なくとも1つのプロセッサと、
を備え、前記少なくとも1つのプロセッサは、
各機能の組合せ推奨度を示す行列データ及びユーザによる各機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の機能指定キーにそれぞれ割り当てる、
電子機器。
(付記2)
前記行列データは、行及び列にそれぞれ機能が対応付けられており、
行と列が交差する交差要素には、行に対応する第1機能と列に対応する第2機能の組合せの推奨度を示す値が設定されている、
付記1に記載の電子機器。
(付記3)
前記交差要素には、0以上1以下の値が設定されている、
付記2に記載の電子機器。
(付記4)
前記行列データは、非正方行列及び正方行列の何れかを含む、
付記1乃至3の何れかに記載の電子機器。
(付記5)
決定される前記複数の推奨機能には、前記ユーザによる利用が1度もない機能が含まれ得る、
付記1乃至4の何れかに記載の電子機器。
(付記6)
複数の音楽機能指定キーと、
少なくとも1つのプロセッサと、
を備え、前記少なくとも1つのプロセッサは、
各音楽機能の組合せ推奨度を示す行列データ及びユーザによる各音楽機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の音楽機能指定キーにそれぞれ割り当てる、
電子楽器。
(付記7)
電子機器の少なくとも1つのプロセッサが、
各機能の組合せ推奨度を示す行列データ及びユーザによる各機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の機能指定キーにそれぞれ割り当てる、
方法。
(付記8)
電子機器の少なくとも1つのプロセッサに、
各機能の組合せ推奨度を示す行列データ及びユーザによる各機能の利用回数データに基づいて、ユーザに利用を推奨する複数の推奨機能を決定し、
決定された前記複数の推奨機能を前記複数の機能指定キーにそれぞれ割り当てる、
処理を実行させるプログラム。
【符号の説明】
【0077】
100 電子鍵盤楽器
101 CPU
102 ROM
103 RAM
104 鍵盤部
105 スイッチ・ディスプレイ部
106 音源LSI
107 サウンドシステム
108 システムバス
201 ユーザボタン群
202 フルドットLCD
203 機能ボタン群
W 機能組合せ推奨度正方行列データ
C 機能利用回数列ベクトルデータ
R 対ユーザ機能推奨度列ベクトルデータ
F 機能配置確定列ベクトルデータ
A 機能配置順位列ベクトル
図1
図2
図3
図4
図5
図6
図7
図8
図9