🚀
オーディオAI Hello World — 事前学習モデルで5分でやる7つのプロジェクト
pip install 1行+コード3行で音源分離、音声認識、TTS、ピッチ検出、音楽生成まで
全部実際に動かせるコード。Python 3.10+必要。
0. 根本から — PyTorchで直接実装するオーディオ分離パイプライン
CLIツール呼び出しは「使用」であって「理解」ではない。DemucsやRoFormerの中で実際に起きていること:
raw audio → STFT → スペクトログラム → ニューラルネット(マスク予測) → 原本×マスク → ISTFT → 分離audio
マスクが核心:1.0に近い値は「この時間・周波数ビンはボーカル」。Demucs(26.3Mパラメータ)やRoFormer(84.2Mパラメータ)は、このマスク予測器のより高度なバージョンに過ぎない。
1. 音源分離 — 曲からボーカルを抜く
モデル: Demucs htdemucs(Meta、~80MB)
pip install demucs torchcodec
demucs song.mp3 --two-stems vocals
2. 音声認識(STT)
モデル: OpenAI Whisper(tiny=75MB~large-v3=3GB)
import whisper
model = whisper.load_model("tiny")
print(model.transcribe("audio.mp3")["text"])
3. 音声合成(TTS)
モデル: Coqui TTS XTTS-v2(~1.8GB)
from TTS.api import TTS
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2")
tts.tts_to_file(text="こんにちは", language="ja", file_path="output.wav")
4. ピッチ検出
import librosa
y, sr = librosa.load("vocal.wav")
f0, _, _ = librosa.pyin(y, fmin=80, fmax=1000, sr=sr)
5-6. オーディオ分類
from transformers import pipeline
classifier = pipeline("audio-classification", model="MIT/ast-finetuned-audioset-10-10-0.4593")
print(classifier("audio.wav")[:3])
7. 音楽生成
from transformers import pipeline
generator = pipeline("text-to-audio", model="facebook/musicgen-small")
music = generator("upbeat electronic dance music")
事前学習モデル一覧
| 用途 | モデル | サイズ | パッケージ | 難易度 |
|---|---|---|---|---|
| 音源分離 | Demucs | 80MB | demucs | 簡単 |
| カラオケ分離 | UVR Mel-Band RoFormer | 913MB | audio-separator | 簡単 |
| 音声認識 | Whisper | 75MB-3GB | openai-whisper | 簡単 |
| TTS | XTTS-v2 | 1.8GB | TTS | 普通 |
| ピッチ検出 | librosa pyin | 0MB | librosa | 簡単 |
| 音分類 | AST | 350MB | transformers | 簡単 |
| 音楽生成 | MusicGen | 300MB-3.3GB | transformers | 簡単 |
全部GPUなしCPUで動く。遅いが結果は出る。
キーコンセプト
1
音源分離 — pip install demucs + 1行コマンドでボーカル/伴奏分離
2
音声認識 — Whisperモデルロード + transcribe()1行でテキスト変換
3
音声合成 — Coqui TTSでテキスト→自然な音声WAV生成
4
ピッチ検出 — librosa.pyin()でモデルなしリアルタイム音高抽出
5
音楽生成 — MusicGenにテキストプロンプトを入れると音楽が出る
ユースケース
初オーディオAIプロジェクト — 訓練なしで事前学習モデルだけで成果物生成
プロトタイプ — 音源分離+STT+TTSを組み合わせてカラオケ/吹替/ポッドキャストツール制作
モデル比較 — 同じ入力で複数モデルを動かし品質/速度/サイズのトレードオフを体感