Home · Standalone · rtcmix~ · iRTcmix · Tutorials · Reference |

RTcmix an open-source digital signal processing and sound synthesis language |
about · links · contact |

DMOVE -- PField-enabled moving source room-simulation
in RTcmix/insts/std/MMOVE
## quick syntax:DMOVE(outsk, insk, dur, AMP, DIST-XPOS, ANGLE-YPOS, (-)dist_mikes[, inchan]);
RVB(outsk, insk, dur, AMP)
space(front, right, -back, -left, ceiling, absorb, rvbtime)
threshold(update_rate)
mikes(mike_angle, pattern)
mikes_off()
set_attenuation_params(min_dist, max_dist, dist_exponent)
matrix(amp, matrixval1, matrixval2, ... matrixval144)
CAPITALIZED parameters are pfield-enabled for table or dynamic control (see the maketable or makeconnection scorefile commands). Parameters after the [bracket] are optional and default to 0 unless otherwise noted. DMOVE employs several subcommands to set the room-simulation
characteristics and one sub-instrument (RVB) to operate.
NOTE: Although the older path-trajectory subcommands
may be used in this instrument
( p0 = output start time (seconds) p1 = input start time (seconds) p2 = duration (or endtime if negative) (seconds) p3 = amplitude multiplier (relative multiplier of input signal) p4 = distance (feet) to sound source, or x-coordinate (feet) of sound source p5 = angle to sound source (degrees; 0 degrees is straight in front), or y-coordinate (feet) of sound source p6 = distance between 'mics' (stereo receivers) in the room (feet) NOTE: if p6 is negative, p4/p5 will be interpreted as x- and y- coordinates, otherwise p4/p5 will set polar coordinates for the sound source location p7 = input channel [optional, default is 0] p3 (amplitude) can receive dynamic updates from a table or real-time control source. RVB
p0 = output start time (seconds) p1 = input start time (seconds) p2 = duration (or endtime if negative) (seconds) p3 = amplitude multiplier (relative multiplier of input signal) p3 (amplitude) can receive dynamic updates from a table or real-time control source. NOTE: this associated instrument is required for MPLACE to function space
p0 = distance to front wall of room (feet) p1 = distance to right-hand wall of room (feet) p2 = distance to back wall of room (feet) [< 0.0] p3 = distance to left-hand wall of room (feet) [< 0.0] p4 = distance to ceiling of room (feet) p5 = wall absorption factor (0-10; 0 == more 'dead', 10 == more 'live') p6 = reverberation time (seconds) NOTE: this subcommand is required for MPLACE to function thresholdp0 = time interval (seconds) for trajectory updates NOTE: this subcommand is optional for MMOVE to function (the default is the size of the buffers set in rtsetparams) mikesp0 = microphone angle (degrees, 0 degrees is straight in front) p1 = microphone pattern (0-1; 0 == omnidirectional, 1 == highly directional) NOTE: this subcommand is optional for MPLACE to function (the default is "mikes_off") mikes_offno pfields, this defeats the microphone angle and pattern settings for binaural simulation NOTE: this subcommand is optional for MPLACE to function set_attenuation_paramsp0 = minimum distance (feet) p1 = maximum distance (feet) p2 = distance attentuation exponent NOTE: this subcommand is optional for MPLACE to function matrixp0 = total matrix gain (relative multiplier of input signal) p1-p145 = 12 x 12 matrix amp/feedback coefficients [optional; defaults to internal matrix] NOTE: this subcommand is optional for MPLACE to function DMOVE is a
pfield-enabled
version of the
MMOVE
room-simulation program, allowing the sound source trajectory to be
controlled using
maketable
tables or dynamically via the
makeconnection
scorefile command. It uses the same methodology as the
MPLACE
instrument to model the acoustics of a room.
## Usage NotesMost of the subcommands forDMOVE are identical to the
equivalent subcommands in
MPLACE.
See the
MPLACE Usage Notes
for more information.
The only semi-tricky thing to know about When using maketable and other pfield-control parameters be aware that the "nonorm" optional parameter should probably be set, otherwise the data coming through the pfield will be normalized between 0.0 and 1.0 (or -1.0 and 1.0).
The ## Sample Scoresbasic use:rtsetparams(44100, 2, 256) load("DMOVE") bus_config("DMOVE", "in 0", "aux 0-1 out") bus_config("RVB", "aux 0-1 in", "out 0-1") rtinput("mysoundfile.aif") mikes(45, 0.5) dist_front = 100 dist_right = 100 dist_rear = -100 dist_left = -100 height = 100 rvbtime = 3 abs_fac = 1 space(dist_front, dist_right, dist_rear, dist_left, height, abs_fac, rvbtime) insk = 0 outsk = 0 amp = 1 dur = 60 dist_mikes = 2 inchan = 0 xpos = makeconnection("mouse", "x", min=dist_left, max=dist_right, dflt=10, lag=90, "x pos", "feet", 2) ypos = makeconnection("mouse", "y", min=dist_rear, max=dist_front, dflt=10, lag=90, "y pos", "feet", 2) mindist = 10 maxdist = 100 set_attenuation_params(mindist, maxdist, 1.0) threshold(0.0005) DMOVE(outsk, insk, dur, amp, xpos, ypos, -dist_mikes, inchan) RVB(0, 0, dur+rvbtime+0.5, 0.1) ## See AlsoFREEVERB, GVERB, MMOVE, MOVE, MPLACE, MROOM, PLACE, REV, REVERBIT, ROOM, SROOM |