FreeFieldDirectivityTF
Description
FreeFieldDirectivityTF is a convention for storing directivity of acoustic sources (instruments, loudspeakers, singers, talkers, etc) in the frequency domain for multiple musical notes. We consider free-field directivites only, i.e., assuming that a potential room has no effect on the data. We consider musical notes as a parameter directly addressing musical instruments. The applications can be:
- Musical acoustics: When measuring of directivity of instruments, this convention can be used for storing the directivity data, which then can be used for general research in musical acoustics.
- Room-acoustic simulations: When rendering acoustic scenes combined with simulations of the room acoustics, this convention can provide the directivity data for more realistic auralizations.
A simple setting assumes that the acoustic source under consideration is surrounded by many microphones capturing the signal emitted by the source from different spatial directions. To this end, we define the following:
- Source represents the acoustic source under consideration.
- Emitters represent a more detailed structure of the Source. In a simple settings, a single Emitter is considered that is collocated with the source.
- Receivers represent the microphones capturing the sound from the acoustic source
- Listener represents the array of microphones. In a simple setting, the position of the Listener is collocated with the position of the Source.
- Data stores the captured signals. The data is saved as complex numbers in Data.Real and Data.Imag at the N spectral frequencies for R receivers and M measurements.
- TuningFrequency describes the tuning frequency the instrument is tuned to (in Hertz).
- MIDINote describes the note the acoustic source was playing. The note is specified as MIDI notes according to the MIDI specification, version 1.0. Note that a note of 69 refers to A4, which corresponds to the frequency specified by TuningFrequency. Note also that both TuningFrequency and MIDINote can be omitted when not required, e.g., for atonal sources such as loudspeakers.
- Measurement captures a modification of the directivity condition:
- Modified orientation of the microphone array during the measurement? The ListenerView and ListenerUp will change.
- Another musical note played during the measurement? The MIDINote will change.
- Another direction of the directivity required for auralization? Search for the proper ReceiverPosition (in a postprocessed dataset with a single ListenerView) or for a spatial superposition of ListenerView, ListenerUp, and ReceiverPosition (in a dataset with raw measurements).
Examples for the data representation of musical sources:
- Full spectrum and atonal instrument: The directivity of a cymbal, saved as a discrete single-sided spectrum for equidistant frequencies between 0 Hz and the Nyquist frequency. The played notes refer to different playing styles of the cymbal (different strength or hitting locations). Data.N represents the frequencies which are identical for each Measurement such as played note and direction.
- Full spectrum and tonal instrument: Signal of a violin (single tones, scales, or complete pieces), saved as a discrete single-sided spectrum for equidistant frequencies between 0 Hz and the Nyquist frequency. Data.N represents the frequencies which are identical for each measured condition. Such data are raw data from which directivities can be computed in a post-processing step.
- Fractional octave spectrum: The directivity of a violin, with the spectrum represented by a few N fractional octaves. Data.N represents frequencies which are identical for each Measurement such as played note and direction. The data are post processed such that the spatial parameters of the Source and Listener are constant and the directivity is encoded in ReceiverPosition only. This format is intended to be used by room-acoustic simulations. Note that is might simplify the original representation of the measurement.
- Moving instrument: The influence of the musician on the directivity of the musician and/or the instrument. To this end, the spatial relation between the musician/instrument (=Source) and the microphones (Listener/Receivers) is important and thus represented in the metadata. The data can be captured by repeated recordings of the same note/scale/piece for different positions of the listener/instrument. Note that this is a complex scenario and thus yield a complex representation.
In all the above cases, there is no connection between the number of emitters and measurements. The number of emitters will most likely be e=1, but can have other values, for example if the positions where a cymbal was hit should be described in detail.
Examples for the data representation of loudspeakers:
- Two-way loudspeaker: Combined directivity of a two-way speaker, i.e., the low-frequency unit (emitter) and mid/high-frequency unit are measured together. In this case, the number of emitters should be e=2. The number of measurements is most likely m=1. It could have other values, for example if the directivity is specified for different input levels, which can be specified in Description.
- Two-way loudspeaker: Separate directivities of the low-frequency unit (emitter) and mid/high-frequency unit (emitter) of a loudspeaker. In this case the number of emitters and measurements should be e=m=2. Although it is possible to have multiple measurements for each emitter, this is not recommended.
Additional metadata is considered to more coherently describe the dataset:
- SourcePosition:Reference, SourceView:Reference, and SourceUp:Reference provide a narrative description about the spatial reference of the source, e.g. for the trumpet, 'The bell', 'Viewing direction of the bell', and 'Along the keys, keys up' for SourcePosition:Reference, SourceView:Reference, and SourceUp:Reference, respectively. Mandatory in order to provide a reference across different instruments.
- Description provides a narrative description of each measurement, which is highly recommend for documenting the data. This might be the note, the musical dynamic (pp., ff., etc.), the string on which the note was played, the playing style (pizzicato, legato, etc.), or the location at which a cymbal was hit. NoteDescription is optional and can be provided individually for each Measurement when required.
- GLOBAL:Musician provides a narrative description of the musician such as position, behavior, or personal data if not data-protected.
Version 0.2
This version uses the more general Object metadata (instead of NoteDescription).
| Name | Default | Flags | Dimensions | Type | Comment |
|---|---|---|---|---|---|
| GLOBAL:Conventions | SOFA | rm | attribute | ||
| GLOBAL:Version | 1.0 | rm | attribute | ||
| GLOBAL:SOFAConventions | FreeFieldDirectivityTF | rm | attribute | This conventions stores directivities of acoustic sources (instruments, loudspeakers, singers, talkers, etc) in the frequency domain for multiple musical notes in free field. | |
| GLOBAL:SOFAConventionsVersion | 0.2 | rm | attribute | ||
| GLOBAL:APIName | rm | attribute | |||
| GLOBAL:APIVersion | rm | attribute | |||
| GLOBAL:ApplicationName | attribute | ||||
| GLOBAL:ApplicationVersion | attribute | ||||
| GLOBAL:AuthorContact | m | attribute | |||
| GLOBAL:Comment | m | attribute | |||
| GLOBAL:DataType | TF | rm | attribute | We store frequency-dependent data here | |
| GLOBAL:History | attribute | ||||
| GLOBAL:License | No license provided, ask the author for permission | m | attribute | ||
| GLOBAL:Organization | m | attribute | |||
| GLOBAL:References | attribute | ||||
| GLOBAL:RoomType | free field | m | attribute | The room information can be arbitrary, but the spatial setup assumes free field. | |
| GLOBAL:Origin | attribute | ||||
| GLOBAL:DateCreated | m | attribute | |||
| GLOBAL:DateModified | m | attribute | |||
| GLOBAL:Title | m | attribute | |||
| GLOBAL:DatabaseName | m | attribute | Name of the database. Used for classification of the data. | ||
| GLOBAL:Musician | attribute | Narrative description of the musician such as position, behavior, or personal data if not data-protected, e.g., 'Christiane Schmidt sitting on the chair', or 'artificial excitation by R2D2'. | |||
| ListenerDescription | attribute | Description of the listener. | |||
| ListenerPosition | [0 0 0] | m | IC, MC | double | Position |
| ListenerPosition:Type | cartesian | m | attribute |
Type of the coordinate system used. | |
| ListenerPosition:Units | metre | m | attribute | Units of the coordinates. | |
| ListenerView | [1 0 0] | m | IC, MC | double | View vector for the orientation. |
| ListenerUp | [0 0 1] | m | IC, MC | double | Up vector for the orientation. |
| ListenerView:Type | cartesian | m | attribute | Type of the coordinate system used for listener view/up. | |
| ListenerView:Units | metre | m | attribute | Units of the coordinates. | |
| ReceiverPosition | [0 0 1] | m | rCI, rCM | double | Positions of the receiver(s). |
| ReceiverPosition:Type | spherical | m | attribute | Type of the coordinate system used. | |
| ReceiverPosition:Units | degree, degree, metre | m | attribute | Units of the coordinates. | |
| SourceType | m | attribute | Narrative description of the acoustic source, e.g., 'Violin', 'Female singer', or ‘2-way loudspeaker’ | ||
| SourceManufacturer | m | attribute | Narrative description of the manufacturer of the source, e.g., 'Stradivari, Lady Blunt, 1721' or ‘LoudspeakerCompany’ | ||
| SourceTuningFrequency | I, M | double | Defines the frequency (in Hertz) to which a musical instrument is tuned to corresponding to the note A4 (MIDINote = 69). Not mandatory, but recommended for tonal instruments. | ||
| SourcePosition | [0 0 0] | m | IC, MC | double | Position |
| SourcePosition:Type | cartesian | m | attribute | Type of the coordinate system used. | |
| SourcePosition:Units | metre | m | attribute | Units of the coordinates. | |
| SourcePosition:Reference | m | attribute | Narrative description of the spatial reference of the source position, e.g., ‘The bell’ for a trumpet or ‘On the front plate between the low- and mid/high-frequency unit’ for a loudspeaker. Mandatory in order to provide a reference across different sources. | ||
| SourceView | [0 0 1] | m | IC, MC | double | View vector for the orientation. |
| SourceUp | [0 90 1] | m | IC, MC | double | Up vector for the orientation. |
| SourceView:Type | spherical | m | attribute | Type of the coordinate system used for source view/up. | |
| SourceView:Units | degree, degree, metre | m | attribute | Units of the coordinates. | |
| SourceView:Reference | m | attribute | Narrative description of the spatial reference of the source view, e.g., ‘Viewing direction of the bell’ for a trumpet or 'Perpendicular to the front plate`for a loudspeaker. Mandatory in order to provide a reference across different sources. | ||
| SourceUp:Reference | m | attribute | Narrative description of the spatial reference of the source up, e.g., ‘Along the keys, keys up’ for a trumpet or 'Perpendicular to the top plate' for a loudspeaker. Mandatory in order to provide a reference across different sources. | ||
| EmitterDescription | IS, MS | string | A more detailed structure of the Source. In a simple settings, a single Emitter is considered that is collocated with the source. | ||
| EmitterPosition | [0 0 0] | m | IC, MC | double | Position. In a simple settings, a single Emitter is considered that is collocated with the source. |
| EmitterPosition:Type | cartesian | m | attribute | Type of the coordinate system used. | |
| EmitterPosition:Units | degree, degree, metre | m | attribute | Units of the coordinates. | |
| MIDINote | I, M | double | Defines the note played by the source during the measurement. The note is specified a MIDI note by the MIDI specifications, version 1.0 (https://www.midi.org/specifications-old/item/the-midi-1-0-specification). Not mandatory, but recommended for tonal instruments. | ||
| Description | IS, MS | attribute | Narrative description of a measurement (recommend for documenting the data). For musical instruments/singers: The note (C1, D1, etc), the dynamic (pp., ff., etc), the string on which the note was played, the playing style (pizzicato, legato, etc.), or the location at which a cymbal was hit. For loudspeakers: The unit (low, mid, higg, etc). | ||
| Data.Real | 0 | m | mRn | double | The real part of the complex-valued spectrum |
| Data.Imag | 0 | m | MRN | double | The imaginary part of the complex-valued spectrum |
| N | 0 | m | N | double | Frequencies of the considered spectral bands |
| N:LongName | frequency | m | attribute | ||
| N:Units | Hertz | m | attribute | Unit of the values given in N |
Version 0.1
This version uses SOFA 1.0 which reflects the AES69-2015 standard.
| Name | Default | Flags | Dimensions | Type | Comment |
|---|---|---|---|---|---|
| GLOBAL:Conventions | SOFA | rm | attribute | ||
| GLOBAL:Version | 1.0 | rm | attribute | ||
| GLOBAL:SOFAConventions | FreeFieldDirectivityTF | rm | attribute | This conventions stores directivities of acoustic sources (instruments, loudspeakers, singers, talkers, etc) in the frequency domain for multiple musical notes in free field. | |
| GLOBAL:SOFAConventionsVersion | 0.1 | rm | attribute | ||
| GLOBAL:APIName | rm | attribute | |||
| GLOBAL:APIVersion | rm | attribute | |||
| GLOBAL:ApplicationName | attribute | ||||
| GLOBAL:ApplicationVersion | attribute | ||||
| GLOBAL:AuthorContact | m | attribute | |||
| GLOBAL:Comment | m | attribute | |||
| GLOBAL:DataType | TF | rm | attribute | We store frequency-dependent data here | |
| GLOBAL:History | attribute | ||||
| GLOBAL:License | No license provided, ask the author for permission | m | attribute | ||
| GLOBAL:Organization | m | attribute | |||
| GLOBAL:References | attribute | ||||
| GLOBAL:RoomType | free field | m | attribute | The room information can be arbitrary, but the spatial setup assumes free field. | |
| GLOBAL:Origin | attribute | ||||
| GLOBAL:DateCreated | m | attribute | |||
| GLOBAL:DateModified | m | attribute | |||
| GLOBAL:Title | m | attribute | |||
| GLOBAL:InstrumentType | m | attribute | Narrative description of the acoustic source, e.g., 'Violin' or 'Human' | ||
| GLOBAL:InstrumentManufacturer | m | attribute | Narrative description of the manufacturer of the source, e.g., 'Stradivari, Lady Blunt, 1721' | ||
| GLOBAL:Musician | m | attribute | Narrative description of the musician such as position, behavior, or personal data if not data-protected, e.g., 'Christiane Schmidt sitting on the chair', or 'artificial excitation by R2D2'. | ||
| ListenerPosition | [0 0 0] | m | IC, MC | double | Position of the microphone array during the measurements. |
| ListenerPosition:Type | cartesian | m | attribute | ||
| ListenerPosition:Units | metre | m | attribute | ||
| ListenerView | [0 0 1] | m | IC, MC | double | Orientation of the microphone array |
| ListenerView:Type | spherical | m | attribute | ||
| ListenerView:Units | degree, degree, metre | m | attribute | ||
| ListenerUp | [0 90 1] | m | IC, MC | double | Up vector of the microphone array |
| ListenerUp:Type | spherical | m | attribute | ||
| ListenerUp:Units | degree, degree, metre | m | attribute | ||
| ReceiverPosition | [0 0 0] | m | rCI, rCM | double | Positions of the microphones during the measurements (relative to the Listener) |
| ReceiverPosition:Type | cartesian | m | attribute | ||
| ReceiverPosition:Units | metre | m | attribute | ||
| SourcePosition | [0 0 0] | m | IC, MC | double | Position of the acoustic source (instrument) |
| SourcePosition:Type | cartesian | m | attribute | ||
| SourcePosition:Units | metre | m | attribute | ||
| SourcePosition:Reference | m | attribute | Narrative description of the spatial reference of the source position, e.g., for the trumpet, ‘The bell’. Mandatory in order to provide a reference across different instruments | ||
| SourceView | [0 0 1] | m | IC, MC | double | Orientation of the acoustic source (instrument) |
| SourceView:Type | spherical | m | attribute | ||
| SourceView:Units | degree, degree, metre | m | attribute | ||
| SourceView:Reference | m | attribute | Narrative description of the spatial reference of the source view, e.g., for the trumpet, ‘Viewing direction of the bell’. Mandatory in order to provide a reference across different instruments | ||
| SourceUp | [0 90 1] | m | IC, MC | double | Up vector of the acoustic source (instrument) |
| SourceUp:Type | spherical | m | attribute | ||
| SourceUp:Units | degree, degree, metre | m | attribute | ||
| SourceUp:Reference | m | attribute | Narrative description of the spatial reference of the source up, e.g., for the trumpet, ‘Along the keys, keys up’. Mandatory in order to provide a reference across different instruments | ||
| EmitterPosition | [0 0 0] | m | eCI | double | A more detailed structure of the Source. In a simple settings, a single Emitter is considered that is collocated with the source. |
| EmitterPosition:Type | cartesian | m | attribute | ||
| EmitterPosition:Units | degree, degree, metre | m | attribute | ||
| MIDINote | I, M | double | Defines the note played by the source during the measurement. The note is specified a MIDI note by the MIDI specifications, version 1.0. Not mandatory, but recommended for tonal instruments. | ||
| MIDINoteDescription | IS, MS | attribute | Narrative description of a note (recommend for documenting the data), e.g., the musical dynamic (pp., ff., etc.), the string on which the note was played, the playing style (pizzicato, legato, etc.), or the location at which a cymbal was hit. | ||
| TuningFrequency | I, M | double | Defines the frequency (in Hertz) the instrument is tuned to during the measurements corresponding to the note A4 (MIDINote = 69). | ||
| Data.Real | 0 | m | mRn | double | The real part of the complex-valued spectrum |
| Data.Imag | 0 | m | MRN | double | The imaginary part of the complex-valued spectrum |
| N | 0 | m | N | double | Frequencies of the considered spectral bands |
| N:LongName | frequency | m | attribute | ||
| N:Units | Hertz | m | attribute | Unit of the values given in N |