【DTM効率化】逆相のオーディオを「1秒」で正相にするPythonスクリプト【コピペOK】

録音した素材が「逆相(Reverse Phase)」だったとき、正相に戻すか、制作の内容によってはそのまま使う方もいるかもしれません。
ただし、正相に戻すためには、ほとんどの方はDAWかマスタリングソフトを使うのではないでしょうか?

「AudacityやDAWを立ち上げる」→「ファイルを読み込む」→「エフェクトから反転を選ぶ」→「書き出し」……。
一つ一つの作業は単純ですが、録音のたびにこの作業が発生すると、クリエイティブな時間が削がれてしまいます。

ちなみにAudacityでのやり方手順はこちら(Kotaro Studioのサイトへ)。

【Audacity】逆相で録れたステレオ音源を「正相」に戻す、世界一簡単な方法録音を業務ではなくアートとして楽しんで欲しいと、強く願っています。kotarohattori.com

お気に入りのマイクが逆相ということも大いにあるでしょう。
筆者がまさにそうです!
そんな時、Pythonで一発で戻せればあまりにも業務効率化が進みますよね。

今回は、Pythonを使ってこの作業を全自動化する方法を共有します。
プログラミングの知識がなくても(知識ゼロは厳しいです)、Mac環境さえあればコピペで実装可能です。

ファイルを指定するだけで、指定したフォルダに「正相」になったファイルが自動生成される環境を作りましょう。

この記事で実現できること

  1. ソフトの起動不要:重たいDAWを開く必要はありません。
  2. ドラッグ&ドロップで完結:ターミナルにファイルを放り込むだけ。
  3. 指定フォルダへ自動整理:変換後のファイルは「正相」フォルダへ自動で保存されます。

目次

  1. この記事で実現できること
  2. 事前準備(環境構築)
  3. 【コード本体】自動正相コンバーター
  4. 使い方
  5. まとめ:音楽家こそPython
  6. (おまけ追記)動作未確認:Windows版
  7. 1. FFmpegのインストール方法
  8. 2. コードの変更点(パスの書き方)

事前準備(環境構築)

PythonがインストールされているMac環境を前提とします。
音声処理を行うためのライブラリ pydub と、バックグラウンド処理用の ffmpeg をインストールします。

ターミナルを開き、以下のコマンドを順番に入力してください。

このラインより上のエリアが無料で表示されます。

# 音声処理ライブラリのインストール
pip install pydub

# FFmpegのインストール(Macの場合)
brew install ffmpeg

copy

※ Homebrewが入っていない場合は、先にHomebrewをインストールしてください。

【コード本体】自動正相コンバーター

以下のコードをコピーして、任意の名前、例えばfix_phase.py という名前で保存してください(テキストエディタで作成し、拡張子を.pyにするだけです)。

このスクリプトは、指定したオーディオファイルの位相を反転(Invert)させ、決まったフォルダ(ここでは Documents/正相)に自動で書き出します。

もちろんパスはあなたの環境に合わせてくださいね。

import os
import sys
from pydub import AudioSegment

# ==========================================
# 設定: 書き出し先のパス
# ※自分の環境に合わせて変更してください
# 例: /Users/あなたのユーザー名/Documents/正相
# ==========================================
OUTPUT_BASE_DIR = "/Users/あなたのパス/例えば正相フォルダなど"

def process_audio(input_path):
    """
    オーディオファイルを読み込み、位相を反転させて保存する関数
    """
    # 1. ファイルの存在確認
    if not os.path.exists(input_path):
        print(f"エラー: ファイルが見つかりません -> {input_path}")
        return

    # 2. ファイル名と拡張子の取得
    filename = os.path.basename(input_path)
    file_root, file_ext = os.path.splitext(filename)
    # 拡張子のドットを除去 (例: .wav -> wav)
    fmt = file_ext.lower().replace('.', '')

    if not fmt:
        print("エラー: 拡張子が判別できません。")
        return

    print(f"処理中: {filename} ...")

    try:
        # 3. オーディオの読み込み
        audio = AudioSegment.from_file(input_path, format=fmt)

        # 4. 位相の反転 (逆相 -> 正相)
        # pydubの invert_phase() は全てのチャンネルの位相を180度反転させます
        inverted_audio = audio.invert_phase()

        # 5. 保存先の準備
        # 指定したフォルダがない場合は自動作成します
        if not os.path.exists(OUTPUT_BASE_DIR):
            os.makedirs(OUTPUT_BASE_DIR)
            print(f"フォルダを作成しました: {OUTPUT_BASE_DIR}")

        output_path = os.path.join(OUTPUT_BASE_DIR, filename)

        # 6. 書き出し
        inverted_audio.export(output_path, format=fmt)
        
        print("------------------------------------------------")
        print("【完了】位相を反転して保存しました。")
        print(f"保存先: {output_path}")
        print("------------------------------------------------")

    except Exception as e:
        print(f"エラーが発生しました: {e}")

