Home






AIBO LED File Format
Contents of this website are freeware and/or copyrighted material, and may not be sold under any circumstances.
Email: dogsbody@dogsbodynet.com     Home: https://dogsbodynet.com


Table of Contents
  1. Introduction
  2. LED Format Differences
  3. LED Key/Pitch Values
  4. LED Brightness Values
  5. Example

1. Introduction

LED files control the eye/tail/back/etc... lights on an AIBO.   The files are formatted as MIDI files.  Instead of sound however, the key/pitch values correspond to individual LED's.   The volume corresponds to LED brightness.   As proof, try renaming any *.led file to *.midi and playing it in Windows Media Player. 

Note: Familiarity with the MIDI file format is assumed below, so you might want to review it if needed.


2. LED Format Differences

There are only a few minor differences/restrictions to creating compatible LED files:
  • LED files -must- be format 0 single track MIDI files.   
  • Optional Meta Text Event (0xFF 01 len msg) describes the target AIBO platform (ie: "MODEL=210").
  • No Meta Time Signature (0xFF 58 04 nn dd cc bb) event is needed.
  • No Program Change (0xC0 pp) event to specify an instrument is needed.
  • Delta time values correspond to motion keyframes ticks instead of quarter notes.

3. LED Key/Pitch Values

The following table lists per-platform LED to MIDI key/pitch mapping:

ERS-110  MODE          0x48
MAD_EYES 0x40
HAPPY_EYES 0x3C
ERS-210  MODE          0x48
RIGHT_EYE1 0x3F (Mad)
LEFT_EYE2 0x3E
RIGHT_EYE2 0x3D (Happy)
LEFT_EYE2 0x3C
RIGHT_EYE3 0x41 (Sad)
LEFT_EYE3 0x40
TAIL1 0x54 (Blue)
TAIL2 0x56 (Orange)
ERS-220  MODE          0x48
UNKNOWN 0x4A
VISOR1 0x3F (Right-most)
VISOR2 0x3D
VISOR3 0x41
VISOR4 0x40
VISOR5 0x3C
VISOR6 0x3E (Left-most)
FACE1 0x60
FACE2 0x61
FACE3 0x62
TAIL1 0x5A (Left)
TAIL2 0x5B (Center)
TAIL3 0x5C (Right)
TAILFAN1 0x54 (Left-most)
TAILFAN2 0x55
TAILFAN3 0x56
TAILFAN4 0x57
TAILFAN5 0x58
TAILFAN6 0x59 (Right-most)
HEADLIGHT 0x30
ERS-310  MODE          0x48
HORN_GREEN 0x3C
HORN_RED 0x3E
HORN_BLUE 0x40
ERS-7    MODE_RED      0x48
MODE_GREEN 0x49
MODE_BLUE 0x4A
HEAD_COLOR 0x52
HEAD_WHITE 0x53
WIFI 0x4B
FACE1W 0x30 (Lower-right, white)
FACE2W 0x31 (Lower-left, white)
FACE3W 0x32 (Mid-rightmost, white)
FACE4W 0x33 (Mid-leftmost, white)
FACE5W 0x34 (Mid-2nd right, white)
FACE6W 0x35 (Mid-2nd left, white)
FACE7W 0x36 (Top-rightmost, white)
FACE8W 0x37 (Top-leftmost, white)
FACE9W 0x38 (Top-2nd right, white)
FACE10W 0x39 (Top-2nd left, white)
FACE11W 0x3A (Top center, white)
FACE12W 0x3B (Mid center, white)
FACE13W 0x3C (Angry 2, color)
FACE14W 0x3D (Angry 1, color)
FACE1C 0x18 (Lower-right, color)
FACE2C 0x19 (Lower-left, color)
FACE3C 0x1A (Mid-rightmost, color)
FACE4C 0x1B (Mid-leftmost, color)
FACE5C 0x1C (Mid-2nd right, color)
FACE6C 0x1D (Mid-2nd left, color)
FACE7C 0x1E (Top-rightmost, color)
FACE8C 0x1F (Top-leftmost, color)
FACE9C 0x20 (Top-2nd right, color)
FACE10C 0x21 (Top-2nd left, color)
FACE11C 0x22 (Top center, color)
FACE12C 0x23 (Mid center, color)
FACE13C 0x24 (Sad 2, color)
FACE14C 0x25 (Sad 1, color)
BACK1W 0x55 (Front back sensor, white)
BACK2W 0x57 (Center back sensor, white)
BACK3W 0x59 (Rear back sensor, white)
BACK1C 0x54 (Front back sensor, color)
BACK2C 0x56 (Center back sensor, color)
BACK3C 0x58 (Rear back sensor, color)



4. LED Brightness Values

AIBO LED's only support five brightness levels:  Off, Low, Medium, High, Max.   The 128 possible velocity (brightness) levels are therefore mapped as follows:
  • 0x00          = Off
  • 0x01 to 0x1F  = Low
  • 0x20 to 0x3F  = Medium
  • 0x40 to 0x5F  = High
  • 0x60 to 0x7F  = Max


5. Example

Chunk Headers
Meta Events & Status Bytes
Time Delta's
000000:  4d 54 68 64  00 00 00 06  00 00 00 01  00 78 4d 54  |MThd.........xMT|
000010:  72 6b 00 00  01 34 00 ff  01 09 4d 4f  44 45 4c 3d  |rk...4....MODEL=|
000020:  32 31 30 00 ff 03 08 75  6e 74 69 74  6c 65 64 00 |210....untitled.|
000030:  ff 51 03 07  a1 20 85 6e 90 3d 7f 00 3c 7f 00 54  |.Q... .n.=..<..T|
000040:  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00 |.<T.-T.<T.-T.<T.|
000050:  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00  2d 54 7f 3c |-T.<T.-T.<T.-T.<|
000060:  54 00 2d 54 7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  |T.-T.<T.-T.<T.-T|
000070:  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00 |.<T.-T.<T.-T.<T.|
000080:  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00  2d 54 7f 3c |-T.<T.-T.<T.-T.<|
000090:  54 00 2d 54  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  |T.-T.<T.-T.<T.-T|
0000a0:  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00 |.<T.-T.<T.-T.<T.|
0000b0:  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00  2d 54 7f 3c |-T.<T.-T.<T.-T.<|
0000c0:  54 00 2d 54  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  |T.-T.<T.-T.<T.-T|
0000d0:  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00 |.<T.-T.<T.-T.<T.|
0000e0:  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00  2d 54 7f 3c |-T.<T.-T.<T.-T.<|
0000f0:  54 00 2d 54  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  |T.-T.<T.-T.<T.-T|
000100:  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00 |.<T.-T.<T.-T.<T.|
000110:  2d 54 7f 3c 54 00 2d 54  7f 3c 54 00  2d 54 7f 3c |-T.<T.-T.<T.-T.<|
000120:  54 00 2d 54  7f 3c 54 00  2d 54 7f 3c 54 00 2d 54  |T.-T.<T.-T.<T.-T|
000130:  7f 3c 54 00  2d 54 7f 3c 54 00 0f 3c 00 00 3d 00  |.<T.-T.<T..<..=.|
000140:  1e 54 7f 3c 54 00 00 ff 2f 00                    |.T.<T.../.      |
Download Example