MacOS下批量转换S3M、XM、MOD为无损格式并保留标签方法
MacOS命令行批量转换模块文件为无损格式方案
针对MOD/S3M/XM/ST这类模块文件,以下是MacOS命令行下的批量转换方案,可保留标签信息并适配Plex共享库:
1. 安装依赖工具
- 若未安装Homebrew,先执行以下命令安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装支持模块解码的FFmpeg(内置libmodplug,可直接处理所有目标格式):
brew install ffmpeg
2. 批量转换脚本
创建一个bash脚本convert_modules.sh,实现遍历目录、提取标签并转换为FLAC(Plex完美支持的无损格式):
#!/bin/bash # 遍历当前目录及子目录下所有模块文件 find . -type f \( -iname "*.mod" -o -iname "*.s3m" -o -iname "*.xm" -o -iname "*.st" \) | while read -r file; do output="${file%.*}.flac" # 提取模块的标题、艺术家标签并写入FLAC文件 ffmpeg -i "$file" \ -metadata title="$(ffprobe -v error -show_entries format_tags=title -of default=noprint_wrappers=1:nokey=1 "$file")" \ -metadata artist="$(ffprobe -v error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 "$file")" \ -c:a flac \ "$output" # 可选:删除原模块文件,取消注释即可 # rm "$file" done
给脚本添加执行权限并运行:
chmod +x convert_modules.sh ./convert_modules.sh
3. 标签补全与Plex适配
- 转换后的FLAC文件会自动携带模块原有的标题、艺术家标签,Plex扫描共享库时可直接识别
- 若部分模块无标签或标签不全,可安装
flac工具补充:
手动添加标签示例:brew install flacmetaflac --set-tag="TITLE=My Module Track" --set-tag="ARTIST=Module Author" track.flac
内容的提问来源于stack exchange,提问作者jakobbg
相关产品推荐
相关产品推荐

