Skip to main content
Version: 2.1.0

サウンド

キューブは内部に音を再生するための圧電スピーカーを 1 つ持っています。 この圧電スピーカーは以下の特性(characteristic)を使うことでキューブ内に用意されている効果音や MIDI note number を使ったメロディーを再生できます。

プロパティ
Characteristic UUID10B20104-5B3B-4571-9508-CF3EFCD7BBAE
PropertiesWrite
DescriptorSound Control

書き込み操作#

効果音の再生#

以下に示す構成のデータを書き込むことでキューブ内に用意されている効果音を再生できます。 例は"Mat in"の効果音を再生します。

データ位置タイプ内容
0UInt8制御の種類0x02(効果音の再生)
1UInt8効果音の ID0x04(Mat in)
2UInt8音量0xFF(最大)

効果音の ID#

効果音の ID は0以上10以下の範囲で指定します。ID と効果音の種類の対応は以下のとおりです。

効果音の ID効果音の種類
0Enter
1Selected
2Cancel
3Cursor
4Mat in
5Mat out
6Get 1
7Get 2
8Get 3
9Effect 1
10Effect 2

音量#

音量は0以上255以下の範囲で指定可能です。 0は音量 0(OFF)で0以外は全て最大音量になります。

MIDI note number の再生#

以下に示す構成のデータを書き込むことで MIDI note number を使ったメロディーを再生できます。例は"C5-D5-E5"を繰り返し再生しつづけます。

データ位置タイプ内容
0UInt8制御の種類0x03(MIDI note number の再生)
1UInt8繰り返し回数0x00(無限)
2UInt8Operation の数0x03(3 つ)
3UInt8再生時間0x1E(300 ミリ秒)
4UInt8MIDI note number0x3C(C5)
5UInt8音量0xFF(最大)
6UInt8再生時間0x1E(300 ミリ秒)
7UInt8MIDI note number0x3E(D5)
8UInt8音量0xFF(最大)
9UInt8再生時間0x1E(300 ミリ秒)
10UInt8MIDI note number0x40(E5)
11UInt8音量0xFF(最大)

データ構造と Operation#

この書き込み操作のデータは以下の図のような長さが可変な構造になっています。

Sound Sequence Data Structure

Operation とは、以下の 3 つをまとめたものを表します。

  • 再生時間
  • MIDI note number
  • 音量

繰り返し回数#

Operation の繰り返し回数を0以上255以下の範囲で指定します。0は「無限回」を意味し、次の書き込み操作が行われるまで Operation の繰り返しが終わりません。1以上255以下の範囲では指定した回数繰り返した後に再生を停止します。

Operation の数#

Operation の数を1以上59以下の範囲で指定します。ここで指定する値が続く Operation の数より小さい場合はここで指定した値の数の Operation だけが繰り返されます。ここで指定する値が続く Operation の数より大きい場合はエラーとなり書き込み操作が破棄されます。

再生時間#

MIDI note number を再生する時間を1以上255の範囲で指定します。指定した値 x10 ミリ秒再生します。

MIDI Note Number#

再生する MIDI note number を指定します。値の範囲は0以上128です。Note name との対応は MIDI note number と Note name 参照してください。

再生の停止#

以下に示す構成のデータを書き込むことで効果音の生成MIDI note number の再生を停止できます。

データ位置タイプ内容
0UInt8制御の種類0x01(再生の停止)

Additional information#

MIDI note number と Note name#

MIDI note number と Note name の対応は以下のとおりです。MIDI note number = 57 が 440 ヘルツの音に対応します。また、MIDI note number = 128 は無音となります。

オクターブ音名
CC#DD#EFF#GG#AA#B
001234567891011
1121314151617181920212223
2242526272829303132333435
3363738394041424344454647
4484950515253545556575859
5606162636465666768697071
6727374757677787980818283
7848586878889909192939495
896979899100101102103104105106107
9108109110111112113114115116117118119
10120121122123124125126127