我正在使用praat功能开发Web应用程序。我已经为此编写了一个脚本,并且在ubuntu中运行良好。但是现在我想在远程ubuntu服务器上运行这些.praat脚本,并且我已经安装了praat,但是当我运行praat时,出现以下错误:
(praat:1364):GLib-GObject-WARNING **:无效(NULL)指针实例
(praat:1364):GLib-GObject-CRITICAL **:g_signal_connect_data:断言'G_TYPE_CHECK_INSTANCE(instance)'失败
(praat:1364):Gtk-警告**:未设置GtkWindow的屏幕;您必须在使用窗口之前始终为GtkWindow设置屏幕
(praat:1364):Gdk-Critical **:IA__gdk_screen_get_default_colormap:断言'GDK_IS_SCREEN(screen)'失败
(praat:1364):Gdk-CRITICAL **:IA__gdk_colormap_get_visual:断言'GDK_IS_COLORMAP(colormap)'失败
(praat:1364):Gdk-Critical **:IA__gdk_screen_get_default_colormap:断言'GDK_IS_SCREEN(screen)'失败
(praat:1364):Gdk-CRITICAL **:IA__gdk_screen_get_root_window:断言'GDK_IS_SCREEN(screen)'失败
(praat:1364):Gdk-CRITICAL **:IA__gdk_screen_get_root_window:断言'GDK_IS_SCREEN(screen)'失败
(praat:1364):Gdk-CRITICAL **:IA__gdk_window_new:断言'GDK_IS_WINDOW(parent)'失败分段错误(核心已转储)
请告诉我我可以在远程ubuntu服务器中运行praat脚本的方式。
我想知道是否有一种方法可以批量处理音频文件并使用 parselmouth 或 praat 的其他 pythonic 实现生成完整的语音报告。到目前为止,我只能获得中值音高,但我需要能够计算出脉冲和周期的总数、声音中断的程度和微光。如果使用 python 无法做到这一点,是否可以使用 praat 脚本? praat 生成的语音报告
我在 gooogle colab 中使用来自 parelmouth 的 praat,从 parelmouth.praat 导入调用导入时出现此错误
/usr/local/lib/python3.7/dist-packages/parselmouth/adapters/dfp/interface.py in <module>()
15 from datetime import timedelta
16 from pytz import timezone
---> 17 from urllib import quote
18
19 # Parselmouth Imports
ImportError: cannot import name 'quote' from 'urllib' (/usr/lib/python3.7/urllib/__init__.py)
Run Code Online (Sandbox Code Playgroud)
我尝试安装不同版本的 urllib 但没有任何效果
我知道 urllib 使用 import urllib.parse.quote而不是from urllib import quote 但我不是导入 urllib 包的人,它是 praat 模块,我无法更改它
Perl 新手,而且一般来说编码也很陌生,所以如果这是一个很糟糕的格式并且是一个简单的问题,我深表歉意!尝试简单地输入其他人的代码作为涉及 PRAAT 的较大项目的一个步骤。该代码旨在区分语音节奏中的节拍,我在文件命名中遵循了他们的命名法(第 2 行),但代码不会超过第 13 行。有人能告诉我为什么吗?它是否试图打开一个名为“intensities”的目录?此外,还有其他地方我可能需要更改代码吗?它很可能相当旧!非常感谢!
#!/usr/local/bin/perl -w
scalar(@ARGV) == 1 or scalar(@ARGV) == 2 or die "Usage: getBeatsOneShot.pl someSoundFile <threshold>";
$stem = shift;
# Parameters to fiddle with
if (scalar(@ARGV) == 0) {
$threshold = 0.2;
} else {
$threshold = shift;
print "Threshold is $threshold\n";
}
open(IN, "intensities/$stem.intensity") or die "badly";
open(OUT, ">beats/$stem.beats") or die "eek";
# File type = "ooTextFile short"
$_ = <IN>; print OUT $_;
# replace "Intensity" with "TextGrid"
$_ = <IN>; …Run Code Online (Sandbox Code Playgroud)