The assignment has two parts:
In part one, you are to create a max patch (a module) that transforms the computer keyboard into a MIDI keyboard. Your patch needs to contain the following characteristics:
In part two, you create a simple MIDI harmonizer effect. Use the abstracted patch to test your patch. This patch needs the following characteristics:
This link contains two patches with the descriptions and a few basic object suggestions: lab_assignment01.zip
Note: the patcher needs to function properly, of course, but appearance and programming style are also important. Use comments, hide and/or use segmented and/or colored patch cords, align objects, etc.
| octave # | Note Numbers | |||||||||||
| c | c# | d | d# | e | f | f# | g | g# | a | a# | b | |
| -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 0 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 1 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
| 2 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
| 3 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
| 4 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 |
| 5 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 |
| 6 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 |
| 7 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 |
| 8 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 |
| 9 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | ||||
| Char | Octal | Dec | Hex | Description |
|---|---|---|---|---|
| SP | 40 | 32 | 20 | Space |
| ! | 41 | 33 | 21 | Exclamation mark |
| " | 42 | 34 | 22 | Quotation mark (" in HTML) |
| # | 43 | 35 | 23 | Cross hatch (number sign) |
| $ | 44 | 36 | 24 | Dollar sign |
| % | 45 | 37 | 25 | Percent sign |
| & | 46 | 38 | 26 | Ampersand |
| ` | 47 | 39 | 27 | Closing single quote (apostrophe) |
| ( | 50 | 40 | 28 | Opening parentheses |
| ) | 51 | 41 | 29 | Closing parentheses |
| * | 52 | 42 | 2a | Asterisk (star, multiply) |
| + | 53 | 43 | 2b | Plus |
| , | 54 | 44 | 2c | Comma |
| - | 55 | 45 | 2d | Hyphen, dash, minus |
| . | 56 | 46 | 2e | Period |
| / | 57 | 47 | 2f | Slant (forward slash, divide) |
| 0 | 60 | 48 | 30 | Zero |
| 1 | 61 | 49 | 31 | One |
| 2 | 62 | 50 | 32 | Two |
| 3 | 63 | 51 | 33 | Three |
| 4 | 64 | 52 | 34 | Four |
| 5 | 65 | 53 | 35 | Five |
| 6 | 66 | 54 | 36 | Six |
| 7 | 67 | 55 | 37 | Seven |
| 8 | 70 | 56 | 38 | Eight |
| 9 | 71 | 57 | 39 | Nine |
| : | 72 | 58 | 3a | Colon |
| ; | 73 | 59 | 3b | Semicolon |
| < | 74 | 60 | 3c | Less than sign (< in HTML) |
| = | 75 | 61 | 3d | Equals sign |
| > | 76 | 62 | 3e | Greater than sign (> in HTML) |
| ? | 77 | 63 | 3f | Question mark |
| @ | 100 | 64 | 40 | At-sign |
| A | 101 | 65 | 41 | Uppercase A |
| B | 102 | 66 | 42 | Uppercase B |
| C | 103 | 67 | 43 | Uppercase C |
| D | 104 | 68 | 44 | Uppercase D |
| E | 105 | 69 | 45 | Uppercase E |
| F | 106 | 70 | 46 | Uppercase F |
| G | 107 | 71 | 47 | Uppercase G |
| H | 110 | 72 | 48 | Uppercase H |
| I | 111 | 73 | 49 | Uppercase I |
| J | 112 | 74 | 4a | Uppercase J |
| K | 113 | 75 | 4b | Uppercase K |
| L | 114 | 76 | 4c | Uppercase L |
| M | 115 | 77 | 4d | Uppercase M |
| N | 116 | 78 | 4e | Uppercase N |
| O | 117 | 79 | 4f | Uppercase O |
| P | 120 | 80 | 50 | Uppercase P |
| Q | 121 | 81 | 51 | Uppercase Q |
| R | 122 | 82 | 52 | Uppercase R |
| S | 123 | 83 | 53 | Uppercase S |
| T | 124 | 84 | 54 | Uppercase T |
| U | 125 | 85 | 55 | Uppercase U |
| V | 126 | 86 | 56 | Uppercase V |
| W | 127 | 87 | 57 | Uppercase W |
| X | 130 | 88 | 58 | Uppercase X |
| Y | 131 | 89 | 59 | Uppercase Y |
| Z | 132 | 90 | 5a | Uppercase Z |
| [ | 133 | 91 | 5b | Opening square bracket |
| \ | 134 | 92 | 5c | Reverse slant (Backslash) |
| ] | 135 | 93 | 5d | Closing square bracket |
| ^ | 136 | 94 | 5e | Caret (Circumflex) |
| _ | 137 | 95 | 5f | Underscore |
| ` | 140 | 96 | 60 | Opening single quote |
| a | 141 | 97 | 61 | Lowercase a |
| b | 142 | 98 | 62 | Lowercase b |
| c | 143 | 99 | 63 | Lowercase c |
| d | 144 | 100 | 64 | Lowercase d |
| e | 145 | 101 | 65 | Lowercase e |
| f | 146 | 102 | 66 | Lowercase f |
| g | 147 | 103 | 67 | Lowercase g |
| h | 150 | 104 | 68 | Lowercase h |
| i | 151 | 105 | 69 | Lowercase i |
| j | 152 | 106 | 6a | Lowercase j |
| k | 153 | 107 | 6b | Lowercase k |
| l | 154 | 108 | 6c | Lowercase l |
| m | 155 | 109 | 6d | Lowercase m |
| n | 156 | 110 | 6e | Lowercase n |
| o | 157 | 111 | 6f | Lowercase o |
| p | 160 | 112 | 70 | Lowercase p |
| q | 161 | 113 | 71 | Lowercase q |
| r | 162 | 114 | 72 | Lowercase r |
| s | 163 | 115 | 73 | Lowercase s |
| t | 164 | 116 | 74 | Lowercase t |
| u | 165 | 117 | 75 | Lowercase u |
| v | 166 | 118 | 76 | Lowercase v |
| w | 167 | 119 | 77 | Lowercase w |
| x | 170 | 120 | 78 | Lowercase x |
| y | 171 | 121 | 79 | Lowercase y |
| z | 172 | 122 | 7a | Lowercase z |
| { | 173 | 123 | 7b | Opening curly brace |
| | | 174 | 124 | 7c | Vertical line |
| } | 175 | 125 | 7d | Cloing curly brace |
| ~ | 176 | 126 | 7e | Tilde (approximate) |
| DEL | 177 | 127 | 7f | Delete (rubout), cross-hatch box |