【问题标题】:Praat and sox information scriptPraat 和 sox 信息脚本
【发布时间】:2014-11-16 14:15:13
【问题描述】:

我该怎么做?

  1. 声音对象被选中
  2. 将声音对象保存为 wav(作为临时文件名)
  3. 运行sox -i adsda.wavsoxi adsda.wav
  4. sox -i的结果输出到显示器
  5. 删除临时文件

【问题讨论】:

    标签: audio sox praat


    【解决方案1】:

    您可以通过调用system 指令来执行sox,然后将输出捕获到一个临时文件中。然后,您可以使用readFile$() 将此临时文件读入 Praat。这是一个例子:

    infile$ = "sound.wav"
    outfile$ = "soxi.out"
    sound = Create Sound as pure tone: "tone",
      ... 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01
    Save as WAV file: infile$
    
    system soxi 'infile$' > 'outfile$'
    soxi$ = readFile$(outfile$)
    appendInfo: soxi$
    
    deleteFile: infile$
    deleteFile: outfile$
    removeObject: sound
    

    我不确定这需要在 Windows 中进行哪些更改(如果有的话),但考虑到您使用的是 sox,这可能不是问题。

    请注意,目前(Praat v.5.4)system 指令仍然使用旧语法,它使用变量替换。这在未来可能会改变。但即便如此,这个脚本也应该仍然可用。

    【讨论】:

    • 谢谢!由于某种原因,我收到一个错误:“公式中的未知函数«readFile$»。脚本第 5 行未执行或完成:«soxi$ = readFile$(outfile$)»菜单命令“运行”未完成。”不知道为什么,但我得到了 praat 的信息。 @jja
    • 这很奇怪。未知函数错误可能是因为旧版本的 Praat。在这种情况下,您可以使用soxi$ < 'outfile$',这是“旧”的做法。不过,我还没有尝试过。但它似乎仍然对你有用,所以这很好。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多