Skip to content
Romain Clement edited this page Aug 30, 2014 · 3 revisions

Why Yodel?

The name Yodel is a reference to the yodelling singing technique, mostly known in the Swiss Alps. This type of singing is all about sound variations, and so is digital audio signal processing.

Yodel, the Swiss Army knife for your sound.

Features

  • Analysis:

    • Discrete Fourier Transform
    • Fast Fourier Transform
    • Windowing: Hamming, Hanning, Blackman
  • Filtering:

    • Single Pole: low-pass, high-pass
    • Biquad: low-pass, high-pass, band-pass, all-pass, notch, peak, low-shelf, high-shelf
    • State Variable: low-pass, high-pass, band-pass, band-reject
    • Parametric Equalizer

Contributing

Here are the steps to start working for Yodel:

  1. Clone or fork the Git repository from the develop branch:
  • git clone https://github.com/rclement/yodel.git
  • cd yodel && git checkout develop
  1. Install python (preferably version 3.4 and/or 2.7) and pip on your machine
  • On Mac OSX: brew install python
  • On Ubuntu: sudo apt-get install python3 python3-pip
  • On ArchLinux: sudo pacman -S python python-pip
  1. Setup a virtual environment in the cloned repository:
  • Before Python 3.4: pip install virtualenv && virtualenv yodel
  • From Python 3.4: pyvenv yodel
  1. Install the required Python packages for development inside your virtual env:
  • pip install -r requirements-dev.txt
  1. Install Yodel as a development package:
  • make develop
  1. Run tox and check everything is good. You should obtain a congratulations :) message at the end.
  2. Make changes, fix bugs, add features but remember to follow the following guidelines:
  • Always work in your virtual environment
  • Write unit-tests while you are writing code. It will give you confidence in what you're doing. Check the test folder for examples.
  • Write API documentation as you are writing code. Check the results with make docs.
  • After each change, be sure to run tox or at least make test.
  • Check basic Python code lint with make lint and fix potential issues.
  • Always follow the Git Flow branching model.

Versioning

Yodel uses the semantic versioning rules to keep versions tidy. For now, Yodel is still in development state so version numbers are kept to the 0.y.z format

Clone this wiki locally