{"id":28067610,"url":"https://github.com/sofacoustics/sofatoolbox","last_synced_at":"2025-05-12T16:58:29.050Z","repository":{"id":30438281,"uuid":"33991457","full_name":"sofacoustics/SOFAtoolbox","owner":"sofacoustics","description":"SOFA Toolbox (API for Matlab, Octave)","archived":false,"fork":false,"pushed_at":"2025-04-22T08:02:35.000Z","size":64410,"stargazers_count":129,"open_issues_count":11,"forks_count":32,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-04-22T09:23:10.626Z","etag":null,"topics":["matlab","octave","sofa"],"latest_commit_sha":null,"homepage":"http://sofaconventions.org","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"google/google-authenticator-android","license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sofacoustics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-04-15T12:06:16.000Z","updated_at":"2025-03-31T02:58:17.000Z","dependencies_parsed_at":"2024-04-08T12:31:33.669Z","dependency_job_id":"e5639e73-49e2-4ef5-b4a3-b5b8295c2425","html_url":"https://github.com/sofacoustics/SOFAtoolbox","commit_stats":null,"previous_names":["sofacoustics/api_mo"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofacoustics%2FSOFAtoolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofacoustics%2FSOFAtoolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofacoustics%2FSOFAtoolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sofacoustics%2FSOFAtoolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sofacoustics","download_url":"https://codeload.github.com/sofacoustics/SOFAtoolbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253784535,"owners_count":21963895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["matlab","octave","sofa"],"created_at":"2025-05-12T16:58:28.408Z","updated_at":"2025-05-12T16:58:29.044Z","avatar_url":"https://github.com/sofacoustics.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"SOFA - Spatially Oriented Format for Acoustics\n==============================================\n\nSOFA is a file format for reading, saving, and describing spatially\noriented data of acoustic systems.\n\nExamples of data we consider are head-related transfer functions (HRTFs),\nbinaural room impulse responses (BRIRs), multichannel measurements such as done\nwith microphone arrays, or directionality data of loudspeakers.\n\nThe format specification is the major focus of SOFA, but we also aim in providing \ntoolboxes for reading and writing the data in SOFA. For more information on the \nformat specifications and available data, see http://www.sofaconventions.org/.\n\nThis project implements a reference toolbox for SOFA: The SOFA Toolbox. \n\nSOFA Toolbox 2.x implements SOFA versions 2.x. The SOFA Toolbox has been previously \nknown as the SOFA API_MO, which supported SOFA versions up to 1.x.\n\n\nDownloads\n=========\n\nCurrent releases of SOFA Toolbox can be found on [SourceForge](http://sourceforge.net/projects/sofacoustics).\n\n**Note:** \n- The SOFA Toolbox 2.1 is the succeeding release version of SOFA API M/O version 1.1.3. It supports SOFA 2.1 as known as AES69-2022.\n- The SOFA Toolbox 2.0 has never been released. \n\n\nUsage\n=====\n\n## Matlab/Octave \n\nIn order to use SOFA with Matlab or Octave add its `SOFAtoolbox` folder\nto your search paths. After that you can play around with your acoustic measurements\nas shown by the following example which uses a HRTF measurement.\n\n```matlab\n% Start SOFA\nSOFAstart;\n\n%% put your information here:\nhrtf = SOFAload('path/to_your/HRTF.sofa');\nsoundInput = audioread('path/to_your/fancy_audio_file.wav');\n\n% Display some information about the impulse response\nSOFAinfo(hrtf);\n% Plot a figure with the measurement setup\nSOFAplotGeometry(hrtf);\n% Have a look at the size of the data\ndisp(['size [MxRxN]: ' num2str(size(hrtf.Data.IR))])\n% Calculate the source position from a listener point of view\napparentSourceVector = SOFAcalculateAPV(hrtf);\n% Listen to the HRTF with azimuth of -90°\napparentSourceVector(91, 1)\nSOFAplotGeometry(hrtf, 91);\nsoundOutput = [conv(squeeze(hrtf.Data.IR(91, 1, :)), soundInput) ...\n               conv(squeeze(hrtf.Data.IR(91, 2, :)), soundInput)];\nsound(soundOutput, hrtf.Data.SamplingRate);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofacoustics%2Fsofatoolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsofacoustics%2Fsofatoolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofacoustics%2Fsofatoolbox/lists"}