Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tuning issues #491

Open
daveriedstra opened this issue Nov 5, 2023 · 2 comments
Open

tuning issues #491

daveriedstra opened this issue Nov 5, 2023 · 2 comments

Comments

@daveriedstra
Copy link

I was getting my feet wet with crow's frequency tracking and oscillating capabilities and noticed that they're both slightly out of tune. For instance, if I oscillate output[4] at 440Hz, my tuner shows it as about 50c flat. If I then take that output, patch it into input[1], and track its frequency, crow reports roughly 449Hz. (Interestingly, these deviations roughly cancel out, eg, I can use crow to oscillate at a frequency that it tracks from input[1] and it will be pretty close.)

Possibly related to #473

@trentgill
Copy link
Collaborator

i think this is somewhat expected due to the inaccuracy of the internal crystal that crow clocks based on. we don't have a low-speed clock on the circuit board, so we'll always have +/-3% range to deal with.

this offset shouldn't drift, so we could null it out relatively easily. would require an extra calibration step where you feed a precise frequency oscillation to input[1] and measure the difference.

as you note, the input & output should cancel each other out. this is because the output oscillation are affected in exactly the same way. so.. at least it's internally consistent?

@daveriedstra
Copy link
Author

Gotcha, thanks for explaining! I never thought through the fact that clock requirements would be different for a microcontroller and a tuner.

I think tuning crow is completely reasonable, especially if it can be done once during a calibration routine. Players can use the pitch pipe output from a tuner or metronome (through some input module, probably) as the pitch reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants