tunings.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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",
  15. 6,
  16. {
  17. {"Common A4 (440)", 440.00f},
  18. {"Sarti's A4 (436)", 436.00f},
  19. {"1858 A4 (435)", 435.00f},
  20. {"Verdi's A4 (432)", 432.00f},
  21. {"1750-1820 A4 (423.5)", 423.50f},
  22. {"Verdi's C4 (256.00)", 256.00f},
  23. }};
  24. const TUNING ScientificPitch = {
  25. "Scientific pitch",
  26. 12,
  27. {{"C0 (16Hz)", 16.0f},
  28. {"C1 (32Hz)", 32.0f},
  29. {"C2 (64Hz)", 64.0f},
  30. {"C3 (128Hz)", 128.0f},
  31. {"C4 (256Hz)", 256.0f},
  32. {"C5 (512Hz)", 512.0f},
  33. {"C6 (1024Hz)", 1024.0f},
  34. {"C7 (2048Hz)", 2048.0f},
  35. {"C8 (4096Hz)", 4096.0f},
  36. {"C9 (8192Hz)", 8192.0f},
  37. {"C10 (16384Hz)", 16384.0f},
  38. {"C11 (32768Hz)", 32768.0f}}};
  39. const TUNING GuitarStandard6 = {
  40. "Guitar Standard 6",
  41. 6,
  42. {{"String 1", E4},
  43. {"String 2", B3},
  44. {"String 3", G3},
  45. {"String 4", D3},
  46. {"String 5", A2},
  47. {"String 6", E2}}};
  48. const TUNING GuitarDropD6 = {
  49. "Guitar Drop D 6",
  50. 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. const TUNING GuitarD6 = {
  58. "Guitar D 6",
  59. 6,
  60. {{"String 1", D4},
  61. {"String 2", A3},
  62. {"String 3", F3},
  63. {"String 4", C3},
  64. {"String 5", G2},
  65. {"String 6", D2}}};
  66. const TUNING GuitarDropC6 = {
  67. "Guitar Drop C 6",
  68. 6,
  69. {{"String 1", D4},
  70. {"String 2", A3},
  71. {"String 3", F3},
  72. {"String 4", C3},
  73. {"String 5", G2},
  74. {"String 6", C2}}};
  75. const TUNING GuitarStandard7 = {
  76. "Guitar Standard 7",
  77. 7,
  78. {{"String 1", E4},
  79. {"String 2", B3},
  80. {"String 3", G3},
  81. {"String 4", D3},
  82. {"String 5", A2},
  83. {"String 6", E2},
  84. {"String 7", B1}}};
  85. const TUNING BassStandard4 = {
  86. "Bass Standard 4",
  87. 4,
  88. {{"String 1", G2}, {"String 2", D2}, {"String 3", A1}, {"String 4", E1}}};
  89. const TUNING BassStandardTenor4 = {
  90. "Bass Stand Tenor 4",
  91. 4,
  92. {{"String 1", C3}, {"String 2", G2}, {"String 3", D2}, {"String 4", A1}}};
  93. const TUNING BassStandard5 = {
  94. "Bass Standard 5",
  95. 5,
  96. {{"String 1", G2}, {"String 2", D2}, {"String 3", A1}, {"String 4", E1}, {"String 5", B0}}};
  97. const TUNING BassStandardTenor5 = {
  98. "Bass Stand Tenor 5",
  99. 5,
  100. {{"String 1", C3}, {"String 2", G2}, {"String 3", D2}, {"String 4", A1}, {"String 5", E1}}};
  101. const TUNING BassDropD4 = {
  102. "Bass Drop D 4",
  103. 4,
  104. {{"String 1", G2}, {"String 2", D2}, {"String 3", A1}, {"String 4", D1}}};
  105. const TUNING BassD4 = {
  106. "Bass D 4",
  107. 4,
  108. {{"String 1", F2}, {"String 2", C2}, {"String 3", G1}, {"String 4", D1}}};
  109. const TUNING BassDropA5 = {
  110. "Bass Drop A 5",
  111. 5,
  112. {{"String 1", G2}, {"String 2", D2}, {"String 3", A1}, {"String 4", E1}, {"String 5", A0}}};
  113. const TUNING UkuleleStandard4 = {
  114. "Ukulele Standard 4",
  115. 4,
  116. {{"String 1", A4}, {"String 2", E4}, {"String 3", C4}, {"String 4", G4}}};
  117. #define TUNINGS_COUNT 15
  118. TUNING TuningList[TUNINGS_COUNT] = {
  119. ScientificPitch,
  120. TuningForks,
  121. GuitarStandard6,
  122. GuitarDropD6,
  123. GuitarD6,
  124. GuitarDropC6,
  125. GuitarStandard7,
  126. BassStandard4,
  127. BassStandardTenor4,
  128. BassStandard5,
  129. BassStandardTenor5,
  130. BassDropD4,
  131. BassD4,
  132. BassDropA5,
  133. UkuleleStandard4};
  134. #endif //TUNINGS