All Projects → drscotthawley → Shaart

drscotthawley / Shaart

Licence: gpl-2.0
SHAART is a Python-based audio analysis toolkit, for educational purposes

Programming Languages

python
139335 projects - #7 most used programming language

Main web page: http://hedges.belmont.edu/~shawley/SHAART/index.html

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

(yes, the name is a joke)
About    Downloads    Release Notes    License    Screenshots    Running From Source
Tutorial(s)


About

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.)

Downloads

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.)

License

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

Tutorial(s)

Release Notes/Issues

  • v0.5:
    • Got its own App icon!
    • "Power": Improved power spectrum calculation and display.
    • "Equation": Added equation for inverse exp. sine sweep (with "depinking").
    • Added IR creation tutorial (documentation)
  • Despite saying WAV file everywhere, the newest version of SHAART will read AIFF files too. And the previous issue with 24-bit PCM WAV files has been resolved.
  • You don't need a WAV file to use the room mode calculator or the Sabine calculator.
  • No you can't get a logarithmic frequency scale for the spectrogram. Not yet.
  • For waterfall plots, it doesn't clear the window if you change the input data, resulting in multiple plots on the same page. Bug or feature?

Screenshots















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


And interestingly, if lena.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:

Wah-wah:

Reverb:

And here's an interesting one: a "leveler" effect turns Lena into a vampire:


Running from Source

Running SHAART.py 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
...then
cd SHAART
Finally, "./SHAART.py" should run it!

Or, for the truly ambitious:
Building a SHAART.app binary from source
Make sure you can run SHAART.py 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 setup.py py2app

and wait around while it builds. If successfull, you will find "SHAART.app" in a new subdirectory called "dist"!


Author: Scott Hawley
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].