1<CsoundSynthesizer> 2<CsOptions> 3; Select audio/midi flags here according to platform 4; Audio out Audio in No messages 5-odac -iadc -d ;;;RT audio I/O 6; For Non-realtime ouput leave only the line below: 7; -o spat3d_UHJ.wav -W ;;; for file output any platform 8</CsOptions> 9<CsInstruments> 10 11/* Written by Istvan Varga */ 12sr = 48000 13kr = 750 14ksmps = 64 15nchnls = 2 16 17itmp ftgen 1, 0, 64, -2, \ 18 /* depth1, depth2, max delay, IR length, idist, seed */ \ 19 3, 48, -1, 0.01, 0.25, 123, \ 20 1, 21.982, 0.05, 0.87, 4000.0, 0.6, 0.7, 2, /* ceil */ \ 21 1, 1.753, 0.05, 0.87, 3500.0, 0.5, 0.7, 2, /* floor */ \ 22 1, 15.220, 0.05, 0.87, 5000.0, 0.8, 0.7, 2, /* front */ \ 23 1, 9.317, 0.05, 0.87, 5000.0, 0.8, 0.7, 2, /* back */ \ 24 1, 17.545, 0.05, 0.87, 5000.0, 0.8, 0.7, 2, /* right */ \ 25 1, 12.156, 0.05, 0.87, 5000.0, 0.8, 0.7, 2 /* left */ 26 27 instr 1 28 29p3 = p3 + 1.0 30 31kazim line 0.0, 4.0, 360.0 ; azimuth 32kelev line 40, p3 - 1.0, -20 ; elevation 33kdist = 2.0 ; distance 34; convert coordinates 35kX = kdist * cos(kelev * 0.01745329) * sin(kazim * 0.01745329) 36kY = kdist * cos(kelev * 0.01745329) * cos(kazim * 0.01745329) 37kZ = kdist * sin(kelev * 0.01745329) 38 39; source signal 40a1 phasor 160.0 41a2 delay1 a1 42a1 = a1 - a2 43kffrq1 port 200.0, 0.8, 12000.0 44affrq upsamp kffrq1 45affrq pareq affrq, 5.0, 0.0, 1.0, 2 46kffrq downsamp affrq 47aenv4 phasor 3.0 48aenv4 limit 2.0 - aenv4 * 8.0, 0.0, 1.0 49a1 butterbp a1 * aenv4, kffrq, 160.0 50aenv linseg 1.0, p3 - 1.0, 1.0, 0.04, 0.0, 1.0, 0.0 51a_ = 4000000 * a1 * aenv + 0.00000001 52 53; spatialize 54a_W, a_X, a_Y, a_Z spat3d a_, kX, kY, kZ, 1.0, 1, 2, 2.0, 2 55 56; convert to UHJ format (stereo) 57aWre, aWim hilbert a_W 58aXre, aXim hilbert a_X 59aYre, aYim hilbert a_Y 60 61aWXre = 0.0928*aXre + 0.4699*aWre 62aWXim = 0.2550*aXim - 0.1710*aWim 63 64aL = aWXre + aWXim + 0.3277*aYre 65aR = aWXre - aWXim - 0.3277*aYre 66 67 outs aL, aR 68 69 endin 70 71 72</CsInstruments> 73<CsScore> 74 75/* Written by Istvan Varga */ 76t 0 60 77 78i 1 0.0 8.0 79e 80 81 82</CsScore> 83</CsoundSynthesizer> 84