Skip to main content

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.

Source Distribution

tuning_fork-1.7.1.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

tuning_fork-1.7.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file tuning_fork-1.7.1.tar.gz.

File metadata

  • Download URL: tuning_fork-1.7.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tuning_fork-1.7.1.tar.gz
Algorithm Hash digest
SHA256 4e30bcf3fbd7a11d25e55266919af12a3726620fb7b8c8f3ca9d014441aca158
MD5 e74a15c536d2cfc0753fab95d81b8e86
BLAKE2b-256 4c1e5c8ef3f46783fbab57ee1053c6918d31729d5b02a4554296cc239e3518bb

See more details on using hashes here.

File details

Details for the file tuning_fork-1.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for tuning_fork-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a6a03f230b871fed29635762138c4300da411d69b6f39a770ca9f610427c811f
MD5 c6d5ff985ee01ab091b4297d324fcd62
BLAKE2b-256 6c521ad7c306a51da753b911459263d51b962ce02b7c2d4d5faa99688d4b90aa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page