터미널 매개변수로 오디오 변환을 사용하는 방법은 무엇입니까?

터미널 매개변수로 오디오 변환을 사용하는 방법은 무엇입니까?

파일을 사용하여 파일 세트를 최상의 해상도 flac로 변환하고 싶습니다 .aacaac

이 도구를 찾았어요오디오 변환하지만 매뉴얼 페이지나 도움말 화면이 누락되었습니다. 내가 사용할 때 명령이 작동합니다

audio-convert <filename>.flac

그러나 일부 그래픽 선택 마법사가 시작됩니다. 파일 세트를 일괄 처리할 수 있도록 하나의 터미널 명령만 사용하는 방법이 있습니까?

답변1

나는 이것이 명령줄에서 변환하는 데 가장 적합한 도구가 아니라고 생각하며, 그런 식으로 사용하도록 설계되지 않았습니다.

이 도구는 zenity(그래픽 표시 부분)에 의존하여 파일을 하나씩 처리합니다. 다음은 도구에서 제공하는 README 파일에서 발췌한 내용입니다.

이것을 일반 bash 스크립트로 사용하려면 x 세션에 액세스할 수 있고 zenity가 설치되어 있는 한 다음을 입력하십시오: path/to/audio-convert path/to/filename... 그리고 파일 이름을 최대한 많이 지정하십시오. 너는 좋아한다. nautilus 또는 rox에서 여러 파일을 선택할 때 발생하는 것과 마찬가지로 하나씩 처리됩니다.

AAC 인코딩에 사용되는 스크립트에서 사용하는 도구를 사용하는 것이 좋지만 faac먼저 flac.

터미널 호출에 대한 자세한 내용은 온라인 설명서를 참조 faac하고 flac일반적으로 사용되는 많은 예제를 찾을 수 있으며 스크립트의 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하지만 파일에 정의된 다른 변수에 의존하기 때문에 그대로 사용할 수 없다는 점을 명심하세요 .

관련 정보