summaryrefslogtreecommitdiff
path: root/src/transforms.rs
AgeCommit message (Collapse)Author
2017-12-26Refactored to use more extensive typingJustin Worthe
2017-12-26Updated GTK version and fixed linting issues from ClippyJustin Worthe
2017-11-05Set up web interface to mimic GTK interfaceJustin Worthe
2017-11-03Added a connection to the microphone through the web, calling into RustJustin Worthe
2017-10-15Added emscripten calls for hz interpretationJustin Worthe
This also uncovered a weird compilation issue. Emscripten did NOT like me using the remainder operator with a floating point number.
2017-10-15Moved emscripten APIs to their own module and added stubs for other methodsJustin Worthe
2017-09-24Emscripten endpoint for finding fundamental frequencyJustin Worthe
IT'S ALIVE!
2017-09-24Cleaned up transforms apiJustin Worthe
- made things that didn't need to be public hidden - renamed find fundamental function to remove correlation (there isn't an alternative anymore)
2017-09-10Merge branch 'master' of github.com:JWorthe/rusty_microphoneJustin Worthe
2017-09-10Removed unnecessary rounding of errorJustin Worthe
2017-08-12Fixed potential index out of bounds errorJustin Worthe
2017-08-02Updated sharp/flat characters to use correct unicodeJustin Worthe
2017-07-22Fixed incorrect type inferrence to a vector rather than a sliceJustin Worthe
2017-07-21Made changes suggested by ClippyJustin Worthe
2017-07-11Updated silence level and made no pitch's error show a 'perfect' pitch ↵Justin Worthe
background
2017-07-08Refactoring of code to be more functionalJustin Worthe
If tests break on travis after this, it's because I reenabled some portaudio tests. I'm not sure if travis actually has sound available on their build servers.
2017-07-04Removed bad unwrapsJustin Worthe
2017-07-03Updated tests to match new label formatJustin Worthe
2017-07-03Removed FFT chartJustin Worthe
I was only using the correlation anyway, so this simplifies a bit
2017-07-03Added silence and noise detectionJustin Worthe
Also updated GUI to present note and error in a friendlier way
2017-06-27Added binary search to refine fundamental frequency search on the correlationJustin Worthe
It first finds the max peak. Then, to increase the resolution, it works out how that peak lines up with the other peaks and nudges it a bit up or down.
2017-06-26Added function for linear interpolationJustin Worthe
2017-04-18Added basic oscilloscope functionality to watch the waveformJustin Worthe
The triggering algorithm isn't great at the moment. Seems the interesting signals end up crossing zero a few times. I need to take things like maxima into account as well. I'm also running out of vertical space. I need to start making the GUI a bit smarter, and allow turning some of these graphs on/off at runtime.
2017-03-25Added a graphical indication of the pith's sharpness or flatnessJustin Worthe
I'm not 100% happy with the precision of the correlation function at this point. I'm hoping that with a bit more work, I can get it to be more precise, and then the indicator will be more meaningful.
2017-01-17Added drawing area for correlation, but hid all graphsJustin Worthe
The current method of sending all that data with channels turns out to be terrible for performance. On the other hand, I need to get the data to the GTK main thread if I want to do anything with it. So I have a conundrum.
2017-01-17It's alive!Justin Worthe
Implemented passable frequency detection using auto-correlation. It's still a bit finicky, and not super accurate. It could probably be made more accurate by doing interpolation after choosing an appropriate peak to find the maximum point more accurately. The correlation itself does also oscillates uniformly after all.
2017-01-12Simplified failing test so it would passJustin Worthe
It wasn't failing because of some small error, the whole way I find the fundamental needs to be rethought, probably to use correlation instead of an FFT.
2016-11-26Updated name of crate everywhereJustin Worthe
2016-11-12Better pitch formattingJustin Worthe
2016-11-06Hooked up printing FFT result to screenJustin Worthe
It's wrong, but it's showing it on the GUI. I'm calling it a win.
2016-09-25GUI, lists PA devices, backend can watch audio streamJustin Worthe