Hi,

On 27/09/12 08:58, umberto torrez wrote:
hi, Does anybody know if  exists a reveb that allows to tune  to specific
notes? I know that different room dimensions offer different resonating
frequencies, but can this effect be manipulated electronically?

I tried some 4D room simulation once, releveant files attached, may be missing some parts and/or bitrotted - it's from 2008). Maybe it provides some ideas / inspiration / herrings...

Does anybody know of techniques to achieve it pd?   any idea?

http://archive.org/download/ClaudiusMaximus_-_Feed_Me_dia/ClaudiusMaximus_-_The_Seventh_Chamber.ogg
is one sketch I made by changing a reverberating room's shape according to a bell-ringing sequence.


Claude
--
http://mathr.co.uk
#N canvas 0 0 558 543 10;
#X obj 20 21 inlet~;
#X obj 237 23 inlet;
#X obj 20 41 delwrite~ \$0-d 1000;
#X obj 18 435 outlet~;
#X obj 237 45 unpack f f f f f f f f f;
#X obj 18 80 delread~ \$0-d;
#X obj 154 131 delread~ \$0-d;
#X obj 164 151 delread~ \$0-d;
#X obj 174 171 delread~ \$0-d;
#X obj 184 191 delread~ \$0-d;
#X obj 194 211 delread~ \$0-d;
#X obj 204 231 delread~ \$0-d;
#X obj 214 251 delread~ \$0-d;
#X obj 224 271 delread~ \$0-d;
#X obj 19 178 *~ 0;
#X obj 129 171 *~ 0;
#X obj 139 191 *~ 0;
#X obj 149 211 *~ 0;
#X obj 159 231 *~ 0;
#X obj 169 251 *~ 0;
#X obj 179 271 *~ 0;
#X obj 189 291 *~ 0;
#X obj 199 311 *~ 0;
#X obj 322 271 expr pow(10 \, -340*$f1/10000);
#X obj 252 131 expr pow(10 \, -340*$f1/10000);
#X obj 262 151 expr pow(10 \, -340*$f1/10000);
#X obj 272 171 expr pow(10 \, -340*$f1/10000);
#X obj 282 191 expr pow(10 \, -340*$f1/10000);
#X obj 292 211 expr pow(10 \, -340*$f1/10000);
#X obj 302 231 expr pow(10 \, -340*$f1/10000);
#X obj 312 251 expr pow(10 \, -340*$f1/10000);
#X obj 44 103 expr pow(10 \, -340*$f1/10000);
#X text 354 294 distance loss (1/r);
#X text 140 381 reflection loss (one reflection);
#X obj 450 25 inlet;
#X obj 128 358 *~ 0;
#X obj 78 435 outlet~;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 4 0 5 0;
#X connect 4 0 31 0;
#X connect 4 1 6 0;
#X connect 4 1 24 0;
#X connect 4 2 7 0;
#X connect 4 2 25 0;
#X connect 4 3 8 0;
#X connect 4 3 26 0;
#X connect 4 4 9 0;
#X connect 4 4 27 0;
#X connect 4 5 10 0;
#X connect 4 5 28 0;
#X connect 4 6 11 0;
#X connect 4 6 29 0;
#X connect 4 7 12 0;
#X connect 4 7 30 0;
#X connect 4 8 13 0;
#X connect 4 8 23 0;
#X connect 5 0 14 0;
#X connect 5 0 36 0;
#X connect 6 0 15 0;
#X connect 7 0 16 0;
#X connect 8 0 17 0;
#X connect 9 0 18 0;
#X connect 10 0 19 0;
#X connect 11 0 20 0;
#X connect 12 0 21 0;
#X connect 13 0 22 0;
#X connect 14 0 3 0;
#X connect 15 0 35 0;
#X connect 16 0 35 0;
#X connect 17 0 35 0;
#X connect 18 0 35 0;
#X connect 19 0 35 0;
#X connect 20 0 35 0;
#X connect 21 0 35 0;
#X connect 22 0 35 0;
#X connect 23 0 22 1;
#X connect 24 0 15 1;
#X connect 25 0 16 1;
#X connect 26 0 17 1;
#X connect 27 0 18 1;
#X connect 28 0 19 1;
#X connect 29 0 20 1;
#X connect 30 0 21 1;
#X connect 31 0 14 1;
#X connect 34 0 35 1;
#X connect 35 0 3 0;
--[[

4D early reflection calculation for heref~

--]]

