Commit Graph

100 Commits

Author SHA1 Message Date
Scott Lawson
b31d9c60c8 Put gif above block diagram 2017-01-05 01:37:15 -08:00
Scott Lawson
a51fa3cc2c One block diagram instead of two 2017-01-05 01:33:45 -08:00
Scott Lawson
feb05f375f Updated README to reflect RPi support 2017-01-05 01:29:53 -08:00
Scott Lawson
c0ed75d298 Changed default IP to match ESP8266 firmware 2017-01-05 00:14:23 -08:00
Scott Lawson
75d8e8d9f7 Typo 2017-01-05 00:13:39 -08:00
Scott Lawson
32cea53ea1 Fixed typo 2017-01-05 00:13:14 -08:00
Scott Lawson
9837fec3b9 Added more information about device setting in config.py 2017-01-05 00:12:28 -08:00
Scott Lawson
40dd5fa42f Merge remote-tracking branch 'refs/remotes/origin/master' into raspberry-pi-support 2017-01-04 23:21:28 -08:00
Scott Lawson
0f29d7c614 Minor PEP8 formatting change 2017-01-04 23:21:09 -08:00
Scott Lawson
565aada7af Increased temporal dithering amount in ESP8266 firmware 2017-01-04 22:12:32 -08:00
Scott Lawson
0e73fd1348 Improved GUI, fixed bugs, better visualizations
* Resolved an issue with the ESP8266 where gamma correction would be
performed twice. Changed GAMMA_CORRECTION to SOFTWARE_GAMMA_CORRECTION
to make a distinction between software and firmware gamma correction.
The ESP8266 does firmware gamma correction and dithering, while the
Raspberry Pi uses slightly more inferior software gamma correction.
Changed the software gamma table to match the gamma table used in the
ESP8266 firmware.

* Improved the spectrum visualization by using one of the color channels
to visualize the absolute value of the temporal derivative of the
spectrum. Also added a feature to reject the "common mode" spectral
components, which is analogous to the spectral DC component.

* Signficantly improved the GUI and added a frequency adjustment slider.
Adjusting the frequency range has a big impact on the visualization
output. Recommend using a high frequency range (something like 4 kHz -
10 kHz) when running the scrol visualization.
2017-01-04 22:12:12 -08:00
Scott Lawson
b703e998c1 Added link to issues page 2017-01-04 14:21:25 -08:00
Scott Lawson
af2f689f4a Added image of visualization GUI to the README 2017-01-04 14:20:32 -08:00
Scott Lawson
1bce7ac3a9 Added image of the visualization GUI 2017-01-04 14:19:41 -08:00
Scott Lawson
38e9c7929a Fixed error in Feather HUZZAH pin diagram 2017-01-04 14:14:42 -08:00
Scott Lawson
82c52bdc54 Added Raspberry Pi installation instructions to README 2017-01-03 19:33:19 -08:00
Scott Lawson
47aa7bfcdd Added a slider for contrast adjustment
Added a slider and variables for adjusting the contrast of the
visualization.
2017-01-03 19:16:45 -08:00
Scott Lawson
e3ebe167e8 PEP8 formatting 2017-01-03 16:48:18 -08:00
Scott Lawson
5c5300ba7f Minor PEP8 formatting changes 2017-01-03 16:46:19 -08:00
Scott Lawson
68c2a66fa6 Replaced instance of 'long' type with 'int' for python 2 to 3 compatibility 2017-01-03 16:35:43 -08:00
Scott Lawson
b10a7d0396 Added experimental support for Raspberry Pi devices
This commit adds support for the Raspberry Pi, which allows users to
create a completely standalone music visualization system. The Raspberry
Pi should be connected directly to a ws2812b LED strip. A PWM-capable
GPIO pin should be connected to the data line of the LED strip. A USB
audio input device should be connected to one of the Raspberry Pi's USB
ports.

