動画音声からノイズ・エコー除去(Shotcut, Audacity)

2024-08-29

AI アプリ ソフト 動画

妻がZoomミーティングをWindowsのゲームバー(Game Bar)で録画したのだが、動画の音声にひどくノイズやエコーが含まれていたので、除去してみた。

*録画していることは相手も同意済み

関連記事

  1. Shotcutの使い方:動画のトリミング・音声削除・フィルタ等
参考情報


まずはサンプルから

元音源


ノイズ除去後

前半部分のノイズはほとんど消え、後半のしゃべっている部分のエコー感ものぞかれている。若干、音量が下がっているために聞きやすいのかもしれないが、それだけではないだろう。


Windowsのゲームバーについてはここでは説明しないが、[Windows] + [G] キーで起動できる画面録画機能である。

録画を聞いてみると、ノイズの他に、Zoomの向こうの話者の音声が遅れてエコーのように録音されている。Zoom上では、自分の側のマイクはOffになっている(録画画面で確認)。

恐らくだが、ゲームバーでの録画時にマイクをOn(事後に妻のPCで確認するとOnになっていた)していたために、自分のPCのスピーカーからでる話者の音声を、自分のPCのマイクが拾い、それが多少の遅れを持って録画(録音)されたのではないかと思われる。

今までできていたのに、マイクをPC内蔵マイクから、Webカメラ附属のいいマイクに切り替えたらしく、その影響かもしれない。もしそうなら、内蔵マイクはしょぼくてあんまり音声を拾わず気にならなかったか、逆によくできていて自分のスピーカーからの音声は拾わないようになっていたかだが、原因ではない気もする。

とにかく以下の作業をして、ちょっと聞くに堪えないレベルだったものが、結構きちんと聞き取れるようになった。

今まで音声をいじったことはなかったが、効果がすごくて感動した。



手順概要

  1. 動画から音声を抜き取り(Shotcut)
  2. 音声からノイズ・エコーを除去(Audacity)
  3. 元の動画の音声を、2の音声に差し替え(Shotcut)
手順詳細
  1. 動画から音声を抜き取り(Shotcut)
    1. 起動、対象動画をタイムラインに取り込み(関連記事1参照)
    2. 音声トラックを分離(関連記事1参照)
    3. 音声だけ書き出し
      1. 上部メニューか、左中央付近の書き出しをクリック
      2. プリセットから、audioの中のWAVを選択(他のでもいいかも)
        書き出しの詳細タブから以下を確認
        • 形式:wav
        • コーデックタブ一番下の"映像を無効化"にチェックが入っている
        • 音声タブ一番下の"音声を無効化"にチェックが入っていない
      3. ファイルの書き出し、ファイル名を付けて保存
    *3で使うので、shotcutはそのまま閉じずにおいておく
  2. 音声からノイズ・エコーを除去(Audacity)
    1. Audacityホームページ(参考情報1)からファイルをダウンロード、インストール
      私はzip版をダウンロードして展開したが、インストーラ版が普通だろう
    2. AIエフェクトモジュールをインストール
      1. Audacityを起動
      2. メニューのエフェクト→AIエフェクトを取得
      3. 開いたAudacityのページからインストーラーをダウンロード
        Download OpenVINO AI Plugins
      4. ダウンロードしたファイルをインストール
        デフォルトのままでもいいが、チェックが入っていなかったNoise Suppressionの項目もチェックした
      5. Audacityを起動して(事前に閉じていたかどうかは失念)、有効化
        ファイル→環境設定→モジュール→modo-openvino→有効(いつの間にか外れていたことがあったので注意)
      6. Audacityを閉じる(一度閉じて開くと、次項のOpenVinoのメニューが現れる)
    3. ノイズ除去
      1. Audacityを起動
      2. 音声ファイルをドラッグ&ドロップ
      3. 全体を選択(Ctrl-A or ファイル名部分をクリック。青くなる)
      4. エフェクト→OpenVino AI Effect→OpenVINO Noise Suppression
      5. 開いた画面で、deepfilternet2を選択(確認)→適用(処理終了まで待つ)

        若干音量が下がっているかも。気になるなら補正(たぶんなんかからできるだろう。エフェクト→音圧と圧縮あたり。試してないけど。
      6. 音声ファイルを保存
        ファイル→オーディオをエクスポート→コンピュータにエクスポート
        ファイル名記入、フォルダ選択→エクスポート
  3. 元の動画の音声を、2の音声に差し替え(Shotcut)
    1. 音声ファイルをプレイリスト(左上)に追加(ファイルをドラッグ&ドロップ)
    2. タイムラインに音声トラックを追加(関連記事1参照)
      タイムラインのトラック(左下)で右クリック→トラック操作→音声トラックを追加
    3. プレイリストから追加した音声トラックにドラッグ&ドロップ。位置を合わせる

      プレイリスト(左上)の1行目が元の動画、2行目が作成した音声ファイル
      トラック(左下)の1行目が元の動画、2行目が動画から分離した音声、3行目が作成した音声ファイル
    4. 元の動画から分離した音声トラックを削除( または ミュート)
      トラックで右クリック→トラック操作→トラックを削除(関連記事1参照)
      (または スピーカーアイコンをクリック)
    5. 書き出し(関連記事1参照)
その他
  • Shotcutの音声フィルターのEqualizer:15-Band, 3-Bandで高音をカットすることでノイズはある程度除けたが、エコーのような遅れてくる音声は除けなかった。ノイズについてもOpenVINOの方が強力に除けていた。さすがAI ?
  • OpenVINOというのは聞いたことがあるなと思ったら、Intelが公開しているOpenなAIだったことを思い出した。ディープラーニングによるAIブームが来た後に公開され(たぶん)、ちょっとだけいじろうとして断念したことを思い出した。ChatGPTによる最近の生成AIブームよりは前の話
とにかく、すごく効果があって驚いた。妻にも褒めていただいた。