Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A clip/sample auto tuner

Project description

Installation/Requirements

All requirements are in requirements.txt. They are numpy for array manipulations, librosa for audio processing, and scipy for it's wavefile export.

Installation, currently, is all via github. To download the cli tool run

pip3.6 install tuning-fork-cli

or, if you just want the Python Library Code, run

pip3.6 install tuning-fork

This project does require python3.6 since I use mypy annotations to help me out.

CLI Usage

usage: tuning-fork [-h] [--bpm BPM] [--out OUT] [--play] wavfile musicfile

Autotune a wavfile to a .music file

positional arguments:
wavfile     The path to the wavfile you want to autotune.
musicfile   The path to the music file you want the wavfile autotuned to.

optional arguments:
-h, --help  show this help message and exit
--bpm BPM   The bpm you want the song to play at.
--out OUT   The desired output file.
--play      Automatically play after wavfile is created.

Python Usage

To import the entire package just include

import tuning_fork ((as tf))

in your imports and all code will be loaded!

tuning_fork itself contains methods for pitch shifting, so, to shift a wav to a .music, you can run

TF = tf.TuningFork
TF.sampleWAVFileIntoMusic("wavfilename", "musicfilename", (bpm))

and that will return a librosa style ndarray that represents the WAV encoding of the autotuned song.

Along with normal functions, tuning_fork also exposes analysis and parseMusic.

  • analysis

    • Available via from tuning_fork.tools.analysis import Analysis
    • Deals with the analysis of a wavfile.
    • Most useful exports are startingNote and startingNoteFromFile
      • These methods take in some reference to a wavfile (depending on the function) and returns the approximate starting note frequency of the song.
  • parseMusic

    • Available via from tuning_fork.tools.parseMusic import ParseMusic
    • Deals with parsing .music files
    • Fairly useful all around, take a look around the source or the help(parseMusic) to find what will fit you!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tuning-fork, version 1.7.1
Filename, size File type Python version Upload date Hashes
Filename, size tuning_fork-1.7.1-py3-none-any.whl (7.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size tuning_fork-1.7.1.tar.gz (6.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page