if __name__ == "__main__":
    # コマンドライン引数がある場合はそれを使用
    if len(sys.argv) > 1:
        for path in sys.argv[1:]:
            process_audio(path)
    else:
        # 引数がない場合は入力を求める
        print("変換したいファイルのパスを入力してください(ドラッグ&ドロップ可):")
        target_path = input(">> ").strip()
        # ターミナルでのドラッグ&ドロップで入るクォートを除去
        target_path = target_path.replace("'", "").replace('"', "")
        
        if target_path:
            process_audio(target_path)
        else:
            print("パスが指定されませんでした。")

copy

※注意点:パスの書き換え

コード内の OUTPUT_BASE_DIR の部分は、ご自身のMacのユーザー名に合わせて書き換えてください。
(例:/Users/yamada/Documents/正相 など)

使い方

使い方は非常にシンプルです。

  1. ターミナルを開きます。
  2. python fix_phase.py と入力してエンター。
  3. 「パスを入力してください」と出るので、Finderから対象の音声ファイルをドラッグ&ドロップまたは、パスを指定。
  4. エンターキーを押す。

これだけで、ドキュメントフォルダ内の「正相」フォルダに、修正済みのファイルが生成されます。
WAV、MP3、AIFFなど主要なフォーマットに対応しています。

まとめ:音楽家こそPython

クリエイティブな作業に集中するためには、ルーチンワークを極力減らすことが重要です。
今回のコードを使えば、ファイルを選んでエンターを押すだけで面倒な「逆相直し」が完了します。

ぜひ導入して、制作時間を1秒でも多く確保してください。
他にも音楽家のためのPythonコードシリーズを参照して作業時間を短縮してください。

(おまけ追記)動作未確認:Windows版

本記事はMac環境をベースに解説しましたが、Windowsでも同じことが可能です。
ただし、2点だけ変更すべき手順があります。

1. FFmpegのインストール方法

Windowsでは brew コマンドが使えません。
代わりに、標準搭載されているパッケージ管理ツール「winget」を使うのが一番カンタンです。

PowerShell(スタートボタンを右クリック→「ターミナル」または「PowerShell」)を開き、以下のコマンドを入力してください。

winget install Gyan.FFmpeg

copy

※ インストール後、反映させるためにパソコンを一度再起動してください。
※ もしエラーが出る場合は、Windows版をダウンロードし、環境変数PATHを通す必要があります(「Windows ffmpeg インストール」で検索すると詳しい記事が出てきます)。

2. コードの変更点(パスの書き方)

Windowsのフォルダパスは \(円マーク/バックスラッシュ)を使いますが、Pythonコード内でこれをそのまま書くとエラーになることがあります。

コード内の OUTPUT_BASE_DIR の部分を、以下のように r を先頭につけて 書き換えてください。

変更前(Mac用):

OUTPUT_BASE_DIR = "/Users/kotaro/Documents/正相"

copy

変更後(Windows用):

# rをつけることで、Windowsのパスをそのまま認識させます
OUTPUT_BASE_DIR = r"C:\Users\あなたのユーザー名\Documents\正相"

copy

※自分のユーザー名がわからない場合

エクスプローラーで「PC > Windows (C:) > ユーザー」を開くと、自分のユーザー名フォルダ(例: takashi や Owner など)があります。その名前を使ってください。

これ以外の手順(pip install pydub や使い方の流れ)はMac版と全く同じです。
WindowsでDTMをしている方も、ぜひ自動化にトライしてみてください。

朝比奈 幸太郎
音楽家・録音アーティスト

この記事を書いた人:朝比奈 幸太郎

音大卒業後ピアニストとして活動後、渡独。
帰国後タイムマシンレコード・五島昭彦氏に師事し、究極のアナログ録音「金田式DC録音」の技術を継承。
Revox等のヴィンテージ機材のレストア技術を持ち、マイク、アンプ、スピーカーに至るまでシステムを根底から自作・設計する録音エンジニア。
物理特性と芸術性が融合する「本物の音」を追求・発信している。