Skip to content

[DOC] add a guide for users moving from the ITA-Toolbox - #126

Open
aguirreSL wants to merge 1 commit into
PyTTaMaster:developmentfrom
aguirreSL:dev-ita_guide
Open

aguirreSL wants to merge 1 commit into
PyTTaMaster:developmentfrom
aguirreSL:dev-ita_guide

Conversation

@aguirreSL

@aguirreSL aguirreSL commented Nov 1, 2026 •

Copy link
Copy Markdown

Adds docs/pyttadoc/ita_migration.rst, a page for users of the ITA-Toolbox for MATLAB who want to do the same work in PyTTa, linked from the documentation index:

  1. The conventions that differ: 0-based indices, SignalObj in place of itaAudio with float32 samples, freqSignal normalized by PyTTa rather than the plain DFT, keyword arguments in place of name and value pairs, and the time dependence exp(jωt) of the sound field modules.
  2. Five common tasks side by side in MATLAB and Python: room acoustic parameters of an impulse response, third octave smoothing, third octave filtering, loudness, and a measurement without a sound card.
  3. 142 ITA functions and classes in 100 rows over twelve topics, with their PyTTa counterparts, each marked "in PyTTa" or with the number of the open pull request that adds it.
  4. What is not ported: one-call NumPy or SciPy equivalents, the MATLAB infrastructure, hardware drivers, the VA server, and the large applications still to come.

How it was checked:

  1. Every PyTTa name in the tables was resolved on a branch that merges all my open pull requests, and every ITA name was found among the files of the ITA-Toolbox. The status column comes from the pull request that adds each function, read from the git history of the branches.
  2. The examples were run on both sides with the same files: an exponentially decaying impulse response with T = 1 s and a 1 kHz tone at 40 dB. T30 is 1.00 to 1.02 s in PyTTa and 0.99 to 1.02 s in the ITA-Toolbox, and the loudness is 1.000 sone in PyTTa and 1.0002 sone in the ITA-Toolbox (MATLAB R2026b).
  3. The page parses without warnings in docutils.

The example of room parameters uses pytta.RoomAnalysis, the replacement of the deprecated pytta.rooms.analyse. With the fix of #52, rooms.analyse(ir, 'RT', 30, ...) fails on development with "too many values to unpack" in reverberation_time, and its clarity and definition are commented out. This pull request does not change that function.

As the open pull requests are merged, their numbers in the status column can be replaced by "in PyTTa".

Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant