Below is the code for a Pure Data patch that generates audio to aid concentration. The first version was created on a return flight from Salt Lake City to Philadelphia in early 2011. It has undergone many tweaks to accommodate against different sound environments over the years since. It was only ever meant for my use and is being made available for the first time here.
To run the patch:
—Copy the text of all lines beginning with ‘#’ below into a plain text document (e.g. using Notepad on Windows or TextEdit on a Mac).
—Save.
—Change the file extension to “pd” (e.g. if originally saved as theways.txt, change to theways.pd).
—If you do not already have Pure Data installed on your computer, download and install the appropriate version from [https://puredata.info/downloads/pd-extended].
—Open the previously created .pd file.
+Note: Audio should begin upon opening the file and can be stopped by closing the patch’s window or by quitting Pure Data.
Code for “the ways one gets lost”:
#N canvas 97 168 1154 321 10;
#X obj 0 0 *~ 0.025;
#X obj 0 0 *~ 1;
#X obj 0 0 *~ 1;
#X obj 0 0 *~ 0.15;
#X obj 0 0 cycle~ 60;
#X obj 0 0 *~ 0.4;
#X obj 0 0 cycle~ 0.89;
#X obj 0 0 *~ 0.4;
#X obj 0 0 cycle~ 0.54;
#X obj 0 0 cycle~ 200;
#X obj 0 0 cycle~ 100;
#X obj 0 0 *~ 0.1;
#X obj 0 0 *~ 0.1;
#X obj 0 0 *~;
#X obj 0 0 *~;
#X obj 0 0 cycle~ 0.34;
#X obj 0 0 cycle~ 0.21;
#X obj 0 0 *~ 0.15;
#X obj 0 0 reson~ 1 80 0.3;
#X obj 0 0 *~ 0.15;
#X obj 0 0 reson~ 1 80 0.3;
#X obj 0 0 cycle~ 240;
#X obj 0 0 cycle~ 160;
#X obj 0 0 *~ 0.1;
#X obj 0 0 *~ 0.1;
#X obj 0 0 *~ 0.15;
#X obj 0 0 *~ 0.15;
#X obj 0 0 *~ 0.05;
#X obj 0 0 *~ 0.05;
#X obj 0 0 *~;
#X obj 0 0 *~;
#X obj 0 0 *~;
#X obj 0 0 *~;
#X obj 0 0 cycle~ 0.13;
#X obj 0 0 *~;
#X obj 0 0 *~;
#X obj 0 0 cycle~ 120;
#X obj 0 0 cycle~ 0.08;
#X obj 0 0 cycle~ 0.05;
#X obj 0 0 pink~;
#X obj 0 0 cycle~ 0.03;
#X obj 0 0 cycle~ 0.02;
#X obj 0 0 cycle~ 0.01;
#X obj 0 0 cycle~ 80;
#X obj 0 0 pink~;
#X obj 0 0 dac~;
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-1) / (-2);
#X obj 0 0 expr~ ($v1+1) * (-0.6) / (-2) + 0.2;
#X obj 0 0 expr~ ($v1+1) * (-0.6) / (-2) + 0.2;
#N canvas 452 97 264 144 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 3 116 outlet~;
#X text 127 41 #1 = Center;
#X text 127 62 #2 = Ratio deviation;
#X text 127 84 #3 = Frequency;
#X obj 0 0 sig~ 0.01;
#X obj 0 0 *~ 1;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 17 48 pd randDeviator;
#N canvas 507 68 273 158 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 137 51 #1 = Center;
#X text 137 72 #2 = Ratio deviation;
#X text 137 94 #3 = Frequency;
#X obj 0 0 sig~ 0.02;
#X obj 0 0 *~ 0.9;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 161 48 pd randDeviator;
#N canvas 684 50 275 139 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 135 36 #1 = Center;
#X text 135 57 #2 = Ratio deviation;
#X text 135 79 #3 = Frequency;
#X obj 0 0 sig~ 0.03;
#X obj 0 0 *~ 0.8;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 313 48 pd randDeviator;
#N canvas 713 63 276 143 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 132 35 #1 = Center;
#X text 132 56 #2 = Ratio deviation;
#X text 132 78 #3 = Frequency;
#X obj 0 0 sig~ 0.05;
#X obj 0 0 *~ 0.7;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 440 48 pd randDeviator;
#N canvas 794 76 264 139 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 133 34 #1 = Center;
#X text 133 55 #2 = Ratio deviation;
#X text 133 77 #3 = Frequency;
#X obj 0 0 sig~ 0.08;
#X obj 0 0 *~ 0.6;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 577 48 pd randDeviator;
#N canvas 860 136 271 152 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 136 37 #1 = Center;
#X text 136 58 #2 = Ratio deviation;
#X text 136 80 #3 = Frequency;
#X obj 0 0 sig~ 0.13;
#X obj 0 0 *~ 0.5;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 723 48 pd randDeviator;
#N canvas 812 74 271 146 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 136 35 #1 = Center;
#X text 136 56 #2 = Ratio deviation;
#X text 136 78 #3 = Frequency;
#X obj 0 0 sig~ 0.21;
#X obj 0 0 *~ 0.4;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 877 48 pd randDeviator;
#N canvas 820 132 267 152 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 134 36 #1 = Center;
#X text 134 57 #2 = Ratio deviation;
#X text 134 79 #3 = Frequency;
#X obj 0 0 sig~ 0.34;
#X obj 0 0 *~ 0.3;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 1022 48 pd randDeviator;
#N canvas 665 216 270 151 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 0 0 outlet~;
#X text 133 34 #1 = Center;
#X text 133 55 #2 = Ratio deviation;
#X text 133 77 #3 = Frequency;
#X obj 0 0 sig~ 0.54;
#X obj 0 0 *~ 0.3;
#X obj 0 0 rand~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 7 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X restore 728 278 pd randDeviator;
#N canvas 451 235 268 151 randDeviator 0;
#X obj 0 0 *~;
#X obj 0 0 +~;
#X obj 3 134 outlet~;
#X text 133 37 #1 = Center;
#X text 133 58 #2 = Ratio deviation;
#X text 133 80 #3 = Frequency;
#X obj 38 38 sig~ 0.89;
#X obj 0 0 rand~ 0.1;
#X obj 24 84 *~ 0.1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 6 0 1 1;
#X connect 6 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 0 1;
#X restore 928 278 pd randDeviator;
#X obj 0 0 *~;
#X obj 0 0 *~;
#X msg 3 280 \; pd dsp 1;
#X obj 3 228 loadbang;
#X obj 3 254 delay 100;
#X connect 0 0 1 0;
#X connect 1 0 45 1;
#X connect 2 0 45 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 2 0;
#X connect 6 0 52 0;
#X connect 7 0 1 0;
#X connect 8 0 53 0;
#X connect 9 0 13 0;
#X connect 10 0 14 0;
#X connect 11 0 1 0;
#X connect 11 0 67 0;
#X connect 12 0 2 0;
#X connect 12 0 66 0;
#X connect 13 0 11 0;
#X connect 14 0 12 0;
#X connect 15 0 51 0;
#X connect 16 0 50 0;
#X connect 17 0 2 0;
#X connect 17 0 66 0;
#X connect 18 0 17 0;
#X connect 19 0 1 0;
#X connect 19 0 67 0;
#X connect 20 0 19 0;
#X connect 21 0 29 0;
#X connect 22 0 30 0;
#X connect 23 0 1 0;
#X connect 23 0 67 0;
#X connect 24 0 2 0;
#X connect 24 0 66 0;
#X connect 25 0 1 0;
#X connect 25 0 67 0;
#X connect 26 0 2 0;
#X connect 26 0 66 0;
#X connect 27 0 1 0;
#X connect 28 0 2 0;
#X connect 29 0 23 0;
#X connect 30 0 24 0;
#X connect 31 0 25 0;
#X connect 32 0 26 0;
#X connect 33 0 49 0;
#X connect 34 0 20 0;
#X connect 34 0 27 0;
#X connect 35 0 28 0;
#X connect 35 0 18 0;
#X connect 36 0 31 0;
#X connect 37 0 48 0;
#X connect 38 0 47 0;
#X connect 39 0 35 0;
#X connect 40 0 46 0;
#X connect 41 0 55 0;
#X connect 42 0 54 0;
#X connect 43 0 32 0;
#X connect 43 0 0 0;
#X connect 44 0 34 0;
#X connect 46 0 32 1;
#X connect 47 0 31 1;
#X connect 48 0 30 1;
#X connect 49 0 29 1;
#X connect 50 0 14 1;
#X connect 51 0 13 1;
#X connect 52 0 67 1;
#X connect 53 0 66 1;
#X connect 54 0 35 1;
#X connect 55 0 34 1;
#X connect 56 0 42 0;
#X connect 57 0 41 0;
#X connect 58 0 40 0;
#X connect 59 0 38 0;
#X connect 60 0 37 0;
#X connect 61 0 33 0;
#X connect 62 0 16 0;
#X connect 63 0 15 0;
#X connect 64 0 8 0;
#X connect 65 0 6 0;
#X connect 66 0 7 0;
#X connect 67 0 5 0;
#X connect 69 0 70 0;
#X connect 70 0 68 0;