SHAART Acoustic Tools, v 0.6
(Feb 12, 2016)

About    Downloads    Release Notes    License    Screenshots    Running From Source

SHAART is now on GitHub!
GitHub SHAART Repository


This lightweight audio analysis suite was initially written for educational purposes only over a period of 4 days. (And then improved in bits.)
It's amazing how much you can accomplish with minimal knowledge of Python programming.

The name "SHAART" uses the author's initials (S.H.) in homage to the famous "SMAART" set of acoustics analysis tools.
That and "SHAART" is just hilarious to say, for other reasons.
(Note: "homage" = parody, derivative work = fair use = please don't sue.)


Mac Binary Application (105 MB, Yosemite - OS X 10.10); Source code (in Python); Sample WAV file
(For those interested in using the source code, see the bottom of this page for further instructions.)


This software is both "Open Source" and "Free," released under the Jesus license: "Freely you have received, freely give" (Matthew 10:8). Do as you like. Modify, redistribute, etc. See the GitHub repository


Release Notes/Issues


Demo images for the invSpectro utility follow...

invSpectro (above) created the file mandrill.wav, which has a spectrogram shown below:

And interestingly, if mandrill.wav is encoded as an MP3, then re-read and re-written as a WAV, one can see the "lossyness" of the MP3:

One can also apply various audio plugins to the sound and see the effect on the image, e.g. echo:



And a "leveler" effect:

Running from Source

Running from source, via Python and MacPorts:
First, we'll assume you have already
installed MacPorts. (Hint: To get the XCode Command Line Tools without creating an Apple Developer account, after you install Xcode, go into a terminal shell and run "xcode-select --install". Voila!)
Then make sure you have all the ports/packages you need:
sudo port install py27-numpy py27-scipy py27-matplotlib py27-pil py27-pyqt4 py27-pyaudio py27-scikits-samplerate libsndfile; sudo easy_install-2.7 scikits.audiolab 
Then don't forget to run python select:
sudo port select python python27
Then you should be good to go! Just
tar xvfz SHAART.tar.gz
Finally, "./" should run it!

Or, for the truly ambitious:
Building a binary from source
Make sure you can run as described above, before proceeding. The build requires py2app, which used to have issues with MacPorts, however the newer versions of MacPorts seemed to work now. So, run
sudo port install py27-py2app
Then cd into the SHAART source directory and run
/opt/local/bin/python py2app
and wait around while it builds. If successfull, you will find "" in a new subdirectory called "dist"!
Author: Scott Hawley