(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023067272
(43)【公開日】2023-05-16
(54)【発明の名称】サーバ、電子機器、サーバ通信方法、機器通信方法および通信システム
(51)【国際特許分類】
G10H 1/00 20060101AFI20230509BHJP
H04N 21/2668 20110101ALI20230509BHJP
H04N 21/472 20110101ALI20230509BHJP
【FI】
G10H1/00 Z
H04N21/2668
H04N21/472
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2021178347
(22)【出願日】2021-10-29
(71)【出願人】
【識別番号】000116068
【氏名又は名称】ローランド株式会社
(74)【代理人】
【識別番号】110000534
【氏名又は名称】弁理士法人真明センチュリー
(72)【発明者】
【氏名】深山 祐介
(72)【発明者】
【氏名】高橋 登紀夫
(72)【発明者】
【氏名】室橋 翼
(72)【発明者】
【氏名】小川 大地
【テーマコード(参考)】
5C164
5D478
【Fターム(参考)】
5C164FA12
5C164GA05
5C164MA02S
5C164MA07S
5C164SA21S
5C164SA53S
5C164SB08S
5C164SB21S
5C164SB29S
5C164SB36S
5C164SC05P
5C164UA52S
5C164UB10S
5C164UB37S
5C164UB71S
5C164UD41P
5D478HH15
(57)【要約】
【課題】サーバ上のデータを容易に利用できるサーバ、電子機器、サーバ通信方法、機器通信方法および通信システムを提供すること。
【解決手段】通信システムSのロードにおいては、A40の処理によって音色データの識別子と、当該音色データのロードの指示とが携帯端末50からサーバ70に送信された場合に、サーバ70は、当該音色データの識別子に該当する音色データを音色DB72dから取得し、受信した指示と共に通信装置1(電子楽器30)に送信する。電子楽器30においては、サーバ70から受信した指示に応じて受信した音色データをワークメモリ33aに保存する。これにより、電子楽器30に他の記憶媒体を接続することなく、電子楽器30でサーバ70上の音色データを容易に利用できる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
端末と、電子機器とに接続されるサーバにおいて、
前記電子機器において音または映像の再生に利用されるデータを記憶するデータ記憶手段と、
前記端末から前記電子機器に対する指示であって、前記電子機器に対して前記データ記憶手段のデータを受信して保存させる指示を受信する指示受信手段と、
前記指示受信手段で受信した指示の対象であるデータについて、データ又はデータ要求先を作成する情報作成手段と、
前記指示受信手段で受信した指示の対象であるデータを受信して保存する指示および前記データ又はデータ要求先を前記電子機器に送信する指示送信手段とを備えていることを特徴とするサーバ。
【請求項2】
前記指示受信手段で受信した指示に基づき、前記指示送信手段で送信する指示に前記電子機器における前記データの保存場所を含めることを特徴とする請求項1記載のサーバ。
【請求項3】
前記電子機器から、前記指示送信手段で送信した指示に基づく前記データ要求先を含むデータの要求を受信する要求受信手段と、
前記要求受信手段で受信した要求に該当するデータを前記データ要求先から取得する要求データ取得手段と、
前記要求データ取得手段で取得したデータを前記電子機器に送信する要求データ送信手段とを備えていることを特徴とする請求項1記載のサーバ。
【請求項4】
前記要求受信手段による受信と、前記要求データ送信手段による送信とを、HTTPSプロトコルによる通信で実行することを特徴とする請求項3記載のサーバ。
【請求項5】
前記要求受信手段で受信する要求はユーザ識別子またはアクセス認可情報を含み、
要求データ取得手段は、それらユーザ識別子またはアクセス認可情報の一方または両方が正当である場合に前記データを取得することを特徴とする請求項3又は4に記載のサーバ。
【請求項6】
前記指示受信手段による受信と、前記指示送信手段による送信とを、MQTTプロトコルによる通信で実行することを特徴とする請求項1から5のいずれかに記載のサーバ。
【請求項7】
前記電子機器から、前記サーバから受信して前記電子機器に保存したデータの識別情報を受信する保存データ受信手段と、
前記保存データ受信手段で受信したデータの識別情報を記憶する保存データ記憶手段とを備えていることを特徴とする請求項1から6のいずれかに記載のサーバ。
【請求項8】
通信装置が装着され、その通信装置を介して他装置および端末に接続される電子機器において、
音または映像の再生に利用されるデータを保存する第1の保存手段と、
同様に音または映像の再生に利用されるデータを保存する第2の保存手段と、
前記他装置から、音または映像の再生に利用されるデータを受信して保存する指示およびデータ又はデータ要求先を受信するデータ受信指示受信手段とを備え、
前記指示に含まれる前記電子機器における前記データの保存場所に基づき前記データを前記第1の保存手段または前記第2の保存手段に保存し、
前記データ受信指示受信手段で受信する前記他装置からのデータを受信して保存する指示およびデータ又はデータ要求先は、前記端末から前記他装置に対して送信された指示に基づくことを特徴とする電子機器。
【請求項9】
他装置および端末に接続される電子機器において、
音または映像の再生に利用されるデータを保存する第1の保存手段と、
同様に音または映像の再生に利用されるデータを保存する第2の保存手段と、
前記他装置から、音または映像の再生に利用されるデータを受信して保存する指示およびデータ又はデータ要求先を受信するデータ受信指示受信手段とを備え、
前記指示に含まれる前記電子機器における前記データの保存場所に基づき前記データを前記第1の保存手段または前記第2の保存手段に保存し、
前記データ受信指示受信手段で受信する前記他装置からのデータを受信して保存する指示およびデータ又はデータ要求先は、前記端末から前記他装置に対して送信された指示に基づくことを特徴とする電子機器。
【請求項10】
前記他装置に対して、データの要求および前記データ受信指示受信手段で受信したデータ要求先を送信する要求送信手段と、
前記他装置から、前記要求送信手段で送信したデータの要求に該当するデータを受信する要求データ受信手段とを備えていることを特徴とする請求項8又は9に記載の電子機器。
【請求項11】
前記要求送信手段による送信と、前記要求データ受信手段による受信とを、HTTPSプロトコルによる通信で実行することを特徴とする請求項10記載の電子機器。
【請求項12】
前記要求送信手段で送信する要求は、ユーザ識別子またはアクセス認可情報を含むことを特徴とする請求項10又は11に記載の電子機器。
【請求項13】
前記他装置に対して、その他装置から受信して前記電子機器に保存したデータの識別情報を送信する保存データ送信手段を備えていることを特徴とする請求項8から12のいずれかに記載の電子機器。
【請求項14】
端末と、電子機器とに接続されるサーバで実行されるサーバ通信方法において、
前記端末から前記電子機器に対する指示であって、前記電子機器に対して前記サーバが記憶するデータを受信して保存させる指示を受信する指示受信ステップと、
前記指示受信ステップで受信した指示の対象であるデータについて、データ又はデータ要求先を作成する情報作成ステップと、
前記指示受信ステップで受信した指示の対象であるデータを受信して保存する指示および前記データ又はデータ要求先を前記電子機器に送信する指示送信ステップとを備えていることを特徴とするサーバ通信方法。
【請求項15】
他装置および端末に接続される電子機器で実行される機器通信方法において、
前記他装置から、音または映像の再生に利用されるデータを受信して保存する指示およびデータ又はデータ要求先を受信するデータ受信指示受信ステップと、
前記指示に含まれる前記電子機器における前記データの保存場所に基づき前記データを第1の保存手段または第2の保存手段に保存するデータ保存ステップとを備え、
前記データ受信指示受信ステップで受信する前記他装置からのデータを受信して保存する指示およびデータ又はデータ要求先は、前記端末から前記他装置に対して送信された指示に基づくことを特徴とする機器通信方法。
【請求項16】
端末と、サーバと、電子機器とから構成される通信システムにおいて、
前記端末は、
前記サーバに、前記電子機器に対する前記サーバが記憶するデータを受信して保存する指示を送信する端末指示送信手段を備え、
前記サーバは、
前記電子機器において音または映像の再生に利用されるデータを記憶するデータ記憶手段と、
前記端末から前記電子機器に対する指示であって、前記電子機器に対して前記データ記憶手段のデータを受信して保存させる指示を受信する指示受信手段と、
前記指示受信手段で受信した指示の対象であるデータについて、データ又はデータ要求先を作成する情報作成手段と、
前記指示受信手段で受信した指示の対象であるデータを受信して保存する指示および前記データ又はデータ要求先を前記電子機器に送信する指示送信手段とを備え、
前記電子機器は、
前記サーバから送信された、データを受信して保存する指示および前記データ又はデータ要求先を受信するデータ受信指示受信手段と、
前記データ受信指示受信手段で受信した指示に応じた処理を、前記データ又はデータ要求先を用いて実行する実行手段とを備えていることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はサーバ、電子機器、サーバ通信方法、機器通信方法および通信システムに関するものである。
【背景技術】
【0002】
特許文献1には、サーバ10に記憶されるサウンドデータをPC30及び記録メディア45を介して電子楽器50に送信し、送信されたサウンドデータを電子楽器50で利用するデータ利用システムSが開示されている。電子楽器50においては、自身に予め内蔵されるサウンドデータのみならず、サーバ10から取得されたサウンドデータも利用できるので、これらのサウンドデータによって表現豊かな演奏が可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特願2020-082550号(例えば、段落0013,0014,0047,0096、
図1)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、電子楽器50でサーバ12上のサウンドデータを使用するためには、記録メディア45を介さなければならない。具体的には、まず、サーバ12のサウンドデータをPC30に保存し、保存されたサウンドデータをPC30に接続される記録メディア45に保存し、記録メディア45をPC30から取り外して電子楽器50に接続し、更に記録メディア45内のサウンドデータを電子楽器50に保存する必要がある。よって、サーバ12のサウンドデータを電子楽器50で利用するまでに多大なユーザの手間および時間を要するという問題点があった。
【0005】
本発明は、上述した問題点を解決するためになされたものであり、電子機器においてサーバ上のデータを容易に利用できるサーバ、電子機器、サーバ通信方法、機器通信方法および通信システムを提供することを目的としている。
【課題を解決するための手段】
【0006】
この目的を達成するために本発明のサーバは、端末と、電子機器とに接続されるものであり、前記電子機器において音または映像の再生に利用されるデータを記憶するデータ記憶手段と、前記端末から前記電子機器に対する指示であって、前記電子機器に対して前記データ記憶手段のデータを受信して保存させる指示を受信する指示受信手段と、前記指示受信手段で受信した指示の対象であるデータについて、データ又はデータ要求先を作成する情報作成手段と、前記指示受信手段で受信した指示の対象であるデータを受信して保存する指示および前記データ又はデータ要求先を前記電子機器に送信する指示送信手段とを備えている。
【0007】
本発明の電子機器は、通信装置が装着され、その通信装置を介して他装置および端末に接続されるものであり、音または映像の再生に利用されるデータを保存する第1の保存手段と、同様に音または映像の再生に利用されるデータを保存する第2の保存手段と、前記他装置から、音または映像の再生に利用されるデータを受信して保存する指示およびデータ又はデータ要求先を受信するデータ受信指示受信手段とを備え、前記指示に含まれる前記電子機器における前記データの保存場所に基づき前記データを前記第1の保存手段または前記第2の保存手段に保存し、前記データ受信指示受信手段で受信する前記他装置からのデータを受信して保存する指示およびデータ又はデータ要求先は、前記端末から前記他装置に対して送信された指示に基づくものである。
【0008】
本発明の別の電子機器は、他装置および端末に接続されるものであり、音または映像の再生に利用されるデータを保存する第1の保存手段と、同様に音または映像の再生に利用されるデータを保存する第2の保存手段と、前記他装置から、音または映像の再生に利用されるデータを受信して保存する指示およびデータ又はデータ要求先を受信するデータ受信指示受信手段とを備え、前記指示に含まれる前記電子機器における前記データの保存場所に基づき前記データを前記第1の保存手段または前記第2の保存手段に保存し、前記データ受信指示受信手段で受信する前記他装置からのデータを受信して保存する指示およびデータ又はデータ要求先は、前記端末から前記他装置に対して送信された指示に基づくものである。
【0009】
本発明のサーバ通信方法は、端末と、電子機器とに接続されるサーバで実行される方法であり、前記端末から前記電子機器に対する指示であって、前記電子機器に対して前記サーバが記憶するデータを受信して保存させる指示を受信する指示受信ステップと、前記指示受信ステップで受信した指示の対象であるデータについて、データ又はデータ要求先を作成する情報作成ステップと、前記指示受信ステップで受信した指示の対象であるデータを受信して保存する指示および前記データ又はデータ要求先を前記電子機器に送信する指示送信ステップとを備えている。
【0010】
本発明の機器通信方法は、他装置および端末に接続される電子機器で実行される方法であり、前記他装置から、音または映像の再生に利用されるデータを受信して保存する指示およびデータ又はデータ要求先を受信するデータ受信指示受信ステップと、前記指示に含まれる前記電子機器における前記データの保存場所に基づき前記データを第1の保存手段または第2の保存手段に保存するデータ保存ステップとを備え、前記データ受信指示受信ステップで受信する前記他装置からのデータを受信して保存する指示およびデータ又はデータ要求先は、前記端末から前記他装置に対して送信された指示に基づくものである。
【0011】
また、本発明の通信システムは、端末と、サーバと、電子機器とから構成されるシステムであり、前記端末は、前記サーバに、前記電子機器に対する前記サーバが記憶するデータを受信して保存する指示を送信する端末指示送信手段を備え、前記サーバは、前記電子機器において音または映像の再生に利用されるデータを記憶するデータ記憶手段と、前記端末から前記電子機器に対する指示であって、前記電子機器に対して前記データ記憶手段のデータを受信して保存させる指示を受信する指示受信手段と、前記指示受信手段で受信した指示の対象であるデータについて、データ又はデータ要求先を作成する情報作成手段と、前記指示受信手段で受信した指示の対象であるデータを受信して保存する指示および前記データ又はデータ要求先を前記電子機器に送信する指示送信手段とを備え、前記電子機器は、前記サーバから送信された、データを受信して保存する指示および前記データ又はデータ要求先を受信するデータ受信指示受信手段と、前記データ受信指示受信手段で受信した指示に応じた処理を、前記データ又はデータ要求先を用いて実行する実行手段とを備えている。
【図面の簡単な説明】
【0012】
【
図1】(a)は、通信システムの概要を表す図であり、(b)は通信装置の外観を表す図である。
【
図2】セットアップモードにおける通信装置、電子楽器、携帯端末およびサーバによる通信を表す図である。
【
図3】セットアップモード後における通信装置、電子楽器、携帯端末およびサーバによる通信を表す図である。
【
図4】ロード、ライト及びインストールの概要を説明する図である。
【
図5】ロードにおける通信装置、電子楽器、携帯端末およびサーバによる通信を表す図である。
【
図6】ライトにおける通信装置、電子楽器、携帯端末およびサーバによる通信を表す図である。
【
図7】インストールにおける通信装置、電子楽器、携帯端末およびサーバによる通信を表す図である。
【
図9】通信システムにおける通信装置および電子楽器の電気的構成を示すブロック図である。
【
図10】通信システムにおける携帯端末およびサーバの電気的構成を示すブロック図である。
【
図11】(a)は、ユーザDBを模式的に表す図であり、(b)は、デバイスDBを模式的に表す図であり、(c)は、シンクデータを模式的に表す図であり、(d)は、ロード履歴を模式的に表す図である。
【
図12】(a)は、通信装置メイン処理のフローチャートであり、(b)は、携帯端末メイン処理のフローチャートであり、(c)は、サーバメイン処理のフローチャートである。
【
図13】BT通信部セットアップ処理のフローチャートである。
【
図14】Wi-Fiメイン処理のフローチャートである。
【
図15】Wi-Fi通信部セットアップ処理のフローチャートである。
【
図16】携帯端末セットアップ処理のフローチャートである。
【
図17】サーバセットアップ処理のフローチャートである。
【
図18】Wi-Fi通信部ワークフロー処理のフローチャートである。
【
図19】電子楽器ワークフロー処理のフローチャートである。
【
図20】携帯端末ワークフロー処理のフローチャートである。
【
図21】HTTPワークフロー処理のフローチャートである。
【
図22】MQTTワークフロー処理のフローチャートである。
【
図23】携帯端末イベント処理のフローチャートである。
【
図24】(a)は、携帯端末ロード処理のフローチャートであり、(b)は、携帯端末ライト処理のフローチャートであり、(c)は、携帯端末インストール処理のフローチャートである。
【
図25】サーバMQTTイベント処理のフローチャートである。
【
図26】サーバHTTPSイベント処理のフローチャートである。
【
図27】サーバシンク処理のフローチャートである。
【
図28】電子楽器イベント処理のフローチャートである。
【
図29】電子楽器ライト処理のフローチャートである。
【
図30】電子楽器インストール処理のフローチャートである。
【発明を実施するための形態】
【0013】
以下、好ましい実施例について、添付図面を参照して説明する。
図1を参照して本実施形態の通信システムSの概要を説明する。
図1(a)は、通信システムSの概要を表す図であり、
図1(b)は通信装置1の外観を表す図である。
図1(a)に示す通り、通信システムSは、電子楽器30と、携帯端末50と、サーバ70とで構成される。電子楽器30はWi-Fi(登録商標)による無線通信によってアクセスポイント(AP)90に接続され、そのAP90からインターネットNに接続され、携帯端末50は、基地局100に接続され、その基地局100からインターネットNに接続される。サーバ70もインターネットNに接続されるので、電子楽器30とサーバ70、及び、携帯端末50とサーバ70は、インターネットNを介して相互に通信可能に構成される。これにより、電子楽器30と携帯端末50とはサーバ70を介して情報を交換できる 。
【0014】
電子楽器30は、ユーザHの演奏に基づいて楽音を発音する装置(電子機器)である。電子楽器30には、音色の情報を有する音色データ及びウェーブデータが設けられ、ユーザHの選択に応じた音色を音色データ及びウェーブデータから取得し楽音として出力される。音色データ及びウェーブデータは、電子楽器30の工場出荷時に組み込まれているものの他に、インターネットNを介してサーバ70からも取得される。次にこのような電子楽器30によるサーバ70等の外部の機器との通信について説明する。
【0015】
電子楽器30には、通信装置1が接続される。通信装置1は、Wi-Fi又はBluetooth(登録商標)によって外部の機器と通信する装置であり、USB(登録商標)を介して電子楽器30に着脱可能に接続される。電子楽器30からUSBを介して通信装置1に入力されたデータが、Wi-Fi又はBluetoothを介して外部の機器に送信される。一方で、Wi-Fi又はBluetoothを介して外部の機器から通信装置1で受信したデータが、USBを介して電子楽器30に入力される。また、
図1(b)に示す通り、通信装置1には、ユーザHからの指示を入力する操作ボタン2と、LED3とが設けられる。LED3の点灯状態または点滅状態により、通信装置1の動作状態がユーザHに通知される。
【0016】
通信装置1はWi-Fiによる通信でAP90に接続され、そのAP90を介してインターネットNに接続される。インターネットNにはサーバ70が接続されるので、電子楽器50は、通信装置1を介することでサーバ70と通信できる。
【0017】
携帯端末50は、ユーザHから入力される指示に応じた処理を行う情報処理装置(コンピュータ)である。詳細は後述するが、携帯端末50はユーザHからの指示に応じて、電子楽器30へサーバ70からの音色データを取得できるように構成される。また、携帯端末50においてもサーバ70に記憶される音色データをインターネットNを介して取得し、利用することができる。
【0018】
サーバ70は、電子楽器30や携帯端末50で利用される音色データやウェーブデータ等が記憶される情報処理装置である。音色データは、音色に関する複数の変数値(アタック、ディケイ、カットオフ等)からなるデータである。ウェーブデータは、正弦波、矩形波、三角波、のこぎり波等の基本的な波形やマイクで集めたアコースティック楽器等の音の波形をデジタル変換したものである。電子楽器30は、ユーザHにより選択された原音としてのウェーブデータに対して、同様にユーザHにより選択された音色データに設定された各変数値に応じて音を加工し、加工された音色を発音する。
【0019】
サーバ70には、音色データやウェーブデータ以外にも電子楽器30や携帯端末50で利用される楽譜データ等も記憶される。以下、サーバ70に記憶される音色データ等の電子楽器30や携帯端末50で利用可能なデータのことを「リソース」という。
【0020】
ところで、通信装置1をAP90に接続する際、接続を行うAP90の情報と、AP90に接続するためのパスワードとを通信装置1に設定する必要がある。通信装置1及び通信装置1が接続される電子楽器30には、必要最小限の表示能力や入力能力を有する表示装置しか設けられないので、ユーザHは通信装置1及び電子楽器30によってAP90の情報やそのパスワードを入力するのが困難である。
【0021】
本実施形態では、携帯端末50において、通信装置1で検索されたAP90のリストが表示され、ユーザHは表示されたリストの中からAP90を1つ選択し、そのAP90に接続するためのパスワードを入力する。選択されたAP90の情報と入力されたパスワードとが通信装置1に送信され、通信装置1において受信したAP90の情報とそのパスワードとを用いてAP90への接続を行う。これにより、ユーザHは通信装置1及び電子楽器30でAP90の情報やそのパスワードを入力する必要がないので、通信装置1及び電子楽器30のAP90への接続における手間を低減できる。
【0022】
次に、
図2,3を参照して通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を説明する。
図2は、セットアップモードにおける通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を表す図である。通信システムSにおいては、ユーザHから操作ボタン2を介して通信装置1へセットアップモードの指示がされた場合に、通信装置1、電子楽器30、携帯端末50及びサーバ70のそれぞれへの接続が行われる。
【0023】
このうち、通信装置1には、Wi-Fiで通信するWi-Fi通信部4と、Bluetoothで通信するBT通信部5とが設けられる。また携帯端末50には、Bluetoothで通信するBT通信部60と、携帯電話基地局100(以下「基地局100」と略す)と通信する基地通信部61とが設けられる。
【0024】
セットアップモードは、通信装置1が携帯端末50からWi-Fi接続するAP90(ユーザHが接続先として選択したもの)の情報を取得し、通信装置1を当該AP90に接続させるためのモードである。セットアップモードにおいては、通信装置1への携帯端末50からのAP90の情報の受信は、BT通信部5を介してBluetoothによって行われる。なお、セットアップモードにおいてAP90の情報の通信はBluetoothによって行われるものに限られず、ZigBee(登録商標)等の他の近距離無線通信規格によって行っても良い。
【0025】
まず、通信装置1が電子楽器30に挿入され、通信装置1の操作ボタン2が長押し(例えば5秒間、操作ボタン2を押し続ける)された場合に、通信装置1はセットアップモードに移行する(T1)。このセットアップモードが実行されている間、LED3を所定の時間間隔(例えば0.5秒)で点滅させることで、ユーザHに通信装置1がセットアップモードである旨を報知するようにしても良い。
【0026】
なお、セットアップモードへの指示は、操作ボタン2が長押しされた場合に限られず、操作ボタン2が所定の回数(例えば3回)連続して押された場合にセットアップモードへ移行しても良い。また、セットアップモードへの移行は、通信装置1の操作ボタン2の操作によるものに限られず、例えば、通信装置1に接続される電子楽器30からの指示に応じてセットアップモードへ移行しても良い。
【0027】
T1の処理によって、セットアップモードに移行した通信装置1は、携帯端末50とBluetoothでペアリングするため、BT通信部5を待ち受け状態、即ちスレーブ(子)の状態にする(T2)。一方で、携帯端末50では、携帯端末50へセットアップモードの指示が入力された場合に、BT通信部60を送信状態、即ちマスター(親)の状態にする(T3)。T3の処理によって、待ち受け状態の通信装置1を発見した携帯端末50は、通信装置1とのペアリングを成立させる(A1)。
【0028】
なお、T2,T3の処理の通信装置1と携帯端末50とのペアリングにおいて、通信装置1を待ち受け状態にし、携帯端末50を送信状態としたが、これに限られない。携帯端末50を待ち受け状態にし、通信装置1を送信状態としても良い。
【0029】
ここで携帯端末50は、T3及びA1の処理の前に、基地通信部61を介して、サーバ70にユーザHのユーザ登録を行う(A2)。サーバ70はかかるユーザ登録に応じて、ユーザ毎に一意な識別子であるユーザ識別子を作成し、サーバ70のユーザDB72b(
図11(a)参照)に登録する(T4)。T4の処理の後、携帯端末50は、サーバ70にユーザHによるログインを行う(A3)。ログインの際に、サーバ70から携帯端末50にHTTPS用アクセス認可情報が送信され、これ以降の携帯端末50からサーバ70へのHTTPSプロトコルによる通信に用いられる。
【0030】
A1の処理によるペアリングが成立した後に、携帯端末50は、BT通信部60を介して通信装置1にデバイス登録データの要求を行う(A4)。デバイス登録データは、通信装置1毎に一意に設定される識別子であるデバイス識別子と、通信装置1の製品名等を表す製品情報とで構成される。このような通信装置1のデバイス識別子が後述のサーバ70に登録される。デバイス識別子は通信装置1毎に一意に設定されるので、ユーザHが複数の電子楽器30を所有する場合でも、登録した1の通信装置1を複数の電子楽器30で共有して使用することで電子楽器30毎にサーバ70に登録する手間を省くことができる。
【0031】
なお、デバイス識別子は、通信装置1毎に一意な識別子に限られず、通信装置1に接続される電子楽器30を識別する識別子でも良い。この場合、通信装置1は、通信装置1に接続される電子楽器30から電子楽器30の識別子を取得することにより電子楽器30を一意に識別できる。
【0032】
A4の処理によるデバイス登録データの要求を受け、通信装置1は、BT通信部5を介して携帯端末50に、自身のデバイス識別子および製品情報からなるデバイス登録データを送信する(A5)。A5の処理により通信装置1のデバイス登録データを受信した携帯端末50は、そのデバイス登録データを基地通信部61を介してサーバ70に送信する(A6,A7)。
【0033】
サーバ70は、A7の処理により受信したデバイス登録データを、上記のA3の処理でログインしたユーザHに対応するユーザ識別子と共にデバイスDB72c(
図11(b)参照)に登録する(T5)。これによって、ログインしているユーザHのユーザ識別子と、そのユーザHが使用する電子楽器30に接続される通信装置1のデバイス登録データとがデバイスDB72cに対応付けられて記憶される。
【0034】
上記したA5の処理による通信装置1のデバイス登録データの送信の後、携帯端末50は、通信装置1で検索されたAP90のリストを取得するため、BT通信部60を介して通信装置1にAP90のリストを要求する(A8)。A8の処理により通信装置1のBT通信部5で受信したAP90のリストの要求をWi-Fi通信部4に送信する(A9)。A9の処理によりAP90のリストの要求を受信したWi-Fi通信部4では、Wi-Fi通信部4が通信可能なAP90を検索し、検索されたAP90のリストを作成する(T6)。
【0035】
BT通信部5は、T6の処理によりWi-Fi通信部4で作成されたAP90のリストを取得し(A10)、そのAP90のリストをBT通信部5を介して携帯端末50に送信する(A11)。A11の処理によりAP90のリストを受信した携帯端末50は、そのAP90のリストを表示し、そのうちの1のAP90をユーザHに選択させる。そして、選択されたAP90と、そのAP90に接続するためのパスワード(入力PSW)とを取得し、BT通信部60を介して通信装置1に送信する(A12)。
【0036】
A12の処理により選択されたAP90とその入力PSWとを受信した通信装置1は、これらの情報をWi-Fi通信部4に送信し(A13)、これらの情報を記憶する(T7)。T7の処理の後、Wi-Fi通信部4で、受信した情報におけるAP90に、受信した入力PSWを用いて接続を行う(T8)。
【0037】
これ以降、又は、通信システムSをセットアップモードに移行させなかった場合は、通信装置1はT7の処理で記憶させた情報を用いてAP90に接続される。これにより、通信装置1及び電子楽器30はWi-Fi通信部4を介してAP90に接続され、そのAP90を及びインターネットNを介してサーバ70と通信できる。
【0038】
通信装置1のBT通信部5、及び、携帯端末50のBT通信部60では、A11の処理による送信が完了した場合に、Bluetoothによる通信を切断し、ペアリングを解消する(T9,T10)。なお、本実施形態では、先にA4~A7の処理によるデバイス登録データのサーバ70への登録を行い、その後、A8~A13,T6,T7の処理による携帯端末50から通信装置1へのAP90の情報等の送信を行った。しかし、これに限られず、先にA8~A13,T6,T7の処理を行い、その後にA4~A7の処理を行っても良いし、A4~A7の処理とA8~A13,T6,T7の処理とを並列に行っても良い。
【0039】
以上説明した通り、セットアップモードにおいては、通信装置1のWi-Fi通信部4で接続するAP90の情報が、携帯端末50からBluetoothによる通信で送信される。従って、AP90の情報、即ち対象のAP90及びその入力PSWを、携帯端末50と比べて入力装置に制約がある通信装置1及び電子楽器30で入力することなく、AP90に接続させることができる。これにより、通信装置1及び電子楽器30をAP90に接続させる際のユーザHの手間を低減できる。
【0040】
ここで、APの情報をBluetoothによる通信で送信させる際に、通信装置1のBT通信部5と携帯端末50のBT通信部60とをペアリングさせる必要があるが、かかるペアリングにおいてはユーザHが認証情報等を入力する必要がない。これによっても、通信装置1及び電子楽器30をAP90に接続させる際のユーザHの手間を低減できる。
【0041】
また、通信装置1のBT通信部5と携帯端末50のBT通信部60とのペアリングが成立された際に、通信装置1のデバイス登録データが携帯端末50を介してサーバ70に送信され、携帯端末50からサーバ70にログインしているユーザHのユーザ識別子と共にデバイスDB72cに登録される。これにより、通信装置1のデバイス登録データを、ユーザHのユーザ識別子と対応付けてサーバ70に確実に登録できる。
【0042】
このようにサーバ70に登録されたデバイス登録データとユーザ識別子とに基づき、セットアップモード後において、電子楽器50からサーバ70に記憶されるリソースにアクセスできる。更に通信装置1のBT通信部5と携帯端末50のBT通信部60とのペアリングの成立時に、通信装置1のデバイス登録データが自動的にサーバ70に送信されるので、デバイス登録データをサーバ70に登録する際のユーザHの手間を低減できる。
【0043】
次に、
図2のセットアップモードによって通信装置1がAP90に接続された後の通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を説明する。
図3は、セットアップモード後における通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を表す図である。
【0044】
通信システムSは、セットアップモード後においては、サーバ70に記憶されるリソースを通信装置1で受信し、受信したリソースを電子楽器30で利用する。具体的には、まず、通信装置1からサーバ70にWi-Fi通信部4を介して、通信装置1のデバイス識別子を送信する(A20)。A20の処理において、通信装置1からサーバ70へのデバイス識別子の送信は、MQTT(Message Queueing Telemetry Transport)プロトコルを用いた通信で行われる。なお、A20以降の通信装置1のサーバ70との通信は、Wi-Fi通信部4を介して行われる。
【0045】
A20の処理よってデバイス識別子を受信したサーバ70は、そのデバイス識別子に対応するユーザ識別子をデバイスDB72c(
図11(b)参照)から取得し、ユーザ識別子に基づくHTTPS(Hypertext Transfer Protocol Secure)用アクセス認可情報を作成する(T20)。HTTPS用アクセス認可情報は、通信装置1がサーバ70とHTTPSによる通信を行う際に用いられるユーザHのリソースへのアクセスを認可するための情報である。
【0046】
そのT20の処理で作成されたHTTPS用アクセス認可情報と、A20の処理で送信されたデバイス識別子に対応するユーザ識別子とを、MQTTプロトコルを用いた通信によって通信装置1に送信する(A21)。A21の処理によって受信したユーザ識別子は、これ以降の通信装置1とサーバ70とのMQTTプロトコルを用いた通信に用いられる。また、ユーザ識別子と、そのユーザ識別子と共に受信したHTTPS用アクセス認可情報とは、これ以降の通信装置1とサーバ70とのHTTPSプロトコルを用いた通信に用いられる。
【0047】
A21の処理の後、電子楽器30からの指示に応じて、通信装置1からユーザHのリソースへアクセスする要求をサーバ70に送信する(A22)。A22の処理における要求の送信は、HTTPSプロトコルを用いた通信によって行われ、その際に、当該要求に、ユーザ識別子とA21の処理で受信したHTTPS用アクセス認可情報とを含めて送信する。
【0048】
A22の処理による要求を受信したサーバ70は、要求されたリソースに対し、HTTPS用アクセス認可情報が正当なものである場合に、そのリソースをA22の処理による要求がされた通信装置1に送信する(A23)。かかるA23の処理によるサーバ70から通信装置1への送信も、A22の処理と同様にHTTPSプロトコルを用いた通信で行われる。A23の処理で送信されたリソースが通信装置1から電子楽器30に送信され、電子楽器30で利用される。なお、A22の処理において、要求されたリソースがユーザHのものか確認(認証)するために、受信した要求に含まれるユーザ識別子を確認しても良いし、HTTPS用アクセス認可情報およびユーザ識別子の両方を確認しても良い。
【0049】
以上説明した通り、セットアップモード後においては、通信装置1から自身のデバイス識別子がサーバ70に送信され、サーバ70からそのデバイス識別子に対応するユーザ識別子と、そのユーザ識別子に基づいて作成されたHTTPS用アクセス認可情報とが通信装置1に送信される。通信装置1は、受信したHTTPS用アクセス認可情報やユーザ識別子を用いてサーバ70からリソースを取得し、通信装置1によって取得されたリソースが電子楽器30で利用される。即ち電子楽器30においてサーバ70上のリソースを取得する際に、他の記憶媒体等を介することなく、当該リソースを直接サーバ70から取得できる。これにより、サーバ70上のリソースを容易に取得し、電子楽器30上で利用することができる。
【0050】
更に通信装置1は、接続される電子楽器30のユーザHのユーザ識別子に基づいて作成されたHTTPS用アクセス認可情報やユーザ識別子を受信し、これらの情報を用いてサーバ70からユーザHのリソースを取得する。即ち通信装置1に対応するユーザHのリソースが当該ユーザHの電子楽器30で取得されるので、当該ユーザHの電子楽器30で他のユーザHのリソースにアクセスすることを防止できる。
【0051】
また、A20,A21の処理による通信装置1からのデバイス識別子の送信と、ユーザ識別子、HTTPS用アクセス認可情報の送信とが、MQTTプロトコルを用いた通信で行われる。MQTTプロトコルを用いた通信は、HTTPSプロトコルを用いた通信よりも軽量であるため、A20,A21の処理によるデバイス識別子の送信と、ユーザ識別子、HTTPS用アクセス認可情報の送信とを迅速に行うことができる。
【0052】
更に、通信装置1によるサーバ70からのHTTPS用アクセス認可情報およびユーザ識別子の取得が、セットアップモードが実行された場合もされなかった場合も通信装置1とサーバ70との通信が確立された直後に毎回行われる。これにより、特にHTTPS用アクセス認可情報はサーバ70との通信が確立された際の最新のものとなるので、HTTPS用アクセス認可情報が長期間に亘り同一のものが使用されるのを抑制することができる。
【0053】
例えば、サーバ70が通信装置1に送信するHTTPS用アクセス認可情報の形式を定期的に更新することで、万一、HTTPS用アクセス認可情報やHTTPS用アクセス認可情報に基づくA22の処理による要求が漏洩した場合でも、HTTPS用アクセス認可情報が更新された後は、漏洩したHTTPS用アクセス認可情報によるサーバ70からのリソースの取得ができなくなるので、サーバ70のリソースが漏洩してしまうのをより効果的に抑制できる。
【0054】
なお、A20,A21の通信をMQTTプロトコルを用いた通信で行うものに限られず、HTTPSプロトコルを用いた通信等の他の通信方式で行っても良い。A22,A23の通信もHTTPSプロトコルを用いた通信で行うものに限られず、MQTTプロトコルを用いた通信等の他の通信方式で行っても良い。
【0055】
このように、ユーザHの電子楽器30への指示に応じて、サーバ70上のリソースを電子楽器30で利用させる他に、ユーザHの携帯端末50への指示に応じて、サーバ70上のリソースを電子楽器30で利用させることができる。かかる携帯端末50の指示に応じたサーバ70上のリソースの電子楽器30の利用を説明する。
【0056】
携帯端末50は、
図2で説明したセットアップモード後、基地通信部61を介してサーバ70にログインを行う(A24)。ログインの際に、サーバ70から携帯端末50にHTTPS用アクセス認可情報が送信され、これ以降の携帯端末50からサーバ70へのHTTPSプロトコルによる通信に用いられる。また、A24の処理によるログインは、上記した
図2のA3の処理によるログインが継続している場合(即ちログアウトしていない場合)は、省略しても良い。なお、これ以降の携帯端末50のサーバ70との通信は、基地通信部61を介して行われる。
【0057】
A24の処理の後、ログインしたユーザHのユーザ識別子を要求し(A25)、サーバ70は要求されたユーザ識別子をユーザDB72bから検索し(T21)、検索されたユーザ識別子をユーザ識別子の要求が行われた携帯端末50に送信する(A26)。携帯端末50は、A26の処理によって受信したユーザ識別子に対応するデバイス登録データをサーバ70に要求する(A27)。
【0058】
サーバ70は、A27の処理によって要求されたユーザ識別子に対応するデバイス登録データをデバイスDB72cから検索し(T22)、該当するデバイス登録データを要求された携帯端末50に送信する(A28)。
【0059】
携帯端末50は、A28の処理で受信したデバイス登録データを所有デバイスリストに登録する(T24)。なお、ユーザHの電子楽器30が複数存在する等、T24の処理によって複数のデバイス登録データが所有デバイスリストに登録された場合は、携帯端末50の指示に応じてサーバ70上のリソースを利用させる電子楽器30の通信装置1に該当するデバイス登録データを、ユーザHに選択させる。
【0060】
そして、T24の処理以降、携帯端末50は、選択されたデバイス登録データに該当する通信装置1が接続された電子楽器30のユーザインタフェース(UI)として動作する(T25)。携帯端末50から、電子楽器30又はサーバ70に対する指示およびそれに付随する情報と、A26の処理で受信したユーザ識別子および選択されたデバイス登録データのデバイス識別子とに基づく要求をサーバ70に送信する(A29)。
【0061】
サーバ70は、A29の処理による要求を通信装置1に送信し、通信装置1はサーバ70から受信した要求を電子楽器30に送信し、電子楽器30において当該要求に対応する処理を実行する(A30)。かかるA30の処理においては、サーバ70は携帯端末50から送信された要求に応じて必要な処理を行い、その結果を通信装置1に送信する場合もある。
【0062】
A29,A30の処理の具体例として、携帯端末50から、電子楽器30のパラメータの変更を指示する要求(対象のパラメータ名とその変更後の設定値とを含む)をサーバ70に送信する(A29)。サーバ70は、受信した要求を通信装置1に送信する。通信装置1は、サーバ70から送信された要求を電子楽器30に送信する。電子楽器30は、受信した要求に応じて処理(パラメータの設定)を行う(A30)。かかるA29の処理で送信される要求としては他に、電子楽器30のパラメータ値の携帯端末50への送信等が挙げられる。
【0063】
また、A29,A30の処理の別の具体例としては、サーバ70が携帯端末50から送信された要求に応じて必要な処理を行い、その結果を通信装置1に送信する場合がある。この場合、携帯端末50から、サーバ70に記憶されている所定のリソースのリストの表示を指示する要求(リソースを特定する情報を含む)をサーバに送信する(A29)。サーバ70はその要求を受けて、該当するリソースのリストを作成し、リストの表示を指示する要求(作成したリストを含む)を通信装置1に送信する。通信装置1は、受信した要求を電子楽器30に送信し、電子楽器30はそのリストを後述のLCD36(
図9参照)に表示する(A30)。
【0064】
A29,A30の処理の更に別の具体例としては、電子楽器30が、通信装置1から送信された要求に応じてサーバ70に対して要求を送信し、サーバ70におけるその処理結果を取得する場合がある。この場合、携帯端末50から、電子楽器30で利用するリソースのサーバ70からの取得を指示する要求(リソースを特定する情報を含む)をサーバ70に送信する(A29)。
【0065】
サーバ70は、受信した要求を通信装置1に送信し、通信装置1は送信された指示を電子楽器30に送信する。電子楽器30は、受信した指示に基づいて、特定されたリソースの電子楽器30への送信を指示する要求を通信装置1に送信する。通信装置1は、その要求をサーバ70に送信する。サーバ70は受信した要求によって特定されたリソースを通信装置1に送信する。通信装置1は、受信したリソースを電子楽器30に送信する。電子楽器30は、通信装置1から送信されたリソースを利用する(A30)。
【0066】
以上説明した通り、携帯端末50からの指示(要求)が、サーバ70から通信装置1及び電子楽器30に送信される。携帯端末50には、通信装置1及び電子楽器30よりも潤沢で多機能な表示装置が搭載される。このように、例えば、携帯端末50から電子楽器30で利用するリソースを指示する情報を送信することで、電子楽器30でのリソースの利用に関するユーザHのユーザビリティを向上させることができる。
【0067】
なお、A24~A28の処理において、携帯端末50がサーバ70にログイン後、ユーザ識別子をサーバ70に要求し、要求されたユーザ識別子を携帯端末50に送信し、携帯端末50は、送信されたユーザ識別子をサーバ70に送信することで、サーバ70から対応するデバイス登録データを取得した。しかし、これに限られず、携帯端末50がサーバ70にログインした際に、ログインしたユーザHのユーザ識別子をユーザDB72bから検索し、検索されたユーザ識別子に対応するデバイス登録データをデバイスDB72cで検索し、検索されたデバイス登録データをユーザ識別子と共に携帯端末50に送信しても良い。この場合、携帯端末50によるA25,A27の処理と、サーバ70によるA26の処理とを省略しても良い。
【0068】
ここで、
図4~7を参照して、T25,A29,A30の処理の具体例を説明する。
図4は、ロード、ライト及びインストールの概要を説明する図である。本実施形態では、携帯端末50から電子楽器30へのサーバ70のリソースを利用させる指示として、ロード、ライト及びインストールが設けられる。
【0069】
ロードは、サーバ70に記憶されるリソースの一種である音色データを取得し、電子楽器30で実際に(現在)発音に用いられる音色データに設定させる指示である。ライトは、サーバ70に記憶される音色データを取得し、電子楽器30において発音に用いられるよう電子楽器30に保存させる指示である。インストールは、サーバ70に記憶されるリソースの一種であるウェーブデータを取得し、電子楽器30において発音に用いられるように電子楽器30に保存させる指示である。
【0070】
まず、ロード、ライト及びインストールに関する通信システムSの構成を説明する。電子楽器30には、ワークメモリ33aと、音色メモリ32bと、ウェーブメモリ32cとが設けられる。ワークメモリ33aは、現在のユーザHの演奏において用いられる音色データとその音色データの属性情報とが記憶される。ワークメモリ33aは複数の音色データ及びその属性情報を記憶できるが、そのうちユーザHの演奏が直接に反映される音色データを「カレント」という。ユーザHは電子楽器30の操作によりカレントを選択できる。音色メモリ32bには、ワークメモリ33aに記憶させ発音に用いる候補としての複数の音色データ及びその属性情報が記憶され、ウェーブメモリ32cには、複数のウェーブデータ及びその属性情報が記憶される。
【0071】
ここで、ワークメモリ33a等に音色データ等と共に記憶される属性情報には、音色データ、ウェーブデータを作成した作成者や音色データ及びウェーブデータの作成日時等、音色データ及びウェーブデータに付随する情報が設定される。
【0072】
サーバ70には、音色DB72dと、管理情報72gと、上記したデバイスDB72cとが設けられる。音色DB72dには、複数の音色データ(音色1,音色2,・・・)と、複数のウェーブデータ(ウェーブ1,ウェーブ2,・・・)とが記憶される。管理情報72gには、ユーザH毎に、ユーザHが購入した音色データ又はウェーブデータの情報やユーザHが所有しているサブスクリプション権限等のサーバ70上のデータの利用に関する情報が記憶される。
【0073】
サブスクリプション権限とは、ユーザHのサーバ70上の音色データ等のサービス利用における契約種別を表すものであり、複数段階の権限(具体的には「ノーマル」、「コア」、「プロ」及び「アルティメット」)が設定される。ユーザHは、所望の段階のサブスクリプション権限を購入することで、その段階で利用が許可されている音色データ等をサーバ70から取得して利用できる。以下、サブスクリプション権限のことを「サブスク権限」と略す。なお、サブスク権限とは別に、音色データやウェーブデータはユーザHが別途購入することもでき、購入した音色データ等は、サブスク権限に関わらず永続的に利用可能となる。
【0074】
次に、ロードにおける通信システムSの処理の概要を説明する。携帯端末50からサーバ70に、電子楽器30へのロードが指示された場合、ロードが指示された音色データが音色DB72dで検索される。音色DB72dに当該音色データが存在する場合は、当該音色データが携帯端末50のユーザHで利用できるか、即ちユーザHが購入したものか、又は、当該音色データがユーザHが有するサブスク権限で利用できるかが確認される。
【0075】
そして、当該音色データをユーザHが利用できると判断された場合、サーバ70は当該音色データと、当該音色データをロードさせる指示とを電子楽器30に送信する。電子楽器30は、受信した指示に基づき、その指示と共に受信した音色データをワークメモリ33aに保存する。この保存の際に、受信した音色データを自動的にカレントとして選択するか否かはユーザHが設定できる。これにより、携帯端末50からの指示によって、サーバ70に記憶されるユーザHが利用可能な音色データを現在の電子楽器30の演奏で用いることができる。
【0076】
ロードには、サーバ70に記憶される音色データを電子楽器30のワークメモリ33aに保存させる他に、
図4に示すように、音色メモリ32bに記憶される音色データをワークメモリ33aに保存させるものも含まれる。なお、電子楽器30へのロード指示は、携帯端末50からサーバ70を介して行われるものに限られず、ユーザHが電子楽器30へ直接ロード指示を入力しても良い。
【0077】
次に、ライトにおける通信システムSの処理の概要を説明する。携帯端末50からサーバ70に、電子楽器30へのライトが指示された場合、ロードと同様に指示された音色データが音色DB72dで検索される。音色DB72dに当該音色データが存在する場合は、当該音色データが携帯端末50のユーザHで利用できるか、即ちユーザHが購入したものか、又は、当該音色データがユーザHが有するサブスク権限で利用できるかが確認される。
【0078】
そして、当該音色データをユーザHが利用できると判断された場合、サーバ70は当該音色データと、当該音色データをライトさせる指示とを電子楽器30に送信する。電子楽器30は、受信した指示に基づき、その指示と共に受信した音色データを音色メモリ32bの所定の領域に保存する。これにより、携帯端末50からの指示により、サーバ70に記憶されるユーザHが利用可能な音色データが、電子楽器30の音色メモリ32bに保存され、その後のユーザHの電子楽器30又は携帯端末50への指示により、電子楽器30の演奏で用いることができる。
【0079】
ライトは、サーバ70に記憶される音色データを電子楽器30の音色メモリ32bに保存させる他に、
図4に示すように、上記した携帯端末50からのライトの指示に応じて、ワークメモリ33aに保存された音色データを音色メモリ32bに保存させるものも含まれる。なお、電子楽器30へのライトの指示は、携帯端末50からサーバ70を介して行われるものに限られず、ユーザHが電子楽器30へ直接ライトの指示を入力しても良い。
【0080】
次に、インストールにおける通信システムSの処理の概要を説明する。携帯端末50からサーバ70に、電子楽器30へのインストールが指示された場合、指示されたウェーブデータが音色DB72dで検索される。音色DB72dに当該ウェーブデータが存在する場合は、当該ウェーブデータが携帯端末50のユーザHで利用できるか、即ちユーザHが購入したものか、又は、当該ウェーブデータがユーザHが有するサブスク権限で利用できるかが確認される。
【0081】
そして、当該ウェーブデータをユーザHが利用できると判断された場合、サーバ70は当該ウェーブデータと、当該ウェーブデータをインストールさせる指示とを電子楽器30に送信する。電子楽器30は、受信した指示に基づき、その指示と共に受信したウェーブデータをウェーブメモリ32cの所定の領域に保存する。ウェーブメモリ32cに保存されたウェーブデータは、ユーザHの電子楽器30への指示によって適宜演奏に用いられる。これにより、携帯端末50からの指示により、サーバ70に記憶されるユーザHが利用可能なウェーブデータが、電子楽器30のウェーブメモリ32cに保存され、その後の電子楽器30の演奏で用いられる。
【0082】
なお、電子楽器30の演奏で用いられるウェーブデータは、ユーザHの電子楽器30への指示によって設定されるものに限られず、携帯端末50及びサーバ70を介した電子楽器30への指示によって行われても良い。
【0083】
このように、電子楽器30においてロード、ライト又はインストールがされた場合、ワークメモリ33a、音色メモリ32b及びウェーブメモリ32cの内容が変更されるが、その変更内容をサーバ70や携帯端末50が把握するための処理が行われる。
【0084】
具体的には、サーバ70には、ロード履歴72fとシンクデータ72eとが設けられる。ロード履歴72fは、電子楽器30のワークメモリ33aに保存された音色データの回数を記憶するものである。具体的にロード履歴72fには、ユーザ毎に、音色データを識別する識別子と、その音色データがワークメモリ33aに保存され演奏に用いられた回数であるロード回数とが、対応付けて記憶される。
【0085】
電子楽器30においてロードが行われた場合、ロードされた音色データの識別子がサーバ70に送信される。サーバ70では、ロード履歴72fにおける、音色データの識別子が送信された電子楽器30のユーザHの、当該識別子に該当する音色データのロード回数に1を加算し、更新する。これによって、電子楽器30においてロードされた場合、そのロード回数がサーバ70にも反映される。
【0086】
このようなロード履歴72fのロード回数を確認することで、ユーザHが過去にロードする頻度が高い、ユーザHの好みの音色データをサーバ70で把握できる。更にかかるロード履歴72fのロード回数を携帯端末50に送信し、携帯端末50においてロードする頻度が高い順、即ちユーザHの好みの順に音色データを表示させることで、ユーザHが好みの音色データを優先的に電子楽器30にロードさせることができる。
【0087】
一方で、ロード履歴72fのロード回数を確認することで、ユーザHが過去にロードする頻度が低い音色データもサーバ70で把握できる。かかるロードする頻度が低い音色データは、ユーザHが当該音色データを利用可能なものであると認識していない場合もある。そこで、ロードする頻度が低い音色データを携帯端末50に表示させることで、ユーザHに当該音色データが利用可能であることを認識させ、当該音色データの利用を促すことができる。
【0088】
なお、電子楽器30でロードが行われた際にサーバ70のロード履歴72fを更新するものに限られず、例えば、一定時間ごと(例えば10分毎)や、電子楽器30の電源投入時に、ロード履歴72fの更新を行っても良い。
【0089】
ここで、電子楽器30でロードが行われた際にのみ、サーバ70のロード履歴72fの更新を行う場合、その更新のための電子楽器30の処理(例えばサーバ70との通信処理)が、電子楽器30の演奏に関する処理等と重複し、電子楽器30の処理が全体的に遅延してしまう虞がある。これによって、新たにロードした音色データで演奏をしようとするユーザHを待たせてしまう。
【0090】
これに対し、ロード履歴72fを更新するタイミングを、一定時間ごとや電子楽器30の電源投入時とすることで、当該更新の処理が電子楽器30の演奏に関する処理と重複するのを抑制できる。これにより、電子楽器30のレスポンスを向上できるので新たにロードした音色データを迅速にユーザHの演奏に利用でき、更にロードされた音色データのロード回数を適切にサーバ70のロード履歴72fに反映できる。
【0091】
シンクデータ72eには、電子楽器30の音色メモリ32b及びウェーブメモリ32cに記憶されている音色データ及びウェーブデータの情報が記憶される。シンクデータ72eには、電子楽器30及びその電子楽器30のユーザH毎に、音色データ及びウェーブデータの識別子と属性情報とが記憶される。
【0092】
電子楽器30においてライト又はインストールが行われた場合、音色メモリ32b又はウェーブメモリ32cに記憶されている対象の音色データ又はウェーブデータの識別子と属性情報とがサーバ70に送信される。サーバ70では、シンクデータ72eにおける音色データ又はウェーブデータの識別子が送信された電子楽器30及びその電子楽器30のユーザHに該当する領域に、送信された音色データ又はウェーブデータの識別子とその属性情報とを保存する。これによって、電子楽器30においてライト又はインストールされた音色データ又はウェーブデータの情報が、サーバ70にも反映される。
【0093】
シンクデータ72eによって、電子楽器30の音色メモリ32b及びウェーブメモリ32cに記憶されている音色データ及びウェーブデータを、サーバ70で把握できる。更にかかるシンクデータ72eを携帯端末50に送信する。そして、携帯端末50においてライト又はインストールする場合に、ライト又はインストール可能な音色データ又はウェーブデータを表示する際、これらのうち、シンクデータ72eでライト又はインストール済みと判断される音色データ又はウェーブデータをグレー表示にしたり、取り消し線を付す等して表示態様を変化させる。これにより、当該音色データ又はウェーブデータがライト又はインストール済みであるとユーザHに認識させ、当該音色データ又はウェーブデータが重複してライト又はインストールされるのを抑制できる。
【0094】
なお、ライト又はインストールが行われた際に、音色メモリ32b又はウェーブメモリ32cに記憶されている対象の音色データ等の識別子と属性情報とを、サーバ70に送信するものに限られず、例えば、一定時間ごと(例えば10分毎)や、電子楽器30の電源投入時に、サーバ70に音色メモリ32b及びウェーブメモリ32cに記憶されている全ての音色データ及びウェーブデータの識別子と属性情報とを送信するようにしても良い。これにより、電子楽器30にUSBメモリ等の記憶媒体を介して取得した音色データ及びウェーブデータの識別子と属性情報も、サーバ70から取得した音色データ及びウェーブデータと同様にサーバ70に送信できる。
【0095】
ここで、電子楽器30でライト又はインストールが行われた際にのみ、サーバ70のシンクデータ72eへの反映を行う場合、その反映のための電子楽器30の処理(例えばサーバ70との通信処理)が、電子楽器30の演奏に関する処理等と重複し、電子楽器30の処理が全体的に遅延してしまう虞がある。これに対し、シンクデータ72eへ反映するタイミングを、一定時間ごとや電子楽器30の電源投入時とすることで、当該反映の処理が電子楽器30の演奏に関する処理等と重複するのを抑制できる。これにより、電子楽器30のレスポンスを向上できると共に、ライト又はインストールされたロードされた音色データ又はウェーブデータの識別子と属性情報を適切にサーバ70のシンクデータ72eに反映できる。
【0096】
次に、
図5~7を参照して通信装置1、電子楽器30、携帯端末50及びサーバ70によるロード、ライト及びインストールにおける通信を説明する。まず、ロードにおける通信を説明する。
図5は、ロードにおける通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を表す図である。
【0097】
ロードにおいては、まず、携帯端末50において、ユーザHに電子楽器30にロードさせる音色データを選択させる(T30)。T30の処理の後、携帯端末50は、T30の処理で選択された音色データの識別子と、当該音色データのロードの指示とを、MQTTプロトコルを用いた通信によってサーバ70に送信する(A40)。
【0098】
A40の処理によりMQTTデータを受信したサーバ70は、受信したMQTTデータに含まれる音色データの識別子に該当する音色データを音色DB72dから取得する(T31)。T31の処理の後、サーバ70は、A40の処理で受信した音色データのロードの指示と、T31の処理で取得した音色データとをMQTTプロトコルを用いた通信によって通信装置1に送信する(A42)。
【0099】
A42の処理によって、音色データのロードの指示と音色データとを受信した通信装置1は、これらを電子楽器30に送信し、その後、電子楽器30において受信した音色データをワークメモリ33aに保存する(T32)。これによって、携帯端末50から指示された音色データの電子楽器30でのロードが実行される。
【0100】
以下においても電子楽器30は、通信装置1を介してサーバ70と通信されるが、説明を簡略にするため、通信装置1への言及を省略する。従って、例えば「電子楽器30からサーバ70へデータAを送信する」とは、電子楽器30から通信装置1にデータAを送信し、そのデータAを通信装置1からサーバ70へ送信することを意味する。同様に「サーバ70から電子楽器30へデータBを送信する」とは、サーバ70から通信装置1にデータBを送信し、そのデータBを通信装置1から電子楽器30へ送信することを意味する。
【0101】
T32の処理の後、電子楽器30は、T32の処理でロードされた音色データの識別子をMQTTプロトコルを用いた通信によってサーバ70に送信する(A43)。A43の処理によって、ロードされた音色データの識別子を受信したサーバ70は、ロード履歴72fにおいて音色データの識別子が送信された電子楽器30のユーザHの、当該識別子に該当するロード回数に1を加算する(T33)。
【0102】
以上説明した通り、通信システムSのロードにおいては、A40の処理によって音色データの識別子と、当該音色データのロードの指示とが携帯端末50からサーバ70に送信された場合に、サーバ70は、当該音色データの識別子に該当する音色データを音色DB72dから取得し、受信した指示と共に電子楽器30に送信する。電子楽器30においては、サーバ70から受信した指示に応じて受信した音色データをワークメモリ33aに保存する。これにより、電子楽器30に他の記憶媒体を接続することなく、電子楽器30でサーバ70上のデータを利用できる。
【0103】
この際、電子楽器30へは、予めT31の処理でサーバ70で取得された音色データが指示と共に送信されるので、電子楽器30は当該指示を受信した後に、改めて音色データをサーバ70に要求する必要がない。これにより、サーバ70上のデータを電子楽器30から迅速に利用できる。
【0104】
また、電子楽器30への指示が携帯端末50から送信される。携帯端末50には、電子楽器30よりも潤沢な入力装置および表示装置を有しているので、電子楽器30でのサーバ70上の音色データの利用におけるユーザビリティを向上させることができる。
【0105】
更に携帯端末50からサーバ70へのロードの指示と、サーバ70から電子楽器30へのロードの指示とが、MQTTプロトコルを用いた通信で行われる。HTTPSプロトコルを用いた通信よりも比較的軽量なMQTTプロトコルを用いた通信により、これらの指示を迅速に通信させることができる。これにより、携帯端末50にロードを指示してから、実際に電子楽器30でロードが完了するまでに要する時間を短縮できる。
【0106】
なお、A40の処理によって音色データの識別子と、当該音色データのロードの指示とがサーバ70に送信された場合に、サーバ70は、当該音色データの識別子に該当する音色データを音色DB72dから取得し(T31)、受信した指示と共に電子楽器30に送信する(A42)ものに限られない。例えば、サーバ70のT31の処理を省略し、サーバ70はA40の処理による識別子とロードの指示とを電子楽器30にそのまま送信し、電子楽器30からサーバ70に該当する音色データを要求しても良い。
【0107】
また、サーバ70においてT31の処理を省略し、その代わりにA40の処理による識別子に該当する音色データを音色DB72dから取得するためのデータ要求先としてのURLを作成し、そのURLとロードの指示とを電子楽器30に送信する。電子楽器30は、受信したURLに基づく音色データの要求をHTTPSプロトコルを用いた通信によってサーバ70に送信し、サーバ70からその要求に該当する音色データをHTTPSプロトコルを用いた通信によって電子楽器30に送信しても良い。この際、電子楽器30から送信される音色データの要求に、
図3のA21の処理で受信したHTTPS用アクセス認可情報も含めて送信すれば良い。
【0108】
次に、ライトにおける通信を説明する。
図6は、ライトにおける通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を表す図である。ライトにおいては、まず、携帯端末50において、ユーザHに電子楽器30にライトさせる音色データを選択させる(T40)。T40の処理の後、携帯端末50は、T40の処理で選択された音色データの識別子と、当該音色データのライトの指示とを、MQTTプロトコルを用いた通信によってサーバ70に送信する(A50)。
【0109】
A50の処理によりMQTTデータを受信したサーバ70は、受信したMQTTデータに含まれる音色データの識別子に該当する音色データを音色DB72dから取得するためのURLを作成する(T41)。T41の処理の後、サーバ70は、A50の処理で受信した音色データのライトの指示と、T41の処理で取得したURLとをMQTTプロトコルを用いた通信によって電子楽器30に送信する(A51)。
【0110】
A51の処理により、URLとライトの指示とを受信した電子楽器30は、そのURLからの音色データの取得と、取得した音色データのライトとを実行する(T42)。具体的には、電子楽器30は、受信したURLに基づく音色データの要求を、HTTPSプロトコルを用いた通信によってサーバ70に送信する(A52)。この際に、
図3のA21の処理で受信したHTTPS用アクセス認可情報も含めて送信する。
【0111】
A52の処理により、音色データを要求されたサーバ70は、該当する音色データを音色DB72dから取得し、取得した音色データをHTTPSプロトコルを用いた通信によって電子楽器30に送信する。電子楽器30は、送信された音色データを音色メモリ32bに保存する(A53)。
【0112】
このように、A53の処理によるサーバ70から電子楽器30への音色データの送信がHTTPSプロトコルを用いた通信で行われる。HTTPSプロトコルを用いた通信は、MQTTプロトコルを用いた通信よりも大容量のデータを通信できるので、サーバ70に記憶される、容量が様々な音色データをサーバ70から電子楽器30に直接取得して利用できるので、音色データを電子楽器30にライトさせる際のユーザHの手間を低減できると共に、電子楽器30で表現豊かな演奏が可能になる。
【0113】
また、T41,A51の処理によるサーバ70で作成されたURLの電子楽器30への送信に加え、A52,A53による電子楽器30からのサーバ70の音色データの要求も行われる。即ちサーバ70からの電子楽器30への音色データ等のリソースの送信においては、サーバ70から直接電子楽器30へリソースを送信する場合(A23,A42)と、電子楽器30からの要求に応じてサーバ70からリソースを送信する場合(A52,A53)とが設けられる。これらを使い分けることで、サーバ70から電子楽器30へ柔軟にリソースを送信することができる。
【0114】
上記したA52,A53の処理と共に、電子楽器30から音色データのライトの進捗率(0~100%)をMQTTプロトコルを用いた通信によってサーバ70に送信し(A54)、サーバ70からはその進捗率を携帯端末50に送信する(A55)。A55の処理の後、携帯端末50は、受信した進捗率をLCD56(
図10参照)に表示することで(T44)、ユーザHにライトが完了するまでに要する時間の目安が報知される。
【0115】
A52,A53の処理によるライトが完了した場合、電子楽器30は、ライトした音色データの識別子と属性情報と、シンクの指示とをHTTPSプロトコルを用いた通信によってサーバ70へ送信する(A56)。この際に、
図3のA21の処理で受信したHTTPS用アクセス認可情報も含めて送信する。
【0116】
A56の処理によりシンクの指示を受信したサーバ70は、当該指示と共に受信した識別子と属性情報とをシンクデータ72eに保存する(T43)。T43の処理の後、電子楽器30と携帯端末50とに、シンクデータ72eへの保存が完了した旨をMQTTプロトコルを用いた通信で送信する(A57,A58)。
【0117】
A58の処理により、シンクデータ72eへの保存が完了した旨を受信した携帯端末50は、サーバ70にシンクデータ72eの要求をHTTPSプロトコルを用いた通信で送信する(A59)。この際に、
図2のA3の処理で受信したHTTPS用アクセス認可情報も含めて送信する。
【0118】
A59の処理により、シンクデータ72eの要求を受信したサーバ70は、携帯端末50にシンクデータ72eをHTTPSプロトコルを用いた通信で送信する(A60)。A60の処理により、シンクデータ72eを受信した携帯端末50は、そのシンクデータ72eに基づいた表示をLCD56に行う(T45)。
【0119】
なお、A50の処理によって音色データの識別子と、当該音色データのライトの指示とがサーバ70に送信された場合に、サーバ70は、当該音色データの識別子に該当する音色データを音色DB72dから取得するためのURLを作成し(T41)、受信した指示と共に電子楽器30に送信する(A51)ものに限られない。例えば、サーバ70は、T41の処理を省略し、A50の処理による識別子に該当する音色データを音色DB72dから取得し、受信した指示と共に電子楽器30に送信しても良い。また、T41の処理を省略し、サーバ70はA50の処理による識別子とライトの指示とを電子楽器30にそのまま送信し、電子楽器30からサーバ70に該当する音色データを要求しても良い。
【0120】
次に、インストールにおける通信を説明する。
図7は、インストールにおける通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を表す図である。インストールにおいては、まず、携帯端末50において、ユーザHに電子楽器30にインストールさせるウェーブデータを選択させる(T50)。
【0121】
T50の処理の後、携帯端末50は、T50の処理で選択されたウェーブデータがインストール可能かを確認する要求をMQTTプロトコルを用いた通信によってサーバ70に送信し(A70)、サーバ70は受信した要求をMQTTプロトコルを用いた通信によって電子楽器30に送信する(A71)。この際、インストールするウェーブデータのサイズも含めて送信される。
【0122】
A71の処理によって、インストール可能かどうかを確認する要求を受信した電子楽器30は、ウェーブメモリ72dの空き容量を確認し、送信されたサイズのウェーブデータがインストール可能かを確認する(T51)。T51の処理の後、T51の処理による結果をMQTTプロトコルを用いた通信でサーバ70に送信し(A72)、サーバ70は、受信した結果をMQTTプロトコルを用いた通信で携帯端末50に送信する(A73)。
【0123】
A73の処理の後、A73の処理で受信した結果が、インストール可能である場合、携帯端末50は、ユーザHから指定されたウェーブデータのURLの作成の要求をHTTPSプロトコルを用いた通信でサーバ70に送信する(A74)。この際に、
図2のA3の処理で受信したHTTPS用アクセス認可情報も含めて送信する。A74の処理により、ウェーブデータのURLの作成の要求を要求されたサーバ70は、当該ウェーブデータを音色DB72dから取得するためのURLを作成し、作成されたURLをHTTPSプロトコルを用いた通信で携帯端末50に送信する(A75)。
【0124】
A75の処理の後、携帯端末50は、受信したURLとインストールの指示とをMQTTプロトコルを用いた通信でサーバ70に送信し(A76)、サーバ70は、受信したURLとインストールの指示とをMQTTプロトコルを用いた通信で電子楽器30に送信する(A77)。
【0125】
A77の処理によって、URLとインストールの指示とを受信した電子楽器30は、そのURLからのウェーブデータの取得と、取得したウェーブデータのインストールとを実行する(T52)。具体的には、電子楽器30は、受信したURLに基づくウェーブデータの要求を、HTTPSプロトコルを用いた通信によってサーバ70に送信する(A78)。この際に、
図3のA21の処理で受信したHTTPS用アクセス認可情報も含めて送信する。
【0126】
A78の処理により、ウェーブデータを要求されたサーバ70は、該当するウェーブデータを音色DB72dから取得し、取得したウェーブデータをHTTPSプロトコルを用いた通信によって電子楽器30に送信する。電子楽器30は、送信されたウェーブデータをウェーブメモリ32cに保存する(A79)。
【0127】
A78,A79の処理と共に、電子楽器30からウェーブデータのインストールの進捗率(0~100%)をMQTTプロトコルを用いた通信によってサーバ70に送信し(A80)、サーバ70からはその進捗率を携帯端末50に送信する(A81)。A81の処理の後、携帯端末50は、受信した進捗率をLCD56に表示することで(T53)、ユーザHにインストールが完了するまでに要する時間の目安が報知される。
【0128】
A78,A79の処理によるインストールが完了した場合、電子楽器30は、サーバ70にインストールしたウェーブデータの識別子と属性情報と、シンクの指示とをHTTPSプロトコルを用いた通信によってサーバ70へ送信する(A82)。この際に、
図3のA21の処理で受信したHTTPS用アクセス認可情報も含めて送信する。
【0129】
A82の処理によりシンクの指示を受信したサーバ70は、当該指示と共に受信した識別子と属性情報とをシンクデータ72eに保存する(T54)。T54の処理の後、電子楽器30と携帯端末50とに、シンクデータ72eへの保存が完了した旨をMQTTプロトコルを用いた通信で送信する(A83,A84)。
【0130】
A84の処理により、シンクデータ72eへの保存が完了した旨を受信した携帯端末50は、サーバ70にシンクデータ72eの要求をHTTPSプロトコルを用いた通信で送信する(A85)。A85の処理により、シンクデータ72eの要求を受信したサーバ70は、携帯端末50にシンクデータ72eをHTTPSプロトコルを用いた通信で送信する(A86)。この際に、
図2のA3の処理で受信したHTTPS用アクセス認可情報も含めて送信する。A86の処理により、シンクデータ72eを受信した携帯端末50は、そのシンクデータ72eに基づいた表示をLCD56に行う(T55)。
【0131】
次に、
図8を参照してサーバ70の機能を説明する。
図8は、サーバ70の機能ブロック図である。
図8に示すように、サーバ70は、データ記憶手段300と、指示受信手段301と、情報作成手段302と、指示送信手段303とを有する。
【0132】
データ記憶手段300は、電子楽器30において音の再生に利用されるデータが記憶される手段であり、
図10で後述のHDD72で実現される。指示受信手段301は、携帯端末50から電子楽器30に対する指示であって、電子楽器30に対してデータ記憶手段300のデータを受信して保存させる指示を受信する手段であり、
図10で後述のCPU71で実現される。情報作成手段302は、指示受信手段301で受信した指示の対象であるデータについて、データ又はデータ要求先を作成する手段であり、CPU71で実現される。指示送信手段303は、指示受信手段301で受信した指示の対象であるデータを受信して保存する指示およびデータ又はデータ要求先を電子楽器30に送信する手段であり、CPU71で実現される。
【0133】
サーバ70においては、携帯端末50から電子楽器30へのデータの利用の指示が受信され、その指示および当該指示で利用されるデータ記憶手段300のデータに関する情報が電子楽器30に送信される。これにより、電子楽器30においてサーバ70から受信した指示に応じた処理を実行することで、電子楽器30に他の記憶媒体を接続することなく、電子楽器30でサーバ70上のデータを利用できる。
【0134】
更にサーバ70から電子楽器30へは、携帯端末50から受信した指示と共に、当該指示で利用されるデータに関する情報が送信される。例えば、電子楽器30は当該指示を受信した後に、サーバ70へ当該指示で利用されるデータに関する情報を要求する通信をする必要がない。よって、サーバ70上のデータを電子楽器30から迅速に利用できる。
【0135】
また、電子楽器30への指示が携帯端末50から送信されるので、携帯端末50に電子楽器30よりも潤沢な入力装置および表示装置を搭載させることで、電子楽器30でのサーバ70上のデータの利用におけるユーザビリティを向上させることができる。
【0136】
次に、
図9~11を参照して通信システムSの電気的構成を説明する。まず、
図9を参照して通信装置1及び電子楽器30の電気的構成を説明する。
図9は、通信システムSにおける通信装置1及び電子楽器30の電気的構成を示すブロック図である。通信装置1は、CPU10と、フラッシュROM11と、RAM12とを有し、これらはバスライン13を介して入出力ポート14にそれぞれ接続されている。入出力ポート14には更に、上記した操作ボタン2、LED3、Wi-Fi通信部4及びBT通信部5と、外部IF15とが接続される。
【0137】
CPU10は、バスライン13により接続された各部を制御する演算装置である。フラッシュROM11は、CPU10により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、制御プログラム11aと、上記した通信装置1のデバイス識別子が記憶されるデバイス識別子11bと、上記した通信装置1の製品情報が記憶される製品情報11cと、携帯端末50から取得した、選択されたAP90の情報が記憶されるAP情報11dと、選択されたAP90の入力PSWが記憶されるAPパスワード11eとを含む。CPU10によって制御プログラム11aが実行されると
図12(a)の通信装置メイン処理が実行される。RAM12は、CPU10がプログラムの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するメモリである。
【0138】
外部IF15は、外部の機器と接続するための装置であり、後述の電子楽器30の外部IF37と接続される。本実施形態において、外部IF15はUSB規格に基づく装置で構成されるが、USB以外の他の通信規格に基づく装置でも良い。これら外部IF15と外部IF37とを介して通信装置1と電子楽器30との通信が行われる。
【0139】
また、Wi-Fi通信部4とBT通信部5とがデュプレクサ16に接続される。デュプレクサ16は、Wi-Fi通信部4で送受信される電波と、BT通信部5で送受信される電波とを統合する装置である。そのデュプレクサ16にはアンテナ17が接続され、Wi-Fi通信部4で送信される電波と、BT通信部5で送信される電波とが統合されてアンテナ17から送信され、アンテナ17で受信した電波が適宜Wi-Fi通信部4とBT通信部5とに分配される。Wi-Fi通信部4とBT通信部5とがデュプレクサ16に接続されることで、これら2つの通信部の電波の送受信を1つのアンテナ17で実現できる。なお、デュプレクサ16を省略し、Wi-Fi通信部4とBT通信部5とのそれぞれにアンテナを設ける構成にしても良い。
【0140】
次に、電子楽器30の電気的構成を説明する。電子楽器30には、CPU31と、フラッシュROM32と、RAM33と、ユーザHの演奏による演奏情報を取得する鍵盤34と、ユーザHが各種設定を入力する設定キー35と、電子楽器30の設定状態等を表示するLCD36と、外部IF37と、音源38と、Digital Signal Processor39(以下「DSP39」と称す)とを有し、それぞれバスライン40を介して接続される。
【0141】
CPU31は、バスライン40により接続された各部を制御する演算装置である。フラッシュROM32は、CPU31により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、制御プログラム32aと、上記した音色メモリ32b及びウェーブメモリ32cとを含む。CPU31によって制御プログラム32aが実行されると、
図19の電子楽器ワークフロー処理が実行される。RAM33は、CPU31がプログラムの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリであり、上記したワークメモリ33aが含まれる。
【0142】
外部IF37は、外部の機器と接続するための装置であり、主に上記の通信装置1の外部IF15と接続される。本実施形態において、外部IF37も外部IF15と同様にUSB規格に基づく装置で構成されるが、外部IF15と同様の通信規格であればUSB以外の他の通信規格に基づく装置でも良い。
【0143】
音源38は、鍵盤34から入力される演奏情報に応じてワークメモリ33aのカレントの音色データとウェーブメモリ32cのウェーブデータとに基づく波形データを出力する装置である。DSP39は、音源38から入力された波形データを演算処理するための演算装置である。DSP39には、音源38とデジタルアナログコンバータ(DAC)41とが接続され、そのDAC41にはアンプ42が接続され、そのアンプ42にはスピーカ43が接続される。
【0144】
次に、
図10,11を参照して通信システムSにおける携帯端末50及びサーバ70の電気的構成を説明する。
図10は、通信システムSにおける携帯端末50及びサーバ70の電気的構成を示すブロック図である。
【0145】
携帯端末50は、CPU51と、フラッシュROM52と、RAM53とを有し、これらはバスライン54を介して入出力ポート55にそれぞれ接続されている。入出力ポート55には更に、上記したBT通信部60及び基地通信部61と、携帯端末50の設定状態等が表示されるLCD56と、ユーザHからの指示が入力されるタッチパネル57とが接続される。
【0146】
CPU51は、バスライン54により接続された各部を制御する演算装置である。フラッシュROM52は、CPU51により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、携帯制御プログラム52aが記憶される。CPU51によって携帯制御プログラム52aが実行されると、
図12(b)の携帯端末メイン処理が実行される。RAM53は、CPU51がプログラムの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリである。
【0147】
サーバ70は、CPU71と、ハードディスク・ドライブ72(以下「HDD72」と略す)と、RAM73とを有し、これらはバスライン74を介して入出力ポート75にそれぞれ接続されている。入出力ポート75には更にインターネットNと通信する通信部76が接続される。
【0148】
CPU71は、バスライン74により接続された各部を制御する演算装置である。HDD72は、CPU71により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、サーバ制御プログラム72aと、ユーザDB72bと、デバイスDB72cと、上記した音色DB72d、シンクデータ72e、ロード履歴72f及び管理情報72gとを含む。CPU71によってサーバ制御プログラム72aが実行されると、
図12(c)のサーバメイン処理が実行される。
【0149】
ユーザDB72bには、登録されたユーザHのログインに関する情報とユーザ識別子とが記憶される。また、デバイスDB72cには、通信装置1のデバイス識別子および製品情報と通信装置1(電子楽器30)を利用するユーザHのユーザ識別子とが記憶される。
図11を参照してユーザDB72b、デバイスDB72c、シンクデータ72e及びロード履歴72fを説明する。
【0150】
図11(a)は、ユーザDB72bを模式的に表す図である。
図11(a)に示す通り、ユーザDB72bには、登録されたユーザHのログインに関する情報であるアカウント(電子メールアドレス)と、パスワードと、ユーザHを登録する際に作成されたユーザ識別子とが対応付けられて記憶される。なお、ユーザDB72bに記憶されるアカウントは、電子メールアドレスに限られず、ユーザHの名称や、一意に設定された任意の文字列等でも良い。
【0151】
図11(b)は、デバイスDB72cを模式的に表す図である。
図11(b)に示す通り、デバイスDB72cには、登録された通信装置1のデバイス識別子と、製品情報と、通信装置1(電子楽器30)を利用するユーザHのユーザ識別子とが対応付けられて記憶される。このうち、デバイス識別子は、通信装置1の工場出荷時にデバイスDB72cに登録され、製品情報およびユーザ識別子は上記したセットアップモードにおいてデバイスDB72cに登録される。
【0152】
図11(c)は、シンクデータ72eを模式的に表す図である。
図11(c)に示す通り、シンクデータ72eには、ユーザ識別子およびデバイス識別子毎に、音色データ又はウェーブデータの識別子と、属性情報とが対応付けられて記憶される。また、
図11(d)は、ロード履歴72fを模式的に表す図である。
図11(d)に示す通り、ロード履歴72fには、ユーザ識別子毎に、音色データの識別子とロード回数とが対応付けられて記憶される。
【0153】
図10に戻る。RAM73は、CPU71がプログラムの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリである。
【0154】
サーバ70では、通信装置1及び携帯端末50とHTTPSプロトコルを用いた通信とMQTTプロトコルを用いた通信との2種類の通信が行われる。このうち、MQTTプロトコルを用いた通信では、データを送受信する対象のユーザ識別子とデバイス識別子とを含んだ文字列である「トピック」をやり取りすることで、通信装置1及び携帯端末50との通信が行われる。「トピック」の一例としては、「topic/{ユーザ識別子}/{デバイス識別子}/#(#:データ要求等の任意のコマンド)」が挙げられる。
【0155】
また、MQTTプロトコルを用いた通信では「購読(サブスクライブ)」機能が設けられる。「購読(サブスクライブ)」機能では、予めサーバ70に通信装置1及び携帯端末50ごとに、ユーザ識別子およびデバイス識別子を登録(以下「サブスクライブ登録」という)することで、サーバ70は、トピックが送信された際に、多数の通信装置1及び携帯端末50のうち、そのトピックのユーザ識別子およびデバイス識別子に該当する通信装置1及び携帯端末50に、そのトピックを送信する。
【0156】
よって、サーバ70に対するユーザHが使用する通信装置1(電子楽器30)と、携帯端末50とのそれぞれのサブスクライブ登録において、通信装置1のデバイス識別子とユーザHのユーザ識別子とを登録することで、通信装置1からサーバ70にトピックを送信した結果が通信装置1に送信されると共に携帯端末50にも送信され、携帯端末50からサーバ70にトピックを送信した結果が携帯端末50に送信されると共に通信装置1にも送信される。このようにすることで、通信装置1と携帯端末50とは、サーバ70を介して必要な情報をやり取りすることができるようになる。
【0157】
なお、通信装置1のサブスクライブ登録において、ユーザ識別子およびデバイス識別子に加えて「通信装置1向け」を示す文字列を登録し、携帯端末50のサブスクライブ登録においてもユーザ識別子等に加えて「携帯端末50向け」を示す文字列を登録するようにしても良い。これらの文字列を加えずに登録すると、あるトピックについてサーバ70による処理が行われた場合、その処理結果も併せて送信されるが、通信装置1及び携帯端末50のそれぞれが送信したトピックがこれらの双方に送信(返信)される。よって、そのトピックによる処理結果が通信装置1及び携帯端末50のいずれか一方のみに送信されれば良い場合も、他方にも必ず送信されてしまう。これを避けるため、通信装置1のサブスクライブ登録においてユーザ識別子等に加え「通信装置1向け」を示す文字列を登録し、携帯端末50のサブスクライブ登録においてもユーザ識別子等に加え「携帯端末50向け」を示す文字列を登録する。
【0158】
そして、通信装置1は「通信装置1向け」を示す文字列を含むトピックを送信し、携帯端末50は「携帯端末50向け」を示す文字列を含むトピックを送信する。更にサーバ70は「通信装置1向け」を示す文字列を含むトピックに対する処理結果には、「通信装置1向け」の文字列を含むトピックを送信する。一方でサーバ70は「携帯端末50向け」を示す文字列を含むトピックに対する処理結果には、「携帯端末50向け」の文字列を含むトピックを送信する。こうすることで、通信装置1及び携帯端末50は、自身に向けられたトピック及びそのトピックによる処理結果のみを受信することができる。
【0159】
これとは逆に、通信装置1から、携帯端末50へのトピックによる処理結果の送信を指示する場合は、通信装置1は「携帯端末50向け」を示す文字列を含むトピックを送信しても良いし、携帯端末50から、通信装置1へのトピックによる処理結果の送信を指示する場合は、携帯端末50は「通信装置1向け」を示す文字列を含むトピックを送信しても良い。
【0160】
次に、
図12~30を参照して通信装置1のCPU10、携帯端末50のCPU51、サーバ70のCPU71及び電子楽器30のCPU31で実行される処理を説明する。まず
図12を参照して、通信装置1、携帯端末50及びサーバ70のメイン処理を説明する。
図12(a)は、通信装置メイン処理のフローチャートであり、
図12(b)は、携帯端末メイン処理のフローチャートであり、
図12(c)は、サーバメイン処理のフローチャートである。
【0161】
通信装置メイン処理は、通信装置1の電源が投入された場合に実行される処理である。
図12(a)に示す通り、通信装置メイン処理はまず、操作ボタン2への長押し操作によりセットアップモードが指示されたかを確認する(S1)。S1の処理において、セットアップモードが指示された場合は(S1:Yes)、BT通信部セットアップ処理(S2)を実行し、セットアップモードが指示されていない場合は(S1:No)、BT通信部セットアップ処理(S2)をスキップする。これらS1,S2の処理と並列にWi-Fiメイン処理(S3)を実行する。BT通信部セットアップ処理では、上記したセットアップモードにおけるBT通信部5に関する処理が行われ、詳細は
図13で後述する。
【0162】
Wi-Fiメイン処理では、上記したセットアップモードにおけるWi-Fi通信部4に関する処理(具体的には
図15で後述のWi-Fiセットアップ処理)と、セットアップモード後のWi-Fi通信部4に関する処理(具体的には
図18で後述のWi-Fiワークフロー処理)とが行われる。これらの処理の詳細は後述する。
【0163】
S1~S3の処理の後、通信装置1に関するその他の処理(S4)を実行し、その後、S1~S3以下の処理を繰り返す。なお、S1,S2の処理と、S3の処理とは並列に実行されるものに限られず、S1,S2の処理の後にS3の処理を実行しても良いし、S3の処理の後にS1,S2の処理を実行しても良い。
【0164】
携帯端末メイン処理は、携帯端末50で通信システムS用のアプリケーションプログラムが起動された場合に、実行される処理である。
図12(b)に示す通り、携帯端末メイン処理はまず、タッチパネル57を介してセットアップモードの指示があったかを確認する(S10)。S10の処理においてセットアップモードの指示があった場合は(S10:Yes)、携帯端末セットアップ処理(S11)を実行し、セットアップモードの指示がなかった場合は(S10:No)、携帯端末ワークフロー処理(S12)を実行する。
【0165】
S11の携帯端末セットアップ処理は、携帯端末50のセットアップモードにおける処理であり、詳細は
図16で後述する。S12の携帯端末ワークフロー処理は、携帯端末50のセットアップモード後における処理であり、詳細は
図20で後述する。これらS11,S12の処理の後、携帯端末50に関するその他の処理(S13)を実行し、その後、S10以下の処理を繰り返す。
【0166】
サーバメイン処理は、サーバ70の電源が投入された場合に、実行される処理である。
図12(c)に示す通り、サーバメイン処理はまず、サーバセットアップ処理(S20)と、HTTPワークフロー処理(S21)と、MQTTワークフロー処理(S22)とを並列に実行する。
【0167】
S20のサーバセットアップ処理は、サーバ70のセットアップモードにおける処理であり、詳細は
図17で後述する。S21のHTTPワークフロー処理は、サーバ70のセットアップモード後におけるHTTPプロトコルの通信に関する処理であり、詳細は
図21で後述する。S22のMQTTワークフロー処理は、サーバ70のセットアップモード後におけるMQTTプロトコルの通信に関する処理であり、詳細は
図22で後述する。これらS20~S22の処理の後、サーバ70に関するその他の処理(S23)を実行し、その後、S20~S22以下の処理を繰り返す。
【0168】
なお、S20~S22の処理の3つを並列に実行されるものに限られず、例えば、S20の処理、S21の処理、S22の処理の順のように、1つずつ順番に実行しても良い。また、S20の処理とS21の処理とを並列に実行した後に、S22の処理を実行するように、S20~S22の処理のうちの2つの処理を並列に実行した後に、残りの処理を実行しても良いし、S20の処理の後に、S21の処理とS22の処理とを並列に実行するように、S20~S22の処理のうちの1つの処理を実行した後に、残りの処理を並列に実行しても良い。
【0169】
まず、通信装置1のセットアップモードの処理を説明する。
図13は、BT通信部セットアップ処理(S2)のフローチャートである。BT通信部セットアップ処理はまず、BT通信部5を待ち受け状態にする(S30)。S30の処理の後、携帯端末50とのペアリングが成立したかを確認する(S31)。S31の処理において、ペアリングが成立していない場合は(S31:No)、S30以下の処理を繰り返す。
【0170】
S31の処理において、携帯端末50とのペアリングが成立した場合は(S31:Yes)、携帯端末50からのデバイス登録データの要求をBT通信部5で受信したかを確認する(S32)。S32の処理において、デバイス登録データの要求を受信した場合は(S32:Yes)、自身のデバイス登録データ、即ちデバイス識別子11bのデバイス識別子と、製品情報11cの製品情報とをBT通信部5で携帯端末50に送信する(S33)。S33の処理の後、S32以下の処理を繰り返す。
【0171】
S32の処理において、デバイス登録データの要求を受信していない場合は(S32:No)、携帯端末50からAP90のリストの要求をBT通信部5で受信したか確認する(S34)。S34の処理において、AP90のリストの要求を受信した場合は(S34:Yes)、後述のWi-Fi通信部セットアップ処理(
図15参照)のS51の処理によるAP90のリストの作成を待機する(S35)。S35の処理の後、携帯端末50に作成されたAP90のリストをBT通信部5から送信する(S36)。S36の処理の後、S32以下の処理を繰り返す。
【0172】
S34の処理において、AP90のリストの要求を受信していない場合は(S34:No)、携帯端末50からユーザHに選択されたAP90の情報(AP情報)とその入力PSW(APパスワード)とを受信したかを確認する(S37)。S37の処理において、AP90の情報と入力PSWとを受信した場合は(S37:Yes)、受信したAP90の情報と入力PSWとを取得する(S38)。
【0173】
このS38の処理で取得したAP90の情報と入力PSWとがそれぞれAP情報11dとAPパスワード11eとに保存される。セットアップモード後のAP90への接続は、AP情報11dとAPパスワード11eとに記憶されたAP90の情報と入力PSWとが用いられる。
【0174】
S37の処理において、AP90の情報と入力PSWとを受信していない場合は(S37:No)、S32以下の処理を繰り返す。S38の処理の後、BT通信部セットアップ処理を終了する。なお、S38の処理の後のBT通信部セットアップ処理の終了を、後述のS54,S55の処理でWi-Fi通信部4のAP90への接続が成功するまで待機しても良い。
【0175】
また、S38の処理の後、通信装置1は電子楽器30にAP90の情報と入力PSWとを取得したことを通知し、電子楽器30は、その通知を受けて通信装置1を再起動させ、再起動した通信装置1は、AP情報11dとAPパスワード11eとに記憶されたAP90の情報と入力PSWとに基づいてAP90に接続し、セットアップモード後の処理を実行しても良い。
【0176】
図14は、Wi-Fiメイン処理(S3)のフローチャートである。Wi-Fiメイン処理はまず、通信装置1の操作ボタン2が長押しされ、セットアップモードの指示があったかを確認する(S40)。S40の処理において、セットアップモードの指示があった場合は(S40:Yes)、Wi-Fi通信部セットアップ処理(S41)を実行する。ここで、
図15を参照してWi-Fi通信部セットアップ処理を説明する。
【0177】
図15は、Wi-Fi通信部セットアップ処理(S41)のフローチャートである。Wi-Fi通信部セットアップ処理はまず、携帯端末50からAP90のリストの要求をBT通信部5で受信したか確認する(S50)。S50の処理において、AP90のリストの要求を受信した場合は(S50:Yes)、Wi-Fi通信部4で接続可能なAP90を検索し、検索されたAP90のリストを作成する(S51)。S51の処理の後、S50以下の処理を繰り返す。
【0178】
S50の処理において、AP90のリストの要求を受信していない場合は(S50:No)、携帯端末50からユーザHに選択されたAP90の情報(AP情報)とその入力PSW(APパスワード)とをBT通信部5で受信したかを確認する(S52)。S52の処理において、AP90の情報と入力PSWとを受信した場合は(S52:Yes)、Wi-Fi通信部4を用いて、受信したAP90の情報に該当するAP90に、受信した入力PSWを用いて接続する(S53)。S52の処理において、AP90の情報と入力PSWとを受信していない場合は(S52:No)、S50以下の処理を繰り返す。
【0179】
S53の処理の後、Wi-Fi通信部4によるAP90への接続が成功したかを確認する(S54)。S54の処理において、AP90への接続が成功した場合は(S54:Yes)、接続が成功した旨(「接続成功」)をBT通信部5から携帯端末50に送信する(S55)。
【0180】
一方で、S54の処理において、AP90への接続が失敗した場合は(S54:No)、携帯端末50へ接続が失敗した旨(接続エラー)をBT通信部5から送信する(S56)。S56の処理の後、S50以下の処理を繰り返す。またS55の処理の後、Wi-Fi通信部セットアップ処理を終了する。
【0181】
次に、携帯端末50のセットアップモードの処理を説明する。
図16は、携帯端末セットアップ処理(S11)のフローチャートである。携帯端末セットアップ処理はまず、サーバ70へのユーザHのユーザ登録が完了しているかを確認する(S60)。S60の処理において、サーバ70へのユーザHのユーザ登録が完了していない場合は(S60:No)、サーバ70へユーザHのアカウント(即ち電子メールアドレス)及びパスワードを送信することで、ユーザHのユーザ登録を行う(S61)。S61の処理の後、S60以下の処理を繰り返す。
【0182】
S60の処理において、サーバ70へのユーザHのユーザ登録が完了している場合は(S60:Yes)、HTTPSプロトコルを用いた通信でサーバ70にユーザHのアカウント及びパスワードを送信することで、サーバ70へのログインを行う(S62)。S62の処理の後、サーバ70からHTTPSプロトコルを用いた通信で受信した、ログインに対するレスポンスが「OK」であるかを確認する(S63)。
【0183】
S63の処理において、ログインに対するレスポンスが「OK」ではない場合は(S63:No)、LCD56にログインが失敗した旨の表示(エラー表示)を行う(S64)。S64の処理の後、S62以下の処理を繰り返す。
【0184】
S63の処理において、ログインに対するレスポンスが「OK」である場合は(S63:Yes)、サーバ70からHTTPSアクセス用認可情報を受信する。そして、通信装置1をBT通信部60で検索することで、通信装置1とのペアリングを行う(S65)。S65の処理の後、通信装置1とのペアリングが成立したかを確認する(S66)。S66の処理において、ペアリングが成立していない場合は(S66:No)、S65以下の処理を繰り返す。
【0185】
S66の処理において、ペアリングが成立した場合は(S66:Yes)、通信装置1にデバイス登録データをBT通信部60から要求する(S67)。S67の処理の後、通信装置1からデバイス登録データをBT通信部60で受信したかを確認する(S68)。S68の処理において、デバイス登録データを受信していない場合は(S68:No)、S68の処理を繰り返す。
【0186】
S68の処理において、デバイス登録データを受信した場合は(S68:Yes)、サーバ70に、受信したデバイス登録データをHTTPSプロトコルを用いた通信で基地通信部61から送信する(S69)。この際に、S63の処理で受信したHTTPS用アクセス認可情報も含めて送信する。
【0187】
S69の処理の後、サーバ70からHTTPSプロトコルを用いた通信で受信した、デバイス登録データの送信に対するレスポンスが「OK」であるかを確認する(S70)。S70の処理において、デバイス登録データの送信に対するレスポンスが「OK」ではない場合は(S70:No)、LCD56に送信が失敗した旨の表示(エラー表示)を行う(S71)。S71の処理の後、S67以下の処理を繰り返す。一方で、S70の処理において、デバイス登録データの送信に対するレスポンスが「OK」である場合は(S70:Yes)、通信装置1にAP90のリストの要求をBT通信部60で行う(S72)。
【0188】
S72の処理の後、通信装置1からAP90のリストをBT通信部60で受信したかを確認する(S73)。S73の処理において、AP90のリストを受信していない場合は(S73:No)、S73の処理を繰り返す。一方で、S73の処理において、AP90のリストを受信した場合は(S73:Yes)、受信したAP90のリストをLCD56に表示する(S74)。
【0189】
S74の処理の後、タッチパネル57を介してLCD56に表示されたリストのうちのAP90が選択され、その入力PSW(APパスワード)が入力されたかを確認する(S75)。S75の処理において、AP90の選択および入力PSWの入力がされていない場合は(S75:No)、S75の処理を繰り返す。一方で、S75の処理において、AP90の選択および入力PSWの入力がされた場合は(S75:Yes)、そのAP90の情報と入力PSWとを通信装置1にBT通信部60で送信する(S76)。
【0190】
S76の処理の後、通信装置1からAP90への接続結果をBT通信部60で受信したかを確認する(S77)。S77の処理において、AP90への接続結果を受信していない場合は(S77:No)、S77の処理を繰り返す。一方で、S77の処理において、AP90への接続結果を受信した場合は(S77:Yes)、受信した接続結果が「接続成功」かを確認する(S78)。
【0191】
S78の処理において、受信した接続結果が「接続エラー」の場合は(S78:No)、LCD56に接続が失敗した旨の表示(エラー表示)を行い(S79)、S74以下の処理を繰り返す。一方で、S78の処理において、受信した接続結果が「接続成功」の場合は(S78:Yes)、携帯端末セットアップ処理を終了する。
【0192】
次に、サーバ70のセットアップモードの処理を説明する。
図17は、サーバセットアップ処理(S20)のフローチャートである。サーバセットアップ処理はまず、HTTPSプロトコルを用いた通信がされるのを待機する(S80)。S80の処理の後、携帯端末50からHTTPSプロトコルを用いた通信でユーザ登録が要求されたかを確認する(S81)。
【0193】
S81の処理において、ユーザ登録が要求された場合は(S81:Yes)、携帯端末50から受信したアカウントがユーザDB72b(
図11(b)参照)に未登録かを確認する(S82)。S82の処理において、携帯端末50から受信したアカウントがユーザDB72bに未登録の場合は(S82:Yes)、携帯端末50から受信したアカウント及びパスワードと、一意に作成されたユーザ識別子とをユーザDB72bに登録する(S83)。S83の処理の後、携帯端末50に受信したアカウントをユーザDB72bに登録した旨(「OK」)をHTTPSプロトコルを用いた通信で送信する(S84)。
【0194】
一方で、S82の処理において、携帯端末50から受信したアカウントがユーザDB72bに登録されている場合は(S82:No)、携帯端末50に受信したアカウントがユーザDB72bに既に登録されている旨(ERROR)をHTTPSプロトコルを用いた通信で送信する(S85)。S84,S85の処理の後、S80以下の処理を繰り返す。
【0195】
S81の処理において、ユーザ登録が要求されていない場合は(S81:No)、携帯端末50からHTTPSプロトコルを用いた通信でログインが要求されたかを確認する(S86)。S86の処理において、ログインが要求された場合は(S86:Yes)、ログインを実行し、そのログインが成功したかを確認する(S87)。S87の処理において、ログインが成功した場合(S87:Yes)、ログインしたユーザHのHTTPS用アクセス認可情報を作成する(S88)。
【0196】
S88の処理の後、携帯端末50に作成したHTTPS用アクセス認可情報と、ログインが成功した旨(「OK」)とをHTTPSプロトコルを用いた通信で送信する(S89)。
【0197】
一方で、S87の処理において、ログインに失敗した場合は(S87:No)、その旨(ERROR)をHTTPSプロトコルを用いた通信で送信する(S90)。S89,S90の処理の後、S80以下の処理を繰り返す。
【0198】
S86の処理において、ログインの要求ではない場合は(S86:No)、携帯端末50からデバイス登録データをHTTPSプロトコルを用いた通信で受信したかを確認する(S91)。S91の処理において、デバイス登録データを受信した場合は(S91:Yes)、デバイスDB72cに、受信したデバイス登録データにおけるデバイス識別子が存在するかを確認する(S92)。
【0199】
S92の処理において、デバイスDB72cに、受信したデバイス登録データにおけるデバイス識別子が存在する場合は(S92:Yes)、デバイスDB72cにおける受信したデバイス登録データのデバイス識別子の領域に、受信したデバイス登録データの製品情報と、ユーザDB72bから取得したログインしているユーザHのユーザ識別子とを保存する(S93)。S93の処理の後、受信したデバイス登録データのデバイスDB72cへの登録が成功した旨(「OK」)をHTTPSプロトコルを用いた通信で送信する(S94)。
【0200】
一方で、S92の処理において、デバイスDB72cに受信したデバイス登録データにおけるデバイス識別子が存在しない場合は(S92:No)、当該デバイス登録データが正規の通信装置1のものでない旨(「ERROR」)をHTTPSプロトコルを用いた通信で送信する(S95)。S94,S95の処理の後、サーバセットアップ処理を終了する。
【0201】
次に、通信装置1、携帯端末50及びサーバ70のセットアップモード後の処理を説明する。まず、
図14,18を参照して通信装置1のセットアップモード後の処理を説明する。
【0202】
図14のS40の処理において、セットアップモードの指示がなかった場合は(S40:No)、上記した
図13の処理で取得したAP90の情報と入力PSWとを用いて、Wi-Fi通信部4でAP90に接続する(S42)。S42の処理の後、AP90に接続できたかを確認する(S43)。
【0203】
S43の処理において、AP90に接続できた場合は(S43:Yes)、Wi-Fi通信部ワークフロー処理(S44)を行う。Wi-Fi通信部ワークフロー処理の詳細は後述する。
【0204】
一方で、AP90に接続できなかった場合は(S43:No)、AP90への接続を試みた回数がリトライ回数(例えば10回)の上限に達したかを確認する(S45)。S45の処理において、AP90への接続を試みた回数がリトライ回数の上限に達していない場合は(S45:No)、S42以下の処理を繰り返し、リトライ回数の上限に達した場合は(S45:Yes)、LED3を点滅させることでエラー表示を行う(S46)。S41,S44,S46の処理の後、Wi-Fiメイン処理を終了する。
【0205】
ここで、
図18を参照してS44のWi-Fi通信部ワークフロー処理を説明する。
図18は、Wi-Fi通信部ワークフロー処理(S44)のフローチャートである。Wi-Fi通信部ワークフロー処理はまず、MQTTプロトコルを用いた通信を行うためにサーバ70に接続する(S100)。
【0206】
S100の処理の後、S100の処理によってサーバ70に接続できたかを確認する(S101)。S101の処理において、サーバ70に接続できなかった場合は(S101:No)、S100以下の処理を繰り返す。
【0207】
一方で、S101の処理においてサーバ70に接続できた場合は(S101:Yes)、サーバ70に認可情報(即ちユーザ識別子およびHTTPS用アクセス認可情報)の要求トピックをMQTTプロトコルによる通信を用いてWi-Fi通信部4で送信する(S102)。かかる要求トピックには、自身のデバイス識別子も含む。なお、S100,S102の処理は、通信装置1の判断によって実行されるものに限られず、例えば、通信装置1がサーバ70に接続されていることを電子楽器30が認識した場合に、電子楽器30から通信装置1に指示をすることで、S100,S102の処理を実行しても良い。
【0208】
S102の処理の後、サーバ70からユーザ識別子とHTTPS用アクセス認可情報とをMQTTプロトコルを用いた通信でWi-Fi通信部4で受信したかを確認する(S103)。S103の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信していない場合は(S103:No)、S103の処理を繰り返す。
【0209】
一方で、S103の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信した場合は(S103:Yes)、受信したユーザ識別子とHTTPS用アクセス認可情報とを外部IF15を介して電子楽器30に送信する(S104)。以下、Wi-Fi通信部ワークフロー処理における通信装置1と電子楽器30との通信は、外部IF15を介して行われるものとする。
【0210】
なお、HTTPS用アクセス認可情報は電子楽器30に送信するものに限られず、例えば、通信装置1に記憶するようにしても良い。その際、HTTPSプロトコルを用いた通信においてHTTPS用アクセス認可情報が必要な場合には、電子楽器30は通信装置1にHTTPS用アクセス認可情報を付加して送信するように指示をすれば良い。そうすることで、外部IF15,37からHTTPS用アクセス認可情報が漏洩するのを防止できるので、電子楽器30とサーバ70との通信におけるセキュリティを向上させることができる。
【0211】
電子楽器30においては、通信装置1から受信したユーザ識別子とHTTPS用アクセス認可情報と用いて、サーバ70へ音色データ等のリソースを利用するための指示を作成するが、詳細は
図19で後述の電子楽器ワークフロー処理で説明する。
【0212】
S104の処理の後、サーバ70に対して、S103の処理で受信したユーザ識別子と、デバイス識別子11bのデバイス識別子とによるサブスクライブ登録を行う(S105)。これ以降、通信装置1は、トピック「topic/{ユーザ識別子}/{デバイス識別子}/#」を含むMQTTデータを受信できるようになる。
【0213】
携帯端末50からサーバ70に当該トピックを含むMQTTデータを送信することで、通信装置1はそのMQTTデータをサーバ70から受信する。また、通信装置1又は携帯端末50からのMQTTデータを受けてサーバ70によって処理された結果が、当該トピックを含むMQTTデータとして通信装置1に送信される。このようにして、通信装置1はサーバ70と、又は、サーバ70を介して携帯端末50とコマンドやデータのやり取りができるようになる。
【0214】
S105の処理の後、通信装置1における各種イベントを確認する(S106)。S106の処理において、サーバ70からMQTTデータ、即ちサーバ70からのトピックと、そのトピックと共に送信されるペイロードとを受信した場合(S106:サーバからMQTTデータを受信)、そのMQTTデータを外部IF15を介して電子楽器30に送信する(S107)。ここで、MQTTデータは、トピックと、そのトピックと共に送信されるペイロードとのことをいう。このペイロードには、電子楽器30やサーバ70に対する指示に付随する情報や、サーバ70に対して要求した音色データ等のリソースや、サーバ70で処理した結果等が含まれる。
【0215】
S106の処理において、電子楽器30からMQTTデータを受信した場合(S106:電子楽器からMQTTデータを受信)、そのMQTTデータをMQTTを用いた通信でサーバ70に送信する(S108)。
【0216】
S106の処理において、電子楽器30からHTTPSリクエストを受信した場合(S106:電子楽器からHTTPSリクエストを受信)、そのHTTPSリクエストをHTTPSプロトコルを用いた通信でサーバ70に送信する(S109)。
【0217】
S106の処理において、サーバ70からHTTPSレスポンスを受信した場合(S106:サーバからHTTPSレスポンスを受信)、そのHTTPSレスポンスを電子楽器30に送信する(S110)。一方で、S106の処理において、イベントを受信していない場合(S106:「イベントなし」)、または、S107~S110の処理の後、S106以下の処理を繰り返す。
【0218】
次に、
図19を参照して電子楽器ワークフロー処理を説明する。
図19は、電子楽器ワークフロー処理のフローチャートである。電子楽器ワークフロー処理は、電子楽器30の電源投入後に実行される処理である。
【0219】
電子楽器ワークフロー処理はまず、通信装置1から外部IF37を介してユーザ識別子とHTTPS用アクセス認可情報とを受信したかを確認する(S130)。以下、電子楽器ワークフロー処理において、電子楽器30と通信装置1との通信は、外部IF37を介して行われるものとする。
【0220】
S130の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信した場合は(S130:Yes)、受信したユーザ識別子とHTTPS用アクセス認可情報とを取得する(S131)。一方で、S130の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信していない場合は(S130:No)、S131の処理をスキップする。
【0221】
S130,S131の処理の後、電子楽器30に各種イベントを確認する(S132)。S132の処理において、イベントがあった場合は(S132:「イベントあり」)、電子楽器イベント処理(S133)を実行し、イベントがなかった場合は(S132:「イベントなし」)、S132以下の処理を繰り返す。なお、S133の電子楽器イベント処理は、
図28で後述する。
【0222】
次に、
図20を参照して携帯端末50のセットアップモード後の処理を説明する。
図20は、携帯端末ワークフロー処理(S12)のフローチャートである。携帯端末ワークフロー処理はまず、サーバ70へHTTPSプロトコルを用いた通信でユーザHによるログインを行う(S140)。
【0223】
S140の処理の後、サーバ70からHTTPSプロトコルを用いた通信で受信した、ログインに対するレスポンスが「OK」だったかを確認する(S141)。S141の処理において、ログインに対するレスポンスが「OK」ではない場合は(S141:No)、LCD56にログインが失敗した旨の表示(エラー表示)を行う(S142)。S142の処理の後、S140以下の処理を繰り返す。
【0224】
一方で、S141の処理において、ログインに対するレスポンスが「OK」である場合は(S141:Yes)、ログインに対するレスポンスと共にサーバ70から受信したHTTPS用アクセス認可情報を取得する(S143)。取得されたHTTPS用アクセス認可情報は、これ以降の携帯端末50からサーバ70へのHTTPSプロトコルによる通信で用いられる。S143の処理の後、サーバ70へHTTPSプロトコルを用いた通信でユーザHのユーザ識別子を要求する(S144)。この際に、
図16のS63の処理で受信したHTTPS用アクセス認可情報も含めて送信する。S144の処理の後、ユーザ識別子の要求に対するレスポンスが「OK」だったかを確認する(S145)。
【0225】
S145の処理において、ユーザ識別子の要求に対するレスポンスが「OK」ではない場合は(S145:No)、LCD56にユーザ識別子の要求が失敗した旨の表示(エラー表示)を行う(S146)。S146の処理の後、S144以下の処理を繰り返す。S145の処理において、ユーザ識別子の要求に対するレスポンスが「OK」である場合は(S145:Yes)、サーバ70からユーザ識別子を取得する(S147)。
【0226】
S147の処理の後、サーバ70へHTTPSプロトコルを用いた通信で取得したユーザ識別子に対応するデバイス識別子を要求する(S148)。この際に、
図16のS63の処理で受信したHTTPS用アクセス認可情報も含めて送信する。S148の処理の後、デバイス識別子の要求に対するレスポンスが「OK」だったかを確認する(S149)。S149の処理において、デバイス識別子の要求に対するレスポンスが「OK」ではない場合は(S149:No)、LCD56にデバイス識別子の要求が失敗した旨の表示(エラー表示)を行う(S150)。S150の処理の後、S148以下の処理を繰り返す。S149の処理において、デバイス識別子の要求に対するレスポンスが「OK」である場合は(S149:Yes)、サーバ70からデバイス識別子を取得する(S151)。
【0227】
S151の処理の後、MQTTプロトコルを用いた通信を行うためにサーバ70に接続する(S152)。S152の処理の後、S152の処理によってサーバ70に接続できたかを確認する(S153)。S153の処理において、サーバ70に接続できなかった場合は(S153:No)、S152以下の処理を繰り返す。
【0228】
S153の処理において、サーバ70に接続できた場合は(S153:Yes)、サーバ70に対して、S147の処理で受信したユーザ識別子と、S151の処理で受信したデバイス識別子とによるサブスクライブ登録を行う(S154)。これ以降、携帯端末50は、トピック「topic/{ユーザ識別子}/{デバイス識別子}/#(#:データ要求等の任意のコマンド又はデータ等)」を含むMQTTデータを受信することができるようになる。
【0229】
通信装置1からサーバ70に当該トピックを含むMQTTデータを送信することで、携帯端末50はそのMQTTデータをサーバ70から受信する。また、通信装置1又は携帯端末50からのMQTTデータを受けてサーバ70によって処理された結果が、当該トピックを含むMQTTデータとして携帯端末50に送信される。このようにして、携帯端末50はサーバ70と、又は、サーバ70を介して通信装置1とコマンドやデータのやり取りができるようになる。
【0230】
S154の処理の後、携帯端末50の各種イベントを確認する(S155)。S155の処理において、イベントがあった場合は(S155:「イベントあり」)、携帯端末イベント処理(S156)を実行し、イベントがなかった場合は(S155:「イベントなし」)、S155以下の処理を繰り返す。なお、S156の携帯端末イベント処理は、
図23で後述する。
【0231】
次に、
図21,22を参照してサーバ70のセットアップモード後の処理を説明する。
図21は、HTTPワークフロー処理(S21)のフローチャートである。HTTPワークフロー処理はまず、携帯端末50からHTTPSプロトコルを用いた通信でログインが要求されたかを確認する(S160)。
【0232】
S160の処理において、ログインが要求された場合は(S160:Yes)、ログインを実行し、そのログインが成功(OK)したかを確認する(S161)。S161の処理において、ログインが成功した場合は(S161:Yes)、ログインしたユーザHのHTTPS用アクセス認可情報を作成する(S162)。S162の処理の後、HTTPSプロトコルを用いた通信で、携帯端末50へ作成したHTTPS用アクセス認可情報と共に、ログインに対するレスポンス「OK」を送信する(S163)。
【0233】
一方で、S161の処理において、ログインが失敗した場合は(S161:No)、HTTPSプロトコルを用いた通信で、携帯端末50へログインに対するレスポンス「ERROR」を送信する(S164)。S163,S164の後、S160以下の処理を繰り返す。
【0234】
S160の処理において、ログインの要求ではない場合は(S160:No)、携帯端末50からHTTPSプロトコルを用いた通信でユーザ識別子の要求がされたかを確認する(S165)。S165の処理において、ユーザ識別子の要求がされた場合は(S165:Yes)、ユーザDB72bから要求された携帯端末50のユーザHのアカウントに対応するユーザ識別子を取得する(S166)。S166の処理の後、HTTPSプロトコルを用いた通信で、取得されたユーザ識別子と、ユーザ識別子の要求に対するレスポンス「OK」を携帯端末50に送信する(S167)。S167の処理の後、S160以下の処理を繰り返す。
【0235】
S165の処理において、ユーザ識別子の要求ではない場合は(S165:No)、携帯端末50からHTTPSプロトコルを用いた通信でデバイス識別子の要求がされたかを確認する(S168)。S168の処理において、デバイス識別子の要求がされた場合は(S168:Yes)、ユーザDB72bから要求された携帯端末50のユーザHのアカウントに該当するユーザ識別子を取得し、更にデバイスDB72cからそのユーザ識別子に対応するデバイス識別子を取得する(S169)。
【0236】
S169の処理の後、HTTPSプロトコルを用いた通信で、取得されたデバイス識別子と、デバイス識別子の要求に対するレスポンス「OK」を携帯端末50に送信する(S170)。S170の処理の後、S160以下の処理を繰り返す。
【0237】
S168の処理において、デバイス識別子の要求ではない場合は(S168:No)、サーバHTTPSイベント処理(S171)を実行し、S160以下の処理を繰り返す。なお、S171のサーバHTTPSイベント処理は、
図26で後述する。
【0238】
図22は、MQTTワークフロー処理(S22)のフローチャートである。MQTTワークフロー処理はまず、MQTTプロトコルを用いた通信の接続を待機する(S190)。S190の処理の後、MQTTプロトコルを用いた通信で接続されたかを確認する(S191)。S191の処理において、MQTTプロトコルを用いた通信で接続されていない場合は(S191:No)、S190以下の処理を繰り返す。
【0239】
一方で、S191の処理において、MQTTプロトコルを用いた通信で接続された場合は(S191:Yes)、更にMQTTデータを受信したかを確認する(S192)。
【0240】
S192の処理において、MQTTデータを受信した場合は(S192:Yes)、受信したMQTTデータのトピックを取得する(S193)。S193の処理の後、取得したトピックを購読(サブスクライブ)している端末(即ち通信装置1又は携帯端末50)に、S192の処理で受信したMQTTデータを送信する(S194)。
【0241】
これにより、通信装置1又は携帯端末50から受信したMQTTデータが、同一のユーザHが使用している携帯端末50又は通信装置1に送信されるので、通信装置1又は携帯端末50から送信されたMQTTデータを双方の端末で利用および管理できる。
【0242】
S194の処理の後、S193の処理で取得したトピックに、サーバ70で処理が必要なコマンドが含まれているかを確認する(S195)。S195の処理において、取得したトピックに、サーバ70で処理が必要なコマンドが含まれている場合は(S195:Yes)、そのトピックのコマンドが通信装置1からの認可情報(即ちユーザ識別子およびHTTPS用アクセス認可情報)の要求に関するものかを確認する(S196)。
【0243】
S196の処理において、通信装置1からの認可情報の要求に関するものである場合は(S196:Yes)、デバイスDB72cから要求を受信した通信装置1のデバイス識別子に対応するユーザ識別子を取得し、取得したユーザ識別子からHTTPS用アクセス認可情報を作成する(S197)。S197の処理の後、S197の処理で取得したユーザ識別子と、作成したHTTPS用アクセス認可情報とをMQTTプロトコルを用いた通信で要求された通信装置1に送信する(S198)。
【0244】
一方で、S196の処理において、通信装置1からの認可情報の要求に関するものでない場合は(S196:No)、サーバMQTTイベント処理(S199)を実行する。なお、S199のサーバMQTTイベント処理は、
図25で後述する。
【0245】
次に、携帯端末50、サーバ70及び電子楽器30におけるそれぞれのイベント処理を説明する。イベント処理では、主に
図4~7で説明したロード、ライト及びインストールが処理される。まず、
図23を参照して、携帯端末50のイベント処理を説明する。
【0246】
図23は、携帯端末イベント処理(S156)のフローチャートである。携帯端末イベント処理はまず、携帯端末ロード処理(S210)、携帯端末ライト処理(S211)及び携帯端末インストール処理(S212)を実行する。
図24を参照して、これらの処理を説明する。
【0247】
図24(a)は、携帯端末ロード処理(S210)のフローチャートである。携帯端末ロード処理は、携帯端末50におけるロードに関する処理である。携帯端末ロード処理はまず、タッチパネル57を介してロードが指示されたかを確認する(S230)。S230の処理において、ロードが指示された場合は(S230:Yes)、トピックを「音色データのロードの指示」、ペイロードをタッチパネル57を介して指定された「音色データの識別子」としたMQTTデータを作成する。かかるMQTTデータのトピックには、
図16のS67の処理で取得した通信装置1のデバイス登録データのデバイス識別子と、ユーザHのユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S231)。
【0248】
S230の処理において、ロードが指示されていない場合は(S230:No)、S231の処理をスキップする。S230,S231の処理の後、携帯端末ロード処理を終了する。
【0249】
図24(b)は、携帯端末ライト処理(S211)のフローチャートである。携帯端末ライト処理は、携帯端末50におけるライトに関する処理である。携帯端末ライト処理はまず、タッチパネル57を介してライトが指示されたかを確認する(S240)。S240の処理において、ライトが指示された場合は(S240:Yes)、トピックを「音色データのライトの指示」、ペイロードをタッチパネル57を介して指定された「音色データの識別子」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス登録データのデバイス識別子と、ユーザHのユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S241)。
【0250】
なお、S241の処理で送信するMQTTデータのペイロードに「ライト先の領域を表す識別子」を含めても良い。かかるMQTTデータが後述のS270の処理においてもサーバ70から電子楽器30に送信される。そして、電子楽器30は、後述のS335の処理でサーバ70から受信した音色データを保存する際、S270の処理で受信したMQTTデータのペイロードに含まれる「ライト先の領域を表す識別子」に該当する音色メモリ32bの領域に、サーバ70から受信した音色データを保存すれば良い。
【0251】
S240の処理において、ライトが指示されていない場合は(S240:No)、S241の処理をスキップする。S240,S241の処理の後、携帯端末ライト処理を終了する。
【0252】
図24(c)は、携帯端末インストール処理(S212)のフローチャートである。携帯端末インストール処理は、携帯端末50におけるインストールに関する処理である。携帯端末インストール処理はまず、タッチパネル57を介してインストールが指示されたかを確認する(S250)。
【0253】
S250の処理において、インストールが指示された場合は(S250:Yes)、トピックを「ウェーブデータのインストール可否」、ペイロードを「(タッチパネル57を介して指定された)ウェーブデータのサイズ」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス登録データのデバイス識別子と、ユーザHのユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S251)。S250の処理において、インストールが指示されていない場合は(S250:No)、S251の処理をスキップする。
【0254】
S250,S251の処理の後、サーバ70から受信したMQTTデータのトピックが「インストール可否」であるかを確認する(S252)。具体的に、受信したMQTTデータのトピックに、通信装置1のデバイス登録データのデバイス識別子、ユーザHのユーザ識別子および「インストール可否」の全てが含まれるかが確認される。S252の処理において、受信したMQTTデータのトピックが「インストール可否」である場合(S252:Yes)、S252の処理で受信したMQTTデータのペイロードが「インストール可」かを確認する(S253)。
【0255】
S253の処理において、ペイロードが「インストール可」である場合(S253:Yes)、(タッチパネル57を介して指定された)ウェーブデータのURLの作成を要求するHTTPSリクエストを、HTTPSプロトコルを用いた通信でサーバ70に送信する(S254)。この際に、
図20のS143の処理で取得したHTTPS用アクセス認可情報も含めて送信される。
【0256】
S254の処理の後、サーバ70からS254の処理によって要求されたウェーブデータのURLを受信する(S255)。S255の処理の後、トピックを「ウェーブデータのインストールの指示」、ペイロードをS255の処理で受信した「ウェーブデータのURL」としたMQTTデータを作成し、作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S256)。
【0257】
S253の処理において、ペイロードが「インストール可」ではない場合(S253:No)、LCD56にウェーブデータがインストールできない旨(エラー表示)を表示する(S257)。S252の処理において、受信したMQTTデータのトピックが「インストール可否」ではない場合(S252:No)、又は、S256,S257の処理の後、携帯端末インストール処理を終了する。
【0258】
図23に戻る。S212の携帯端末インストール処理の後、サーバ70から受信したMQTTデータのトピックが「進捗通知」であるかを確認する(S213)。具体的に、受信したMQTTデータのトピックに、通信装置1のデバイス登録データのデバイス識別子、ユーザHのユーザ識別子および「進捗通知」の全てが含まれるかが確認される。S213の処理において、受信したMQTTデータのトピックが「進捗通知」である場合は(S213:Yes)、受信したMQTTデータのペイロードから進捗率を取得し(S214)、その進捗率を確認する(S215)。
【0259】
S215の処理において、進捗率が100%の場合は(S215:「100%」)、ライト又はインストールが完了した旨をLCD56に表示し(S216)、S215の処理において、進捗率が0~99%の場合は(S215:「0~99%」)、その進捗率をLCD56に表示する(S217)。S215の処理において、進捗率の代わりに「エラー」が記憶されていた場合は(S215:「ERROR」)、ライト又はインストールが失敗した旨(エラー表示)をLCD56に表示する(S218)。
【0260】
S213の処理において、受信したMQTTデータのトピックが「進捗通知」ではない場合(S213:No)、又は、S216~S218の処理の後、サーバ70から受信したMQTTデータのトピックが「シンク完了」であるかを確認する(S219)。具体的に、受信したMQTTデータのトピックに通信装置1のデバイス登録データのデバイス識別子、ユーザHのユーザ識別子および「シンク完了」の全てが含まれるかが確認される。
【0261】
S219の処理において、受信したMQTTデータのトピックが「シンク完了」である場合は(S219:Yes)、シンクデータ72eを要求するHTTPSリクエストを、HTTPSプロトコルを用いた通信でサーバ70に送信する(S220)。この際に、
図20のS143の処理で取得したHTTPS用アクセス認可情報も含めて送信される。S220の処理の後、サーバ70からシンクデータ72eを受信し(S221)、受信したシンクデータ72eに基づいた表示をLCD56に行う(S222)。
【0262】
S219の処理において、受信したMQTTデータのトピックが「シンク完了」ではない場合(S219:No)、又は、S222の処理の後、その他の処理(S223)を実行し、携帯端末イベント処理を終了する。S223のその他の処理としては、携帯端末50に入力された指示に応じたMQTTデータ又はHTTPSリクエストを作成し、サーバ70に送信することや、携帯端末50で受信したMQTTデータを解析し、そのMQTTデータに応じた処理を行うことや、サーバ70からのHTTPSレスポンスに応じた処理を行うことが挙げられる。
【0263】
次に、
図25を参照して、サーバ70のMQTTプロトコルを用いた通信におけるイベント処理を説明する。
図25は、サーバMQTTイベント処理(S199)のフローチャートである。サーバMQTTイベント処理はまず、トピックが「音色データのロードの指示」のMQTTデータを受信したかを確認する(S260)。
【0264】
S260の処理において、トピックが「音色データのロードの指示」のMQTTデータを受信した場合は(S260:Yes)、受信したMQTTデータのペイロードに含まれる識別子に該当する音色データが、MQTTデータを送信したユーザHのユーザ識別子でロード(利用)できるかを確認する(S261)。具体的には、管理情報72gを参照して、受信したMQTTデータのペイロードに含まれる識別子に該当する音色データをユーザHが購入済みであるか、又は、当該音色データがユーザHのサブスク権限で利用できるかが確認される。
【0265】
S261の処理において、ロードできる場合は(S261:Yes)、S260の処理で受信したMQTTデータのペイロードの音色データの識別子に該当する音色データを音色DB72dから取得する(S262)。S262の処理の後、トピックを「音色データのロードの指示」、ペイロードをS262の処理で取得した「音色データ」としたMQTTデータを作成する。かかるMQTTデータのトピックには、S260の処理で受信したトピックのデバイス識別子とユーザ識別子とが含まれる。作成したMQTTデータを、S260の処理で受信したトピックのデバイス識別子とユーザ識別子とによってサブスクライブ登録している機器(即ち電子楽器30、携帯端末50)に送信する(S263)。
【0266】
S260の処理において、トピックが「音色データのロードの指示」のMQTTデータを受信していない場合(S260:No)、S261の処理において、ロードできない場合(S261:No)、又は、S263の処理の後、トピックが「ロード履歴の更新」のMQTTデータを受信したかを確認する(S264)。S264の処理において、トピックが「ロード履歴の更新」のMQTTデータを受信した場合は(S264:Yes)、受信したMQTTデータのペイロードの音色データの識別子を取得する(S265)。
【0267】
S265の処理の後、ロード履歴72fの、MQTTデータのトピックのユーザ識別子かつ取得された音色データの識別子に該当するロード回数に1を加算する(S266)。
【0268】
S264の処理において、トピックが「ロード履歴の更新」のMQTTデータを受信していない場合(S264:No)、又は、S266の処理の後、トピックが「音色データのライトの指示」のMQTTデータを受信したかを確認する(S267)。S267の処理において、トピックが「音色データのライトの指示」のMQTTデータを受信した場合は(S267:Yes)、受信したMQTTデータのペイロードに含まれる識別子に該当する音色データが、MQTTデータを送信したユーザHのユーザ識別子でライト(利用)できるかを確認する(S268)。
【0269】
具体的には、管理情報72gを参照して、受信したMQTTデータのペイロードに含まれる識別子に該当する音色データをユーザHが購入済みであるか、又は、当該音色データがユーザHのサブスク権限で利用できるかが確認される。S268の処理において、ライトできる場合は(S268:Yes)、受信したMQTTデータのペイロードの識別子の音色データを音色DB72dから取得するためのURLを作成する(S269)。
【0270】
S269の処理の後、トピックを「音色データのライトの指示」、ペイロードをS269の処理で作成した「URL」としたMQTTデータを作成する。かかるMQTTデータのトピックには、S267の処理で受信したトピックのデバイス識別子とユーザ識別子とが含まれる。作成したMQTTデータを、S267の処理で受信したトピックのデバイス識別子とユーザ識別子とによってサブスクライブ登録している機器(即ち電子楽器30、携帯端末50)に送信する(S270)。
【0271】
S267の処理において、トピックが「音色データのライトの指示」のMQTTデータを受信していない場合(S267:No)、S268の処理において、ライトできない場合(S268:No)、又は、S270の処理の後、その他の処理(S271)を行い、サーバMQTTイベント処理を終了する。S271のその他の処理としては、通信装置1(電子楽器30)又は携帯端末50から受信した上記以外のMQTTデータを、サブスクライブ登録されている他の機器に送信することが挙げられる。
【0272】
以上の通り、サーバMQTTイベント処理では、S260、S264、S267の処理において、特定のMQTTデータのトピックを受信した場合に、サーバ70で予め必要な処理を実行しその処理結果と受信したMQTTデータのトピックとが、サブスクライブ登録されている他の機器に送信される。これにより、MQTTデータの送信先の電子楽器30又は携帯端末50において、MQTTデータを受信してから、そのMQTTデータのトピックに応じた処理をサーバ70に要求する必要がないので、サーバ70上のリソースをより迅速に利用できる。
【0273】
更に、サーバ70に特定のコマンドの処理結果を、他の機器に送信しないようにサブスクライブ登録しておき、そのコマンドをトピックとしたMQTTデータをサーバ70へ送信することで、サーバ70で特定のコマンドに応じた処理のみを行わせることができる。これによって、MQTTデータを(他の機器への送信を目的としない)サーバ70への処理の要求として用いることができる。
【0274】
次に、
図26,27を参照して、サーバ70のHTTPSプロトコルを用いた通信におけるイベント処理を説明する。
図26は、サーバHTTPSイベント処理(S171)のフローチャートである。サーバHTTPSイベント処理はまず、音色データ又はウェーブデータのURLを用いた取得要求のHTTPSリクエストを受信したかを確認する(S280)。
【0275】
S280の処理において、取得要求のHTTPSリクエストを受信した場合は(S280:Yes)、HTTPSリクエストにおいてURLと共に受信したHTTPS用アクセス認可情報が問題ないかを確認する(S281)。なお、S281の処理においては、HTTPS用アクセス認可情報の代わりにユーザ識別子を確認しても良いし、HTTPS用アクセス認可情報およびユーザ識別子の両方を確認しても良い。S281の処理において、HTTPS用アクセス認可情報やユーザ識別子が問題ない場合は(S281:Yes)、レスポンス「OK」と共に、URLで指定された音色データ又はウェーブデータをHTTPSプロトコルを用いた通信によって、HTTPSリクエストの要求元へ送信する(S282)。
【0276】
一方で、S281の処理において、HTTPS用アクセス認可情報やユーザ識別子が問題ある場合は(S281:No)、レスポンス「NG」をHTTPSプロトコルを用いた通信によって、HTTPSリクエストの要求元へ送信する(S283)。
【0277】
S280の処理において、取得要求のHTTPSリクエストを受信していない場合(S280:No)、又は、S282,S283の処理の後、ウェーブデータのURLの作成の要求のHTTPSリクエストを受信したかを確認する(S284)。S284の処理において、ウェーブデータのURLの作成の要求のHTTPSリクエストを受信した場合は(S284:Yes)、HTTPSリクエストにおいて受信したHTTPS用アクセス認可情報が問題ないかを確認する(S285)。なお、S285の処理においては、HTTPS用アクセス認可情報の代わりにユーザ識別子を確認しても良いし、HTTPS用アクセス認可情報およびユーザ識別子の両方を確認しても良い。
【0278】
S285の処理において、HTTPS用アクセス認可情報やユーザ識別子が問題ない場合は(S285:Yes)、HTTPSリクエストの要求元にレスポンス「OK」と共に指定されたウェーブデータを音色DB72dから取得するためのURLを、HTTPSプロトコルを用いた通信によって、HTTPSリクエストの要求元へ送信する(S286)。一方で、S285の処理において、HTTPS用アクセス認可情報やユーザ識別子が問題ある場合は(S285:No)、レスポンス「NG」をHTTPSプロトコルを用いた通信によって、HTTPSリクエストの要求元へ送信する(S287)。
【0279】
S284の処理において、ウェーブデータのURLの作成の要求のHTTPSリクエストを受信していない場合(S284:No)、又は、S286,S287の処理の後、サーバシンク処理(S288)を実行する。ここで、
図27を参照して、サーバシンク処理を説明する。
【0280】
図27は、サーバシンク処理(S288)のフローチャートである。サーバシンク処理は、サーバ70におけるシンクデータ72eの更新に関する処理である。サーバシンク処理はまず、シンクの指示の要求のHTTPSリクエストを受信したかを確認する(S300)。S300の処理において、シンクの指示の要求のHTTPSリクエストを受信した場合は(S300:Yes)、HTTPSリクエストにおいて受信したHTTPS用アクセス認可情報が問題ないかを確認する(S301)。
【0281】
S301の処理において、HTTPS用アクセス認可情報が問題ない場合は(S301:Yes)、HTTPSリクエストにおいて受信した音色データ又はウェーブデータの識別子および属性情報をシンクデータ72eに保存することで、シンクデータ72eを更新する(S302)。
【0282】
S302の処理の後、トピックを「シンク完了」、ペイロードを「COMPLETED」としたMQTTデータを作成する。かかるMQTTデータのトピックには、S300の処理で受信したHTTPSリクエストの要求元のデバイス識別子とユーザ識別子とが含まれる。作成したMQTTデータを、HTTPSリクエストの要求元のデバイス識別子とユーザ識別子とによってサブスクライブ登録している機器に送信する(S303)。
【0283】
一方で、S301の処理において、HTTPS用アクセス認可情報が問題ある場合は(S301:No)、レスポンス「NG」をHTTPSプロトコルを用いた通信によって、HTTPSリクエストの要求元へ送信する(S304)。
【0284】
S300の処理において、シンクの指示の要求のHTTPSリクエストを受信していない場合(S300:No)、又は、S303,S304の処理の後、シンクデータ72eの要求のHTTPSリクエストを受信したかを確認する(S305)。S305の処理において、シンクデータ72eの要求のHTTPSリクエストを受信した場合は(S305:Yes)、HTTPSリクエストにおいて受信したHTTPS用アクセス認可情報が問題ないかを確認する(S306)。なお、S306の処理においては、HTTPS用アクセス認可情報の代わりにユーザ識別子を確認しても良いし、HTTPS用アクセス認可情報およびユーザ識別子の両方を確認しても良い。
【0285】
S306の処理において、HTTPS用アクセス認可情報やユーザ識別子が問題ない場合は(S306:Yes)、レスポンス「OK」と共に、シンクデータ72eをHTTPSプロトコルを用いた通信によって、HTTPSリクエストの要求元へ送信する(S307)。一方で、S306の処理において、HTTPS用アクセス認可情報やユーザ識別子が問題ある場合は(S306:No)、レスポンス「NG」をHTTPSプロトコルを用いた通信によって、HTTPSリクエストの要求元へ送信する(S308)。S305の処理において、シンクデータ72eの要求のHTTPSリクエストを受信していない場合(S305:No)、又は、S307,S308の処理の後、サーバシンク処理を終了する。
【0286】
図26に戻る。S288のサーバシンク処理の後、その他の処理(S289)を実行し、サーバHTTPSイベント処理を終了する。S289のその他の処理としては、通信装置1や携帯端末50から受信する上記以外のHTTPSリクエストに対する処理を行い、その結果をHTTPSレスポンスとしてHTTPSプロトコルを用いた通信で送信する処理が挙げられる。
【0287】
最後に、
図28~30を参照して、電子楽器30におけるイベント処理を説明する。
図28は、電子楽器イベント処理(S133)のフローチャートである。電子楽器イベント処理はまず、サーバ70から受信したMQTTデータのトピックが「音色データのロードの指示」であるかを確認する(S320)。具体的には、受信したMQTTデータのトピックに、通信装置1のデバイス登録データのデバイス識別子、
図19のS131の処理で受信したユーザ識別子および「音色データのロードの指示」の全てが含まれるかが確認される。
【0288】
S320の処理において、受信したMQTTデータのトピックが「音色データのロードの指示」である場合は(S320:Yes)、受信したMQTTデータのペイロードから音色データを取得し、ワークメモリ33aに保存する(S321)。S321の処理の後、トピックを「ロード履歴の更新」、ペイロードをワークメモリ33aに保存した「音色データの識別子」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S322)。
【0289】
S320の処理において、受信したMQTTデータのトピックが「音色データのロードの指示」ではない場合(S320:No)、又は、S322の処理の後、電子楽器ライト処理(S323)と、電子楽器インストール処理(S324)とを実行する。ここで、
図29,30を参照して、これらの処理を説明する。
【0290】
図29は、電子楽器ライト処理(S323)のフローチャートである。電子楽器ライト処理は、電子楽器30におけるライトに関する処理である。電子楽器ライト処理はまず、サーバ70から受信したMQTTデータのトピックが「音色データのライトの指示」であるかを確認する(S330)。具体的には、受信したMQTTデータのトピックに、通信装置1のデバイス登録データのデバイス識別子、
図19のS131の処理で受信したユーザ識別子および「音色データのライトの指示」の全てが含まれるかが確認される。
【0291】
S330の処理において、受信したMQTTデータのトピックが「音色データのライトの指示」である場合は(S330:Yes)、受信したMQTTデータのペイロードのURLの音色データの取得要求のHTTPSリクエストを、HTTPSプロトコルを用いた通信でサーバ70に送信する(S331)。この際に、
図19のS131の処理で取得したHTTPS用アクセス認可情報も含めて送信される。
【0292】
S331の処理の後、S331の処理による取得要求のレスポンスが「OK」かを確認する(S332)。S332の処理において、レスポンスが「OK」である場合(S332:Yes)、トピックを「進捗通知」、ペイロードを音色データを受信した割合に応じた値(0~99%)としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S333)。
【0293】
S333の処理の後、音色データの受信が完了したかを確認する(S334)。S334の処理において、音色データの受信が完了していない場合は(S334:No)、S333以下の処理を繰り返す。一方で、S334の処理において、音色データの受信が完了した場合は(S334:Yes)、受信した音色データを音色メモリ32bに保存する(S335)。
【0294】
S335の処理の後、トピックを「進捗通知」、ペイロードを「100%」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S336)。
【0295】
S336の処理の後、シンクの指示の要求のHTTPSリクエストを、HTTPSプロトコルを用いた通信でサーバ70に送信する(S337)。この際に、ライトした音色データの識別子および属性情報と、
図19のS131の処理で取得したHTTPS用アクセス認可情報とも含めて送信される。
【0296】
S332の処理において、レスポンスが「OK」ではない場合(S332:No)、トピックを「進捗通知」、ペイロードを「ERROR」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S338)。
【0297】
S330の処理において、受信したMQTTデータのトピックが「音色データのライトの指示」ではない場合(S330:No)、又は、S337,S338の処理の後、電子楽器ライト処理を終了する。
【0298】
図30は、電子楽器インストール処理(S324)のフローチャートである。電子楽器インストール処理は、電子楽器30におけるインストールに関する処理である。電子楽器インストール処理はまず、サーバ70から受信したMQTTデータのトピックが「インストール可否」であるかを確認する(S350)。具体的に、受信したMQTTデータのトピックに、通信装置1のデバイス識別子、
図19のS131の処理で受信したユーザ識別子および「インストール可否」の全てが含まれるかが確認される。
【0299】
S350の処理において、受信したMQTTデータのトピックが「インストール可否」である場合(S350:Yes)、ウェーブメモリ32cに受信したMQTTデータのペイロードに設定されるサイズのウェーブデータが保存可能かを確認する(S351)。S351の処理において、ウェーブメモリ32cにウェーブデータが保存できる場合は(S351:Yes)、トピックを「インストール可否」、ペイロードを「インストール可」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S352)。
【0300】
一方で、S351の処理において、ウェーブメモリ32cにウェーブデータが保存できない場合は(S351:No)、トピックを「インストール可否」、ペイロードを「インストール不可」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S353)。
【0301】
S350の処理において、受信したMQTTデータのトピックが「インストール可否」ではない場合(S350:No)、又は、S352,S353の処理の後、サーバ70から受信したMQTTデータのトピックが「ウェーブデータのインストールの指示」であるかを確認する(S354)。具体的に、受信したMQTTデータのトピックに、通信装置1のデバイス識別子、
図19のS131の処理で受信したユーザ識別子および「ウェーブデータのインストールの指示」の全てが含まれるかが確認される。
【0302】
S354の処理において、受信したMQTTデータのトピックが「ウェーブデータのインストールの指示」である場合は(S354:Yes)、サーバ70に受信したMQTTデータのペイロードのURLのウェーブデータの取得要求をHTTPSプロトコルを用いた通信でサーバ70に送信する(S355)。この際に、
図19のS131の処理で取得したHTTPS用アクセス認可情報も含めて送信される。
【0303】
S355の処理の後、S355の処理による取得要求のレスポンスが「OK」かを確認する(S356)。S356の処理において、レスポンスが「OK」である場合(S356:Yes)、トピックを「進捗通知」、ペイロードをウェーブデータを受信した割合に応じた値(0~99%)としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S357)。
【0304】
S357の処理の後、ウェーブデータの受信が完了したかを確認する(S358)。S358の処理において、ウェーブデータの受信が完了していない場合は(S358:No)、S357以下の処理を繰り返す。一方で、S358の処理において、ウェーブデータの受信が完了した場合は(S358:Yes)、受信したウェーブデータをウェーブメモリ32cに保存する(S359)。
【0305】
S359の処理の後、トピックを「進捗通知」、ペイロードを「100%」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S360)。
【0306】
S360の処理の後、シンクの指示の要求のHTTPSリクエストを、HTTPSプロトコルを用いた通信でサーバ70に送信する(S361)。この際に、インストールしたウェーブデータの識別子および属性情報と、
図19のS131の処理で取得したHTTPS用アクセス認可情報とも含めて送信される。
【0307】
S356の処理において、レスポンスが「OK」ではない場合(S356:No)、トピックを「進捗通知」、ペイロードを「ERROR」としたMQTTデータを作成する。かかるMQTTデータのトピックには、通信装置1のデバイス識別子と、
図19のS131の処理で受信したユーザ識別子とが含まれる。作成したMQTTデータをMQTTプロトコルを用いた通信でサーバ70に送信する(S362)。
【0308】
S354の処理において、受信したMQTTデータのトピックが「ウェーブデータのインストールの指示」ではない場合(S354:No)、又は、S361,S362の処理の後、電子楽器インストール処理を終了する。
【0309】
図28に戻る。S324の電子楽器インストール処理の後、その他の処理(S325)を実行し、電子楽器イベント処理を終了する。S325のその他の処理としては、電子楽器30の設定キー35を介して、ユーザHからサーバ70への指示が入力された場合に、その指示に応じたMQTTデータ又はHTTPSリクエストを作成し、通信装置1へ送信することや、サーバ70からその他のMQTTデータを受信した場合に、受信したMQTTデータを解析し、解析されたMQTTデータに応じた処理を行うことや、サーバ70からHTTPSレスポンスを受信した場合に、受信したHTTPSレスポンスに応じた処理を行うことが挙げられる。
【0310】
以上、上記実施形態に基づき説明したが、種々の改良変更が可能であることは容易に推察できるものである。
【0311】
上記実施形態では、通信装置1が電子楽器30に接続される構成としたが、これに限られない。通信装置1を電子楽器30に内蔵させ、通信装置1に関する処理を電子楽器30で実行しても良い。この場合、デバイス識別子を電子楽器30毎に一意に設定される識別子とし、電子楽器30にかかるデバイス識別子や製品情報(即ちデバイス登録データ)を記憶すれば良い。
【0312】
上記実施形態では、通信装置1にAP情報11d及びAPパスワード11eを設け、これらに記憶されるAP90の情報および入力PSWでAP90に接続した。しかし、これに限られず、例えば、携帯端末50から受信したAP90の情報および入力PSWを電子楽器30(例えばフラッシュROM32)に記憶させ、通信装置1がAP90に接続する際に、電子楽器30から電子楽器30に記憶されたAP90の情報および入力PSWを取得し、取得したAP90の情報および入力PSWでAP90に接続しても良い。
【0313】
上記実施形態では、通信装置1に操作ボタン2及びLED3を設け、この操作ボタン2を長押しすることで、通信装置1をセットアップモードに移行させ、この際にLED3を点滅させた。しかし、これに限られず、例えば、電子楽器30の設定キー35の所定の操作により、通信装置1をセットアップモードに移行させ、LCD36に通信装置1がセットアップモードである旨を表示しても良い。この場合、通信装置1から操作ボタン2及びLED3を省略しても良い。
【0314】
上記実施形態では、サーバ70においてユーザHのユーザ識別子に基づくHTTPS用アクセス認可情報を作成して、通信装置1及び携帯端末50に送信し、通信装置1及び携帯端末50からHTTPS用アクセス認可情報によるHTTPSプロトコルを用いた通信で、リソースの受信等を行った。しかし、サーバ70で作成される認可情報は、HTTPS用アクセス認可情報に限られず、サーバ70で他の通信プロトコルにおける認可情報を作成し、通信装置1及び携帯端末50に送信し、通信装置1及び携帯端末50では、サーバ70から送信された認可情報を用いて、サーバ70からリソースを受信すれば良い。
【0315】
上記実施形態では、通信装置1でWi-Fiに接続するAP90を携帯端末50でユーザHに選択させ、入力PSWを携帯端末50でユーザHに入力させたが、これに限られない。例えば、通信装置1から受信したAP90のリストの中から携帯端末50で接続可能なAP90がユーザHによって選択された場合、携帯端末50でのユーザHによる入力PSWの入力を省略し、携帯端末50が当該AP90の接続に使用しているパスワードを入力PSWとして通信装置1に送信しても良い。更に、通信装置1から受信したAP90のリストの中に携帯端末50で接続可能なAP90が含まれている場合、携帯端末50でのユーザHによるAP90の選択を省略し、携帯端末50で接続可能なAP90を自動的に選択し、その携帯端末50で接続可能なAP90に関するAP90の情報と、当該AP90の接続に使用しているパスワードとを通信装置1に送信しても良い。
【0316】
上記実施形態において、ロード履歴72fには、音色データのロード回数を記憶したが、これに限られない。ロード回数の代わりに、音色データがワークメモリ33aに保存された日付時刻を記憶しても良い。これにより、例えば、ユーザHが携帯端末50から電子楽器30にロードを指示する際に、ロードする月日および時間帯において使用頻度の高い音色データをLCD56に優先的に表示することで、その月日および時間帯においてユーザHが好みとされる音色データの利用を、ユーザHに促すことができる。
【0317】
上記実施形態では、通信システムSを通信装置1を接続した電子楽器30、携帯端末50及びサーバ70で構成したが、これに限られない。携帯端末50にサーバ70の機能を搭載し、通信システムSからサーバ70を省略しても良い。これとは逆に、サーバ70に携帯端末50の機能を搭載し、通信システムSから携帯端末50を省略しても良い。
【0318】
上記実施形態では、通信装置1はWi-FiによってAP90に接続し、AP90がインターネットNに接続することで、インターネットNを介したサーバ70との通信を行った。しかし、これに限られず、例えば、通信装置1を、携帯端末50と同様に基地局100に接続させ、基地局100を介してインターネットNに接続しても良い。この場合、通信装置1が接続している基地局100と、携帯端末50が接続している基地局100とは同一の基地局である必要はない。また、通信装置1をWi-Fi以外の他の無線通信規格によってAP90に接続しても良いし、有線通信によって通信装置1とインターネットNとを接続しても良い。
【0319】
また、携帯端末50は基地局100に接続し、基地局100がインターネットNに接続することで、インターネットNを介したサーバ70との通信を行った。しかし、これに限られず、例えば、携帯端末50をWi-FiによってAP90に接続させ、AP90を介してインターネットNと接続しても良い。この場合、通信装置1が接続しているAP90と、携帯端末50が接続しているAP90は同じアクセスポイントである必要はない。また、有線通信によって携帯端末50とインターネットNとを接続しても良い。
【0320】
上記実施形態では、通信装置1と携帯端末50とは、Bluetoothによって通信したが、これに限られない。例えば、ZigBee等の他の近距離無線通信規格によって通信装置1と携帯端末50とを通信させても良いし、通信装置1と携帯端末50とを有線接続して通信させても良い。
【0321】
上記実施形態では、ユーザHから指示が入力される端末として携帯端末50を例示したが、これに限られない。例えば、パーソナルコンピュータやタブレット端末等をユーザHから指示が入力される端末としても良い。
【0322】
上記実施形態では、通信装置1が接続される電子機器として電子楽器30を例示したがこれに限られない。通信装置1が接続される電子機器を、映像の処理を行う映像装置としても良い。この際サーバ70に、リソースとして、映像データや音声データ、更には場面切り替え等の編集に関するデータを記憶し、映像装置からの指示に応じたデータを通信装置1に送信すれば良い。
【符号の説明】
【0323】
30 電子楽器(電子機器)
50 携帯端末(端末)
70 サーバ
72 HDD(データ記憶手段)
S 通信システム
S260,S267 指示受信手段、指示受信ステップ
S262,S269 情報作成手段、情報作成ステップ
S263,S270 指示送信手段、指示送信ステップ
S280,S284 要求受信手段
S282,S286 要求データ取得手段、要求データ送信手段
S300 保存データ受信手段
S302 保存データ記憶手段
S307 保存データ送信手段