我有一个 Python 脚本,它使用 Mac OS X 内置的语音合成 API 通过 PyObjC/AppKit 创建一些已处理文本的 aiff 文件。一切运行正常,但我无法在创建后将 aiff 文件连接在一起。搜索了一段时间后,我发现调用运行 SoX 的 Bash 脚本对我来说是最好的解决方案。我目前不打算部署它,但这是一个内部项目,所以我不介意依赖关系。SoX 可以很好地连接我需要的内容,但我在一些文件(约 0.1%:这些文件似乎没有什么特殊之处):
sox FAIL formats: can't open input file 'folder/subfolder/file.aif': missing SSND chunk in AIFF file
奇怪的是,这些都是由 Objective C API 实时创建的文件,理论上它们都非常相似,但只有一小部分看似随机的部分出现故障?
我查看了源代码以寻找任何线索,并且似乎 SSND 块位于文件的末尾,因此我尝试在我的 python 脚本中添加等待,以防文件尚未完成创建但无济于事。
有什么建议吗?