<hearpoint> ‐ A hearpoint
This element defines a hearpoint inside a scene graph. There can be several hearpoints inside a scene, only active viewpoints report the location of active sound sources in the scene. In addition if the user's boolean attribute sound_listener is true, a default hearpoint is located at the user's viewpoint.
UDP messages are synthetized according to the active sound sources and active hearpoints so that emitted sounds can be synthesized by an external application. The location of the sound source in the geometrical scene is important. The spherical coordinates of the sound sources with respect to each active hearpoint will sent to the sound synthesizer(s) through UDP messages that contain details about the relative position of the source with respect to the active hearpoint(s): azimuth, elevation, and distance (see Figure 5-9). These values are constantly updated according to the sound source and/or user and hearpoint displacements.
The syntax of the UDP messages that report the location of the active sources with respect to the active viewpoints is given by Equation 5-2: for each active viewpoint a message is sent with a prefix made of a time stamp and a hearpoint index (0 for the default hear point located on the user's viewpoint and otherwise an integer ≥1 for the rank of the viewpoint), and a suffix made of as many groups of one integer and three floats as active sound sources (the integer is the rank of the sound source and the three floats are the spherical coordinates of the sources in the hearpoint local coordinate system). There are as many messages as active hearpoints and these messages are sent to the UDP udp_remote_client whose listen_sound_messages attribute is true.
Equation 5-2. Expression with a vector norm computation
The boolean value of the active attribute defines whether this hearpoint is active or not: it tells whether the associated microphone is on or not.
The hearpoint of each user can be modified interactively by changing the boolean value of the active attribute through a set_node_attribute_value command with a hearpoint element as child node.
None.
The example below defines an active hearpoint named micro_1.
<hearpoint id="micro_1" active="true"/>