我该怎么办?

  • 选择声音对象
  • 将声音对象另存为wav(作为临时文件名)
  • 运行sox -i adsda.wavsoxi adsda.wav
  • 输出以显示sox -i的结果
  • 删除临时文件
  • 最佳答案

    您可以通过调用sox指令执行system,然后将输出捕获到一个临时文件中。然后,您可以使用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指令仍然使用旧语法,该语法使用变量替换。将来这可能会改变。但是,即使到那时,该脚本仍应保持可用。

    10-07 14:19