From 57aaff154f232b7edb79810cbb465511b5a1622b Mon Sep 17 00:00:00 2001 From: Matt Bennett Date: Fri, 15 Mar 2024 17:04:42 +0000 Subject: [PATCH 1/2] Sound API Initial Edits --- .../Appendices/SEV_API_UDP_connection.md | 9 - .../ASDforEV/Appendices/SEV_API_overview.md | 6 - .../Appendices/SEV_UG_API_doc_header.md | 15 - .../Sound/ASDforEV/Appendices/appendix.md | 7 - .../{Appendices => }/SEV_API_OSC_protocol.md | 21 +- .../{Appendices => }/SEV_API_SEV_Driving.md | 11 +- .../Sound/ASDforEV/SEV_API_UDP_connection.md | 6 + .../{Appendices => }/SEV_API_receiving.md | 11 +- .../{Appendices => }/SEV_API_sending.md | 23 +- 2024R2_Test/Sound/ASDforEV/docfx.json | 13 + .../i_SEV_CAN_API_OSC_messaging_format.png | Bin .../images/i_SEV_CAN_API_data_via_UDP.png | Bin 2024R2_Test/Sound/ASDforEV/index.md | 20 +- 2024R2_Test/Sound/ASDforEV/toc.yml | 14 + 2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost.md | 14 - .../CSS/{Sound/UG_Car => }/car_ost_c_prog.md | 0 .../{Sound/UG_Car => }/car_ost_osc_prot.md | 2 +- .../{Sound/UG_Car => }/car_ost_simdrive.md | 3 - .../images/sound-css-osc-messaging-format.png | Bin 2024R2_Test/Sound/CSS/index.md | 15 +- 2024R2_Test/Sound/CSS/toc.yml | 10 +- .../VRS/Sound/UG_VRS/VRS_communication.md | 13 - .../UG_VRS/VRS_communication_messages_list.md | 515 ---------------- .../Sound/UG_VRS/VRS_communication_sound.md | 18 - .../Sound/UG_VRS/VRS_communication_state.md | 31 - ...VRS_vr_sound_controller_3d_interpolated.md | 105 ---- .../UG_VRS/VRS_vr_sound_controller_ambient.md | 8 - .../UG_VRS/VRS_vr_sound_controller_file.md | 46 -- .../UG_VRS/VRS_vr_sound_controller_input.md | 10 - .../VRS_vr_sound_controller_sound_settings.md | 21 - .../VRS_vr_sound_controller_source_con.md | 61 -- .../UG_VRS => }/VRS_communication_messages.md | 5 +- .../VRS/VRS_communication_messages_list.md | 577 ++++++++++++++++++ .../UG_VRS => }/VRS_communication_osc.md | 19 +- .../Sound/VRS/VRS_communication_sound.md | 15 + .../Sound/VRS/VRS_communication_state.md | 73 +++ 2024R2_Test/Sound/VRS/docfx.json | 13 + .../images/3d_interpolated_offset.png | Bin .../images/3d_interpolated_sources_loaded.png | Bin .../images/3d_interpolates_samples_folder.png | Bin .../images/control_parameter_example.png | Bin .../{Sound/UG_VRS => }/images/diffuseness.png | Bin .../UG_VRS => }/images/file_loading.png | Bin .../{Sound/UG_VRS => }/images/file_tab.png | Bin .../VRS/{Sound/UG_VRS => }/images/img(10).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(10).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(11).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(12).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(14).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(15).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(16).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(16).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(17).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(18).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(19).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(20).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(21).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(22).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(23).png | Bin .../VRS/{Sound/UG_VRS => }/images/img(3).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(4).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(5).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(6).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(7).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(8).jpg | Bin .../VRS/{Sound/UG_VRS => }/images/img(9).jpg | Bin .../images/img(29).jpg => images/img29.jpg} | Bin .../images/interpolated_source_control.png | Bin .../images/load_control_parameters.png | Bin .../load_interpolated_sources_config.png | Bin .../UG_VRS => }/images/overlap_parameter.png | Bin .../{Sound/UG_VRS => }/images/sampledata.png | Bin .../UG_VRS => }/images/sources_settings.png | Bin .../UG_VRS => }/images/trajectory_file.png | Bin 2024R2_Test/Sound/VRS/index.md | 16 +- 2024R2_Test/Sound/VRS/toc.yml | 13 + 76 files changed, 796 insertions(+), 963 deletions(-) delete mode 100644 2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_UDP_connection.md delete mode 100644 2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_overview.md delete mode 100644 2024R2_Test/Sound/ASDforEV/Appendices/SEV_UG_API_doc_header.md delete mode 100644 2024R2_Test/Sound/ASDforEV/Appendices/appendix.md rename 2024R2_Test/Sound/ASDforEV/{Appendices => }/SEV_API_OSC_protocol.md (64%) rename 2024R2_Test/Sound/ASDforEV/{Appendices => }/SEV_API_SEV_Driving.md (76%) create mode 100644 2024R2_Test/Sound/ASDforEV/SEV_API_UDP_connection.md rename 2024R2_Test/Sound/ASDforEV/{Appendices => }/SEV_API_receiving.md (79%) rename 2024R2_Test/Sound/ASDforEV/{Appendices => }/SEV_API_sending.md (91%) create mode 100644 2024R2_Test/Sound/ASDforEV/docfx.json rename 2024R2_Test/Sound/ASDforEV/{Appendices => }/images/i_SEV_CAN_API_OSC_messaging_format.png (100%) rename 2024R2_Test/Sound/ASDforEV/{Appendices => }/images/i_SEV_CAN_API_data_via_UDP.png (100%) create mode 100644 2024R2_Test/Sound/ASDforEV/toc.yml delete mode 100644 2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost.md rename 2024R2_Test/Sound/CSS/{Sound/UG_Car => }/car_ost_c_prog.md (100%) rename 2024R2_Test/Sound/CSS/{Sound/UG_Car => }/car_ost_osc_prot.md (97%) rename 2024R2_Test/Sound/CSS/{Sound/UG_Car => }/car_ost_simdrive.md (98%) rename 2024R2_Test/Sound/CSS/{Sound/UG_Car => }/images/sound-css-osc-messaging-format.png (100%) delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_messages_list.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_sound.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_state.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_3d_interpolated.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_ambient.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_file.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_input.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_sound_settings.md delete mode 100644 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_source_con.md rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/VRS_communication_messages.md (81%) create mode 100644 2024R2_Test/Sound/VRS/VRS_communication_messages_list.md rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/VRS_communication_osc.md (74%) create mode 100644 2024R2_Test/Sound/VRS/VRS_communication_sound.md create mode 100644 2024R2_Test/Sound/VRS/VRS_communication_state.md create mode 100644 2024R2_Test/Sound/VRS/docfx.json rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/3d_interpolated_offset.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/3d_interpolated_sources_loaded.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/3d_interpolates_samples_folder.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/control_parameter_example.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/diffuseness.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/file_loading.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/file_tab.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(10).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(10).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(11).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(12).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(14).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(15).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(16).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(16).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(17).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(18).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(19).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(20).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(21).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(22).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(23).png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(3).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(4).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(5).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(6).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(7).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(8).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/img(9).jpg (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS/images/img(29).jpg => images/img29.jpg} (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/interpolated_source_control.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/load_control_parameters.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/load_interpolated_sources_config.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/overlap_parameter.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/sampledata.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/sources_settings.png (100%) rename 2024R2_Test/Sound/VRS/{Sound/UG_VRS => }/images/trajectory_file.png (100%) create mode 100644 2024R2_Test/Sound/VRS/toc.yml diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_UDP_connection.md b/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_UDP_connection.md deleted file mode 100644 index fded1813a7..0000000000 --- a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_UDP_connection.md +++ /dev/null @@ -1,9 +0,0 @@ -# UDP Connection {#SEV_API_UDP_connection .reference} - -Both communication modes are carried out on distinct UDP ports: - -- Messages **sent** to ASDforEV: Port **7450** -- Messages **received** from ASDforEV: Port **7460** - -**Parent topic:**[Ansys Sound: ASDforEV API Messages](../../../Sound/UG_ASDforEV/Appendices/SEV_API_SEV_Driving.md) - diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_overview.md b/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_overview.md deleted file mode 100644 index 98519e6ae3..0000000000 --- a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_overview.md +++ /dev/null @@ -1,6 +0,0 @@ -# Ansys Sound: ASDforEV API Overview {#API_overview .concept} - -Ansys Sound: ASDforEV can be directly driven using the Open Sound Control Protocol \(OSC\) over the UDP network protocol. OSC is described below. Using the API described in this document, one can send data \(vehicle messages, ADAS data, etc.\) to Ansys Sound: ASDforEV to command the sounds produced. - -**Parent topic:**[Ansys Sound: ASDforEV API Documentation](../../../Sound/UG_ASDforEV/Appendices/SEV_UG_API_doc_header.md) - diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_UG_API_doc_header.md b/2024R2_Test/Sound/ASDforEV/Appendices/SEV_UG_API_doc_header.md deleted file mode 100644 index db35e74497..0000000000 --- a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_UG_API_doc_header.md +++ /dev/null @@ -1,15 +0,0 @@ -# Ansys Sound: ASDforEV API Documentation {#header_SEV_API} - -This API document describes the driving parameters, also referred to as messages, which can be sent to or received from Ansys Sound: ASDforEV. - -The API helps you to configure your external device to read data. If you do not have the resources to configure it, Ansys can provide help. - -- **[Ansys Sound: ASDforEV API Overview](../../../Sound/UG_ASDforEV/Appendices/SEV_API_overview.md)** - -- **[OSC Protocol](../../../Sound/UG_ASDforEV/Appendices/SEV_API_OSC_protocol.md)** - -- **[Ansys Sound: ASDforEV API Messages](../../../Sound/UG_ASDforEV/Appendices/SEV_API_SEV_Driving.md)** - - -**Parent topic:**[Appendices](../../../Sound/UG_ASDforEV/appendix.md) - diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/appendix.md b/2024R2_Test/Sound/ASDforEV/Appendices/appendix.md deleted file mode 100644 index d978a3bd1e..0000000000 --- a/2024R2_Test/Sound/ASDforEV/Appendices/appendix.md +++ /dev/null @@ -1,7 +0,0 @@ -# Appendices {#appendix .concept} - -This section includes the Dewesoft and National Instruments software installation procedure, the Ansys Sound: ASDforEV CAN Reader User's Guide and the Ansys Sound: ASDforEV API Documentation. - -- **[Ansys Sound: ASDforEV API Documentation](../../Sound/UG_ASDforEV/Appendices/SEV_UG_API_doc_header.md)** -This API document describes the driving parameters, also referred to as messages, which can be sent to or received from Ansys Sound: ASDforEV. - diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_OSC_protocol.md b/2024R2_Test/Sound/ASDforEV/SEV_API_OSC_protocol.md similarity index 64% rename from 2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_OSC_protocol.md rename to 2024R2_Test/Sound/ASDforEV/SEV_API_OSC_protocol.md index 7d9c4f46f3..0c89129947 100644 --- a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_OSC_protocol.md +++ b/2024R2_Test/Sound/ASDforEV/SEV_API_OSC_protocol.md @@ -1,14 +1,14 @@ -# OSC Protocol {#SEV_API_OSC .concept} +# OSC Protocol -## OSC Standard { .section} +## OSC Standard -Open Sound Control \("OSC" - [http://opensoundcontrol.org](http://opensoundcontrol.org)\) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology and has been used in many application areas. OSC was defined and is supported by CNMAT of Berkeley University \([http://cnmat.berkeley.edu/](http://cnmat.berkeley.edu/)\) +Open Sound Control \(OSC - [opensoundcontrol.org](http://opensoundcontrol.org)\) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology and has been used in many application areas. OSC was defined and is supported by CNMAT of Berkeley University \([cnmat.berkeley.edu/](http://cnmat.berkeley.edu/)\) The unit of transmission of OSC is an OSC Packet. Any application that sends OSC Packets is an OSC Client. Any application that receives OSC Packets is an OSC Server. -## OSC for Ansys Sound: ASDforEV { .section} +## OSC for Ansys Sound: ASDforEV -Ansys Sound: ASDforEV communication uses "OSC Messages" only, refer to [open source control documentation](http://opensoundcontrol.org) for more details\). +Ansys Sound: ASDforEV communication uses **OSC Messages** only. Refer to [open source control documentation](http://opensoundcontrol.org) for more details. **Ansys Sound: ASDforEV** is the OSC server. @@ -20,7 +20,7 @@ OSC packets are sent from one application to the other using UDP protocol. An OS Under Windows operating system, OSC data endianness must be in BIG ENDIAN. -*"OSC STRING" is a sequence of non-null ASCII characters followed by a null, followed by 0-3 additional null characters to make the total number of bits a multiple of 32.* +*OSC STRING is a sequence of non-null ASCII characters followed by a null, followed by 0-3 additional null characters to make the total number of bits a multiple of 32.* Example 1: the string 'OSC' is coded as follows: @@ -69,11 +69,8 @@ An "OSC MESSAGE" contains: ![](images/i_SEV_CAN_API_OSC_messaging_format.png "OSC Messaging Format") -## References { .section} +## References -Original OSC documentation link: [http://opensoundcontrol.org](http://opensoundcontrol.org) - -OSCpack is a suitable library for C++ implementation of OSC messages: [http://www.rossbencina.com/code/oscpack](http://www.rossbencina.com/code/oscpack) - -**Parent topic:**[Ansys Sound: ASDforEV API Documentation](../../../Sound/UG_ASDforEV/Appendices/SEV_UG_API_doc_header.md) +Original OSC documentation: [opensoundcontrol.org](http://opensoundcontrol.org) +OSCpack is a suitable library for C++ implementation of OSC messages: [www.rossbencina.com/code/oscpack](http://www.rossbencina.com/code/oscpack) diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_SEV_Driving.md b/2024R2_Test/Sound/ASDforEV/SEV_API_SEV_Driving.md similarity index 76% rename from 2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_SEV_Driving.md rename to 2024R2_Test/Sound/ASDforEV/SEV_API_SEV_Driving.md index f5240cae47..81a8e12722 100644 --- a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_SEV_Driving.md +++ b/2024R2_Test/Sound/ASDforEV/SEV_API_SEV_Driving.md @@ -1,4 +1,4 @@ -# Ansys Sound: ASDforEV API Messages {#SEV_API_SEV_Driving .concept} +# Ansys Sound: ASDforEV API Messages **Ansys Sound: ASDforEV** communicates using OSC MESSAGES sent over UDP: there is one action at a time associated to one message. Each message is composed of a KEYWORD, followed by a single DATA item \(float or string\); the only exception is the message "ACTIVE", for which only the KEYWORD is sent \(no data, cf. below\). @@ -18,12 +18,9 @@ A Max/MSP code example, to send data to ASDforEV, is given in the figure below. ![](images/i_SEV_CAN_API_data_via_UDP.png "Max/MSP code example to send data to ASDforEV via UDP") -- **[UDP Connection](../../../Sound/UG_ASDforEV/Appendices/SEV_API_UDP_connection.md)** +- **[UDP Connection](SEV_API_UDP_connection.md)** -- **[Sending Messages to ASDforEV](../../../Sound/UG_ASDforEV/Appendices/SEV_API_sending.md)** +- **[Sending Messages to ASDforEV](SEV_API_sending.md)** Here is the list of messages that can be sent to Ansys Sound: ASDforEV using this API. -- **[Receiving Messages from ASDforEV](../../../Sound/UG_ASDforEV/Appendices/SEV_API_receiving.md)** +- **[Receiving Messages from ASDforEV](SEV_API_receiving.md)** Here is the list of messages that can be received from ASDforEV using this API. - -**Parent topic:**[Ansys Sound: ASDforEV API Documentation](../../../Sound/UG_ASDforEV/Appendices/SEV_UG_API_doc_header.md) - diff --git a/2024R2_Test/Sound/ASDforEV/SEV_API_UDP_connection.md b/2024R2_Test/Sound/ASDforEV/SEV_API_UDP_connection.md new file mode 100644 index 0000000000..f9856e4997 --- /dev/null +++ b/2024R2_Test/Sound/ASDforEV/SEV_API_UDP_connection.md @@ -0,0 +1,6 @@ +# UDP Connection + +Both communication modes are carried out on distinct UDP ports: + +- Messages **sent** to ASDforEV: Port **7450** +- Messages **received** from ASDforEV: Port **7460** diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_receiving.md b/2024R2_Test/Sound/ASDforEV/SEV_API_receiving.md similarity index 79% rename from 2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_receiving.md rename to 2024R2_Test/Sound/ASDforEV/SEV_API_receiving.md index 56d280fa6d..3269af9cde 100644 --- a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_receiving.md +++ b/2024R2_Test/Sound/ASDforEV/SEV_API_receiving.md @@ -1,8 +1,8 @@ -# Receiving Messages from ASDforEV {#SEV_API_receiving .reference} +# Receiving Messages from ASDforEV Here is the list of messages that can be received from ASDforEV using this API. -## Ambiance Messages { .section} +## Ambiance Messages |Keyword|Data|Comments| |-------|----|--------| @@ -10,7 +10,7 @@ Here is the list of messages that can be received from ASDforEV using this API. Similar messages are used for sound functions **Ambiance2** and **Ambiance3**. -## ADAS Messages { .section} +## ADAS Messages |Keyword|Data|Comments| |-------|----|--------| @@ -18,13 +18,10 @@ Similar messages are used for sound functions **Ambiance2** and **Ambiance3**. Similar messages are used for sound functions **ADAS2** to **ADAS5**. -## HMI Messages { .section} +## HMI Messages |Keyword|Data|Comments| |-------|----|--------| |**HMI1**|Sound function name \(string\)|**HMI1 **, where **** is the sound function name specified in ASDforEV, is sent, so that this name can be displayed in the application reading CAN data.| Similar messages are used for sound functions **HMI2** to **HMI15**. - -**Parent topic:**[Ansys Sound: ASDforEV API Messages](../../../Sound/UG_ASDforEV/Appendices/SEV_API_SEV_Driving.md) - diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_sending.md b/2024R2_Test/Sound/ASDforEV/SEV_API_sending.md similarity index 91% rename from 2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_sending.md rename to 2024R2_Test/Sound/ASDforEV/SEV_API_sending.md index 6d47bff736..a5dee422ba 100644 --- a/2024R2_Test/Sound/ASDforEV/Appendices/SEV_API_sending.md +++ b/2024R2_Test/Sound/ASDforEV/SEV_API_sending.md @@ -1,14 +1,14 @@ -# Sending Messages to ASDforEV {#SEV_API_sending .reference} +# Sending Messages to ASDforEV Here is the list of messages that can be sent to Ansys Sound: ASDforEV using this API. -## General Message { .section} +## General Message |Keyword|Data|Comments| |-------|----|--------| |**ALIVE**|empty|**ALIVE** \(with no DATA\) should be sent every 5 seconds so that ASDforEV can indicate that the CAN bus is still being read by the dedicated application| -## Vehicle Messages { .section} +## Vehicle Messages |Keyword|Data|Comments| |-------|----|--------| @@ -19,7 +19,7 @@ Here is the list of messages that can be sent to Ansys Sound: ASDforEV using thi |**Torque**|Value \(float\)|Engine torque in N.m| |**Brake**|Value \(float\)|Brake pedal position in %| -## Ambiance Messages { .section} +## Ambiance Messages |Keyword|Data|Comments| |-------|----|--------| @@ -28,7 +28,7 @@ Here is the list of messages that can be sent to Ansys Sound: ASDforEV using thi Similar messages are used for sound functions **Ambiance2** and **Ambiance 3**. -## SAF Messages { .section} +## SAF Messages |Keyword|Data|Comments| |-------|----|--------| @@ -36,7 +36,7 @@ Similar messages are used for sound functions **Ambiance2** and **Ambiance 3**. |**SAF\_Angle**|Value\(float\)|This message sends the values that will control the azimuth angle of the SAF sound function| |**SAF\_Diffuseness**|Value\(float\)|This message sends the values that will control the spatialization diffuseness of the SAF sound function| -## ICE-ASD Messages { .section} +## ICE-ASD Messages |Keyword|Data|Comments| |-------|----|--------| @@ -46,7 +46,7 @@ Similar messages are used for sound functions **Ambiance2** and **Ambiance 3**. |**ICEASD\_Load**|Value\(float\)|This message sends the values that will control the load used to pilot ICE-ASD gain| |**ICEASD\_Acceleration**|Value\(float\)|This message sends the values that will control the acceleration used to switch between 2 ICE-ASD datasets, respectively dedicated to acceleration and deceleration phases| -## ADAS Messages { .section} +## ADAS Messages |Keyword|Data|Comments| |-------|----|--------| @@ -56,7 +56,7 @@ Similar messages are used for sound functions **Ambiance2** and **Ambiance 3**. Similar messages are used for sound function **ADAS2** to sound function **ADAS5**. -## HMI Messages { .section} +## HMI Messages |Keyword|Data|Comments| |-------|----|--------| @@ -66,7 +66,7 @@ Similar messages are used for sound function **ADAS2** to sound function **ADAS5 Similar messages are used for sound function **HMI2** to sound function **HMI15**. -## Other Messages { .section} +## Other Messages |Keyword|Data|Comments| |-------|----|--------| @@ -80,13 +80,10 @@ Similar messages are used for sound function **HMI2** to sound function **HMI15* |**Wind**|Value \(float\)|This message sends wind speed values to be used in ASDforEV’s Vehicle data preprocessing| |**Time**|Value \(float\)|This message sends time of day values to be used in ASDforEV’s Vehicle data preprocessing| -## Custom Messages {#section_z4y_bys_nrb .section} +## Custom Messages |Keyword|Data|Comments| |-------|----|--------| |**Custom1**|Value \(float\)|This message sends an additional custom parameter's values to be used in ASDforEV’s External data preprocessing| Similar messages are used for 9 other custom signals, from **Custom2** to **Custom10**. - -**Parent topic:**[Ansys Sound: ASDforEV API Messages](../../../Sound/UG_ASDforEV/Appendices/SEV_API_SEV_Driving.md) - diff --git a/2024R2_Test/Sound/ASDforEV/docfx.json b/2024R2_Test/Sound/ASDforEV/docfx.json new file mode 100644 index 0000000000..ddc01d5625 --- /dev/null +++ b/2024R2_Test/Sound/ASDforEV/docfx.json @@ -0,0 +1,13 @@ +{ + "build": { + "globalMetadata": { + "title": "ASDforEV API 2024 R1", + "summary": "", + "version": "2024 R1", + "product": "Ansys Sound", + "programming language": "OSC", + "product collection": "Sound", + "physics": "Acoustics" + } + } + } \ No newline at end of file diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/images/i_SEV_CAN_API_OSC_messaging_format.png b/2024R2_Test/Sound/ASDforEV/images/i_SEV_CAN_API_OSC_messaging_format.png similarity index 100% rename from 2024R2_Test/Sound/ASDforEV/Appendices/images/i_SEV_CAN_API_OSC_messaging_format.png rename to 2024R2_Test/Sound/ASDforEV/images/i_SEV_CAN_API_OSC_messaging_format.png diff --git a/2024R2_Test/Sound/ASDforEV/Appendices/images/i_SEV_CAN_API_data_via_UDP.png b/2024R2_Test/Sound/ASDforEV/images/i_SEV_CAN_API_data_via_UDP.png similarity index 100% rename from 2024R2_Test/Sound/ASDforEV/Appendices/images/i_SEV_CAN_API_data_via_UDP.png rename to 2024R2_Test/Sound/ASDforEV/images/i_SEV_CAN_API_data_via_UDP.png diff --git a/2024R2_Test/Sound/ASDforEV/index.md b/2024R2_Test/Sound/ASDforEV/index.md index 3b34e7af51..3f71500a22 100644 --- a/2024R2_Test/Sound/ASDforEV/index.md +++ b/2024R2_Test/Sound/ASDforEV/index.md @@ -1,11 +1,13 @@ -# Ansys Sound: ASDforEV User's Guide +# Ansys Sound: ASDforEV API Documentation -- [Appendices](Sound/Appendices/appendix.md) - - [Ansys Sound: ASDforEV API Documentation](Sound/Appendices/SEV_UG_API_doc_header.md) - - [Ansys Sound: ASDforEV API Overview](Sound/Appendices/SEV_API_overview.md) - - [OSC Protocol](Sound/Appendices/SEV_API_OSC_protocol.md) - - [Ansys Sound: ASDforEV API Messages](Sound/Appendices/SEV_API_SEV_Driving.md) - - [UDP Connection](Sound/Appendices/SEV_API_UDP_connection.md) - - [Sending Messages to ASDforEV](Sound/Appendices/SEV_API_sending.md) - - [Receiving Messages from ASDforEV](Sound/Appendices/SEV_API_receiving.md) +Ansys Sound: ASDforEV can be directly driven using the Open Sound Control Protocol \(OSC\) over the UDP network protocol. Using the API described in this document, you can send data \(vehicle messages, ADAS data, etc.\) to Ansys Sound: ASDforEV to command the sounds produced. +This API document describes the driving parameters, also referred to as messages, which can be sent to or received from Ansys Sound: ASDforEV. + +The API helps you to configure your external device to read data. If you do not have the resources to configure it, Ansys can provide help. + +- [OSC Protocol](SEV_API_OSC_protocol.md) +- [Ansys Sound: ASDforEV API Messages](SEV_API_SEV_Driving.md) + - [UDP Connection](SEV_API_UDP_connection.md) + - [Sending Messages to ASDforEV](SEV_API_sending.md) + - [Receiving Messages from ASDforEV](SEV_API_receiving.md) diff --git a/2024R2_Test/Sound/ASDforEV/toc.yml b/2024R2_Test/Sound/ASDforEV/toc.yml new file mode 100644 index 0000000000..54e49652ec --- /dev/null +++ b/2024R2_Test/Sound/ASDforEV/toc.yml @@ -0,0 +1,14 @@ +- name: ASDforEV API Documentation + href: index.md + items: + - name: OSC Protocol + href: SEV_API_OSC_protocol.md + - name: ASDforEV API Messages + href: SEV_API_SEV_Driving.md + items: + - name: UDP Connection + href: SEV_API_UDP_connection.md + - name: Sending Messages to ASDforEV + href: SEV_API_sending.md + - name: Receiving Messages from ASDforEV + href: SEV_API_receiving.md \ No newline at end of file diff --git a/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost.md b/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost.md deleted file mode 100644 index 1b565ff47a..0000000000 --- a/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost.md +++ /dev/null @@ -1,14 +0,0 @@ -# Introduction - -API for Direct Driving of Ansys Sound: Car Sound Simulator through UDP. - -Ansys Sound - Car Sound Simulator is driven: - -- Directly using the Open Sound Control Protocol (OSC) over the UDP network protocol. -- Or by using a specialized method implying the use of a proprietary communication application transferring data between the simulator and Car Sound Simulator. - -Documentation structure: - -- [OSC Protocol](Sound/UG_Car/car_ost_osc_prot.md): Describes the usage of the OSC protocol for controlling Ansys Sound - Car Sound Simulator. -- [Ansys Sound: Car Sound Simulator - OSC Messages](Sound/UG_Car/car_ost_simdrive.md): Provides detailed information about the specific OSC messages used to drive the Car Sound Simulator within Ansys Sound. -- [C++ Program](Sound/UG_Car/car_ost_c_prog.md): Offers guidance on integrating the API into C++ programs for efficient control of the Car Sound Simulator. \ No newline at end of file diff --git a/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_c_prog.md b/2024R2_Test/Sound/CSS/car_ost_c_prog.md similarity index 100% rename from 2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_c_prog.md rename to 2024R2_Test/Sound/CSS/car_ost_c_prog.md diff --git a/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_osc_prot.md b/2024R2_Test/Sound/CSS/car_ost_osc_prot.md similarity index 97% rename from 2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_osc_prot.md rename to 2024R2_Test/Sound/CSS/car_ost_osc_prot.md index f7948f4e9c..7e8ecbcca5 100644 --- a/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_osc_prot.md +++ b/2024R2_Test/Sound/CSS/car_ost_osc_prot.md @@ -72,7 +72,7 @@ An "OSC MESSAGE" contains: : OSC String -![](images\sound-css-osc-messaging-format.png "OSC messaging format") +![](images/sound-css-osc-messaging-format.png "OSC messaging format") ## References diff --git a/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_simdrive.md b/2024R2_Test/Sound/CSS/car_ost_simdrive.md similarity index 98% rename from 2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_simdrive.md rename to 2024R2_Test/Sound/CSS/car_ost_simdrive.md index 6d9c2f0f5b..912465b2a2 100644 --- a/2024R2_Test/Sound/CSS/Sound/UG_Car/car_ost_simdrive.md +++ b/2024R2_Test/Sound/CSS/car_ost_simdrive.md @@ -239,6 +239,3 @@ Message sent to locate the position of the listener's head for head-tracked bina Elevation angle is then rotY with a positive angle when the listener raises the head. | - -**Parent topic:**[API for Direct Driving of Ansys Sound: Car Sound Simulator through UDP](../../Sound/UG_Car/car_ost.md) - diff --git a/2024R2_Test/Sound/CSS/Sound/UG_Car/images/sound-css-osc-messaging-format.png b/2024R2_Test/Sound/CSS/images/sound-css-osc-messaging-format.png similarity index 100% rename from 2024R2_Test/Sound/CSS/Sound/UG_Car/images/sound-css-osc-messaging-format.png rename to 2024R2_Test/Sound/CSS/images/sound-css-osc-messaging-format.png diff --git a/2024R2_Test/Sound/CSS/index.md b/2024R2_Test/Sound/CSS/index.md index 72d02678a2..d0fb34b763 100644 --- a/2024R2_Test/Sound/CSS/index.md +++ b/2024R2_Test/Sound/CSS/index.md @@ -1,7 +1,12 @@ -# Ansys Sound: Car Sound Simulator User's Guide +# Ansys Sound: CSS API Documentation -- [API for Direct Driving of Ansys Sound: Car Sound Simulator through UDP](Sound/UG_Car/car_ost.md) - - [OSC Protocol](Sound/UG_Car/car_ost_osc_prot.md) - - [Ansys Sound: Car Sound Simulator - OSC Messages](Sound/UG_Car/car_ost_simdrive.md) - - [C++ Program](Sound/UG_Car/car_ost_c_prog.md) +Ansys Sound: Car Sound Simulator can be driven: +- Directly using the Open Sound Control Protocol (OSC) over the UDP network protocol. +- Or by using a specialized method implying the use of a proprietary communication application transferring data between the simulator and Car Sound Simulator. + +Documentation structure: + +- [OSC Protocol](car_ost_osc_prot.md): Describes the usage of the OSC protocol for controlling Ansys Sound - Car Sound Simulator. +- [Ansys Sound: Car Sound Simulator - OSC Messages](car_ost_simdrive.md): Provides detailed information about the specific OSC messages used to drive the Car Sound Simulator within Ansys Sound. +- [C++ Program](car_ost_c_prog.md): Offers guidance on integrating the API into C++ programs for efficient control of the Car Sound Simulator. \ No newline at end of file diff --git a/2024R2_Test/Sound/CSS/toc.yml b/2024R2_Test/Sound/CSS/toc.yml index d8126a559e..13e30584fe 100644 --- a/2024R2_Test/Sound/CSS/toc.yml +++ b/2024R2_Test/Sound/CSS/toc.yml @@ -1,9 +1,9 @@ -- name: Introduction - href: Sound\UG_Car\car_ost.md +- name: CSS API Documentation + href: index.md items: - name: OSC Protocol - href: Sound\UG_Car\car_ost_osc_prot.md + href: car_ost_osc_prot.md - name: Car Sound Simulator - OSC Messages - href: Sound\UG_Car\car_ost_simdrive.md + href: car_ost_simdrive.md - name: C++ Program - href: Sound\UG_Car\car_ost_c_prog.md \ No newline at end of file + href: car_ost_c_prog.md \ No newline at end of file diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication.md deleted file mode 100644 index 78f083de47..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication.md +++ /dev/null @@ -1,13 +0,0 @@ -# Communication {#jpkgae} - -- **[OSC Protocol](../../Sound/UG_VRS/VRS_communication_osc.md)** - -- **[Sound Playback Process](../../Sound/UG_VRS/VRS_communication_sound.md)** - -- **[Messages Format](../../Sound/UG_VRS/VRS_communication_messages.md)** - -- **[Messages List](../../Sound/UG_VRS/VRS_communication_messages_list.md)** - -- **[State of the Sound Generator](../../Sound/UG_VRS/VRS_communication_state.md)** - - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_messages_list.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_messages_list.md deleted file mode 100644 index 79593d17b2..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_messages_list.md +++ /dev/null @@ -1,515 +0,0 @@ -# Messages List {#jpkgaeMessages} - -There are 3 types of messages: - -- The control messages, corresponding to a global instruction, such as initialization. -- The event service messages, such as the loading or triggering of a sound source. -- The recurrent service messages sent periodically, corresponding to updates of the listener position or the sources positions. - -## Control Messages {#section_bf1_hfh_ftb .section} - -|**Keyword**|**Data**|**Comments**| -|GLOBAL\_INIT - -|IP address of the supervisor\(for example : 192.168.0.1\) - -|IP address and port used for the sending of state messages. Resets the sound generator \(Id's cleared\). - -| -|Port \(for example : 5555\) - -| -|Sending period of the ALIVE message \(in milliseconds\) - -| -|GLOBAL\_PAUSE - -|none - -|Pauses the playback of all sound sources. Freezes the sound generator. - -| -|GLOBAL\_RESUME - -|none - -|Resumes the playback. - -| -|GLOBAL\_3D\_MODE - -|Rendering Mode \(string\) - -|The rendering modes are: - - « Binaural » - - « VBAP » - - « Transaural » - - « DoubleTransaural» - - « Ambisonic» - -| -|API\_COORDINATES\_MODE - -|Coordinate Mode \(string\) - -|The available coordinate modes are: - - A - Virtools/Unity - - B - Polhemus - - C - Angular mode - -| - -## Event Service Messages {#section_z42_3fh_ftb .section} - -|**Keyword**|**Data**|**Comments**| -|SOUND\_LOAD|Id \(Int, from 0 to 32765\) - -|Preload a sound - -| -|File name \(string\) - -|Full path of the sound file including extension - -| -|SOUND\_PLAY\_3D|Playback Slot \(int\) - -|Playback of a spatialized sound \(1 ≤ Slot ≤ 10\) - -| -|Sound Id \(int\) - -| | -|Number of playbacks \(int\) - -|Number of playbacks: -1 means infinite loop - -| -|Volume \(float, gain in dB\) - -|Initial volume - -| -|x \(float\) - - y \(float\) - - z \(float\) - -|Initial position of the source - -| -|INTERP\_SOUND\_PLAY|Slot \(int, from 1 to 10\) - -|Playback of a spatialized sound \(1 ≤ Slot ≤ 10\) - -| -|Volume \(float, gain in dB\) - -|Initial volume - -| -|x \(float\) - - y \(float\) - - z \(float\) - -|Initial position of the source - -| -|Spat \(int 0/1\) - -|Spatialization off/on - -| -|Tracker \(int 0/1\) - -|Tracking off/on - -| -|Solo \(int 0/1\) - -|Solo off/on - -| -|Mute \(int 0/1\) - -|Mute off/on - -| -|SOUND\_PLAY\_AMBIANCE|Playback Slot \(int\) - -|Playback of an ambiance source \(1 ≤ Slot ≤ 2\) - -| -|Sound Id \(int\) - -| | -|Number of playbacks \(int\) - -|Number of playbacks: -1 means infinite loop - -| -|Volume \(float, gain in dB\) - -|Initial volume - -| -|Solo \(int 0/1\) - -|Solo off/on - -| -|Mute \(int 0/1\) - -|Mute off/on - -| -|Speed \(float\) - -|Playback speed \(1 is the normal speed. Changing the values also affects the pitch. - -| -|INPUTCHANNEL\_SOUND\_PLAY|Channel Id \(int\) - -|Activates the playback of an input audio stream. - - ID = input number in the sound card. - -| -|Volume \(float, gain in dB\) - -|Initial volume - -| -|x \(float\) - - y \(float\) - - z \(float\) - -|Initial position of the source - -| -|Spat \(int 0/1\) - -|Spatialization off/on - -| -|Tracker \(int 0/1\) - -|Tracking off/on - -| -|Solo \(int 0/1\) - -|Solo off/on - -| -|Mute \(int 0/1\) - -|Mute off/on - -| -|SOUND\_STOP\_3D|Slot \(int\) - -|Stops the playback of a 3D sound - -| -|INTERP\_SOUND\_STOP|Slot \(int, from 1 to 10\) - -|Stops the playback of a 3D Interpolated source - -| -|SOUND\_STOP\_AMBIANCE|Slot \(int\) - -|Stops the playback of an ambiance sound - -| -|INPUTCHANNEL\_SOUND\_STOP|Channel Id \(int\) - -|Stops the input channel audio stream - -| -|SOUND\_VOLUME\_3D|Slot \(int\) - - Volume \(float, gain in dB\) - -|Changes the sound volume of an ambiance sound. - - 0 dB = unitary gain - - Maximum gain allowed = 20 dB - -| -|INTERP\_SOUND\_VOLUME|Slot \(int\) - - Volume \(float, gain in dB\) - -|Changes the sound volume of a 3D interpolated source. - - 0 dB = unitary gain - - Maximum gain allowed = 10 dB - -| -|SOUND\_VOLUME\_AMBIANCE|Slot \(int\) - - Volume \(float, gain in dB\) - -|Changes the sound volume of an ambiance sound. - - 0 dB = unitary gain - - Maximum gain allowed = 20 dB - -| -|INPUTCHANNEL\_VOLUME|Channel Id \(int\) - - Volume \(float, gain in dB\) - -|Changes the sound volume of the input channel stream. - - 0 dB = unitary gain - - Maximum gain allowed = 20 dB - -| -|SOLO\_3D|Slot \(int\) - - Solo info \(int 0/1\) - -|When solo is activated \(1\) on a 3D track, all other tracks are muted except those in solo mode. - -| -|INTERP\_SOLO|Slot \(int\) - - Solo info \(int 0/1\) - -|When solo is activated \(1\) on a 3D interpolated source, all other tracks are muted except those in solo mode. - -| -|SOLO\_AMBIANCE|Slot \(int\) - - Solo info \(int 0/1\) - -|When solo is activated \(1\) on an ambiance track, all other tracks are muted except those in solo mode. - -| -|INPUTCHANNEL\_SOLO|Channel Id \(int\) - - Solo info \(int 0/1\) - -|When solo is activated \(1\) on the input channel track, all other tracks are muted except those in solo mode. - -| -|MUTE\_3D|Slot \(int\) - - Mute info \(int 0/1\) - -|When mute is activated \(1\) on a 3D track, this track becomes silent. - -| -|INTERP\_MUTE|Slot \(int\) - - Mute info \(int 0/1\) - -|When mute is activated \(1\) on a 3D interpolated source, this track becomes silent. - -| -|MUTE\_AMBIANCE|Slot \(int\) - - Mute info \(int 0/1\) - -|When mute is activated \(1\) on an ambiance track, this track becomes silent. - -| -|INPUTCHANNEL\_MUTE|Channel Id \(int\) - - Mute info \(int 0/1\) - -|When mute is activated \(1\) on the input channel track, this track becomes silent. - -| -|ACTIVE\_SPAT\_3D|Slot \(int\) - - Spat info \(int 0/1\) - -|For binaural or transaural restitution only. When the spatialization is activated \(1\), the sound can be perceived in 3D. - -| -|INTERP\_ACTIVE\_SPAT|Slot \(int\) - - Spat info \(int 0/1\) - -|For binaural or transaural restitution only. When the spatialization is activated \(1\), the sound can be perceived in 3D. - -| -|INPUTCHANNEL\_ACTIVE\_SPAT|Channel Id \(int\) - - Spat info \(int 0/1\) - -|For binaural or transaural restitution only. When the spatialization is activated \(1\), the sound can be perceived in 3D. - -| -|ACTIVE\_TRACKING\_3D|Slot \(int\) - - Head-tracking info \(int 0/1\) - -|For 3D tracks and binaural restitution only. When the head-tracking is activated\(1\), the listener can move their head and the source remains at an absolute position in space. - -| -|INTERP\_ACTIVE\_TRACKING|Slot \(int\) - - Head-tracking info \(int 0/1\) - -|For 3D tracks and binaural restitution only. When the head-tracking is activated\(1\), the listener can move their head and the source remains at an absolute position in space. - -| -|INPUTCHANNEL\_ACTIVE\_TRACKING|Channel Id \(int\) - - Head-tracking info \(int 0/1\) - -|For binaural restitution only. When the head- tracking is activated\(1\), the listener can move their head and the input channelstream remains at an absolute position in space. - -| -|SPEED\_3D|Slot \(int\) - - Playback speed \(float\) - -|Playback speed for 3D sounds \(1 is the normal speed\). Changing the values also affects the pitch. - -| -|SPEED\_AMBIANCE|Slot \(int\) - - Playback speed \(float\) - -|Playback speed for ambiance sounds \(1 is the normal speed\). Changing the values also affects the pitch. - -| -|3D\_SOURCE\_TRAJECTORY|Slot \(Int, from 1 to 20\) - - File name \(string\) - -|Load a trajectory. - - Full path of the trajectory file including extension. - -| -|INTERP\_TRAJECTORY|Slot \(Int, from 1 to 10\) - - File name \(string\) - -|Load a trajectory. - - Full path of the trajectory file including extension. - -| -|3D\_SOURCE\_DIFFUSENESS|Slot \(Int, from 1 to 20\) - - Diffuseness value \(int, %\) - -|For 3D sources in VBAP rendering mode only. - - 0% means the source is not spread, 100% means the source is totally surrounding and diffused over all speakers. - -| -|INTERP\_SOURCE\_DIFFUSENESS|Slot \(Int, from 1 to 10\) - - Diffuseness value \(int, %\) - -|For interpolated sources in VBAP rendering mode only. - - 0% means the source is not spread, 100% means the source is totally surrounding and diffused over all speakers. - -| -|INPUTCHANNEL\_SOURCE\_DIFFUSENESS|Slot \(Int, from 1 to 3\) - - Diffuseness value \(int, %\) - -|For 3D input streams in VBAP rendering mode only. - - 0% means the source is not spread, 100% means the source is surrounding and diffused over all speakers. - -| -|INTERP\_CONTROL\_PARAM|Slot \(int\) - - Control parameter value \(int\) - -|Depending on the type of source, the control parameter can be speed, RPM, or any parameter that has an influence on the rendering of the source. - -| -|INTERP\_OVERLAP|Slot \(int\) - - Overlap value \(int\) - -|This is the overlap value between two adjacent samples, in the same unit as the control parameter. - -| - -## Recurrent Service Messages {#section_mlp_kfh_ftb .section} - -|**Keyword**|**Data**|**Comments**| -|HEAD\_POSITION\_3D|x \(float\) - - y \(float\) - - z \(float\) - -|Head coordinates - -| -|Yaw \(float, radians\) - - Pitch \(float, radians\) - - Roll \(float, radians\) - -|Head orientation using Euler Angles \(Tait-Bryan convention: Azimuth- Elevation-Roll\) - -| -|SOURCE\_POSITION\_3D|Slot \(int\) - - x \(float\) - - y \(float\) - - z \(float\) - -|Source position update - -| -|INTERP\_SOURCE\_POSITION|Slot \(int\) - - x \(float\) - - y \(float\) - - z \(float\) - -|Source position update - -| -|INPUTCHANNEL\_POSITION|Slot \(int\) - - x \(float\) - - y \(float\) - - z \(float\) - -|Input channel stream position update - -| - -**Parent topic:**[Communication](../../Sound/UG_VRS/VRS_communication.md) - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_sound.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_sound.md deleted file mode 100644 index cbc640dec7..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_sound.md +++ /dev/null @@ -1,18 +0,0 @@ -# Sound Playback Process {#jpkgaeSound} - -For [3D Sources](VRS_vr_sound_controller_source_con.md) and [Ambiance Sources](VRS_vr_sound_controller_ambient.md), the process is as follows: - -1. A sound file located on the audio PC \(or on the network\) is preloaded, and associated with an identification number. -2. The playback is triggered using the identification number associated with a slot. -3. The sound is stopped using the slot number. - -To play a same sound on two different tracks \(or more\), a file must be loaded twice \(or more\), each instance associated with different IDs. - -For [3D Input Streams](VRS_vr_sound_controller_input.md), starting and stopping the stream is done by enabling/disabling the dedicated input channel on the sound card. - -For [3D Interpolated Sources](VRS_vr_sound_controller_3d_interpolated.md), the **Play**/**Stop** button allows the playback and stop of the samples from the corresponding source. The pitch of the sound and the way the samples overlap are controlled by the values of the **Control** parameter and the **Overlap** parameter respectively. - -A maximum of twenty 3D sources, ten 3D interpolated sources, two Ambiance sources and three 3D input streams can be played at the same time. - -**Parent topic:**[Communication](../../Sound/UG_VRS/VRS_communication.md) - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_state.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_state.md deleted file mode 100644 index e122564608..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_state.md +++ /dev/null @@ -1,31 +0,0 @@ -# State of the Sound Generator {#jpkgaeState} - -The following messages are periodically sent by the sound generator to give information regarding its state. - -|**Keyword**|**Data**|**Comments**| -|***Messages periodically sent by the sound generator***| -|ALIVE|none|Provides information that the sound generator is functioning - - Sent each 500ms, or by a time lapse - - defined by GLOBAL\_INIT - -| -|***Messages sporadically sent by the sound generator***| -|WARNING|string|Reports a warning| -|ERROR|string|Reports an error| -|INFO END\_PLAY\_3D|Id \(int\)|Informs that the playback of the 3D - - sound associated with Id is over - -| -|INFO END\_PLAY\_AMBIANCE|Id \(int\)|Informs that the playback of the - - ambiance sound associated with Id is over - -| - -The sound generator is not functioning when no ALIVE message is sent in the time frame defined above. - -**Parent topic:**[Communication](../../Sound/UG_VRS/VRS_communication.md) - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_3d_interpolated.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_3d_interpolated.md deleted file mode 100644 index c091249a3e..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_3d_interpolated.md +++ /dev/null @@ -1,105 +0,0 @@ -# 3D Interpolated Sources {#vrs_3d_interpolated_sources} - -The user-interface for **3D Interpolated sources** is mostly similar to that for [3D Sources](VRS_vr_sound_controller_source_con.md). See that section for a summary of common controls. - -3D interpolated sources are sound sources based on samples, whose pitch vary depending on the value of their **control** parameter. - -For example, consider an engine sound. If you have previously-recorded samples at fixed RPM values, such as 1000 RPM, 2000 RPM, 3000 RPM up to 6000 RPM, you can render an evolving engine sound across the RPM range by interpolating in real-time between two fixed-RPM samples, the two chosen samples depending on the current RPM value. In this case, RPM would be the control parameter of the interpolated source \(see below\). - -![](images/interpolated_source_control.png) - -The Ansys Sound: Analysis and Specification application contains functionality for creating loopable samples without any clicks or audio spikes. - -## Configuration Files {#section_xws_mbz_gwb .section} - -When you open the **3D Interpolated sources** tab in **VR Sound Controller**, you must select the required configuration file, containing the information about the sources. - -![](images/load_interpolated_sources_config.png) - -This is done by clicking the **Load interpolated sources config** button \(see above\) and using the dialog to select the required file. - -The sources are then configured as specified \(see below\). - -![](images/3d_interpolated_sources_loaded.png) - -**Note:** - -The 3D Interpolated sources configuration can be changed at any time by clicking the same button and selecting a different configuration file. - -3D interpolated sources have their own .VRSis configuration files, with the following format: - -![](images/sampledata.png) - -**Note:** - -VR Sound supports configuration files with both the .VRSis and .cfg extensions. - -Each 3D interpolated source needs five fields to be filled: - -- **FolderSample** - the name of the subfolder containing the samples for this source. This must be located inside the Interpolation samples folder shown below. -- **SampleFiles** - the list of the filenames of the samples. Names must be written between quotes, and parameter control values must be listed from lowest to the highest. For example, for a car engine sound, if 5 samples are available, recorded at 1000, 2000, 3000, 4000, and 5000 RPM, the corresponding filenames should be specified in that order. -- **SampleParameterValues** - a list of values corresponding to the values of the control parameter for the samples. For example, for a car engine sound, if 5 samples recorded at 1000, 2000, 3000, 4000, and 5000 RPM are available, the list will be: 1000 2000 3000 4000 5000. The values must be separated by a space character. -- **SourceName** - the name of the source, as it will be displayed in the corresponding slot on the interface. -- **OverlapValue** - the value for the **Overlap** parameter as described above. - -It is possible to have up to ten 3D interpolated sources, each source having a maximum of ten samples. - -**Note:** - -Samples must be stored on the filesystem in a folder named Interpolation samples in the same location as the .VRSis configuration file \(see below\). - -![](images/3d_interpolates_samples_folder.png) - -**Note:** - -[Saving a project](VRS_vr_sound_controller_file.md) in will also save the selected configuration for 3D interpolated sources. Only one configuration file for 3D interpolated sources is allowed for each project. - -## Control Parameters {#section_lnk_4bz_gwb .section} - - also offers the possibility for 3D interpolated sources to load scenarios for the evolution of the control parameter over time. This is done by clicking the **Load control parameter data** icon \(see below\). - -![](images/load_control_parameters.png) - -A browser then opens and asks you to select the required scenario file. These scenarios must be text files formatted as follows: - -![](images/control_parameter_example.png) - -The data is made up of 2 vectors: - -- 1 vector for the time \(in seconds\) -- 1 vector for the corresponding control parameter value - -Once a control parameter scenario is loaded, its reading starts and stops along with the **Play** button ![](images/img(3).jpg) in the top left corner of the window. A scenario file can be removed by double-clicking the file name. If an interpolated source is loaded and has an associated trajectory scenario and control parameter scenario, VR Sound then allows complete autonomy for the 3D-rendering of the sound source over time. - -An **Overlap** parameter is also accessible from the interface for 3D interpolated sources. - -If you want to render an engine sound at 2500 RPM, and the adjacent samples are recordings made at 2000 RPM and 3000 RPM, the final interpolated sound will be a mix of the 3000 RPM sample pitched down and the 2000 RPM sample pitched up. - -The overlap parameter will define the quantity in the mix, as shown in the figure below: - -![](images/overlap_parameter.png) - -In this example, an overlap of 200 RPM has been chosen. This means that the sample at 2000 RPM and the sample at 3000 RPM will overlap in the range 2400 to 2600 RPM. - -The blue curve is the gain of the 2000 RPM sample \(gain = 1 before 2400 RPM, gain fades between 2400 and 2600 RPM, and gain = 0 at 2600 RPM\). - -The red curve is the gain of the 3000 RPM sample \(gain = 0 before 2400 RPM, gain increases between 2400 and 2600 RPM, and gain = 1 after 2600 RPM\). - -The accurate value for the overlap parameter depends on the application and the type of sound. Best practice for setting the overlap is to try different values and keep the one that sounds the best. - -## Start Offset {#vrs_3d_interpolated_offset .section} - -When working with **3D Interpolated sources** and using the same sound sample for multiple sources \(particularly with similar RPM values\), you may experience an unwanted, time-varying comb filter effect. - -The **Offset \(ms\)** parameter for each source \(see below\) allows you to specify the starting point for sample playback. Setting a different **Offset \(ms\)** value for each source that uses the same sample will help to remove this effect. The starting point offset applies to playback of the first loop only. Subsequent loops will use the entire sample. - -![](images/3d_interpolated_offset.png) - -To assist with this operation, a **Fill random offsets** option is available \(see above\). This assigns a random **Offset \(ms\)** value to each of the defined sources. If the randomly-applied offsets are not sufficient to remove the comb filtering effect, they can then be manually adjusted as required. - -Once the **Offset \(ms\)** values have been defined, they are saved along with the current project and so will not need to be defined again. - -**Note:** - -If the specified **Offset \(ms\)** value for a particular source is larger than the sample length, the actual offset used will be calculated as *modulo* the sample duration. - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_ambient.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_ambient.md deleted file mode 100644 index f9d923cdeb..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_ambient.md +++ /dev/null @@ -1,8 +0,0 @@ -# Ambiance Sources {#topicID5Ambient} - -Two elements allow you to control the ambient sources, as shown below: - -![](images/img(21).png) - -The control of ambient sources is similar to the control of 3D sources except that there is no spatialization \(the signal is directly delivered to the headphones\). - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_file.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_file.md deleted file mode 100644 index 22dbc92c7c..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_file.md +++ /dev/null @@ -1,46 +0,0 @@ -# File {#VRS_vr_sound_controller_file} - -VR Sound offers the facility to save and load projects, using the dedicated **File** tab on the controller interface: - -![](images/file_tab.png) - -A project includes all the sound parameters that have potentially been modified by the user: - -- Sound files -- Sound trajectories -- Sources positions -- Sound volumes -- Diffuseness values \(in VBAP mode\) -- Playback speed values -- Solo, Mute, Active 3D and Active Tracking states -- Sound card inputs for 3Dinput streams -- 3D interpolated sources configuration file -- All sample files, control and overlap parameter values for 3D interpolated sources -- Global settings \(Doppler on/off, Reference distance, Roll-off factor, Display scale\) - -A project does not include parameters realting to the rendering mode. Rendering parameters are independent and are specified in the configuration file VR Sound.cfg. - -To save a VR Sound project: - -- Click the **Save project** button on the controller **File** tab. -- Enter a path and filename for the project, with the extension .VRSproject. - -Once these are chosen, a folder is created with the same name. This folder contains: - -- The .VRSproject file -- All the sounds that are used in the project \(including the samples for the 3D interpolated sources\) -- All the trajectories that are used in the project -- The configuration file for the 3D interpolated sources, SampleData.cfg - -Saving all this data inside a single folder allows you to transport a project easily from one PC to another, as everything that is needed by the project is already included. - -To load a VR Sound project: - -- Click the **Open project** button on the controller **File** tab. -- In the file dialog, select a .VRSproject file. -- A message appears while the project is loading: - -![](images/file_loading.png) - -Once the project is loaded, all the parameters and values that were stored in the project are restored. - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_input.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_input.md deleted file mode 100644 index 6611c213d4..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_input.md +++ /dev/null @@ -1,10 +0,0 @@ -# 3D Input Streams {#topicID5Input} - -The following window allows you to control an audio stream in the audio sound card input: - -![](images/img(22).png) - -The control of the input channel source is similar to the control of 3D sources except that there is no control of the playback speed and no loop capability, as the input is a real-time audio stream. - -The ![](images/img(23).png) button allows you to choose the sound card input on which the audio stream is routed. - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_sound_settings.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_sound_settings.md deleted file mode 100644 index 048ef48de2..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_sound_settings.md +++ /dev/null @@ -1,21 +0,0 @@ -# Sources Settings {#sources_settings} - -This button allows you to control the parameters for the distance effect and Doppler effect, by opening the following window: - -![](images/sources_settings.png) - -The **Doppler effect**, which corresponds to the perceived frequency shift in the sound when the distance between the source and the listener varies quickly, can be set to either **on** or **off**. - -**Distance damping** can be set to **on** or **off** and is controlled by two parameters: - -- **RollOff factor**: This factor determines the slope of the damping. The higher the value, the highest the damping evolves with distance. A value of 1 gives standard 1/r2 damping as shown in the figure below. -- **Reference distance**: The damping starts when the distance between the sound source and the listener is greater that the reference distance. When the distance is less than this, no gain is applied to the sound. - -This graph shows the influence of these 2 parameters: - -![](images/img(16).jpg) - -Regarding the display scale on the source positioning interface, the chosen value corresponds to half the size of the square used to move the source. - -**Note:** Either or both of these controls can be deactivated if Doppler effect or distance damping are already contained in the recording. - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_source_con.md b/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_source_con.md deleted file mode 100644 index f334f652e1..0000000000 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_vr_sound_controller_source_con.md +++ /dev/null @@ -1,61 +0,0 @@ -# 3D Sources {#topicID53D} - -This interface is composed of up to twenty 3D source control elements: - -![](images/img(10).png) - -These elements allow you to control each 3D source via the following buttons: - -- ![](images/img(11).png): load a sound or trajectory file \(see Trajectories below\). -- ![](images/img(3).jpg)/ ![](images/img(4).jpg): play / stop -- ![](images/img(6).jpg) / ![](images/img(5).jpg)/ ![](images/img(12).png): disable/enable the loop playback, an infinite number of times or a specified number of times. The Ansys Sound: Analysis and Specification application contains functionality for creating loopable samples without any clicks or audio spikes. -- ![](images/img(14).png): set the sound source level. -- ![](images/diffuseness.png) \(VBAP mode only\): 0% means the source is not spread, 100% means the source is totally surrounding and diffused over all speakers. -- ![](images/img(15).png): set the playback speed for the sound sample. This also affects the pitch of the sample \(the faster the playback, the higher the pitch\) . -- ![](images/img(7).jpg) / ![](images/img(8).jpg) mute off/on: Mute the source. -- ![](images/img(9).jpg) / ![](images/img(10).jpg) solo off/on: Solo mode. -- ![](images/img(16).png) / ![](images/img(17).png)3D off/on: disable/enable the spatialization for 3D sources \(binaural rendering only\) -- ![](images/img(18).png) / ![](images/img(19).png) Head-tracking off/on: disable/enable the head-tracking information \(binaural rendering only\) - -The source position in space can be modified by displacing the small circle with the mouse in the horizontal \(X/Y\) square panel, and by adjusting the Z slider on its right. The gray cross in the center of the square panel represents the reference position. - -![](images/img(20).png) - -The source coordinates are displayed to the left of this panel. - -## Trajectories {#section_prd_jcg_ftb .section} - -It is possible to load a trajectory associated with the sound. If you load a trajectory and then click play, the sound will play and its position will evolve in real-time according to the defined trajectory. Trajectories are .txt files that are formatted as follows: - -![](images/trajectory_file.png) - -The first line is the file header and defines the version number. - -The second line defines the columns: Time\(s\), the three coordinate columns dependent on the selected mode, and the signal gain in dB, as described below. - -The third line specifies the coordinate mode in which the trajectory is defined: - -- A = Virtools/unity mode, in which: - - X is the left/right direction \(positive to the right side\) - - Y is the up/down direction \(positive is up\) - - Z is the front/back direction \(positive to the front\) - - GaindB is the gain in dB applied to the sound at that point in the trajectory -- B = Polhemus mode, in which: - - X is the front/back direction \(positive to the front\) - - Y is the left/right direction \(positive to the right side\) - - Z is the up/down direction \(positive is down\) - - GaindB is the gain in dB applied to the sound at that point in the trajectory -- C = Angular mode \(available for trajectories only\), in which: - - A \(Azimuth\) is the left/right angle in degrees \(positive to the right side\) - - E \(Elevation\) is the up/down angle in degrees \(positive is up\) - - D \(Distance\) is an adimensional distance measurement \(this can be specified in any unit, but must be consistent with other distances used in the application and with the sound damping law\) - - GaindB is the gain in dB applied to the sound at that point in the trajectory - -In each mode, the GaindB parameter can be used to partially model the directivity of a sound source. For example, when the listener is suddenly positioned behind, rather than in front of, turbojet engines at the point in a trajectory where an aircraft passes directly overhead. This parameter can also be used to model distance damping with greater precision than the **Distance Damping** control in [Sources Settings](VRS_vr_sound_controller_sound_settings.md). - -A trajectory defined in a certain coordinate mode is still compatible if VR Sound is running in the other coordinate mode \(the data is adapted\). - -The other lines are the sequence of **Time X Y Z GaindB** or **Time A E D GaindB** information. - -**Note:** Each trajectory file must comply with the format described above. The time step for the data should ideally be in the range 10 to 30 ms, although the application will always interpolate the data to a 20 ms timestep to ensure smooth spatialization and optimization of CPU load. - diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_messages.md b/2024R2_Test/Sound/VRS/VRS_communication_messages.md similarity index 81% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_messages.md rename to 2024R2_Test/Sound/VRS/VRS_communication_messages.md index eb622ff6e9..222fb45b3e 100644 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_messages.md +++ b/2024R2_Test/Sound/VRS/VRS_communication_messages.md @@ -1,4 +1,4 @@ -# Messages Format {#jpkgadeMessages} +# Messages Format Messages are sent as strings, using OSC protocol. They are composed of a keyword and numerical values @@ -7,6 +7,3 @@ separated by a space: KEY\_WORD VALUE1 VALUE2 ... Each value can be a string, and int or a float. Messages end with the lined feed character \(ASCII code 10\). On the audio PC, messages are received on ports 5555, 5556, 5557, 5558, 5559, 5560, 5561, 5562, 5563, and 5564. Messages can be received on any of these ports. The sending rate of the messages must not exceed 60 Hz. - -**Parent topic:**[Communication](../../Sound/UG_VRS/VRS_communication.md) - diff --git a/2024R2_Test/Sound/VRS/VRS_communication_messages_list.md b/2024R2_Test/Sound/VRS/VRS_communication_messages_list.md new file mode 100644 index 0000000000..c9c77b7f97 --- /dev/null +++ b/2024R2_Test/Sound/VRS/VRS_communication_messages_list.md @@ -0,0 +1,577 @@ +# Messages List + +There are 3 types of messages: + +- The control messages, corresponding to a global instruction, such as initialization. +- The event service messages, such as the loading or triggering of a sound source. +- The recurrent service messages sent periodically, corresponding to updates of the listener position or the sources positions. + +## Control Messages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeywordDataComments
GLOBAL_INITIP address of the supervisor (for example : 192.168.0.1)IP address and port used for the sending of state messages. Resets the sound generator (Id's cleared).
Port (for example : 5555)
Sending period of the ALIVE message (in milliseconds)
GLOBAL_PAUSEnonePauses the playback of all sound sources. Freezes the sound generator.
GLOBAL_RESUMEnoneResumes the playback.
GLOBAL_3D_MODERendering Mode (string)The rendering modes are:
Binaural
VBAP
Transaural
DoubleTransaural
Ambisonic
API_COORDINATES_MODECoordinate Mode (string)The available coordinate modes are:
A - Virtools/Unity
B - Polhemus
C - Angular mode
+ +## Event Service Messages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeywordDataComments
SOUND_LOADId (Int, from 0 to 32765)Preload a sound
+

File name (string)

+
Full path of the sound file including extension
SOUND_PLAY_3DPlayback Slot (int)Playback of a spatialized sound (1 ≤ Slot ≤ 10)
Sound Id (int)
Number of playbacks (int)Number of playbacks: -1 means infinite loop
Volume (float, gain in dB)Initial volume
+

x (float)

+

y (float)

+

z (float)

+
Initial position of the source
INTERP_SOUND_PLAYSlot (int, from 1 to 10)Playback of a spatialized sound (1 ≤ Slot ≤ 10)
>Volume (float, gain in dB)Initial volume
+

x (float)

+

y (float)

+

z (float)

+
Initial position of the source
Spat (int 0/1)Spatialization off/on
Tracker (int 0/1)Tracking off/on
Solo (int 0/1)Solo off/on
Mute (int 0/1)Mute off/on
SOUND_PLAY_AMBIANCEPlayback Slot (int)Playback of an ambiance source (1 ≤ Slot ≤ 2)
Sound Id (int)
Number of playbacks (int)Number of playbacks: -1 means infinite loop
Volume (float, gain in dB)Initial volume
>Solo (int 0/1)Solo off/on
Mute (int 0/1)Mute off/on
Speed (float)Playback speed (1 is the normal speed). Changing the values also affects the pitch.
INPUTCHANNEL_SOUND_PLAYChannel Id (int) +

Activates the playback of an input audio stream.

+

ID = input number in the sound card.

+
Volume (float, gain in dB)Initial volume
+

x (float)

+

y (float)

+

z (float)

+
Initial position of the source
Spat (int 0/1)Spatialization off/on
>Tracker (int 0/1)Tracking off/on
Solo (int 0/1)Solo off/on
Mute (int 0/1)Mute off/on
SOUND_STOP_3DSlot (int)Stops the playback of a 3D sound
INTERP_SOUND_STOPSlot (int, from 1 to 10)Stops the playback of a 3D Interpolated source
SOUND_STOP_AMBIANCESlot (int)Stops the playback of an ambiance sound
INPUTCHANNEL_SOUND_STOPChannel Id (int)Stops the input channel audio stream
SOUND_VOLUME_3D +

Slot (int)

+

Volume (float, gain in dB)

+
+

Changes the sound volume of an ambiance sound.

+

0 dB = unitary gain

+

Maximum gain allowed = 20 dB

+
INTERP_SOUND_VOLUME +

Slot (int)

+

Volume (float, gain in dB)

+
+

Changes the sound volume of a 3D interpolated source.

+

0 dB = unitary gain

+

Maximum gain allowed = 10 dB

+
SOUND_VOLUME_AMBIANCE +

Slot (int)

+

Volume (float, gain in dB)

+
+

Changes the sound volume of an ambiance sound.

+

0 dB = unitary gain

+

Maximum gain allowed = 20 dB

+
INPUTCHANNEL_VOLUME +

Channel Id (int)

+

Volume (float, gain in dB)

+
+

Changes the sound volume of the input channel stream.

+

0 dB = unitary gain

+

Maximum gain allowed = 20 dB

+
SOLO_3D +

Slot (int)

+

Solo info (int 0/1)

+
When solo is activated (1) on a 3D track, all other tracks are muted except those in solo mode.
INTERP_SOLO +

Slot (int)

+

Solo info (int 0/1)

+
When solo is activated (1) on a 3D interpolated source, all other tracks are muted except those in solo mode.
SOLO_AMBIANCE +

Slot (int)

+

Solo info (int 0/1)

+
When solo is activated (1) on an ambiance track, all other tracks are muted except those in solo mode.
INPUTCHANNEL_SOLO +

Channel Id (int)

+

Solo info (int 0/1)

+
When solo is activated (1) on the input channel track, all other tracks are muted except those in solo mode.
MUTE_3D +

Slot (int)

+

Mute info (int 0/1)

+
When mute is activated (1) on a 3D track, this track becomes silent.
INTERP_MUTE +

Slot (int)

+

Mute info (int 0/1)

+
When mute is activated (1) on a 3D interpolated source, this track becomes silent.
MUTE_AMBIANCE +

Slot (int)

+

Mute info (int 0/1)

+
>When mute is activated (1) on an ambiance track, this track becomes silent.
INPUTCHANNEL_MUTE +

Channel Id (int)

+

Mute info (int 0/1)

+
When mute is activated (1) on the input channel track, this track becomes silent.
ACTIVE_SPAT_3D +

Slot (int)

+

Spat info (int 0/1)

+
+

For binaural or transaural restitution only. When the spatialization + is activated (1), the sound can be perceived in 3D.

+
INTERP_ACTIVE_SPAT +

Slot (int)

+

Spat info (int 0/1)

+
+

For binaural or transaural restitution only. When the spatialization + is activated (1), the sound can be perceived in 3D.

+
INPUTCHANNEL_ACTIVE_SPAT +

Channel Id (int)

+

Spat info (int 0/1)

+
+

For binaural or transaural restitution only. When the spatialization + is activated (1), the sound can be perceived in 3D.

+
ACTIVE_TRACKING_3D +

Slot (int)

+

Head-tracking info (int 0/1)

+
+

For 3D tracks and binaural restitution only. When the head-tracking + is activated(1), the listener can move their head and the source + remains at an absolute position in space.

+
INTERP_ACTIVE_TRACKING +

Slot (int)

+

Head-tracking info (int 0/1)

+
+

For 3D tracks and binaural restitution only. When the head-tracking + is activated(1), the listener can move their head and the source + remains at an absolute position in space.

+
INPUTCHANNEL_ACTIVE_TRACKING +

Channel Id (int)

+

Head-tracking info (int 0/1)

+
+

For binaural restitution only. When the head- tracking is + activated(1), the listener can move their head and the input + channelstream remains at an absolute position in space.

+
SPEED_3D +

Slot (int)

+

Playback speed (float)

+
+

Playback speed for 3D sounds (1 is the normal speed). Changing the + values also affects the pitch.

+
SPEED_AMBIANCE +

Slot (int)

+

Playback speed (float)

+
+

Playback speed for ambiance sounds (1 is the normal speed). Changing + the values also affects the pitch.

+
3D_SOURCE_TRAJECTORY +

Slot (Int, from 1 to 20)

+

File name (string)

+
+

Load a trajectory.

+

Full path of the trajectory file including extension.

+
INTERP_TRAJECTORY +

Slot (Int, from 1 to 10)

+

File name (string)

+
+

Load a trajectory.

+

Full path of the trajectory file including extension.

+
3D_SOURCE_DIFFUSENESS +

Slot (Int, from 1 to 20)

+

Diffuseness value (int, %)

+
+

For 3D sources in VBAP rendering mode only.

+

0% means the source is not spread, 100% means the source is totally + surrounding and diffused over all speakers.

+
INTERP_SOURCE_DIFFUSENESS +

Slot (Int, from 1 to 10)

+

Diffuseness value (int, %)

+
+

For interpolated sources in VBAP rendering mode only.

+

0% means the source is not spread, 100% means the source is totally + surrounding and diffused over all speakers.

+
INPUTCHANNEL_SOURCE_DIFFUSENESS +

Slot (Int, from 1 to 3)

+

Diffuseness value (int, %)

+
+

For 3D input streams in VBAP rendering mode only.

+

0% means the source is not spread, 100% means the source is + surrounding and diffused over all speakers.

+
INTERP_CONTROL_PARAM +

Slot (int)

+

Control parameter value (int)

+
+

Depending on the type of source, the control parameter can be speed, + RPM, or any parameter that has an influence on the rendering of the + source.

+
INTERP_OVERLAP +

Slot (int)

+

Overlap value (int)

+
+

This is the overlap value between two adjacent samples, in the same + unit as the control parameter.

+
+ +## Recurrent Service Messages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Keyword Data Comments
HEAD_POSITION_3D +

x (float)

+

y (float)

+

z (float)

+
+

Head coordinates

+
+

Yaw (float, radians)

+

Pitch (float, radians)

+

Roll (float, radians)

+
+

Head orientation using Euler Angles (Tait-Bryan convention: Azimuth- + Elevation-Roll)

+
SOURCE_POSITION_3D +

Slot (int)

+

x (float)

+

y (float)

+

z (float)

+
+

Source position update

+
INTERP_SOURCE_POSITION +

Slot (int)

+

x (float)

+

y (float)

+

z (float)

+
+

Source position update

+
INPUTCHANNEL_POSITION +

Slot (int)

+

x (float)

+

y (float)

+

z (float)

+
+

Input channel stream position update

+
diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_osc.md b/2024R2_Test/Sound/VRS/VRS_communication_osc.md similarity index 74% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_osc.md rename to 2024R2_Test/Sound/VRS/VRS_communication_osc.md index 0c852b466a..1c0babd7c5 100644 --- a/2024R2_Test/Sound/VRS/Sound/UG_VRS/VRS_communication_osc.md +++ b/2024R2_Test/Sound/VRS/VRS_communication_osc.md @@ -1,10 +1,10 @@ -# OSC Protocol {#jpkgaeOSC} +# OSC Protocol Open Sound Control \(OSC\) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology and has been used -in [many application areas](http://archive.cnmat.berkeley.edu/OpenSoundControl/application-areas.html). +in many application areas. -OSC was defined and is supported by **CNMAT** of **Berkeley University**[\(http://cnmat.berkeley.edu/](http://cnmat.berkeley.edu/)\) +OSC was defined and is supported by **CNMAT** of Berkeley University. \(from CNMAT OSC documentation\) @@ -54,13 +54,10 @@ it is an OSC STRING beginning with a comma and followed by as many « type tags A TYPE TAG is a set of letter coding the binary data type following. These types used by VR Sound are: \{‘i','f','s'\} -- - « **i** » integer 32 bits -- « **f** » for single precision floating point values \(32 bits\) -- « **s** » OSC String +- « **i** » integer 32 bits +- « **f** » for single precision floating point values \(32 bits\) +- « **s** » OSC String -![](images/img(29).jpg) - -For more information, see the Original CNMAT: [http://archive.cnmat.berkeley.edu/OpenSoundControl/OSC-spec.html](http://archive.cnmat.berkeley.edu/OpenSoundControl/OSC-spec.html) - -**Parent topic:**[Communication](../../Sound/UG_VRS/VRS_communication.md) +![OSC Communication](images/img29.jpg) +For more information, see the original CNMAT. diff --git a/2024R2_Test/Sound/VRS/VRS_communication_sound.md b/2024R2_Test/Sound/VRS/VRS_communication_sound.md new file mode 100644 index 0000000000..91746fd302 --- /dev/null +++ b/2024R2_Test/Sound/VRS/VRS_communication_sound.md @@ -0,0 +1,15 @@ +# Sound Playback Process + +For **3D Sources** and **Ambiance Sources**, the process is as follows: + +1. A sound file located on the audio PC \(or on the network\) is preloaded, and associated with an identification number. +2. The playback is triggered using the identification number associated with a slot. +3. The sound is stopped using the slot number. + +To play a same sound on two different tracks \(or more\), a file must be loaded twice \(or more\), each instance associated with different IDs. + +For **3D Input Streams**, starting and stopping the stream is done by enabling/disabling the dedicated input channel on the sound card. + +For **3D Interpolated Sources**, the **Play**/**Stop** button allows the playback and stop of the samples from the corresponding source. The pitch of the sound and the way the samples overlap are controlled by the values of the **Control** parameter and the **Overlap** parameter respectively. + +A maximum of twenty 3D sources, ten 3D interpolated sources, two Ambiance sources and three 3D input streams can be played at the same time. diff --git a/2024R2_Test/Sound/VRS/VRS_communication_state.md b/2024R2_Test/Sound/VRS/VRS_communication_state.md new file mode 100644 index 0000000000..fa764b288d --- /dev/null +++ b/2024R2_Test/Sound/VRS/VRS_communication_state.md @@ -0,0 +1,73 @@ +# State of the Sound Generator + +The following messages are periodically sent by the sound generator to give information regarding its state. + + + + + + + + + + + + + + + + +
+ Keyword + + Data + + Comments +
ALIVEnone +

Provides information that the sound generator is functioning

+

Sent each 500ms, or by a time lapse defined by GLOBAL_INIT

+
+ +The following messages are sent sporadically by the sound generator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Keyword + + Data + + Comments +
WARNINGStringReports a warning
ERRORString +

Reports a warning

+
INFO_END_PLAY_3DId (int)Informs that the playback of the 3D sound associated with the Id is over
INFO_END_PLAY_AMBIANCEId (int)Informs that the playback of the ambiance sound associated with the Id is over
+ +The sound generator is not functioning when no ALIVE message is sent in the time frame defined above. diff --git a/2024R2_Test/Sound/VRS/docfx.json b/2024R2_Test/Sound/VRS/docfx.json new file mode 100644 index 0000000000..32cdab5282 --- /dev/null +++ b/2024R2_Test/Sound/VRS/docfx.json @@ -0,0 +1,13 @@ +{ + "build": { + "globalMetadata": { + "title": "VR Sound API 2024 R1", + "summary": "", + "version": "2024 R1", + "product": "Ansys Sound", + "programming language": "OSC", + "product collection": "Sound", + "physics": "Acoustics" + } + } + } \ No newline at end of file diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/3d_interpolated_offset.png b/2024R2_Test/Sound/VRS/images/3d_interpolated_offset.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/3d_interpolated_offset.png rename to 2024R2_Test/Sound/VRS/images/3d_interpolated_offset.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/3d_interpolated_sources_loaded.png b/2024R2_Test/Sound/VRS/images/3d_interpolated_sources_loaded.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/3d_interpolated_sources_loaded.png rename to 2024R2_Test/Sound/VRS/images/3d_interpolated_sources_loaded.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/3d_interpolates_samples_folder.png b/2024R2_Test/Sound/VRS/images/3d_interpolates_samples_folder.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/3d_interpolates_samples_folder.png rename to 2024R2_Test/Sound/VRS/images/3d_interpolates_samples_folder.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/control_parameter_example.png b/2024R2_Test/Sound/VRS/images/control_parameter_example.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/control_parameter_example.png rename to 2024R2_Test/Sound/VRS/images/control_parameter_example.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/diffuseness.png b/2024R2_Test/Sound/VRS/images/diffuseness.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/diffuseness.png rename to 2024R2_Test/Sound/VRS/images/diffuseness.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/file_loading.png b/2024R2_Test/Sound/VRS/images/file_loading.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/file_loading.png rename to 2024R2_Test/Sound/VRS/images/file_loading.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/file_tab.png b/2024R2_Test/Sound/VRS/images/file_tab.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/file_tab.png rename to 2024R2_Test/Sound/VRS/images/file_tab.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(10).jpg b/2024R2_Test/Sound/VRS/images/img(10).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(10).jpg rename to 2024R2_Test/Sound/VRS/images/img(10).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(10).png b/2024R2_Test/Sound/VRS/images/img(10).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(10).png rename to 2024R2_Test/Sound/VRS/images/img(10).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(11).png b/2024R2_Test/Sound/VRS/images/img(11).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(11).png rename to 2024R2_Test/Sound/VRS/images/img(11).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(12).png b/2024R2_Test/Sound/VRS/images/img(12).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(12).png rename to 2024R2_Test/Sound/VRS/images/img(12).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(14).png b/2024R2_Test/Sound/VRS/images/img(14).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(14).png rename to 2024R2_Test/Sound/VRS/images/img(14).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(15).png b/2024R2_Test/Sound/VRS/images/img(15).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(15).png rename to 2024R2_Test/Sound/VRS/images/img(15).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(16).jpg b/2024R2_Test/Sound/VRS/images/img(16).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(16).jpg rename to 2024R2_Test/Sound/VRS/images/img(16).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(16).png b/2024R2_Test/Sound/VRS/images/img(16).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(16).png rename to 2024R2_Test/Sound/VRS/images/img(16).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(17).png b/2024R2_Test/Sound/VRS/images/img(17).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(17).png rename to 2024R2_Test/Sound/VRS/images/img(17).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(18).png b/2024R2_Test/Sound/VRS/images/img(18).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(18).png rename to 2024R2_Test/Sound/VRS/images/img(18).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(19).png b/2024R2_Test/Sound/VRS/images/img(19).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(19).png rename to 2024R2_Test/Sound/VRS/images/img(19).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(20).png b/2024R2_Test/Sound/VRS/images/img(20).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(20).png rename to 2024R2_Test/Sound/VRS/images/img(20).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(21).png b/2024R2_Test/Sound/VRS/images/img(21).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(21).png rename to 2024R2_Test/Sound/VRS/images/img(21).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(22).png b/2024R2_Test/Sound/VRS/images/img(22).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(22).png rename to 2024R2_Test/Sound/VRS/images/img(22).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(23).png b/2024R2_Test/Sound/VRS/images/img(23).png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(23).png rename to 2024R2_Test/Sound/VRS/images/img(23).png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(3).jpg b/2024R2_Test/Sound/VRS/images/img(3).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(3).jpg rename to 2024R2_Test/Sound/VRS/images/img(3).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(4).jpg b/2024R2_Test/Sound/VRS/images/img(4).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(4).jpg rename to 2024R2_Test/Sound/VRS/images/img(4).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(5).jpg b/2024R2_Test/Sound/VRS/images/img(5).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(5).jpg rename to 2024R2_Test/Sound/VRS/images/img(5).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(6).jpg b/2024R2_Test/Sound/VRS/images/img(6).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(6).jpg rename to 2024R2_Test/Sound/VRS/images/img(6).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(7).jpg b/2024R2_Test/Sound/VRS/images/img(7).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(7).jpg rename to 2024R2_Test/Sound/VRS/images/img(7).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(8).jpg b/2024R2_Test/Sound/VRS/images/img(8).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(8).jpg rename to 2024R2_Test/Sound/VRS/images/img(8).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(9).jpg b/2024R2_Test/Sound/VRS/images/img(9).jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(9).jpg rename to 2024R2_Test/Sound/VRS/images/img(9).jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(29).jpg b/2024R2_Test/Sound/VRS/images/img29.jpg similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/img(29).jpg rename to 2024R2_Test/Sound/VRS/images/img29.jpg diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/interpolated_source_control.png b/2024R2_Test/Sound/VRS/images/interpolated_source_control.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/interpolated_source_control.png rename to 2024R2_Test/Sound/VRS/images/interpolated_source_control.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/load_control_parameters.png b/2024R2_Test/Sound/VRS/images/load_control_parameters.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/load_control_parameters.png rename to 2024R2_Test/Sound/VRS/images/load_control_parameters.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/load_interpolated_sources_config.png b/2024R2_Test/Sound/VRS/images/load_interpolated_sources_config.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/load_interpolated_sources_config.png rename to 2024R2_Test/Sound/VRS/images/load_interpolated_sources_config.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/overlap_parameter.png b/2024R2_Test/Sound/VRS/images/overlap_parameter.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/overlap_parameter.png rename to 2024R2_Test/Sound/VRS/images/overlap_parameter.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/sampledata.png b/2024R2_Test/Sound/VRS/images/sampledata.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/sampledata.png rename to 2024R2_Test/Sound/VRS/images/sampledata.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/sources_settings.png b/2024R2_Test/Sound/VRS/images/sources_settings.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/sources_settings.png rename to 2024R2_Test/Sound/VRS/images/sources_settings.png diff --git a/2024R2_Test/Sound/VRS/Sound/UG_VRS/images/trajectory_file.png b/2024R2_Test/Sound/VRS/images/trajectory_file.png similarity index 100% rename from 2024R2_Test/Sound/VRS/Sound/UG_VRS/images/trajectory_file.png rename to 2024R2_Test/Sound/VRS/images/trajectory_file.png diff --git a/2024R2_Test/Sound/VRS/index.md b/2024R2_Test/Sound/VRS/index.md index 679aa47461..16225777d7 100644 --- a/2024R2_Test/Sound/VRS/index.md +++ b/2024R2_Test/Sound/VRS/index.md @@ -1,9 +1,11 @@ -# Ansys Sound: VR Sound User's Guide +# Ansys Sound: VR Sound API Documentation -- [Communication](Sound/UG_VRS/VRS_communication.md) - - [OSC Protocol](Sound/UG_VRS/VRS_communication_osc.md) - - [Sound Playback Process](Sound/UG_VRS/VRS_communication_sound.md) - - [Messages Format](Sound/UG_VRS/VRS_communication_messages.md) - - [Messages List](Sound/UG_VRS/VRS_communication_messages_list.md) - - [State of the Sound Generator](Sound/UG_VRS/VRS_communication_state.md) +Ansys Sound: VR Sound can be directly driven using the Open Sound Control Protocol \(OSC\). +This API document describes the communication process and the messages that can be sent to the Ansys Sound: VR Sound application. + +- [OSC Protocol](VRS_communication_osc.md) +- [Sound Playback Process](VRS_communication_sound.md) +- [Messages Format](VRS_communication_messages.md) +- [Messages List](VRS_communication_messages_list.md) +- [State of the Sound Generator](VRS_communication_state.md) diff --git a/2024R2_Test/Sound/VRS/toc.yml b/2024R2_Test/Sound/VRS/toc.yml new file mode 100644 index 0000000000..ad8b44efa4 --- /dev/null +++ b/2024R2_Test/Sound/VRS/toc.yml @@ -0,0 +1,13 @@ +- name: VRS API Documentation + href: index.md + items: + - name: OSC Protocol + href: VRS_communication_osc.md + - name: Sound Playback Process + href: VRS_communication_sound.md + - name: Message Format + href: VRS_communication_messages.md + - name: Message List + href: VRS_communication_messages_list.md + - name: State of the Sound Generator + href: VRS_communication_state.md From 2c8f6a6a14d51d22425366c15560a7f254ee4544 Mon Sep 17 00:00:00 2001 From: Matt Bennett Date: Mon, 18 Mar 2024 11:17:52 +0000 Subject: [PATCH 2/2] Sound API Edits 2 --- .../Sound/ASDforEV/SEV_API_OSC_protocol.md | 27 +- .../Sound/ASDforEV/SEV_API_SEV_Driving.md | 14 +- 2024R2_Test/Sound/CSS/car_ost_osc_prot.md | 4 +- 2024R2_Test/Sound/CSS/car_ost_simdrive.md | 303 +++++++++++------- .../Sound/VRS/VRS_communication_messages.md | 4 +- .../Sound/VRS/VRS_communication_osc.md | 20 +- 6 files changed, 211 insertions(+), 161 deletions(-) diff --git a/2024R2_Test/Sound/ASDforEV/SEV_API_OSC_protocol.md b/2024R2_Test/Sound/ASDforEV/SEV_API_OSC_protocol.md index 0c89129947..36a18fb90d 100644 --- a/2024R2_Test/Sound/ASDforEV/SEV_API_OSC_protocol.md +++ b/2024R2_Test/Sound/ASDforEV/SEV_API_OSC_protocol.md @@ -44,30 +44,27 @@ An "OSC MESSAGE" contains: \{ADDRESS\_PATTERN\}\{TYPE\_TAG\_STRING\}\{OSC arguments\} -\{ADDRESS\_PATTERN\} -: It is an OSC STRING that starts with the character slash "/". Following the slash character, one uses a KEYWORD explaining the type of audio processing applied on the data passed in argument. +**\{ADDRESS\_PATTERN\}** is an OSC STRING that starts with the character slash "/". Following the slash character, you use a KEYWORD explaining the type of audio processing applied on the data passed in argument. - Example: \{\[‘/’\]KEYWORD\} +Example: \{\[‘/’\]KEYWORD\} - **Important:** For Ansys Sound: ASDforEV , **the slash \("/"\) character must NOT appear**. +**Important:** For Ansys Sound: ASDforEV , the slash \("/"\) character must **NOT** appear. -\{TYPE\_TAG\_STRING\} -: It is an OSC STRING beginning with a comma "," and followed by as many "type tags" as the count of following data. +**\{TYPE\_TAG\_STRING\}** is an OSC STRING beginning with a comma "," and followed by as many "type tags" as the following data count. - A TYPE TAG is a set of letters coding the binary data type following. +A TYPE TAG is a set of letters coding the binary data type following. - These types used by Car Sound Simulator are \{'i','f','s'\} for: +These types used by Car Sound Simulator are \{'i','f','s'\} as follows: - - "**i**": integer 32 bits - - "**f**": for single precision floating point values \(32 bits\) - - "**s**": OSC String +- **i** : integer 32 bits +- **f** : for single precision floating point values \(32 bits\) +- **s** : OSC String - Example: \{","\[TYPE\_TAG\]\} +Example: \{","\[TYPE\_TAG\]\} -\{OSC arguments\} -: A sequence of OSC Arguments is represented by a contiguous sequence of the binary representations of each argument. +**\{OSC arguments\}** is a sequence of OSC Arguments is represented by a contiguous sequence of the binary representations of each argument. -![](images/i_SEV_CAN_API_OSC_messaging_format.png "OSC Messaging Format") +![OSC Messaging Format](images/i_SEV_CAN_API_OSC_messaging_format.png "OSC Messaging Format") ## References diff --git a/2024R2_Test/Sound/ASDforEV/SEV_API_SEV_Driving.md b/2024R2_Test/Sound/ASDforEV/SEV_API_SEV_Driving.md index 81a8e12722..1335ba8076 100644 --- a/2024R2_Test/Sound/ASDforEV/SEV_API_SEV_Driving.md +++ b/2024R2_Test/Sound/ASDforEV/SEV_API_SEV_Driving.md @@ -2,25 +2,19 @@ **Ansys Sound: ASDforEV** communicates using OSC MESSAGES sent over UDP: there is one action at a time associated to one message. Each message is composed of a KEYWORD, followed by a single DATA item \(float or string\); the only exception is the message "ACTIVE", for which only the KEYWORD is sent \(no data, cf. below\). - - When using Ansys Sound: ASDforEV alongside an application for reading CAN data, most UDP communication is done from application reading or generating the vehicle data \(for example CAN data reading application\) towards ASDforEV, to command the parameters of the sounds produced \(see section **Sending messages to ASDforEV**\). However, ASDforEV also sends data via UDP to the application sending vehicle data \(see section**Receiving messages from ASDforEV**\). - - The tables in the following sections specify the KEYWORDS and expected DATA that Ansys Sound: ASDforEV uses to communicate via UDP. In these tables \(except for Vehicle messages\), the ranges for the DATA values are not specified, as raw values can be transformed through a dedicated graphical interface in Ansys Sound: ASDforEV. -- Note that **messages are case-sensitive**, both for KEYWORDS and string DATA. - - +Note that **messages are case-sensitive**, both for KEYWORDS and string DATA. A Max/MSP code example, to send data to ASDforEV, is given in the figure below. ![](images/i_SEV_CAN_API_data_via_UDP.png "Max/MSP code example to send data to ASDforEV via UDP") -- **[UDP Connection](SEV_API_UDP_connection.md)** +- **[UDP Connection](SEV_API_UDP_connection.md)** -- **[Sending Messages to ASDforEV](SEV_API_sending.md)** +- **[Sending Messages to ASDforEV](SEV_API_sending.md)** Here is the list of messages that can be sent to Ansys Sound: ASDforEV using this API. -- **[Receiving Messages from ASDforEV](SEV_API_receiving.md)** +- **[Receiving Messages from ASDforEV](SEV_API_receiving.md)** Here is the list of messages that can be received from ASDforEV using this API. diff --git a/2024R2_Test/Sound/CSS/car_ost_osc_prot.md b/2024R2_Test/Sound/CSS/car_ost_osc_prot.md index 7e8ecbcca5..34a23c26ac 100644 --- a/2024R2_Test/Sound/CSS/car_ost_osc_prot.md +++ b/2024R2_Test/Sound/CSS/car_ost_osc_prot.md @@ -20,7 +20,7 @@ An OSC packet consists of its contents, a contiguous block of binary data, and i The contents of an OSC packet must be either an OSC Message or an OSC Bundle. The first byte of the packet's contents unambiguously distinguishes between these two alternatives. -**Note:** **Car Sound Simulator** communication uses only the "OSC MESSAGE". +**Note:** Car Sound Simulator communication uses only the "OSC MESSAGE". *"OSC STRING" is a sequence of non-null ASCII characters followed by a null, followed by 0-3 additional null characters to make the total number of bits a multiple of 32.* @@ -68,7 +68,7 @@ An "OSC MESSAGE" contains: ***f*** : for single precision floating point values \(32 bits\) - ***s*** + ***s*** : OSC String diff --git a/2024R2_Test/Sound/CSS/car_ost_simdrive.md b/2024R2_Test/Sound/CSS/car_ost_simdrive.md index 912465b2a2..abdcf84371 100644 --- a/2024R2_Test/Sound/CSS/car_ost_simdrive.md +++ b/2024R2_Test/Sound/CSS/car_ost_simdrive.md @@ -1,6 +1,6 @@ # Car Sound Simulator - OSC Messages -Car Sound Simulator is driven by OSC MESSAGES sent over UDP: there is one action at a time associated to one message. The action name is a KEYWORD, followed by some OSC ARGUMENTS. +Car Sound Simulator is driven by OSC MESSAGES sent over UDP, with each action associated with one message. The action name is a KEYWORD, followed by some OSC ARGUMENTS. ## Basic management messages @@ -10,8 +10,8 @@ Basic management for the sound generator |KEY WORD (Address Pattern)|TYPE |Comments| |--------------------------|-------|--------| -|INIT\_DATAPATH |String| Data initialization :Data path| -|INIT\_CONFIGFILE |String|Data initialization:File Name| +|INIT\_DATAPATH |String|Data initialization: Data path| +|INIT\_CONFIGFILE |String|Data initialization: File Name| |DSP\_START| |Starts the MAX/Msp Audio Engine| |DSP\_STOP| |Stops the MAX/Msp Audio Engine \(sound off\)| |START\_KEY|Integer|Position of the start key :
  • 0 : off
  • 1 : contact
  • 2 : on
  • 3 : start
| @@ -36,14 +36,14 @@ Angles are in radians, 0 is a front source, -pi/2 is left, +pi/2 is right. Angle |KEY WORD (Address Pattern)|TYPE |Comments| |--------------------------|-------|--------| -|TRAFIC_INIT|Slot index \(Int\)
Vehicle type (int)
Distance (float en m)
Azimuth (en rad)
Absolute speed (float in m/s)|Traffic synthesis initialization at slot index. \(1<=slot index<=8\)
Type:
  • 0 = unknown
  • 1 = car
  • 2 = truck/bus
  • 3 = motorbike
| +|TRAFIC_INIT|Slot index \(Int\)
Vehicle type (int)
Distance (float en m)
Azimuth (en rad)
Absolute speed (float in m/s)|Traffic synthesis initialization at slot index.
\(1<=slot index<=8\)
Type:
  • 0 = unknown
  • 1 = car
  • 2 = truck/bus
  • 3 = motorbike
| |TRAFIC\_STOP|slot index \(Int\)|Traffic sound synthesis stopped at slot index \(1<=slot index<=8\)| ### Messages sent regularly |KEY WORD (Address Pattern)|TYPE |Comments| |--------------------------|-------|--------| -TRAFIC\_UPDATE|Slot \(Int\)
Distance \(Float, in m\)
Azimut\(Float, in rad\)
Vitesse \(Float, in m/s\)|Update of the traffic vehicle characteristics \(distance, azimuth, speed\) at slot index \(1<=slot index<=8\).| +|TRAFIC\_UPDATE|Slot \(Int\)
Distance \(Float, in m\)
Azimut\(Float, in rad\)
Vitesse \(Float, in m/s\)|Update of the traffic vehicle characteristics \(distance, azimuth, speed\) at slot index
\(1<=slot index<=8\).| ## Harmonic sources management @@ -72,68 +72,79 @@ KEY WORD (Address Pattern)|TYPE |Comments| Tires Noise has to be updated for each wheel by providing information about the current slippyness -|KEY WORD - - \(Address Pattern\) - -|TYPE & COMMENTS| -|Messages sent once by state change:| -|GROUND\_INDEX|0 = asphalt, 1 = concrete, 2 = grass, 3 = cobblestone \(integer\) - -| -|SCREECH|4 x slipping intensity -100% à 100% - - \(float in this order : front left, front right, rear left, rear right\) - -| -|4 x slipping angle of each wheel in radians - - \(float in this order : front left, front right, rear left, rear right\) - -| -|WHEEL\_ ADHERENCE|4 x \(int wheel index, float stickiness coefficient\) - - Ex : 0 0.1 1 0.3 2 0.7 3 0.7 - -| -|0.7< float stickiness coefficient <1: dry 0.2< float stickiness coefficient <0.7:wet - - 0.1< float stickiness coefficient <0.2 : snowy +### Messages sent once by state change -| + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

KEY WORD

+

(Address Pattern)

+
TYPE & COMMENTS
GROUND_INDEX

0 = asphalt, 1 = concrete, 2 = grass, 3 = cobblestone (integer)

SCREECH +

4 x slipping intensity -100% à 100%

+

(float in this order : front left, front right, rear left, rear + right)

+
+

4 x slipping angle of each wheel in radians

+

(float in this order : front left, front right, rear left, rear + right)

+
WHEEL_ ADHERENCE +

4 x (int wheel index, float stickiness coefficient)

+

Ex : 0 0.1 1 0.3 2 0.7 3 0.7

+
+

0.7< float stickiness coefficient <1: dry 0.2< float + stickiness coefficient <0.7:wet

+

0.1< float stickiness coefficient <0.2 : snowy

+
## Weather management Weather noise management -|KEY WORD - - \(Address Pattern\) +### Messages sent once by state change -|TYPE & COMMENTS| -|*Messages sent once by state change:*| +|KEY WORD \(Address Pattern\)|TYPE & COMMENTS| +|----------------------------|---------------| |WEATHER\_RAIN|% rain, Integer from 0 to 100%| |WEATHER\_WIND|% wind, Integer from 0 to 100%| ## Additional noises -Loading orders of additional simulation noises: - -|KEY WORD - - \(Address Pattern\) +Loading orders of additional simulation noises. +### Messages sent once by state change. -|TYPE|COMMENTS| -|*Messages sent once by state change:*| +|KEY WORD \(Address Pattern\)|TYPE|COMMENTS| +|----------------------------|----|--------| |MOTOR\_PARTIALS|string|.motor file to load \(path must include slashes '/' instead of '\\'\)| |MOTOR\_NOISE|string|.noise file to load \(path must include slashes '/' instead of '\\'\)| |AERO\_NOISE|string|.noise file to load \(path must include slashes '/' instead of '\\'\)| |ROLLING\_NOISE|string|.noise file to load \(path must include slashes '/' instead of '\\'\)| -|STARTER\_MOTOR|string|wav file corresponding to the engine - - starting noise - -| +|STARTER\_MOTOR|string|wav file corresponding to the engine starting noise| ## Sound files playing @@ -147,56 +158,104 @@ Supported functions: There are 10 available slots for sound play in Car Sound Simulator. The main simulation application has to manage the slots indexes availability. -Notes : ² +Notes: - the slots indexes are \>=1 and <=10 - .wav extension is appended to the file name -|KEYWORD - - \(Address Pattern\) - -|TYPE|COMMENTS| -|*Messages sent once by state change:*| -|SOUND\_LOAD|sound Id \(Integer, 0 + + + KEYWORD (Address Pattern) + TYPE + COMMENTS + + + + + SOUND_LOAD + sound Id (Integer, + 0<id<32765) + loads a file to play + + + File Name (String) + + + SOUND_PLAY + Slot index (int) + +

Starts playing the sound #Id at slot #Slot index.

+

TypeSpat: 0 = not localized, 1=attached to a vehicle, 2 = attached to + a point

+

Gain is linear (directly multiplied with the signal).

+

Azimut in radians, Distance and DistanceMax in meters. DistanceMAx + corresponsd to the distance from the source cannot

+

be heard anymore

+ + + + sound Id (int) + + + play in loop (1/0 Int) + + + +

Gain (float) TypeSpat (int) Azimut (float, in rad) Distance (float, + in m)

+

DistanceMax (float, in m)

+ + + + SOUND_STOP + Slot index (int) + Stops playing a sound + + + SOUND_PAUSE + Slot index (int) + Pause the playback of a sound + + + SOUND_RESUME + Slot index (int) + Resume a paused sound + + + SOUND_VOLUME + Slot index (int) + Changes the volume of a sound. The gain is linear (value + directly multiplied to the signal) + + + Gain (float) + + + SOUND_UPDATE_POSITION + Slot index (int) + Updates the position of the sound at #slot index + + + Azimut (float, in rad) + + + Distance (float, in m) + + + + ## Error and warning messages -Messages sent toward the main simulation application when required: - -|KEY WORD +Messages sent to the main simulation application when required. - \(Address Pattern\) +### Messages sent once by state change -|TYPE|COMMENTS| -|Messages sent once by state change:| +|KEY WORD \(Address Pattern\)|TYPE|COMMENTS| +|----------------------------|----|--------| |WARNING|String|sends a warning message| |ERROR|String|sends an error message| @@ -204,38 +263,46 @@ Messages sent toward the main simulation application when required: The main simulation application has to start and stop Car Sound Simulator. -|KEY WORD +### Message sent periodically to the main application. - \(Address Pattern\) - -|TYPE|COMMENTS| -|Message sent periodically to the main application| +|KEY WORD \(Address Pattern\)|TYPE|COMMENTS| +|----------------------------|----|--------| |ALIVE|-|Indicates that Car Sound Simulator is still alive| ## Head-tracking Message sent to locate the position of the listener's head for head-tracked binaural rendering -|KEY WORD - - \(Address Pattern\) - -|TYPE|COMMENTS| -|Message sent periodically to the main application| -|HEAD-POSITION|X \(float\) Y \(float\) Z \(float\) - - rotZ \(float\) rotY \(float\) rotX \(float\) - -|Position of the listener's head in space. - - Distances are in meters, angles in radians. - - X points front - - Y points to the right Z points below - - The azimuth angle is then rotZ, with a positive angle when the listener turns his head to the right. - - Elevation angle is then rotY with a positive angle when the listener raises the head. - -| +### Message sent periodically to the main application + + + + + + + + + + + + + +
+

KEY WORD

+

(Address Pattern)

+ +
TYPE + COMMENTS +
HEAD-POSITION +

X (float) Y (float) Z (float)

+

rotZ (float) rotY (float) rotX (float)

+
+

Position of the listener's head in space.

+

Distances are in meters, angles in radians.

+

X points front

+

Y points to the right Z points below

+

The azimuth angle is then rotZ, with a positive angle when the + listener turns his head to the right.

+

Elevation angle is then rotY with a positive angle when the listener + raises the head.

+
diff --git a/2024R2_Test/Sound/VRS/VRS_communication_messages.md b/2024R2_Test/Sound/VRS/VRS_communication_messages.md index 222fb45b3e..ed8bf32ebf 100644 --- a/2024R2_Test/Sound/VRS/VRS_communication_messages.md +++ b/2024R2_Test/Sound/VRS/VRS_communication_messages.md @@ -1,8 +1,6 @@ # Messages Format -Messages are sent as strings, using OSC protocol. They are composed of a keyword and numerical values - -separated by a space: KEY\_WORD VALUE1 VALUE2 ... +Messages are sent as strings, using OSC protocol. They are composed of a keyword and numerical values separated by a space: KEY\_WORD VALUE1 VALUE2 ... Each value can be a string, and int or a float. Messages end with the lined feed character \(ASCII code 10\). On the audio PC, messages are received on ports 5555, 5556, 5557, 5558, 5559, 5560, 5561, 5562, 5563, and 5564. Messages can be received on any of these ports. diff --git a/2024R2_Test/Sound/VRS/VRS_communication_osc.md b/2024R2_Test/Sound/VRS/VRS_communication_osc.md index 1c0babd7c5..f452c640e7 100644 --- a/2024R2_Test/Sound/VRS/VRS_communication_osc.md +++ b/2024R2_Test/Sound/VRS/VRS_communication_osc.md @@ -1,14 +1,12 @@ # OSC Protocol -Open Sound Control \(OSC\) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology and has been used - -in many application areas. +Open Sound Control \(OSC\) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology and has been used in many application areas. OSC was defined and is supported by **CNMAT** of Berkeley University. -\(from CNMAT OSC documentation\) +\(from the CNMAT OSC documentation\): -The unit of transmission of OSC is an OSC Packet. Any application that sends OSC Packets is an OSC Client. Any application that receives OSC Packets is an OSC Server. +>The unit of transmission of OSC is an OSC Packet. Any application that sends OSC Packets is an OSC Client. Any application that receives OSC Packets is an OSC Server. An OSC packet consists of its contents, a contiguous block of binary data, and its size, the number of 8-bit bytes that comprise the contents. The size of an OSC packet is always a multiple of 4. @@ -36,23 +34,19 @@ Example\_3: the string ‘SPEED' is coded  [S]+[P]+[E]+[E]+[D]+[\0]+[\0]+[\0] ``` -An « OSC MESSAGE » contains : +An « OSC MESSAGE » contains the following: ``` {ADDRESS_PATTERN}{TYPE_TAG_STRING}[binary data] ``` -1. A block « ADDRESS PATTERN »: \{\[‘/'\]KEYWORD\} - -it is an OSC STRING that starts with the character slash « / ».. Following the slash character one use a KEYWORD explaining the type of audio processing applied on the data passed in argument... +1. A block such as « ADDRESS PATTERN »: \{\[‘/'\]KEYWORD\} is an OSC STRING that starts with the slash character « / ». Following the slash character one use a KEYWORD explaining the type of audio processing applied on the data passed in argument. Warning : for VR Sound, the slash \(« / »\) character must NOT appear ! -1. A block « TYPE\_TAG\_STRING » : \{‘,'\[TYPE\_TAG\]\} - -it is an OSC STRING beginning with a comma and followed by as many « type tags » as the count of following data. +2. A block such as « TYPE\_TAG\_STRING » : \{‘,'\[TYPE\_TAG\]\} is an OSC STRING beginning with a comma and followed by as many « type tags » as the count of following data. -A TYPE TAG is a set of letter coding the binary data type following. These types used by VR Sound are: \{‘i','f','s'\} +A TYPE TAG is a set of letters coding the binary data type following. These types used by VR Sound are: \{‘i','f','s'\} - « **i** » integer 32 bits - « **f** » for single precision floating point values \(32 bits\)