Advertisement
Guest User

Untitled

a guest
Jul 31st, 2012
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.27 KB | None | 0 0
  1. #include <MIDI.h>
  2. #include <Tone.h>
  3.  
  4. // PIN OUTPUTS
  5. // Pin 1:
  6. // Pin 2:
  7. // Pin 3:
  8. // Pin 4:
  9. // Pin 5:
  10. // Pin 6:
  11. // Pin 7:
  12. // Pin 8: Tone 3 (fifth)
  13. // Pin 9:
  14. // Pin 10: Switch (3rd state)
  15. // Pin 11: Tone 2 (third)
  16. // Pin 12: Tone 1 (base * 8)
  17. // Pin 13: Trigger (inversed)
  18.  
  19. int ledPin = 13;
  20. int thirdPin = 10;
  21. int thirdSwitch = 0;
  22. int freq1 = 0;
  23. int freq2 = 0;
  24. int freq3 = 0;
  25. Tone tone1;
  26. Tone tone2;
  27. Tone tone3;
  28. int bendfactor = 0;
  29. int bendfreq = 0;
  30.  
  31. // This function will be automatically called when a NoteOn is received.
  32. // It must be a void-returning function with the correct parameters,
  33. // see documentation here:
  34. // http://arduinomidilib.sourceforge.net/class_m_i_d_i___class.html
  35.  
  36. void HandleNoteOn(byte channel, byte note, byte velocity) {
  37.  
  38. // Do whatever you want when you receive a Note On.
  39.  
  40. if (velocity == 0) {
  41. digitalWrite(ledPin,HIGH);
  42. }
  43. else {
  44. digitalWrite(ledPin,LOW);
  45. }
  46.  
  47. switch (note) {
  48. case 0:
  49. freq1 = 65;
  50. if (thirdSwitch == HIGH) {freq2 = 10;}
  51. else {freq2 = 10;}
  52. freq3 = 12;
  53. digitalWrite(ledPin,HIGH);
  54. break;
  55. case 1:
  56. freq1 = 69;
  57. if (thirdSwitch == HIGH) {freq2 = 11;}
  58. else {freq2 = 10;}
  59. freq3 = 13;
  60. break;
  61. case 2:
  62. freq1 = 73;
  63. if (thirdSwitch == HIGH) {freq2 = 11;}
  64. else {freq2 = 11;}
  65. freq3 = 14;
  66. break;
  67. case 3:
  68. freq1 = 78;
  69. if (thirdSwitch == HIGH) {freq2 = 12;}
  70. else {freq2 = 11;}
  71. freq3 = 14;
  72. break;
  73. case 4:
  74. freq1 = 82;
  75. if (thirdSwitch == HIGH) {freq2 = 13;}
  76. else {freq2 = 12;}
  77. freq3 = 15;
  78. break;
  79. case 5:
  80. freq1 = 87;
  81. if (thirdSwitch == HIGH) {freq2 = 14;}
  82. else {freq2 = 13;}
  83. freq3 = 16;
  84. break;
  85. case 6:
  86. freq1 = 92;
  87. if (thirdSwitch == HIGH) {freq2 = 14;}
  88. else {freq2 = 14;}
  89. freq3 = 17;
  90. break;
  91. case 7:
  92. freq1 = 98;
  93. if (thirdSwitch == HIGH) {freq2 = 15;}
  94. else {freq2 = 14;}
  95. freq3 = 18;
  96. break;
  97. case 8:
  98. freq1 = 104;
  99. if (thirdSwitch == HIGH) {freq2 = 16;}
  100. else {freq2 = 15;}
  101. freq3 = 19;
  102. break;
  103. case 9:
  104. freq1 = 110;
  105. if (thirdSwitch == HIGH) {freq2 = 17;}
  106. else {freq2 = 16;}
  107. freq3 = 20;
  108. break;
  109. case 10:
  110. freq1 = 116;
  111. if (thirdSwitch == HIGH) {freq2 = 18;}
  112. else {freq2 = 17;}
  113. freq3 = 22;
  114. break;
  115. case 11:
  116. freq1 = 123;
  117. if (thirdSwitch == HIGH) {freq2 = 19;}
  118. else {freq2 = 18;}
  119. freq3 = 23;
  120. break;
  121. case 12:
  122. freq1 = 131;
  123. if (thirdSwitch == HIGH) {freq2 = 20;}
  124. else {freq2 = 19;}
  125. freq3 = 24;
  126. break;
  127. case 13:
  128. freq1 = 138;
  129. if (thirdSwitch == HIGH) {freq2 = 22;}
  130. else {freq2 = 20;}
  131. freq3 = 26;
  132. break;
  133. case 14:
  134. freq1 = 146;
  135. if (thirdSwitch == HIGH) {freq2 = 23;}
  136. else {freq2 = 22;}
  137. freq3 = 27;
  138. break;
  139. case 15:
  140. freq1 = 155;
  141. if (thirdSwitch == HIGH) {freq2 = 24;}
  142. else {freq2 = 23;}
  143. freq3 = 29;
  144. break;
  145. case 16:
  146. freq1 = 164;
  147. if (thirdSwitch == HIGH) {freq2 = 26;}
  148. else {freq2 = 24;}
  149. freq3 = 31;
  150. break;
  151. case 17:
  152. freq1 = 174;
  153. if (thirdSwitch == HIGH) {freq2 = 27;}
  154. else {freq2 = 26;}
  155. freq3 = 33;
  156. break;
  157. case 18:
  158. freq1 = 185;
  159. if (thirdSwitch == HIGH) {freq2 = 29;}
  160. else {freq2 = 27;}
  161. freq3 = 35;
  162. break;
  163. case 19:
  164. freq1 = 196;
  165. if (thirdSwitch == HIGH) {freq2 = 31;}
  166. else {freq2 = 29;}
  167. freq3 = 37;
  168. break;
  169. case 20:
  170. freq1 = 208;
  171. if (thirdSwitch == HIGH) {freq2 = 33;}
  172. else {freq2 = 31;}
  173. freq3 = 39;
  174. break;
  175. case 21:
  176. freq1 = 220;
  177. if (thirdSwitch == HIGH) {freq2 = 35;}
  178. else {freq2 = 33;}
  179. freq3 = 41;
  180. break;
  181. case 22:
  182. freq1 = 233;
  183. if (thirdSwitch == HIGH) {freq2 = 37;}
  184. else {freq2 = 35;}
  185. freq3 = 44;
  186. break;
  187. case 23:
  188. freq1 = 247;
  189. if (thirdSwitch == HIGH) {freq2 = 39;}
  190. else {freq2 = 37;}
  191. freq3 = 46;
  192. break;
  193. case 24:
  194. freq1 = 261;
  195. if (thirdSwitch == HIGH) {freq2 = 41;}
  196. else {freq2 = 39;}
  197. freq3 = 49;
  198. break;
  199. case 25:
  200. freq1 = 277;
  201. if (thirdSwitch == HIGH) {freq2 = 44;}
  202. else {freq2 = 41;}
  203. freq3 = 52;
  204. break;
  205. case 26:
  206. freq1 = 294;
  207. if (thirdSwitch == HIGH) {freq2 = 46;}
  208. else {freq2 = 44;}
  209. freq3 = 55;
  210. break;
  211. case 27:
  212. freq1 = 311;
  213. if (thirdSwitch == HIGH) {freq2 = 49;}
  214. else {freq2 = 46;}
  215. freq3 = 58;
  216. break;
  217. case 28:
  218. freq1 = 329;
  219. if (thirdSwitch == HIGH) {freq2 = 52;}
  220. else {freq2 = 49;}
  221. freq3 = 62;
  222. break;
  223. case 29:
  224. freq1 = 349;
  225. if (thirdSwitch == HIGH) {freq2 = 55;}
  226. else {freq2 = 52;}
  227. freq3 = 65;
  228. break;
  229. case 30:
  230. freq1 = 370;
  231. if (thirdSwitch == HIGH) {freq2 = 58;}
  232. else {freq2 = 55;}
  233. freq3 = 69;
  234. break;
  235. case 31:
  236. freq1 = 392;
  237. if (thirdSwitch == HIGH) {freq2 = 62;}
  238. else {freq2 = 58;}
  239. freq3 = 73;
  240. break;
  241. case 32:
  242. freq1 = 415;
  243. if (thirdSwitch == HIGH) {freq2 = 65;}
  244. else {freq2 = 62;}
  245. freq3 = 78;
  246. break;
  247. case 33:
  248. freq1 = 440;
  249. if (thirdSwitch == HIGH) {freq2 = 69;}
  250. else {freq2 = 65;}
  251. freq3 = 82;
  252. break;
  253. case 34:
  254. freq1 = 466;
  255. if (thirdSwitch == HIGH) {freq2 = 73;}
  256. else {freq2 = 69;}
  257. freq3 = 87;
  258. break;
  259. case 35:
  260. freq1 = 494;
  261. if (thirdSwitch == HIGH) {freq2 = 78;}
  262. else {freq2 = 73;}
  263. freq3 = 92;
  264. break;
  265. case 36:
  266. freq1 = 523;
  267. if (thirdSwitch == HIGH) {freq2 = 82;}
  268. else {freq2 = 78;}
  269. freq3 = 98;
  270. break;
  271. case 37:
  272. freq1 = 554;
  273. if (thirdSwitch == HIGH) {freq2 = 87;}
  274. else {freq2 = 82;}
  275. freq3 = 104;
  276. break;
  277. case 38:
  278. freq1 = 587;
  279. if (thirdSwitch == HIGH) {freq2 = 92;}
  280. else {freq2 = 87;}
  281. freq3 = 110;
  282. break;
  283. case 39:
  284. freq1 = 622;
  285. if (thirdSwitch == HIGH) {freq2 = 98;}
  286. else {freq2 = 92;}
  287. freq3 = 116;
  288. break;
  289. case 40:
  290. freq1 = 659;
  291. if (thirdSwitch == HIGH) {freq2 = 104;}
  292. else {freq2 = 98;}
  293. freq3 = 123;
  294. break;
  295. case 41:
  296. freq1 = 698;
  297. if (thirdSwitch == HIGH) {freq2 = 110;}
  298. else {freq2 = 104;}
  299. freq3 = 131;
  300. break;
  301. case 42:
  302. freq1 = 740;
  303. if (thirdSwitch == HIGH) {freq2 = 116;}
  304. else {freq2 = 110;}
  305. freq3 = 138;
  306. break;
  307. case 43:
  308. freq1 = 784;
  309. if (thirdSwitch == HIGH) {freq2 = 123;}
  310. else {freq2 = 116;}
  311. freq3 = 147;
  312. break;
  313. case 44:
  314. freq1 = 830;
  315. if (thirdSwitch == HIGH) {freq2 = 131;}
  316. else {freq2 = 123;}
  317. freq3 = 155;
  318. break;
  319. case 45:
  320. freq1 = 880;
  321. if (thirdSwitch == HIGH) {freq2 = 138;}
  322. else {freq2 = 131;}
  323. freq3 = 165;
  324. break;
  325. case 46:
  326. freq1 = 932;
  327. if (thirdSwitch == HIGH) {freq2 = 147;}
  328. else {freq2 = 138;}
  329. freq3 = 174;
  330. break;
  331. case 47:
  332. freq1 = 988;
  333. if (thirdSwitch == HIGH) {freq2 = 155;}
  334. else {freq2 = 147;}
  335. freq3 = 185;
  336. break;
  337. case 48:
  338. freq1 = 1046;
  339. if (thirdSwitch == HIGH) {freq2 = 165;}
  340. else {freq2 = 155;}
  341. freq3 = 196;
  342. break;
  343. case 49:
  344. freq1 = 1109;
  345. if (thirdSwitch == HIGH) {freq2 = 174;}
  346. else {freq2 = 165;}
  347. freq3 = 208;
  348. break;
  349. case 50:
  350. freq1 = 1175;
  351. if (thirdSwitch == HIGH) {freq2 = 185;}
  352. else {freq2 = 174;}
  353. freq3 = 220;
  354. break;
  355. case 51:
  356. freq1 = 1244;
  357. if (thirdSwitch == HIGH) {freq2 = 196;}
  358. else {freq2 = 185;}
  359. freq3 = 233;
  360. break;
  361. case 52:
  362. freq1 = 1318;
  363. if (thirdSwitch == HIGH) {freq2 = 208;}
  364. else {freq2 = 196;}
  365. freq3 = 247;
  366. break;
  367. case 53:
  368. freq1 = 1397;
  369. if (thirdSwitch == HIGH) {freq2 = 220;}
  370. else {freq2 = 208;}
  371. freq3 = 261;
  372. break;
  373. case 54:
  374. freq1 = 1480;
  375. if (thirdSwitch == HIGH) {freq2 = 233;}
  376. else {freq2 = 220;}
  377. freq3 = 277;
  378. break;
  379. case 55:
  380. freq1 = 1568;
  381. if (thirdSwitch == HIGH) {freq2 = 247;}
  382. else {freq2 = 233;}
  383. freq3 = 294;
  384. break;
  385. case 56:
  386. freq1 = 1661;
  387. if (thirdSwitch == HIGH) {freq2 = 261;}
  388. else {freq2 = 247;}
  389. freq3 = 311;
  390. break;
  391. case 57:
  392. freq1 = 1760;
  393. if (thirdSwitch == HIGH) {freq2 = 277;}
  394. else {freq2 = 261;}
  395. freq3 = 329;
  396. break;
  397. case 58:
  398. freq1 = 1865;
  399. if (thirdSwitch == HIGH) {freq2 = 294;}
  400. else {freq2 = 277;}
  401. freq3 = 349;
  402. break;
  403. case 59:
  404. freq1 = 1975;
  405. if (thirdSwitch == HIGH) {freq2 = 311;}
  406. else {freq2 = 294;}
  407. freq3 = 370;
  408. break;
  409. case 60:
  410. freq1 = 2093;
  411. if (thirdSwitch == HIGH) {freq2 = 329;}
  412. else {freq2 = 311;}
  413. freq3 = 392;
  414. break;
  415. case 61:
  416. freq1 = 2217;
  417. if (thirdSwitch == HIGH) {freq2 = 349;}
  418. else {freq2 = 329;}
  419. freq3 = 415;
  420. break;
  421. case 62:
  422. freq1 = 2349;
  423. if (thirdSwitch == HIGH) {freq2 = 370;}
  424. else {freq2 = 349;}
  425. freq3 = 440;
  426. break;
  427. case 63:
  428. freq1 = 2489;
  429. if (thirdSwitch == HIGH) {freq2 = 392;}
  430. else {freq2 = 370;}
  431. freq3 = 466;
  432. break;
  433. case 64:
  434. freq1 = 2637;
  435. if (thirdSwitch == HIGH) {freq2 = 415;}
  436. else {freq2 = 392;}
  437. freq3 = 494;
  438. break;
  439. case 65:
  440. freq1 = 2794;
  441. if (thirdSwitch == HIGH) {freq2 = 440;}
  442. else {freq2 = 415;}
  443. freq3 = 523;
  444. break;
  445. case 66:
  446. freq1 = 2960;
  447. if (thirdSwitch == HIGH) {freq2 = 466;}
  448. else {freq2 = 440;}
  449. freq3 = 554;
  450. break;
  451. case 67:
  452. freq1 = 3136;
  453. if (thirdSwitch == HIGH) {freq2 = 494;}
  454. else {freq2 = 466;}
  455. freq3 = 587;
  456. break;
  457. case 68:
  458. freq1 = 3322;
  459. if (thirdSwitch == HIGH) {freq2 = 523;}
  460. else {freq2 = 494;}
  461. freq3 = 622;
  462. break;
  463. case 69:
  464. freq1 = 3520;
  465. if (thirdSwitch == HIGH) {freq2 = 554;}
  466. else {freq2 = 523;}
  467. freq3 = 659;
  468. break;
  469. case 70:
  470. freq1 = 3729;
  471. if (thirdSwitch == HIGH) {freq2 = 587;}
  472. else {freq2 = 554;}
  473. freq3 = 698;
  474. break;
  475. case 71:
  476. freq1 = 3951;
  477. if (thirdSwitch == HIGH) {freq2 = 622;}
  478. else {freq2 = 587;}
  479. freq3 = 740;
  480. break;
  481. case 72:
  482. freq1 = 4186;
  483. if (thirdSwitch == HIGH) {freq2 = 659;}
  484. else {freq2 = 622;}
  485. freq3 = 784;
  486. break;
  487. case 73:
  488. freq1 = 4435;
  489. if (thirdSwitch == HIGH) {freq2 = 698;}
  490. else {freq2 = 659;}
  491. freq3 = 830;
  492. break;
  493. case 74:
  494. freq1 = 4698;
  495. if (thirdSwitch == HIGH) {freq2 = 740;}
  496. else {freq2 = 698;}
  497. freq3 = 880;
  498. break;
  499. case 75:
  500. freq1 = 4978;
  501. if (thirdSwitch == HIGH) {freq2 = 784;}
  502. else {freq2 = 740;}
  503. freq3 = 932;
  504. break;
  505. case 76:
  506. freq1 = 5274;
  507. if (thirdSwitch == HIGH) {freq2 = 830;}
  508. else {freq2 = 784;}
  509. freq3 = 988;
  510. break;
  511. case 77:
  512. freq1 = 5588;
  513. if (thirdSwitch == HIGH) {freq2 = 880;}
  514. else {freq2 = 830;}
  515. freq3 = 1046;
  516. break;
  517. case 78:
  518. freq1 = 5920;
  519. if (thirdSwitch == HIGH) {freq2 = 932;}
  520. else {freq2 = 880;}
  521. freq3 = 1109;
  522. break;
  523. case 79:
  524. freq1 = 6272;
  525. if (thirdSwitch == HIGH) {freq2 = 988;}
  526. else {freq2 = 932;}
  527. freq3 = 1175;
  528. break;
  529. case 80:
  530. freq1 = 6645;
  531. if (thirdSwitch == HIGH) {freq2 = 1046;}
  532. else {freq2 = 988;}
  533. freq3 = 1244;
  534. break;
  535. case 81:
  536. freq1 = 7040;
  537. if (thirdSwitch == HIGH) {freq2 = 1109;}
  538. else {freq2 = 1046;}
  539. freq3 = 1318;
  540. break;
  541. case 82:
  542. freq1 = 7458;
  543. if (thirdSwitch == HIGH) {freq2 = 1175;}
  544. else {freq2 = 1109;}
  545. freq3 = 1397;
  546. break;
  547. case 83:
  548. freq1 = 7902;
  549. if (thirdSwitch == HIGH) {freq2 = 1244;}
  550. else {freq2 = 1175;}
  551. freq3 = 1480;
  552. break;
  553. case 84:
  554. freq1 = 8372;
  555. if (thirdSwitch == HIGH) {freq2 = 1318;}
  556. else {freq2 = 1244;}
  557. freq3 = 1568;
  558. break;
  559. case 85:
  560. freq1 = 8870;
  561. if (thirdSwitch == HIGH) {freq2 = 1397;}
  562. else {freq2 = 1318;}
  563. freq3 = 1661;
  564. break;
  565. case 86:
  566. freq1 = 9397;
  567. if (thirdSwitch == HIGH) {freq2 = 1480;}
  568. else {freq2 = 1397;}
  569. freq3 = 1760;
  570. break;
  571. case 87:
  572. freq1 = 9956;
  573. if (thirdSwitch == HIGH) {freq2 = 1568;}
  574. else {freq2 = 1480;}
  575. freq3 = 1865;
  576. break;
  577. case 88:
  578. freq1 = 10548;
  579. if (thirdSwitch == HIGH) {freq2 = 1661;}
  580. else {freq2 = 1568;}
  581. freq3 = 1975;
  582. break;
  583. case 89:
  584. freq1 = 11175;
  585. if (thirdSwitch == HIGH) {freq2 = 1760;}
  586. else {freq2 = 1661;}
  587. freq3 = 2093;
  588. break;
  589. case 90:
  590. freq1 = 11840;
  591. if (thirdSwitch == HIGH) {freq2 = 1865;}
  592. else {freq2 = 1760;}
  593. freq3 = 2217;
  594. break;
  595. case 91:
  596. freq1 = 12544;
  597. if (thirdSwitch == HIGH) {freq2 = 1975;}
  598. else {freq2 = 1865;}
  599. freq3 = 2349;
  600. break;
  601. case 92:
  602. freq1 = 13290;
  603. if (thirdSwitch == HIGH) {freq2 = 2093;}
  604. else {freq2 = 1975;}
  605. freq3 = 2489;
  606. break;
  607. case 93:
  608. freq1 = 14080;
  609. if (thirdSwitch == HIGH) {freq2 = 2217;}
  610. else {freq2 = 2093;}
  611. freq3 = 2637;
  612. break;
  613. case 94:
  614. freq1 = 14917;
  615. if (thirdSwitch == HIGH) {freq2 = 2349;}
  616. else {freq2 = 2217;}
  617. freq3 = 2794;
  618. break;
  619. case 95:
  620. freq1 = 15804;
  621. if (thirdSwitch == HIGH) {freq2 = 2489;}
  622. else {freq2 = 2349;}
  623. freq3 = 2960;
  624. break;
  625. case 96:
  626. freq1 = 16744;
  627. if (thirdSwitch == HIGH) {freq2 = 2637;}
  628. else {freq2 = 2489;}
  629. freq3 = 3136;
  630. break;
  631. case 97:
  632. freq1 = 17740;
  633. if (thirdSwitch == HIGH) {freq2 = 2794;}
  634. else {freq2 = 2637;}
  635. freq3 = 3322;
  636. break;
  637. case 98:
  638. freq1 = 18794;
  639. if (thirdSwitch == HIGH) {freq2 = 2960;}
  640. else {freq2 = 2794;}
  641. freq3 = 3520;
  642. break;
  643. case 99:
  644. freq1 = 19912;
  645. if (thirdSwitch == HIGH) {freq2 = 3136;}
  646. else {freq2 = 2960;}
  647. freq3 = 3729;
  648. break;
  649. case 100:
  650. freq1 = 21096;
  651. if (thirdSwitch == HIGH) {freq2 = 3322;}
  652. else {freq2 = 3136;}
  653. freq3 = 3951;
  654. break;
  655. case 101:
  656. freq1 = 22350;
  657. if (thirdSwitch == HIGH) {freq2 = 3520;}
  658. else {freq2 = 3322;}
  659. freq3 = 4159;
  660. break;
  661. case 102:
  662. freq1 = 23679;
  663. if (thirdSwitch == HIGH) {freq2 = 3729;}
  664. else {freq2 = 3520;}
  665. freq3 = 4435;
  666. break;
  667. case 103:
  668. freq1 = 25087;
  669. if (thirdSwitch == HIGH) {freq2 = 3951;}
  670. else {freq2 = 3729;}
  671. freq3 = 4698;
  672. break;
  673. case 104:
  674. freq1 = 26579;
  675. if (thirdSwitch == HIGH) {freq2 = 4159;}
  676. else {freq2 = 3951;}
  677. freq3 = 4978;
  678. break;
  679. case 105:
  680. freq1 = 28160;
  681. if (thirdSwitch == HIGH) {freq2 = 4435;}
  682. else {freq2 = 4159;}
  683. freq3 = 5274;
  684. break;
  685. case 106:
  686. freq1 = 29834;
  687. if (thirdSwitch == HIGH) {freq2 = 4698;}
  688. else {freq2 = 4435;}
  689. freq3 = 5588;
  690. break;
  691. case 107:
  692. freq1 = 31608;
  693. if (thirdSwitch == HIGH) {freq2 = 4978;}
  694. else {freq2 = 4698;}
  695. freq3 = 5920;
  696. break;
  697. case 108:
  698. freq1 = 33488;
  699. if (thirdSwitch == HIGH) {freq2 = 5274;}
  700. else {freq2 = 4978;}
  701. freq3 = 6272;
  702. break;
  703. case 109:
  704. freq1 = 35479;
  705. if (thirdSwitch == HIGH) {freq2 = 5588;}
  706. else {freq2 = 5274;}
  707. freq3 = 6645;
  708. break;
  709. case 110:
  710. freq1 = 37589;
  711. if (thirdSwitch == HIGH) {freq2 = 5920;}
  712. else {freq2 = 5588;}
  713. freq3 = 7040;
  714. break;
  715. case 111:
  716. freq1 = 39824;
  717. if (thirdSwitch == HIGH) {freq2 = 6272;}
  718. else {freq2 = 5820;}
  719. freq3 = 7458;
  720. break;
  721. case 112:
  722. freq1 = 42192;
  723. if (thirdSwitch == HIGH) {freq2 = 6645;}
  724. else {freq2 = 6272;}
  725. freq3 = 7902;
  726. break;
  727. case 113:
  728. freq1 = 44701;
  729. if (thirdSwitch == HIGH) {freq2 = 7040;}
  730. else {freq2 = 6645;}
  731. freq3 = 8372;
  732. break;
  733. case 114:
  734. freq1 = 47359;
  735. if (thirdSwitch == HIGH) {freq2 = 7458;}
  736. else {freq2 = 7040;}
  737. freq3 = 8870;
  738. break;
  739. case 115:
  740. freq1 = 50175;
  741. if (thirdSwitch == HIGH) {freq2 = 7902;}
  742. else {freq2 = 7458;}
  743. freq3 = 9397;
  744. break;
  745. case 116:
  746. freq1 = 53159;
  747. if (thirdSwitch == HIGH) {freq2 = 8372;}
  748. else {freq2 = 7902;}
  749. freq3 = 9956;
  750. break;
  751. case 117:
  752. freq1 = 56320;
  753. if (thirdSwitch == HIGH) {freq2 = 8870;}
  754. else {freq2 = 8372;}
  755. freq3 = 10548;
  756. break;
  757. case 118:
  758. freq1 = 59669;
  759. if (thirdSwitch == HIGH) {freq2 = 9397;}
  760. else {freq2 = 8870;}
  761. freq3 = 11175;
  762. break;
  763. case 119:
  764. freq1 = 63217;
  765. if (thirdSwitch == HIGH) {freq2 = 9956;}
  766. else {freq2 = 9397;}
  767. freq3 = 11840;
  768. break;
  769. case 120:
  770. freq1 = 66976;
  771. if (thirdSwitch == HIGH) {freq2 = 10548;}
  772. else {freq2 = 9956;}
  773. freq3 = 12544;
  774. break;
  775. case 121:
  776. freq1 = 70959;
  777. if (thirdSwitch == HIGH) {freq2 = 11175;}
  778. else {freq2 = 10548;}
  779. freq3 = 13290;
  780. break;
  781. case 122:
  782. freq1 = 75178;
  783. if (thirdSwitch == HIGH) {freq2 = 11840;}
  784. else {freq2 = 11175;}
  785. freq3 = 14080;
  786. break;
  787. case 123:
  788. freq1 = 79648;
  789. if (thirdSwitch == HIGH) {freq2 = 12544;}
  790. else {freq2 = 11840;}
  791. freq3 = 14917;
  792. break;
  793. case 124:
  794. freq1 = 84385;
  795. if (thirdSwitch == HIGH) {freq2 = 13290;}
  796. else {freq2 = 12544;}
  797. freq3 = 15804;
  798. break;
  799. case 125:
  800. freq1 = 89402;
  801. if (thirdSwitch == HIGH) {freq2 = 14080;}
  802. else {freq2 = 13290;}
  803. freq3 = 16744;
  804. break;
  805. case 126:
  806. freq1 = 94718;
  807. if (thirdSwitch == HIGH) {freq2 = 14917;}
  808. else {freq2 = 14080;}
  809. freq3 = 17740;
  810. break;
  811. case 127:
  812. freq1 = 100351;
  813. if (thirdSwitch == HIGH) {freq2 = 15804;}
  814. else {freq2 = 14917;}
  815. freq3 = 18794;
  816. break;
  817. }
  818.  
  819. freq1 = freq1 + bendfreq;
  820. freq2 = freq2 + bendfreq;
  821. freq3 = freq3 + bendfreq;
  822.  
  823. tone1.play(freq1);
  824. tone2.play(freq2);
  825. tone3.play(freq3);
  826.  
  827. digitalWrite(ledPin,HIGH);
  828.  
  829. // Try to keep your callbacks short (no delays ect) as the contrary would slow down the loop()
  830. // and have a bad impact on real-time performance.
  831. }
  832.  
  833.  
  834. void HandlePitchBend(byte channel, int bend) {
  835. if (bend != 0) {
  836. bendfreq = bend/1000;
  837. }
  838. else {
  839. bendfreq = 0;
  840. }
  841.  
  842. freq1 = freq1 + bendfreq;
  843. freq2 = freq2 + bendfreq;
  844. freq3 = freq3 + bendfreq;
  845.  
  846. tone1.play(freq1);
  847. tone2.play(freq2);
  848. tone3.play(freq3);
  849.  
  850. }
  851.  
  852. void setup() {
  853. // Initiate MIDI communications, listen to all channels
  854. MIDI.begin(1);
  855.  
  856. // Connect the HandleNoteOn function to the library, so it is called upon reception of a NoteOn.
  857. MIDI.setHandleNoteOn(HandleNoteOn); // Put only the name of the function
  858.  
  859. // Connect HandlePitchBend to the library
  860. MIDI.setHandlePitchBend(HandlePitchBend);
  861.  
  862. pinMode(ledPin, OUTPUT);
  863. pinMode(thirdPin, INPUT);
  864. tone1.begin(12);
  865. tone2.begin(11);
  866. tone3.begin(8);
  867. tone1.play(freq1);
  868. tone2.play(freq2);
  869. tone3.play(freq3);
  870. }
  871.  
  872.  
  873. void loop() {
  874. //Read the 3rd switch pin state.
  875. thirdSwitch = digitalRead(thirdPin);
  876.  
  877. // Call MIDI.read the fastest you can for real-time performance.
  878. MIDI.read();
  879.  
  880. // There is no need to check if there are messages incoming if they are bound to a Callback function.
  881.  
  882. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement