Skip to content

Commit 3bb7fc4

Browse files
committed
Update the proposal based on latest feedback/comments
1 parent 167cdc2 commit 3bb7fc4

1 file changed

Lines changed: 43 additions & 30 deletions

File tree

proposal/audio-support/proposal.md

Lines changed: 43 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
We want to fully express audio devices in GDTF and MVR.
99

1010
We need to express the relevant data for:
11-
- Speakers
11+
- Speakers
1212
- Amplifiers
1313
- Signal Processors
1414
- Cabling
@@ -23,61 +23,74 @@ We need to express the relevant data for:
2323

2424
### New Geometry Type Speaker
2525

26-
We will add a new geometry type speaker. This represents one speaker inside the device and will act like the origin of the audio source. By default a audio device with two "real-world" speakers will have one GDTF Geometry speakers, as the properties for visualization and planning will be combined by this two things.
26+
We will add a new geometry type `Speaker`. This represents one speaker inside the device and acts as the origin of the audio source. By default, an audio device with two "real-world" speakers can have one GDTF `Speaker` geometry if the properties for visualization and planning are combined.
2727

2828
The attributes in addition to the default geometry attributes are:
2929

3030
| Attribute Name | Value Type / Unit | Description |
3131
|----|----|----|
32-
| Frequency Min | Number / Hertz | Minimal Frequency of the Speaker (-5db ??) |
33-
| Frequency Max | Number / Hertz | Maximal Frequency of the Speaker (-5db ??) |
34-
| AngleVertical | Number / Degree | Angle of the vertical distribution |
35-
| AngleHorizontal | Number / Degree | Angle of the horizontal distribution |
36-
| MaxSPL | Number / dB | Max Sound Pressure (1m ??) |
37-
| Impedance | Number / Ohm | Nominal impedance of the speaker |
38-
32+
| Frequency Min | Number / Hertz | Minimal frequency of the speaker at the -6 dB mark. |
33+
| Frequency Max | Number / Hertz | Maximal frequency of the speaker at the -6 dB mark. |
34+
| Sound Angle Horizontal Left | Number / Degree | Horizontal dispersion angle to the left side of the speaker axis. |
35+
| Sound Angle Horizontal Right | Number / Degree | Horizontal dispersion angle to the right side of the speaker axis. |
36+
| Sound Angle Vertical Up | Number / Degree | Vertical dispersion angle above the speaker axis. |
37+
| Sound Angle Vertical Down | Number / Degree | Vertical dispersion angle below the speaker axis. |
38+
| Sound Angle Rotation | Number / Degree | Rotation of the sound dispersion around the speaker axis. This allows asymmetric dispersion, for example an asymmetric sound field rotated by 45 degrees. |
39+
| Max SPL | Number | Maximum sound pressure level measured at 1 meter from the speaker. The value is interpreted together with the SPL format attributes below. |
40+
| Max SPL Excitation Signal | Enum | `PinkNoise`, `IEC60268ProgramSimulationNoise`, `EIA426BLoudspeakerTestSignal`, `AES75MNoise`. |
41+
| Max SPL Frequency Weighting | Enum | `None`, `A`, `C`. |
42+
| Max SPL Level Unit | Enum | `dB`, `dBZ`, `dBSPL`, `dBA`, `dBC`. |
43+
| Max SPL Time Weighting | Enum | `Fast`, `Slow`, `Leq`, `Peak`. |
44+
| Max SPL Time Unit | Enum | `F`, `S`, `Leq`, `LAeq`, `LCeq`. |
45+
| Impedance | Number / Ohm | Nominal impedance of the speaker. |
46+
47+
TODO: define defaults, exact attribute names.
48+
49+
Sound angles are intentionally not defined as adjustable ranges in this proposal. The proposal defines the actual sound dispersion with independent left, right, up, and down angles plus one rotation value. This supports asymmetric dispersion without requiring separate min/max angle ranges.
50+
51+
The SPL excitation signal, frequency weighting, level unit, time weighting, and time unit are independent metadata fields and can be used in any valid combination. The format only describes the stored value; applications should not convert the value when the format changes. If an application changes the SPL format for an existing value, it should clear the value and require a new value to be entered.
3952

4053
### New Geometry Type Listening Plane
4154

42-
Wer will add a new geometry that defines a listening plane. A listening plane is an area that will be used the calculate acoustics data at the given point. We will add this to GDTF, so that you can define spots of interest directly in a GDTF. An example for a use case is a chair, where you define the Listening Plane in the position where the ears of an person sitting normally are.
55+
We will add a new geometry type `ListeningPlane`. A listening plane defines an infinitesimally thin area that can be used to calculate acoustic data. The listening plane is placed in the GDTF hierarchy like other geometries, so spots of interest can be defined directly in a GDTF. Example use cases are audience areas or the ear position of a person sitting in a chair.
4356

