Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
9 anos atrás
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <p align="center">
  2. <b>Guitar and Bass Tuner Library</b><br>
  3. <b>Teensy 3.1 v2.0</b><br>
  4. </p>
  5. <img src="http://www.sciweavers.org/tex2img.php?eq=%20%5Ctau%20&bc=White&fc=Black&im=png&fs=12&ff=arev&edit=0" align="center" border="0" alt=" \tau " width="15" height="11" />
  6. >Software algorithm ([YIN]) for guitar and bass tuning using a Teensy Audio Library. This audio object's algorithm can be some what memory and processor hungry but will allow you to detect with fairly good accuracy the fundamental frequencies f<sub>o</sub> from electric guitars and basses.
  7. >>You can install this as a normal Arduino Library and will work with the Audio Library, no need to edit the Audio libraries source now.
  8. <!-- language: lang-none -->
  9. Hookup Guide - 1.2v DC Bias and High Pass Filter - No Amplification
  10. *--------------------------------------------------*
  11. | |
  12. | | ' | |
  13. *------------/\/\/\-------------* |' '| |
  14. | 47K | _|_'_|_ |
  15. | | |` ` ` `| |
  16. *---)|+--* | | ` ` ` | |
  17. | 10uF | | |` ` ` `| |
  18. TEENSY 3.1 | | | | ` ` ` | |
  19. _______________ *-/\/\/\-* | |` ` ` `| |
  20. |GND |_____| Vin| | 2.2K | | | ` ` ` | |
  21. |0 ---- AGND|<-* | | |` ` ` `| |
  22. |1 |````| 3.3V|>--/\/\/\--*--/\/\/\---* | | ` ` ` | |
  23. |2 |````| 23| 10K 47K | | |` ` ` `| |
  24. |3 ---- 22| | | | ` ` ` | |
  25. |4 |'| 21| | | \=====/ |
  26. |5 ------ 20| | | | :`| |
  27. |6 |::::::| 19| | REMOVE | | S`| |
  28. |7 |::::::| 18| | DC | | H`| |
  29. |8 |::::::| 17| | BIAS | | I`| |
  30. |9 ------A2/16|<---SIGNAL-1.2v-BIAS---*---+|(----* | E`|>--ANGD--*
  31. |10 --- 15| 1.2VDC 10uF | | L`|
  32. |11 |(`)| 14| | | D`|
  33. |12 --- 13| | | :`|
  34. --------------- | |===|
  35. | \_/
  36. | /T\
  37. | - I -
  38. *---<\ P /
  39. \_/
  40. >Many optimizations have been done to the [YIN] algorithm for frequencies between 29-360Hz.
  41. >>While its still using a brute force method ( n<sup>2</sup> ) for finding the fundamental frequency f<sub>o</sub>, it is tuned to skip certain <b>tau</b> values and focus mostly on frequencies found in the bass and guitar.
  42. >>>The input is double buffered so while you are processing one buffer it is filling the other to double throughput.
  43. >>>>There are a few parameters that can be adjusted to "dial in" the algorithm for better estimations. The defaults are what I found that have the best trade off for speed and accuracy.
  44. <h4>AudioTuner.h</h4>
  45. ```
  46. /****************************************************************/
  47. #define SAMPLE_RATE_DIVIDE_BY_1 1 // 44100 sample rate
  48. #define SAMPLE_RATE_DIVIDE_BY_2 2 // 22050 sample rate
  49. #define SAMPLE_RATE_DIVIDE_BY_4 4 // 11025 sample rate
  50. #define SAMPLE_RATE_DIVIDE_BY_8 8 // 5512.5 sample rate
  51. #define SAMPLE_RATE_DIVIDE_BY_16 16 // 2756.25 sample rate
  52. #define SAMPLE_RATE_DIVIDE_BY_32 32 // 1378.125 sample rate
  53. /****************************************************************
  54. * Safe to adjust these values below *
  55. ****************************************************************/
  56. // Adjust number of samples to collect in buffer here, also effects
  57. // convergence speed and resolution.
  58. #define NUM_SAMPLES 2048 // make a power of two
  59. // larger the divide-by, less resolution and lower the frequency for
  60. // a given number of samples that can be detected. Also effects
  61. // convergence speed.
  62. #define SAMPLE_SKIP SAMPLE_RATE_DIVIDE_BY_2
  63. /****************************************************************/
  64. ```
  65. ```
  66. SAMPLE_RATE_DIVIDE_BY_x --> This sets 'SAMPLE_SKIP' to pass on every (x) data point from the
  67. Audio Block being saved to the buffer, it determines the sample rate.
  68. ```
  69. ```
  70. NUM_SAMPLES --> This the size of each buffer, there two for double buffering.
  71. ```
  72. ```
  73. SAMPLE_SKIP --> This sets your sample window length and sampling rate. Sample Window Size is
  74. (NUM_SAMPLES * SAMPLE_SKIP) of the ~44100 samples every second. Sample Rate is
  75. (AUDIO_SAMPLE_RATE_EXACT / SAMPLE_SKIP).
  76. ```
  77. [YIN]:http://recherche.ircam.fr/equipes/pcm/cheveign/pss/2002_JASA_YIN.pdf