나는 오디오 재생 속도를 늦추는 VLC 옵션을 좋아합니다.
이제 mp3 파일을 휴대용 플레이어로 전송하여 재생하고 싶습니다. 불행히도 플레이어에게는 속도 저하 옵션이 없습니다.
VLC를 사용하여 mp3를 느리게 재생된 것처럼 들리도록 변환하는 방법은 무엇입니까?
나는 명령줄 도구를 선호하지만 GNU/Linux용 다른 무료 소프트웨어 도구도 허용합니다.
답변1
나는 사용하는 것이 좋습니다삭스이와 같이:
sox <input> <output> tempo 0.5
이렇게 하면 속도가 2배 정도 느려지고 <input>
결과가 <output>
.
--show-progress
관련 정보 및 진행률을 표시하는 옵션을 추가할 수 있습니다 .
SoX 는 <input>
is normal.wav
및 <output>
is 인 경우 half-tempo.ogg
자체적으로 다양한 오디오 인코딩을 감지합니다 (해당 섹션에 대한 자세한 제어는 다음을 참조하세요 man sox
).
이 알고리즘은 VLC 모듈과 유사한 결과를 tempo
제공해야 합니다 . scaletempo
하지만 대체 stretch
알고리즘을 시도해 볼 수 있습니다.
sox <input> <output> stretch 2
결과가 더 포괄적일 것으로 예상하고( man sox
자세한 내용은 다시 읽어보세요) 매개변수가 지정된 매개변수의 역수라는 점에 유의하세요 tempo
( 이 예에서는 2
아님 ).0.5
SoX는 및 옵션을 통해 더 많은 시간 조작 가능성을 제공하며 speed
쉽게 탐색 pitch
할 수 있습니다.bend
SoX를 설치하려면 다음을 사용하세요 apt-get
.
sudo apt-get install sox
추가 코덱(MP3 포함)을 활성화하려면 다음 라이브러리를 추가하세요.
sudo apt-get install libsox-fmt-all
마지막으로 다음을 사용하여 명령줄에서 파일 재생 속도를 늦출 수 있으므로 VLC로 돌아가겠습니다.
cvlc --rate 0.5 <input>
따라서 VLC에 결과를 일부 파일에 저장하도록 요청하거나 오디오를 JACK으로 출력한 다음 JACK 호환 레코더를 사용하는 방법이 있을 수 있습니다.
답변2
다음 스크립트에서는 ffmpeg를 사용하여 이를 수행합니다.
#!/bin/sh
# Usage:
# slow_down.sh infile.mp3 outfile.mp3 0.75
# Can't slow down more than by a factor of 0.5 (limitation of ffmpeg).
if [ $# -lt 3 ]; then
echo 1>&2 "$0: not enough arguments"
exit 2
fi
rm -f $2 temp.mp4
ffmpeg -i $1 -filter_complex "[0:a]atempo=$3[a]" -map "[a]" -c:a aac temp.mp4
ffmpeg -i temp.mp4 -ar 48000 $2
rm -f temp.mp4
이것은 아마도 단순화될 수 있지만 두 개의 ffmpeg 명령을 하나로 결합하는 방법을 알 수 없습니다.
나는 이 방법의 출력이 sox가 제공한 두 가지 알고리즘의 결과보다 훨씬 더 좋게 들린다는 것을 알았습니다. 나에게 이것은 YouTube 인터페이스에서 오디오 속도를 늦추는 것만큼 좋은 것 같습니다.
답변3
ffmpeg -i "audio.mp3" -filter:a "atempo=0.5" "output_audio.mp3"
for %f in (*.mp3) do ffmpeg -i "%f" -filter:a "atempo=0.5" "output\slow_%f"