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

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

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

特開2024-41104演奏データ送信制御方法、プログラム、電子機器及び電子楽器
<>
  • 特開-演奏データ送信制御方法、プログラム、電子機器及び電子楽器 図1
  • 特開-演奏データ送信制御方法、プログラム、電子機器及び電子楽器 図2
  • 特開-演奏データ送信制御方法、プログラム、電子機器及び電子楽器 図3
  • 特開-演奏データ送信制御方法、プログラム、電子機器及び電子楽器 図4
  • 特開-演奏データ送信制御方法、プログラム、電子機器及び電子楽器 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024041104
(43)【公開日】2024-03-27
(54)【発明の名称】演奏データ送信制御方法、プログラム、電子機器及び電子楽器
(51)【国際特許分類】
   G10H 1/00 20060101AFI20240319BHJP
【FI】
G10H1/00 Z
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022145744
(22)【出願日】2022-09-14
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】佐藤 淳
【テーマコード(参考)】
5D478
【Fターム(参考)】
5D478HH00
(57)【要約】
【課題】より適切に送信データ量を低減させることのできる演奏データ送信制御方法、プログラム、電子機器及び電子楽器を提供する。
【解決手段】演奏データ送信制御方法は、コンピュータに、出力タイミングの情報と対応付けられた演奏データの中に連続的に値が変化する連続可変操作データが含まれる場合、連続可変操作データの中から変化の特徴点を検出する検出ステップと、検出された変化の特徴点の連続可変操作データを含む演奏データであって、変化の特徴点以外の連続可変操作データが間引かれた演奏データに基づいて、外部機器に送信するための単位演奏データを生成する生成ステップと、を実行させる。
【選択図】図2
【特許請求の範囲】
【請求項1】
コンピュータに、
出力タイミングの情報と対応付けられた演奏データの中に連続的に値が変化する連続可変操作データが含まれる場合、前記連続可変操作データの中から変化の特徴点を検出する検出ステップと、
検出された前記変化の特徴点の連続可変操作データを含む前記演奏データであって、前記変化の特徴点以外の連続可変操作データが間引かれた前記演奏データに基づいて、外部機器に送信するための単位演奏データを生成する生成ステップと、
を実行させる演奏データ送信制御方法。
【請求項2】
前記特徴点には、前記連続的に値が変化する音高データ又は音量データを含む前記連続可変操作データが極値をとる点を含む請求項1記載の演奏データ送信制御方法。
【請求項3】
前記特徴点には、前記連続的に値が変化する音高データ又は音量データを含む前記連続可変操作データの変化の変曲点を含む請求項1記載の演奏データ送信制御方法。
【請求項4】
前記生成ステップでは、前記連続的に値が変化する音高データ又は音量データを含む前記連続可変操作データの変化量が基準以下である前記連続可変操作データを優先的に間引く請求項1記載の演奏データ送信制御方法。
【請求項5】
前記生成ステップにおいて、前記連続的に値が変化する音高データ又は音量データを含む前記連続可変操作データの変化状況に応じて部分ごとに定められた割合で、前記連続可変操作データが間引かれる請求項1記載の演奏データ送信制御方法。
【請求項6】
前記単位演奏データのサイズは、各タイミングに送信可能なデータの最大のデータサイズと同じか、又はそれより小さく、
前記検出ステップにおいて、前記変化の特徴点は、各タイミングに送信される前記単位演奏データごとに検出される
請求項1記載の演奏データ送信制御方法。
【請求項7】
コンピュータに、
出力タイミングの情報と対応付けられた演奏データの中に連続的に値が変化する連続可変操作データを含む場合、前記連続可変操作データの中から変化の特徴点を検出する検出ステップと、
検出された前記変化の特徴点の連続可変操作データを含む前記演奏データであって、前記変化の特徴点以外の連続可変操作データが間引かれた前記演奏データに基づいて、外部機器に送信するための単位演奏データを生成する生成ステップと、
を実行させるプログラム。
【請求項8】
送信部と、
少なくとも1つのプロセッサと、
を備え、
前記少なくとも1つのプロセッサは、
出力タイミングの情報と対応付けられた演奏データの中に連続的に値が変化する連続可変操作データを含む場合、前記連続可変操作データの中から変化の特徴点を検出し、
検出された前記変化の特徴点の連続可変操作データを含む前記演奏データであって、前記変化の特徴点以外の連続可変操作データが間引かれた前記演奏データに基づいて、前記送信部から外部機器に送信するための単位演奏データを生成する、
電子機器。
【請求項9】
演奏操作子と、
少なくとも1つのプロセッサと、
を備え、
前記少なくとも1つのプロセッサは、
前記演奏操作子の操作に応じて、出力タイミングの情報と対応付けられた演奏データを取得し、
取得された前記演奏データの中に連続的に値が変化する連続可変操作データを含む場合、前記連続可変操作データの中から変化の特徴点を検出し、
検出された前記変化の特徴点の連続可変操作データを含む前記演奏データであって、前記変化の特徴点以外の連続可変操作データが間引かれた前記演奏データに基づいて、外部機器に送信するための単位演奏データを生成する、
電子楽器。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、演奏データ送信制御方法、プログラム、電子機器及び電子楽器に関する。
【背景技術】
【0002】
従来、電子演奏の内容を規定する演奏データとして、MIDI(Musical Instrument Digital Interface)データが広く利用されている。MIDIデータを解読して音声信号を生成する音声出力部へ当該MIDIデータを無線通信により送信することの可能な通信規格として、ブルートゥース(登録商標)などが知られている。
【0003】
通信速度が十分ではない通信規格によるMIDIデータの送受信では、データ量が著しく多い状況では、受信機器におけるリアルタイムでの音声信号の出力に支障を来す場合がある。これに対し、データ量が多くなりやすい演奏内容の種別の発生といった条件に応じて送信データを適宜な割合で間引いてデータ量を削減する技術がある(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005-221788号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、間引きを一律のパターンで実行すると、演奏上重要な音の情報が抜けて、演奏が劣化し、更には本来の表現やニュアンスから外れる場合があるという課題がある。
【0006】
この発明の目的は、より適切に送信データ量を低減させることのできる演奏データ送信制御方法、プログラム、電子機器及び電子楽器を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明は、
コンピュータに、
出力タイミングの情報と対応付けられた演奏データの中に連続的に値が変化する連続可変操作データが含まれる場合、前記連続可変操作データの中から変化の特徴点を検出する検出ステップと、
検出された前記変化の特徴点の連続可変操作データを含む前記演奏データであって、前記変化の特徴点以外の連続可変操作データが間引かれた前記演奏データに基づいて、外部機器に送信するための単位演奏データを生成する生成ステップと、
を実行させる演奏データ送信制御方法である。
【発明の効果】
【0008】
本発明に従うと、より適切に送信データ量を低減することができるという効果がある。
【図面の簡単な説明】
【0009】
図1】電子機器の機能構成を示すブロック図である。
図2】残すデータ及び間引くデータの設定について説明する図である。
図3】データの間引き例を示す図である。
図4】LPFのウィンドウ設定について説明する図である。
図5】演奏データ出力制御処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本実施形態の電子機器1の機能構成を示すブロック図である。
電子機器1は、演奏データ(MIDIデータ)を生成又は取得し、記憶保持して出力するコンピュータを含む。コンピュータは、通常のPC(Personal Computer)、タブレット端末、スマートフォンなどであってもよい。あるいは、電子機器1は、後述のように鍵盤Keなど(演奏操作子)を有する電子楽器であってもよい。演奏データの生成は、ユーザが画面上でMIDIソフトウェアを用いることで行われるものであってもよいし、楽器の演奏によって行われるものであってもよい。あるいは、これらの作業が併用されて演奏データが生成されてもよい。
【0011】
電子機器1は、CPU11(Central Processing Unit)と、RAM12(Random access Memory)と、記憶部13と、通信部14(送信部)と、表示部15と、操作受付部16と、演奏入力部17などを備える。各構成は、バスを介して互いに電気的に接続されている。
【0012】
CPU11は、演算処理を行い、電子機器1の動作を統括制御するプロセッサである。CPU11は、音声出力データの生成制御に好適に設計されたものであってもよい。CPU11は、単一のプロセッサを有していてもよいし、複数のプロセッサが並列に又は用途などに応じて独立に動作するのであってもよい。また、CPU11は、図示略の発振回路が出力するクロック信号に基づいて、現在時刻を計数する。このために、電子機器1は、図示略のRTC(Real Time Clock)を備える。CPU11は、電子機器1が起動されたときにRTCから現在時刻を取得する。
【0013】
RAM12は、CPU11に作業用のメモリ空間を提供し、一時データを記憶する。
【0014】
記憶部13は、不揮発性のメモリであり、例えば、フラッシュメモリやHDDである。記憶部13は、音声出力データの生成に係るプログラム131、設定データ及び演奏データ132(MIDIデータ)を記憶している。
【0015】
通信部14は、定められた通信規格に従って音声出力装置Sなどの外部機器との通信動作を制御する。通信部14が利用可能な通信規格には、ブルートゥース(Bluetoothとともに登録商標)のローエナジー規格(BLE)が含まれる。音声出力装置Sは、音声出力に特化したシンセサイザなどであってもよいし、MIDIデータを音声信号に変換して出力可能なソフトウェアなどがインストールされた汎用のコンピュータであってもよい。なお、BLEに基づく通信を制御する通信モジュールが、周辺機器として通信部14の接続端子に接続されているのであってもよい。
【0016】
表示部15は、表示画面を有し、CPU11による制御に基づいて表示画面にステータスやMIDI設定受付画面などを表示する。表示画面は、例えば、液晶表示画面(LCD)であるが、これに限るものではない。
操作受付部16は、ユーザなどの外部からの操作を受け付けて、受け付け内容に応じた操作信号をCPU11へ出力する。操作受付部16は、操作ボタン、キーボードや、ポインティングデバイスなどを有する。あるいは、操作受付部16は、表示画面に重なって位置するタッチパネルを有していてもよい。操作ボタンには、電力供給をオンオフするための電源スイッチなどが含まれる。キーボードやポインティングデバイスは、電子機器1が内蔵する構成ではなく、通信部14に取り付けられた周辺機器であってもよい。
【0017】
演奏入力部17は、電子楽器(例えば鍵盤装置K)の鍵盤Ke、及びピッチベンダやモジュレーションホイールなどの操作受付部(演奏操作子)を用いた演奏に係るデータ(MIDIデータ)を受け付ける入力端子を有する。入力端子は、MIDI入力端子に限られない。入力端子は、デジタル信号の入力が可能であれば、例えば、一般的なUSB端子などであってもよい。入力端子へ入力されるデジタルデータは、そのままCPU11やRAM12へ出力される。あるいは、演奏操作に応じてMIDIデータを生成する鍵盤Keなどが電子機器1に内蔵されていてもよい。また、電子機器1は、アナログ信号(波形)データの入力を受けて、CPU11がこれをMIDIデータに変換するのであってもよい。MIDIデータへの変換は、DSP(Digital Signal Processor)などの専用回路(CPU11とは別個のプロセッサ)により行われてもよい。また、演奏入力部17の入力端子は、通信部14が備える汎用の入出力端子と同一であって共通に利用可能とされてもよい。
【0018】
次にMIDIデータの出力について説明する。
MIDIデータには、出力する音の内容(音高(ピッチ)、音色、音量、付与するエフェクトなど)を示す情報とその出力タイミングとが含まれる。MIDIデータは、音声出力装置Sへ出力されて音声信号に変換させる。更に当該音声信号がスピーカやイヤホン出力などに送出されることで、MIDIデータの内容に応じた音声出力が可能となる。なお、音声出力装置Sでは、更にユーザ所望のエフェクトなどを付加することができてもよい。
【0019】
電子機器1は、MIDIデータをBLE(無線通信)により音声出力装置S(外部機器)へ送信することができる。BLEでは、MIDIデータは、規定された通信間隔(ある時間間隔)で送信されるパケット単位で順次送られる。通信間隔は、BLEの規格で定められている範囲内で可変設定可能であるが、しばしば固定されている(例えば、15msec間隔)。本実施形態では、一律な通信間隔でパケットデータの送受信がなされるものとして説明する。通信内容のデータフォーマットは、共通規格(MIDI over Bluetooth Low Energy)に従ったものであってよい。パケットには、上記のようにある音声出力の内容の情報(メッセージ)に対してその出力タイミングの情報(タイムスタンプ)が対応付けられたデータ(単位演奏データ)が複数含まれる。対応付けられる出力タイミングは、上記DSPが並列処理可能な範囲で複数のメッセージに対して同一又は近接していてもよい。なお、同一種別の異なる処理が同一タイミングに対応付けられている場合には、同一タイミング内で最後のデータのみが実行されてもよい。
【0020】
BLEによる演奏データの送受信は、電子機器1と外部機器との間をケーブルで接続する必要がなく手軽である。その一方で、BLEによるデータの転送速度に応じて、各パケットで送信可能なデータのサイズには上限がある。したがって、パケットデータの送信間隔内で出力される音の内容設定(メッセージ)が著しく多い場合には、当該内容設定に応じたデータ量が上記上限(最大のデータサイズ)を超えて、これら全てのメッセージを含むことができないことがある。音声の出力タイミングまでに必要な内容を全て受信、取得できなかった場合には、音声出力装置Sは、正しい音声出力を行うことができない。データ数が著しく多くなる演奏に係る操作内容の種別としては、具体的には、ピッチベンド、モジュレーション、アフタータッチといった連続的な音高変化を伴うものが挙げられる。譜面上では、一般的に音符で中間音を表現しないもの、例えば、グリッサンド、ポルタメント、ベンドなどが連続的な音高変化に含まれる。
【0021】
また、データ数が著しく多くなる他の演奏に係る操作内容の種別には、連続的な音量変化なども含まれ得る。音量変化に係る演奏内容には、例えば、エクスプレッション、音像定位に係るパンポット、ブレスコントローラを用いたブレスコントロールなどがある。上記のアフタータッチも音量変化を伴う操作が可能である。
【0022】
各パケットでの送信対象のデータにおいて、このような連続的に値が変化する操作に係る種別の内容設定がなされている場合に、電子機器1は、演奏の質に顕著な劣化を生じさせない範囲で、これらの操作に応じたデータ(連続可変操作データ)から一部のメッセージを間引いてBLEによる送信対象から省略する。演奏の質の劣化を抑えるために、電子機器1は、値の変化に関して特徴的な音(変化の特徴点)を優先して残すように省略対象のメッセージ(連続可変操作データ)を定める。特徴的な音には、音高変化に係るメッセージ(音高データ)の場合には、例えば、変化する音高の極値、すなわち、最初の音高、最後の音高、最低の音高、最高の音高や、音高の上昇/下降が切り替わるピーク(極値)の音高が含まれる。また、特徴的な音には、音高変化の変曲点(変化加速度がゼロとなる点)や、音高変化の速度が著しく変化する(変化加速度が大きく変化する点)などが含まれてもよい。音量変化に係るメッセージ(音量データ)の場合にも同様に、変化する音量の極値、音量変化の変曲点や変化加速度が大きく変化する点などが特徴点に含まれてもよい。
【0023】
これら優先的に残されるメッセージに加えて、反対に優先的に間引くことが可能なメッセージがある場合には、当該メッセージを予め削除することができる。例えば、ピッチベンドの途中で音高が変化しない期間(音高の変化量が基準以下)の音高データのうち先頭及び最後以外のデータ(変化速度が前後でゼロ(中央差分がゼロ)、又は変化速度及び加速度がいずれもゼロ)が優先的に間引かれてもよい。
【0024】
その後、電子機器1では、元々間引き対象とならない連続可変操作以外のデータ、上記優先的に残されるメッセージ(特徴点)、及び優先的に間引かれるメッセージ以外の残りのメッセージ(音高データ又は音量データなどの連続可変操作データ。ここでいう「又は」は排他の意味を有しない)から、パケットデータに含み得る適宜な割合が残されるような間引き率でメッセージを間引いていく。間引き率は、期間内の全ての連続可変操作データ(サンプルポイント)に対して、間引かれた数の割合を示す。間引かれるメッセージは、残りのメッセージから定められた比率で一様に(均等間隔で)定められてもよい。あるいは、優先して残されるメッセージを含めてなるべく均等な間隔となるように間引かれるメッセージが定められてもよい。あるいは、音高又は音量の変化速度や変化加速度(音高又は音量の変化状況)に応じて部分ごとに局所的な間引き率が定められてもよい。また、間引き率には上限(間引くことの可能な最大な割合)が定められていてもよい。上限は、状況にもよるが、例えば、20%~50%程度とされる。演奏データ132に音高に係る連続可変操作データと音量に係る連続可変操作データの両方が含まれる場合には、各々について間引き率が設定されてもよい。
【0025】
図2は、残すデータ及び間引くデータの設定について説明する図である。
時間経過に対して上段から下段へ順番に音高(a)、音高の変化速度(b)及び音高の変化加速度(c)の一例が模式的に曲線及び黒丸で示されている。黒丸は、音高データ(サンプルポイント)のタイミングの例を示している。この黒丸の数及び間隔は、実際の演奏データ132を反映したものではない。音高データの数は、図示した曲線に即して黒丸の数よりも遥かに多くてもよいが、ここでは、黒丸の点のみが得られた音高データであるものとして説明する。
【0026】
図2の音高(a)に示すように、タイミングt1がピッチベンドの開始タイミングであり、このタイミングt1で音高p1から音高の上昇が始まる。タイミングt3で音高p2まで上昇する。このタイミングt3を頂点として音高の低下に切り替わり、タイミングt5で音高p1へ戻る。タイミングt6までの間の期間dtsでは、同一の音高p1で維持され、その後、ピッチベンドが終了する。
【0027】
上記のように、特徴的な音高として、タイミングt1のピッチベンド開始タイミングの音高p1、音高が極大となるタイミングt3の音高p2、音高が極小となるタイミングt5の音高p1が挙げられる。また、音高の変化加速度の正負が切り替わる変曲点のタイミングt2、t4の音高が特徴的な音高として選択されてもよい。
【0028】
一方で、音高が変化しない期間dtsの間は、先頭のタイミングt5を除き、ピッチベンドのデータが削除されても出力される音高になんら影響を与えない。したがって、当該期間の音高データは、優先的に省略され得る。
【0029】
図2に示す変化速度(b)に示されているように、タイミングt1~t11(第1期間Tp1)、t12~t3~t13(第3期間Tp3)、t14~t5(第5期間Tp5)では、タイミングt2を挟んだタイミングt11~t12(第2期間Tp2)、及びタイミングt4を挟んだタイミングt13~t14(第4期間Tp4)などと比較して、音高の変化速度が小さい。音高の変化速度の大きいタイミングt11~t12、t13~t14などの部分では、1点省略されただけでも音高の変化が大きく増加する。したがって、これらの部分では、不連続な音高変化が生じにくいように、他の部分よりも間引き率(期間内の全てのサンプルポイント(音高データ)に対して間引かれた数の割合)が小さく調整がなされてもよい。
【0030】
図3は、データの間引き例を示す例である。
本願発明のこの実施例においては、図2の(b)において変化速度がゼロから変化する直前のサンプルポイントt1v(タイミングt1)、及び変化速度がゼロになったサンプルポイントt3v、t5v(タイミングt3、t5)、並びに図2の(c)において変化加速度がゼロになったサンプルポイントt2a、t4a(タイミングt2、t4)の各音高データは、変化の特徴点であるものとして間引かずに残される。これらのタイミング以外の残りのサンプルポイント(音高データ)は、上記のように適切な間引き率及び間引き対象の選択方法により間引かれればよい。あるいは、データ量などによっては、間引き率を考慮せずに全ての残りのサンプルポイントが間引かれてもよい。
この実施例においては、タイミングt1~t11(第1期間Tp1)、t12~t13(第3期間Tp3)、t14~t5(第5期間Tp5)などでは、半分弱の音高データ(サンプルポイント)が間引かれている。すなわち、これらの期間では、概ね1つおきに音高データ(サンプルポイント)が間引かれている。これに対し、タイミングt11~t12(第2期間Tp2)、t13~t14(第4期間Tp4)などでは、概ね1/3程度の音高データの間引きに留められている。タイミングt1~t11(第1期間Tp1)、t12~t13(第3期間Tp3)、t14~t5(第5期間Tp5)は、タイミングt11~t12(第2期間Tp2)、t13~t14(第4期間Tp4)と比べて単位時間当たりの音高の変化量が小さく、サンプルポイントを多く間引いても発音される楽音への音質上の影響は少ないと考えられるためである。なお、期間dtsでは、最初のタイミングt5及び最後のタイミングt6以外の全てのデータが間引かれている。すなわち、この実施例においては、期間内に含まれるサンプルデータの特徴に応じた間引き方が採用されていることを意味している。
【0031】
他の実施例として、別の考え方によるサンプルデータの間引き方が採用されてもよい。すなわち、速度変化が小さいタイミングt11~t12(第2期間Tp2)、t13~t14(第4期間Tp4)などでは、音高の変化が直線に近いのに対し、タイミングt1~t11(第1期間Tp1)、t12~t3~t13(第3期間Tp3)、t14~t5(第5期間Tp5)では、速度変化が大きく、音高の変化が直線から大きく外れる。このような非線形の変化をする部分では、1点が省略されただけでも音程の変化パターンが本来の曲線から外れる。したがって、タイミングt1~t11(第1期間Tp1)、t12~t3~t13(第3期間Tp3)、t14~t5(第5期間Tp5)などの部分における間引き率を他の部分よりも小さくするように、部分ごとに間引き率(割合)が定められて調整されてもよい。
【0032】
音高の変化速度は、連続する複数のメッセージで指定されている音高の変化量に基づいて求められればよい。変化量は、例えばi番目のメッセージにおける音高p(i)に対して、前後のメッセージの音高p(i+1)、p(i-1)を用いた中心差分(p(i+1)-p(i-1))/2により求められてもよい。メッセージ間のタイミングの差が不均一な場合には、上記差分値は両メッセージ間の時間差で除される。あるいは、前進差分(p(i+1)-p(i))又は後退差分(p(i)-p(i-1))により求められてもよい。
【0033】
MIDIデータにおけるピッチベンドなどの設定が実際の演奏に基づいて行われる場合、ピッチベンドの設定に用いられる回転ホイールの出力ノイズなどが発生し得る。このようなノイズにより、本来の音高変化に対して細かい変動が重畳されている場合がある。このようなノイズによる見かけ上の音高の微小変化や極値などが誤って特徴的な音として特定されるのは好ましくない。そこで、電子機器1は、ある幅(ウィンドウのサイズ)で音高の変化に対して低域通過フィルタ(LPF)をかけて微小変化の影響を除外してもよい。ウィンドウのサイズは、例えば、パケット送信幅の1~2倍程度に定められればよい。
【0034】
図4は、LPFのウィンドウ設定について説明する図である。タイミングt30~t34がそれぞれパケットの送信タイミングを示す。これらの間の期間dtr0~dtr3は、それぞれパケットの送信間隔dtrと等しく、互いに同一の長さである。例えば、タイミングt31~t33において、それぞれその次の期間dtr1~dtr3における演奏内容を示すパケットが送信される。あるいは、タイミングt31~t33よりそれぞれ規定時間ずつ遅れたタイミングから送信間隔dtrと同じ長さの演奏に係るメッセージが送信されてもよい。また、予めMIDIデータ(演奏データ132)が記憶部13に記憶されている場合には、データ量などに応じて該当期間よりも先の演奏に係るメッセージが前もって送信されてもよい。
【0035】
このとき、例えば、期間dtr1のパケットデータの間引き処理時に、期間dtr1とその前の期間dtr0とを含む範囲がウィンドウdw1として定められる。そして、このウィンドウdw1内での音高の変化に対してLPFが適用される。同じように、期間dtr2のパケットデータから一部のメッセージを間引くために、期間dtr2とその前の期間dtr1とを含む範囲をウィンドウdw2として、音高の変化に対してLPFを適用することができる。また、タイミングt33で送信するパケットデータについてのLPFの適用範囲は、ウィンドウdw3とすることができる。
【0036】
すなわち、電子機器1では、各範囲が2回ずつ選択されるようにLPFのためのスライディングウィンドウが定められる。これにより、ウィンドウは常に次にパケット送信対象の範囲を後端とするように定められる。したがって、リアルタイムでの演奏などに伴うMIDIデータが入力される場合でも後ろのデータを待たずにLPFの適用が可能となる。よって、電子機器1は、不要な送信遅延を生じずに、略リアルタイムでMIDIデータをBLEにより送信出力することができる。
【0037】
図5は、本実施形態の電子機器1で実行される演奏データ出力制御処理のCPU11による制御手順を示すフローチャートである。本実施形態の演奏データ送信制御方法を含むこの処理は、例えば、演奏データの受け付けが可能になった場合に自動で起動され、電子機器1の動作中継続的に実行される。
【0038】
CPU11は、演奏データの送信先外部機器とBLEによる通信接続を確立する(ステップS101)。CPU11は、1パケット分の演奏データを取得する(ステップS102)。演奏データが元々記憶部13に記憶されているMIDIデータの場合には、CPU11は、各メッセージのタイミングデータに基づいて1パケットのデータ範囲を区切ればよい。演奏データがリアルタイムの演奏に基づいて生成されたものである場合には、CPU11は、1パケットに応じた期間、すなわちデータの送信間隔内のデータを1パケット分のデータとして取得する。この段階では、取得されるMIDIデータは、実際に1パケットで送信可能な最大のデータサイズを超過していてもよい。
【0039】
CPU11は、音高又は音量が連続変化する種別のメッセージデータとそれ以外のメッセージを分類する(ステップS103)。CPU11は、音高又は音量が連続変化する種別のデータが含まれているか否かを判別する(ステップS104)。上記のように音高又は音量が連続変化する種別としては、例えば、ピッチベンド、アフタータッチ、モジュレーションなどが含まれる。音高又は音量が連続変化する種別のデータが含まれていないと判別された場合には(ステップS104で“NO”)、CPU11は、通常通り1パケット分の送信データを生成する(ステップS112)。それから、CPU11の処理は、ステップS120へ移行する。
【0040】
音高又は音量が連続変化する種別のメッセージが含まれていると判別された場合には(ステップS104で“YES”)、CPU11は、ステップS102で取得された1パケット分のデータ量を数えて、削除の必要な数、すなわち1パケットの最大メッセージ数の超過数を算出する(ステップS105)。
【0041】
CPU11は、分類されている音高又は音量が連続変化する種別のメッセージから優先削除データを検出して削除する(ステップS106)。優先削除データは、上記のように、同一の音高又は音量が連続している場合の先頭と最後を除く中間のメッセージである。CPU11は、更なるメッセージの削除が必要であるか否かを判別する(ステップS107)。CPU11は、超過数からステップS106で削除された数を差し引いて、超過数が正の値であるか否かを判別する。更なるメッセージの削除が必要ではない(超過数がゼロ以下)と判別された場合には(ステップS107で“NO”)、CPU11の処理は、ステップS111へ移行する。
【0042】
更なるメッセージの削除が必要である(超過数が正の値)と判別された場合には(ステップS107で“YES”)、CPU11は、各メッセージの音高又は音量の配列にLPFを適用して、隣り合う音高又は音量間の差分により変化量(速度)を算出する(ステップS108)。CPU11は、上記のように音高/音量変化の加速度を合わせて算出してもよい。CPU11は、求められた変化量などに基づいて特徴点に該当するメッセージを特定する(ステップS109)。特定されたメッセージには、それぞれその旨を示すフラグがセットされてもよい。
ステップS104(“YES”の場合)、及びステップS109の処理が本実施形態の検出ステップを構成する。
【0043】
CPU11は、特定されたメッセージを除く残りのメッセージから必要な削除数以上のメッセージを削除する(ステップS110)。上記のように、CPU11は、削除するメッセージのタイミングが偏らないように分散させて削除するメッセージを定める。CPU11は、ステップS107の段階で削除対象として残っている音高又は音量が連続変化する種別のデータ数などに基づいて、最大削除可能数を設定してもよい。最大削除可能数よりも上記削除数が多い場合には、CPU11は、上記最大削除可能数のメッセージを削除することとしてもよい。それから、CPU11の処理は、ステップS111へ移行する。
【0044】
ステップS111の処理へ移行すると、CPU11は、音高又は音量が連続変化する種別のデータのうち削除されずに残ったものと、他の種別のデータとに基づいて、送信用パケットデータを生成する(ステップS111;生成ステップ)。それから、CPU11の処理は、ステップS120へ移行する。
【0045】
ステップS120の処理へ移行すると、CPU11は、前のデータ送信から送信間隔が経過するまで待機し、送信間隔が経過したタイミングで生成したパケットデータを外部機器へ送信する(ステップS120)。それから、CPU11の処理は、ステップS102へ戻る。
【0046】
以上のように、本実施形態の演奏データ送信制御方法は、電子機器1のコンピュータに、出力タイミングの情報と対応付けられた演奏データ(MIDIデータ)の中に連続的に値が変化する連続可変操作データが含まれる場合、連続可変操作データの中から変化の特徴点を検出する検出ステップ(ステップS104、S109)と、検出された変化の特徴点の連続可変操作データを含む演奏データであって、変化の特徴点以外の連続可変操作データが間引かれた演奏データに基づいて、外部機器に送信するための単位演奏データを生成する生成ステップ(ステップS111)と、を実行させる。
すなわち、この検出ステップでは、パケットデータ内の連続的な音高などの変化に係る連続可変操作データ全体を見て、各データの重要性を判断する。これにより、相対的に重要なデータが間引き対象とされないように定められる。したがって、この演奏データ送信方法では、間引き後に送信されるMIDIデータによる演奏の質の劣化が抑制される。すなわち、生成ステップでは、パケット送信の特性を利用して、パケット単位で好適な間引きデータを定めることができる。したがって、この演奏データ送信制御方法は、より適切に送信データ量を低減させることができる。
【0047】
また、優先的に残す特徴点には、連続的に値が変化する音高データ又は音量データを含む連続可変操作データが極値をとる点を含んでもよい。すなわち、音高(音量)がピークであるメッセージを確実に残すことで、連続的な音高(音量)変化が途中で折り返したり、最終的な音高(音量)に到達しなかったりというような著しく不自然な状況が発生するのを抑制することができる。
【0048】
また、優先的に残す特徴点には、連続的に値が変化する音高データ又は音量データを含む連続可変操作データの速度変化の変曲点、すなわち、音高変化(音量変化)の加速度がゼロとなる点を含んでもよい。すなわち音高や音量の変化(上昇、下降とも)が最大の部分である当該音高変化や音量変化の中間点のメッセージを残しておくことで、音高や音量が著しく跳躍するのを抑え、連続的な変化であることがより明確に維持される。
【0049】
また、生成ステップ(ステップS111)において、連続的な音高又は音量の変化に係るメッセージのうち、音高(音量)の変化量が基準以下である(特に変化がない)点を優先的に間引くこととしてもよい。音高(音量)の変化がない間のデータは間引かれても出力される音高(音量)に影響しない。したがって、この演奏データ送信制御処理では、このような得音質に影響のないデータを優先的に間引くことで効率的にデータ量を削減することができる。
【0050】
また、生成ステップにおいて、連続的に値が変化する音高データ又は音量データを含む連続可変操作データの変化状況に応じて部分ごとに定められた割合で、連続可変操作データが間引かれてもよい。すなわち、間引き率が高くても音高変化の劣化につながりにくい部分では相対的に多く間引き、間引き率が高いと音高変化が劣化しやすい部分では相対的に間引き量を減らす。このように音高や音量の変化を分割して部分ごとに間引き量を定めることで、演奏データ送信制御方法では、より高音質を維持したままデータ量を削減することができる。
【0051】
また、各パケットデータのサイズは、各タイミングに送信可能なデータの最大のデータサイズと同じか、又はそれより小さい。検出ステップにおいて、音量又は音質の変化の特徴点は、各タイミングに送信されるデータごとに検出される。
これにより、本実施形態の演奏データ送信制御方法では、遅延を生じさせずにほぼリアルタイムで演奏データの処理を行ってパケットデータを生成、送信することができる。
【0052】
また、本実施形態のプログラム131がコンピュータにインストールされて実行されることで、上記演奏データ送信制御方法に係る処理がソフトウェア的に容易になされる。よって、このプログラム131によれば、容易にコンピュータにより適切にデータ容量を削減しつつ演奏に係る演奏データを外部機器へ送信することができる。
【0053】
また、本実施形態の電子機器1は、通信部14と、少なくとも1つのCPU11と、を備える。CPU11は、出力タイミングの情報と対応付けられた演奏データ(MIDIデータ)の中に連続的に値が変化する連続可変操作データが含まれる場合、連続可変操作データの中から変化の特徴点を検出する。CPU11は、検出された変化の特徴点の連続可変操作データを含む演奏データであって、変化の特徴点以外の連続可変操作データが間引かれた演奏データに基づいて、外部機器に送信するための単位演奏データを生成する。
この電子機器1によれば、重要性の高いデータを検出してこれを残すように間引くことで、間引きにより送信されたMIDIデータによる演奏の質の劣化が抑制される。すなわち、電子機器1は、パケット送信の特性を利用して、パケット単位で好適な間引きデータを定めることができる。したがって、電子機器1は、より適切に送信データ量を低減させてパケットデータを送信することができる。
【0054】
また、電子機器1は、鍵盤装置K(鍵盤Ke)などを含む電子楽器であってもよい。電子機器1は、鍵盤Keなどの演奏操作子の操作に応じて、出力タイミングの情報と対応付けられた演奏データを取得して、上記のように外部機器に送信するための単位演奏データを生成する。
このような電子楽器では、演奏された内容の演奏データを、その音質の劣化を抑制しつつ遅延なく外部機器へ送信することができる。よって、有線ケーブルなどを接続せずとも気軽に外部機器で利用させることができる。
【0055】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、連続的な音高などの値の変化は、上記に例示したものに限られない。その他の方法で定めたられものであってもよい。例えば、単純にMIDIソフトウェアで直接打ち込んだ細かい音高変化などを検出して可能な範囲で間引きを行ってもよい。
【0056】
また、連続的な値の変化は、音高及び/又は音量に限られない。例えば、連続的な値の変化には、モジュレーションにおける音色の連続的な変化などが含まれてもよい。
また、ビブラートやトリルといった短い周期で同じ変動を繰り返すようなものは、間引き対象の連続的な音高変化に含まないこととしてもよい。
【0057】
また、上記実施の形態では、BLEによる15ミリ秒間隔でのパケットデータ送信を行うものとして説明したが、これに限られない。適宜な間隔で複数のメッセージをまとめて送る通信規格であればよい。また、通信間隔が一定ではなくてもよい。
【0058】
また、特徴的な音(特徴点)は、上記に示したものに限られない。任意の解析アルゴリズムにより重要であるとして特定可能なものが間引かれない対象として設定され得る。
【0059】
また、上記実施の形態のようにLPFをかけてから極値などを特定しなくてもよい。また、例えば、想定されるノイズの数周期分かつ振幅範囲内に複数の特徴点の候補がある場合には、その中で単一の点を特徴点として決定することとしてもよい。
【0060】
また、間引き率の上限は、設定されなくてもよい。
【0061】
また、間引き処理に係る特徴点の抽出は、パケット単位で行われなくてもよい。特に、リアルタイム演奏に応じた演奏データの送信ではない場合には、予め全演奏データから特徴点を予め抽出しておくこととしてもよい。
【0062】
また、以上の説明では、本発明の音声出力制御に係るプログラム131を記憶するコンピュータ読み取り可能な媒体としてフラッシュメモリなどの不揮発性メモリなどからなる記憶部13を例に挙げて説明したが、これらに限定されない。その他のコンピュータ読み取り可能な媒体として、MRAMなどの他の不揮発性メモリ、HDD(Hard Disk Drive)や、CD-ROM、DVDディスクなどの可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ(搬送波)も本発明に適用される。
その他、上記実施の形態で示した具体的な構成、処理動作の内容及び手順などは、本発明の趣旨を逸脱しない範囲において適宜変更可能である。本発明の範囲は、特許請求の範囲に記載した発明の範囲とその均等の範囲を含む。
【符号の説明】
【0063】
1 電子機器
11 CPU
12 RAM
13 記憶部
131 プログラム
132 演奏データ
14 通信部
15 表示部
16 操作受付部
17 演奏入力部
K 鍵盤装置
Ke 鍵盤
dtr 送信間隔
dw1 ウィンドウ
図1
図2
図3
図4
図5