(57)【要約】   【課題】  ＵＳＢコネクタの引き抜きや再接続の手順を要さず、電子楽器とＰＣなどホスト機器との間で、異なるＵＳＢクラスにしたがったデータ通信を実現する。  【解決手段】  入出力Ｉ／Ｆ２８は、ＵＳＢ端子中、Ｄ＋端子からの信号線と電源線４０との間に配置されたプルアップ抵抗３８と、プルアップ抵抗３８を介したＤ＋端子からの信号線と電源線４０との間の接続の有効・無効を制御するスイッチ制御部３７を備える。スイッチ制御部３７は、ＣＰＵ２１からの、第１のＵＳＢクラスにしたがった第１の状態から、第１のＵＳＢクラスと異なる第２のＵＳＢクラスにしたがった第２の状態への切替指示にしたがって、プルアップ抵抗によるプルアップを無効としてＤ＋端子からの信号線と電源線との間を遮断し、第２のＵＳＢクラスにしたがった第２の状態への切替が完了すると、プルアップを再度有効として、Ｄ＋端子からの信号線と電源線４０との間を再度接続する。【選択図】  図３
2011008311.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ端子と接続され、ＵＳＢ端子およびＵＳＢケーブルを介してホスト機器との間でデータ通信を行なう入出力制御装置であって
ＵＳＢ端子中、プラス側の信号線と電源線との間に配置されたプルアップ抵抗と、前記プルアップ抵抗を介した前記プラス側の信号線と電源線との間の接続の有効・無効を制御する制御手段と、を備え、
前記制御手段は、第１のＵＳＢクラスにしたがった第１の状態から、前記第１のＵＳＢクラスと異なる第２のＵＳＢクラスにしたがった第２の状態への、ＵＳＢクラスの切替指示にしたがって、前記プルアップ抵抗によるプルアップを無効として前記信号線と電源線との間を遮断し、前記第２のＵＳＢクラスにしたがった第２の状態への切替が完了すると、前記プルアップを再度有効として、前記信号線と電源線との間を再度接続するように構成されたことを特徴とする入出力制御装置。
【請求項２】
前記制御手段は、前記信号線と電源線との間を接続或いは遮断するスイッチを有し、前記ＵＳＢクラスの切替指示にしたがって、前記スイッチをオフとして、前記信号線と電源線との間を遮断し、前記切替が完了すると、前記スイッチを再度オンとして、前記信号線と電源線との間を再度接続するように構成されたことを特徴とする請求項１に記載の入出力制御装置。
【請求項３】
前記制御手段は、前記プルアップを再度有効とした後、前記ホスト機器からのディスクリプタ送信要求の受信に応答して、前記第２のＵＳＢクラスのディスクリプタを、前記ホスト機器に対して送信するように構成されたことを特徴とする請求項１または２に記載の入出力制御装置。
【請求項４】
前記信号線に接続され、前記信号線を介して受信した信号から、現在のＵＳＢクラスにしたがってデータを復号し、かつ、データを符号化して送信すべき信号を生成するデータ生成手段と、
前記復号化されたデータ、および、符号化すべきデータを一時的に記憶するデータ記憶手段と、を備えたことを特徴とする請求項１ないし３の何れか一項に記載の入出力制御装置。
【請求項５】
前記第１のＵＳＢクラスおよび第２のＵＳＢクラスの何れか一方が、ＭＩＤＩに準拠したＭＩＤＩデバイスとして動作するＵＳＢクラスであり、何れか他方が、マスストレージデバイスとして動作するＵＳＢクラスであり、
請求項１ないし５の何れか一項に記載の入出力制御装置と、
前記第１のＵＳＢクラスにしたがったデータ送受信、および、前記第２のＵＳＢクラスにしたがったデータ送受信を実行するデータ送受信手段と、
前記第１のＵＳＢクラスにしたがった第１の状態、および、前記第２のＵＳＢクラスにしたがった第２の状態の切替操作を受け入れる操作子と、
を備えたことを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータなどの外部機器との間のデータ入出力を制御する入出力制御装置、および、当該入出力制御装置を備えた電子楽器に関する。
【背景技術】
【０００２】
従来、電子楽器には、５ピンのＤＩＮコネクタを、２つ或いは３つ備え、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）規格に準拠して、他の電子楽器、パーソナルコンピュータ（ＰＣ）を含む他の機器との間でデータ通信を行なっていた。近年、情報機器のデータ通信のためにＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が提案され、汎用インタフェースとして普及している。現段階で普及しているＵＳＢ（ＵＳＢ２．０）では、ＵＳＢ端子は、ＶＢＵＳ、Ｄ＋、Ｄ−およびＧＮＤのという４つの端子を有し、ＰＣなどのホスト機器から、ＵＳＢケーブルを介して接続された機器に、ＶＢＵＳ端子を利用して給電するとともに、Ｄ＋端子およびＤ−端子を介してデータを送受信することができる。
【０００３】
ＵＳＢの普及により、ＵＳＢ端子を備え、ＵＳＢケーブルを介して、ＰＣなどホスト機器とのデータ通信を行なえる電子楽器も実現されている。たとえば、特許文献１には、ＭＩＤＩ端子とＵＳＢ端子の双方を備えた電子楽器において、ＵＳＢ端子およびＵＳＢケーブルを介してＰＣに接続されていない場合には、ＭＩＤＩ端子およびＭＩＤＩケーブルを介して接続された機器とのデータ通信を有効とする技術が開示されている。この電子楽器は、さらに、ＵＳＢ端子およびＵＳＢケーブルを介してＰＣに接続されている場合には、ＭＩＤＩ端子から接続される他の機器から入力されるデータ（ＭＩＤＩデータ）をＵＳＢ端子およびＵＳＢケーブルを介してＰＣに送信し、また、ＵＳＢ端子において受信したＰＣからのデータを、ＭＩＤＩ端子を介して他の機器に送信し、かつ、ＵＳＢ端子およびＵＳＢケーブルを介したＰＣからのデータを電子楽器においても受信し、また、電子楽器におけるデータを、ＵＳＢ端子およびＵＳＢケーブルを介してＰＣに送信するように構成されている。
【０００４】
また、たとえば、非特許文献１に開示されているように、ＵＳＢ端子を利用して、ＭＩＤＩに準拠したデータを送受信することができるＵＳＢケーブルおよびＭＩＤＩインタフェースが実用化されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１５１７４９号公報
【非特許文献】
【０００６】
【非特許文献１】ローランド株式会社、“ＵＭ−１Ｇ  ＵＳＢ  ＭＩＤＩ  Ｉｎｔｅｒｆａｃｅ”、［ｏｎｌｉｎｅ］、［平成２１年６月４日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｒｏｌａｎｄ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔｓ／ｊｐ／ＵＭ−１Ｇ／ｉｎｄｅｘ．ｈｔｍｌ＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１に開示されたＵＳＢケーブルを利用してＭＩＤＩに準拠したデータ通信をする場合、ノートオン、ノートオフ、プログラムチェンジなど通常のＭＩＤＩ規格にしたがったメッセージ以外のデータを送信する場合には、機器においてデータをＭＩＤＩメッセージに変換した上で送信する必要があるため、効率が悪いという問題点があった。
【０００８】
たとえば、ＰＣをホスト機器として、ＰＣと電子楽器との間で比較的大量のデータを送受信するには、電子楽器をマスストレージクラスのデバイスとして、データ通信をすることが望ましい。したがって、電子楽器において、ＭＩＤＩに準拠したデータ通信、および、他のＵＳＢクラス（たとえば、マスストレージクラス）に従ったデータ通信の双方が実現できるのが望ましい。
【０００９】
電子楽器のスイッチ操作によりマスストレージクラスのデバイスとして機能する状態として、ＵＳＢケーブルを介したデータ通信を実現することが考えられる。しかしながら、従来の電子楽器においては、いったん、ＵＳＢコネクタを、ＰＣ或いは電子楽器から引き抜き、電子楽器の状態を、マスストレージクラスのデバイスに切替えた上で、再度、ＵＳＢコネクタを機器に接続するという手順が必要であった。
【００１０】
本発明は、ＵＳＢコネクタの引き抜きや再接続の手順を要さず、電子楽器とＰＣなどホスト機器との間で、異なるＵＳＢにしたがったデータ通信を実現できる、入出力制御装置および入出力制御装置を備えた電子楽器を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的は、ＵＳＢ端子と接続され、ＵＳＢ端子およびＵＳＢケーブルを介してホスト機器との間でデータ通信を行なう入出力制御装置であって
ＵＳＢ端子中、プラス側の信号線と電源線との間に配置されたプルアップ抵抗と、前記プルアップ抵抗を介した前記プラス側の信号線と電源線との間の接続の有効・無効を制御する制御手段と、を備え、
前記制御手段は、第１のＵＳＢクラスにしたがった第１の状態から、前記第１のＵＳＢクラスと異なる第２のＵＳＢクラスにしたがった第２の状態への、ＵＳＢクラスの切替指示にしたがって、前記プルアップ抵抗によるプルアップを無効として前記信号線と電源線との間を遮断し、前記第２のＵＳＢクラスにしたがった第２の状態への切替が完了すると、前記プルアップを再度有効として、前記信号線と電源線との間を再度接続するように構成されたことを特徴とする入出力制御装置により達成される。
【００１２】
好ましい実施態様においては、前記制御手段は、前記信号線と電源線との間を接続或いは遮断するスイッチを有し、前記ＵＳＢクラスの切替指示にしたがって、前記スイッチをオフとして、前記信号線と電源線との間を遮断し、前記切替が完了すると、前記スイッチを再度オンとして、前記信号線と電源線との間を再度接続するように構成される。
【００１３】
また、好ましい実施態様においては、前記制御手段は、前記プルアップを再度有効とした後、前記ホスト機器からのディスクリプタ送信要求の受信に応答して、前記第２のＵＳＢクラスのディスクリプタを、前記ホスト機器に対して送信するように構成されている。
【００１４】
別の好ましい実施態様においては、前記信号線に接続され、信号線を介して受信した信号から、現在のＵＳＢクラスにしたがってデータを復号し、かつ、データを符号化して送信すべき信号を生成するデータ生成手段と、
前記復号化されたデータ、および、符号化すべきデータを一時的に記憶するデータ記憶手段と、を備えている。
【００１５】
また、本発明の目的は、前記第１のＵＳＢクラスおよび第２のＵＳＢクラスの何れか一方が、ＭＩＤＩに準拠したＭＩＤＩデバイスとして動作するＵＳＢクラスであり、何れか他方が、マスストレージデバイスとして動作するＵＳＢクラスであり、
請求項１ないし５の何れか一項に記載の入出力制御装置と、
前記第１のＵＳＢクラスにしたがったデータ送受信、および、前記第２のＵＳＢクラスにしたがったデータ送受信を実行するデータ送受信手段と、
前記第１のＵＳＢクラスにしたがった第１の状態、および、前記第２のＵＳＢクラスにしたがった第２の状態の切替操作を受け入れる操作子と、
を備えたことを特徴とする電子楽器により達成される。
【発明の効果】
【００１６】
本発明によれば、ＵＳＢコネクタの引き抜きや再接続の手順を要さず、電子楽器とＰＣなどホスト機器との間で、異なるＵＳＢにしたがったデータ通信を実現できる、入出力制御装置および入出力制御装置を備えた電子楽器を提供することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本実施の形態にかかる電子楽器およびパーソナルコンピュータの概略を示す図である。
【図２】図２は、本実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態にかかる入出力Ｉ／Ｆの構成を示すブロックダイヤグラムである。
【図４】図４は、本実施の形態にかかる電子楽器において実行される処理の例を概略的に示すフローチャートである。
【図５】図５は、本実施の形態にかかるステータス切替処理の例を示すフローチャートである。
【図６】図６は、本実施の形態にかかるステータス切替処理の例を示すフローチャートである。
【図７】図７は、本実施の形態にかかるステータス切替処理の例を示すフローチャートである。
【図８】図８は、本実施の形態にかかる外部データ通信処理の例を示すフローチャートである。
【図９】図９は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。
【図１０】図１０は、本実施の形態にかかる発音処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本実施の形態にかかる電子楽器およびパーソナルコンピュータの概略を示す図である。図１に示す電子楽器１０は、鍵盤２６や表示部２７を有している。また、後述するスイッチ部２５（図２参照）を構成する種々のスイッチを備える。電子楽器１０には、ＵＳＢ端子１６が設けられ、ＵＳＢ端子１６にて、ＵＳＢケーブル１４と接続される。図１においては、ＵＳＢケーブル１４の他端は、パーソナルコンピュータ（ＰＣ）１２のＵＳＢ端子１８に接続される。
【００１９】
ＰＣ１２は、ＵＳＢケーブル１４を介して、電子楽器１０と接続されたときに、ホスト機器として動作する。ＰＣ１２には、マスストレージクラスのデバイスとデータ通信することができる第１のホストコントローラ（図示せず）、および、ＵＳＢに準拠したＭＩＤＩデバイスとの間でデータ通信することができる第２のホストコントローラ（図示せず）を備えている。
【００２０】
図２は、本実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。図２に示すように、本実施の形態にかかる電子楽器１０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、サウンドシステム２４、スイッチ部２５、鍵盤２６、表示部２７および入出力インタフェース（Ｉ／Ｆ）２８を備える。入出力Ｉ／Ｆには、上述したＵＳＢ端子１８のほか、ＭＩＤＩ規格に準拠する５ピンのＤＩＮコネクタを備えたＭＩＤＩ端子３０が接続される。
【００２１】
ＣＰＵ２１は、電子楽器１０全体の制御、鍵盤２６の鍵の押鍵やスイッチ部２５を構成するスイッチの操作の検出、鍵やスイッチの操作にしたがったサウンドシステム２４の制御など種々の処理を実行する。また、本実施の形態において、ＣＰＵ２１は、入出力Ｉ／Ｆ２８と協働して、電子楽器１０を複数のＵＳＢクラスのうち何れかのクラスに属するデバイスとして動作するように、電子楽器１０を制御する。後に詳述するが、本実施の形態において、電子楽器１０は、外部のホスト機器（本実施の形態ではＰＣ１４）との間でデータ通信をするときに、ＵＳＢに準拠したＭＩＤＩデバイス、或いは、ＵＳＢに準拠したマスストレージクラスのデバイスの何れかのデバイスとして動作することができる。以下、本明細書においては、ＵＳＢに準拠したＭＩＤＩデバイスとして動作するときの電子楽器の状態（現在ステータス）を、ＭＩＤＩデバイス、マスストレージクラスのデバイスとして動作するときの状態（現在ステータス）を、マスストレージデバイスと称する。また、本明細書において、ＵＳＢに準拠したＭＩＤＩデバイスとして動作するときのＵＳＢクラスを「ＭＩＤＩクラス」、マスストレージデバイスとして動作するときのＵＳＢクラスを「マスストレージクラス」と称する。
【００２２】
ＲＯＭ２２は、ＣＰＵ２１に実行させる種々の処理、たとえば、鍵盤の鍵のオン（押鍵）・オフ（離鍵）、スイッチの操作、押鍵に応じた楽音の発音、電子楽器１０のステータスの切り替え、ステータスにしたがった外部機器との間のデータ通信などプログラムを格納する。また、ＲＯＭ２２は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリアを有する。ＲＡＭ２３は、ＲＯＭ２２から読み出されたプログラムや、処理の過程で生成されたデータを記憶する。
【００２３】
サウンドシステム２４は、音源部３１、オーディオ回路３２およびスピーカ３３を有する。音源部３１は、たとえば、押鍵された鍵に関するノートオンイベントをＣＰＵ２１から受信すると、ＲＯＭ２２の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部３１は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。オーディオ回路３２は、楽音データをＤ／Ａ変換して増幅する。これによりスピーカ３３から音響信号が出力される。
【００２４】
図３は、本実施の形態にかかる入出力Ｉ／Ｆの構成を示すブロックダイヤグラムである。図３に示すように、本実施の形態にかかる入出力Ｉ／Ｆ２８は、ＵＳＢ端子１６から受け入れた信号に基づいて、受信データを生成するとともに、ＵＳＢ端子１６から出力すべき信号を生成するデータ生成部３５と、データ生成部３５において生成されたデータや、データ生成部３５において読み込まれるべきデータを一時的に記憶するバッファメモリ３６と、プルアップ抵抗３８と、電源線４０との間のスイッチ３９を制御するスイッチ制御部３７と、を有する。
【００２５】
図３に示すように、ＵＳＢ端子１６は、ＵＳＢ２．０の規格にしたがって、電源端子（ＶＢＵＳ）、２つの差動対端子（Ｄ＋端子およびＤ−端子）、グラウンド端子（ＧＮＤ）という４つの端子を有する。差動対端子（Ｄ＋端子およびＤ−端子）からの信号線は、データ生成部３５に接続される。また、プラス側の差動対端子Ｄ＋からの信号線は、プルアップ抵抗３８の一方に接続される。
【００２６】
プルアップ抵抗３８の他方は、スイッチ３９に接続される。スイッチ制御部３７は、スイッチ３９のオン・オフを制御することができる。スイッチ制御部３７がスイッチ３９をオン状態にすることにより、Ｄ＋端子からの信号線は、プルアップ抵抗３８を介して電源線４０と接続されることになるため、基本的には、信号線がハイレベルの状態となる。その一方、スイッチ制御部３７が、スイッチ３９をオフ状態にすることにより、信号線のレベルが不定の状態となる。本実施の形態においては、入出力Ｉ／Ｆ２８およびＣＰＵ２１により、入出力制御装置が構成される。
【００２７】
次に、上述したような構成の電子楽器において実行される処理について説明する。図４は、本実施の形態にかかる電子楽器１０において実行される処理の例を概略的に示すフローチャートである。図４に示すように、電子楽器１０の電源が投入されると、ＣＰＵ２１は、ＲＡＭ２３中のデータ、入出力Ｉ／Ｆ２８のバッファメモリ３６に一時的に記憶されたデータ、表示部２７の画面に表示された画像のクリアを含むイニシャライズを実行する（ステップ４０１）。なお、イニシャライズ処理が終了した状態では、入出力Ｉ／Ｆ
２８のスイッチ３９はオン状態であり、プルアップ抵抗３８と電源線４０とが接続され、プルアップが有効となっている。イニシャライズが終了すると、電子楽器１０のＣＰＵ２１は、スイッチ処理を実行する（ステップ４０２）。
【００２８】
スイッチ処理においては、ＣＰＵ２１は、スイッチ部２６を構成するスイッチの操作を検出し、検出されたスイッチの状態をＲＡＭ２３に格納し、また、必要に応じてスイッチの操作にしたがった処理を実行する。本実施の形態にかかるスイッチ処理においては、ステータス切替スイッチ（図示せず）がオンされたときにも、ステータス切替スイッチがオンされたことを示す情報がＲＡＭ２３に格納される。
【００２９】
スイッチ処理（ステップ４０２）が終了すると、ＣＰＵ２１は、ＵＳＢ端子１６に、ＵＳＢコネクタが挿入され、ＵＳＢコネクタおよびＵＳＢケーブルを介して、ホスト機器（本実施の形態ではＰＣ１４）との接続を検出し、ホスト機器とのデータ送信を可能にするステータス切替処理を実行する（ステップ４０３）。図５ないし図７は、本実施の形態にかかるステータス切替処理の例を示すフローチャートである。図５に示すように、ＣＰＵ２１は、ＵＳＢ端子１６に、ＵＳＢケーブルを介したホスト機器の接続があるかを判断する（ステップ５０１）。ステップ５０１でＮｏと判断された場合には、接続ステータスが、接続中であるかを判断する（ステップ５０２）。
【００３０】
本実施の形態においては、接続ステータスは、「接続中」および「接続なし」の何れか一方に対応する値をとりうる。たとえば、接続ステータスが「接続中」であるときには、「接続ステータス＝１」であり、接続ステータスが「接続なし」であるときには、「接続ステータス＝０」とすれば良い。電子楽器１０においては、入出力Ｉ／Ｆ２８が、ＶＢＵＳの電圧を定期的に調べ、所定の電圧値を検出することにより、ＵＳＢ端子およびＵＳＢケーブルを介してホスト機器との接続を検出することができる。
【００３１】
また、本実施の形態においては、接続されているホスト機器との間のデータ通信を規定するためのステータス（現在ステータス）は、「ＭＩＤＩデバイス」或いは「マスストレージデバイス」の何れかの一方に対応する値をとり得る。たとえば、現在ステータスが「ＭＩＤＩデバイス」であるときには、「現在ステータス＝１」であり、現在ステータスが「マスストレージデバイス」であるときには、「現在ステータス＝０」とすれば良い。接続ステータスおよび現在ステータスの値は、ＣＰＵ２１によりＲＡＭ２３に格納される。
【００３２】
ステップ５０２でＮｏと判断された場合には、処理を終了する。ステップ５０１およびステップ５０２の双方でＮｏと判断される場合は、電子楽器１０においても「接続なし」という接続スタータスであり、かつ、その状態で新たにＵＳＢ端子１６へのＵＳＢコネクタの接続が無かった状態を意味している。その一方、ステップ５０２でＹｅｓと判断された場合には、ＣＰＵ２１は、接続ステータスに「接続なし」に対応する値をセットする（ステップ５０３）。ステップ５０１でＮｏかつステップ５０２でＹｅｓと判断される場合は、ＵＳＢ端子１６からＵＳＢコネクタが引き抜かれたときを意味している。
【００３３】
ステップ５０１でＹｅｓと判断された場合には、ＣＰＵ２１は、接続スタータスが「接続中」であるかを判断する（ステップ５０４）。ステップ５０１でＹｅｓで、かつ、ステップ５０４でＮｏと判断された場合は、新たにＵＳＢ端子１６にＵＳＢコネクタが接続されたことを意味している。この場合には、「現在ステータス」にしたがって、所定の処理が実行される。ステップ５０４でＮｏと判断された場合には、ＣＰＵ２１は、現在ステータスが「ＭＩＤＩデバイス」を示す値であるかを判断する（ステップ７０１）。
【００３４】
ステップ７０１でＹｅｓと判断され、ＵＳＢ端子１６を介して入出力Ｉ／Ｆ２８がディスクリプタ要求を受信したことを検出すると、これに応答して、ＣＰＵ２１は、入出力Ｉ／Ｆ２８にＭＩＤＩクラスのディスクリプタの送信を指示する。入出力Ｉ／Ｆ２８は、送信指示にしたがって、ＵＳＢ端子１６を介して、接続されたホスト機器にＭＩＤＩクラスのディスクリプタを送信する（ステップ７０２）。これにより、ＵＳＢケーブルにより接続されたホスト機器（本実施の形態においては、ＰＣ１４）は、ＵＳＢケーブルを介して接続されたデバイス（本実施の形態にかかる電子楽器１０）が、ＭＩＤＩデバイスであると認識する。
【００３５】
その一方、ステップ７０１でＮｏと判断された場合に、ＵＳＢ端子１６を介して入出力Ｉ／Ｆ２８がディスクリプタ要求を受信したことを検出すると、これに応答して、ＣＰＵ２１は、入出力Ｉ／Ｆ２８にマスストレージクラスのディスクリプタの送信を指示する。入出力Ｉ／Ｆ２８は、送信指示にしたがって、ＵＳＢ端子１６を介して、接続されたホスト機器（本実施の形態においてはＰＣ１４）にマスストレージクラスのディスクリプタを送信する（ステップ７０２）。これにより、ＵＳＢケーブルにより接続されたホスト機器（本実施の形態においては、ＰＣ１４）は、ＵＳＢケーブルを介して接続されたデバイス（本実施の形態にかかる電子楽器１０）が、マスストレージデバイスであると認識する。ステップ７０２或いはステップ７０３の後、ＣＰＵ２１は、接続ステータスを「接続中」に対応する値にセットする。接続ステータスを示す値はＲＡＭ２３に格納される。
【００３６】
次に、ステップ５０４でＹｅｓと判断された場合について説明する。ステップ５０４でＹｅｓと判断された場合には、ＣＰＵ２１は、ステータス切替スイッチがオンされているかを判断する（ステップ５０５）。なお、ステータス切替スイッチの状態は、先のスイッチ処理（ステップ２０４）において検出され、その状態はＲＡＭ２３に格納されている。ステップ５０５でＮｏと判断された場合には、処理を終了する。
【００３７】
ステップ５０５でＹｅｓと判断された場合には、ＣＰＵ２１は、現在ステータスが、「ＭＩＤＩデバイス」を示す値であるかを判断する（ステップ５０６）。ステップ５０６でＹｅｓと判断された場合には、ＣＰＵ２１は、入出力Ｉ／Ｆ２８のスイッチ制御部３７に対して、プルアップの無効、すなわち、スイッチ３９のオフを指示する（ステップ５０７）。スイッチ制御部３７は、指示にしたがってスイッチ３９をオフにする。これにより、Ｄ＋端子からの信号線が不定の状態となる。
【００３８】
ＵＳＢケーブルを介して接続されたＰＣ１４においても、Ｄ＋端子からの信号線が不定となったことが検出される。ホストコントローラとして機能するＰＣ１４においては、Ｄ＋端子からの信号線が不定となったことで、電子楽器１０、ＰＣ１４の何れの機器においても、ＵＳＢ端子からＵＳＢコネクタが引き抜かれていないにもかかわらず、ＰＣ１４は、ＵＳＢコネクタが引き抜かれたと判断することになる。
【００３９】
ステップ５０７の後、ＣＰＵ２１は、電子楽器１０がマスストレージクラスのデバイスとして動作するように、内部状態を変更する（ステップ５０８）。ステップ５０８においては、たとえば、マスストレージクラスのデバイスドライバ（図示せず）が起動される。ついで、ＣＰＵ２１は、所定時間（たとえば、１秒）だけ待機した（ステップ５０９）後、入出力Ｉ／Ｆ２８のスイッチ制御部３７に対して、プルアップの有効、すなわち、スイッチ３９のオンを指示する（ステップ５１０）。これにより、Ｄ＋端子からの信号線が、プルアップされ、基本的にハイレベルの状態に維持される。Ｄ＋端子からの信号線が不定からハイレベルとなったことで、電子楽器１０、ＰＣ１４の何れの機器においても、ＵＳＢ端子からＵＳＢコネクタが新たに差し込まれてはいないにもかかわらず、ＰＣ１４は、ＵＳＢコネクタが差し込まれたと判断し得る。
【００４０】
ＵＳＢ端子１６を介して入出力Ｉ／Ｆ２８がディスクリプタ要求を受信したことを検出すると、これに応答して、ＣＰＵ２１は、マスストレージクラスのディスクリプタの送信を指示する。入出力Ｉ／Ｆ２８は、送信指示にしたがって、ＵＳＢ端子１６を介して、ＰＣ１４にマスストレージクラスのディスクリプタを送信する（ステップ５１１）。この結果、ＰＣ１４は、ＵＳＢケーブルを介して接続された電子楽器１０が、マスストレージデバイスであると認識する。ＣＰＵ２１は、現在ステータスに、「マスストレージデバイス」を示す値をセットする（ステップ５１２）。
【００４１】
ステップ５０６でＮｏと判断された場合には、ステッ５０７と同様に、ＣＰＵ２１は、入出力Ｉ／Ｆ２８のスイッチ制御部３７に対して、プルアップの無効、すなわち、スイッチ３９のオフを指示する（ステップ６０１）。スイッチ制御部３７は、指示にしたがってスイッチ３９をオフにする。これにより、Ｄ＋端子からの信号線が不定の状態となる。ＵＳＢケーブルを介して接続されたＰＣ１４においても、Ｄ＋端子からの信号線が不定となったことが検出される。ホストコントローラとして機能するＰＣ１４においては、Ｄ＋端子からの信号線が不定となったことで、電子楽器１０、ＰＣ１４の何れの機器においても、ＵＳＢ端子からＵＳＢコネクタが引き抜かれていないにもかかわらず、ＰＣ１４は、ＵＳＢコネクタが引き抜かれたと判断することになる。
【００４２】
ステップ６０１の後、ＣＰＵ２１は、電子楽器１０がＭＩＤＩクラスのデバイスとして動作するように、内部状態を変更する（ステップ６０２）。ステップ６０２においては、たとえば、ＭＩＤＩに対応したデバイスドライバ（図示せず）が起動される。ついで、ＣＰＵ２１は、所定時間（たとえば、１秒）だけ待機した（ステップ６０３）後、入出力Ｉ／Ｆ２８のスイッチ制御部３７に対して、プルアップの有効、すなわち、スイッチ３９のオンを指示する（ステップ６０４）。これにより、Ｄ＋端子からの信号線が、プルアップされ、基本的にハイレベルの状態に維持される。Ｄ＋端子からの信号線が不定からハイレベルとなったことで、電子楽器１０、ＰＣ１４の何れの機器においても、ＵＳＢ端子からＵＳＢコネクタが新たに差し込まれてはいないにもかかわらず、ＰＣ１４は、ＵＳＢコネクタが差し込まれたと判断し得る。
【００４３】
ＵＳＢ端子１６を介して入出力Ｉ／Ｆ２８がディスクリプタ要求を受信したことを検出すると、これに応答して、ＣＰＵ２１は、ＭＩＤＩクラスのディスクリプタの送信を指示する。入出力Ｉ／Ｆ２８は、送信指示にしたがって、ＵＳＢ端子１６を介して、接続されたホスト機器にＭＩＤＩクラスのディスクリプタを送信する（ステップ６０５）。この結果、ＰＣ１４は、ＵＳＢケーブルを介して接続された電子楽器１０が、ＭＩＤＩデバイスであると認識する。ＣＰＵ２１は、現在ステータスに、「ＭＩＤＩデバイス」を示す値をセットする（ステップ６０６）。
【００４４】
このように、本実施の形態においては、ステータス切替スイッチがオンされたときに、ＵＳＢ端子におけるＤ＋端子の信号線を不定の状態にすることで、ＵＳＢコネクタがＵＳＢ端子から引き抜かれていないにもかかわらず、接続されたホスト機器（ＰＣ１４）において、ＵＳＢコネクタが引き抜かれたと判断される。この状態で、電子楽器１０の内部状態を変更して、その後Ｄ＋端子の信号線をハイレベルに戻すことで、接続されたホスト機器（ＰＣ１４）において、ＵＳＢコネクタが再度差し込まれたと判断される。したがって、本実施の形態によれば、実際のＵＳＢコネクタの引き抜き、差し込みを行なうことなく、ＵＳＢケーブルを介してデータ送信する電子楽器の内部状態を変化させ、異なるＵＳＢのデバイスとしてデータ通信を実現することができる。
【００４５】
ステータス切替処理（ステップ４０３）の後、外部データ通信処理が実行される（ステップ４０４）。図８は、本実施の形態にかかる外部データ通信処理の例を示すフローチャートである。図８に示すように、ＣＰＵ２１は、ＲＡＭ２３に格納された接続ステータスを参照して、接続ステータスが「接続中」であるかを判断する（ステップ８０１）。ステップ８０１でＹｅｓと判断された場合には、ＣＰＵ２１は、現在ステータスが「ＭＩＤＩデバイス」であるかを判断する（ステップ８０２）。
【００４６】
ステップ８０２でＹｅｓと判断された場合には、ＣＰＵ２１は、入出力Ｉ／Ｆ２８においてデータ受信があったかを判断する（ステップ８０３）。ステップ８０３でＹｅｓと判断された場合に、ＣＰＵ２１は、ＭＩＤＩデバイスとして、データを受信し、符号化するよう入出力Ｉ／Ｆ２８に指示し、入出力Ｉ／Ｆ２８は指示にしたがって動作する（ステップ８０４）。得られたデータはバッファメモリ３６に一時的に記憶され、ＣＰＵ２１により読み出され、ＲＡＭ２３の所定の領域に格納される。
【００４７】
ＣＰＵ２１は、データバッファ３６に送信すべきデータがあるかを判断する（ステップ８０５）。ステップ８０５でＹｅｓと判断された場合には、ＣＰＵ２１は、ＭＩＤＩデバイスとしてデータ送信することを入出力Ｉ／Ｆ２８に指示する。入出力Ｉ／Ｆ２８は、ＭＩＤＩ規格にしたがって、バッファメモリ３６からデータを読み出し、データを符号化し、ＵＳＢ端子１６から送信する（ステップ８０６）。
【００４８】
ステップ８０２でＮｏと判断された場合には、ＣＰＵ２１は、入出力Ｉ／Ｆ２８においてデータ受信があったかを判断する（ステップ８０７）。ステップ８０７でＹｅｓと判断された場合に、ＣＰＵ２１は、マスストレージデバイスとして、データを受信し、符号化するよう入出力Ｉ／Ｆ２８に指示し、入出力Ｉ／Ｆ２８は指示にしたがって動作する（ステップ８０８）。得られたデータはバッファメモリ３６に一時的に記憶され、ＣＰＵ２１により読み出され、ＲＡＭ２３の所定の領域に格納される。
【００４９】
ＣＰＵ２１は、データバッファ３６に送信すべきデータがあるかを判断する（ステップ８０９）。ステップ８０９でＹｅｓと判断された場合には、ＣＰＵ２１は、マスストレージデバイスとしてデータ送信することを入出力Ｉ／Ｆ２８に指示する。入出力Ｉ／Ｆ２８は、指示にしたがってマスストレージデバイスの規格にしたがって、バッファメモリ３６からデータを読み出し、データを符号化し、ＵＳＢ端子１６から送信する（ステップ８１０）。
【００５０】
外部データ通信処理（ステップ４０４）の後、ＣＰＵ２１は鍵盤処理を実行する（ステップ４０５）。図９は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。図９に示すように、ＣＰＵ２１は、鍵盤２６の鍵を所定の順で（たとえば、音高の低い鍵から）走査して（ステップ９０１）、処理対象となる鍵の状態に変化があったか否かを判断する（ステップ９０２）。ステップ９０２で鍵がオン状態となった場合には、ＣＰＵ２１は、当該鍵の押鍵に基づき、鍵に対応する音高の楽音を発音することを示すノートオンイベントを生成する（ステップ９０３）。また、処理対象となる鍵がオフ状態となった場合には、ＣＰＵ２１は、離鍵された鍵に対応する音高の楽音を消音することを示すノートオフイベントを生成する（ステップ９０４）。ノートオンイベントおよびノートオフイベントは、ＲＡＭ２３の所定の領域（イベントエリア）に格納される。
【００５１】
ステップ９０３、９０４が実行された後、或いは、ステップ９０２で鍵の状態に変化がないと判断された場合には、ＣＰＵ２１は、すべての鍵について処理が終了したかを判断する（ステップ９０５）。ステップ９０５でＮｏと判断された場合には、ステップ９０１に戻る。その一方、ステップ９０５でＹｅｓと判断された場合には処理を終了する。
【００５２】
鍵盤処理（ステップ４０５）の後、発音処理（ステップ４０６）が実行される。図１０は、本実施の形態にかかる発音処理の例を示すフローチャートである。ＣＰＵ２１は、ＲＡＭ２３のイベントエリアを参照して（ステップ１００１）、未処理のイベントが存在するかを判断する（ステップ１００２）。ステップ１００２でＮｏと判断された場合には処理を終了する。ステップ１００２でＹｅｓと判断された場合には、ＣＰＵ２１は、イベントがノートオンイベントであるかを判断する（ステップ１００３）。ステップ１００３でＹｅｓと判断された場合には、ＣＰＵ２１は、音源部３１に対して、ノートオンイベントが示す音高の楽音を、所定の音色で発音するように指示を与える（ステップ１００４）。音源部３１は、指示に応答して、ＲＯＭ２２から、指定された音色の波形データを指定された音高に基づいて読み出して、かつ、読み出された波形データに、エンベロープに基づく乗算値を乗算して楽音データを生成し、オーディオ回路３２に出力する。
【００５３】
ステップ１００３でＮｏと判断された場合、つまり、イベントがノートオフイベントであった場合には、ＣＰＵ２１は、ノートオフイベントが示す音高の楽音を消音するように音源部３１に指示を与える（ステップ１００５）。音源部３１は、指示に応答して、読み出された波形データに、徐々に減少するリリースのエンベロープを乗算して楽音データを生成してオーディオ回路３２に出力する。
【００５４】
その後、ＣＰＵ２１は、表示部２７の画面に表示すべき画像の更新を含む、他の必要な処理を実行して（ステップ４０７）、ステップ４０２に戻る。なお、ステップ４０７における処理には、画像の更新のほか、ＭＩＤＩ端子３０およびＭＩＤＩケーブル（図示せず）を介して接続された電子楽器を含む他の機器との間の、ＭＩＤＩに準拠したデータ通信、受信したＭＩＤＩデータに基づく処理も含まれる。
【００５５】
本実施の形態においては、入出力Ｉ／Ｆ２８は、ＵＳＢ端子中、プラス側のＤ＋端子からの信号線と電源線４０との間に配置されたプルアップ抵抗３８と、プルアップ抵抗３８を介したＤ＋端子からの信号線と電源線４０との間の接続の有効・無効を制御するスイッチ制御部３７を備える。スイッチ制御部３７は、ＣＰＵ２１からの、第１のＵＳＢクラスにしたがった第１の状態から、第１のＵＳＢクラスと異なる第２のＵＳＢクラスにしたがった第２の状態への、ＵＳＢクラスの切替指示にしたがって、プルアップ抵抗によるプルアップを無効としてＤ＋端子からの信号線と電源線との間を遮断し、第２のＵＳＢクラスにしたがった第２の状態への切替が完了すると、プルアップを再度有効として、Ｄ＋端子からの信号線と電源線との間を再度接続する。
【００５６】
したがって、本実施の形態では、プルアップが無効となるため、ＵＳＢケーブルを介して接続されたホスト機器は、ＵＳＢコネクタが引き抜かれたと認識する。また、プルアップを再度有効とすることにより、ホスト機器は、ＵＳＢコネクタが入出力制御装置に差し込まれて、ＵＳＢ端子に再度接続されたと認識する。これにより、実際のＵＳＢケーブルの引き抜き、および、差し込みを要することなく、ＵＳＢクラスの切替を実現できる。
【００５７】
本実施の形態では、入出力Ｉ／Ｆ２８は、Ｄ＋端子からの信号線と電源線との間を接続或いは遮断するスイッチ３９を有し、スイッチ制御部３７によるスイッチ３９のオン・オフによりプルアップの有効・無効を制御している。したがって簡単な構成で、プルアップの有効・無効を実現することができる。
【００５８】
また、本実施の形態においては、プルアップを再度有効とした後、ＵＳＢケーブルを介して接続されたホスト機器からのディスクリプタ送信要求の受信に応答して、第２のＵＳＢクラスのディスクリプタを、ホスト機器に対して送信することで、実際のＵＳＢケーブルの引き抜き、および、差し込みをせずに、ＵＳＢクラスを切り替え、以後、第２のＵＳＢクラスにしたがった第２の状態でのデータ通信が可能となる。
【００５９】
また、本実施の形態において、入出力Ｉ／Ｆ２８は、Ｄ＋端子からの信号線およびＤ−端子からの信号線に接続され、現在のＵＳＢクラスにしたがってデータを復号し、かつ、データを符号化して送信すべき信号を生成するデータ生成部３５と、データ生成部３５により生成されたデータ、或いは、データ生成部３５において処理されるべきデータを一時的に記憶するバッファメモリ３６を備える。これにより、入出力Ｉ／Ｆ２８を含む電子楽器などの機器からのデータを受け入れ、また、機器に適切なデータを与えることが可能となる。
【００６０】
また、本実施の形態にかかる電子楽器は、現在ステータスが「ＭＩＤＩデバイス」を示す値である場合には、ＣＰＵ２１および入出力Ｉ／Ｆ２８により、ＭＩＤＩデバイスとして、ホスト機器との間でデータ送受信が可能であり、また、現在ステータスが「マスストレージデバイス」を示す値である場合には、ＣＰＵ２１および入出力Ｉ／Ｆ２８により、マスストレージデバイスとして、ホスト機器との間でデータ送受信が可能である。
【００６１】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００６２】
たとえば、本実施の形態において、電子楽器１０は、ＭＩＤＩデバイスおよびマスストレージデバイスの何れかとして動作し、ＵＳＢ端子およびＵＳＢケーブルを介して、ホスト機器（ＰＣ１４）との間でデータ通信を行なっている。しかしながら、電子楽器１０が、他のＵＳＢクラスのデバイスとして動作可能であっても良い。
【００６３】
また、本実施の形態において、入出力制御装置を含む電子楽器は鍵盤を含むものであったが、これに限定されるものではなく、いわゆるＤＴＭ（Ｄｅｓｔ  Ｔｏｐ  Ｍｕｓｉｃ）用の音源モジュールの形態をとっていても良い。
【符号の説明】
【００６４】
１０        電子楽器
１２        ＰＣ
１４        ＵＳＢケーブル
１６、１８  ＵＳＢ端子
２１        ＣＰＵ
２２        ＲＯＭ
２３        ＲＡＭ
２４        サウンドシステム
２５        スイッチ部
２６        鍵盤
２７        表示部
２８        入出力Ｉ／Ｆ
３５        データ生成部
３６        バッファメモリ
３７        スイッチ制御部
３８        プルアップ抵抗
３９        スイッチ
４０        電源線
【図１】
2011008311.tif 000003
【図２】
2011008311.tif 000004
【図３】
2011008311.tif 000005
【図４】
2011008311.tif 000006
【図５】
2011008311.tif 000007
【図６】
2011008311.tif 000008
【図７】
2011008311.tif 000009
【図８】
2011008311.tif 000010
【図９】
2011008311.tif 000011
【図１０】
2011008311.tif 000012