tunings.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. #include "notes.h"
  2. #ifndef TUNINGS
  3. #define TUNINGS
  4. typedef struct {
  5. char label[20];
  6. float frequency;
  7. } NOTE;
  8. typedef struct {
  9. char label[20];
  10. int notes_length;
  11. NOTE notes[20];
  12. } TUNING;
  13. const TUNING TuningForks = {
  14. "Tuning forks", 6, {
  15. { "Common A4 (440)", 440.00f},
  16. { "Sarti's A4 (436)", 436.00f},
  17. { "1858 A4 (435)", 435.00f},
  18. { "Verdi's A4 (432)", 432.00f},
  19. { "1750-1820 A4 (423.5)", 423.50f},
  20. { "Verdi's C4 (256.00)", 256.00f},
  21. }
  22. };
  23. const TUNING ScientificPitch = {
  24. "Scientific pitch", 12, {
  25. { "C0 (16Hz)", 16.0f},
  26. { "C1 (32Hz)", 32.0f},
  27. { "C2 (64Hz)", 64.0f},
  28. { "C3 (128Hz)", 128.0f},
  29. { "C4 (256Hz)", 256.0f},
  30. { "C5 (512Hz)", 512.0f},
  31. { "C6 (1024Hz)", 1024.0f},
  32. { "C7 (2048Hz)", 2048.0f},
  33. { "C8 (4096Hz)", 4096.0f},
  34. { "C9 (8192Hz)", 8192.0f},
  35. { "C10 (16384Hz)", 16384.0f},
  36. { "C11 (32768Hz)", 32768.0f}
  37. }
  38. };
  39. const TUNING GuitarStandard6 = {
  40. "Guitar Standard 6", 6, {
  41. {"String 1", E4},
  42. {"String 2", B3},
  43. {"String 3", G3},
  44. {"String 4", D3},
  45. {"String 5", A2},
  46. {"String 6", E2}
  47. }
  48. };
  49. const TUNING GuitarDropD6 = {
  50. "Guitar Drop D 6", 6, {
  51. {"String 1", E4},
  52. {"String 2", B3},
  53. {"String 3", G3},
  54. {"String 4", D3},
  55. {"String 5", A2},
  56. {"String 6", D2}
  57. }
  58. };
  59. const TUNING GuitarD6 = {
  60. "Guitar D 6", 6, {
  61. {"String 1", D4},
  62. {"String 2", A3},
  63. {"String 3", F3},
  64. {"String 4", C3},
  65. {"String 5", G2},
  66. {"String 6", D2}
  67. }
  68. };
  69. const TUNING GuitarDropC6 = {
  70. "Guitar Drop C 6", 6, {
  71. {"String 1", D4},
  72. {"String 2", A3},
  73. {"String 3", F3},
  74. {"String 4", C3},
  75. {"String 5", G2},
  76. {"String 6", C2}
  77. }
  78. };
  79. const TUNING GuitarStandard7 = {
  80. "Guitar Standard 7", 7, {
  81. {"String 1", E4},
  82. {"String 2", B3},
  83. {"String 3", G3},
  84. {"String 4", D3},
  85. {"String 5", A2},
  86. {"String 6", E2},
  87. {"String 7", B1}
  88. }
  89. };
  90. const TUNING BassStandard4 = {
  91. "Bass Standard 4", 4, {
  92. {"String 1", G2},
  93. {"String 2", D2},
  94. {"String 3", A1},
  95. {"String 4", E1}
  96. }
  97. };
  98. const TUNING BassStandardTenor4 = {
  99. "Bass Stand Tenor 4", 4, {
  100. {"String 1", C3},
  101. {"String 2", G2},
  102. {"String 3", D2},
  103. {"String 4", A1}
  104. }
  105. };
  106. const TUNING BassStandard5 = {
  107. "Bass Standard 5", 5, {
  108. {"String 1", G2},
  109. {"String 2", D2},
  110. {"String 3", A1},
  111. {"String 4", E1},
  112. {"String 5", B0}
  113. }
  114. };
  115. const TUNING BassStandardTenor5 = {
  116. "Bass Stand Tenor 5", 5, {
  117. {"String 1", C3},
  118. {"String 2", G2},
  119. {"String 3", D2},
  120. {"String 4", A1},
  121. {"String 5", E1}
  122. }
  123. };
  124. const TUNING BassDropD4 = {
  125. "Bass Drop D 4", 4, {
  126. {"String 1", G2},
  127. {"String 2", D2},
  128. {"String 3", A1},
  129. {"String 4", D1}
  130. }
  131. };
  132. const TUNING BassD4 = {
  133. "Bass D 4", 4, {
  134. {"String 1", F2},
  135. {"String 2", C2},
  136. {"String 3", G1},
  137. {"String 4", D1}
  138. }
  139. };
  140. const TUNING BassDropA5 = {
  141. "Bass Drop A 5", 5, {
  142. {"String 1", G2},
  143. {"String 2", D2},
  144. {"String 3", A1},
  145. {"String 4", E1},
  146. {"String 5", A0}
  147. }
  148. };
  149. const TUNING UkuleleStandard4 = {
  150. "Ukulele Standard 4", 4, {
  151. {"String 1", A4},
  152. {"String 2", E4},
  153. {"String 3", C4},
  154. {"String 4", G4}
  155. }
  156. };
  157. #define TUNINGS_COUNT 15
  158. TUNING TuningList[TUNINGS_COUNT] = {
  159. ScientificPitch,
  160. TuningForks,
  161. GuitarStandard6,
  162. GuitarDropD6,
  163. GuitarD6,
  164. GuitarDropC6,
  165. GuitarStandard7,
  166. BassStandard4,
  167. BassStandardTenor4,
  168. BassStandard5,
  169. BassStandardTenor5,
  170. BassDropD4,
  171. BassD4,
  172. BassDropA5,
  173. UkuleleStandard4
  174. };
  175. #endif //TUNINGS