-- utility 4D maths

local v4sub = function(u,v)
  local s = { }
  for i = 1,4 do s[i] = u[i]-v[i] end
  return s
end

local v4mul = function(u,k)
  local s = { }
  for i = 1,4 do s[i] = u[i]*k end
  return s
end

local v4dot = function(u,v)
  local d = 0
  for i = 1,4 do d = d + u[i]*v[i] end
  return d
end

local v4ref = function(x,p)
  local n = p.normal
  local d = p.distance
  return v4sub(x, v4mul(n, 2 * (v4dot(x,n) - d) / v4dot(n,n)))
end

local c = 340 / 1000

local v4time = function(x,y)
  local v = v4sub(x,y)
  local d = v4dot(v,v)
  return math.sqrt(d) / c
end

-- main class

local R = pd.Class:new():register("heref-calc")

function R:initialize(sel, atoms)
  self.inlets = 3
  self.outlets = 1
  return true
end

-- room size
function R:in_3_list(atoms)
  self.wall = {
    { normal = {  1, 0, 0, 0 }, distance = atoms[1] },
    { normal = { -1, 0, 0, 0 }, distance = 0 },
    { normal = { 0,  1, 0, 0 }, distance = atoms[2] },
    { normal = { 0, -1, 0, 0 }, distance = 0 },
    { normal = { 0, 0,  1, 0 }, distance = atoms[3] },
    { normal = { 0, 0, -1, 0 }, distance = 0 },
    { normal = { 0, 0, 0,  1 }, distance = atoms[4] },
    { normal = { 0, 0, 0, -1 }, distance = 0 }
  }
end

-- source position
function R:in_2_list(atoms)
  self.vsource = { atoms }
  for i = 1,8 do table.insert(self.vsource, v4ref(atoms, self.wall[i])) end
end

-- listener position
function R:in_1_list(atoms)
  local herefs = { }
  for i = 1,9 do table.insert(herefs, v4time(atoms, self.vsource[i])) end
  self:outlet(1, "list", herefs)