It is recommended that the GUI and FPS output be disabled when running
the visualization on the Raspberry Pi. These features can degrade
performance on the already computationally limited Raspberry Pi.
2017-01-03 16:33:28 -08:00
Scott Lawson
4b6f9a807b Fixed bug where some FPS values raised exceptions
Fixed a bug where certain config.FPS values would result in arrays with
mismatched dimensions. The mismatched dimensions occurred because an
integer was rounded instead of truncated. This is now fixed and
exceptions should no longer be raised when certain FPS values are used.
2017-01-03 16:09:39 -08:00
Scott Lawson
46b404120f Fixed bug where ComboBox didn't match current effect
Fixed a bug where the GUI ComboBox value would sometimes not match the
effect being displayed. This bug sometimes occurs when the GUI is first
initialized. This change now ensures that the ComboBox value is
correctly initialized.
2017-01-01 13:12:38 -07:00
Scott Lawson
c725d395be Added ComboBox to GUI for effect selection
Added a ComboBox to the GUI to allow the user to change the
visualization effect without having to restart Python. The user can now
select from one of the following visualizations using the GUI: 'Scroll
effect', 'Spectrum effect', 'Energy effect'
2017-01-01 12:14:31 -07:00
Scott Lawson
0f5c05339c Fixed a byte encoding error that occurred in Python 3
Fixed an error that caused strange byte encoding in Python 3. This error
was caused by a mistake in porting code from Python 2.7 to Python 3 and
would cause strange LED flickering behaviour. The LED update code should
now work properly in Python 2.7 and Python 3.
2016-12-31 11:06:09 -07:00
Scott Lawson
3504d0b9c0 Fixed typo from 255 to 256 2016-12-30 22:47:06 -07:00
Scott Lawson
f860922d67 Removed ws2812b i2s library dependency, updated README
I have added a pre-configured version of the ws2812b i2s library to the
Arduino code. This removes the need to download and install the ws2812b
i2s library manually. The ws2812b code has been preconfigured to reduce
the temporal compared to the default value. The default value was found
to cause excessive flickering. The readme has been updated to reflect
this change. Also added a note about the maximum number of LEDs (255)
2016-12-30 22:31:27 -07:00
Scott Lawson
3241e43435 Fixed a typo where multiple effects were uncommented 2016-12-30 22:19:46 -07:00
Scott Lawson
27a0448203 Added LED strand test to LED.py
Added a test routine to led.py to do a simple LED strand test. The
strand test scrolls a red, green, and blue pixel across the LED strip
forever.
2016-12-30 22:18:56 -07:00
Scott Lawson
e874ed3b2c Resolved issues with Python 3.5 compatibility
Fixed some bugs that occurred in Python 3.5 but were not present in
Python 2.7. Most compatiblity issues were caused by incompatible type
casting of numpy arrays.
2016-12-29 15:51:38 -07:00
Scott Lawson
da338ae8f4 Clarified project license in README 2016-12-27 22:01:29 -07:00
Scott Lawson
c2c727d959 Released project under MIT license 2016-12-27 22:00:41 -07:00
Scott Lawson
e76619d002 Added approximate price information to README 2016-12-27 21:52:56 -07:00
Scott Lawson
55c88deb06 Clarified minor hardware connections point in README 2016-12-27 21:47:37 -07:00
Scott Lawson
1f17f3584d Added more information about hardware connections to the README 2016-12-27 21:37:36 -07:00
Scott Lawson
f34b0e49fa Added more setup information to README 2016-12-27 21:34:09 -07:00
Scott Lawson
97e54b64d2 Added setup and configuration instructions to the README 2016-12-27 21:30:51 -07:00
Scott Lawson
7b3f95af18 Improved documentation for IP configuration 2016-12-27 21:09:10 -07:00
Scott Lawson
d57165ee91 Added hardware connection information 2016-12-27 20:40:14 -07:00
Scott Lawson
eb2e4fdf49 Added 2 images of ESP866 pinouts 2016-12-27 20:17:17 -07:00
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