Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add eMagLS for EMA and extensive project updates #1

Merged
merged 107 commits into from
Apr 27, 2023
Merged

Add eMagLS for EMA and extensive project updates #1

merged 107 commits into from
Apr 27, 2023

Conversation

HaHeho
Copy link
Collaborator

@HaHeho HaHeho commented Apr 25, 2023

TODOs before merge:

  • Perform merge of Tommi's changes into this branch
  • Cleanup leftovers functions from preliminary EMA implementations
  • Add ambisonic encoding toolbox as git-submodule (for getEMagLsFiltersEMAinSH())
  • Add headers with documentation and literature references to all new functions
  • Update headers in all existing functions
  • Add reference to EMA publication to README
  • Move Changelog from README to separate file
  • Discuss keeping the getMagLsArrayDiffuseFilter.m and getMagLsSphericalHeadFilter.m functions
  • Discuss keeping the complex implementations in all filter functions
  • Discuss keeping the optional shDefinition and shFunction parameters in all filter functions
  • Update the example file not to specify the shDefinition and shFunction parameters (i.e. use the default values)
  • Update the filter functions to use the default value "false" for the applyDiffusenessConst parameter
  • Update the example file not to specify the applyDiffusenessConst parameter (i.e. use the default value)
  • @thomasdeppisch validate the updated rendering filters against the currently published implementation (the filters should be very similar with minor differences due to numerical precision)
  • Update example to remove download and re-add audio source file
  • Update function headers to the year 2023

TODOs after merge:

  • Rename master into main branch
  • Update all function headers and documentation referencing the LICENSE file with the updated main URL
  • Add git tags to some milestone stages of the repository and its updates
  • Add GitHub releases according to the chosen tags

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
(update example script to download data on demand)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
(update example script to download data on demand)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
(reintroduce length limitation of the rendered SMA recording)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…he MagLS diffuseness constraint

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…LS and eMagLS2 filters

(also add the respective reference results)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…t provided reference

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
… parameter

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…tional parameter

(see `testEMagLs.m` for a usage example)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
(update file names of respective reference results)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…rove computation time

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
(fix to yield real or complex filters depending on the basis type)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…lters against the provided reference

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ations

(results in neglectable maximum normalized absolute difference of 1e-15)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
(results in neglectable maximum normalized absolute difference of 1e-16)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…rations

(results in neglectable maximum normalized absolute difference of 1e-15)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…erations

(results in neglectable maximum normalized absolute difference of 1e-14)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…tions

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ffs()` from Array-Response-Simulator

(therefore also remove own implementations of spherical hankel and bessel functions)
(this causes the resulting eMagLS and eMagLS2 rendering filters to be slightly different at 0 Hz and the Nyquist bin)
(therefore the reference for eMagLS and eMagLS2 rendering filters are updated for verification)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
… easily

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ignal parts (may occur for complex SH basis functions)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…t resolution

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
getEMagLsFilters.m Outdated Show resolved Hide resolved
testEMagLs.m Outdated Show resolved Hide resolved
…ystem-dependent differences in resulting rendering filters"

This reverts commit 4b8a3f4

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
@HaHeho HaHeho self-assigned this Apr 27, 2023
(therefore the reference for the rendering filters are updated for verification)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…n after calculation

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ers against the reference by default

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ess constraint with "complex" SH conventions (this is not implemented yet)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ters after calculation

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ally removed before)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…rameters correctly

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…arameters

(therefore the default values "@Getsh" and "real" of the rendering filter functions will be used)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…arameters

(therefore the default values "@Getsh" and "real" of the rendering filter functions will be used)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
(therefore the default value "false" of the rendering filter functions will be used)

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…ownload a large ZIP file when executing the example for the first time

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
…o not download a large ZIP file when executing the example for the first time

Signed-off-by: HaHeho <hannes.helmholz@chalmers.se>
@HaHeho HaHeho merged commit a6c5f37 into thomasdeppisch:master Apr 27, 2023
@HaHeho
Copy link
Collaborator Author

HaHeho commented Apr 27, 2023

PR is merged. :) @thomasdeppisch, I think only you can rename the default branch of the repository to main. This would be good to do directly in the repository settings according to https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch.

Afterward, I will add a few release tags and perform the remaining steps.

@thomasdeppisch
Copy link
Owner

Great, many thanks for your efforts! :) I'll look into the renaming now

@thomasdeppisch
Copy link
Owner

thomasdeppisch commented Apr 28, 2023

I just renamed the master to main and cloned the repo and everything works as expected :)
We could think about adding an EMA rendering example to show how that works.

@HaHeho
Copy link
Collaborator Author

HaHeho commented Apr 28, 2023

I just renamed the master to main and cloned the repo and everything works as expected :) We could think about adding an EMA rendering example to show how that works.

Nice. Yes and EMA rendering example would be nice to have as well. We will need a source audio recording for that. Ideally, we could even have the same scenario captured with an SMA and an EMA. Maybe something from the latest TU Berlin data set?

@thomasdeppisch
Copy link
Owner

I just renamed the master to main and cloned the repo and everything works as expected :) We could think about adding an EMA rendering example to show how that works.

Nice. Yes and EMA rendering example would be nice to have as well. We will need a source audio recording for that. Ideally, we could even have the same scenario captured with an SMA and an EMA. Maybe something from the latest TU Berlin data set?

That’s a great idea!

@HaHeho HaHeho mentioned this pull request May 6, 2023
@HaHeho HaHeho deleted the reference_update branch May 6, 2023 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants