Scott Lawson
1008a65da2
Added more information for setting up the Arduino IDE
2016-12-27 18:28:03 -07:00
Scott Lawson
072fcf528a
Improved information about installing dependencies
2016-12-27 18:18:01 -07:00
Scott Lawson
9416c8c061
Moved images to separate folder to reduce clutter
2016-12-27 17:29:10 -07:00
Scott Lawson
e09578da1d
Updated dsp.py and led.py to be Python 3.5 compatible
2016-12-27 03:06:57 -07:00
Scott Lawson
f4a3a39b58
Fixed formatting error in README. Added disclaimer
2016-12-27 02:29:27 -07:00
Scott Lawson
cd767521ac
Fixed typo in readme
2016-12-27 02:27:40 -07:00
Scott Lawson
e454aa93f7
Greatly expanded the README with project information
2016-12-27 02:27:07 -07:00
Scott Lawson
43c6af1adc
Updated README with overview information
2016-12-27 01:36:06 -07:00
Scott Lawson
63f0a74af1
Updated README with overview information
2016-12-27 01:35:56 -07:00
Scott Lawson
d9677a4f8e
Renamed mel_visualization.py to visualization.py
2016-12-27 01:31:50 -07:00
Scott Lawson
ade61f41e8
Removed completely inaccurate information from README
2016-12-27 01:12:05 -07:00
Scott Lawson
94eb789bf4
Added demo gif of scroll effect
2016-12-27 01:11:17 -07:00
Scott Lawson
cb87a01e34
Added gif to demonstrate LED visualization effect
2016-12-27 00:58:29 -07:00
Scott Lawson
8d6671bf97
Added block diagram image to top of README
2016-12-26 23:59:13 -07:00
Scott Lawson
7522bc2110
Added a cropped description gif to better match README formatting
2016-12-26 23:58:29 -07:00
Scott Lawson
d9921263c3
Added block diagram to explain the purpose of this repository
2016-12-26 23:21:44 -07:00
Scott Lawson
a465976d1a
Fixed minor markdown formatting issue with readme
2016-12-26 18:00:09 -07:00
Scott Lawson
1388b33239
Added a smaller description gif that doesn't take up as much space
2016-12-26 17:59:08 -07:00
Scott Lawson
21425f9e40
Update README.md
2016-12-26 17:50:12 -07:00
Scott Lawson
bc278d9a65
Fixed issue where gif did not loop forever
2016-12-25 19:32:11 -07:00
Scott Lawson
03310f350a
Added description gif to README
2016-12-25 19:30:36 -07:00
Scott Lawson
f225b160e4
Added description gif to demonstrate project capabilities
2016-12-25 19:19:45 -07:00
Scott Lawson
7efceb4592
Create README.md
2016-12-25 00:52:54 -07:00
Scott Lawson
6f98d31096
Removed function that is no longer needed
2016-12-24 22:54:43 -07:00
Scott Lawson
b6551e04a2
Very minor PEP8 formatting changes
2016-12-24 22:54:06 -07:00
Scott Lawson
e677742584
Added a status indicator LED that blinks when command is received
2016-12-24 20:37:43 -07:00
Scott Lawson
2a87d040a7
Added several new visualizations
2016-11-21 20:11:45 -08:00
Scott Lawson
4dcf3e9a49
Minor pep8 formatting changes
2016-11-21 20:11:31 -08:00
Scott Lawson
1e630f2151
Removed two DSP functions that are no longer needed
2016-11-21 20:11:16 -08:00
Scott Lawson
e3a810db09
Updated documentation for configuration settings
2016-11-21 20:08:35 -08:00
Scott Lawson
51eda2f0ba
Made noticeable improvements to performance
2016-11-13 01:11:15 -08:00
Scott Lawson
9bdc8f8cb9
Changed pixels from row vectors to column vectors to improve performance
2016-11-13 01:10:44 -08:00
Scott Lawson
e8b8a09047
Removed useless comments from melbank.py
2016-11-13 01:10:07 -08:00
Scott Lawson
b65989c8f1
Removed some dsp module functions that are never called
2016-11-13 01:09:47 -08:00
Scott Lawson
2bad2cd4d4
Deleted sandbox.py and visualize.py
2016-11-13 01:09:14 -08:00
Scott Lawson
ff6d7719af
Removed obsolete gamma table and updated config file to match
2016-11-13 01:08:51 -08:00
Scott Lawson
cdc4c2976c
Mel visualization is now globally normalized instead of individually normalized.
...
Also added realtime adaptive brightness correction to avoid having the
LED strip under or over saturated
2016-11-11 15:52:57 -08:00
Scott Lawson
627f67d3dd
Added ability to change mel filterbank at runtime
2016-11-11 15:52:00 -08:00
Scott Lawson
7aa12f17ed
LED optimization using gamma correction
2016-11-11 15:51:41 -08:00
Scott Lawson
ffbec2901f
Added new visualization module that uses a mel filterbank instead of onset detection
...
The Mel filterbank visualization is relatively simple but produces
visualizations that are quite nice. Run this file to view the mel
filterbank visualization
2016-11-07 17:45:52 -08:00
Scott Lawson
83453ed436
Refactored led module and fixed a gamma table bug
2016-11-07 17:44:23 -08:00
Scott Lawson
ea8b381c8a
Added gui.py module for handling pyqtgraph plots
2016-11-07 17:43:47 -08:00
Scott Lawson
81190a7f4c
Added a new gamma table that seems to work better
2016-11-07 17:43:31 -08:00
Scott Lawson
404a216272
Updated visualize.py to reflect changes in DSP module
2016-11-07 17:43:12 -08:00
Scott Lawson
cb34b6353d
Significantly changed and improved sandbox.py visualizations
...
Note: All code in sandbox.py is temporary and used for experimenting
with different visualizations.
2016-11-07 17:42:50 -08:00
Scott Lawson
65d35c2724
dsp module now creates a mel filterbank
...
Mel filterbank generated based on settings in config.py. Other small
pep8 formatting changes. Renamed ExponentialFilter to ExpFilter.
2016-11-07 17:41:26 -08:00
Scott Lawson
696d684c79
Added melbank.py module for generating Mel filterbanks
2016-11-07 17:40:18 -08:00
Scott Lawson
262206d359
Major changes to onset detection and visualization
...
Changes to config.py:
> Increased STFT rolling window size
> Added configurable options for setting the max and min FFT frequency
Changes to dsp.py:
> Significantly improved the normalized weighted phase deviation code.
This noticeably improves the onset detection accuracy.
> Logarithmic partitioning of the FFT bins now happens after onset
detection instead of before onset detection. This improves onset
detection accuracy at the expense of CPU time.
> Fixed a bug in the log_partition function which would sometimes cause
out of bounds errors
> Refactored and removed some functions that aren't needed anymore
Changes to sandbox.py:
> Sweeping changes to the visualization functions. The onset detection
functions are now combined after applying Gaussian blur to each onset
function individually. This improves the overall agreement between the
onset functions.
> Hyperbolic tan function is used to map saturated pixels to the range
[0, 1]
> Added a new rainbow generation function with more options than the old
one.
> Refactored most of the led update functions.
> The LED brightness is now being plotted instead of onsets
2016-10-24 16:42:03 -07:00
Scott Lawson
a38a8e1680
Refactored all of the led_update_X functions
...
Led update functions no longer return a colorized array. Colorizing is
now done in led_visualization. It makes more sense for the led_update_X
functions to return 1D brightness arrays and then to apply color
afterwards. This should also improve performance somewhat. Also added a
new function leak_saturated_pixels() which allows saturated colors (>255
value) to leak into the adjacent color channels
2016-10-23 16:46:52 -07:00
Scott Lawson
9e615e0f35
Added a lowpass filter to pixel output
2016-10-23 15:39:18 -07:00