Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-02-03 | Renamed wasm interface file to reflect that it isn't just emscripten anymore | Justin Worthe | |
2018-02-02 | Fixed weird isizes that should have been usizes | Justin Worthe | |
Really, why were those there? I seem to remember them breaking an example at some point, but it doesn't seem to anymore. Maybe it was an emscripten thing? | |||
2017-12-28 | Updated WASM build to use the new wasm32-unknown-unknown target | Justin Worthe | |
It's only in the nightly compiler at the moment. | |||
2017-12-26 | Refactored to use more extensive typing | Justin Worthe | |
2017-12-26 | Updated GTK version and fixed linting issues from Clippy | Justin Worthe | |
2017-12-26 | Moved overall model updating logic out of the GUI layer | Justin Worthe | |
This will be useful eventually for sharing a bit more overall application logic with the wasm build. | |||
2017-11-05 | Set up web interface to mimic GTK interface | Justin Worthe | |
2017-11-03 | Added a connection to the microphone through the web, calling into Rust | Justin Worthe | |
2017-10-16 | Added correlation function which updated array in place | Justin Worthe | |
2017-10-15 | Added emscripten calls for hz interpretation | Justin Worthe | |
This also uncovered a weird compilation issue. Emscripten did NOT like me using the remainder operator with a floating point number. | |||
2017-10-15 | Moved emscripten APIs to their own module and added stubs for other methods | Justin Worthe | |
2017-09-24 | Emscripten endpoint for finding fundamental frequency | Justin Worthe | |
IT'S ALIVE! | |||
2017-09-24 | Cleaned up transforms api | Justin 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-10 | Merge branch 'master' of github.com:JWorthe/rusty_microphone | Justin Worthe | |
2017-09-10 | Removed unnecessary rounding of error | Justin Worthe | |
2017-09-10 | Added compile flags to disable anything that shouldn't end in a wasm build | Justin Worthe | |
- No GTK - No Portaudio | |||
2017-08-12 | Fixed potential index out of bounds error | Justin Worthe | |
2017-08-02 | Readded frame skipping | Justin 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-02 | Updated sharp/flat characters to use correct unicode | Justin Worthe | |
2017-08-02 | Removed unnecessary comment | Justin Worthe | |
2017-07-22 | Fixed incorrect type inferrence to a vector rather than a slice | Justin Worthe | |
2017-07-21 | Made changes suggested by Clippy | Justin Worthe | |
2017-07-15 | Decreased window size and increased framerate | Justin 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-12 | Simplified loop for doing calculations from microphone samples | Justin 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-11 | Updated silence level and made no pitch's error show a 'perfect' pitch ↵ | Justin Worthe | |
background | |||
2017-07-08 | Ignored audio device unit tests because Travis doesn't have audio devices | Justin Worthe | |
2017-07-08 | Refactoring of code to be more functional | Justin 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-05 | Started listening on default microphone on startup | Justin Worthe | |
2017-07-04 | Removed bad unwraps | Justin Worthe | |
2017-07-03 | Hid correlation chart by default | Justin Worthe | |
2017-07-03 | Updated tests to match new label format | Justin Worthe | |
2017-07-03 | Removed FFT chart | Justin Worthe | |
I was only using the correlation anyway, so this simplifies a bit | |||
2017-07-03 | Added silence and noise detection | Justin Worthe | |
Also updated GUI to present note and error in a friendlier way | |||
2017-06-27 | Added binary search to refine fundamental frequency search on the correlation | Justin 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-26 | Added function for linear interpolation | Justin Worthe | |
2017-06-26 | Increased number of samples | Justin Worthe | |
2017-06-25 | Added fundamental frequency to correlation graph and fixed zeroing of it | Justin Worthe | |
2017-04-19 | Added basic buttons to toggle chart visibility | Justin 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-18 | Added basic oscilloscope functionality to watch the waveform | Justin 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-25 | Added a graphical indication of the pith's sharpness or flatness | Justin 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-16 | Worked to improve performance of debug graphs | Justin Worthe | |
- Moved from channels to shared state - Allowed audio frame skipping | |||
2017-01-17 | Added drawing area for correlation, but hid all graphs | Justin 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-17 | It'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-14 | Added graph drawing of FFT | Justin Worthe | |
2017-01-12 | Simplified failing test so it would pass | Justin 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. | |||
2017-01-12 | Started refactoring gui creation to include drawing area | Justin Worthe | |
The drawing area will eventually be used for a debugging graph of the frequency spectrum. | |||
2016-11-26 | Updated name of crate everywhere | Justin Worthe | |
2016-11-12 | Better pitch formatting | Justin Worthe | |
2016-11-06 | Hooked up printing FFT result to screen | Justin Worthe | |
It's wrong, but it's showing it on the GUI. I'm calling it a win. | |||
2016-11-05 | Reordered passing in channels | Justin Worthe | |