如何使用带有终端参数的音频转换?

如何使用带有终端参数的音频转换?

我想将一组flac文件转换为aac使用文件的最佳分辨率aac

我找到了这个工具音频转换但我缺少手册页或帮助面。当我使用时该命令有效

audio-convert <filename>.flac

但它会启动一些图形选择向导。有没有办法只使用一个终端命令,以便我可以对一组文件进行批处理?

答案1

我相信这不是从命令行进行转换的最佳工具,它不是设计用于这种方式的。

该工具依赖于 zenity(显示图形部分)并逐一处理文件,这是该工具提供的 README 文件的摘录

要将其用作普通的 bash 脚本,只要您有权访问 x 会话并安装了 zenity,只需输入:path/to/audio-convert path/to/filename... 并指定任意数量的文件名。它们将被一一处理,就像您在 nautilus 或 rox 上选择多个文件时发生的情况一样。

我建议您使用您提到的脚本使用的工具,该工具faac用于 AAC 编码,但您必须首先使用flac.

有关终端调用faacflac的详细信息,您可以查找在线文档,您会发现很多常用的示例,您还可以查看脚本中的函数 aac_encode() 和 flac_decode() audio-convert

flac_decode ()
{
    temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
    flac -d "$1" -o "$temp_file" 2>&1 | awk -vRS='\r' -F':' '!/done/{gsub(/ /,"");gsub(/% complete/,"");if(NR>1)print $2; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

aac_encode ()
{
    if [ $fields -eq 0 ] || [ $pass_metatags -eq 0 ]
        then
                aac_parse_fields
        faac -w "${aac_fields[@]}" -q $quality -o "$3" "$2" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $3; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
    else
        faac -q $quality -o "$3" "$2" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $3; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
    fi
}

但请记住,您不能按原样使用它们,audio-convert因为它们依赖于文件中定义的其他变量。

相关内容