gpt4 book ai didi

nlp - Praat Script::打印频率输出

转载 作者:行者123 更新时间:2023-12-04 02:21:57 26 4
gpt4 key购买 nike

我有兴趣使用 Praat 对几百个 .wav 音频样本(每个样本大约 10 秒)进行批量分析。 Praat 是否可以分析目录中的所有文件,为每个文件“获取音高”(或获取语音报告),并将所有这些打印到 .csv 或 .txt 文件中?

我试过修改一些在线可用的脚本,但由于缺乏编程知识,我觉得这很困难。如果有人提供一些代码让我开始,我将不胜感激!

最佳答案

Praat 使用目录列表的方式是使用 Strings 对象。您可以生成一个包含文件名或目录名的 Strings 对象,然后遍历这些对象以打开每个单独的文件并以您喜欢的方式处理它。

至于输出,您可以手动输出到文本文件,或者您可以将分析结果保存在 Table 对象中,然后可以将其保存为 csvtxt 根据您的喜好。您可以在 my related answer 中看到实际效果.

在这种情况下,你想要的是这样的

form Process files...
sentence Path /path/to/your/files
endform

# Optional: make sure the path has a trailing slash
path$ = if right$(path$) = "/" then path$ else path$ + "/" fi

output = Create Table with column names: "output", 0,
... "file mean_pitch"

files = Create Strings as file list: "files", path$ + "*wav"
total_files = Get number of strings
for i to total_files
selectObject: files
filename$ = Get string: i
sound = Read from file: path$ + filename$

# Run whatever kind of analysis you want here
# For example, get the mean pitch for each file

pitch = To Pitch: 0, 75, 600
mean = Get mean: 0, 0, "Hertz"

selectObject: output
Append row
row = Get number of rows
Set string value: row, "file", filename$
Set numeric value: row, "mean_pitch", mean

removeObject: sound, pitch
endfor

selectObject: output
Save as comma-separated file: path$ + "output.csv"

removeObject: files, output

关于nlp - Praat Script::打印频率输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28040481/

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