aboutsummaryrefslogtreecommitdiffstats
path: root/README.rst
blob: 5f0666c10f4506c6483d2445d9accdf60acdcb9c (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
thesoundofpeople
################

| |supercollider| classes for interacting with data sets from |opensnp| (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).  

.. figure:: https://git.sleepmap.de/audio/thesoundofpeople.git/plain/thesoundofpeople-gui.png
  :alt: The Sound Of People GUI

  The Sound Of People GUI

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| 

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

  .. code:: bash

    cd ~/.local/share/SuperCollider/Extensions/local
    git clone git://sleepmap.de/audio/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!  

  .. code:: bash

    cd ~/some/other/directory
    git clone git://sleepmap.de/audio/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.


.. |supercollider| raw:: html

  <a href="https://supercollider.github.io/" target="_blank">SuperCollider</a>

.. |opensnp| raw:: html

  <a href="https://opensnp.org" target="_blank">OpenSNP</a>

.. |soundcloud| raw:: html

  <a href="https://soundcloud.com/thesoundofpeople" target="_blank">Soundcloud</a>