我正在寻找可以利用我的 GPU 或至少利用我的 CPU 的多个核心的东西,以非常快速地将几 TB 的 FLAC 转换为 mp3 (VBR v0),同时保留所有标签。
任何意见是极大的赞赏。
答案1
根据目录结构(数据是否平坦?),您可以踢出许多太平洋石油公司在平行下。它在转换时在保留标签方面做得相当不错。
它不会利用 GPU,但通过一些并行化,您应该能够利用多个核心(磁盘可能成为瓶颈)。
答案2
好吧,这实际上是几个问题。
利用多个核心并不会太难,这可以通过 shell 脚本和分叉来实现。
这是 zsh 中的一个非常简单的示例:
for f in *flac; do
sox $f ${f%%.flac}.mp3 &
done
当然,您可以根据核心数量对其进行优化并批量进行转换。
现在,保留标签是另一回事,我可能会从索克斯,看看这是否可以帮助你。如果没有,我会使用 metaflac 将数据转储到一个小脚本中,这将设置我的 MP3 标签(我最喜欢的程序是眼睛D3)。它们必须由您自己作为 FLAC 标签(实际上只是 Vorbis 注释)“翻译”为 ID3 标签。
像这样的东西:
for f in *flac; do
eyeD3 -a $(metaflac --show-tag-name=ARTIST $f) ${f%%.flac}.mp3
done
这当然只是一个标签等等,只是为了演示。当然,您可以将这两个片段结合起来。
但是,我无法帮助您优化 GPU 解决的问题。我不太明白这有什么帮助,因为 GPU 针对矢量计算进行了优化。
答案3
我没有使用过这个工具,但它听起来像你正在寻找的东西。它被称为弗拉克2全部。具体来说这个项目符号:
- CPU/核心检测,用于自动选择线程数。
用法
flac2all.py with "-h" to get an overview, like so:
Usage:
flac2all [convert type] [input dir] <options>
where 'convert type' is one of:
[mp3]: convert file to mp3
[vorbis]: convert file to ogg vorbis
[flac]: convert file to flac
[aacplusnero]: (NO TAGGING SUPPORT) convert file to aacplus using the proprietery (but excellent) Nero AAC encoder.
Options:
-h, --help show this help message and exit
-c, --copy Copy non flac files across (default=False)
-v OGGENCOPTS, --vorbis-options=OGGENCOPTS
Colon delimited options to pass to oggenc,for example:
'quality=5:resample 32000:downmix:bitrate_average=96'.
Any oggenc long option (one with two '--' in front)
can be specified in the above format.
-l LAMEOPTS, --lame-options=LAMEOPTS
Options to pass to lame, for example:
'-preset extreme:q 0:h:-abr'. Any lame option can be
specified here, if you want a short option (e.g. -h),
then just do 'h'. If you want a long option (e.g. '--
abr'), then you need a dash: '-abr'
-a AACPLUSOPTS, --aacplus-options=AACPLUSOPTS
AACplus options, currently only bitrate supported.
e.g: " -a 64 "
-o DIR, --outdir=DIR Set custom output directory (default='./')
-f, --force Force overwrite of existing files (by default we skip)
-t THREADS, --threads=THREADS
How many threads to run in parallel (default:
autodetect [found 2 cpu(s)] )
-n, --nodirs Don't create Directories, put everything together
视频演示
Youtube 上甚至有一段视频展示了它使 16 核系统饱和的情况,标题为:flac2all 饱和16CPU机器(双四核+HT)。