问题标签 [praat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

nested-loops - 如何让嵌套循环在 Praat 中工作以检测整个目录中的开始?

这是我的第一个问题,我尽量说清楚。我浏览了该网站,但没有找到任何可以帮助我的问题。

我试图让 praat 中的发病检测脚本循环整个目录。我已将发病检测脚本作为内循环嵌套到遍历特定库中每个文件的外循环。但是,我似乎无法让它工作。我只得到目录中第一个文件的开头。发病检测脚本本身运行良好,外部循环与其他命令(例如“获取强度”)一起运行良好。谁能看到我做错了什么?

这是我所做的:

我很乐意提供任何帮助。如果您阅读了我的问题并觉得它的表述很糟糕,请给我反馈,以便我可以尝试变得更好。亲切地

0 投票
1 回答
59 浏览

function - 在 Praat 中未通过值的参数

我在 Praat 脚本中创建了一个程序,如下所示:

它基本上是试图找出是否.segment$存在于全局数组allowed_segments$中。

调用时的函数如下:

总是输出:

为什么函数/过程没有获取实际值并将变量视为字符串?

0 投票
1 回答
613 浏览

python - 在 Python 中捕获由 sendpraat 命令产生的 Praat 错误消息

您可以启动一个 Praat 实例,然后使用sendpraat.exe它向它发送 GUI 命令。因此,如果您在后台运行 Praat,则以下命令将导致它mysound.wav作为 Sound 对象读入本地文件:

并且有很多方法可以通过 Python 发送此命令,例如:

但是如果mysound.wav不存在,Praat 实例会弹出一个带有错误的消息框。如何在 Python 中捕获此错误消息的内容并避免弹出窗口?

这些解决方案不适用于该问题:

  1. 对于这个特定的示例,如果文件存在,我可以只签入 Python。但我还需要处理 Praat 将抛出的所有其他错误,例如当它遇到编码问题时,或者当样本被剪裁时。

  2. 我可以nocheck在命令之前使用 (sendpraat praat nocheck "Read from file... mysound.wav"来避免弹出窗口,但是 Python 无法知道命令失败。

0 投票
1 回答
700 浏览

praat - Praat combining two tiers into one tier

I have two tiers within a textgrid and I'd like to combine them into one tier. Each tier is a different speaker. The intervals within each tier don't overlap. Is this possible? I've seen a lot of Praat scripts that will merge or concatenate but nothing to combine them. I've trying to use the Python tgt module to do this but it's been a slow go. I've been digging for a while so any suggestions on how to attack this problem are greatly appreciated! Thanks.

0 投票
0 回答
124 浏览

c++ - 使用 cygwin 在 Windows 上编译 praat 时出现问题 - 内部编译器错误

我正在尝试用 Cygwin编译 Praat ( http://www.fon.hum.uva.nl/praat/ )。我尝试按照 GitHub 页面 ( https://github.com/praat/praat ) 上的说明进行操作。当我运行'make'时,几个文件编译没有问题,但后来我得到:

我尝试在 Praat 用户组上发布一个问题,但没有成功。我怀疑它可以与以前版本的 x86_64-w64-mingw32-gcc 一起使用,但我不确定如何确定哪个版本可以使用,或者老实说,如何降级。(我也不确定 x86_64-w64-mingw32-gcc 和plain ol' gcc 之间有什么区别。)我想避免任何涉及编辑源代码的解决方案,因为它显然已经按原样编译了没有问题。

任何建议或指示是正确的方向将不胜感激!:)

0 投票
0 回答
153 浏览

praat - 如何在praat中进行音高替换?

我试图更换音高,但当我按下“更换音高层”时没有任何反应?为了克隆音高轮廓并将其应用于不同的信号(替换其原始音高轮廓):

  • 在对象窗口中选择声音
  • 转到 To Manipulation 并创建一个操作对象
  • 选择它并转到提取音高层
  • 创建第二个声音对象的操作对象(将替换其音高的对象)
  • 选择第二个操作对象和第一个操作对象的音高层,然后按替换音高层
  • 听第二个操作对象 (Play),现在应用第一个操作对象的音高。
0 投票
1 回答
726 浏览

praat - 在一个层中提取两个或一个间隔

我是 praat 脚本的新手,所以请耐心等待:我设置了一个 for 循环,我想从三层中提取数据。我的前两层工作得很好,但我在第三层遇到了麻烦。

所以在第三层,在循环中的给定点,可能有 1 个或 2 个元素,(我的语言学研究员让我写这个;我不完全了解我到底在提取什么)和我不知道如何检查有多少元素。有没有我可以使用的函数让我在给定的时间间隔内获取元素的数量?我目前的思路是在循环中的那个点获取第三层中的元素数量。如果只有一个,则获取那个,将其分配给正确的变量名,然后继续。如果有两个,抓住两个。

0 投票
1 回答
1295 浏览

object - Praat 脚本删除静音,无法选择和删除对象

我是新来的,所以也许这是一个简单的问题。我尝试在 praat 中创建一个脚本,该脚本将使用 for 循环遍历我的对象列表中的一些对象,并将删除静默间隔。我已经创建了这个脚本,我将把它放在一个 for 循环中。

虽然我得到了我想要的,但我的问题就在这条线上

在这一行中,包含声音的部分被提取和选择。然后我立即使用连接来创建所需的文件并选择它。但是,因为这一行产生的变量不止一个,所以我无法保存它。因此,稍后我没有将其从我的对象目录中删除的参考。虽然我仍然可以运行它,但我的目录会被淹没,我认为这并不优雅。有什么建议么?

0 投票
1 回答
595 浏览

report - 从语音报告中提取一个值的 Praat 脚本

我有一个 praat 脚本,其中为一个对象创建了一个音高对象和一个点过程。然后将这两个与我的初始对象结合起来,返回语音报告。我只想提取某些字段的值并将它们保存在文件中,但我找不到方法。是否有可能或者我应该只生成报告然后用另一种编程语言编写脚本来提取它们?

我的脚本看起来像这样,我打算把它放在一个 for 循环中,以便为多个对象运行。

0 投票
2 回答
1832 浏览

praat - 用于导出所有可能的音频数据的 Praat 脚本

也许有人有Praat 脚本,它可以获取有关音频文件的所有可能信息(音高、格式、强度)?在此处输入图像描述.