This project contains Julia implementations of functions or scripts from books by Julius Orion Smith III. These books are available online:
- Mathematics of the Discrete Fourier Transform (DFT)
- Introduction to Digital Filters
- Physical Audio Signal Processing
- Spectral Audio Signal Processing
This project aims to faithfully translate MATLAB functions from these books to Julia.
To use the Julia functions
- Clone this repository
- run TBD / FIXME
To design a minimum phase spectrum
s = randn(1024,1) + im*randn(1024);
s_minphase = mps(s);
TBD
To run the tests, the required software is
- MATLAB ( >= R2016a )
- Julia ( >= 0.6 )
- mexjulia
mexjulia must be installed and configured in MATLAB. Please see mexjulia for instructions.
Via the MATLAB terminal:
- Add path to mexjulia, wherever it is located on your machine
addpath('C:\path\to\mexjulia')
- Change directory to a particular JOS3.jl book
cd('C:\path\to\JOS3.jl\filters')
- Run runtests.m
run('runtests.m')
This runs a test for each function that compares the original copy/pasted MATLAB function and the translated Julia function. If all returned elements of the MATLAB and Julia matrices are within a tolerance, the test is passed.
This project is licensed under the MIT License - see the LICENSE file for details
- Julius Orion Smith III for writing wonderful books and the original matlab implementations
- Tracy Wadleigh and other contributors of mexjulia for making testing much easier