reazonspeech.espnet.oneseg¶
このリファレンスでは、ワンセグ放送データを解析するためのインターフェイスを解説します。
関数¶
MPEG2-TSファイルから字幕テキストを読み取ります。
- パラメータ:
path (str) -- MPEG2-TSファイルのパス
- 戻り値の型:
List
- 戻り値:
Caption
のリスト
- get_utterances(path, ctc_segmentation, speech2text=None, strategy='optim')¶
MPEG2-TSファイルから音声コーパスを抽出します。
音声ファイルの切り出しについて、2つのモードをサポートしています。
optim は音声認識モデルをもとに最適なポイントで音声を切り出します。 余計なノイズの少ないクリーンなコーパスを作成する場合に適しています。
lax は前後の文脈を含めて余分に切り出します。 ロバストな音声認識に適したコーパスが得られます。
また、speech2text を呼び出し時に渡すことで、追加の精度指標(文字誤り率)を計算できます。 省略した場合
Utterance.asr
とUtterance.cer
はNone
になります。- パラメータ:
path (str) -- MPEG2-TSファイルのパス
ctc_segmentation (CTCSegmentation) -- ESPnet2のCTCSegmentationインスタンス
speech2text (Speech2Text) -- ESPnet2のSpeech2Textインスタンス(省略可)
strategy (str) -- optim または lax (既定値は optim )
- 戻り値の型:
List
- 戻り値:
Utterance
のリスト
補助関数¶
- build_sentences(captions)¶
字幕テキストをセンテンス単位に再構成します。
次のように文の途中で字幕が分割されているケースを想定した関数です:
Caption(start_seconds=10, end_seconds=12, text='輸送機は午前10時に') Caption(start_seconds=12, end_seconds=15, text='離陸しました。')
この関数を適用すると、次のように文単位に字幕をマージできます:
Caption(start_seconds=10, end_seconds=15, text='輸送機は午前10時に離陸しました。')
- save_as_zip(utterances, path, format='flac')¶
日本語音声コーパスをZIP形式で保存します。
フォーマットは python-soundfile がサポートしている形式を指定できます(既定値は flac です)
- パラメータ:
Utterances (list) --
Utterances
のリストpath (str) -- 保存先のファイルパス
format (str) -- 発話を保存するファイル形式
- 戻り値の型:
None
クラス¶
- class Caption¶
MPEG2-TSファイルから抽出された字幕に対応するデータクラスです。
開始・終了時刻は、動画の先頭からの経過秒数を計算して格納しています。
- start_seconds: int¶
字幕の表示開始タイミング
- end_seconds: int¶
字幕の表示終了タイミング
- text: str¶
字幕テキスト
- class Utterance¶
MPEG2-TSファイルから抽出された発話に対応するデータクラスです。
- buffer: numpy.array¶
音声データを表すNumpyのArray
- samplerate: int¶
音声データのサンプルレート
- duration: float¶
音声データの再生秒数
- start_seconds: float¶
動画の先頭からの開始秒数
- end_seconds: float¶
動画の先頭からの終了秒数
- text: str¶
字幕テキスト
- ctc: float¶
CTC Segmentationの適合度スコア
- asr: str¶
Speech2Textが出力した認識結果 (speech2textを省略した場合はNone)
- cer: float¶
Speech2Textの認識結果の文字誤り率 (speech2textを省略した場合はNone)