c# - 使用 C# 程序从 praat 获取值

标签 c# .net phonetics

我有一个用 C# 编写的程序和由 praat(语音软件)计算的值。我已经有一个运行 praatcon.exe 的 praat 脚本,它在 Windows 控制台 (cmd.exe) 上打印结果。 我可以在我的 C# 应用程序中使用这个结果吗?怎么办?

或者是否有更好的方法来获取结果,例如使用命令“sendsocket”?这个怎么用?

编辑:它与这段代码配合得很好:

ProcessStartInfo si = new ProcessStartInfo();
si.FileName = "praatcon.exe"; //name of the handle program from sysinternals
//assumes that it is in the exe directory or in your path
//environment variable

//the following three lines are required to be able to read the output (StandardOutput)
//and hide the exe window. 
si.RedirectStandardOutput = true;
si.WindowStyle = ProcessWindowStyle.Hidden;
si.UseShellExecute = false;

si.Arguments = "-a example.praat filename.wav"; //you can specify whatever parameters praatcon.exe needs here; -a is mandatory!

//these 4 lines create a process object, start it, then read the output to
//a new string variable "s"
Process p = new Process();
p.StartInfo = si;
p.Start();
string s = p.StandardOutput.ReadToEnd();

在 praatcon.exe 中使用“-a”参数非常重要。见说明 here .

最佳答案

下面是如何捕获另一个 exe 的控制台输出。

这一切都在 System.Diagnostics 命名空间中。

ProcessStartInfo si = new ProcessStartInfo();
si.FileName = "praat.exe";     //name of the program
                                //assumes that its in the exe directory or in your path 
                                //environment variable

//the following three lines are required to be able to read the output (StandardOutput)
//and hide the exe window.
si.RedirectStandardOutput = true;
si.WindowStyle = ProcessWindowStyle.Hidden;
si.UseShellExecute = false;

si.Arguments = "InputArgsHere";     //You can specify whatever parameters praat.exe needs here

//these 4 lines create a process object, start it, then read the output to 
//a new string variable "s"
Process p = new Process();
p.StartInfo = si;
p.Start();
string s = p.StandardOutput.ReadToEnd();

关于c# - 使用 C# 程序从 praat 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4247376/

相关文章:

.net - 使用LINQ所需的导入和引用

c# - 修改Program Files目录下的App.config

.net - WPF - 如何将 WrapPanel 中的所有项目居中?

c# - lucene.net 语音过滤器

elasticsearch - 使用Elasticsearch的整数的语音搜索结果

c# - xmldocument 和嵌套模式

c# - Properties.Settings.Default 在 Release模式下失败

c# - 表中最后一条记录的ID

text-to-speech - 是否有接受基于 IPA 的音标的文本转语音软件?

c# - 为什么使用 `foreach` 循环数组对象比 lambda `ForEach` 更快?