end
#N canvas 0 0 967 676 10;
#X obj 152 273 mtx_*~ 16 16 0 ...............;
#X obj 198 80 delread~ \$0-0;
#X obj 208 100 delread~ \$0-1;
#X obj 218 120 delread~ \$0-2;
#X obj 228 140 delread~ \$0-3;
#X obj 238 160 delread~ \$0-4;
#X obj 248 180 delread~ \$0-5;
#X obj 258 200 delread~ \$0-6;
#X obj 268 220 delread~ \$0-7;
#X obj 298 80 delread~ \$0-8;
#X obj 308 100 delread~ \$0-9;
#X obj 318 120 delread~ \$0-10;
#X obj 328 140 delread~ \$0-11;
#X obj 338 160 delread~ \$0-12;
#X obj 348 180 delread~ \$0-13;
#X obj 358 200 delread~ \$0-14;
#X obj 368 220 delread~ \$0-15;
#X obj 222 55 unpack f f f f f f f f f f f f f f f f;
#X obj 189 10 inlet;
#X obj 166 243 mtx_*~ 16 2 0 ............;
#X obj 78 11 inlet~;
#X obj 128 11 inlet~;
#X obj 266 6 inlet;
#X msg 513 46 matrix 16 2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0
1 0 1 0 1 0 1 0 1 0 1;
#X obj 551 9 loadbang;
#X obj 513 96 mtx_./ 8;
#X obj 141 322 outlet~;
#X obj 375 321 outlet~;
#X obj 506 205 mtx_./ 8;
#X msg 572 242 matrix 2 16 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1;
#X msg 581 84 matrix 16 16 1 -1 -1 -1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1
1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1 1 1 -1 -1 1 -1 1 1 -1 1 1 1 -1 1 1 1
-1 1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1
1 1 -1 1 1 1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 1 -1 1 -1 -1 1
-1 1 1 -1 1 1 1 -1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1 -1 1 1 1
-1 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1
1 1 -1 1 1 1 -1 1 -1 -1 1 -1 1 1 -1 1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1
1 1 1 -1 -1 1 1 1 -1 1 1 1 -1 1 1 1 1 -1 -1 -1 1 -1 1 1 1 -1 1 1 1
-1 1 1 -1 1 -1 -1 1 1 -1 1 1 1 -1 1 1 1 -1 1 -1 -1 1 -1 1 1 1 -1 1
1 1 -1 1 1 1 -1 -1 -1 -1 1;
#X obj 508 179 mtx_./ 4;
#X obj 114 565 delwrite~ \$0-0 1000;
#X obj 124 585 delwrite~ \$0-1 1000;
#X obj 134 605 delwrite~ \$0-2 1000;
#X obj 144 625 delwrite~ \$0-3 1000;
#X obj 154 645 delwrite~ \$0-4 1000;
#X obj 164 665 delwrite~ \$0-5 1000;
#X obj 174 685 delwrite~ \$0-6 1000;
#X obj 184 705 delwrite~ \$0-7 1000;
#X obj 254 565 delwrite~ \$0-8 1000;
#X obj 264 585 delwrite~ \$0-9 1000;
#X obj 274 605 delwrite~ \$0-10 1000;
#X obj 284 625 delwrite~ \$0-11 1000;
#X obj 294 645 delwrite~ \$0-12 1000;
#X obj 304 665 delwrite~ \$0-13 1000;
#X obj 314 685 delwrite~ \$0-14 1000;
#X obj 324 705 delwrite~ \$0-15 1000;
#X obj 139 301 mtx_*~ 2 16 0 ....................;
#X obj 112 521 *~ 0;
#X obj 152 521 *~ 0;
#X obj 192 521 *~ 0;
#X obj 232 521 *~ 0;
#X obj 272 521 *~ 0;
#X obj 312 521 *~ 0;
#X obj 352 521 *~ 0;
#X obj 392 521 *~ 0;
#X obj 132 541 *~ 0;
#X obj 172 541 *~ 0;
#X obj 212 541 *~ 0;
#X obj 252 541 *~ 0;
#X obj 292 541 *~ 0;
#X obj 332 541 *~ 0;
#X obj 372 541 *~ 0;
#X obj 412 541 *~ 0;
#X obj 213 356 expr pow(10 \, -3*$f2/$f1);
#X obj 407 29 max 0.001;
#X obj 223 376 expr pow(10 \, -3*$f2/$f1);
#X obj 233 396 expr pow(10 \, -3*$f2/$f1);
#X obj 243 416 expr pow(10 \, -3*$f2/$f1);
#X obj 253 436 expr pow(10 \, -3*$f2/$f1);
#X obj 263 456 expr pow(10 \, -3*$f2/$f1);
#X obj 273 476 expr pow(10 \, -3*$f2/$f1);
#X obj 283 496 expr pow(10 \, -3*$f2/$f1);
#X obj 403 356 expr pow(10 \, -3*$f2/$f1);
#X obj 413 376 expr pow(10 \, -3*$f2/$f1);
#X obj 423 396 expr pow(10 \, -3*$f2/$f1);
#X obj 433 416 expr pow(10 \, -3*$f2/$f1);
#X obj 443 436 expr pow(10 \, -3*$f2/$f1);
#X obj 453 456 expr pow(10 \, -3*$f2/$f1);
#X obj 463 476 expr pow(10 \, -3*$f2/$f1);
#X obj 473 496 expr pow(10 \, -3*$f2/$f1);
#X obj 266 30 f;
#X obj 189 31 t b a;
#X text 473 527 g(i) = 10^(-3 * delay(i) / reverbTime);
#X connect 0 0 48 1;
#X connect 0 0 49 0;
#X connect 0 1 48 2;
#X connect 0 1 57 0;
#X connect 0 2 48 3;
#X connect 0 2 50 0;
#X connect 0 3 48 4;
#X connect 0 3 58 0;
#X connect 0 4 48 5;
#X connect 0 4 51 0;
#X connect 0 5 48 6;
#X connect 0 5 59 0;
#X connect 0 6 48 7;
#X connect 0 6 52 0;
#X connect 0 7 48 8;
#X connect 0 7 60 0;
#X connect 0 8 48 9;
#X connect 0 8 53 0;
#X connect 0 9 48 10;
#X connect 0 9 61 0;
#X connect 0 10 48 11;
#X connect 0 10 54 0;
#X connect 0 11 48 12;
#X connect 0 11 62 0;
#X connect 0 12 48 13;
#X connect 0 12 55 0;
#X connect 0 13 48 14;
#X connect 0 13 63 0;
#X connect 0 14 48 15;
#X connect 0 14 56 0;
#X connect 0 15 48 16;
#X connect 0 15 64 0;
#X connect 1 0 0 1;
#X connect 2 0 0 2;
#X connect 3 0 0 3;
#X connect 4 0 0 4;
#X connect 5 0 0 5;
#X connect 6 0 0 6;
#X connect 7 0 0 7;
#X connect 8 0 0 8;
#X connect 9 0 0 9;
#X connect 10 0 0 10;
#X connect 11 0 0 11;
#X connect 12 0 0 12;
#X connect 13 0 0 13;
#X connect 14 0 0 14;
#X connect 15 0 0 15;
#X connect 16 0 0 16;
#X connect 17 0 1 0;
#X connect 17 0 65 1;
#X connect 17 1 2 0;
#X connect 17 1 67 1;
#X connect 17 2 3 0;
#X connect 17 2 68 1;
#X connect 17 3 4 0;
#X connect 17 3 69 1;
#X connect 17 4 5 0;
#X connect 17 4 70 1;
#X connect 17 5 6 0;
#X connect 17 5 71 1;
#X connect 17 6 7 0;
#X connect 17 6 72 1;
#X connect 17 7 8 0;
#X connect 17 7 73 1;
#X connect 17 8 9 0;
#X connect 17 8 74 1;
#X connect 17 9 10 0;
#X connect 17 9 75 1;
#X connect 17 10 11 0;
#X connect 17 10 76 1;
#X connect 17 11 12 0;
#X connect 17 11 77 1;
#X connect 17 12 13 0;
#X connect 17 12 78 1;
#X connect 17 13 14 0;
#X connect 17 13 79 1;
#X connect 17 14 15 0;
#X connect 17 14 80 1;
#X connect 17 15 16 0;
#X connect 17 15 81 1;
#X connect 18 0 83 0;
#X connect 19 0 0 1;
#X connect 19 1 0 2;
#X connect 19 2 0 3;
#X connect 19 3 0 4;
#X connect 19 4 0 5;
#X connect 19 5 0 6;
#X connect 19 6 0 7;
#X connect 19 7 0 8;
#X connect 19 8 0 9;
#X connect 19 9 0 10;
#X connect 19 10 0 11;
#X connect 19 11 0 12;
#X connect 19 12 0 13;
#X connect 19 13 0 14;
#X connect 19 14 0 15;
#X connect 19 15 0 16;
#X connect 20 0 19 1;
#X connect 21 0 19 2;
#X connect 22 0 82 0;
#X connect 23 0 25 0;
#X connect 24 0 23 0;
#X connect 24 0 29 0;
#X connect 24 0 30 0;
#X connect 25 0 19 0;
#X connect 28 0 48 0;
#X connect 29 0 28 0;
#X connect 30 0 31 0;
#X connect 31 0 0 0;
#X connect 48 0 26 0;
#X connect 48 1 27 0;
#X connect 49 0 32 0;
#X connect 50 0 34 0;
#X connect 51 0 36 0;
#X connect 52 0 38 0;
#X connect 53 0 40 0;
#X connect 54 0 42 0;
#X connect 55 0 44 0;
#X connect 56 0 46 0;
#X connect 57 0 33 0;
#X connect 58 0 35 0;
#X connect 59 0 37 0;
#X connect 60 0 39 0;
#X connect 61 0 41 0;
#X connect 62 0 43 0;
#X connect 63 0 45 0;
#X connect 64 0 47 0;
#X connect 65 0 49 1;
#X connect 66 0 65 0;
#X connect 66 0 67 0;
#X connect 66 0 68 0;
#X connect 66 0 69 0;
#X connect 66 0 70 0;
#X connect 66 0 71 0;
#X connect 66 0 72 0;
#X connect 66 0 73 0;
#X connect 66 0 74 0;
#X connect 66 0 75 0;
#X connect 66 0 76 0;
#X connect 66 0 77 0;
#X connect 66 0 78 0;
#X connect 66 0 79 0;
#X connect 66 0 80 0;
#X connect 66 0 81 0;
#X connect 67 0 57 1;
#X connect 68 0 50 1;
#X connect 69 0 58 1;
#X connect 70 0 51 1;
#X connect 71 0 59 1;
#X connect 72 0 52 1;
#X connect 73 0 60 1;
#X connect 74 0 53 1;
#X connect 75 0 61 1;
#X connect 76 0 54 1;
#X connect 77 0 62 1;
#X connect 78 0 55 1;
#X connect 79 0 63 1;
#X connect 80 0 56 1;
#X connect 81 0 64 1;
#X connect 82 0 66 0;
#X connect 83 0 82 0;
#X connect 83 1 17 0;
local R = pd.Class:new():register("hverb-calc")

