我已经看到多个线程遇到此问题,但我无法找到适用于我的情况的线程。我使用了一个名为audiodiff的库,它实际上告诉你两个音频文件是否具有相同的内容。我记录了以前保存的2个.wav文件,我想查看。这是代码:
import audiodiff
print audiodiff.audio_equal('output1.wav', 'output2.wav', ffmpeg_bin=None)
以下是我在运行终端时输入的输出:
File "/usr/local/lib/python2.7/dist-packages/audiodiff/__init__.py", line 51, in audio_equal
return checksum(name1, ffmpeg_bin) == checksum(name2, ffmpeg_bin)
File "/usr/local/lib/python2.7/dist-packages/audiodiff/__init__.py", line 86, in checksum
stderr=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
我在这里看到的解释与cd有关,但我的所有文件都在同一个文件夹中。所以,我不确定这是怎么回事。任何有关这方面的见解都会很棒。 TIA。
答案 0 :(得分:1)
您可以使用Python的os.path
工具创建文件的绝对路径:
import os
fname = os.path.join(path_to_output1, 'output1.wav')
如果您需要在应用程序启动时获取路径,在执行任何更改目录之前,您可以执行此操作:
path = os.getcwd() # Get the current path where the application was started
在不知道您的完整源代码,目录布局和确切的程序调用的情况下,很难说更多。
更多信息:
https://docs.python.org/3.4/library/os.path.html?highlight=path#module-os.path
答案 1 :(得分:0)
您是否检查过audiodiff的依赖项?
audiodiff要求在您的系统中安装FFmpeg。默认情况下,路径为ffmpeg,但您可以通过以下方式更改它(以后的规则优先于以前的规则)。
- audiodiff.FFMPEG_BIN模块属性
- FFMPEG_BIN环境变量
- ffmpeg_bin flag(仅限命令行工具)
醇>