首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 2/3中的Praat集成

Python 2/3中的Praat集成
EN

Stack Overflow用户
提问于 2016-04-14 06:50:45
回答 2查看 2.4K关注 0票数 1

我一直在研究普拉特的音频分析技术。但是,我发现了一些在Python中使用Praat的库,并且希望这样做。

该网站提供了许多功能,可以提取时,praat是使用。我遵循了他关于在python中“集成”它的说明。然而,http://homepage.univie.ac.at/christian.herbst//python/index.html,我无法让它工作。它返回错误:\ OSError: Errno 2没有这样的文件或目录

我还找到了另一个库:https://pypi.python.org/pypi/python-praat-scripts。这还返回错误(当我运行下面的代码时):OSError: Errno 13权限被拒绝

代码语言:javascript
复制
from praatinterface import PraatLoader
pl = PraatLoader(praatpath ='/Users/user/Downloads/praat6015_mac64.dmg')
text = pl.run_script('formants.praat', 'sample.wav', 5, 5500)
formants = pl.read_praat_out(text)

如果有人能帮我正确地把praat和python集成起来,那就太好了。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-08-07 18:34:38

免责声明:我是上述帕塞尔茅斯图书馆的作者。

如果您不介意尝试另一个库,亲嘴将Praat集成到Python中,而不需要外部的Praat二进制:

代码语言:javascript
复制
import parselmouth
resulting_objects = parselmouth.praat.run_file('formants.praat', 'sample.wav', 5, 5500)

resulting_objects变量将包含选中的普拉特对象的列表,因此如果您确保选择Formant对象,则返回该对象。或者,如果要捕获输出窗口,请运行

代码语言:javascript
复制
import parselmouth
output_string = parselmouth.praat.run_file('formants.praat', 'sample.wav', 5, 5500, capture_output=True)

另一种选择是调用Python本身的分析,并执行如下操作:

代码语言:javascript
复制
import parselmouth
sound = parselmouth.Sound("sample.wav")
formant = sound.to_formant_burg(max_number_of_formants=5, maximum_formant=5500)
formant.get_value_at_time(3, 0.5) # For the value of formant 3 at 0.5 seconds
票数 1
EN

Stack Overflow用户

发布于 2016-04-14 17:30:37

我没有使用过您的任何工具,但似乎问题在于您的praatpath变量。在链接到的页面中,它们应该指向Praat二进制文件,而在您的示例中,它们指向64位Mac发行版的Praat存档。

你得先安装Praat。这些说明是相当标准的,但引用了普拉特网站的话:

下载后,web浏览器可能直接打开.dmg文件;然后您将看到程序PraatPraat.app。如果浏览器没有打开.dmg文件,那么应该双击下载窗口(或主目录中的下载文件夹)中的.dmg文件;双击之后,您可能会直接看到程序PraatPraat.app,或者您可能会看到一个名为Praat6016的磁盘图标,当您打开该图标时,它将显示程序PraatPraat.app。要安装Praat,只需将程序PraatPraat.app拖到应用程序文件夹(或其他任何地方)。

一旦完成,praatpath变量应该指向这个可执行文件。

这适用于您的第二个示例,但我怀疑第一个示例的问题可能类似(即。它不知道普拉特在哪里,因为它要么没有安装,要么没有在PATH中安装)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36615735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档