FreeFieldDirectivityTF

From Sofaconventions
Jump to navigation Jump to search

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 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: Directivity of a two-way speaker, i.e., the low-frequency unit (emitter) and mid/high-frequency unit are measured separately. In this case, the number of emitters remains e=1, but the number of measurements is m=2. The EmitterPosition and EmitterDescription can be of size [mC] and [mS]. If the two units are measured together the number of measurements will be m=1.


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 1.1

This version uses SOFA 2.1 which reflects the AES69-2022 standard.

Name Default Flags Dimensions Type Comment
GLOBAL:Conventions SOFA rm attribute
GLOBAL:Version 2.1 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 1.1 rm attribute
GLOBAL:DataType TF rm attribute We store frequency-dependent data here
GLOBAL:RoomType free field m attribute The room information can be arbitrary, but the spatial setup assumes free field.
GLOBAL:Title m attribute
GLOBAL:DateCreated m attribute
GLOBAL:DateModified m attribute
GLOBAL:APIName rm attribute
GLOBAL:APIVersion rm attribute
GLOBAL:AuthorContact m attribute
GLOBAL:Organization m attribute
GLOBAL:License No license provided, ask the author for permission m attribute
GLOBAL:ApplicationName attribute
GLOBAL:ApplicationVersion attribute
GLOBAL:Comment attribute
GLOBAL:History attribute
GLOBAL:References attribute
GLOBAL:Origin 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'.
GLOBAL:Description attribute Narrative description of a measurement. For musical instruments/singers, the note (C1, D1, etc) or the dynamic (pp., ff., etc), or the string played, the playing style (pizzicato, legato, etc.), or the type of excitation (e.g., hit location of a cymbal). For loudspeakers, the system and driver units.
GLOBAL:SourceType m attribute Narrative description of the acoustic source, e.g., 'Violin', 'Female singer', or '2-way loudspeaker'
GLOBAL:SourceManufacturer m attribute Narrative description of the manufacturer of the source, e.g., 'Stradivari, Lady Blunt, 1721' or 'LoudspeakerCompany'
GLOBAL:EmitterDescription attribute A more detailed structure of the source. In a simple setting, a single Emitter is considered that is collocated with the source. In a more complicated setting, this may be the strings of a violin or the units of a loudspeaker.
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 [1 0 0] m IC, MC double Orientation of the microphone array
ListenerView:Type cartesian m attribute
ListenerView:Units metre m attribute
ListenerUp [0 0 1] m IC, MC double Up vector of the microphone array
ReceiverPosition [0 0 0] m IC, RC, RCM double Positions of the microphones during the measurements (relative to the Listener)
ReceiverPosition:Type spherical m attribute Type of the coordinate system used.
ReceiverPosition:Units degree, degree, metre m attribute Units of the coordinates.
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., '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 [1 0 0] m IC, MC double View vector for the orientation.
SourceView:Type cartesian m attribute
SourceView:Units metre m attribute
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 [0 0 1] m IC, MC double Up vector of the acoustic source (instrument)
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.
EmitterPosition [0 0 0] m eC, eCM double Position. In a simple settings, a single emitter is considered that is collocated with the source.
EmitterPosition:Type cartesian m attribute
EmitterPosition:Units metre m attribute
EmitterDescriptions {''} MS, ES, MES string A more detailed description of the Emitters. For example, this may be the strings of a violin or the units of a loudspeaker.
MIDINote 0 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.
Descriptions {''} MS string This variable is used when the description varies with M.
SourceTuningFrequency 440 I, M double Frequency (in hertz) to which a musical instrument is tuned to corresponding to the note A4 (MIDINote=69). Recommended for tonal instruments.
Data.Real 0 m mrn double Real part of the complex spectrum. The default value 0 indicates that all data fields are initialized with zero values.
Data.Imag 0 m MRN double Imaginary part of the complex spectrum
N 0 m N double Frequency values
N:LongName frequency m attribute narrative name of N
N:Units hertz m attribute Units used for N

Version 1.0

This version uses SOFA 2.0 which reflects the AES69-2020 standard.

Name Default Flags Dimensions Type Comment
GLOBAL:Conventions SOFA rm attribute
GLOBAL:Version 2.1 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 1.0 rm attribute
GLOBAL:DataType TF rm attribute We store frequency-dependent data here
GLOBAL:RoomType free field m attribute The room information can be arbitrary, but the spatial setup assumes free field.
GLOBAL:Title m attribute
GLOBAL:DateCreated m attribute
GLOBAL:DateModified m attribute
GLOBAL:APIName rm attribute
GLOBAL:APIVersion rm attribute
GLOBAL:AuthorContact m attribute
GLOBAL:Organization m attribute
GLOBAL:License No license provided, ask the author for permission m attribute
GLOBAL:ApplicationName attribute
GLOBAL:ApplicationVersion attribute
GLOBAL:Comment m attribute
GLOBAL:History attribute
GLOBAL:References attribute
GLOBAL:Origin 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'.
GLOBAL:Description attribute Narrative description of a measurement. For musical instruments/singers, the note (C1, D1, etc) or the dynamic (pp., ff., etc), or the string played, the playing style (pizzicato, legato, etc.), or the type of excitation (e.g., hit location of a cymbal). For loudspeakers, the system and driver units.
GLOBAL:SourceType m attribute Narrative description of the acoustic source, e.g., 'Violin', 'Female singer', or '2-way loudspeaker'
GLOBAL:SourceManufacturer m attribute Narrative description of the manufacturer of the source, e.g., 'Stradivari, Lady Blunt, 1721' or 'LoudspeakerCompany'
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 [1 0 0] m IC, MC double Orientation of the microphone array
ListenerView:Type cartesian m attribute
ListenerView:Units metre m attribute
ListenerUp [0 0 1] m IC, MC double Up vector of the microphone array
ReceiverPosition [0 0 1] m IC, RC, RCM double Positions of the microphones during the measurements (relative to the Listener)
ReceiverPosition:Type spherical m attribute
ReceiverPosition:Units degree, degree, 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 [1 0 0] m IC, MC double Orientation of the acoustic source (instrument)
SourceView:Type cartesian m attribute
SourceView:Units 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 0 1] m IC, MC double Up vector of the acoustic source (instrument)
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 IC, MC 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 metre m attribute
EmitterDescription {''} IS, MS string A more detailed structure of the source. In a simple setting, a single Emitter is considered that is collocated with the source. In a more complicated setting, this may be the strings of a violin or the units of a loudspeaker.
MIDINote 0 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.
Description {''} MS string This variable is used when the description varies with M.
SourceTuningFrequency 440 I, M double Frequency (in hertz) to which a musical instrument is tuned to corresponding to the note A4 (MIDINote=69). Recommended for tonal instruments.
Data.Real 0 m mrn double Real part of the complex spectrum. The default value 0 indicates that all data fields are initialized with zero values.
Data.Imag 0 m MRN double Imaginary part of the complex spectrum
N 0 m N double Frequency values
N:LongName frequency m attribute
N:Units hertz m attribute Units used for N

Version 0.2

This version uses the more general Object metadata (instead of NoteDescription). It was considered to rename the Conventions to "SimpleFreeFieldDirectivityTF" but the change was discarded and will be called "FreeFieldDirectivityTF" from version 1.0 again (according to SOFA standard).

Name Default Flags Dimensions Type Comment
GLOBAL:Conventions SOFA rm attribute
GLOBAL:Version 1.0 rm attribute
GLOBAL:SOFAConventions SimpleFreeFieldDirectivityTF 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