function R:initialize(sel, atoms)
  if type(atoms[1]) ~= "number" then
    return false
  end
  self.count = math.max(atoms[1], 1)
  self.inlets = 1
  self.outlets = 1
  return true
end

-- note: gcd(0,0) == 0, which is what we want, if not math-correct
local gcd = function(m, n) 
  while m ~= 0 do m, n = math.mod(n, m), m end
  return n
end

-- precalculate fundamental modes
local fundamentals = { }
for nx = 0, 16 do
for ny = 0, 16 do
for nz = 0, 16 do
for nw = 0, 16 do
  if gcd(gcd(gcd(nx, ny), nz), nw) == 1 then
    table.insert(fundamentals, { nx, ny, nz, nw })
  end
end end end end

function R:delay(lx, ly, lz, lw, nx, ny, nz, nw)
  return 1000 / ((340/2) * 
math.sqrt((nx*nx)/(lx*lx)+(ny*ny)/(ly*ly)+(nz*nz)/(lz*lz)+(nw*nw)/(lw*lw)))
end

function R:in_1_list(atoms)
  local lx = atoms[1]
  local ly = atoms[2]
  local lz = atoms[3]
  local lw = atoms[4]
  local delays = { }
  for i,f in ipairs(fundamentals) do
    table.insert(delays, self:delay(lx, ly, lz, lw, unpack(f)))
  end
  table.sort(delays, function (a, b) return a > b end)
  local out = { }
  local j = 1
  for i = 1, self.count do
    out[i] = delays[j]
    repeat
      j = j + 1
    until delays[j] ~= delays[j-1]
  end
  self:outlet(1, "list", out)
