メインコンテンツへスキップ
音で完成度を上げる:効果音・BGM・ナレーション
レッスン 5 / 6|13分で読めます

音で完成度を上げる:効果音・BGM・ナレーション

無音動画は素人感の最大要因。ffmpegで効果音とBGMを自作し、ElevenLabsで日本語ナレーションを生成する。APIキーの安全な扱い、尺合わせ、ボイスクローンまで

効果音、BGM、ナレーションを3レイヤーで設計する短尺デモ。
音声レイヤーを3層に分ける画面
効果音、BGM、ナレーションを別々に管理して、役割を混ぜない。
音入れ前チェックを確認する画面
尺、音量、APIキー管理を見てから書き出す。

ここまでの動画は、実はずっと無音でした。

映像の質が同じでも、音の有無で「学生の課題」と「番組」くらい印象が分かれます。このレッスンでは、効果音・BGM・ナレーションの3層を順に乗せます。

ありがたいことに、3層とも追加の編集ソフトは不要です。効果音とBGMは無料のコマンド(ffmpeg)で合成し、ナレーションはAI音声で生成して、すべてRemotionのコードに「この秒数でこの音を鳴らす」と書くだけです。


音の設計図:3層構造

先に全体像です。完成形の音は3層でできています。

中身音量の目安
ナレーション字幕と同じ文の読み上げ0.95(主役)
効果音ポップ・スウッシュ・チャイム0.5〜0.7
BGM静かなループ0.5、ナレーション中は0.2
音の3層構造の図。ナレーション0.95、効果音0.5から0.7、BGM0.5でナレーション中は0.2という音量比を3本の帯と音量バーで示している
3層の音量比。ナレーションが主役、BGMは気配。この図ごとAIに渡せます。

音量は「1.0が最大」の比率です。この比率をそのままAIに渡せば、ミキシングの知識がなくても破綻しません。

第1層:効果音は3種で足りる

解説動画に必要な効果音は、突き詰めると3種類です。

  • ポップ音:ピルやカードが登場する瞬間の「ポンッ」
  • スウッシュ:シーン切替のワイプに合わせる「シュッ」
  • チャイム:タイトルと締めで鳴る柔らかい鐘

フリー音源を探しても良いのですが、ライセンス確認が地味に面倒です。私はffmpegで合成しました。ffmpegは動画・音声を扱う無料の定番ツールで、Macなら brew install ffmpeg で入ります。

たとえばポップ音はこの1行です。

ffmpeg -f lavfi -i "aevalsrc=0.5*sin(2*PI*(620+520*t*9)*t)*exp(-t*26):d=0.18" pop.wav

呪文に見えますが、中身は「周波数が一瞬で上がるサイン波を、急速に減衰させる」という指定です。

音程が上がる=ポップで明るい、急減衰=歯切れがいい。物理の式がそのまま音の性格になっています。

もちろん、この式を書いたのはAIです。私が出した指示はこれだけでした。

解説動画用の効果音をffmpegで合成して。
1. ピルが弾む瞬間のポップ音(明るく短く)
2. ワイプ切替のスウッシュ(風が抜ける感じ)
3. タイトル用の柔らかいチャイム(鐘2音、長めの余韻)
それぞれwavで保存。耳に刺さらない音量で。

音作りまでVibe Codingでできます。気に入らなければ「もっと低い音に」「余韻を短く」と言葉で直せます。

第2層:BGMは「邪魔をしない」が正義

BGMの役割は沈黙を埋めることで、主張することではありません。私はコード4つ(C→G→Am→F)の柔らかいパッドの8秒ループを、これもffmpegで合成して低音量で敷きました。

BGMをffmpegで合成して。
C→G→Am→Fのコード進行、各2秒、柔らかいパッドの音色。
高音を削って(ローパス1800Hz)、8秒ループを動画の長さぶん連結。
冒頭1.5秒でフェードイン。

「高音を削って」が品質の分かれ目です。合成音の安っぽさは主に高音域に出るので、ローパス(高音カット)をかけるだけで耳あたりが激変します

そしてRemotion側では、音量を時間の関数で書けます。

<Audio src={staticFile("bgm.wav")}
  volume={(f) => /* ナレーション中は0.2、それ以外は0.5 */} />

「ナレーションが鳴っている間だけBGMを下げる」処理(ダッキングと呼びます)も、この仕組みで1行です。

統計シーンのフレーム。5レベル・48レッスン・152点の図解という3枚の数字カード
このシーンでは、カード登場のポップ音が3回、背後に低音量のBGMが流れています。

第3層:ナレーションはElevenLabsで

仕上げはナレーションです。私は ElevenLabs を使っています。

