録音した素材が「逆相(Reverse Phase)」だったとき、正相に戻すか、制作の内容によってはそのまま使う方もいるかもしれません。
ただし、正相に戻すためには、ほとんどの方はDAWかマスタリングソフトを使うのではないでしょうか?
「AudacityやDAWを立ち上げる」→「ファイルを読み込む」→「エフェクトから反転を選ぶ」→「書き出し」……。
一つ一つの作業は単純ですが、録音のたびにこの作業が発生すると、クリエイティブな時間が削がれてしまいます。
ちなみにAudacityでのやり方手順はこちら(Kotaro Studioのサイトへ)。
【Audacity】逆相で録れたステレオ音源を「正相」に戻す、世界一簡単な方法録音を業務ではなくアートとして楽しんで欲しいと、強く願っています。kotarohattori.com
お気に入りのマイクが逆相ということも大いにあるでしょう。
筆者がまさにそうです!
そんな時、Pythonで一発で戻せればあまりにも業務効率化が進みますよね。
今回は、Pythonを使ってこの作業を全自動化する方法を共有します。
プログラミングの知識がなくても(知識ゼロは厳しいです)、Mac環境さえあればコピペで実装可能です。
ファイルを指定するだけで、指定したフォルダに「正相」になったファイルが自動生成される環境を作りましょう。
この記事で実現できること
- ソフトの起動不要:重たいDAWを開く必要はありません。
- ドラッグ&ドロップで完結:ターミナルにファイルを放り込むだけ。
- 指定フォルダへ自動整理:変換後のファイルは「正相」フォルダへ自動で保存されます。
目次
- この記事で実現できること
- 事前準備(環境構築)
- 【コード本体】自動正相コンバーター
- 使い方
- まとめ:音楽家こそPython
- (おまけ追記)動作未確認:Windows版
- 1. FFmpegのインストール方法
- 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/正相 など)
使い方
使い方は非常にシンプルです。
- ターミナルを開きます。
- python fix_phase.py と入力してエンター。
- 「パスを入力してください」と出るので、Finderから対象の音声ファイルをドラッグ&ドロップまたは、パスを指定。
- エンターキーを押す。
これだけで、ドキュメントフォルダ内の「正相」フォルダに、修正済みのファイルが生成されます。
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等のヴィンテージ機材のレストア技術を持ち、マイク、アンプ、スピーカーに至るまでシステムを根底から自作・設計する録音エンジニア。
物理特性と芸術性が融合する「本物の音」を追求・発信している。