かるた用音声抽出プラグインを作った


競技かるたの上達やモチベーションアップに動画を活用している人は多いが、 一般的にかるたの動画は長く、実際に札を取っている場面のみを抽出しようとすると手間がかかる。 また、上記を支援するソフトウェアもなさそうだった。 そこで、取りに関係する部分の時間をテキストファイルに出力するユーティリティを作成したので、公開する。

Picture
スクリーンショット

使用方法

このソフトウェアはAudacityのプラグインとして動作するので、 Audacityを先にインストールしてください。必要ならLAMEやFFmpegの設定も済ませてください。 (ここでは解説しません。)

プラグインのダウンロードはここからできます。 zipファイルを解凍するとプラグインの本体であるKarutaYomiLabeling.nyというファイルがあるので、 プラグインディレクトリに配置するか、Audacityのツール > Nyquistプラグインをインストール からインストールしてください。

プラグインを起動すると基本的にはしきい値となる音量をセットするだけで抽出できるはずですが、 うまくいかなければ他のパラメータを変更してください。

ラベルをpre+postに変更すると、音の開始点を基準にセットされた前後秒数分のマーカーをセットします。 動画は上の句の開始が起点になるはずなので固定時間での切り取りを想定しています。 あとはラベルをエクスポートして動画編集に役立ててください。

原理

基本的には無音判定がベースとなっていますが、Audacityプラグインを選んだのには理由があります。 一時期FFmpegの無音判定をベースにしていたことがあったのですが、 音量しきい値が悪いと偽陰性(音が鳴っているが見逃している)が発生するため、音の波形を見ながら何度もやり直しできた方が良いという事情があります。 また、フィルタやコンプ等をかけてから処理することも考えるとAudacityのプラグインでの実装に落ち着きました。

Audacityの無音判定は「前回の無音からの秒数」と「無音部の最短継続時間」はありますが、「有音部の最短継続時間」はありません。 かるた動画は畳を叩く音などの短いが大きなノイズも多いので指定できるように実装しました。

また、かるたの読みには偶奇に近い遷移律があり、上の句→ノイズまたは下の句、ノイズ→下の句またはノイズ、下の句→上の句 が成り立ちます。また、下の句→上の句はかならず隣接します。 (長い間があれば、間の前は上の句、後ろは下の句である可能性が高い。) この法則を利用して簡易的な上の句/下の句判定を行っています。

もどる


かもめ - Make / Walk / Others / About