Skip to content

Commit

Permalink
Merge pull request #179 from bmcfee/develop
Browse files Browse the repository at this point in the history
Merging from develop toward 0.4 release
  • Loading branch information
bmcfee committed Mar 29, 2015
2 parents e9c0c64 + 02cdf07 commit 560f5c1
Show file tree
Hide file tree
Showing 115 changed files with 30,727 additions and 6,095 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,6 @@ pip-log.txt
.Trashes
ehthumbs.db
Thumbs.db

# Vim
*.swp
47 changes: 47 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
language: python

notifications:
email: false

python:
- "2.7"
- "3.3"
- "3.4"

before_install:
- sudo apt-get update
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
wget http://repo.continuum.io/miniconda/Miniconda-3.8.3-Linux-x86_64.sh -O miniconda.sh;
else
wget http://repo.continuum.io/miniconda/Miniconda3-3.8.3-Linux-x86_64.sh -O miniconda.sh;
fi
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- hash -r
- sudo apt-get install ffmpeg
- pip install python-coveralls
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
# Useful for debugging any issues with conda
- conda config --add channels pypi
- conda info -a
- deps='pip numpy scipy pandas requests nose coverage numpydoc matplotlib sphinx scikit-learn seaborn'
- conda create -q -n test-environment "python=$TRAVIS_PYTHON_VERSION" $deps
- source activate test-environment
- apt-get source libsamplerate
- pushd libsamplerate-*
- ./configure --prefix=$HOME/miniconda/envs/test-environment
- make && make install
- popd

install:
# install your own package into the environment
- pip install git+https://github.com/bmcfee/samplerate.git
# pip install -e rather than setup.py, so that coverage can find the source
- pip install -e ./

script:
- nosetests --with-coverage --cover-package=librosa -v -w tests/

after_success:
- coveralls
10 changes: 8 additions & 2 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
Authors
=======
Contributors
============

* Brian McFee <https://github.com/bmcfee>
* Matt McVicar <https://github.com/mattmcvicar>
* Dawen Liang <https://github.com/dawenl>
* Colin Raffel <https://github.com/craffel>
* Douglas Repetto <https://github.com/drepetto>
* Dan Ellis <https://github.com/dpwe>
* Eric Battenberg <https://github.com/ebattenberg>
* Bryce Walburn <https://github.com/BWalburn>
* Oriol Nieto <https://github.com/urinieto>

Some feature extraction code was based on <https://github.com/ronw/frontend> by Ron Weiss.

Large portions of LibROSA were ported from MATLAB code by Dan Ellis <http://www.ee.columbia.edu/~dpwe/resources/matlab/>.

Some spectral features were ported from original MATLAB implementations by Erik Schmidt and Jeff Scott
at the Drexel METlab <http://music.ece.drexel.edu/>

Additional thanks to Emanuele Coviello and Erik Schmidt for testing, bug reports and fixes.
78 changes: 78 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,84 @@
Changes
=======

##v0.4.0

Bug fixes

- Fixed alignment errors with `offset` and `duration` in `load()`
- Fixed an edge-padding issue with `decompose.hpss()` which resulted in
percussive noise leaking into the harmonic component.
- Fixed stability issues with `ifgram()`, added options to suppress negative frequencies.
- Fixed scaling and padding errors in `feature.delta()`
- Fixed some errors in `note_to_hz()` string parsing
- Added robust range detection for `display.cmap`
- Fixed tick placement in `display.specshow`
- Fixed a low-frequency filter alignment error in `cqt`
- Added aliasing checks for `cqt` filterbanks
- Fixed corner cases in `peak_pick`
- Fixed bugs in `find_files()` with negative slicing
- Fixed tuning estimation errors

New features

- python 3 compatibility
- Deprecation and moved-function warnings
- added `norm=None` option to `util.normalize()`
- `segment.recurrence_to_lag`, `lag_to_recurrence`
- `core.hybrid_cqt()` and `core.pseudo_cqt()`
- `segment.timelag_filter`
- Efficiency enhancements for `cqt`
- Major rewrite and reformatting of documentation
- Improvements to `display.specshow`:
- added the `lag` axis format
- added the `tonnetz` axis format
- allow any combination of axis formats
- `effects.remix()`
- Added new time and frequency converters:
- `note_to_hz()`, `hz_to_note()`
- `frames_to_samples()`, `samples_to_frames()`
- `time_to_samples()`, `samples_to_time()`
- `core.zero_crossings`
- `util.match_events()`
- `segment.subsegment()` for segmentation refinement
- Functional examples in almost all docstrings
- improved numerical stability in `normalize()`
- audio validation checks
- `to_mono()`
- `librosa.cache` for storing pre-computed features
- Stereo output support in `write_wav`
- Added new feature extraction functions:
- `feature.spectral_contrast`
- `feature.spectral_bandwidth`
- `feature.spectral_centroid`
- `feature.spectral_rolloff`
- `feature.poly_features`
- `feature.rmse`
- `feature.zero_crossing_rate`
- `feature.tonnetz`


Other changes
- Internal refactoring and restructuring of submodules
- Removed the `chord` module
- input validation and better exception reporting for most functions
- Changed the default colormaps in `display`
- Changed default parameters in onset detection, beat tracking
- Changed default parameters in `cqt`
- `filters.constant_q` now returns filter lengths
- Chroma now starts at `C` by default, instead of `A`
- `pad_center` supports multi-dimensional input and `axis` parameter
- switched from `np.fft` to `scipy.fftpack` for FFT operations

Deprecated functions

- `util.buf_to_int`
- `output.frames_csv`
- `segment.structure_feature`
- `filters.logfrequency`
- `feature.logfsgram`


##v0.3.1

Bug fixes
Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ librosa
=======
A python package for music and audio analysis. The primary purpose of librosa is to implement common tools for low- and high-level signal-based music analysis.

[![Build Status](https://travis-ci.org/bmcfee/librosa.png?branch=develop)](http://travis-ci.org/bmcfee/librosa?branch=develop)
[![Coverage Status](https://coveralls.io/repos/bmcfee/librosa/badge.svg?branch=develop)](https://coveralls.io/r/bmcfee/librosa?branch=develop)
[![PyPI](https://img.shields.io/pypi/v/librosa.svg)](https://pypi.python.org/pypi/librosa)
[![License](https://img.shields.io/pypi/l/librosa.svg)](https://github.com/bmcfee/librosa/blob/master/LICENSE.md)
[![DOI](https://zenodo.org/badge/doi/10.5072/zenodo.12714.png)](http://dx.doi.org/10.5072/zenodo.12714)

Documentation
-------------
Expand Down Expand Up @@ -54,5 +59,5 @@ Citing

Please refer to the Zenodo link below for citation information.

[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.12714.svg)](http://dx.doi.org/10.5281/zenodo.12714)
[![DOI](https://zenodo.org/badge/doi/10.5072/zenodo.12714.png)](http://dx.doi.org/10.5072/zenodo.12714)

7 changes: 7 additions & 0 deletions docs/beat.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.. _beat:

:mod:`Beat tracking`
--------------------

.. automodule:: librosa.beat

0 comments on commit 560f5c1

Please sign in to comment.