gpt4 book ai didi

python - Python 中的 Praat 集成 2/3

转载 作者:行者123 更新时间:2023-11-30 09:11:17 27 4
gpt4 key购买 nike

我一直在 Praat 上从事一些音频分析工作。但是,我发现一些在 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]权限被拒绝

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 中,那就太好了。谢谢。

最佳答案

[免责声明:我是上述 Parselmouth 库的作者]

如果您不介意尝试另一个库,Parselmouth将 Praat 集成到 Python 中,无需外部 Praat 二进制文件:

import parselmouth
resulting_objects = parselmouth.praat.run_file('formants.praat', 'sample.wav', 5, 5500)

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

import parselmouth
output_string = parselmouth.praat.run_file('formants.praat', 'sample.wav', 5, 5500, capture_output=True)

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

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

关于python - Python 中的 Praat 集成 2/3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36615735/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com