aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md49
1 files changed, 48 insertions, 1 deletions
diff --git a/README.md b/README.md
index 2afb91c..b6021e7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,51 @@
random241
=========
-A random number generator, using an Americium 241 sample over a webcam sensor
+Python scripts for harvesting entropy from a random number generator (with an Americium 241 sample mounted over a webcam sensor as its source).
+This repository also features an OSC enabled SuperCollider [random241.scd](https://raw2.github.com/davezerave/random241/master/SuperCollider/random241.scd) script that can interface with it and a rudimental python script [read_gpio.py](https://raw2.github.com/davezerave/random241/master/remote_control/read_gpio.py) (made for BeagleBone Black) that can be used to further modify effects on the generated sounds in a live setup.
+
+Requirements:
+-------------
+
+For the [entropy_harvester](https://github.com/davezerave/random241/tree/master/entropy_harvester) you'll need the following packages and dependencies installed (names may vary depending on your distribution!):
+- python2
+- python2-numpy
+- python2-pyliblo
+- opencv
+- liblo
+
+For the [SuperCollider](https://github.com/davezerave/random241/tree/master/SuperCollider) script you'll need [SuperCollider](http://supercollider.github.io/) installed (duh!).
+
+For the [remote_control](https://github.com/davezerave/random241/tree/master/remote_control) you'll need the following:
+- python2
+- python2-pyliblo
+- [AdaFruit_BBIO](https://github.com/adafruit/adafruit-beaglebone-io-python)
+- liblo
+
+Features:
+-----
+
+As this is an ongoing project and was executed primarily within the boundaries of my course work for [Audiovisual Programming - Embedded Systems](https://github.com/redFrik/udk10-Embedded_Systems) led by Fredrik Olofsson at UDK Berlin in 2013/ 2014, bugs can be expected (especially if you set up your own device!) and the reporting of those is very welcome!
+
+Currently the list of features for the [entropy_harvester](https://github.com/davezerave/random241/tree/master/entropy_harvester) is as follows:
+- Grabbing of bright areas (aka regions of interest in pixels) above a certain threshold from a webcam
+- Calculation of mean x/y values from regions of interest and conversion to float range
+- Sending of time, x and y values via OSC to predefined host and port
+
+The [SuperCollider](https://github.com/davezerave/random241/tree/master/SuperCollider) script is able to:
+- Receive OSC messages for the creation of SynthDefs with certain pitch, amplitude, length and loop time, according to coordinates and time sent.
+- Receive OSC messages for manipulation of post processing SynthDefs (FreeVerb for now).
+- Ignore OSC messages after a certain amount of SynthDefs created.
+- Release (all) SynthDefs after a certain amount of SynthDefs is reached.
+
+The [remote_control](https://github.com/davezerave/random241/tree/master/remote_control) script is able to:
+- Read GPIO data from BeagleBone Black (P9_39-42 for now)
+- Send sensor data as OSC message to predefined host and port
+
+TODOs:
+------
+- Externalization of settings for [remote_control](https://github.com/davezerave/random241/tree/master/remote_control) and [entropy_harvester](https://github.com/davezerave/random241/tree/master/entropy_harvester)
+- Further settings and advancements in sound for the SuperCollider script
+- Performance enhancements for entropy_harvester using different search algorithm (maybe even swith to C++)
+- Detection of false positives (pixel errors) on wacky cameras
+