aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 326d44a70987d57baf5f75aca2a23c63f0b290c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# thesoundofpeople

## About
Supercollider classes for interacting with data sets from http://opensnp.org (parsing, sonification, etc.).  
This is a prototype! It's quite slow and eats a lot of RAM. I've only tested it on Linux with JACK. So be aware of that, when using it!

## Features
- Parse 23andme files, write them to a different format.
- Loading both of those files into a dictionary.//this will eat so much RAM, cookie monster is a 'lil puppet compared (get ready for 5,7Gb (parsing) and 4,7Gb (reading)
- Playing positions (or rather: bases/base pairs on a chromosome at a position) of up to 25 chromosomes from those dictionaries on 2,4,6 & 8 channels (there's no real limit to that though, but your hardware)

## Installation

Clone this repository to somewhere sclang will pick it up on recompiling its class library:

  cd ~/.local/share/SuperCollider/Extensions/local
  git clone git://sleepmap.de/thesoundofpeople.git

If the local folder doesn't exist, create it, otherwise you can also directly clone into the Extensions folder (the folder and all of its children will get picked up on recompile).
Symlinking is fine, too!  

  cd ~/some/other/directory
  git clone git://sleepmap.de/thesoundofpeople.git
  cd ./local/share/SuperCollider/Extensios/local/
  ln -s ~/some/other/directory/thesoundofpeople .

## TODO
- flesh out SNP.sc (a million instances eat too much RAM on filling a SNPDict), that comes with a lot of looking around what has to be changed in the other classes to make this work.
- fine grain the synthesizers used, so each chromosome will become more distinct (currently only X, Y and MT are very recognizable)
- use a set of filters based upon the form of each chromosome and its "interesting areas"
- make updating resolvers less RAM consuming (and thus usable)