tunings.h 4.1 KB

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