Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int step = 0;
- int oct = 0;
- uint32_t note;
- uint32_t smoothNote;
- uint32_t oldNote;
- void setup(void){
- }
- void loop(void){
- uint32_t smoothNote;
- if (in1 <= 26869759) {
- step = in1/2233685;
- oldNote = in1;
- switch(step){
- case 0: note = 0xFF800000; break; // -4 = C4
- case 1: note = 0xFFA00000; break; // -3 = C4#
- case 2: note = 0xFFC00000; break; // -2 = D4
- case 3: note = 0xFFE00000; break; // -1 = D4#
- case 4: note = 0x00000000; break; // 0 = E4
- case 5: note = 0x00200000; break; // 1 = F4
- case 6: note = 0x00400000; break; // 2 = F4#
- case 7: note = 0x00600000; break; // 3 = G4
- case 8: note = 0x00800000; break; // 4 = G4#
- case 9: note = 0x00A00000; break; // 5 = A4
- case 10: note = 0x00C00000; break; // 6 = B4
- }
- }
- else if (in1 > 26869759 && in1 < 53739519) {
- step = (in1-26869759)/2233685;
- oldNote = in1;
- switch (step) {
- case 0: note = 0x00E00000; break; // 7 = C5
- case 1: note = 0x01000000; break; // 8 = ...
- case 2: note = 0x01200000; break; // 9
- case 3: note = 0x01400000; break; // 10
- case 4: note = 0x01600000; break; // 11
- case 5: note = 0x01800000; break; // 12
- case 6: note = 0x01A00000; break; // 13
- case 7: note = 0x01C00000; break; // 14
- case 8: note = 0x01E00000; break; // 15
- case 9: note = 0x02000000; break; // 16
- case 10: note = 0x02200000; break; // 17
- case 11: note = 0x02400000; break; // 18
- }
- }
- else if (in1 > 53739519 && in1 < 80543743) {
- step = (in1-53739519)/2233685;
- oldNote = in1;
- switch (step) {
- case 0: note = 0x02600000; break; // 19
- case 1: note = 0x02800000; break; // 20
- case 2: note = 0x02A00000; break; // 21
- case 3: note = 0x02C00000; break; // 22
- case 4: note = 0x02E00000; break; // 23
- case 5: note = 0x03000000; break; // 24
- case 6: note = 0x03200000; break; // 25
- case 7: note = 0x03400000; break; // 26
- case 8: note = 0x03600000; break; // 28
- case 9: note = 0x03800000; break; // 29
- case 10: note = 0x03A00000; break; // 30
- case 11: note = 0x03C00000; break; // 31
- }
- }
- else if (in1 > 80543743 && in1 < 107413503) {
- step = (in1-80543743)/2233685;
- oldNote = in1;
- switch (step) {
- case 0: note = 0x03E00000; break; // 32
- case 1: note = 0x04000000; break; // 33
- case 2: note = 0x04200000; break; // 34
- case 3: note = 0x04400000; break; // 35
- case 4: note = 0x04600000; break; // 36
- case 5: note = 0x04800000; break; // 37
- case 6: note = 0x04A00000; break; // 38
- case 7: note = 0x04C00000; break; // 39
- case 8: note = 0x04E00000; break; // 40
- case 9: note = 0x05000000; break; // 41
- case 10: note = 0x05200000; break; // 42
- case 11: note = 0x05400000; break; // 43
- }
- }
- out1 = note;
- dejitter(in1, oldNote);
- // chThdSleepMilliseconds(1);
- }
- int dejitter(int v, int test){
- if (abs(v - test) > 2) { return v; }
- return test;
- }
Advertisement
Add Comment
Please, Sign In to add comment