JP2013015643A - 演奏データ送信装置及び演奏データ受信装置 - Google Patents

演奏データ送信装置及び演奏データ受信装置 Download PDF

Info

Publication number
JP2013015643A
JP2013015643A JP2011147700A JP2011147700A JP2013015643A JP 2013015643 A JP2013015643 A JP 2013015643A JP 2011147700 A JP2011147700 A JP 2011147700A JP 2011147700 A JP2011147700 A JP 2011147700A JP 2013015643 A JP2013015643 A JP 2013015643A
Authority
JP
Japan
Prior art keywords
data
performance data
midi
performance
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011147700A
Other languages
English (en)
Other versions
JP5891620B2 (ja
Inventor
Yoshiki Nishitani
善樹 西谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2011147700A priority Critical patent/JP5891620B2/ja
Publication of JP2013015643A publication Critical patent/JP2013015643A/ja
Application granted granted Critical
Publication of JP5891620B2 publication Critical patent/JP5891620B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】低遅延でかつ安定して無線通信によって演奏データを送受信することのできる技術を提供する。
【解決手段】演奏データ送信装置2は、MIDI機器1から出力されるMIDIデータをMIDIイベント単位で演奏データ受信装置3へ無線送信する。演奏データ受信装置3は、演奏データ送信装置2からイベントデータを受信すると、受信されたイベントデータの応答として応答データを送信する。演奏データ送信装置2は、ひとつのイベントデータを送信する毎に、応答データの受信を予め定められた待機時間だけ待機し、待機時間内に応答データが受信された場合には次のイベントデータを送信する一方、待機時間内に応答データが受信されなかった場合には、直前に送信されたイベントデータを再送する。
【選択図】図1

Description

本発明は、楽器の演奏内容を表す演奏データを無線通信によって送受信する技術に関する。
演奏操作等に従って演奏データを生成する装置と、その演奏データに基づく発音を行う装置との間で、有線又は無線の通信により演奏データを送受信できるようにし、演奏データの生成と発音とを別々の装置に行わせるようにすることが行われている。このような技術としては、例えば特許文献1に、MIDI(Musical Instruments Digital Interface)形式のデータ(以下「MIDIデータ」という)を無線送信する場合において、生成したMIDIデータを生成順に送信バッファに記録し、そのデータを1バイト毎にパケット化して送信する技術が記載されている。
特開2007−25410号公報
ところで、送信先の装置に対し、送信した演奏データに基づく発音を行わせることを考える場合、演奏データの送受信には高いリアルタイム性が要求される。しかしながら、上記の特許文献1に記載のものを含め、従来の方式では、リアルタイム性が十分でないという問題があった。
本発明は上述した背景に鑑みてなされたものであり、演奏データを、低遅延でかつ安定して無線通信によって送受信することのできる技術を提供することを目的とする。
上述した課題を解決するため、本発明は、楽器の演奏内容を表すイベントデータが時系列に並んで構成された演奏データが、シリアル通信によって入力される入力手段と、演奏データ受信装置との間で無線通信のペアリングを行うペアリング手段と、前記ペアリング手段によってペアリングされた演奏データ受信装置へ、前記入力手段に入力された演奏データを前記イベントデータ単位で送信する演奏データ送信手段と、前記演奏データ送信手段によって送信されるイベントデータの応答として前記ペアリングされた演奏データ受信装置から送信されてくる応答データを受信する応答データ受信手段と、前記演奏データ送信手段によってひとつの前記イベントデータを送信する毎に、前記応答データの受信を予め定められた第1の待機時間だけ待機し、該第1の待機時間内に前記応答データが受信された場合には、次のイベントデータを送信する一方、該第1の待機時間内に前記応答データが受信されなかった場合には、直前に送信されたイベントデータを再送し、かつ、該第1の待機時間よりも長い第2の待機時間だけ待機しても前記応答データが受信されなかった場合には次のイベントデータを送信する送信制御手段とを具備することを特徴とする演奏データ送信装置を提供する。
本発明の好適な態様において、前記入力手段は、演奏データが出力される出力端子のジャックに差込可能なプラグを有し、前記ペアリング手段、前記データ送信手段、前記応答データ受信手段及び前記送信制御手段を内蔵する筐体を有してもよい。
また、本発明は、楽器の演奏内容を表すイベントデータが時系列に並んで構成された演奏データを送信する演奏データ送信装置との間で、無線通信のペアリングを行うペアリング手段と、前記ペアリング手段によってペアリングされた演奏データ送信装置から、前記イベントデータ単位で送信されてくる演奏データを前記イベントデータ単位で受信するデータ受信手段と、前記イベントデータ受信手段によって前記イベントデータが受信される毎に、当該イベントデータを受信した旨を示す応答データを前記ペアリングされた演奏データ送信装置へ送信する応答データ送信手段と、前記応答データ送信手段によって前記応答データを送信する毎に、次のイベントデータの受信を予め定められた待機時間だけ待機し、当該待機時間内に当該次のイベントデータが受信されなかった場合には前記応答データを再送する応答データ再送手段であって、当該待機処理及び当該再送処理を予め定められた回数だけ繰り返し実行する応答データ再送手段と、前記イベントデータ受信手段によって前記イベントデータを受信する毎に、当該受信したイベントデータを、シリアル通信によって出力する出力手段とを具備することを特徴とする演奏データ受信装置を提供する。
本発明の好適な態様において、前記出力手段は、演奏データが入力される入力端子のジャックに接続可能なプラグを有し、前記ペアリング手段、前記データ受信手段、前記応答データ送信手段及び前記応答データ再送手段を内蔵する筐体を有してもよい。
本発明の更に好適な態様において、前記再送手段は、イベントデータが受信されなくなってから予め定められた時間が経過した場合において、直前に受信されたイベントデータが発音開始を示すイベントデータである場合には、発音終了を示すイベントデータを生成し、生成したイベントデータを前記シリアル通信によって出力してもよい。
本発明によれば、演奏データを低遅延でかつ安定して無線通信によって送受信することができる。
本発明の一実施形態に係るシステムの構成の一例を示すブロック図である。 演奏データ送信装置と演奏データ受信装置の外観の一例を示す図である。 楽器と演奏データ送信装置のハードウェア構成の一例を示すブロック図である。 演奏データ受信装置と音源のハードウェア構成の一例を示すブロック図である。 演奏データ送信装置と演奏データ受信装置の機能的構成の一例を示すブロック図である。 データの内容の一例を示す図である。 データの内容の一例を示す図である。 システムの処理の流れを示すシーケンス図である。 演奏データ送信装置が行う処理の流れを示すフローチャートである。 演奏データ受信装置が行う処理の流れを示すフローチャートである。 システムの処理の流れを示すシーケンス図である。 遅延時間の計測結果の一例を示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの構成を概略的に示す図である。 本発明の変形例に係るシステムの動作例を示す図である。
図1は、本発明の一実施形態に係るシステムの構成を示すブロック図である。MIDI機器1は、例えばシンセサイザやキーボード、電子ピアノ、電子MIDIギターなどの楽器であり、演奏者の演奏操作に応じてMIDI形式で記述されたデータ(以下「MIDIデータ」)を生成する。MIDI機器1は、MIDIデータを出力するためのMIDI出力端子のジャックを備えており、このジャックに接続された外部機器に対して生成したMIDIデータを出力する。この実施形態では、MIDI機器1のジャックには演奏データ送信装置2のプラグが接続される。演奏データ送信装置2は、例えば楽器などで構成されるMIDI機器1から出力されるMIDIデータを無線通信によって演奏データ受信装置3に送信する。演奏データ受信装置3は、演奏データ送信装置2から送信されてくるMIDIデータを受信し、受信したMIDIデータを例えば楽器などで構成される音源を有するMIDI機器4に出力する。音源を有するMIDI機器4は、MIDIデータが入力されるMIDI入力端子のジャックを備えており、このMIDI入力端子に入力されたMIDIデータに応じて放音する。この実施形態では、音源を有するMIDI機器4のジャックには演奏データ受信装置3のプラグが接続される。
図2は、演奏データ送信装置2及び演奏データ受信装置3の形状の一例を示す図である。図示のように、演奏データ送信装置2は、プラグ20aと、小型の筐体20bとを有している。プラグ20aはMIDIケーブルコネクタのプラグと同様であり、MIDIインタフェースを備える装置のMIDI出力端子のジャックに差込可能となっている。この実施形態では、上述したように、演奏データ送信装置2のプラグ20aはMIDI機器1のMIDI出力端子のジャックに差し込んで用いられる。また、演奏データ受信装置3は、プラグ30aと、小型の筐体30bとを有している。プラグ30aはMIDIケーブルコネクタのプラグと同様であり、MIDIインタフェースを備える装置のMIDI入力端子のジャックに差込可能となっている。この実施形態では、上述したように、演奏データ受信装置3のプラグ30aは音源を有するMIDI機器4のMIDI入力端子のジャックに差し込んで用いられる。また、図2に示す例では、演奏データ送信装置2及び演奏データ受信装置3は、筐体20b,筐体30bのそれぞれの中に装置の各部に電力を供給する電源部20c,30cが含まれてMIDI通信回路基板が組み込まれている。
図3は、MIDI機器1と演奏データ送信装置2のハードウェア構成の一例を示す図である。図において、CPU(Central Processing Unit)11は、ROM(Read Only Memory)12に記憶されているコンピュータプログラムを読み出してRAM(Random Access Memory)13にロードし、これを実行することにより、MIDI機器1の各部を制御する。記憶部14は、ハードディスクや光ディスク等の大容量の記憶手段である。操作部15は、MIDI機器1に対する操作を受け付けるためのものであり、各種の設定を行うためのキーやボタンの他、利用者が演奏操作を行うための操作子を備える。より具体的には、例えば、MIDI機器1が鍵盤楽器である場合には、操作部15は鍵盤やフットペダルを備え、MIDI機器1が弦楽器である場合には弦を備える。また、MIDI機器1が吹奏楽器である場合にはマウスピースを備える。操作部15は、利用者の演奏内容に応じた信号を出力し、CPU11は、操作部15からの出力信号に応じてMIDIデータを生成する。MIDII/F16は、MIDI出力端子のジャックを備え、CPU11によって生成されたMIDIデータを、ジャックに接続されたケーブルや外部装置に出力する。MIDII/F16から出力されるMIDIデータは、MIDIイベントを表すイベントデータが時系列に並んで構成されたデータである。
次に、演奏データ送信装置2のハードウェア構成について説明する。CPU21は、ROM22に記憶されているコンピュータプログラムを読み出してRAM23にロードし、これを実行することにより、演奏データ送信装置2の各部を制御する。MIDII/F26は、MIDI出力端子のジャックに差込可能なプラグ20aを備え、MIDI機器1から出力されるMIDIデータがシリアル通信によって入力される。無線通信部24は、無線により他の装置と通信を行うインタフェースである。
図4は、演奏データ受信装置3と音源を有するMIDI機器4のハードウェア構成の一例を示す図である。図において、CPU31は、ROM32に記憶されているコンピュータプログラムを読み出してRAM33にロードし、これを実行することにより、演奏データ受信装置3の各部を制御する。無線通信部34は、無線により他の装置と通信を行うインタフェースである。MIDII/F36は、MIDI入力端子のジャックに差込可能なプラグ30aを備え、MIDIデータをシリアル通信によって出力する。
次に、音源を有するMIDI機器4のハードウェア構成について説明する。CPU41は、ROM42に記憶されているコンピュータプログラムを読み出してRAM43にロードし、これを実行することにより、音源を有するMIDI機器4の各部を制御する。MIDII/F46は、MIDI入力端子のジャックを備え、このジャックに接続された演奏データ受信装置3からMIDIデータが入力される。音源部44は、MIDII/F46に入力されたMIDIデータを基に、デジタル音響信号である波形データを生成する音源手段である。また、音源部44は、生成した波形データをスピーカ45に供給し、その波形データに基づく発音を行わせる。さらに、生成した波形データに対してミキシングやイコライジング等の処理を行う手段を設けてもよい。
次に、演奏データ送信装置2と演奏データ受信装置3の機能的構成について図5を参照しつつ説明する。図において、UART(Universal Asynchronous Receiver Transmitter)211は、調歩同期方式によるシリアル信号をパラレル信号に変換したり、その逆方向の変換を行うための集積回路である。UART211は、MIDI機器1からのUART割り込み(すなわちMIDIデータの入力)を監視し、割り込みが発生すると、UART211のデータバッファのバッファリングを行う。また、UART211は、RF(Radio Frequency)通信を開始するため、タイマ212を起動する。
タイマ212は、UART211によって起動されてから640us後にタイマ割り込みを発生させて、RF通信を開始する。バッファ213は、UART211のデータバッファのバッファリングを行う。通信制御部214は、演奏データ受信装置3との間で無線通信のペアリングを行うとともに、ペアリングされた演奏データ受信装置3へ、MIDIデータをイベント単位で送信する。通信制御部214は、RF通信エラーが発生した場合に、再送を行うためのタイマ215を起動する。通信制御部214は、送信用バッファ(図示略)を参照して送信用のイベントデータを生成する。この実施形態では、通信制御部214の送信パケットサイズは4バイトとしており、それ以上のデータが送信用バッファにたまっている場合は、複数に分けて送信される。
また、通信制御部214は、送信したイベントデータの応答として演奏データ受信装置3から送信されてくる応答データ(ACKデータ)を受信する。応答データは、動作の完了を知らせる信号であり、特に、データを転送する際に、送信側からの転送要求に対して、受信側が転送を許可する意味で送信側に発する信号のことを示す。タイマ215は、通信制御部214によってタイマが起動されてから960us後にタイマ割り込みを発生させる。通信制御部214は、イベントデータを送信してから960us以内に応答データが受信されなかった場合、直前に送信したイベントデータを再送する。タイマ215のタイマ割り込みが発生する前に応答データを受信した場合は、通信制御部214は再送処理を行わない。
次に、演奏データ受信装置3の機能的構成について説明する。通信制御部313は、演奏データ送信装置2との間で、無線通信のペアリングを行うとともに、ペアリングされた演奏データ送信装置2から、MIDIイベントを表すイベントデータ単位で送信されてくるMIDIデータをイベントデータ単位で受信する。通信制御部313は、MIDI形式のイベントデータや、ペアリングダミーデータを受信する毎に、受信したデータをUART311へ出力する。また、通信制御部313は、イベントデータを受信する毎に、イベントデータを受信した旨を示す応答データを、ペアリングされた演奏データ送信装置2へ送信する。UART311は、受信されたイベントデータを音源を有するMIDI機器4へ出力する。このとき、受信されたイベントデータをバッファ312にバッファリングし、バッファリング後、バッファ312にたまっているデータを出力するようにしてもよい。
通信制御部313はMIDIフォーマットのチェックを行わず、受信したMIDIのイベントデータをそのままUART311へ出力する。これは、演奏データ受信装置3はMIDIデータの受信のみを想定しており、無線通信が正常であれば、フォーマットチェックは必要ないと言えるためである。このように演奏データ受信装置3でフォーマットチェック処理を行わないことにより、データを受信してから音が出力されるまでの処理時間が短縮され、遅延が軽減される。
通信制御部313は、応答データを送信する毎に、次のイベントデータの受信を予め定められた待機時間T0だけ待機し、待機時間T0内に次のイベントデータが受信されなかった場合には応答データを再送する。通信制御部313は、この待機処理及び再送処理を予め定められた回数(例えば3回)だけ繰り返し実行する。このように繰り返し応答データを再送することにより、エラーが発生している場合であっても、再送処理がスムーズに行われる。
また、この実施形態では、演奏データ受信装置3は、MIDIデータをイベント単位で受信するから、受信したイベントデータを再構築する必要がなく、そのまま音源を有するMIDI機器4へ出力することができる。すなわち、受信したイベントデータをバッファリングする必要がなく、そのまま音源を有するMIDI機器4へ供給することができ、これにより遅延の発生を少なくすることができる。
次に、演奏データ送信装置2が送信するイベントデータと、演奏データ受信装置3が送信する応答データの内容の一例について、図面を参照しつつ説明する。演奏データ送信装置2は、操作部15により受け付けた操作内容に従って、ノートオンやノートオフを始めとする演奏内容に係るMIDIデータを生成し、演奏データ受信装置3へ無線で送信する。図6は、演奏データ送信装置2が送信するイベントデータの内容の一例を示す図である。図示のように、イベントデータは、「Data No」と「NET No」と「DataSize」と「Data1」と「Data2」と「Data3」とのデータを含んでいる。これらのデータはそれぞれ1バイトである。「Data No」の項目には、ペアリングによって確立された無線通信を識別するIDが格納され、誤再送の判断に使用され、正常に通信ができたときにこの項目が更新される。「NET No」の項目には、演奏データ送信装置2を識別するIDが格納される。これは、複数のMIDI機器1と複数の演奏データ送信装置2が用いられる場合(例えば、複数のMIDI機器1を用いてセッションを行う場合、等)において、各演奏データ送信装置2を識別するための情報である。「DataSize」の項目には、このイベントデータのデータサイズを示す情報が格納される。「Data1」、「Data2」、「Data3」の項目には、例えばキーナンバーや、ノートオン/オフ、ベロシティ等、MIDIイベントの内容を表すデータが格納される。この「Data1」、「Data2」、「Data3」などの「Data(数字)」の数は、上記例の3つに限定されず、制御する音数等に応じて所望の数を付すことができる。その際に、「DataSize」がそれに合わせた値を示すものとなる。
次に、演奏データ受信装置3が演奏データ送信装置2に送信する応答データの構成の一例について、図7を参照しつつ説明する。図7は、演奏データ受信装置3が送信する応答データの内容の一例を示す図である。図示のように、応答データは、「NetNo」と「Command」と「Data1」と「Data2」と「Data3」と「NodeMax」とのデータを含んでいる。これらのデータはそれぞれ1バイトである。「NetNo」の項目には、ペアリングによって確立された無線通信を識別するIDが格納される。「Command」の項目には、コマンドの内容を表すデータ(ここでは、ACKである旨を示すデータ)が格納される。「Data1」と「Data2」と「Data3」の項目には、コマンドの種類によって必要となるパラメータが格納される。応答データである場合には、「Data1」、「Data2」、「Data3」の各項目にはNULLが設定される。「NodeMax」の項目には、ペアリング可能な装置の最大台数を示す情報が格納される。この「Data1」、「Data2」、「Data3」などの「Data(数字)」の数は、演奏データ受信装置3が受信したイベントデータに応じたものとなる。
次いで、本実施形態の動作について、図8に示すシーケンス図を参照しつつ説明する。図8は、通常時の処理の流れを示すシーケンス図である。上述したように、MIDI機器1と演奏データ送信装置2との間はMIDIケーブル通信によってデータの授受が行われ、演奏データ送信装置2と演奏データ受信装置3との間は無線通信によってデータの授受が行われる。また、演奏データ受信装置3と音源を有するMIDI機器4との間はMIDIケーブル通信によってデータの授受が行われる。図8において、まず、データの授受を行うに先立って、演奏データ送信装置2と演奏データ受信装置3はペアリングを行う。具体的には、まず、演奏データ受信装置3の通信制御部313がRFチャンネルをサーチする信号を送信し(ステップS1)、演奏データ送信装置2の通信制御部214は、演奏データ受信装置3から出力される信号を受信すると、受信した信号に基づいて演奏データ受信装置3との間でペアリングを確立する(ステップS2)。
ここで、演奏データ送信装置2と演奏データ受信装置3が行うペアリング処理の流れについて、図9及び図10を参照しつつより具体的に説明する。図9は、演奏データ送信装置2が行うペアリング処理の流れの一例を示すフローチャートであり、図10は、演奏データ受信装置3が行うペアリング処理の流れの一例を示すフローチャートである。演奏データ送信装置2の通信制御部214は、装置の電源がONされることによって図9に示す処理を開始する。装置の電源がONされると、演奏データ送信装置2の通信制御部214は、各種の初期処理を行い(ステップS110)、ペアリングを行うためのダミーデータを演奏データ受信装置3へ送信する(ステップS111)。次いで、通信制御部214は、送信したダミーデータに対して演奏データ受信装置3から応答データ(ACK)が返答された場合には(ステップS112;YES)、ペアリングを確立して通信可能状態とする(ステップS113)一方、演奏データ受信装置3から予め定められた期間(例えば、75ms)待機しても応答データが受信されなかった場合には(ステップS112;NO)、ステップS111の処理に戻り、ダミーデータの再送を行う(ステップS111)。ここまでの処理は図8のステップS1,S2に対応するものである。更に、通信制御部214は、データの再送を予め定められた回数(例えば、100回)以上失敗するまで待機し(ステップS114;NO)、データの再送を予め定められた回数以上失敗した場合には(ステップS114;YES)、ペアリングを解除し、ステップS111に戻ってペアリング処理を再度実行する。
また、演奏データ受信装置3の電源がONされると、演奏データ受信装置3の通信制御部313は、図10に示す処理を開始する。電源がONされると、通信制御部313は、各種の初期処理を行った後(ステップS210)、RFチャンネルをサーチする信号を送信する(ステップS211)。サーチしたRFチャンネルが未使用であると判定された場合は(ステップS212;YES)、通信制御部313は、演奏データ送信装置2からペアリング用のダミーデータを受信し(ステップS213)、ペアリングを確立して通信可能状態とする(ステップS214)。一方、ステップS212においてサーチしたRFチャンネルが使用中であると判断された場合は(ステップS212;NO)、通信制御部313は、別のRFチャンネルをサーチするための信号を送信し(ステップS211)、未使用のRFチャンネルがサーチされるまで、ステップS211〜ステップS212の処理を繰り返す。
図8の説明に戻る。ペアリングが行われると、演奏データ送信装置2と演奏データ受信装置3はデータの授受を待機する。利用者は、MIDI機器1の操作部15を用いてMIDI機器1を演奏する。利用者によって演奏が行われると、操作部15は、演奏内容に応じた信号を出力し、CPU11は、操作部15から出力される信号に応じてMIDIイベントを表すイベントデータM1を生成する。イベントデータM1を生成すると、MIDI機器1は、生成したイベントデータM1を演奏データ送信装置2に出力する(ステップS3)。演奏データ送信装置2の通信制御部214は、MIDI機器1からイベントデータM1が出力されると、予め定められた待機時間T3(例えば、640us)だけ待機した後、入力されたイベントデータM1を演奏データ受信装置3に送信する(ステップS4)。なお、本実施形態での無線転送レートは、2Mbpsを想定しているが、転送レートはこれに限定されるものではなく、他のレートであってもよい。なお、MIDI規格の通信レートはそれほど速くないため、2Mbpsの無線通信レートであっても遅延が発生することはないと言える。
この実施形態では、演奏データ送信装置2はMIDIデータを1イベント毎に送信する。このように、複数のイベントをまとめて送信するのではなくイベント単位でこまめに送信することによって、無線通信においてやりとりするパケットサイズを小さくしている。
一方、演奏データ受信装置3の通信制御部313は、演奏データ送信装置2からイベントデータM1を受信すると、受信したイベントデータM1を、音源を有するMIDI機器4へ出力する(ステップS5)とともに、受信したイベントデータM1の応答として、演奏データ送信装置2へ応答データを送信する(ステップS6)。このとき、上述したように、通信制御部313は受信したイベントデータをほとんどバッファリングすることなく直ぐ処理する。なお、演奏データ受信装置3でバッファリングを行ってもよいが、バッファリングを行わない場合に最も遅延時間が短くなるため、好適であると言える。
通信制御部313は、ひとつのイベントデータを受信する毎に応答データを演奏データ送信装置2へ送信する。このとき、通信制御部313は、応答データを送信する必要があるため、通信モードを送信モードに切り替える処理を行う。応答データの送信を終えるとまた受信モードに戻る、といったように、受信モードと送信モードとを短い時間間隔で切り替えている。
演奏データ送信装置2の通信制御部214は、ひとつのイベントデータを送信する毎に、応答データの受信を予め定められた待機時間T1(この実施形態では、960us)だけ待機する。なお、待機時間T1のあいだに次に送信するイベントデータのエラーチェック処理を行うようにしてもよい。通信制御部214は、待機時間T1内に応答データが受信された場合には、次のイベントデータを送信する一方、待機時間T1内に応答データが受信されなかった場合は、直前に送信したイベントデータを再送する。また、このとき、通信制御部214は、待機時間T1よりも長い待機時間T2(例えば、1.92ms)だけ待機しても応答データが受信されなかった場合には、次のイベントデータを送信する。
次に、MIDI機器1からMIDIイベントデータが複数連続して出力された場合の動作について説明する。MIDI機器1から待機時間T3以内の間隔でイベントデータM2,M3,M4,M5が複数連続して出力されると(ステップS7,S8,S9,S10)、演奏データ送信装置2の通信制御部214は、出力されたイベントデータM2,M3,M4,M5をまとめたイベントデータM20を生成し、生成したイベントデータM20を演奏データ受信装置3へ送信する(ステップS11)。演奏データ受信装置3は、演奏データ送信装置2からイベントデータM20を受信すると、受信したイベントデータM20を音源へ出力する(ステップS12)とともに、受信の応答として演奏データ送信装置2へ応答データを送信する(ステップS13)。
次いで、図11を参照しつつ、エラーが発生した場合の動作の流れについて説明する。図11は、エラーが発生した場合の処理の流れの一例を示すシーケンス図である。なお、図11において、図8と同様の処理については同じ符号を付して適宜その説明を省略する。図11において、通信制御部214は、イベントデータM1を送信(ステップS4)してから待機時間T1だけ待機しても演奏データ受信装置3から応答データが受信されなかった場合には、イベントデータM1を再送する(ステップS21)。このように、MIDI受信装置2の通信制御部214は、待機時間T1内に応答データが受信されなかった場合は直前に送信したイベントデータを再送する。このとき、通信制御部214は、待機時間T1よりも長い待機時間T2だけ待機しても応答データが受信されなかった場合には、次のイベントデータを送信する。このように、待機時間T1だけ待機しても応答データが受信されなかった場合には直前のイベントデータを再生し、かつ、待機時間T2だけ待機しても応答データが受信されなかった場合には次のイベントデータを送信することによって、遅延を必要最小限に抑えつつ、安定したデータ通信を行うことができる。この再送処理は、複数のイベントデータをまとめたイベントデータを送信する場合も同様であり、通信制御部214は、イベントデータM20を送信(ステップS11)してから待機時間T1だけ待機しても応答データが受信されなかった場合に、イベントデータM20を再送する(ステップS22)。
次いで、通信制御部214が応答データを待機している最中にMIDI機器1から次のイベントデータを受信した場合の動作について、ステップS23乃至ステップS31を参照しつつ説明する。MIDI機器1がイベントデータM6を出力し(ステップS23)、演奏データ送信装置2の通信制御部214がイベントデータM6を演奏データ受信装置3へ送信(ステップS24)してから待機時間T1だけ待機している間において、演奏データ送信装置2がMIDI機器1からイベントデータM7を受信する場合がある(ステップS25)。この場合、通信制御部214は、新たに受信したイベントデータM7をバッファリングしておき、応答データの受信の待機を継続する。イベントデータM6を送信してから待機時間T1だけ待機しても応答データが受信されなかった場合には、通信制御部214はイベントデータM6を再送する(ステップS26)。演奏データ受信装置3の通信制御部313は、イベントデータM6を受信すると、受信したイベントデータM6を音源を有するMIDI機器4へ出力する(ステップS27)とともに、応答データを演奏データ送信装置2へ送信する(ステップS28)。
次いで、通信制御部214は、イベントデータM7を受信してから待機時間T3だけ待機した後にイベントデータM7を演奏データ受信装置3へ送信する(ステップS29)。演奏データ受信装置3の通信制御部313は、イベントデータM7を受信すると、受信したイベントデータM7を、音源を有するMIDI機器4に出力する(ステップS30)とともに、応答データを演奏データ送信装置2へ送信する(ステップS31)。本実施形態では、以上のような処理を行って、MIDIデータを無線通信によって送受信する。
図12は、本実施形態に係るデータの送受信処理において発生する遅延時間の計測結果の一例を示す図である。図12の(a)は、演奏データ送信装置2と演奏データ受信装置3との間で発生する遅延時間の音数(ノート数)毎の計測結果R1と、既存のC社製品において発生する遅延時間の音数毎の計測結果R2とをグラフで示した図である。また、図12の(b)は、両者の計測結果を数値で示した図である。図12の(a)において、横軸の「音数」は、送信されるイベントデータに含まれるノートの数(音数)を示し、縦軸は、発生する遅延時間を示す。図示のように、本実施形態において発生する遅延時間は、音数が増えてもそれに左右されず1.8msから2.0msの間で安定しており、また、既存のC社製品の遅延時間よりも小さい値となっている。
ところで、一般的に、人間の聴覚において音の遅延時間の許容範囲は5ms程度と言われており、音の遅延が3ms以上であれば聴覚的に違和感を覚える人もいると言われている。すなわち、音の遅延が2ms以内であれば聴覚的には問題ないことが知られている。例えば、同時に演奏すべき和音の構成音が同時に演奏されなくても、その遅延が2ms以内であれば、聴感上は同時に演奏された音として聞こえることが知られている。本実施形態では、2ms以内の待機時間を設けており、それ以上の遅延が発生することはないため、本実施形態で発生し得る遅延時間は聴覚的に問題ないものであると考えられる。また、上記の図12のグラフで説明しているように、演奏データ送信装置2と演奏データ受信装置3との間で発生する遅延時間は、音数が増えてもそれに左右されず1.8msから2.0msの間で安定しており、その点からも聴覚的に問題を生じない。
本来、デジタル通信は、データをある程度バッファリングして、大きなデータを一度にまとめて送信することが一般的に行われており、このように大きなデータを一度にまとめて送信するほうが安定性があると言える。しかしながら、大きなデータを一度に送信する場合は、トータルの遅延量が、バッファ容量やCPUのパフォーマンスによっては大きくなってしまうことがある。また、通信エラーが発生した場合はエラーの影響の範囲が大きくなってしまう。それに対し本実施形態では、無線通信においてとりこぼしがある場合を想定して、送信するデータ量の単位を小さくしている。送信するデータの単位量が小さければ、エラーが発生してもデータを受信する装置における影響が小さくてすむためである。このように、通信のパケットサイズを小さくし、かつ、受信側でバッファリングをほとんど行うことなく、小さいデータをこまめに送信するため、パケットサイズが大きいデータを送信する場合よりも遅延が少ない。
このとき、逆にバッファサイズを1バイト単位にしてしまうと、1イベント分のデータが溜まってからでないとイベントを構成できないため、1イベント分のデータがバッファリングされるまで待機する必要があり、受信したデータをすぐに処理することができず、遅延が発生してしまう場合がある。それに対し本実施形態では、データをイベント単位で送信するため、ひとつのデータを受信する毎に、ひとつのイベントを構成する他のデータの受信を待機したりイベントデータを再構築したりすることなく、受信したデータをそのまま音源を有するMIDI機器4に出力することができる。このように、MIDIのイベントデータを再構築する必要がないため、演奏データ受信装置3で受信されるデータのバッファリングを行う必要がなく、遅延時間を少なくすることができる。
また、本実施形態によれば、演奏データ受信装置3が、応答データを予め定められた回数だけ連続して送信するから、これにより、応答データの送信エラーが発生した場合であっても応答データが正常に受信される確率が高まり、演奏データ送信装置2が応答データの受信を待機する時間が短縮される。
また、本実施形態では、MIDI機器1と音源を有するMIDI機器4とを有線接続する必要がないから、MIDI機器1と音源を有するMIDI機器4との配置を自由に設定することができる。また、本実施形態のMIDI機器1を用いて、音源を有するMIDI機器4と有線接続された楽器とセッションを行うことも可能である。
また、本実施形態では、演奏データ送信装置2及び演奏データ受信装置3のそれぞれの筐体の中に電源部を含めてMIDI通信回路基板を組み込んでいる。この構成により、MIDI通信回路基板を組み込んだコネクタをMIDI楽器や音源に接続するだけで簡単にワイヤレス演奏を行うことができる。
また、送信側のMIDI機器を複数用意し、それぞれを個別に操作しながら発音制御を行えばアンサンブルも簡単に行うことができる。
このように本実施形態では、送信パケットのデータサイズと応答データの受け取り確認期間を適切に設定することにより、発音遅延を2ms程度以内にすることができ、聴感上遅延を感じ無い範囲とすることができる。これにより、ワイヤレスで簡単にアンサンブル編成を組むことができる。また、その中にワイヤード接続されたMIDI機器が混在していても発音遅延の問題は生じない。具体的には、例えば、有線によるMIDIデータ通信と無線によるMIDIデータ通信とが混在しても、遅延の問題が発生しないから、有線によってMIDIデータ通信を行う楽器と無線によってMIDIデータ通信を行う楽器とが混在する場合であっても、違和感なくセッションを行うことができる。
<変形例>
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。なお、以下の各態様を適宜に組み合わせてもよい。
(1)上述の実施形態では、シンセサイザやキーボード、電子ピアノ、電子MIDIギターなどの楽器をMIDI機器1として用いたが、演奏データ送信装置2と接続する装置はこれに限らず、例えば、スマートフォン等の携帯通信端末や、パーソナルコンピュータ等の装置をMIDI機器1として用いてもよい。この場合は、例えば、利用者がスマートフォンやパーソナルコンピュータにインストールされた楽器アプリケーションを用いて演奏を行うようにしてもよい。なお、MIDI機器1がスマートフォンである場合にはタッチパネルやテンキーが操作部15に相当し、MIDI機器1がパーソナルコンピュータである場合には、キーボードやマウスが操作部15に相当する。また、上述の実施形態では、音源を有するMIDI機器4に演奏データ受信装置3を接続する構成としたが、演奏データ受信装置3と接続する装置はこれに限らず、例えば、パーソナルコンピュータ等の装置に接続して用いてもよい。要は、演奏データ送信装置2及び演奏データ受信装置3が接続される装置は、MIDI端子でなくても、USBあるいはUART等を用いてMIDIデータ等の演奏データが発信また受信できる演奏データの入出力端子を備える装置であればどのようなものであってもよい。
また、上述の実施形態では、MIDI機器1と演奏データ送信装置2とがそれぞれ別体として構成されていたが、演奏データを生成する装置と演奏データを送信する装置とが一体の装置として構成されていてもよい。また、上述の実施形態では、演奏データ受信装置3と音源を有するMIDI機器4とが別体として構成されていたが、演奏データを受信する装置と音源とが一体の装置として構成されていてもよい。
ここで、本発明に係るシステムの他の構成例について、図面を参照しつつ説明する。図13は、本発明に係るシステムの他の構成例を概略的に示す図である。なお、以下の説明においては、上述した実施形態と同様の構成要素については同じ符号を付して適宜その説明を省略する。図示のように、このシステムは、複数の演奏データ送信装置2b−1,2b−2,2b−3,2b−4と、演奏データ受信装置3と、複数の楽器4b−1,4b−2,4b−3,4b−4とを備えている。演奏データ送信装置2b−1,2b−2,2b−3,2b−4は、演奏データを生成して送信する装置であり、上述した実施形態においてMIDI機器1と演奏データ送信装置2とが一体となって構成された装置である。演奏データ受信装置3は、上述した実施形態で示したものと同様であり、MIDI入力端子のジャックに差込可能なプラグ30aを備えている。楽器4b−1,4b−2,4b−3,4b−4はそれぞれ、キーボードや電子ピアノ等の楽器であり、MIDI入力端子のジャック40aを備えている。なお、図13においては、図面が煩雑になるのを防ぐため、ひとつのジャック40aのみを図示している。このシステムでは、演奏データ受信装置3のプラグ30aが電子楽器4b−1,4b−2,4b−3,4b−4のMIDI入力端子のジャック40aに差し込まれて用いられる。なお、以下の説明では、演奏データ送信装置2b−1,2b−2,2b−3,2b−4を各々区別する必要がない場合には、これらを「演奏データ送信装置2b」と称して説明する。
図14は、演奏データ送信装置2bの構成を概略的に示す図である。演奏データ送信装置2bは、利用者によって把持される形状の装置であり、利用者が演奏データ操作装置2bを把持して振る等の動作を行うことによって演奏される。図において、センサモジュール201は、加速度センサ、地磁気センサ、ジャイロセンサ等の複数のセンサを備え、各センサから信号を出力する。具体的には、例えば、加速度センサによって重力方向に対する傾斜を検出したり、また、地磁気センサやジャイロセンサによって方角や回転動作を検出してもよい。MIDIイベント生成部202は、センサモジュール201から出力される信号に応じてMIDIデータを生成する。具体的には、例えば、MIDIイベント生成部202は、センサの出力信号から検出される利用者の動作に応じたMIDIデータ(例えば、装置が振られると音を出す、等)を生成する。送信制御部203は、MIDIイベント生成部202が生成したMIDIイベントを、イベント単位で無線通信によって演奏データ受信装置3へ送信する。このような演奏データ送信装置2によれば、利用者の動きを捉えた、MIDIメッセージを表現することができる。
また、演奏データ受信装置2bにMIDIデータを予め記憶させておく構成とし、MIDIイベント生成部202が、センサモジュール201から出力される信号に応じてMIDIデータを加工するようにしてもよい。具体的には、例えば、センサモジュール201から出力される信号に基づいて、利用者の動作に合わせてMIDIデータのテンポを変更したり、センサモジュール201から出力される信号に基づいてエフェクト(リバーブ、エコー、等)を自由にかけられたり、また、音声合成音源を利用して好きなタイミングでコーラスをかけたり、音声変換を行ったりするようにしてもよい。
次いで、本発明に係るシステムの他の構成例について、図15を参照しつつ説明する。図において、演奏データ送信装置2b−1,2b−2,2b−3,2b−4は、上述した図13において示したものと同様であり、ここではその説明を省略する。演奏データ受信装置3cは、USB−MIDI端子のプラグ30cを備えており、パーソナルコンピュータ4cは、USB−MIDI端子のジャック40cを備えている。このシステムでは、演奏データ受信装置3cのプラグ30cがパーソナルコンピュータ4cのジャック40cに差し込まれて用いられる。
次いで、本発明に係るシステムの他の構成例について、図16を参照しつつ説明する。図16において、演奏データ受信装置3dは、USB−SERIAL端子のプラグ30dを備えており、パーソナルコンピュータ4dは、USB−SERIAL入力端子のジャック40dを備えている。演奏データ受信装置3dは、パーソナルコンピュータ3dのジャック40dに差し込まれて用いられる。パーソナルコンピュータ4dは、USB−SERIAL端子から入力されるMIDIデータに基づいて楽音を出力する。
次いで、本発明に係るシステムの他の構成例について、図17を参照しつつ説明する。図17において、演奏データ受信装置3eは、MIDI入力端子とUSB−MIDI入力端子のプラグ30eを備えている。また、楽器4e−1,4e−2,4e−3,4e−4はそれぞれMIDI入力端子のジャック40eを備えており、また、パーソナルコンピュータ4e−5は、USB−MIDI入力端子のジャック41eを備えている。このシステムでは、演奏データ受信装置3eは、楽器4e−1,4e−2,4e−3,4e−4のいずれかのMIDI入力端子のジャック40eに差し込まれたり、パーソナルコンピュータ4e−5のUSB−MIDI入力端子のジャック41eに差し込まれたりすることによって用いられる。
次いで、本発明に係るシステムの他の構成例について、図18を参照しつつ説明する。図18において、演奏データ送受信装置3f−1,3f−2,3f−3(各々区別する必要がない場合は「演奏データ送受信装置3f」と称する)は、MIDI入力端子のプラグ30f及び出力端子のプラグ31fを有しており、MIDIデータを無線通信によって受信してMIDI端子から出力するとともに、MIDI端子に入力されたMIDIデータを無線通信によって他の装置へ送信する機能を有する。演奏データ送受信装置3f−1,3f−2,3f−3はそれぞれ、図18(b)に示すように、楽器4f−1,4f−2,4f−3に差し込まれて用いられる。複数の利用者がそれぞれ楽器4f−1,4f−2,4f−3を演奏すると、それぞれの演奏操作に応じたMIDIデータが生成されて演奏データ送受信装置3fによって無線送信され、また、演奏データ送受信装置3fは他の装置から送信されてくるMIDIデータを、接続された楽器4fに出力する。楽器4fは、自身が生成したMIDIデータの表す楽音を出力するとともに、無線通信によって他の装置から受信されたMIDIデータに基づく楽音を出力する。このように、複数の楽器のそれぞれに演奏データ送受信装置3fを装着して用いることで、複数の楽器間で無線通信を用いたセッションを行うことができる。また、楽器4fを用いるに代えて、MIDI端子を備えたテレビ等の表示装置5fを用いてもよい。表示装置5fは、装置に記録された映像や装置に配信されてくる映像を表示する機能を備えるとともに、MIDI端子を備え、MIDI端子から入力されるMIDIデータに応じた楽音を出力する。表示装置5fのMIDI端子には上述した実施形態の演奏データ受信装置3が装着されている。
次いで、本発明に係るシステムの他の構成例について、図19を参照しつつ説明する。図19において、スマートフォン2g−1,2g−2は、通信機能を備えるとともに、上述した実施形態に係る演奏データ送信装置2の機能を備える装置である。スマートフォン2g−1,2g−2にはそれぞれ、MIDIデータを生成するとともに、生成したMIDIデータを1イベントずつ送信する機能を実現するアプリケーションプログラムが記憶されている。スマートフォン2g−1,2g−2の制御部は、記憶されたアプリケーションプログラムを実行することによって、MIDIデータの生成及び送信を行う。パーソナルコンピュータ3g−1,3g−2はそれぞれ、上述した実施形態に係る演奏データ受信装置2の機能を備えるとともに、受信された演奏データに応じた楽音を出力する機能を備えた装置である。スマートフォン2g−1,2g−2と、パーソナルコンピュータ3g−1,3g−2はそれぞれ、Bluetooth(登録商標)等の無線通信によってMIDIデータの送受信を行う。
また、図19に示す例において、スマートフォン2g−1,2g−2は、内蔵センサのセンシング、タップ、UI操作をMIDIメッセージに割り当て、利用者の操作に応じたMIDIデータを生成するようにしてもよい。このとき、スマートフォン2f−1,2f−2で音楽データ(mp3等)を再生しながら、MIDIデータを生成するようにしてもよい。また、パーソナルコンピュータ3g−1,3g−2に代えて表示装置5fを用いるようにしてもよい。
次いで、本発明に係るシステムの他の構成例について、図20を参照しつつ説明する。図20の(a)において、スマートフォン2h−1,2h−2と、パーソナルコンピュータ3h−1,3h−2は、Wi−Fi等の無線通信によってMIDIデータの送受信を行う。このとき、Wi−Fiのインフラストラクチャーモード接続を行う場合、同ネットワーク内のパーソナルコンピュータ3h−1,3h−2のいずれかをサーバとし、MIDIデータをスマートフォン2h−1,2h−2に送信するようにしてもよい。必要なMIDIチャンネルのデータのみを送信することにより、演奏アンサンブルや、マスタ同期を実現することができる。また、図20の(b)に示すように、クラウドサーバ6h上でコンテンツを作成し、接続した複数台の端末2h−1,2h−2,…にコンテンツ(曲の配信と、設定情報)を配信してもよい。また、スマートフォン2h−1,2h−2に代えて表示装置5fを用いてもよい。
次いで、本発明に係るシステムの他の構成例について、図21を参照しつつ説明する。このシステムは、図示のように、パーソナルコンピュータ1i−1と、複数のMIDI機器1i−2,MIDI機器1i−3,MIDI楽器4i−1,MIDI楽器4i−2,MIDI楽器4i−3,MIDI楽器4i−4と、表示装置5iとを有している。MIDI機器1i−3は、図15で示した演奏データ送信装置2bと同様である。パーソナルコンピュータ1i−1と楽器2i−2は、MIDIまたはUSB−MIDIの出力端子のジャックを備えており、それぞれ上述した実施形態における演奏データ送信装置2が装着されている。また、楽器4i−1〜4i−4はそれぞれ、MIDIまたはUSB−MIDI入力端子のジャックを備えており、それぞれ上述した実施形態における演奏データ受信装置3が装着されている。図21に示す例では、例えば、パーソナルコンピュータ1i−1で生成したMIDIデータをMIDI楽器4i−1や表示装置5fで出力したり、MIDI機器1i−2の演奏によって生成されるMIDIデータを、他の電子楽器4i−3で出力したり、また、MIDI機器1i−3で生成したMIDIデータを楽器4i−2で出力したり、といったように、様々な楽器や装置で生成される演奏データを、他の装置の音源から出力することができる。
図22は、本発明に係る他のシステムの構成例を示す図である。このシステムは、図示のように、MIDI機器1j−1と、パーソナルコンピュータ1j−2と、マイクロホン2j−3と、表示装置5j−1〜5j−6と、スマートフォン3j−2とを有している。パーソナルコンピュータ1j−1及びMIDI機器1j−2は、MIDIまたはUSB−MIDIの出力端子のジャックを備えており、上述した実施形態の演奏データ送信装置2が装着されている。また、表示装置5j−1〜5j−5はそれぞれ、MIDIまたはUSB−MIDI入力端子のジャックを備えており、それぞれ上述した実施形態の演奏データ受信装置3が装着されている。マイクロホン2j−3は、利用者の音声を収音して音声信号を出力する機能を有するとともに、加速度センサや地磁気センサ等のセンサによって利用者の動作を検出し、検出結果に応じてMIDIデータを加工する機能を有する。このMIDIデータの加工処理の内容については、上述した図14に示した演奏データ送信装置2bが行う処理と同様であり、ここではその詳細な説明を省略する。マイクロホン2j−3は、加速度センサや地磁気センサ、ジャイロセンサ等のセンサから出力される信号に応じて、例えば、MIDIデータに対してエフェクト(リバーブ、エコー等)を付加したり、また、所定のタイミングでコーラス音声を付加したり、音声データに対して音声変換処理を施したりといった各種の処理を行う。表示装置5j−1〜5j−5は、装置に記録された映像や装置に配信されてくる映像を表示する機能を備えるとともに、MIDI入力端子を備え、MIDI端子から入力されるMIDIデータに応じた楽音を出力する。
図23は、上述した変形例に係るシステムの動作の一例を説明するための図である。図示のように、表示装置5fをリビングに設置し、家族のそれぞれが演奏データ送信装置2bを把持して演奏データ送信装置2bを振る等して演奏する。このようにすることによって、家族で演奏に参加することができ、娯楽性を高めることができる。また、図23に例示した動作例以外にも、例えば、インターネットを介して複数の拠点で演奏データを送受信することによって、本実施形態に係る演奏データ送信装置2や演奏データ送信装置3を用いた楽器教室や、カラオケサービス等を行う、といった利用形態も想定される。
(2)上述の実施形態では、演奏データ送信装置2と演奏データ受信装置3がそれぞれ、装置の各部に電力を供給する電源部20c,30cを内蔵する構成とし、プラグ20a,30a部分には電源供給能力がないものを用いる構成であったが、これに限らず、演奏データ送信装置2と演奏データ受信装置3が電源部を内蔵せず、プラグ20a,30aから電力が供給される構成であってもよい。
また、上述の実施形態では、演奏データ送信装置2と演奏データ受信装置3の形状が、MIDIケーブル端子コネクタのプラグの形状である場合について説明したが、演奏データ送信装置2と演奏データ受信装置3の形状は上述したものに限らず、例えば、USB−MIDIケーブル端子コネクタのプラグの形状であってもよく、また、これらに限らず、演奏データ送信装置2と演奏データ受信装置3の形状はどのような形状であってもよい。
(3)上述の実施形態において、演奏データ受信装置3の通信制御部313が、イベントデータが受信されなくなってから予め定められた時間が経過した場合に、強制的にノートオフイベントを発生させるようにしてもよい。すなわち、演奏データ受信装置3の通信制御部313が、イベントデータが受信されなくなってから予め定められた時間が経過した場合において、直前に受信されたイベントデータがノートオン(発音開始)を示すイベントデータである場合には、ノートオフ(発音終了)を示すイベントデータを生成し、生成したイベントデータをシリアル通信によって出力するようにしてもよい。このようにすることによって、通信が途切れた場合等に音が鳴りっぱなしになるというエラーを回避することができる。
また、例えば、ある音のノートオフイベントが通信エラーによって欠落する等によってノートオンから一定期間、対応する音のノートオフが受信されなかった場合に、強制的にその音をノートオフするようにしてもよい。すなわち、演奏データ受信装置3の通信制御部313が、発音開始(ノートオン)を示すイベントデータを受信してから、予め定められた時間が経過してもそのイベントデータに対応する発音終了(ノートオフ)を示すイベントデータが受信されなかった場合に、発音終了を示すイベントデータを生成し、生成したイベントデータをシリアル通信によって出力するようにしてもよい。このようにすることで、ある音のノートオフだけが欠落し、別のイベントを受信していく場合(通信は続いている場合)であっても、音が鳴りっぱなしになるというエラーを回避することができる。
(4)上述の実施形態では、楽器の演奏内容を表すイベントデータが時系列に並んで構成された演奏データとして、MIDI形式のデータを用いたが、演奏データはMIDIデータに限定されるものではなく、楽器の演奏内容を表すイベントデータが時系列に並んで構成されたデータであればどのような形式のデータであってもよい。
(5)上述の実施形態におけるMIDI機器1のCPU11、演奏データ送信装置2のCPU21、演奏データ受信装置3のCPU31、音源を有するMIDI機器4のCPU41によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供し得る。また、インターネットのようなネットワーク経由で各装置にダウンロードさせることも可能である。
1…MIDI機器、2…演奏データ送信装置、3…演奏データ受信装置、4…MIDI機器、11,21,31,41…CPU、12,22,32,42…ROM、13,23,33,43…RAM、14…記憶部、15…操作部、16,26,36,46…MIDII/F、24,34…無線通信部、44…音源部、214,313…通信制御部

Claims (5)

  1. 楽器の演奏内容を表すイベントデータが時系列に並んで構成された演奏データが、シリアル通信によって入力される入力手段と、
    演奏データ受信装置との間で無線通信のペアリングを行うペアリング手段と、
    前記ペアリング手段によってペアリングされた演奏データ受信装置へ、前記入力手段に入力された演奏データを前記イベントデータ単位で送信する演奏データ送信手段と、
    前記演奏データ送信手段によって送信されるイベントデータの応答として前記ペアリングされた演奏データ受信装置から送信されてくる応答データを受信する応答データ受信手段と、
    前記演奏データ送信手段によってひとつの前記イベントデータを送信する毎に、前記応答データの受信を予め定められた第1の待機時間だけ待機し、該第1の待機時間内に前記応答データが受信された場合には、次のイベントデータを送信する一方、該第1の待機時間内に前記応答データが受信されなかった場合には、直前に送信されたイベントデータを再送し、かつ、該第1の待機時間よりも長い第2の待機時間だけ待機しても前記応答データが受信されなかった場合には次のイベントデータを送信する送信制御手段と
    を具備することを特徴とする演奏データ送信装置。
  2. 前記入力手段は、演奏データが出力される出力端子のジャックに差込可能なプラグを有し、
    前記ペアリング手段、前記データ送信手段、前記応答データ受信手段及び前記送信制御手段を内蔵する筐体を有する
    ことを特徴とする請求項1に記載の演奏データ送信装置。
  3. 楽器の演奏内容を表すイベントデータが時系列に並んで構成された演奏データを送信する演奏データ送信装置との間で、無線通信のペアリングを行うペアリング手段と、
    前記ペアリング手段によってペアリングされた演奏データ送信装置から、前記イベントデータ単位で送信されてくる演奏データを前記イベントデータ単位で受信するデータ受信手段と、
    前記イベントデータ受信手段によって前記イベントデータが受信される毎に、当該イベントデータを受信した旨を示す応答データを前記ペアリングされた演奏データ送信装置へ送信する応答データ送信手段と、
    前記応答データ送信手段によって前記応答データを送信する毎に、次のイベントデータの受信を予め定められた待機時間だけ待機し、当該待機時間内に当該次のイベントデータが受信されなかった場合には前記応答データを再送する応答データ再送手段であって、当該待機処理及び当該再送処理を予め定められた回数だけ繰り返し実行する応答データ再送手段と、
    前記イベントデータ受信手段によって前記イベントデータを受信する毎に、当該受信したイベントデータを、シリアル通信によって出力する出力手段と
    を具備することを特徴とする演奏データ受信装置。
  4. 前記出力手段は、演奏データが入力される入力端子のジャックに接続可能なプラグを有し、
    前記ペアリング手段、前記データ受信手段、前記応答データ送信手段及び前記応答データ再送手段を内蔵する筐体を有する
    ことを特徴とする請求項3に記載の演奏データ受信装置。
  5. 前記再送手段は、イベントデータが受信されなくなってから予め定められた時間が経過した場合において、直前に受信されたイベントデータが発音開始を示すイベントデータである場合には、発音終了を示すイベントデータを生成し、生成したイベントデータを前記シリアル通信によって出力する
    ことを特徴とする請求項3又は4に記載の演奏データ受信装置。
JP2011147700A 2011-07-01 2011-07-01 演奏データ送信装置及び演奏データ受信装置 Expired - Fee Related JP5891620B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011147700A JP5891620B2 (ja) 2011-07-01 2011-07-01 演奏データ送信装置及び演奏データ受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011147700A JP5891620B2 (ja) 2011-07-01 2011-07-01 演奏データ送信装置及び演奏データ受信装置

Publications (2)

Publication Number Publication Date
JP2013015643A true JP2013015643A (ja) 2013-01-24
JP5891620B2 JP5891620B2 (ja) 2016-03-23

Family

ID=47688385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011147700A Expired - Fee Related JP5891620B2 (ja) 2011-07-01 2011-07-01 演奏データ送信装置及び演奏データ受信装置

Country Status (1)

Country Link
JP (1) JP5891620B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015141416A1 (ja) * 2014-03-19 2015-09-24 Quicco Sound株式会社 音響音楽機器用ドングル装置
CN105023560A (zh) * 2015-07-08 2015-11-04 武汉时代华声科技有限公司 Midi适配器和midi通信系统
KR101683051B1 (ko) * 2015-07-16 2016-12-07 (주)엔텔스 IoT 네트워크에서 대칭키를 이용한 블록 암호화 방법 및 IoT 네트워크에서 클라이언트 장치가 서버에 데이터를 전달하는 방법
US20210367999A1 (en) * 2012-10-01 2021-11-25 Dexcom, Inc. Analyte data retriever
WO2022130815A1 (ja) * 2020-12-17 2022-06-23 カシオ計算機株式会社 電子楽器用通信装置、電子楽器システム、方法及びプログラム
US20220284873A1 (en) * 2021-02-11 2022-09-08 Jamstack Transmitter interface module for musical instruments
US11663999B2 (en) 2019-12-27 2023-05-30 Roland Corporation Wireless communication device, wireless communication method, and non-transitory computer-readable storage medium
WO2023195333A1 (ja) * 2022-04-06 2023-10-12 ヤマハ株式会社 制御装置
JP7574838B2 (ja) 2022-09-22 2024-10-29 カシオ計算機株式会社 出力制御方法、プログラム及び電子機器

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261752A (ja) * 1994-03-17 1995-10-13 Kawai Musical Instr Mfg Co Ltd Midi信号の送信装置および受信装置
JPH11133957A (ja) * 1997-09-01 1999-05-21 Casio Comput Co Ltd 音楽情報送信方法、音楽情報送信装置、音楽情報受信処理方法、音楽情報受信処理装置、及び音楽情報送受信装置
JP2000089755A (ja) * 1998-09-07 2000-03-31 Casio Comput Co Ltd 演奏情報処理装置及び演奏情報通信システム
JP2002023740A (ja) * 2000-07-12 2002-01-25 Yamaha Corp 音楽データ処理装置
JP2004212632A (ja) * 2002-12-27 2004-07-29 Casio Comput Co Ltd 音楽活動支援システム、及びプログラム
JP2004274237A (ja) * 2003-03-06 2004-09-30 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2006352199A (ja) * 2005-06-13 2006-12-28 Hitachi Kokusai Electric Inc 無線送受信機
JP2010233249A (ja) * 2010-06-16 2010-10-14 Fujitsu Ltd 無線通信のデータ再送処理方法およびその方法を用いる無線通信装置
JP2011024238A (ja) * 2003-12-29 2011-02-03 Electronics & Telecommunications Research Inst 移動通信システムにおけるパケット再送方法及びそのプログラムが記録されたコンピュータで読取り可能な記録媒体

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261752A (ja) * 1994-03-17 1995-10-13 Kawai Musical Instr Mfg Co Ltd Midi信号の送信装置および受信装置
JPH11133957A (ja) * 1997-09-01 1999-05-21 Casio Comput Co Ltd 音楽情報送信方法、音楽情報送信装置、音楽情報受信処理方法、音楽情報受信処理装置、及び音楽情報送受信装置
JP2000089755A (ja) * 1998-09-07 2000-03-31 Casio Comput Co Ltd 演奏情報処理装置及び演奏情報通信システム
JP2002023740A (ja) * 2000-07-12 2002-01-25 Yamaha Corp 音楽データ処理装置
JP2004212632A (ja) * 2002-12-27 2004-07-29 Casio Comput Co Ltd 音楽活動支援システム、及びプログラム
JP2004274237A (ja) * 2003-03-06 2004-09-30 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2011024238A (ja) * 2003-12-29 2011-02-03 Electronics & Telecommunications Research Inst 移動通信システムにおけるパケット再送方法及びそのプログラムが記録されたコンピュータで読取り可能な記録媒体
JP2006352199A (ja) * 2005-06-13 2006-12-28 Hitachi Kokusai Electric Inc 無線送受信機
JP2010233249A (ja) * 2010-06-16 2010-10-14 Fujitsu Ltd 無線通信のデータ再送処理方法およびその方法を用いる無線通信装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210367999A1 (en) * 2012-10-01 2021-11-25 Dexcom, Inc. Analyte data retriever
WO2015141416A1 (ja) * 2014-03-19 2015-09-24 Quicco Sound株式会社 音響音楽機器用ドングル装置
JP2015179141A (ja) * 2014-03-19 2015-10-08 Quicco Sound株式会社 音響音楽機器用ドングル装置
CN105023560A (zh) * 2015-07-08 2015-11-04 武汉时代华声科技有限公司 Midi适配器和midi通信系统
KR101683051B1 (ko) * 2015-07-16 2016-12-07 (주)엔텔스 IoT 네트워크에서 대칭키를 이용한 블록 암호화 방법 및 IoT 네트워크에서 클라이언트 장치가 서버에 데이터를 전달하는 방법
US11663999B2 (en) 2019-12-27 2023-05-30 Roland Corporation Wireless communication device, wireless communication method, and non-transitory computer-readable storage medium
US11830464B2 (en) 2019-12-27 2023-11-28 Roland Corporation Wireless communication device and wireless communication method
JP2022096033A (ja) * 2020-12-17 2022-06-29 カシオ計算機株式会社 電子楽器用通信装置、電子楽器システム、方法及びプログラム
JP7259833B2 (ja) 2020-12-17 2023-04-18 カシオ計算機株式会社 電子楽器用通信装置、電子楽器システム、方法及びプログラム
WO2022130815A1 (ja) * 2020-12-17 2022-06-23 カシオ計算機株式会社 電子楽器用通信装置、電子楽器システム、方法及びプログラム
JP7491432B2 (ja) 2020-12-17 2024-05-28 カシオ計算機株式会社 電子楽器用通信装置、電子楽器システム、方法及びプログラム
US20220284873A1 (en) * 2021-02-11 2022-09-08 Jamstack Transmitter interface module for musical instruments
WO2023195333A1 (ja) * 2022-04-06 2023-10-12 ヤマハ株式会社 制御装置
JP7574838B2 (ja) 2022-09-22 2024-10-29 カシオ計算機株式会社 出力制御方法、プログラム及び電子機器

Also Published As

Publication number Publication date
JP5891620B2 (ja) 2016-03-23

Similar Documents

Publication Publication Date Title
JP5891620B2 (ja) 演奏データ送信装置及び演奏データ受信装置
US8111241B2 (en) Gestural generation, sequencing and recording of music on mobile devices
JP5630155B2 (ja) 記憶システムおよび記憶装置
CN107005800B (zh) 音频文件的传输、接收方法及装置、设备及其系统
JP2013037211A (ja) 管理装置、カラオケシステム及び管理方法
JP6733781B2 (ja) 音響装置
JP6299121B2 (ja) 音波形データ処理装置
CN102394860A (zh) 信号传送系统、方法、电脑程序产品及电脑可读取储存媒体
AU2020371653A1 (en) Wireless midi headset
JP4585473B2 (ja) 電子早見本装置
JP3870843B2 (ja) 楽音発生システムおよび音源モジュール
JP4373321B2 (ja) 音楽再生装置
JP2008097096A (ja) サーバ装置及び通信セッション確立方法
JP2004279718A (ja) 遊技装置およびカラオケ装置
KR100764710B1 (ko) 휴대형 반주기기 및 이와 연동되는 고정형 지원기기
JP2001215977A (ja) カラオケシステム
JP4626429B2 (ja) Midiデータ送信装置及びプログラム
JP5305438B2 (ja) 繰り返し選曲登録システム
TWI444043B (zh) 行動伴唱裝置及採用此行動伴唱裝置之行動伴唱系統
KR100687693B1 (ko) 듀얼 연주 기능을 구비한 이동 단말기
JP6643168B2 (ja) カラオケ装置及びプログラム
JP2021148848A (ja) オーディオインターフェース装置、及び、録音システム
JP6679389B2 (ja) カラオケ装置及びプログラム
JP4364145B2 (ja) カラオケシステム
Ljungström et al. Implementation and Evaluation of Bluetooth Low Energy for Musical Devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160208

R151 Written notification of patent or utility model registration

Ref document number: 5891620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees