メインコンテンツへスキップ
見出し画像

コードが歌う夜に — DJ_Daveと“ライブコーディング”の未来 Vol.5

    創造のツールがAIになった今、彼女はコードそのものを楽器にした。音とアルゴリズムが交わる瞬間、私たちは何を聴いているのか?

    🧊 Vol.5:あなたも今日から“ライブコーディングっぽい”ことを始めよう

    これまでのまとめ(リンク一覧)


    難しそう? 実は、びっくりするほど簡単。
    無料ツール Sonic Pi があれば、きょうから“ライブコーディングっぽい”遊びができます。ここでは目的別の最小テンプレ(音3ループ)と、30秒エチュードの撮り方まで、迷わない導線でまとめます。

    ーー Sonic Pi 公式(無料ダウンロード)
    https://sonic-pi.net/


    1) まずは鳴らす:最小3ループ(コピペ→▶)

    use_bpm 130
    
    live_loop :kick do
      sample :bd_haus, amp: 1.8
      sleep 0.5
    end
    
    live_loop :hat do
      sync :kick
      sample :drum_cymbal_pedal, amp: 0.6 if one_in(2)
      sleep 0.25
    end
    
    live_loop :bass do
      use_synth :fm
      play choose([:e2, :g2, :b1, :d2]), release: 0.25, depth: 2
      sleep 0.5
    end
    

    ーー ここまでで「ビート+ハイハット+ベース」。
    変える場所は one_in() / choose() / 数値 の3つだけでOK。


    2) 目的別テンプレ(3つ)

    A. 踊らせる(ダンス寄り):キックは固定、上モノは微差

    use_bpm 132
    live_loop(:kick){ sample :bd_haus, amp: 2; sleep 0.5 }
    live_loop :perc do
      sync :kick
      sample :elec_tick, amp: 0.8 if (spread 3,8).tick
      sleep 0.25
    end
    live_loop :stab do
      use_synth :blade
      play (chord :e3, :minor).choose, release: 0.2, cutoff: 90+rrand_i(0,10)
      sleep 0.5
    end
    

    B. 没入させる(アンビエント寄り):長い音で時間の厚み

    use_bpm 100
    live_loop :pad do
      use_synth :hollow
      play choose([:e3,:g3,:b3,:d4]), attack: 0.5, release: 3, cutoff: 80
      sleep 2
    end
    live_loop(:pulse){ sample :bd_haus, amp: 0.8; sleep 1 }
    live_loop :spark do
      sample :elec_blip2, rate: 0.5 if one_in(8); sleep 0.25
    end
    

    C. 見せる(変化が視覚で分かる):確率とフィルを大胆に

    use_bpm 128
    live_loop :drum do
      sample :bd_haus, amp: 1.6
      sample :sn_dolf, amp: 0.8 if (spread 5,8).tick
      sleep 0.25
    end
    live_loop :lead do
      use_synth :prophet
      play choose(scale(:e4, :dorian)), release: 0.2, cutoff: line(70,120,steps:16).mirror.tick
      sleep [0.25,0.5].choose
    end
    live_loop :noise do
      with_fx :slicer, phase: 0.25, mix: 0.3 do
        sample :ambi_choir, rate: 0.25, amp: 0.5 if one_in(6)
      end
      sleep 0.5
    end
    

    3) “Hydraを1行だけ”で映像を足す(任意)

    ブラウザで https://hydra.ojack.xyz を開き、右の入力欄に貼って Ctrl/Cmd+Enter。

    osc(10, 0.1, 1.2).kaleid(5).rotate(0.2, 0.05).out()
    

    ーー 画面はSonic Piと並べると“コードを見せる”ライブ感が一気に出ます。


    4) 30秒エチュードの撮り方(Vol.3の実践も参照)

    1. Sonic PiのRecordで音だけWAV保存 → 画面はQuickTime/OBSで録画

    2. 10秒ごとにコード2行だけ変える(例:notes配列/one_in()の数)

    3. QuickTimeの「オーディオトラックを追加」で合体 → YouTube限定公開でURL貼付

    ーー 例:
    「ベースnotesを [:e2,:g2,:b1,:d2]→[:e2,:e2,:g2,:b1]へ」
    「one_in(2)→one_in(1)でハイハット密度アップ」


    5) トラブル対策ミニFAQ

    • 音が録れない/小さい
      → Sonic Pi右上のスピーカーでMaster Vol確認/Macの出力デバイスが内蔵スピーカーになっているか確認。画面録画はSonic Piの「Record」でWAVを別撮り→後で合体が最短。サーバーが落ちている場合は Prefs → Audio → Boot/Reset。

    • タイミングがヨレる/ループがズレる
      → メインのキックにsync :kickで揃える/sleepは0.25・0.5・1などの倍数に統一。重いFXを全ループに入れない(CPU↑でズレやすい)。それでも厳しい時は Prefs → Audio → Latency を一段上げる。

    • 音割れ(クリップ)する
      → 各ampを1.5以下に下げ、マスター側で軽く整える:

    with_fx :compressor, threshold: 0.2, slope_above: 0.5 do
      with_fx :level, amp: 0.85 do
        # ここにループ群
      end
    end

    参考:練習の“型”メモ(5分で1曲)

    • まず3ループ(kick / hat / bass)

    • choose / one_in / line のどれかを変えて2回の展開

    • 余裕があればHydra 1行を足す

    • 30秒録ってアップ → リンクをnoteやブログに差し込む

    学びはシェアすることで励みになり、継続しやすくなるもの。一日5分、日記を書くようにコードで音楽を書く。これを続けたら上達するかも。


    次回予告

    Vol.6:バイブコーディング×ライブコーディング — 共通する“即興と共創”の美学
    Web/App制作での“見せる開発”と、ステージでの“見せる演奏”。
    2つの文化を横断し、学び・仕事・表現をつなぐ実践例を紹介します。

     
     
     
    物語を書く人であり、それを守る人でもあります。AIと創作が交差する時代、知財や創作について考えたことをnoteに、量子計算や暗号資産といった先端技術を擬人化した物語シリーズをTalesに綴っています。

    あなたへのおすすめ