我有一个 speex 音频文件(snd.spx
)我发现foobar2000是唯一一款我可以轻松将其转换为更广泛使用的格式的软件长度单位 ( snd.flac
)这样我就可以编辑它,然后再将其编码为有损格式。我使用的其他软件似乎对此有所抱怨(mencoder、ffmpeg,两者都抱怨它们没有被编译来处理 speex :()
使用图形用户界面很棒,但在生成文件时手动点击多次很麻烦,所以我想设置一个小脚本来帮我做这件事
这是我遇到问题的地方,我找不到关于如何通过命令行执行此操作的文档,调用foobar2000 /?
会调出 foobar2000 GUI 并给我一些无用的信息
Available switches:
/add <list-of-files> - appends the specified files to the current playlist instead of replacing the playlist content and playing them immediately
/immediate - bypasses the "please wait" dialog when adding files
/play, /pause, /playpause, /prev, /next, /rand, /stop - playback controls
/exit - exits foobar2000
/show, /hide - shows or hides the main foobar2000 window
/config - opens the Preferences dialog
/command:<menu command> - invokes the specified main menu command
/playlist_command:<context menu command> - invokes the specified context menu command on current playlist selection
/playing_command:<context menu command> - invokes the specified context menu command on currently played track
/context_command:<context menu command> <files> - invokes the specified context menu command on the specified files
这些选项似乎都不能让我访问文件转换功能。
其他speex 转 FLAC如果解决方案是可移植的,使用命令行也是可以接受的
(并且不需要我编译二进制文件,我没有合适的环境可用)
答案1
我找到了一种使用官方工具进行转换的方法,
您需要分两步进行转换才能从 到.spx
作为.flac
官方解码器语音只允许您解码为.wav
或原始 PCM
现在假设你在当前目录中有speexdec.exe
和,并且是文件的路径,flac.exe
%~d1%~p1%~n1.spx
.spx
(这是.bat
获取没有文件扩展名的输入参数的文件技巧)
speexdec.exe "%~d1%~p1%~n1.spx" "%~d1%~p1%~n1.wav"
flac.exe -o "%~d1%~p1%~n1.flac" -8 "%~d1%~p1%~n1.wav"
del "%~d1%~p1%~n1.wav"
最后一行清理中间文件