使用 sox 将 .gsm 转换为 .wav

使用 sox 将 .gsm 转换为 .wav

我正在尝试将一个格式的音乐文件转换.gsm为格式.wav。这是我尝试的方法:

for f in *.gsm; do sox $f new/${f%.wav}; done

结果是我.gsmnew/目录中得到了具有相同格式的相同文件。

有人能指出这里的问题是什么吗?

答案1

${f%.wav}.wav从变量末尾删除。由于f只包含.gsm末尾带有 的文件名,${f%.wav}因此输出的文件名不变。

您可能想"${f%.gsm}.wav"要这样做(假设(a)sox实际上确实转换了文件并且只有扩展名不正确或(b)sox使用文件名来确定所需的转换,因此修复文件名将修复转换)。

相关内容