我在.aiff格式的目錄中有多個文件,並且我想使用SoX將它們轉換爲.wav。我曾嘗試代碼上this網站,這是如下將.aiff轉換爲SoX中的.wav
theFiles = `/Users/me/RainbowAiff/*.aiff`;
for eachFile in $theFiles; do v1=${eachFile%*.aiff};
oldFile="$v1.aiff"; newFile = "$v1.wav";
echo oldFile $oldFile; echo newFile $newFile; sox $oldFile $newFile; done
和this網站,這是如下
for i in `/Users/me/RainbowAiff/ *.aiff`; do echo -e "$i"; sox $i $i.wav; echo -e "$i.wav"; done;
,但我得到了這兩種情況下,指出錯誤消息「無法執行二進制文件」。什麼可能是這個錯誤的來源?
的'文件sox'輸出是'Mach-O的64位可執行x86_64'和輸出'uname -a'是'14.5.0 Darwin Kernel版本14.5.0:2017年4月11日星期二16:12:42 PDT; root:xnu-2782.50.9.2.3〜1/RELEASE_X86_64 x86_64'這些不兼容嗎? (我不熟悉二進制文件)。感謝您的幫助。 – Lisa
我不是Mac用戶,不幸的是,我不熟悉它。不過,它們似乎都是64位的。你可以嘗試用'su'命令切換到root用戶並轉到sox所在的目錄,然後運行'chmod + x sox'?然後嘗試再次運行它,最好使用'sudo sox',並具有root權限。此外,人們似乎也有類似的問題,所以你可能想嘗試安裝舊版本的sox,這可能是兼容的:https://stackoverflow.com/questions/13499871/sox-sound-exchange-on- mac-ppc-10-4-installation-questions –
這工作,但現在我收到語法錯誤。我想這應該是一個單獨的問題。謝謝! – Lisa