使用命令行工具提高 MP3 的速度

使用命令行工具提高 MP3 的速度

我正在寻找一个 Windows 命令行工具,可以让我提高 MP3 文件(播客和有声读物)的播放速度。最好是免费或开源的。

更新:我希望能够在不到 60 分钟的时间内收听 1 小时的播客,但如果音调不变的话就更好了。

如果需要的话,我可以先将 MP3 转换为 WAV,然后再转换回来。

答案1

索克斯,声音处理程序中的瑞士军刀,可以毫无障碍地做到这一点:

sox --show-progress 输入.mp3 输出.mp3 节奏 1.5

答案2

您可以通过以下方式进行ffmpeg

ffmpeg -i input.mp3 -filter:a "atempo=1.5" -vn output.mp3

atempo最大值为 2;但是,您可以多次使用 atempo 过滤器。例如,将其速度提高 4:

ffmpeg -i input.mp3 -filter:a "atempo=2,atempo=2" -vn output.mp3

默认输出比特率为ffmpeg128kb/s。如果您有更高质量的 MP3 文件,并且希望输出也是高质量的,请使用ab标志 Eg. 以 320kb/s 的比特率输出:

ffmpeg -i input.mp3 -filter:a "atempo=2,atempo=2" -ab 320k -vn output.mp3

答案3

最好的:mp3-speed.en.softonic.com/

答案4

根据 John T 的回答,我创建了一个 PowerShell 脚本来转换文件夹中的所有 .wav 文件。

# Variables
$soxPath = "C:\Program Files (x86)\sox-14-4-2\sox.exe"
$wavFolder = "C:\temp\MyWavFiles"
$generatedFileFolder = $wavFolder + "\MyGeneratedWavFiles"
$tempo = 1.5
$newFileSuffix = "" # Optional

# Program
If(!(test-path $generatedFileFolder))
{
      New-Item -ItemType Directory -Force -Path $generatedFileFolder
}
Get-ChildItem $wavFolder -Filter *.wav | 
Foreach-Object {
    
    $newFile = $generatedFileFolder + "\" + $_.BaseName.ToString() + $newFileSuffix + $_.Extension.ToString()
    & $soxPath $_.FullName $newFile  tempo $tempo
    Write-Host Converted $_.FullName to $newFile
}

相关内容