浏览代码

update

main
duff2013 9 年前
父节点
当前提交
431d5e4ba2
共有 1 个文件被更改,包括 29 次插入20 次删除
  1. +29
    -20
      README.md

+ 29
- 20
README.md 查看文件

@@ -1,7 +1,12 @@
#Guitar and Bass Tuner Library
#Teensy 3.1 v2.0
<p align="center">
<b>Guitar and Bass Tuner Library</b><br>
<b>Teensy 3.1 v2.0</b><br>
</p>

>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 from electric guitars and basses. 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.
<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" />

>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.
>>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.

<!-- language: lang-none -->
Hookup Guide - 1.2v DC Bias and High Pass Filter - No Amplification
@@ -14,21 +19,21 @@
| | |` ` ` `| |
*---)|+--* | | ` ` ` | |
| 10uF | | |` ` ` `| |
| | | | ` ` ` | |
TEENSY 3.1 | | | | ` ` ` | |
_______________ *-/\/\/\-* | |` ` ` `| |
|GND |___| Vin| | 2.2K | | | ` ` ` | |
|0 T AGND|<-* | | |` ` ` `| |
|1 E 3.3V|>--/\/\/\--*--/\/\/\---* | | ` ` ` | |
|2 E 23| 10K 47K | | |` ` ` `| |
|3 N 22| | | | ` ` ` | |
|4 S 21| | | \_`_`_/ |
|5 Y 20| | | | :`| |
|6 3.1 19| | | | S`| |
|7 18| | REMOVE | | H`| |
|8 17| | DC | | I`| |
|9 A2/16|<---SIGNAL-1.2v-BIAS---*---+|(----* | E`|>--ANGD--*
|10 --- 15| 1.2V 10uF | | L`|
|11 |(`)| 14| DC | | D`|
|GND |_____| Vin| | 2.2K | | | ` ` ` | |
|0 ---- AGND|<-* | | |` ` ` `| |
|1 |````| 3.3V|>--/\/\/\--*--/\/\/\---* | | ` ` ` | |
|2 |````| 23| 10K 47K | | |` ` ` `| |
|3 ---- 22| | | | ` ` ` | |
|4 |'| 21| | | \=====/ |
|5 ------ 20| | | | :`| |
|6 |::::::| 19| | REMOVE | | S`| |
|7 |::::::| 18| | DC | | H`| |
|8 |::::::| 17| | BIAS | | I`| |
|9 ------A2/16|<---SIGNAL-1.2v-BIAS---*---+|(----* | E`|>--ANGD--*
|10 --- 15| 1.2VDC 10uF | | L`|
|11 |(`)| 14| | | D`|
|12 --- 13| | | :`|
--------------- | |===|
| \_/
@@ -37,7 +42,11 @@
*---<\ P /
\_/

>Many optimizations have been done to the [YIN] algorithm for frequencies between 29-360Hz. While its still using a brute force method ( n<sup>2</sup> ) for finding fundamental frequency f(o) it is tuned to skip <b>tau</b> values that are out of its frequency range and focus mostly on frequencies found in the bass and guitar. The input is double buffered so while you are processing one buffer it is filling the other to double throuput. 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.
>Many optimizations have been done to the [YIN] algorithm for frequencies between 29-360Hz.
>>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.
>>>The input is double buffered so while you are processing one buffer it is filling the other to double throughput.
>>>>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.

<h4>AudioTuner.h</h4>

```
@@ -63,7 +72,7 @@
```

```
SAMPLE_RATE_DIVIDE_BY_x --> This sets 'SAMPLE_SKIP' to pass on every (x) data piont from the
SAMPLE_RATE_DIVIDE_BY_x --> This sets 'SAMPLE_SKIP' to pass on every (x) data point from the
Audio Block being saved to the buffer, it determines the sample rate.
```

@@ -71,7 +80,7 @@ Audio Block being saved to the buffer, it determines the sample rate.
NUM_SAMPLES --> This the size of each buffer, there two for double buffering.
```
```
SAMPLE_SKIP --> This sets your sample window lenght and sampling rate. Sample Window Size is
SAMPLE_SKIP --> This sets your sample window length and sampling rate. Sample Window Size is
(NUM_SAMPLES * SAMPLE_SKIP) of the ~44100 samples every second. Sample Rate is
(AUDIO_SAMPLE_RATE_EXACT / SAMPLE_SKIP).
```

正在加载...
取消
保存