無料で相談 →
← 作ったもの
BGMも効果音も0円で自作|Claude Code × Python で数字から作曲する方法
音声生成2026.10.26読む時間 3分

BGMも効果音も0円で自作|Claude Code × Python で数字から作曲する方法

結論:音は「波」なので、Python と NumPy で数字を計算すれば作れます。数字の列を並べるとそのまま曲になり、Claude に「不穏な場面の BGM を」と言葉で頼めば、場面に合う音を作ってくれます。楽器も作曲ソフトも使いません。

なぜ自分で作るのか

フリー素材にも、それぞれ利用規約(表記の決まり・使える範囲)があります。自分で作った音なら、どこで使っても気にしなくていいうえ、長さや雰囲気を場面に合わせてすぐ変えられます。

動画で見る

森のIT屋さん:BGMも効果音も0円で自作 | 2026.11.02 公開予定

音の正体は「波」

いちばん単純な音はサイン波です。1秒に440回ふるえる波が「ラ」の音になります。音の高さは、音の番号から計算できます。

# 音の番号 → 1秒にふるえる回数(Hz)
def hz(m):
    return 440 * 2 ** ((m - 69) / 12)
# 69 がラ(440Hz)。番号が1つ上がると半音高い

波の形を変えると音色が変わります。倍音(高い音の成分)を足し、だんだん小さくすると、「ピー」が「ポロン」というはじく楽器のような音になります。

注意:音が急に始まる・終わると「プツッ」と雑音が出ます。はじめと終わりを短く大きく・小さくする(フェード)と消えます。高い音・大きい音は耳に痛いので、小さめから試します。

数字を並べて曲にする

mel  = [72, -, 76, 79, -, 76, 74, ...]   # 72はド、76はミ。「-」は休み
bass = [48, -, -, -, 55, -, -, -, ...]
# 1つの数字を 0.18 秒ずつ鳴らす(ここを変えると速さが変わる)

メロディと低い音(ベース)の数字の列を並べるだけで、プログラムはほぼ全部です。

場面ごとの曲と効果音

動画では4曲を使い分けています。ふだん(とぼけた明るい曲)・不穏(低い音+心臓の音)・しんみり(オルゴール)・緊迫(低い音を刻む)。どれも同じやり方で、数字と波の形を変えただけです。

{"text": "……だれか、いる",
 "mood": "kurai"}   # この行から不穏な曲

台本に「空気」を書くと、動画を作るプログラムが自動で曲を切りかえます。BGM は声の10分の1くらいの大きさがちょうどよく、同じ曲が長く続くと飽きるので場面で切りかえます。

効果音も同じ作り方です。「ポン」はたった3行です。

# 音を高くしながら、すぐ消す
f = 500 + 900 * t          # 高さがぐっと上がる
s = sin(f) * exp(-t * 12)  # すぐ小さく

ほかにも、チャイム(章が変わるとき)・ドドン(大事なテロップ)・シュッ(一気に寄るとき)を作って使っています。

出典:Python / NumPy

この仕組み、あなたの仕事にも作れます

毎日の作業の自動化や、動画・サイトづくりをお受けしています。相談と見本は無料です。

無料で相談する → 料金を見る

ほかの作ったもの

AI ナレーション4種の比較

AI の作業結果をスマホへ通知する仕組み

スマホだけで、どこでも開発できる環境