Dataset of Room Impulse Responses from Baffled Microphone Arrays and Sound Sources at Three Elevations
收藏资源简介:
This data set contains a collection of impulse responses (stored in SOFA format) from spherical microphone arrays (SMAs), equatorial microphone arrays (EMAs), and non-spherical microphone arrays (XMAs). Thereby, impulse response sets are provided for each array type at various spatial resolutions, for a loudspeaker sound source at three source elevations, and in four diverse acoustic environments (see DATA section for a full description). The original purpose of the microphone array data is the binaural rendering in the spherical harmonics (SH) domain into ear signals for high-fidelity reproduction of the acoustic scenario via headphones. Therefore, binaural room impulse responses (BRIRs) for 360 horizontal head orientations of a G.R.A.S KEMAR acoustic dummy head are provided as a reference for each scenario. Please contact the authors for questions or additional information regarding the room setups and utilized measurement devices. ====== DATA====== This archive contains the processed impulse response sets of various measurement configurations, as described in this section. Directory "resources/ARIR_processed": Post-processed SMA and EMA impulse responses "_SMA*_" or "_EMA*_" in the file name In SOFA format with "SingleRoomSRIR" convention From 1x DPA 4060 microphone flush mounted in a wooden spherical scattering body with an 8.5 cm radius High-resolution data (measured sequentially on VariSphear turntable with two degrees-of-freedom rotations): Hall: 1202 channels (Lebedev grid) for maximum SH order 29 Others: 2702 channels (Lebedev grid) for maximum SH order 44 Lower-resolution data via subsampling in the SH domain (arbitrary sampling grids and lower target orders can be achieved): SH order 29: 1742 channels (t-design grid) for SMA; 59 channels (equiangular grid) for EMA SH order 12: 314 channels (t-design grid) for SMA; 25 channels (equiangular grid) for EMA SH order 8: 146 channels (t-design grid) for SMA; 17 channels (equiangular grid) for EMA SH order 4: 42 channels (t-design grid) for SMA; 9 channels (equiangular grid) for EMA SH order 2: 14 channels (t-design grid) for SMA; 5 channels (equiangular grid) for EMA SH order 1: 6 channels (t-design grid) for SMA; 3 channels (equiangular grid) for EMA Post-processed XMA impulse responses "_XMA*_" in the file name In SOFA format with "SingleRoomSRIR" convention From 18x Rode Lavalier GO microphone mounted in an elastic band on a wooden head-shaped scattering body (7.5 cm to 10.5 cm radius) High-resolution data (measured simultaneously): 18 channels for maximum SH order 8 Lower-resolution data via integer subsets of microphones: SH order 4: 9 channels SH order 2: 6 channels Anechoic: For 360 horizontal scattering body orientations (measured sequentially on a VariSphear turntable with azimuth in 1-degree steps) Rooms: For 36 horizontal scattering body orientations (measured sequentially on VariSphear turntable with azimuth in 10-degree steps) Generated XMA calibration filters and equalization filters "_x_nm_" and "_e_nm_" in the file name In proprietary Matlab format Time-domain representation of filters in the respective orders of "real" spherical harmonics Post-processed binaural impulse responses "_KEMAR_" in the file name In SOFA format with "SingleRoomSRIR" convention From G.R.A.S KEMAR dummy head with large pinna For 360 horizontal head orientations (measured sequentially on VariSphear turntable with azimuth in 1-degree steps) Thereby, impulse response sets are included for five acoustic environments "Simulation_": Anechoic simulation of a plane wave impinging from the frontal direction on the array (SMA and EMA only) "Anechoic_": Anechoic measurement of a Genelec 8030A loudspeaker at the same height of the array "LabDry_": Room measurement in an acoustically damped laboratory of a Genelec 8030A loudspeaker at three different source heights (the direct floor reflection is attenuated with an additional porous absorber but otherwise identical to the following condition) "LabWet_": Room measurement in an acoustically damped laboratory of a Genelec 8030A loudspeaker at three different source heights (the direct reflection is not obstructed from the hard concrete floor, but otherwise identical to the former condition) "Hall_": Room measurement in a very reverberant hall of a Genelec 8030A loudspeaker at three different source heights Thereby, the room impulse response sets are included for three relative source elevations (from placing the loudspeaker to varying heights on the same vertical axis) "_SrcHigh": The source is located above the horizon of the receiver "_SrcEar": The source and receiver are located at the same height "_SrcLow": The source is located below the horizon of the receiver Additionally, anechoic impulse responses of the measurement loudspeaker and the utilized microphones are included "Anechoic_MicSMAnoTape_": SMA measurement microphone without the applied tape (the source was compensated) "Anechoic_MicSMAwithTape_": SMA measurement microphone with the applied tape (the source was compensated) "Anechoic_MicXMAmic19_": XMA measurement microphone (the source was compensated) "Anechoic_SrcFreeField_": Measurement source (on-axis) (the influence of the utilized high-quality free-field measurement microphone can be neglected) "Anechoic_SrcFreeField+MicSMAnoTape_": Measurement source and SMA measurement microphone without the tape applied "Anechoic_SrcFreeField+MicSMAwithTape_": Measurement source and SMA measurement microphone with the tape applied "Anechoic_SrcFreeField+MicXMAmic19_": Measurement source and XMA measurement microphone Overall, the resulting impulse response sets contain the following compensations (including exact compensation of the phase/time behavior): Anechoic KEMAR: Source Anechoic SMA/EMA/XMA: Source and array microphones Rooms KEMAR: None Rooms SMA/EMA/XMA: Array microphones There is the option to compensate for the source's on-axis response in the room measurement data. However, the direction-dependent directivity of the loudspeaker cannot be compensated. Therefore, we decided not to compensate for the source in the room measurement data since the on-axis frequency response of the utilized loudspeaker is reasonably flat. =========== DATA_RAW=========== This archive is too large to be uploaded to Zotero (around 77.5 GB). Please get in touch with the authors to request the data. The archive contains the raw acoustic data of all measurement configurations captured by the measurement scripts (see section CODE). The data yields the final impulse responses (see section DATA), as described in this section. Directory "resources/ARIR_raw": Subdirectories by room and source position containing the raw SMA, XMA, and KEMAR acoustic measurement data In proprietary Matlab format, separate for every measurement position of each configuration Each data file contains extensive metadata, e.g., describing the utilized hardware devices, input/output ports, and descriptions. Each data file contains the raw utilized exponential sweep signal and the resulting captured microphone signals. Each impulse response may be recomputed with alternative deconvolution and post-processing parameters. Directory "resources/ARIR_raw/Logs_temp_humidity": Air temperature and humidity data were captured in 5-second intervals during all acoustic measurements In CSV format (automatically loaded and included in the final impulse response sets as part of the measurement post-processing; see section CODE) This data is not further utilized at the moment but seemed worthwhile to capture since some acoustic measurements (particularly the high-resolution SMA data sets) were conducted over multiple hours. ====== CODE====== This archive contains the code required to gather the raw acoustic measurement data (see section DATA_RAW) and the code to post-process and yield the final impulse response data (see section DATA), as described in this section. Directory "dependencies": Matlab and Python functions that are utilized in the code Additional dependencies of available open-source projects may be required for certain code functions. If so, the source and setup process for the necessary dependencies are documented in the code header. Directory "plots": Plots that were exported (and that may be regenerated) by the following scripts to validate different stages of the data simulation, measurement, and subsampling. Shell script "x1_Start_Jupyter.sh": Prepare a Python environment with the required tools described as dependencies. Activate the prepared Python environment to perform impulse response measurements using Jupyter Notebooks setup for different acoustic settings. Python Jupyter notebook "x1a_Measure_Microphones.ipynb": Setup and test the utilized acoustic measurement hardware. Perform a series of acoustic measurements of all utilized microphones in an anechoic environment. Export the raw acoustic data and processed impulse responses. Python Jupyter notebook "x1b_Measure_BRIRs.ipynb": Setup and test the utilized acoustic measurement hardware. Generate a horizontal grid of measurement orientations for the VariSphear turntable according to the desired dummy head orientations. Perform a series of acoustic measurements of the dummy head at the pre-defined grid in anechoic and various room environments. Export the raw acoustic data and processed impulse responses. Python Jupyter notebook "x1c_Measure_SMAs.ipynb": Setup and test the utilized acoustic measurement hardware. Generate a spherical grid of measurement orientations for the VariSphear turntable according to the desired SMA sampling grid. Perform a series of acoustic measurements of the SMA microphone at the pre-defined grid in anechoic and various room environments. Export the raw acoustic data and processed impulse responses. Python Jupyter notebook "x1d_Measure_XMAs.ipynb": Setup and test the utilized acoustic measurement hardware. Generate a horizontal grid of measurement orientations for the VariSphear turntable according to the desired scattering body orientations. Perform a series of acoustic measurements of the XMA microphones at the pre-defined grid in anechoic and various room environments. Export the raw acoustic data and processed impulse responses. Matlab script "x1e_Simulate_SMAs.m": Simulate a plane wave impinging from an arbitrary direction on SMAs and EMAs with a desired sampling grid in an anechoic environment. The simulations are helpful to evaluate the rendering method and to investigate the influence of different sampling grids and equalization methods on the rendered binaural signals. Matlab script "x2_Gather_And_Plot_Measurements.m": Gather the stored single files with individually measured impulse responses and the according metadata into a combined data set. The initial impulse responses can be recomputed with pre- and post-processing parameters tuned towards the specific acoustic scenario, including compensation of provided source and receiver impulse responses. Many plots may be generated during the processing to validate the input and output data. Matlab script "x2a_Compare_Measurement_Lengths.m": Compare the length of the resulting impulse responses of designated measurement configurations. This may be helpful for the tuning of pre-processing and post-processing parameters of the measured impulse responses. Matlab script "x3_Subsample_Measurements.m": Spatially subsample a high-resolution directional impulse response data set into a different (lower-resolution) sampling grid in the spherical harmonics domain. This is suitable for array and HRIR data sets. The script also compares the subsampled data against a reference set if available. In the current data set, an evaluation is performed for an anechoic simulation and a room measurement of an SMA at SH order 8. Matlab script "x3a_Gather_XMA_Measurements.m": Transform anechoic XMA measurement data from SOFA into the data format required by the processing scripts to calculate the respective calibration and equalization filters. Readme file "x3b_Generate_XMA_Filters.txt": The code for this functionality follows the publication [1] but is currently not polished enough for publication. Please contact Jens Ahrens (jens.ahrens@chalmers.se) for questions regarding this functionality. [1] J. Ahrens, H. Helmholz, D. Lou Alon, and S. V. Amengual Garí, “Spherical Harmonic Decomposition of a Sound Field Using Microphones on a Circumferential Contour Around a Non-Spherical Baffle,” IEEE/ACM Trans. Audio, Speech, Lang. Process., vol. 30, pp. 3110–3119, 2022, doi: 10.1109/TASLP.2022.3209940. Matlab script "x3c_Gather_XMA_Filters.m": Rename the files containing the computed calibration and equalization filters into a suitable convention for this collection of scripts. The generated name includes an incremental index to track different versions of provided filter sets. Matlab script "x3d_Compare_XMA_Filters.m": Generate various time domain and frequency domain plots to compare different versions of the generated XMA calibration and equalization filters. ================ DOCUMENTATION================ This archive contains additional documentation of the setups and processes while conducting the acoustic measurements, as described in this section. Directory "documentation": Various photographs of the different room, source, and receiver arrangements of the data set The room dimensions and source and receiver positions are documented in the form of the original measurement notes (this may be improved in the future).
本数据集包含一组来自球形麦克风阵列(spherical microphone arrays, SMAs)、赤道式麦克风阵列(equatorial microphone arrays, EMAs)以及非球形麦克风阵列(non-spherical microphone arrays, XMAs)的冲激响应,所有数据均以SOFA格式(Spatially Oriented Format for Acoustics, SOFA)存储。本数据集为每种阵列类型提供了不同空间分辨率下的冲激响应集,涵盖了三种声源仰角下的扬声器声源,以及四种不同的声学环境(完整说明参见DATA章节)。 本麦克风阵列数据的原始用途为:在球谐域(spherical harmonics, SH)中进行双耳渲染,生成耳部信号,以通过耳机实现声学场景的高保真重放。因此,本数据集为每种声学场景提供了G.R.A.S KEMAR声学人头模型在360个水平头部朝向处的双耳房间冲激响应(binaural room impulse responses, BRIRs)作为参考。 若对房间配置与所用测量设备有疑问或需要额外信息,请联系数据集作者。 ====== 数据(DATA)====== 本压缩包包含本节所述的多种测量配置下的经后处理冲激响应数据集。 目录 "resources/ARIR_processed": 经后处理的SMA与EMA冲激响应 文件名中包含 "_SMA*_" 或 "_EMA*_" 标识 采用符合 "SingleRoomSRIR" 规范的SOFA格式存储 数据采集自1支DPA 4060麦克风,该麦克风嵌入式安装于半径8.5 cm的木质球形散射体中 高分辨率数据(通过VariSphear转台以双自由度旋转依次采集得到): 混响大厅场景:采用勒贝格网格(Lebedev grid)的1202个通道,对应最高球谐阶数29 其他场景:采用勒贝格网格的2702个通道,对应最高球谐阶数44 通过球谐域下采样得到的低分辨率数据(可自定义采样网格与目标阶数): 球谐阶数29:SMA采用t设计网格(t-design grid)的1742个通道;EMA采用等角网格(equiangular grid)的59个通道 球谐阶数12:SMA采用t设计网格的314个通道;EMA采用等角网格的25个通道 球谐阶数8:SMA采用t设计网格的146个通道;EMA采用等角网格的17个通道 球谐阶数4:SMA采用t设计网格的42个通道;EMA采用等角网格的9个通道 球谐阶数2:SMA采用t设计网格的14个通道;EMA采用等角网格的5个通道 球谐阶数1:SMA采用t设计网格的6个通道;EMA采用等角网格的3个通道 经后处理的XMA冲激响应 文件名中包含 "_XMA*_" 标识 采用符合 "SingleRoomSRIR" 规范的SOFA格式存储 数据采集自18支Rode Lavalier GO麦克风,这些麦克风安装于木质人头形散射体(半径7.5 cm至10.5 cm)的弹性绑带上 高分辨率数据(同步采集得到): 18个通道,对应最高球谐阶数8 通过选取麦克风整数子集得到的低分辨率数据: 球谐阶数4:9个通道 球谐阶数2:6个通道 无回声场景:散射体的360个水平朝向(通过VariSphear转台以1°步长的方位角依次采集得到) 室内场景:散射体的36个水平朝向(通过VariSphear转台以10°步长的方位角依次采集得到) 生成的XMA校准滤波器与均衡滤波器 文件名中包含 "_x_nm_" 与 "_e_nm_" 标识 采用专用Matlab格式存储 滤波器以时域形式存储,对应不同阶数的实值球谐函数 经后处理的双耳冲激响应 文件名中包含 "_KEMAR_" 标识 采用符合 "SingleRoomSRIR" 规范的SOFA格式存储 数据采集自带有大耳廓的G.R.A.S KEMAR人头模型 涵盖360个水平头部朝向(通过VariSphear转台以1°步长的方位角依次采集得到) 本数据集涵盖五种声学环境下的冲激响应集: "Simulation_": 平面波从正前方入射至阵列的无回声仿真(仅适用于SMA与EMA) "Anechoic_": Genelec 8030A扬声器在与阵列同一高度处的无回声实测 "LabDry_": Genelec 8030A扬声器在三种不同声源高度下的声学阻尼实验室室内实测(地面直达反射通过额外多孔吸声材料进行衰减,其余条件与后续场景一致) "LabWet_": Genelec 8030A扬声器在三种不同声源高度下的声学阻尼实验室室内实测(硬质水泥地面的直达反射未被遮挡,其余条件与前一场景一致) "Hall_": Genelec 8030A扬声器在三种不同声源高度下的高混响大厅室内实测 本数据集涵盖三种相对声源仰角下的房间冲激响应集: "_SrcHigh": 声源位于接收端地平线以上 "_SrcEar": 声源与接收端处于同一高度 "_SrcLow": 声源位于接收端地平线以下 此外,本数据集还包含测量用扬声器与所用麦克风的无回声冲激响应: "Anechoic_MicSMAnoTape_": 未粘贴胶带的SMA测量麦克风(声源已完成补偿) "Anechoic_MicSMAwithTape_": 粘贴胶带的SMA测量麦克风(声源已完成补偿) "Anechoic_MicXMAmic19_": XMA测量麦克风(声源已完成补偿) "Anechoic_SrcFreeField_": 轴线上的测量声源(所用高质量自由场测量麦克风的影响可忽略不计) "Anechoic_SrcFreeField+MicSMAnoTape_": 测量声源与未粘贴胶带的SMA测量麦克风 "Anechoic_SrcFreeField+MicSMAwithTape_": 测量声源与粘贴胶带的SMA测量麦克风 "Anechoic_SrcFreeField+MicXMAmic19_": 测量声源与XMA测量麦克风 总体而言,本数据集生成的冲激响应集包含以下补偿项(含相位/时域特性的精确补偿): 无回声KEMAR数据:仅补偿声源 无回声SMA/EMA/XMA数据:补偿声源与阵列麦克风 室内KEMAR数据:无补偿 室内SMA/EMA/XMA数据:仅补偿阵列麦克风 用户可选择对室内实测数据中的声源轴响应进行补偿,但无法补偿扬声器的方向相关指向性。鉴于所用扬声器的轴频响应较为平坦,本数据集未对室内实测数据中的声源进行补偿。 =========== 原始数据(DATA_RAW)=========== 本压缩包体积过大(约77.5 GB),无法上传至Zotero。如需获取原始数据,请联系数据集作者。 本压缩包包含测量脚本采集的所有测量配置下的原始声学数据(详见CODE章节),该原始数据可生成本节所述的最终冲激响应数据集(详见DATA章节)。 目录 "resources/ARIR_raw": 按房间与声源位置划分的子目录,包含SMA、XMA与KEMAR的原始声学测量数据 采用专用Matlab格式存储,每个配置的每个测量位置对应单独的数据文件 每个数据文件包含大量元数据,例如所用硬件设备、输入/输出端口与相关说明 每个数据文件包含所用的原始指数扫频信号与采集得到的麦克风信号。用户可使用不同的反卷积与后处理参数重新计算冲激响应。 目录 "resources/ARIR_raw/Logs_temp_humidity": 所有声学测量过程中,以5秒为间隔采集空气温湿度数据 采用CSV格式存储(该数据会自动加载并作为测量后处理的一部分整合至最终冲激响应数据集中,详见CODE章节) 目前该数据未被进一步使用,但由于部分声学测量(尤其是高分辨率SMA数据集)耗时数小时,采集该数据仍具有一定价值。 ====== 代码(CODE)====== 本压缩包包含采集原始声学测量数据(详见DATA_RAW章节)所需的代码,以及后处理并生成最终冲激响应数据集(详见DATA章节)所需的代码,如本节所述。 目录 "dependencies": 代码中使用的Matlab与Python函数库 部分代码功能可能需要额外的开源项目依赖。若存在此类情况,所需依赖的来源与安装流程已在代码头部进行说明。 目录 "plots": 以下脚本导出的绘图文件(可重新生成),用于验证数据仿真、测量与下采样的不同阶段。 Shell脚本 "x1_Start_Jupyter.sh": 创建包含依赖项中所述工具的Python环境 激活已创建的Python环境,通过针对不同声学场景配置的Jupyter Notebook执行冲激响应测量。 Python Jupyter Notebook "x1a_Measure_Microphones.ipynb": 设置并测试所用的声学测量硬件 在无回声环境中对所有所用麦克风进行一系列声学测量 导出原始声学数据与经后处理的冲激响应 Python Jupyter Notebook "x1b_Measure_BRIRs.ipynb": 设置并测试所用的声学测量硬件 根据所需的人头模型朝向,为VariSphear转台生成测量朝向的水平网格 在无回声与多种室内环境中,按照预定义网格对人头模型进行一系列声学测量 导出原始声学数据与经后处理的冲激响应 Python Jupyter Notebook "x1c_Measure_SMAs.ipynb": 设置并测试所用的声学测量硬件 根据所需的SMA采样网格,为VariSphear转台生成测量朝向的球形网格 在无回声与多种室内环境中,按照预定义网格对SMA麦克风进行一系列声学测量 导出原始声学数据与经后处理的冲激响应 Python Jupyter Notebook "x1d_Measure_XMAs.ipynb": 设置并测试所用的声学测量硬件 根据所需的散射体朝向,为VariSphear转台生成测量朝向的水平网格 在无回声与多种室内环境中,按照预定义网格对XMA麦克风进行一系列声学测量 导出原始声学数据与经后处理的冲激响应 Matlab脚本 "x1e_Simulate_SMAs.m": 在无回声环境中,仿真平面波从任意方向入射至带有指定采样网格的SMA与EMA 该仿真可用于评估渲染方法,并研究不同采样网格与均衡方法对渲染后双耳信号的影响 Matlab脚本 "x2_Gather_And_Plot_Measurements.m": 将单独存储的单测点冲激响应文件与对应元数据整合为统一数据集 可使用针对特定声学场景优化的预处理与后处理参数重新计算初始冲激响应,包括对已提供的声源与接收端冲激响应进行补偿 处理过程中可生成大量绘图文件,用于验证输入与输出数据 Matlab脚本 "x2a_Compare_Measurement_Lengths.m": 对比指定测量配置下生成的冲激响应长度 该功能可用于优化实测冲激响应的预处理与后处理参数 Matlab脚本 "x3_Subsample_Measurements.m": 将高分辨率定向冲激响应数据集在球谐域下空间下采样为不同的(低分辨率)采样网格 该功能适用于阵列与头相关冲激响应(Head-Related Impulse Response, HRIR)数据集 若存在参考数据集,该脚本还会将下采样后的数据与参考数据集进行对比。在本数据集中,该脚本会针对无回声仿真与球谐阶数8的SMA室内实测数据进行评估 Matlab脚本 "x3a_Gather_XMA_Measurements.m": 将无回声XMA实测数据从SOFA格式转换为处理脚本所需的数据格式,用于计算对应的校准与均衡滤波器 说明文档 "x3b_Generate_XMA_Filters.txt": 该功能的代码基于文献[1]实现,但目前尚未完善至可发表的程度。若对该功能有疑问,请联系Jens Ahrens(邮箱:jens.ahrens@chalmers.se) [1] J. Ahrens, H. Helmholz, D. Lou Alon, S. V. Amengual Garí. 基于非球形障板周向麦克风阵列的声场球谐分解[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2022, 30: 3110-3119. DOI: 10.1109/TASLP.2022.3209940. Matlab脚本 "x3c_Gather_XMA_Filters.m": 将已计算的校准与均衡滤波器文件重命名为符合本脚本集规范的命名格式 生成的文件名包含递增索引,用于追踪所提供滤波器集的不同版本 Matlab脚本 "x3d_Compare_XMA_Filters.m": 生成多种时域与频域绘图文件,用于对比不同版本的生成XMA校准与均衡滤波器 ================ 文档(DOCUMENTATION)================ 本压缩包包含声学测量过程中有关配置与流程的额外文档,如本节所述。 目录 "documentation": 本数据集不同房间、声源与接收端布置的各类照片 房间尺寸与声源、接收端位置以原始测量笔记的形式进行记录(未来可能会对该部分进行优化)。



