{ "info": { "author": "Christian Fetzer", "author_email": "fetzer.ch@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python :: 3 :: Only", "Topic :: Multimedia :: Sound/Audio :: Conversion" ], "description": ".. image:: https://travis-ci.org/fetzerch/sync_music.svg?branch=master\n :target: https://travis-ci.org/fetzerch/sync_music\n :alt: Travis CI Status\n\n.. image:: https://coveralls.io/repos/github/fetzerch/sync_music/badge.svg?branch=master\n :target: https://coveralls.io/github/fetzerch/sync_music?branch=master\n :alt: Coveralls Status\n\n.. image:: https://img.shields.io/pypi/v/sync_music.svg\n :target: https://pypi.org/project/sync_music\n :alt: PyPI Version\n\nsync_music - Sync music library to external devices\n===================================================\n\nThis program allows you to synchronize your music library for the usage\non primitive music players that don't support the diversity of your\ncollection.\n\nIn normal operation mode, *sync_music* performs its synchronization tasks\ndepending on the input file format. Music files in FLAC and Ogg Vorbis\nformat are transcoded to MP3. MP3 audio files and other files are\ntransferred unchanged. Filenames are adapted where necessary to comply\nwith the FAT32 format. If preferred, *sync_music* can also forcefully\ntranscode all files in order to save disk space. Another operation mode\napplies volume normalization based on ReplayGain_ tags.\n\nTranscoding is a time consuming operation, therefore the first run of\n*sync_music* can take several minutes. In subsequent runs however, it will\nonly process files that changed in the source. To optimize the detection of\nfile changes, the script stores and compares a hash build on a fixed size\nblock at the beginning of each file.\n\nBesides audio files, *sync_music* is also able to export M3U playlists to\nthe destination folder. Absolute paths are hereby replaced with relative\npaths in addition to the FAT32 filename adaptations.\n\nDependencies\n------------\n\n- Python 3.5\n- `Python Audio Tools`_ >= 3.0 (for transcoding to MP3)\n- Mutagen_ >= 1.29 (for tag manipulation)\n\nInstallation\n------------\n\nThe first step is to install `Python Audio Tools`_ which depends on a couple of\nnative libraries and doesn't offer a PyPI package. On Ubuntu 16.04 or later\nthere's an official package that can simply be installed using::\n\n # apt install audiotools\n\nAs an alternative `Python Audio Tools`_ can be installed from source after the\nnecessary native libraries are installed::\n\n # apt install python3-dev lame libmp3lame-dev libmpg123-dev libvorbis-dev\n # pip3 install https://github.com/tuffy/python-audio-tools/archive/master.zip\n\nThen *sync_music* can be installed from PyPI with::\n\n # pip3 install sync_music\n\nThe following command installs the current development version::\n\n # pip3 install https://github.com/fetzerch/sync_music/archive/master.zip\n\nUsage\n-----\n\nQuick start\n^^^^^^^^^^^\n\nThe following basic command synchronizes all audio files from the source to the\ndestination directory::\n\n sync_music --audio-src= --audio-dest=\n\nAdditionally M3U playlist syncing can be enabled by specifying the path to the\nplaylists::\n\n sync_music --audio-src= --audio-dest= --playlist-src=\n\nBesides that *sync_music* supports a number of advanced options. A full list of\nsupported options is available in the built in help message::\n\n sync_music --help\n\nTranscoding\n^^^^^^^^^^^\n\nThe operation mode can be changed with the `--mode` parameter.\n\nIn *transcode* mode MP3 files are transcoded as well (instead of just copied to\nthe destination)::\n\n sync_music --audio-src= --audio-dest= --mode=transcode\n\nTranscoding MP3 files can lead to significantly smaller files if the source\ncontains many 320kbps CBR MP3s as the target rate is 190kbps VBR. The drawback\nis that transcoding is slower and needs more CPU power.\n\nThe *replaygain* and *replaygain-album* modes apply (track or album) based\nvolume normalization from ReplayGain_ tags when transcoding::\n\n sync_music --audio-src= --audio-dest= --mode=replaygain\n\nTranscoding modes require that the MP3 files can be decoded by `Python\nAudio Tools`_ without issues. Problematic input files can be analyzed and fixed\nfor example with `MP3 Diags`_.\n\nHacks\n^^^^^\n\nSome media players don't properly support album artist tags. This restriction\ncan be bypassed by writing the album artist information into the artist field.\nThis can be enabled by adding the `--albumartist-artist-hack` parameter.\n\nSome media players don't properly support album artist tags, but they do\nsupport the composer field. This restriction can be bypassed by writing\nthe album artist information into the composer field. This can be\nenabled by adding the `--albumartist-composer-hack` parameter.\n\nSome media players don't properly support disc number tags with tracks numbered\nstarting with 1 for every disc. The user typically wants to group them by disc\nand not by track position. This can be solved by creating a different album for\neach disc. With the `--discnumber-hack` option, the disc number is appended\nto the album field.\n\nSome media players don't properly support track number tags containing the\ntotal number of tracks on the disk. With the `--tracknumber-hack` option, the\ntrack total is removed from the track number field.\n\nLicense\n-------\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n`GNU General Public License `_\nfor more details.\n\n.. _`Python Audio Tools`: http://audiotools.sourceforge.net\n.. _`MP3 Diags`: http://mp3diags.sourceforge.net\n.. _Mutagen: https://mutagen.readthedocs.io\n.. _ReplayGain: https://en.wikipedia.org/wiki/ReplayGain", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fetzerch/sync_music", "keywords": "music synchronization", "license": "GPLv2+", "maintainer": "", "maintainer_email": "", "name": "sync_music", "package_url": "https://pypi.org/project/sync_music/", "platform": "", "project_url": "https://pypi.org/project/sync_music/", "project_urls": { "Homepage": "https://github.com/fetzerch/sync_music" }, "release_url": "https://pypi.org/project/sync_music/0.4.1/", "requires_dist": null, "requires_python": "", "summary": "Sync music library to external devices", "version": "0.4.1" }, "last_serial": 4397470, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "defb2b7fc7eed90026806d614477fb40", "sha256": "0f8b014d5a2de02b7f56c961a81b5efe83fd3606b8a4b55c65dc8d576df6c897" }, "downloads": -1, "filename": "sync_music-0.2.0.tar.gz", "has_sig": false, "md5_digest": "defb2b7fc7eed90026806d614477fb40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15478, "upload_time": "2015-10-18T17:27:15", "url": "https://files.pythonhosted.org/packages/d0/9e/0923d63760a49280f7deb6ec6557f4a6c3d104b7156d602853cf36c13390/sync_music-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "3782683c6518c14b959c018abc7ca502", "sha256": "d7cd7946c5aa54e576569c13dd63b50d60d0997d8a4d376f87bc6b2ecccd01f1" }, "downloads": -1, "filename": "sync_music-0.3.0.tar.gz", "has_sig": false, "md5_digest": "3782683c6518c14b959c018abc7ca502", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18847, "upload_time": "2017-06-04T17:53:28", "url": "https://files.pythonhosted.org/packages/1a/e4/2cec84fff61ff4b6e21a18644c4770856e3048f523adc3ac63466fda9e72/sync_music-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "f013f1cf903c51dd45dff2c847a0e866", "sha256": "56f95d624dccc1071763fde1d16ff4f0f52ed348bbba4cdf84ba22c7ea065819" }, "downloads": -1, "filename": "sync_music-0.3.1.tar.gz", "has_sig": false, "md5_digest": "f013f1cf903c51dd45dff2c847a0e866", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18892, "upload_time": "2017-06-04T18:45:41", "url": "https://files.pythonhosted.org/packages/72/84/e4e407268938b0093725ed434c6b9558c37c9c7f4213779f425924edd02a/sync_music-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "5b7deead5a198331033f8040a110a6e3", "sha256": "be71643afb4b16cec1c8dedc9064611668af3e933b5276268545f18323425010" }, "downloads": -1, "filename": "sync_music-0.4.0.tar.gz", "has_sig": false, "md5_digest": "5b7deead5a198331033f8040a110a6e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19096, "upload_time": "2017-06-08T18:16:43", "url": "https://files.pythonhosted.org/packages/3f/6c/c3d15d494e17ffafd6b62fc79342c30aae5dce77adccdfa9d1ed01162794/sync_music-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c573cdcb04d795fffd6a0eea0d568991", "sha256": "612ec8c62a05483a7f51430b86a09a182565d88b800e4402ad310bbd70b3a820" }, "downloads": -1, "filename": "sync_music-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c573cdcb04d795fffd6a0eea0d568991", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1273318, "upload_time": "2018-10-20T15:47:59", "url": "https://files.pythonhosted.org/packages/f2/a1/3cd52b996fe0b436ca017c3850fab7518f975c5c7e586e19ab8a57640bf0/sync_music-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c573cdcb04d795fffd6a0eea0d568991", "sha256": "612ec8c62a05483a7f51430b86a09a182565d88b800e4402ad310bbd70b3a820" }, "downloads": -1, "filename": "sync_music-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c573cdcb04d795fffd6a0eea0d568991", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1273318, "upload_time": "2018-10-20T15:47:59", "url": "https://files.pythonhosted.org/packages/f2/a1/3cd52b996fe0b436ca017c3850fab7518f975c5c7e586e19ab8a57640bf0/sync_music-0.4.1.tar.gz" } ] }