summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-16Added correlation function which updated array in placeJustin Worthe
2017-10-16Added 'brew update' to travisci macos build scriptJustin Worthe
There's currently an error in the build on installing the dependencies from homebrew. From the comments here https://github.com/Homebrew/brew/issues/3299, looks like this might solve it.
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-24Updated readme to include info a WASM buildJustin 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-18Updated readme to include upcoming features planJustin Worthe
2017-09-10Merge branch 'master' of github.com:JWorthe/rusty_microphoneJustin Worthe
2017-09-10Removed unnecessary rounding of errorJustin Worthe
2017-09-10Added compile flags to disable anything that shouldn't end in a wasm buildJustin Worthe
- No GTK - No Portaudio
2017-08-12Fixed potential index out of bounds errorJustin Worthe
2017-08-12Merge branch 'master' of github.com:JWorthe/rusty_microphoneJustin Worthe
2017-08-12Added missing requirement for Mac build processJustin Worthe
2017-08-02Readded frame skippingJustin Worthe
This was becoming an issue on debug builds on the laptop. Really, it's for the best to skip frames rather than getting stuck in a perpetual time delay.
2017-08-02Added installation needed for base Fedora installJustin Worthe
2017-08-02Made OSX travis build required and updated readme to reflect requirementsJustin Worthe
2017-08-02Added missing portaudio dependency to MacOS buildJustin Worthe
Looks like the portaudio automagical download and build only works on Linux :(
2017-08-02Updated sharp/flat characters to use correct unicodeJustin Worthe
2017-08-02Removed unnecessary commentJustin Worthe
2017-08-02Experimenting with adding OSX travis buildJustin 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-15Decreased window size and increased framerateJustin Worthe
The samller windows size has a few effects: 1. the frequency calculation will be less accurate, because less iterations of the binary search will be effective. 2. 'mixed signals', measures at the start or end of a note where half the signal is one thing and the other half is something else will have less impact, since they will be on the screen for less time. The higher frame rate also looks really nice.
2017-07-12Simplified loop for doing calculations from microphone samplesJustin Worthe
In the benchmarks, the correlation can be done in 0.5ms. I'm only expecting new samples from the microphone every 23ms at best. I don't need to worry about dropping frames at this point.
2017-07-12Added benchmark for finding fundamental with correlationJustin Worthe
2017-07-11Updated silence level and made no pitch's error show a 'perfect' pitch ↵Justin Worthe
background
2017-07-08Ignored audio device unit tests because Travis doesn't have audio devicesJustin Worthe
2017-07-08Attempt to enable dummy sound device on travisJustin Worthe
It's not clear online on if this will actually work or if it's disabled on Travis. It definitely was disabled in 2014, according to this issue https://github.com/travis-ci/travis-ci/issues/1754, but the comments at the bottom imply it may work now.
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-06Updated readme to indicate lack of Windows supportJustin Worthe
2017-07-05Started listening on default microphone on startupJustin Worthe
2017-07-04Removed bad unwrapsJustin Worthe
2017-07-03Hid correlation chart by defaultJustin Worthe
2017-07-03Added TravisCI badgeJustin Worthe
2017-07-03Updated tests to match new label formatJustin Worthe
2017-07-03Updated readmeJustin 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-06-26Increased number of samplesJustin Worthe
2017-06-25Added fundamental frequency to correlation graph and fixed zeroing of itJustin Worthe
2017-04-19Added basic buttons to toggle chart visibilityJustin Worthe
The main idea here is to be able to bring focus to specific charts. Also, I learned how to make one chart expand more.
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-02-21Added licenseJustin Worthe
2017-02-16Updated tasks in readme fileJustin Worthe
2017-02-16Worked to improve performance of debug graphsJustin Worthe
- Moved from channels to shared state - Allowed audio frame skipping
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.