将音乐库同步到外部设备
sync_music的Python项目详细描述
同步音乐-将音乐库同步到外部设备
此程序允许您同步音乐库以供使用 原始音乐播放器不支持 收藏。
在正常操作模式下,sync_music执行其同步任务 取决于输入文件格式。flac和ogg vorbis中的音乐文件 格式被转换成MP3格式。MP3音频文件和其他文件 转移时没有改变。在必要时修改文件名以符合 使用fat32格式。如果愿意,sync_music也可以强制 转换所有文件以节省磁盘空间。另一种操作模式 基于ReplayGain标记应用卷规范化。
转码是一项耗时的操作,因此 sync_music可能需要几分钟。但在随后的运行中,它将 仅处理源中更改的文件。优化检测 文件更改,脚本存储并比较固定大小的哈希构建 在每个文件的开头阻止。
除了音频文件,sync_music还可以将m3u播放列表导出到 目标文件夹。绝对路径在此替换为相对路径 除了fat32文件名调整之外的路径。
依赖性
- 巨蟒3.5
- Python Audio Tools>;=3.0(用于转码到MP3)
- Mutagen>;=1.29(用于标记操作)
安装
第一步是安装Python Audio Tools,这取决于 本机库,不提供pypi包。在Ubuntu16.04或更高版本上 有一个官方软件包,只需使用:
# apt install audiotools
作为替代方案,Python Audio Tools可以在 已安装必要的本机库:
# apt install python3-dev lame libmp3lame-dev libmpg123-dev libvorbis-dev # pip3 install https://github.com/tuffy/python-audio-tools/archive/master.zip
然后sync_music可以从pypi安装,使用:
# pip3 install sync_music
以下命令安装当前的开发版本:
# pip3 install https://github.com/fetzerch/sync_music/archive/master.zip
使用量
快速启动
以下基本命令将所有音频文件从源同步到 目的地目录:
sync_music --audio-src=<FOLDER> --audio-dest=<FOLDER>
此外,可以通过指定指向 播放列表:
sync_music --audio-src=<FOLDER> --audio-dest=<FOLDER> --playlist-src=<FOLDER>
此外,sync_music还支持许多高级选项。一份完整的清单 内置帮助消息中提供了支持的选项:
sync_music --help
转码
可以使用–mode参数更改操作模式。
在transcode模式中,MP3文件也被转码(而不是仅仅复制到 目的地:
sync_music --audio-src=<FOLDER> --audio-dest=<FOLDER> --mode=transcode
如果源代码为 包含多个320kbps CBR MP3,目标速率为190kbps VBR。缺点 转码速度较慢,需要更多的CPU能力。
replaygain和replaygain album模式基于 转换代码时ReplayGain标记的卷规范化:
sync_music --audio-src=<FOLDER> --audio-dest=<FOLDER> --mode=replaygain
转码模式要求mp3文件可以由Python Audio Tools解码而不出现问题。可以分析和修复有问题的输入文件 例如使用MP3 Diags。
黑客攻击
一些媒体播放器不正确地支持专辑艺术家标签。这个限制 可以通过将唱片集艺术家信息写入“艺术家”字段来绕过。 这可以通过添加–albumArtist artist hack参数来启用。
有些媒体播放器不支持唱片集艺术家标签,但他们支持 支持composer字段。可以通过写入来绕过此限制 将唱片集艺术家信息放入作曲家字段。这可能是 通过添加–albumArtist composer hack参数启用。
有些媒体播放器不正确地支持带有曲目编号的光盘编号标签 启动每张光盘一张。用户通常希望按磁盘分组 不是按轨道位置。这可以通过创建不同的相册来解决 每张光盘。使用–disc number hack选项,将附加磁盘号 到相册字段。
一些媒体播放器不正确地支持包含 磁盘上的磁道总数。使用–tracknumber hack选项, 曲目总数将从曲目编号字段中删除。
许可证
此程序是免费软件;您可以重新分发和/或修改 根据由 自由软件基金会;许可证的版本2,或者 (由您选择)任何更高版本。
这个程序的发布是希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。见 GNU General Public License 更多细节。