A node that continuously outputs constant sound source localization results. There are four parameters used for this node, which are ANGLES, ELEVATIONS, POWER, and MIN_ID, and the user sets azimuths (ANGLES), elevation angles (ELEVATIONS), power (POWER), and IDs (MIN_ID) of the sound sources. Since each of these parameters is Vector , multiple localization results can be output.
No files are required.
When to use
This node is used in the case that the user wishes to perform evaluations when a source localization result is already known. For example, when wishing to judge whether a problem is in the separation processing or are sound source localization errors, or wishing to evaluate the performance of sound separation under the same sound source localization condition, while evaluating the results of sound source separation.
Typical connection
Figure 6.21 shows a connection example. This network continuously displays constant localization results.
Input
No inputs.
Output
: Vector< ObjectRef > type. Fixed sound source localization results are output. The data ObjectRef refers to Source type data.
Parameter
Parameter name |
Type |
Default value |
Unit |
Description |
ANGLES |
<Vector<float> > |
[deg] |
Azimuth (right or left) of the sound source |
|
ELEVATIONS |
<Vector<float> > |
[deg] |
Elevation angle (up or down) of the sound source |
|
POWER |
<Vector<float> > |
Power of the sound sources |
||
MIN_ID |
0 |
IDs of the sound sources |
: Vector< float > type. Azimuth (right or left) of the direction that the sound source comes in. The unit of angle is degree.
: Vector< float > type. Elevation angle (up or down) of the direction that the sound source comes from. The unit of angle is degree.
: Vector< float > type. This sets the power of sound sources. The unit is dB, same as the spatial spectrum calculated in LocalizeMUSIC . This parameter is not mandatory. If nothing defined, POWER is automatically set as 1.0.
: int type. This sets the minimum ID number allocated to each sound source. The IDs should be unique in order to distinguish each sound source. The IDs are allocated in order of elements specified in ANGLES and ELEVATIONS, whose number if started from MIN_ID. For instance, if MIN_ID = 0 and ANGLES = <Vector<float> 0 30> are specified, the ID of $0^\circ $ sound source will be zero, and the ID of $30^\circ $ sound source will be one.
It is assumed that the number of sound sources is $N$, the azimuth (ANGLE) of the $i$ th sound source is $a_ i$ and the elevation angle (ELEVATION) is $e_ i$. Here, parameters are described as follows.
< Vector< float > $a_1$ $\dots $ $a_ N$>
< Vector< float > $e_1$ $\dots $ $e_ N$>
In this way, inputs are performed based on a spherical coordinate system, though the data that ConstantLocalization actually outputs are values in the Cartesian coordinate system $(x_ i, y_ i, z_ i)$, which correspond to points on the unit ball. Conversion from the spherical coordinate system to the Cartesian coordinate system is performed based on the following equations.
$\displaystyle x_ i $ | $\displaystyle = $ | $\displaystyle \cos ( a_ i \pi / 180 ) \cos ( e_ i \pi / 180 ) $ | (5) | ||
$\displaystyle y_ i $ | $\displaystyle = $ | $\displaystyle \sin ( a_ i \pi / 180 ) \cos ( e_ i \pi / 180 ) $ | (6) | ||
$\displaystyle z_ i $ | $\displaystyle = $ | $\displaystyle \sin ( e_ i \pi / 180 ) $ | (7) |
Other than the coordinates of sound sources, ConstantLocalization also outputs the power (specified by POWER. If not set, fixed at $1.0$) and ID (specified by MIN_ID + $i$) of the sound source.