Chromatic Sound to Light Conversion System (forked from https://github.com/cnlohr/colorchord)
Find a file
2015-07-20 22:01:14 -04:00
embedded8266 update DMX for recording 2015-06-29 20:50:06 -04:00
embeddedcommon Make it possible to change the key of ColorChord on ColorChord Embedded applications. 2015-07-20 22:01:14 -04:00
embeddedlinux rearrange files some a few cleanups, too. 2015-04-04 22:16:55 -04:00
embeddedstm32f407 Make it possible to change the key of ColorChord on ColorChord Embedded applications. 2015-07-20 22:01:14 -04:00
chash.c add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
chash.h add a bunch of files 2015-01-06 22:51:39 -05:00
color.c add a bunch of files 2015-01-06 22:51:39 -05:00
color.h add a bunch of files 2015-01-06 22:51:39 -05:00
decompose.c add a bunch of files 2015-01-06 22:51:39 -05:00
decompose.h add a bunch of files 2015-01-06 22:51:39 -05:00
default.conf update two files from merge 2015-06-26 16:59:44 -04:00
dft.c Move the embedded stuff into architecture-specific folders 2015-04-03 14:10:25 -04:00
dft.h Move the embedded stuff into architecture-specific folders 2015-04-03 14:10:25 -04:00
DisplayArray.c add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
DisplayDMX.c add DisplayDMX + End the DMX thing to make it be more orthogonal 2015-01-24 20:40:48 -05:00
DisplayNetwork.c add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
DisplayOUTDriver.c allow cascading files to be loaded, fix the filter. Improve stability of output linear. Change a bunch of IIR settings. 2015-01-10 01:44:13 -05:00
DisplayPie.c add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
DisplayUSB2812.c add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
dmx.conf Fix DMX plus actually stop recording add "White" function 2015-06-29 22:17:31 -04:00
DrawFunctions.c add a bunch of files 2015-01-06 22:51:39 -05:00
DrawFunctions.h add a bunch of files 2015-01-06 22:51:39 -05:00
filter.c allow cascading files to be loaded, fix the filter. Improve stability of output linear. Change a bunch of IIR settings. 2015-01-10 01:44:13 -05:00
filter.h allow cascading files to be loaded, fix the filter. Improve stability of output linear. Change a bunch of IIR settings. 2015-01-10 01:44:13 -05:00
hook.c update from Merge 2015-06-26 17:00:04 -04:00
hook.h add recording, etc. hooks. 2015-06-26 15:37:58 -04:00
integerprog.conf integer-based DFTs are working. 2015-02-11 01:10:16 -05:00
LICENSE remove third clause 2015-02-17 09:24:11 -05:00
linearpie.conf update DMX for recording 2015-06-29 20:50:06 -04:00
main.c Fix DMX plus actually stop recording add "White" function 2015-06-29 22:17:31 -04:00
Makefile update two files from merge 2015-06-26 16:59:44 -04:00
netlight.conf integer-based DFTs are working. 2015-02-11 01:10:16 -05:00
notefinder.c Move the embedded stuff into architecture-specific folders 2015-04-03 14:10:25 -04:00
notefinder.h integer-based DFTs are working. 2015-02-11 01:10:16 -05:00
os_generic.c add a bunch of files 2015-01-06 22:51:39 -05:00
os_generic.h add a bunch of files 2015-01-06 22:51:39 -05:00
outdrivers.c update from Merge 2015-06-26 17:00:04 -04:00
outdrivers.h update from Merge 2015-06-26 17:00:04 -04:00
OutputLinear.c The starts of Embedded ColorChord 2015-04-01 00:21:01 -04:00
OutputProminent.c The starts of Embedded ColorChord 2015-04-01 00:21:01 -04:00
OutputVoronoi.c add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
parameters.c add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
parameters.h add all the updated changes to the 2812 driver and usb drivers 2015-01-17 17:39:49 -05:00
quickwash.conf The starts of Embedded ColorChord 2015-04-01 00:21:01 -04:00
README.md Add a lot of documentation, etc. for ColorChord Embedded. 2015-04-04 21:19:46 -04:00
RecorderPlugin.c Fix DMX plus actually stop recording add "White" function 2015-06-29 22:17:31 -04:00
recordtest.conf update two files from merge 2015-06-26 16:59:44 -04:00
sort.c add a bunch of files 2015-01-06 22:51:39 -05:00
sort.h add a bunch of files 2015-01-06 22:51:39 -05:00
sound.c add a bunch of files 2015-01-06 22:51:39 -05:00
sound.h add a bunch of files 2015-01-06 22:51:39 -05:00
sound_alsa.c add a bunch of files 2015-01-06 22:51:39 -05:00
sound_null.c add a bunch of files 2015-01-06 22:51:39 -05:00
sound_pulse.c The starts of Embedded ColorChord 2015-04-01 00:21:01 -04:00
sound_win.c Add embedded-oriented integer version of DFT. 2015-02-10 00:57:10 -05:00
TODO OKAY! EmbeddedCC is almost ready! 2015-04-04 18:35:03 -04:00
usb.conf update usb driver 2015-01-21 05:21:53 -05:00
util.c add a bunch of files 2015-01-06 22:51:39 -05:00
util.h add a bunch of files 2015-01-06 22:51:39 -05:00
WinDriver.c Add embedded-oriented integer version of DFT. 2015-02-10 00:57:10 -05:00
XDriver.c allow cascading files to be loaded, fix the filter. Improve stability of output linear. Change a bunch of IIR settings. 2015-01-10 01:44:13 -05:00

colorchord

What is ColorChord?

Chromatic Sound to Light Conversion System. It's really that simple. Unlike so many of the sound responsive systems out there, ColorChord looks at the chromatic properties of the sound. It looks for notes, not ranges. If it hears an "E" it doesn't care what octave it's in, it's an E. This provides a good deal more interesting patterns between instruments and music than would be available otherwise.

Background

Developed over many years, ColorChord 2 is now getting close to alpha stages. ColorChord 2 uses the same principles as ColorChord 1. A brief writeup on that can be seen here: http://cnlohr.blogspot.com/2010/11/colorchord-sound-lighting.html

The major differences in ColorChord 2 is the major rewrite to move everything back to the CPU and a multitude of algorithmic optimizations to make it possible to run on something other than the brand newest of systems.

TODO: add a link to the new video.

Here's a video of it running: https://www.youtube.com/watch?v=UI4eqOP2AU0

Current State of Affairs

Currently, ColorChord 2 is designed to run on Linux or Windows. It's not particularly tied to an architecture, but does pretty much need a dedicated FPU to achieve any decent performance. Right now there aren't very many output options available for it. The most interesting one used for debugging is a vornoi-diagram-like thing called "DisplayShapeDriver."

ColorChord: Embedded

There is work on an embedded version of ColorChord, which avoids floating point operations anywhere in the output pipeline. Though I have made efforts to port it to AVRs, it doesn't seem feasable to operate on AVRs in the normal sense, so I have retargeted my efforts to 32-bit systems.

Building and Using

On Linux you'll need the following packages, for Debian/Ubuntu/Mint you'll need the following:

apt-get install libpulse-dev libasound2-dev libx11-dev libxext-dev libxinerama-dev libusb-1.0-0-dev

To make colorchord, type:

make

Then, to run it, use the following syntax:

./colorchord [config file, by default 'default.conf'] [any additional parameters]

If you edit default.conf while the program is running and resave it, it will use the settings in the newly saved file.