Audio 如何将Praat脚本应用于音频文件?

Audio 如何将Praat脚本应用于音频文件?,audio,praat,Audio,Praat,我正试图用Colab中的praat更改音频文件的格式。我找到了可以这样做的。我安装了praat: 如何使用linux命令行或python在没有UI的情况下将此脚本应用于多个wav文件?一般答案 你没有。您运行一个脚本,它完全取决于脚本如何工作,它在哪些对象上工作,在哪里获取这些对象,如何获取它们,等等 因此,您必须始终了解如何应用特定脚本,这始终需要了解该脚本如何需要其输入,以及如何达到这一点 具体答案 所需脚本的页面显示 此命令[对]每个选定的声音执行某些操作 所以第一件事就是打开你想要的文件

我正试图用Colab中的praat更改音频文件的格式。我找到了可以这样做的。我安装了praat:

如何使用linux命令行或python在没有UI的情况下将此脚本应用于多个wav文件?

一般答案 你没有。您运行一个脚本,它完全取决于脚本如何工作,它在哪些对象上工作,在哪里获取这些对象,如何获取它们,等等

因此,您必须始终了解如何应用特定脚本,这始终需要了解该脚本如何需要其输入,以及如何达到这一点

具体答案 所需脚本的页面显示

此命令[对]每个选定的声音执行某些操作

所以第一件事就是打开你想要的文件并选择它们

让我们假设您使用的声音数量足够小,可以一次打开所有声音。如果您正在处理大量声音文件,或者文件太大而无法保存在内存中,则必须将作业批处理为较小的块

一种方法是使用包装器脚本打开文件,选择文件,然后执行所需的另一个脚本:

# Get a list of all your files
files = Create Strings as file list: "list", "/some/path/*.wav"
total_files = Get number of strings

# Open each of them
for i to total_files
    selectObject: files
    filename$ = Get string: i
    sounds[i] = Read from file: "/some/path/" + filename$    
endfor

# Clear the selection
nocheck selectObject(undefined)

# Add each sound to your selection
for i to total_files
    plusObject: sounds[i]
endfor

# Run your script
runScript: path_to_script$, ...
# where the ... is the list of arguments your script expects

# In your specific case, it would be something like
runScript: preferencesDirectory$ + "/plugin_VocalToolkit/changeformants.praat",
    ... 500, 1500, 2500, 0,     0,    5500, "yes", "yes"
#      ,-´  ,-´  ,--´ ,--´    ,-´       ^     ^      ^
# New F1,  F2,  F3,  F4, and F5 means   |     |      |
#                               Max formant   |      |
#                       Process only voiced parts    |
#                             Retrieve intensity contour

# Do something with whatever the script gives you
我的Praat相当生疏,但这至少应该让你知道该怎么做免责声明:我还没有运行上面的任何一个,但概念应该是好的

使用存储在某处的包装器脚本,您可以从命令行执行它:

$ praat /path/to/wrapper.praat
$ praat /path/to/wrapper.praat