Skip to main content
Version: 2.2.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