end
#N canvas 0 0 585 522 10;
#X obj 62 354 hverb~;
#X obj 11 103 noise~;
#X obj 32 210 *~;
#X obj 62 134 vline~;
#X obj 90 253 hverb-calc 16;
#X floatatom 134 134 5 0 0 0 - - -;
#X obj 282 283 heref-calc;
#X obj 135 321 heref~;
#X obj 202 283 heref-calc;
#X obj 302 259 t a a;
#X msg 306 236 0.5 0.5 0.5 0.5;
#X msg 285 213 0.25 0.25 0.25 0.25;
#X msg 207 193 0.26 0.24 0.26 0.24;
#X obj 233 358 print heref~L;
#X obj 305 335 print heref~R;
#X obj 24 313 heref~;
#X obj 157 201 / 100;
#X floatatom 158 172 5 0 0 0 - - -;
#X msg 61 108 0.5 1 \, 0 1 1;
#X obj 62 168 *~;
#X obj 209 107 + 1;
#X obj 209 83 random 16;
#X obj 279 107 + 1;
#X obj 279 83 random 16;
#X obj 349 107 + 1;
#X obj 349 83 random 16;
#X obj 419 107 + 1;
#X obj 419 83 random 16;
#X obj 269 144 pack f f f f;
#X obj 273 51 t b b b b;
#X obj 112 42 t b b b;
#X obj 113 17 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 391 167 print room;
#X obj 269 169 t b b b a a a a;
#X obj 152 381 print hverb~;
#X obj 112 -5 spigot;
#X obj 132 18 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 37 27 delay;
#X obj 62 417 dac~;
#X obj 33 385 *~ 1;
#X obj 101 384 *~ 1;
#X obj 57 461 writesf~ 2;
#X msg 157 417 open -bytes 4 hverb.wav \, start;
#X msg 155 442 stop;
#X obj 135 64 random 3000;
#X obj 134 84 + 30;
#X connect 0 0 39 0;
#X connect 0 1 40 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 2 0 15 0;
#X connect 3 0 19 0;
#X connect 3 0 19 1;
#X connect 4 0 0 2;
#X connect 4 0 34 0;
#X connect 5 0 0 3;
#X connect 6 0 7 1;
#X connect 6 0 14 0;
#X connect 7 0 40 0;
#X connect 7 1 0 1;
#X connect 8 0 13 0;
#X connect 8 0 15 1;
#X connect 9 0 8 1;
#X connect 9 1 6 1;
#X connect 10 0 9 0;
#X connect 11 0 6 0;
#X connect 12 0 8 0;
#X connect 15 0 39 0;
#X connect 15 1 0 0;
#X connect 16 0 7 2;
#X connect 16 0 15 2;
#X connect 17 0 16 0;
#X connect 18 0 3 0;
#X connect 19 0 2 1;
#X connect 20 0 28 0;
#X connect 21 0 20 0;
#X connect 22 0 28 1;
#X connect 23 0 22 0;
#X connect 24 0 28 2;
#X connect 25 0 24 0;
#X connect 26 0 28 3;
#X connect 27 0 26 0;
#X connect 28 0 33 0;
#X connect 29 0 21 0;
#X connect 29 1 23 0;
#X connect 29 2 25 0;
#X connect 29 3 27 0;
#X connect 30 0 18 0;
#X connect 30 1 44 0;
#X connect 30 2 29 0;
#X connect 31 0 30 0;
#X connect 33 0 12 0;
#X connect 33 1 11 0;
#X connect 33 2 10 0;
#X connect 33 3 4 0;
#X connect 33 4 8 2;
#X connect 33 5 6 2;
#X connect 33 6 32 0;
#X connect 35 0 31 0;
#X connect 36 0 35 1;
#X connect 37 0 35 0;
#X connect 39 0 38 0;
#X connect 39 0 41 0;
#X connect 40 0 38 1;
#X connect 40 0 41 1;
#X connect 42 0 41 0;
#X connect 43 0 41 0;
#X connect 44 0 45 0;
#X connect 45 0 5 0;
#X connect 45 0 37 0;
#N canvas 0 0 509 506 10;
#X obj 63 362 hverb~;
#X obj 11 103 noise~;
#X obj 29 248 *~;
#X obj 62 134 vline~;
#X obj 90 253 hverb-calc 16;
#X floatatom 134 134 5 0 0 0 - - -;
#X obj 282 283 heref-calc;
#X obj 129 317 heref~;
#X obj 202 283 heref-calc;
#X obj 157 201 / 100;
#X floatatom 158 172 5 0 0 0 - - -;
#X obj 62 168 *~;
#X obj 112 42 t b b b;
#X obj 113 17 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 134 84 + 500;
#X obj 135 64 random 1500;
#X obj 112 -5 spigot;
#X obj 132 18 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 37 27 delay;
#X obj 62 417 dac~;
#X obj 33 385 *~ 1;
#X obj 101 384 *~ 1;
#X obj 57 461 writesf~ 2;
#X msg 155 442 stop;
#X obj 349 81 loadbang;
#X msg 316 239 0.5 \$2 0.01 \$1;
#X msg 236 260 0.5 \$2 0.01 \$1;
#X obj 246 31 metro 666;
#X obj 245 59 f 0;
#X obj 279 59 + 1;
#X obj 216 133 + 0.5;
#X obj 216 92 t f f;
#X obj 279 85 mod 32;
#X obj 269 111 mod 2;
#X obj 266 133 + 0.5;
#X obj 212 180 t a a;
#X obj 214 156 pack f f;
#X obj 245 5 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X floatatom 319 57 5 0 0 0 - - -;
#X obj 12 189 bp~ 666 6;
#X obj 11 212 expr~ tanh($v1*4);
#X msg 349 105 1 2 4 32;
#X msg 61 108 1 1 \, 0 5 1;
#X msg 202 207 0.5 1.3 2.5 16;
#X msg 314 208 0.5 0.7 2.5 16;
#X obj 24 313 heref~;
#X obj 333 25 sel 0;
#X msg 157 417 open -bytes 4 corridor-pacing-2.wav \, start;
#X connect 0 0 20 0;
#X connect 0 1 21 0;
#X connect 1 0 39 0;
#X connect 2 0 7 0;
#X connect 2 0 45 0;
#X connect 3 0 11 0;
#X connect 3 0 11 1;
#X connect 4 0 0 2;
#X connect 5 0 0 3;
#X connect 6 0 7 1;
#X connect 7 0 21 0;
#X connect 7 1 0 1;
#X connect 8 0 45 1;
#X connect 9 0 7 2;
#X connect 9 0 45 2;
#X connect 10 0 9 0;
#X connect 11 0 2 1;
#X connect 12 0 42 0;
#X connect 12 1 15 0;
#X connect 13 0 12 0;
#X connect 14 0 5 0;
#X connect 14 0 18 0;
#X connect 15 0 14 0;
#X connect 16 0 13 0;
#X connect 17 0 16 1;
#X connect 18 0 16 0;
#X connect 20 0 19 0;
#X connect 20 0 22 0;
#X connect 21 0 19 1;
#X connect 21 0 22 1;
#X connect 23 0 22 0;
#X connect 24 0 41 0;
#X connect 25 0 6 1;
#X connect 26 0 8 1;
#X connect 27 0 28 0;
#X connect 27 0 42 0;
#X connect 28 0 29 0;
#X connect 28 0 31 0;
#X connect 28 0 38 0;
#X connect 29 0 32 0;
#X connect 30 0 36 0;
#X connect 31 0 30 0;
#X connect 31 1 33 0;
#X connect 32 0 28 1;
#X connect 32 0 46 0;
#X connect 33 0 34 0;
#X connect 34 0 36 1;
#X connect 35 0 43 0;
#X connect 35 0 44 0;
#X connect 35 1 25 0;
#X connect 35 1 26 0;
#X connect 36 0 35 0;
#X connect 37 0 27 0;
#X connect 39 0 40 0;
#X connect 40 0 2 0;
#X connect 41 0 6 2;
#X connect 41 0 8 2;
#X connect 41 0 4 0;
#X connect 42 0 3 0;
#X connect 43 0 8 0;
#X connect 44 0 6 0;
#X connect 45 0 20 0;
#X connect 45 1 0 0;
#X connect 46 0 37 0;
#X connect 47 0 22 0;
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to