aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: d6be4defcd2703fe6ea54ef44054c43cd96a1ab0 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# thesoundofpeople

## About
Supercollider classes for interacting with data sets from [OpenSNP](https://opensnp.org) (parsing, retrieving metadata, rendering audio from, etc.).  
**Note:** *This is a prototype! It is developed on Linux using JACK, therefore the following features have only been tested there!*  

## Features
- Parse 23andme files, write them to a different - optimized for the work with *The Sound Of People* - format.
- Loading the contents of both types of files (parsed and read) into a SuperCollider Dictionary. This will require **a lot** of RAM. Get ready for ~5,7GB (*parsing*) and ~4,7GB (*reading*).
The amount will increase during playback - you will most likely end up using ~6,0GB!
- Retrieve metadata (at the moment only resolvers for SNPs) for SNPs and the data sets
- Rendering sound from positions (or rather: bases/base pairs at a position on a chromosome) of up to 25 chromosomes at the same time.
- Possible audio setups are: **2**, **4**, **6**, **8** and **12** speakers
- A GUI showing the current speaker setup and currently playing SNP on chromosomes

## GUI
The GUI is still pretty minimalistic and currently just - non-interactively - showing which SNP is playing on which chromsome (and thus also on which speaker).  
![GUI](https://git.sleepmap.de/thesoundofpeople.git/plain/thesoundofpeople-gui.png)

## Audio
For audio samples (only stereo - and please bear in mind that the main focus has been multi-channel use for this application!) visit [Soundcloud](https://soundcloud.com/thesoundofpeople).

## 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 .

## Usage
Go to the cloned directory and open **thesoundofpeople.scd** in your favorite SuperCollider IDE.  
All further steps are explained there.

## TODO
- GUI buttons for start/pause/stop, file chooser for the file to parse/read, option for choosing/reloading the speaker setup
- Add .schelp files
- 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)