Commit 782437e1 authored by Dipl.-Ing. Jonas Stienen's avatar Dipl.-Ing. Jonas Stienen

Merge branch 'master' of

parents 33ff6037 f8e4a9c6
......@@ -14,7 +14,6 @@ Thumbs.db
[submodule "internal"]
path = internal
url =
branch = master
#### Contributing to the ITA-Toolbox
You can contribute to the ITA-Toolbox in many ways:
* reporting bugs,
* fixing bugs,
* writing documentation,
* implementing new features,
* improving existing features.
## Reporting Bugs
* Please make sure that the [software requirements]( for using the ITA-Toolbox are fulfilled.
* You can report bugs using the [issue tracker on the projects GitLab page]( or by sending an E-Mail to the [developer mailing list]( Make sure that your bug report is structured and includes all necessary detail for us to fix it. For guidelines on how to write a bug report take a look at [Good Bug Reports]( In short:
* Mention your MATLAB version, the operating system and its version.
* Choose a matching title that is descriptive for your bug.
* Give a SHORT MATLAB code snippet or figure that shows the issue.
* Give a detailed description of the problem at hand.
## Submitting Bugfixes and Features
For style guidelines and best practices in writing code for the ITA-Toolbox please take a look at the corresponding [Wiki section](
You can contribute bugfixes and features by submitting [merge requests]( to the repository.
Make sure that you follow the following guidelines:
* It is highly recommended that you generate a new branch when working on a bugfix or a new feature.
* Work on your fix/feature inside your new branch.
* Create representative tests for your code if you create a new feature.
* Once finished file the merge request. Your merge request will now be reviewed and discussed.
* After all discussions are resolved and your request gets approved your code will be merged into the master branch.
****** Welcome to ITA-Toolbox for MATLAB ******************
******* ITA-Toolbox for MATLAB *********
Please be aware of the license agreement supplied with this Toolbox (license.txt)
Please report serious bugs to
Please be aware that by using this toolbox you accept the license
agreement supplied in the 'license.txt' file.
Please report bugs to
In the following, MATLAB commands (to be entered in the 'command window'
will be denoted in <>. The actual command has to be entered without <>.
1) Open MATLAB R2010a or higher, with Signal Processing Toolbox
2) Navigate to this ITA-Toolbox folder, where this README.txt lies in.
3) Type <ita_toolbox_setup> in your MATLAB console
4) Follow the instructions and have a look at the GUI and Getting Started Tutorial Script supplied
Before you start make sure you unpacked the toolbox from the .zip file.
1) Open MATLAB R2014b or higher
2) Check for Signal Processing and Curve Fitting Toolboxes are installed
3) Open the ITA-Toolbox root folder (containing the current file).
4) Execute <ita_toolbox_setup>
5) Follow the instructions.
6) For an overview of available tutorials and demos:
<ita_tutorialOverview> and <ita_demoOverview>
7) To generate the documentation execute the function
<ita_generate_documentation> followed by <doc> to open it.
It might be necessary to restart MATLAB for the ITA-Toolbox
documentation to appear in the MATLAB help browser.
To uninstall ITA-Toolbox for MATLAB:
1) type <ita_delete_toolboxpaths>
simply type <pathtool> in your MATLAB console and delete all path entries for ITA-Toolbox and save path list.
1) <ita_toolbox_uninstall>
2) Close MATLAB.
3) Delete your ITA-Toolbox folder
** Have fun! **
Your ITA-Toolbox Developer Team
Aachen, Germany, February 2013
\ No newline at end of file
# ITA-Toolbox
Welcome to the ITA-Toolbox
Welcome to the ITA-Toolbox, an open source MATLAB toolbox for acoustics developed by the [Institute of Technical Acoustics]( of the [RWTH Aachen University](
* Open source project developed by the [Institute of Technical Acoustics](, [RWTH Aachen University](
* Full-fledged Toolbox, well-integrated in the MATLAB environment.
* Including demo files, documentation and tutorials to get started quickly.
* Deals with playable audio files or simulation data (including physical unit calculation and spatial information).
* A graphical user interface and various plot routines for the graphical output of all kind of relevant acoustic data.
* Object-oriented programming concepts for using of well-known MATLAB commands and operators to audio data.
* Makes it easy to do basic signal analysis and processing, record and playback audio files and much more...
[Project Website](
You can find the first instructions how to deal with the ITA-Toolbox in the [Getting Started](ITA_Toolbox_Getting_Started.pdf) file.
[Setup Instructions](Getting_Started.txt)
\ No newline at end of file
......@@ -295,7 +295,7 @@ classdef itaHRTF < itaAudio
pairs = zeros(coord.nPoints/2,2);
if coord.nPoints>10000 % takes a while
ita_verbose_info([num2str(coord.nPoints) ' Points has to be sorted ...please wait...'], 0);
ita_verbose_info([num2str(coord.nPoints) ' Points have to be sorted ...please wait...'], 0);
......@@ -760,14 +760,18 @@ classdef itaHRTF < itaAudio
function surf(varargin)
sArgs = struct('pos1_data','itaHRTF', 'earSide', 'L', 'freq' , 5000,'type','directivity');
sArgs = struct('pos1_data','itaHRTF', 'earSide', 'L', 'freq' , 5000,'type','directivity','log',1);
[this,sArgs] = ita_parse_arguments(sArgs,varargin);
idxF = this.freq2index(sArgs.freq);
position = get(0,'ScreenSize');
figure('Position',[10 50 position(3:4)*0.85]);
if sArgs.log
freqData_dB = this.getEar(sArgs.earSide).freqData_dB;
freqData_dB = this.getEar(sArgs.earSide).freqData;
switch sArgs.type
case 'directivity'
......@@ -784,6 +788,11 @@ classdef itaHRTF < itaAudio
function display(this)
if numel(this) == 0
disp('****** nothing to do, empty object ******')
elseif numel(this) > 1
disp(['size(' inputname(1) ') = [' num2str(size(this)) ']; (for full display, pick a single instance)']);
......@@ -795,6 +804,8 @@ classdef itaHRTF < itaAudio
fprintf([middleLine '\n']);
function disp(this)
......@@ -41,7 +41,7 @@ HRTF_find.play_gui(pinkNoise);
%% Binaural parameters
ITD = slicePhi.ITD; % different methods are available: see method in itaHRTF
ILD = slicePhi.ILD;
%ILD = slicePhi.ILD;
%% Modifications
% calculate DTF
......@@ -65,8 +65,12 @@ HRTF_interp = HRTF_sphere.interp(coordI);
nameDaff_file = 'HRTF_sphere.daff';
HRTF_daff = itaHRTF('daff',nameDaff_file);
%HRTF_daff = itaHRTF('daff',nameDaff_file);
nameDaff_file2 = 'C:\Users\bomhardt\Documents\ITA-Toolbox\applications\TODOunfinished\test_marcia\DATA\HRTF_ITAKopf_Nov2013_MartinPollow\ITA-Kunstkopf_HRIR_Mess01_D180_1x1_256.daff';
HRTF_daff2 = itaHRTF('daff',nameDaff_file2);
\ No newline at end of file
nameDaff_file2 = 'yourHRTF.daff';
if ~strcmp(nameDaff_file2,'yourHRTF.daff')
HRTF_daff2 = itaHRTF('daff',nameDaff_file2);
ita_disp('use an existing daff-file')
\ No newline at end of file
Description: experimental classes for bulky audio data
Dependencies: no dependencies
\ No newline at end of file
Description: generates documentatation: ita_generate_documentation
Dependencies: no dependencies
\ No newline at end of file
......@@ -29,8 +29,19 @@ ita_generate_helpOverview(sArgs.rootpath);
%% Get folders for m2html
ignoreList = {'.svn','.git','private','tmp','prop-base','props','text-base','template','doc','GuiCallbacks'};
pathStr = genpath(sArgs.rootpath); %generates folderlist with ';' to seperate folders
ignoreList = {'.svn', ...
'.git', ...
'private', ...
'tmp', ...
'prop-base', ...
'props', ...
'text-base', ...
'template', ...
'doc', ...
'GuiCallbacks', ...
'external_packages', ...
pathStr = genpath(sArgs.rootpath);
prefixToolbox = fliplr(strtok(fliplr(sArgs.rootpath),filesep)); %get Toolbox folder name
outpathStr = [];
......@@ -47,7 +58,7 @@ for idx=1:(length(tokenIdx)-1)
if ~isIgnore %add string token
outpathStr = [outpathStr,pathsep,tokenCell{idx}]; %#ok<*AGROW>
idxITA = strfind(tokenCell{idx},prefixToolbox); %pdi
outpathList = [outpathList; {tokenCell{idx}(idxITA:end)}]; %throw away 'C:\...' until ITA-TB path
outpathList = [outpathList; {tokenCell{idx}(idxITA:end)}]; % make path relative
......@@ -172,6 +172,9 @@ ita_writeHTML(fullfile(htmlFolder, 'application_demos.html'),app_demoHTML);
% copy the info xml file as required since MATLAB R2014b
copyfile(fullfile(templateFolder,'template_info.xml'), fullfile(htmlFolder, 'info.xml'));
% copy the icons
copyfile(fullfile(templateFolder,'images'), fullfile(htmlFolder, 'images'));
%% generate Class/App Documentation in Help Browser
% - Tumbrgel 05/2012
......@@ -270,57 +273,6 @@ classesHTML=[classesHTML, '<br>', sprintf('\n'), classesHTML_end];
%write edited file
ita_writeHTML(fullfile(htmlFolder, 'classes.html'), classesHTML);
% -> edit apps.html
[appsHTML_begin, appsHTML_end] = ita_openHTML(fullfile(templateFolder, 'template_apps.html'));
appsHTML= appsHTML_begin;
appfolder = rdir([folder filesep '**' filesep 'ita_apps.m']);