2017-07-21 8 views
0

Praatのボイスレポート([&編集]ウィンドウの[Pulses]の下にある)を100個以上のファイルに対して自動生成する方法はありますか?私はファイル全体の音声レポートを必要とし、私はそれに精通しているので、理想的にはPythonでこれを行うでしょう。Praatの音声レポートを自動化する方法

答えて

0

音声レポートはエディタコマンドです。したがって、Praatのバッチインスタンスでは利用できません。 GUIに接続されているPraatのインスタンスが必要です(そうしないと、Cannot view or edit a Sound from batchエラーが発生します)。

私は現在のPython固有のライブラリに慣れていないので、この問題を回避できるものがあるかどうかはわかりません(私はそれを疑う)。つまり、sendpraatを使用して、リモートのPraatインスタンスを手続き的に制御し、GUIに接続することができます。 this answer for some more info on how that would workを参照してください。

以下はPraatのスクリプト言語を使用して回答を見つけることができます。これは、スクリプトに入れて、システムコマンドとして実行することができます(またはsendpraatを使って送信します)。

form Voice report... 
    positive F0_min 50 
    positive F0_max 500 
endform 

sound = selected("Sound") 
end = Get total duration 

View & Edit 
editor: sound 
    # Optimise settings for voice research 
    # and make sure things are turned on 
    Pitch settings: f0_min, f0_max, 
    ... "Hertz", "cross-correlation", "automatic" 
    info$ = Editor info 
    if !extractNumber(info$, "Pulses show:") 
    Show pulses 
    endif 

    Select: 0, end 
    report$ = Voice report 
endeditor 

# Remove header from report 
# This leaves text that is parsable as YAML 
report$ = replace_regex$(report$, "-- Voice report .*\n", "", 1) 
report$ = replace_regex$(report$, "\nTime range .*\n", "", 1) 
report$ = replace_regex$(report$, "\s*From 0 to .*\n", "", 1) 

writeInfoLine: report$ 

(Praatから最も出力のように)音声レポートは、主に人間によって消費される予定、およびそのマシンで解析するのは簡単ではありません。自分の答えで音声レポートを前処理するためのいくつかの追加コマンドを追加しました.YAMLで出力を解析できるようにしました。

関連する問題