PLACE


[note: This documentation is taken from the earlier cmix disk-based documentation. I believe that most of it is accurate for PLACE, but it looks like Doug has added several new additional scorefile commands for use with this instrument: oldmatrix and matrix and param. I have no idea what they do. -- BGG]

PLACE is Doug Scott's room simulation RTcmix instrument. It places a sound in a room of your design and simulates the acoustic resonances of the room. Like MOVE, PLACE is a computationally-intensive program, and the output needs to be stereo.

Syntax:


Taken from Doug Scott's original documentation.

mikes(mike_angle, pattern_factor) /* optionally this... */

mikes_off() /* or this */

mikes is an optional setup call for times when you wish to simulate microphone recording (most of the time, actually). The arguments are mike_angle, which is the angle *each* microphone makes with a line drawn between them (i.e., 45 puts them at a 90 degree angle FROM EACH OTHER). pattern_factor is a value between 0 and one; 0 produces an omnidirectional mike, 1 produces a hypocardioid pattern, 0.5 produced the familiar cardioid pattern. If this call is left out, the pattern will be omnidirectional.

mikes_off() is used following a previous call to mikes(), in order to cancel mike mode in the event that you wish to use binaural mode (see below), or default to omnidirectional.

space (dist_to_front, dist_to_right, -dist_to_back, -dist_to_left, height, abs_fact, rvbtime)

space is the setup call for the room in which the sound will appear. Since the listener (YOU) is at point (0,0) coordinate-wise, the locations of the 4 walls are specified like in an x,y coordinate system:
                                  y
                                  |
                             -x---0---x
                                  |
                                 -y
Therefore the distance to the back and left walls must be specified as negative. All, including height, are in feet. abs_fac is a number between 0 (min) and 10 (max) that determines how reflective the walls are. rvbtime is the approximate length of reverb in seconds (max depends on roomsize).

PLACE (outskip, inskip, dur, amp, distance_to_sound, angle_of_sound, dist_between_mikes, 1.0)

PLACE has its first 3 args the same as other RTcmix signal-processing instruments such as MIX, etc.
Location of source is most easily specified in terms of distance and angle:

                                  0.0    source
                                   |    /
                                   |   /
                                   |  /
                                   | /
                                   |/
                                  you
in feet and degrees, respectively. Be sure to stay inside bounds of the room (it may take a bit of trigonometry [or guessing] to do that). By setting the dist_between_mikes negative, you may enter this as an (x, y) pair instead.

amp: amplitude factor for input signal (done before any of the processing).

dist_between_mikes: remember that this simulates a stereo image. Your 'mikes' should be anywhere from 1 to, say, 10 feet apart depending on the size of the room. If entered negative, this acts as a flag saying that the coordinates are entered as cartesian (x, y) rather than polar (distance, angle).

The last number is a global amp factor that affects all reflections and reverb equally, but not the direct signal. This is usually set to 1.0.

in comment form:

/* PLACE -- Doug Scott's room simulation instrument
*
* space (dist_to_front, dist_to_right, -dist_to_back, -dist_to_left, height, abs_fact, rvbtime)
*
* mikes(mike_angle, pattern_factor)
* mikes_off()
*
* PLACE(inskip, outskip, dur, amp, distance_to_sound, angle_of_sound, dist_between_mikes, 1.0)
*
*/

An example score:

rtsetparams(44100, 2)
load("PLACE")
rtinput("/sndgr/blah.snd")
rtoutput("/sndgr/blah.place.snd")

space(400,400,-400,-400,400,8.,10.)
PLACE(0,0,14.3,1,10,20,-1,1.)