Mesh2HRTF wurde am Institut für Schallforschung als ein Open Source Projekt mit dem Ziel entwickelt, eine einfache Möglichkeit zur Berechnung von HRTFs bereitzustellen. Als Zielgruppe waren ursprünglich Anwenderinnen und Anwender aus dem Bereich "Binaural Audio" gedacht. Der BEM-Teil von Mesh2HRTF ist aber relativ breit angelegt und kann für verschiedenste Anwendungen benutzt werden, bei denen die Helmholtzgleichung in 3D numerisch gelöst werden muss.

Kurzbeschreibung

Mesh2HRTF liest die geometrischen Daten von Kopf und Ohren, und berechnet daraus HRTFs für verschiedene Richtungen. Um verschiedenste Plattformen und Betriebssysteme zu unterstützen, liegt der Fokus des BEM-Teils, d.h. eine Implementierung der 3-dimensionalen BEM (Kollokation, Burton-Miller zu Stabilisierung und Fast Multipole Methode zum Beschleunigen der Berechnungen) von Mesh2HRTF auf der Kommandozeilenebene. Am 8. April 2023 ist Version 1.0.0 des Softwarepakets erschienen.

Features

  • Export der 3D Geometrie des Kopfes von Blender ( https://www.blender.org/) in das Eingabeformat für den numerischen Teil
  • Berechnung der HRTFs mittels Randelementemethode
  • Export der HRTFs mittels SOFA

NumCalc

Zur Berechnung der HRTFs wird in Mesh2HRTF der BEM Code NumCalc verwendet. NumCalc basiert auf Kollokation mit konstanten Elementen in Kombination mit einer Burton Miller Formulierung. Um den Rechenaufwand und den Speicherverbrauch zu reduzieren wird in NumCalc die Fast Multipole Methode verwendet. Das Eingabeformat für NumCalc ist eine einfache Textdatei, womit es möglich ist, NumCalc auch für Lösungen der Helmholtzgleichung abseits der Berechnung von HRTFs zu verwenden. Ein Inputfile NC.inp, mit dessen Hilfe die Reflexion einer ebenen Welle an einer schallharten Kugel berechnet werden kann, ist hier zu finden: SphereExample.tgz. In diesem Tar-Ball ist auch ein Octave-Skript enthalten, mit dessen Hilfe NC.inp für schallharte und schallweiche Kugeln generiert werden kann. Darüber hinaus ist auch ein Export-Skript für Paraview enthalten, damit die Ergebnisse der Berechnung auch dargestellt werden können. Diese Skripts verwenden teilweise Befehle, wie columns und rows, die nur in Octave funktionieren, aber im Prinzip leicht ersetzt werden können. Eine MATLAB Version ist in Arbeit. Im Zuge von Mesh2HRTF wurden auch einige Features aufgenommen, die von Benutzern angeregt wurden sind, z.B. eine Schätzung des Speicherbedarfs für eine Berechnung.

Entwicklungsteam

Zur Zeit wird Mesh2HRTF durch die Zusammenarbeit folgender Gruppen entwickelt und betreut:

Mit Beiträgen von:

Download

https://mesh2hrtf.org/