Skip to content

🎵 A music auto-tagging library using the iTunes API

License

Notifications You must be signed in to change notification settings

dominicap/auto-tune

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoTune   Gem Version Build Status security Gitter

AutoTune is a program that automatically tags music based on information from the iTunes Affiliates API so that you can enjoy the benefits of a well-organized and more importantly, a well tagged music library. AutoTune can tag a variety of music regardless where it was purchased from. AutoTune adds essential music information (artwork, artist, album etc.), as well as obscure info such as trackID, artistID, and genreID, directly from iTunes thus providing a plethora of benefits such as artist profile pictures in iTunes and Apple Music lyrics, if a subscription is present.

Prerequisites

Installing AutoTune should be straight-forward if all prerequisites are met. Please make sure your system has the following:

  • GNU/Linux, Unix, or macOS

  • TagLib - The metadata tagging software that tags the music.

    • On macOS if brew is installed, execute:

      brew install taglib

    • On debian/ubuntu execute:

      apt-get install libtag1-dev

  • Ruby - The language behind the software. Must be at least version 2.3.0 or higher.

    • On macOS if brew is installed, execute:

      brew install ruby

    • On Linux, it is recommended that you manually compile and install Ruby to ensure the latest version is installed.

  • RubyGems - Package manager needed to install the package.

  • Bundler - Ruby gem needed to install the package dependencies.

    • gem update && gem install bundler

Installation

Add this line to your application's Gemfile:

gem 'autotune'

And then execute:

$ bundle

Or install it yourself as:

$ gem install autotune

Usage

Usage after installation is fairly simple. That being said, there are a few notable requirements for the music being tagged. Make sure the music being tagged is in the M4A format. If not already in that format, consider using iTunes to convert the music to the iTunes Plus Format. If on Linux, use ffmpeg to convert your music to M4A. Further, the music being tagged does not need to be purchased from the iTunes Store, but it needs to be available in the store. A quick google search should ensure whether it is available or not.

With that out of the way usage is as follows:

$ autotune --album '[album name]' --artist '[artist name]' --directory '[album location]' [options]

The options are the following:

  • --deluxe - Enable this option if the album being tagged happens to be the deluxe or exclusive version.

  • --clean - Enable this option if the album being tagged happens to be the clean version.

  • --single - Enable this option if the album being tagged happens to be a single.

For more information run autotune or autotune --help to view in detail options and shortcuts provided.

Please note the package is in its early stages and might have issues with some albums. Please consider making a copy of your music before using the package.

If your are planning to use this gem as a package for a different project, documentation is coming soon so hang tight!

Development

Please feel free to fork this project and add your own contributions and features to it.

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

All input and feedback is welcome. Consider dropping in suggestions in the Gitter chat room so we can discuss ideas.

Bug reports and pull requests are welcome on GitHub at https://github.com/dominicap/auto-tune.

Acknowledgements

Special thanks to the taglib-ruby gem which without, this project would cease to exist.

License

The gem is available as open source under the terms of the MIT License.

About

🎵 A music auto-tagging library using the iTunes API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published