44-
The use case is here that any application can define this zones of interest and programs that can calculate this can export additional result data for this. We will define the Listening plane format in such a way it is parametric, to that it is easy for all software to modify this.
57+
A listening plane is defined by a referenced `Geometry3D` file. This allows a polygon with any number of points instead of a fixed set of parametric shapes. The surface has no height range, width, depth, or volume; it is a single thin layer located by the geometry transform.
4558

46-
The attributes in addition to the default geometry attributes are:
59+
Example:
4760

48-
| Attribute Name | Value Type / Unit | Description |
49-
|----|----|----|
50-
| TypeOfListeningPlane | Enum | Rectangle, Triangle, ArcSegment, Eleptic, Cube |
51-
| PR | Array of 8 Points for Rectangle | Defines the 2D points of the |
52-
| PT | Array of 6 Points for Triangle | |
53-
| PA | Array of Points for ArcSegment | |
54-
| PE | Array of Points for Eleptic | |
55-
| Height | Number | For Cubes |
56-
| Width | Number | For Cubes |
57-
| Depth | Number | For Cubes |
61+
```xml
62+
<ListeningPlane name="Listening Plane" uuid="CE95360F-AF06-4715-93DA-FAE02E4C3E49">
63+
<Geometries>
64+
<Geometry3D fileName="ce95360f-af06-4715-93da-fae02e4c3e49.glb"/>
65+
</Geometries>
66+
</ListeningPlane>
67+
```
68+
69+
The referenced geometry should contain the polygonal listening surface. Applications that calculate acoustic data can use this surface as the target area for result data such as sound pressure level maps.
5870

5971
## MVR
6072

6173
We need to add data for the venue transfer.
6274

63-
We need to add data how the individual speakers, amps usw are placed and wired.
75+
We need to add data for how the individual speakers, amplifiers, signal processors, cabling, and networks are placed and wired.
6476

65-
We need an flag if an object is an obstacle for the audio calculation or should be ignored.
77+
We need a flag that defines whether an object is an obstacle for the audio calculation or should be ignored.
6678

67-
We need to decide oif we create an object for the Listening Plane that just lives in the MVR, or let a Scene object just contain a GDTF with a listening plane inside.
79+
Listening planes should be transferred as scene objects that reference GDTF data containing a `ListeningPlane`, instead of defining an MVR-only listening plane object.
6880

69-
We need to define, how we allow Line Arrays to define the load that this adds to the truss.
81+
We need to define how line arrays describe the load that they add to the truss.
7082

7183
| Attribute Name | Value Type / Unit | Description |
7284
|----|----|----|
73-
| AudioType | Enum | Obstacle, Ignore |
85+
| Audio Type | Enum | `Obstacle`, `Ignore`. |
86+
| Audio Material Name | String | Name of the material to use for audio analysis. This is used by receiving applications to derive reflectiveness or other acoustic properties. MVR only transfers the material name and does not define the acoustic material model. |
7487

7588
## User Story
7689

7790
Acceptance Criteria:
7891

7992
**Data Export from Various Sources:**
80-
- Ability to export MVR files containing complete scenes and all objects from software such as Blender, Capture, Depence,grandMA3, Production Assist, Unreal Engine ,Vectorworks,WYSIWYG ,zactrack.
93+
- Ability to export MVR files containing complete scenes and all objects from software such as Blender, Capture, Depence, grandMA3, Production Assist, Unreal Engine, Vectorworks, WYSIWYG, zactrack.
8194
- Ensure that all relevant data, including geometric information and object properties, are correctly encapsulated in the MVR files.
8295

8396
**Importing and Building the Venue in Array Calc:**
@@ -86,7 +99,7 @@ Acceptance Criteria:
8699

87100
**Audio System Configuration in Array Calc:**
88101
- Place and align arrays and speakers according to the predefined truss configurations within the MVR.
89-
-Configure the cabling, digital signal processing (DSP) settings, and verify sight lines for optimal audio distribution and audience visibility.
102+
- Configure the cabling, digital signal processing (DSP) settings, and verify sight lines for optimal audio distribution and audience visibility.
90103

91104
**Export from Array Calc:**
92105
- Export the newly positioned arrays and speakers with updated tilt angles.
@@ -97,4 +110,4 @@ Acceptance Criteria:
97110
**Reintegration into Other MVR-Compatible Software:**
98111
- Import the updated MVR files into another MVR-compatible application.
99112
- Adjust the positioning of arrays and speakers to maintain sight lines.
100-
- Display the SPL textures to visually represent the sound levels across different audience zones.
113+
- Display the SPL textures to visually represent the sound levels across different audience zones.

0 commit comments

Comments
 (0)