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.