From 8d43ff4ba879ce7992b4875a9da28af8a2073464 Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Sun, 11 Feb 2024 14:14:42 +0100 Subject: [PATCH 1/8] Speaker Geometry --- gdtf-spec.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gdtf-spec.md b/gdtf-spec.md index 6521e8d9..80a89279 100644 --- a/gdtf-spec.md +++ b/gdtf-spec.md @@ -1208,6 +1208,7 @@ of geometry collect are specified in [table 34](#user-content-table-34 ). | [Structure](#user-content-geometry-type-structure ) | Any | Geometry that describes the internal framing of an object (like members). | | [Support](#user-content-geometry-type-support ) | Any | Geometry that describes a support like a base plate or a hoist. | | [Magnet](#user-content-geometry-type-magnet ) | Any | Geometry that describes a point where other geometries should be attached. | +| [Speaker](#user-content-geometry-type-audio ) | Any | Geometry that describes a audio source. | @@ -1778,6 +1779,32 @@ defined XML attributes of a magnet geometry are specified in | Position | [Matrix](#user-content-attrtype-matrix ) | Relative position of geometry; Default value: Identity Matrix | +### Geometry Type Speaker + +This type of geometry is used to describe a speaker in a audio device. (XML node ``). The currently +defined XML attributes of a speaker geometry are specified in +[table 55](#user-content-table-XX ). + + +
+ +#### Table XX. *Magnet Attributes* + +| XML Attribute Name | Value Type | Description | +|----|----|----| +| Name | [Name](#user-content-attrtype-name ) | The unique name of the geometry. | +| Model | [Name](#user-content-attrtype-name ) | Link to the corresponding model. | +| Position | [Matrix](#user-content-attrtype-matrix ) | Relative position of geometry; Default value: Identity Matrix | +| LinkedConsumer | [Node](#user-content-attrtype-node ) | Name of the Wire Geometry that this speaker is connected to. Need to an consumer type. | +| Impedance | [Float](#user-content-attrtype-float ) | Impedance of the speaker. Note that Power consumption is defined be the LinkedConsumer consumptions. | +| VerticalCoverage | [Float](#user-content-attrtype-float ) | Vertical Coverage of the X db drop of the speaker in vertical distance. | +| HorizontalCoverage | [Float](#user-content-attrtype-float ) | Horizontal Coverage of the X db drop of the speaker in horizontal distance. Note that this values are defined in the Global Coordinate System of the GDTF. | +| FrequencyRangeMin | [Float](#user-content-attrtype-float ) | Minimum Frequency that the speaker supports. | +| FrequencyRangeMax | [Float](#user-content-attrtype-float ) | Maximum Frequency that the speaker supports. | +| MaxSPL | [Float](#user-content-attrtype-float ) | Maximum SPL of the speaker in the center of distribution. | + + +
The magnet geometry has the same children types as the geometry From a4ab9d0e11d083cbcf09a20d8722b2e9a722b03a Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Sun, 11 Feb 2024 14:21:27 +0100 Subject: [PATCH 2/8] Create proposal.md --- proposal/audio-support/proposal.md | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 proposal/audio-support/proposal.md diff --git a/proposal/audio-support/proposal.md b/proposal/audio-support/proposal.md new file mode 100644 index 00000000..38173038 --- /dev/null +++ b/proposal/audio-support/proposal.md @@ -0,0 +1,33 @@ +# Support for Audio Devices in MVR and GDTF + +## Linked Issue + + +# Problem + +We want to fully express audio devices in GDTF and MVR. + +We need to express the relevant data for: +- Speakers +- Amplifiers +- Signal Processors +- Cabling +- Power Calculation +- Networking + + +# Proposal + + +## GDTF + +### New Geometry Type Speaker + +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. + + + +## MVR + + + From 7f6335d987a5f3503ebce1acdbe5a4b2521aa32f Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Fri, 5 Apr 2024 14:00:48 +0200 Subject: [PATCH 3/8] Update proposal.md --- proposal/audio-support/proposal.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proposal/audio-support/proposal.md b/proposal/audio-support/proposal.md index 38173038..52ce9aca 100644 --- a/proposal/audio-support/proposal.md +++ b/proposal/audio-support/proposal.md @@ -29,5 +29,8 @@ We will add a new geometry type speaker. This represents one speaker inside the ## MVR +We need to add data for the venue transfer. + +We need to add data how the individual speakers, amps usw are placed and wired. From 8aa14bc91a44db7d7aea00097075c62d6797cbbc Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Thu, 18 Apr 2024 12:20:03 +0200 Subject: [PATCH 4/8] Add Properties of Speaker --- proposal/audio-support/proposal.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/proposal/audio-support/proposal.md b/proposal/audio-support/proposal.md index 52ce9aca..aeee8793 100644 --- a/proposal/audio-support/proposal.md +++ b/proposal/audio-support/proposal.md @@ -25,6 +25,16 @@ We need to express the relevant data for: 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. +| Attribute Name | Value Type / Unit | Description | +|----|----|----| +| Frequency Min | Number / Hertz | Minimal Frequency of the Speaker (-5db ??) | +| Frequency Max | Number / Hertz | Maximal Frequency of the Speaker (-5db ??) | +| AngleVertical | Number / Degree | Angle of the vertical distribution | +| AngleHorizontal | Number / Degree | Angle of the horizontal distribution | +| MaxSPL | Number / dB | Max Sound Pressure (1m ??) | +| Impedance | Number / Ohm | Nominal impedance of the speaker | + +### New Geometry Type Listening Plane ## MVR From 6196614bfdacd1757fc9cfaf4e584f9f51b4ef4a Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Thu, 18 Apr 2024 12:41:42 +0200 Subject: [PATCH 5/8] Add listenting plane --- proposal/audio-support/proposal.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/proposal/audio-support/proposal.md b/proposal/audio-support/proposal.md index aeee8793..a709cbea 100644 --- a/proposal/audio-support/proposal.md +++ b/proposal/audio-support/proposal.md @@ -25,6 +25,8 @@ We need to express the relevant data for: 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. +The attributes in addition to the default geometry attributes are: + | Attribute Name | Value Type / Unit | Description | |----|----|----| | Frequency Min | Number / Hertz | Minimal Frequency of the Speaker (-5db ??) | @@ -34,8 +36,25 @@ We will add a new geometry type speaker. This represents one speaker inside the | MaxSPL | Number / dB | Max Sound Pressure (1m ??) | | Impedance | Number / Ohm | Nominal impedance of the speaker | + ### New Geometry Type Listening Plane +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. + +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. + +The attributes in addition to the default geometry attributes are: + +| Attribute Name | Value Type / Unit | Description | +|----|----|----| +| TypeOfListeningPlane | Enum | Rectangle, Triangle, ArcSegment, Eleptic, Cube | +| PR | Array of 8 Points for Rectangle | Defines the 2D points of the | +| PT | Array of 6 Points for Triangle | | +| PA | Array of Points for ArcSegment | | +| PE | Array of Points for Eleptic | | +| Height | Number | For Cubes | +| Width | Number | For Cubes | +| Depth | Number | For Cubes | ## MVR From 5e70ae37a21d8aa610e542ace4b3b94bfc738771 Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Thu, 18 Apr 2024 12:48:19 +0200 Subject: [PATCH 6/8] Update proposal.md --- proposal/audio-support/proposal.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/proposal/audio-support/proposal.md b/proposal/audio-support/proposal.md index a709cbea..3d72dbe1 100644 --- a/proposal/audio-support/proposal.md +++ b/proposal/audio-support/proposal.md @@ -63,3 +63,29 @@ We need to add data for the venue transfer. We need to add data how the individual speakers, amps usw are placed and wired. +## User Story + +Acceptance Criteria: + +**Data Export from Various Sources:** +- 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. +- Ensure that all relevant data, including geometric information and object properties, are correctly encapsulated in the MVR files. + +**Importing and Building the Venue in Array Calc:** +- Import the MVR containing 3D data and geometries into Array Calc. +- Use the imported data to construct a detailed 3D venue that includes audience areas. + +**Audio System Configuration in Array Calc:** +- Place and align arrays and speakers according to the predefined truss configurations within the MVR. +-Configure the cabling, digital signal processing (DSP) settings, and verify sight lines for optimal audio distribution and audience visibility. + +**Export from Array Calc:** +- Export the newly positioned arrays and speakers with updated tilt angles. +- Export the bumper with load calculations for both front and rear attachments. +- Ensure all components such as cabling, DSP/amps settings, and speaker orientations are exported accurately. +- Export SPL (Sound Pressure Level) textures mapping on audience areas, if applicable. + +**Reintegration into Other MVR-Compatible Software:** +- Import the updated MVR files into another MVR-compatible application. +- Adjust the positioning of arrays and speakers to maintain sight lines. +- Display the SPL textures to visually represent the sound levels across different audience zones. \ No newline at end of file From 3c2362f4a8bb23c6ca5d1054bab94d6988e27cfe Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Thu, 18 Apr 2024 13:00:17 +0200 Subject: [PATCH 7/8] Update proposal.md --- proposal/audio-support/proposal.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/proposal/audio-support/proposal.md b/proposal/audio-support/proposal.md index 3d72dbe1..3e9fe27a 100644 --- a/proposal/audio-support/proposal.md +++ b/proposal/audio-support/proposal.md @@ -62,6 +62,13 @@ We need to add data for the venue transfer. We need to add data how the individual speakers, amps usw are placed and wired. +We need an flag if an object is an obstacle for the audio calculation or should be ignored. + +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. + +| Attribute Name | Value Type / Unit | Description | +|----|----|----| +| AudioType | Enum | Obstacle, Ignore | ## User Story From 167cdc26f82a76774dbba404d70bfe76aec55285 Mon Sep 17 00:00:00 2001 From: Moritz Staffel Date: Thu, 18 Apr 2024 13:16:49 +0200 Subject: [PATCH 8/8] Update proposal.md --- proposal/audio-support/proposal.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proposal/audio-support/proposal.md b/proposal/audio-support/proposal.md index 3e9fe27a..b1e35a27 100644 --- a/proposal/audio-support/proposal.md +++ b/proposal/audio-support/proposal.md @@ -66,6 +66,8 @@ We need an flag if an object is an obstacle for the audio calculation or should 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. +We need to define, how we allow Line Arrays to define the load that this adds to the truss. + | Attribute Name | Value Type / Unit | Description | |----|----|----| | AudioType | Enum | Obstacle, Ignore |