ElevenLabs: https://elevenlabs.io

テキストを送ると音声が返ってくるサービスで、日本語の自然さは現時点で頭ひとつ抜けています。無料枠(月1万文字)でも、この長さの動画なら20本分は読めます。

手順を、つまずきポイントごと書きます。

手順1:登録してAPIキーを発行する

サイト左下のアカウントメニューから「API Keys」へ進み、キーを作成します。

ここで注意がひとつ。最近のキーは機能ごとに権限を絞れるようになっています。読み上げ(Text to Speech)の権限は必ずオンにしてください。私は権限不足のキーで「401エラー」を出して10分悩みました。

手順2:キーを .env ファイルに保存する

ELEVENLABS_API_KEY=(発行されたキー)

コードに直書きしない。チャットにも貼らない。入門編で学んだ鉄則です。.env はGitの管理外に置きます(「.envをgitignoreに入れて」とAIに頼めば確実です)。

手順3:字幕の文をそのまま台本にして、シーンごとに音声を生成する

.envのElevenLabsキーを使って、各シーンの字幕文を
シーンごとのmp3にして。モデルはeleven_multilingual_v2、
話速は1.05倍。ファイル名はシーン名と揃えて。

台本は字幕と同じ文にするのがコツです。耳と目に同じ情報が来ると、視聴の負荷が下がります。

逆に字幕と違うことを喋らせると、視聴者は両方読もうとして両方落とします。

尺合わせ:いちばん地味で、いちばん大事

実体験から、最重要の注意を。

生成した音声がシーンの尺より長いと、尻切れになります。私は1シーンだけ0.6秒はみ出し、文を1割短くして録り直しました。

防ぎ方は機械的です。生成後に各ファイルの秒数を一覧して、シーン尺と突き合わせます。

生成した音声ファイルの長さを一覧にして、
各シーンの尺(秒)と比べて。はみ出すものがあれば
台本を短くして録り直して。

目安として、5秒のシーンに入る日本語は25字前後です(話速1.05倍のとき)。レッスン3の「字幕は28字以内」という規律は、実はこの尺合わせの伏線でした。

自分の声を育てる:ボイスクローン

ここから先は、私自身も進行中の話です。

ElevenLabsにはボイスクローン(自分の声をAIに学習させる機能)があります。自分の声で読み上げ音声を作れるようになるもので、私はいま、診療の合間に録音を重ねて自分の声を育てている最中です。

ElevenLabs Voice Cloning: https://elevenlabs.io/voice-cloning

種類は2つあります。

  • Instant Voice Clone:数分の録音でそれらしい声ができる。手軽だが似方はそこそこ
  • Professional Voice Clone:30分以上の録音から高精度の声を作る。本人と区別がつきにくいレベル

紹介動画のナレーションが「本人の声」になると、SNSでの信頼感がまったく変わります。視聴者はあなたの顔と声を知っているからです。

おすすめの順路は、既製の声で運用を始めて、並行して自分の声を録りためて、育ったら差し替える。コード動画なら、声の差し替えは音声ファイルの置き換えだけで済みます。

ひとつだけ、はっきり書いておきます。ボイスクローンは自分の声だけに使ってください。他人の声の複製は、本人の明確な同意がない限り絶対にしてはいけません。医療者は声も信用の一部です。扱いは慎重に。

Vibe Coding講座紹介動画のタイトルフレーム。「コードは書けなくても、アプリは作れる。」
完成版ではこのタイトルに、チャイムと1文字ポップとナレーションが重なります。

今日のまとめ

3行で振り返ります。

  • 音は3層(ナレーション0.95/効果音0.5〜0.7/BGM0.5、ナレーション中0.2)。比率を渡せば破綻しない
  • 効果音もBGMもffmpegで自作できる。ローパスで高音を削ると安っぽさが消える
  • ナレーションはElevenLabs。台本は字幕と同文・5秒25字・生成後に尺確認。声はいずれ自分のボイスクローンへ

次は最終レッスン。1本作った型を「量産体制」に変えます。2本目が20分になった種明かしです。

演習(30分)

レッスン4までの動画に音を乗せます。

  1. AIに効果音3種とBGMをffmpegで合成してもらう
  2. ElevenLabsに登録し、APIキーを .env に保存する(無料枠で十分です)
  3. 字幕文を台本に、シーンごとのナレーションを生成して尺を確認する
  4. 3層の音量比(0.95/0.6/0.5→0.2)で動画に乗せ、レンダリングして聴き比べる

完成したら、無音版と並べて再生してみてください。音の有無でどれだけ印象が変わるか、体感するのがこの演習の目的です。

参考・出典