[PD] Re: [PD-announce] space~ - object for spatialization of audio sources

Shahrokh Yadegari sdy at ucsd.edu
Mon Dec 6 07:18:30 CET 2004


Hi Oliver,

> the x=0,y=0 is in the center of the room? seems that the sound jumps
> from inside to outside on -1 * length/2 (stereo setup). funny effect.

This is basically how the model works. It is not really meant for 
moving the source inside the listening room. I am working on extending 
the model to handle this, but I still have not fully tested my ideas. I 
will post the results to the list.

>
> I played a little bit with space~, now on a faster machine, but I 
> still wonder where I should connect the reverb outlet to.

You can connect the reverb outlet either internally to a reverb object 
or externally to a reverb unit. You have to experiment with the reverb 
level that is diffused in the room to match your acoustics. When a 
source is in the listening room, no signal is sent to reverb. This 
especially helps to make the simulation more effective when the source 
travels from outside of the listening room through the listening room, 
but you need the reverb for a more realistic image placement in any 
case.

> Is there are reason that there are two ways of setting Theta and Back? 
> (inlets / messages)

Setting of Theta and Back through messages are ignored if "card" is 
specified as an argument to the object, in which case the real-time 
data is used for those variables. I added this feature for simplicity 
as most often one want to have an omnidirectional source which is the 
default when "card" is not specified. Thus, you have only 4 inlets 
instead of 6.

> did you think about writing a ladspa or dssi plugin?

Sure, but not extensively yet. I think the real problem there is to 
define an interface for how the path should be specified. I have not 
written a ladspa or dssi plugin yet, so if anybody has any ideas, I'll 
appreciate hearing about it.

Shahrokh.

On Dec 3, 2004, at 10:57 AM, oliver oli wrote:

> Hi Shahrokh,
>
> I played a little bit with space~, now on a faster machine, but I 
> still wonder where I should connect the reverb outlet to.
>
> Is there are reason that there are two ways of setting Theta and Back? 
> (inlets / messages)
>
> Thanks,
> oliver
>
> From: oliver oli <smoerk at gmail.com>
> Date: November 30, 2004 2:30:44 PM PST
> To: pd-list at iem.kug.ac.at
> Subject: Re: [PD-announce] space~ - object for spatialization of audio 
> sources
>
>
> Hi Shahrokh,
>
> nice external, seems to run stable, but my machine is a little bit slow
> to handle more than 2 quad space~ objects. as i don't know much about
> spetialization in general, what should i do with the reverb outlet?
>
> the x=0,y=0 is in the center of the room? seems that the sound jumps
> from inside to outside on -1 * length/2 (stereo setup). funny effect.
>
> did you think about writing a ladspa or dssi plugin?
>
> i like the idea that the speakers are windows to an outer room. i just
> shortly tried it, but it seems the image is much more stable than with
> panning if you walk through the room.
>
> now i have to get a faster machine to do something serious with it :-)
>
> oli
>
> Shahrokh Yadegari wrote:
>> Hi All,
>> I have just put up an alpha version of space~, which is a real-time 
>> implementation of the cmusic's space unit generator with many 
>> improvements. I have recently added a considerable amount of code for 
>> room management. So use it carefully.
>> You can download compiled versions for Linux and Mac OS X (Darwin) at:
>> http://www.crca.ucsd.edu/~yadegari/space.html
>> I have not compiled it for windows yet.
>> enjoy,
>> Shahrokh.
>> --------------
>> Notes for version 0.4alpha
>> --------------------------
>> Lots of code has been added to this version recently for room
>> management and treatment of the reflections when the source is
>> outside of the virtual space. Generally you should not allow the
>> source to go outside of the virtual source.  While I have tried to
>> accomodate for the source to be outside of the virtual space and
>> thus have the sense of a source being far apart, you should not
>> depend on this effect to stay the same. As usual reports of bugs
>> and suggestions are welcome. Send me mail at (sdy at ucsd.edu).
>> space~ - A module for spatialization of audio sources
>> -----------------------------------------------------
>> Based on an algorithm and a partial implementaion by F. Richard Moore
>> in "cmusic" as part of the Computer Audio Research Laboratory (CARL) 
>> package.
>> Real-time implementation, port to Pd, and new improvements by 
>> Shahrokh Yadegari.
>> With the help of Ted Apel , Anthony Burr , Harry Castle, and Miller 
>> Puckette.
>> Space~ is a real-time implementation of a general model for
>> spatialization of audio sources. The central conceit of the algorithm
>> is that of a room within a room.  The inner room is the space
>> delimited by the speakers which contains the listeners. The model
>> simulates the behavior of the sound source within a user-defined
>> virtual outer room, as heard from the inner room. The speakers
>> act as "windows" throug which sound from the outer room passes.
>> NOTE: In this implementation both the inner and outer rooms are
>> assumed to be squares. Also keep in mind that the simulation of a
>> source in the listening room is not as good as when the source is
>> in the virtual space and currently one hears sudden changes to the
>> level of audio on opposite speakers when a sources passes through
>> an inner wall.
>> The syntax to space~ is a follows:
>> ----------------------------------
>> space~ [card] [stereo|quad] [inner-room-size outer-room-size]
>> - card - indicates that the cardiod pattern information is supplied
>> for the audio source
>> - stereo|quad - specifies the diffusion mode (quad is the default)
>> - inner room size - is the size of the inner room in meters
>> - outer room size - is the size of the outer room in meters
>> (When inner room size and outer room size are not specified, sizes
>> 4 and 50 meters are assumed.)
>> All inlets and outlets of space~ are of type signal
>> Outputs for stereo
>> ------------------
>> 1 - Front Left
>> 2 - Front Right
>> 3 - to be connected to Reverb
>> Outputs for quad
>> ----------------
>> 1 - Front Left
>> 2 - Front Right
>> 3 - Rear Left
>> 4 - Rear Right
>> 5 - to be connected to Reverb
>> Inputs
>> --------
>> 1 - audio source
>> 2 - X coordinate in meters
>> 3 - Y coordinate in meters
>> 4 - amplitude (not in db)
>> Additional inputs when "card" is specified
>> ------------------------------------------
>> 5 - Theta (in radians) - source radiation direction
>> 6 - Back - radiation level in the opposite direction (0 <= Back <= 1)
>> Methods
>> -------
>> stop - stop spatial processing (for saving cpu cycles
>> start - start processing
>> theta - source radiation direction (when "card" is not specified)
>> back - radiation level in the opposite direction of theta (when 
>> "card" is not specified)
>> direct - affecting the power laws for calculating the direct ray 
>> attenuation
>> reflect - affecting the power laws for calculating the reflected ray 
>> attenuation
>> TH (also "th" or "threshold") - threshold value for ray diffraction 
>> simulation
>> CF (also "cf" or "crsossfade") - crossfade form for ray diffraction 
>> simulation
>> _______________________________________________
>> PD-announce mailing list
>> PD-announce at iem.at
>> http://iem.at/cgi-bin/mailman/listinfo/pd-announce
>
>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 7444 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20041205/7cacbdfb/attachment.bin>


More information about the Pd-list mailing list