当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 发一个ape+cue转flac的脚本。
帖子发表于 : 2010-05-06 10:23 
头像

注册: 2007-08-05 17:40
帖子: 4979
送出感谢: 0 次
接收感谢: 6
代码:
#!/bin/bash
 
# Split the big single ape/flac file and then convert to mp3 format.
# Lastly, write the id3(version 2) tag info into the mp3s.
#
# Ensure that your cue file is *UTF-8* encoding. NO GB* id3!
#
# Required: mac, flac, lame, cuetools, mutagen, shntool
#
# Edited from Brian's Archive CUE/FLAC Splitter v0.1
# ;-) vvoody
 
if [ "$1" == "--help" ]; then
    echo "======================================="
    echo " Usage: $0 your.ape|flac your.cue" 1>&2
    echo "======================================="
    exit 0
fi
 
if [ $# -lt 2 ]; then
    echo "======================================="
    echo " Usage: $0 your.ape|flac your.cue" 1>&2
    echo "======================================="
    exit 1
fi
 
hifile=$1 # .ape or .flac lossless audio file
shift
cuefile=$1
shift
extra=$@
workdir=${cuefile%\.cue}
mkdir $workdir
cd $workdir
hifile=../$hifile
cuefile=../$cuefile
tracks=$(cueprint -d '%N' "$cuefile")
 
# Store the idv3 info. We will write them to the mp3s later.
id3count=1
while [ $id3count -le $tracks ]; do
    artist[$id3count]=$(cueprint -n$id3count -t '%p' "$cuefile")
    album[$id3count]=$(cueprint -n$id3count -t '%T' "$cuefile")
    tracknum[$id3count]=$(cueprint -n$id3count -t '%02n' "$cuefile")
    title[$id3count]=$(cueprint -n$id3count -t '%t' "$cuefile")
    #echo "Artist      - ${artist[$id3count]}"
    #echo "Album       - ${album[$id3count]}"
    #echo "Track No.   - ${tracknum[$id3count]}"
    #echo "Track Title - ${title[$id3count]}"
    #echo
    id3count=$[$id3count + 1]
done
 
echo "=================================================="
 
# Split and convert the single ape/flac file.
# Each mp3's name is like: "07.Yesterday Once More.mp3"
# Default bit rate is 128, you can customize it by using -b option.
# More output format, see `man shntool`
shntool split -f "$cuefile" -t '%n.%t' -o 'flac' "$hifile"
 
# Remove the pregrap file, or it will make write the id3 incorrectly.
if [ -f "00.pregap.mp3" ]; then
    rm -f 00.pregap.mp3
    echo "00.pregap.mp3 found! Removed it."
fi
 
# Write the id3v2 into the mp3 files.
acount=1
for mp3file in *.flac; do
    mid3v2 --artist="${artist[$acount]}" --album="${album[acount]}" --track="${tracknum[acount]}" \
                --song="${title[acount]}"  $extra "$mp3file"
    acount=$[$acount + 1]
done


在原作基础上做了些许修改。
依赖:mac、cueprint、shntool、mid3v2


_________________
free VPN
YouKuDownLoader
代码:
pip3 install ykdl

install YouKuDownLoader, have fun in downloading.
YouKuDownLoader所支持网站列表


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 发一个ape+cue转flac的脚本。
帖子发表于 : 2010-05-06 11:10 
头像

注册: 2008-11-01 20:43
帖子: 17328
系统: 自动检测比较好
送出感谢: 44
接收感谢: 11
怎么用?我一般用ttplayer听ape+cue
cue在linux下就是个痛


_________________
谁是我?KL.Uiq8 YinMeng


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译