# base12 intervals representation `125`: `12` octave + `5` semitones (octaves are also in base12)
- url: https://numpy.org/doc/stable/reference/generated/numpy.base_repr.html
- legacy_notes_url: http://localhost:5003/notes/5233
base12 intervals representation
125
: 12
octave + 5
semitones (octaves are also in base12)
import numpy as np
print(' │ interval')
print('octave│ ', end='')
for i in range(12):
print(f'{np.base_repr(i, base=12):>3}', end=' ')
print()
print('──────┼' + '─'*48)
for octave in range(16):
octave_base12 = np.base_repr(octave, base=12)
print(f'{octave_base12:>6}│', end=' ')
for i in range(12):
print(f'{np.base_repr(12 * octave + i, base=12):>3}', end=' ')
print()
│ interval
octave│ 0 1 2 3 4 5 6 7 8 9 A B
──────┼────────────────────────────────────────────────
0│ 0 1 2 3 4 5 6 7 8 9 A B
1│ 10 11 12 13 14 15 16 17 18 19 1A 1B
2│ 20 21 22 23 24 25 26 27 28 29 2A 2B
3│ 30 31 32 33 34 35 36 37 38 39 3A 3B
4│ 40 41 42 43 44 45 46 47 48 49 4A 4B
5│ 50 51 52 53 54 55 56 57 58 59 5A 5B
6│ 60 61 62 63 64 65 66 67 68 69 6A 6B
7│ 70 71 72 73 74 75 76 77 78 79 7A 7B
8│ 80 81 82 83 84 85 86 87 88 89 8A 8B
9│ 90 91 92 93 94 95 96 97 98 99 9A 9B
A│ A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB
B│ B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB
10│ 100 101 102 103 104 105 106 107 108 109 10A 10B
11│ 110 111 112 113 114 115 116 117 118 119 11A 11B
12│ 120 121 122 123 124 125 126 127 128 129 12A 12B
13│ 130 131 132 133 134 135 136 137 138 139 13A 13B