Phase 06: Speech & Audio

Müzik Generi MusicGen, Stable Audio, Suno ve Lisanslı Deprem

2026 müzik jenerasyonu: Suno v5 ve Udio v4 ticari olarak baskın; MusicGen, Stable Audio Open ve ACE-Step açık kaynaklı liderlik etmektedir. Teknik sorun çoğunlukla çözülmüştür. Hukuki sorun (Warner Music $ 500M anlaşması, UMG anlaşması) 2025-2026 yıllarında alanı yeniden şekillendirdi.

Type: Build

Languages: Python

Prerequisites: Phase 6 · 02 (Spectrograms), Phase 4 · 10 (Diffusion Models)

Time: ~75 minutes

Sorun

Metin → 30 saniyelik 4 dakikalık bir müzik klipi, sözcük, vokal ve yapı ile.

  1. Instrumental generation."Lof-fi hip-hop davulları sıcak anahtarlarla" gibi metinler → ses. MusicGen, Stable Audio, AudioLDM.
  2. Song generation (with vocals + lyrics)."Yağmurlu Teksas gecelerinden bahseden bir ülke şarkısı" → tam şarkı.
  3. Conditional / controllable.Bir klip uzatmak, bir köprü, değişim türü, kök-ayrı veya boya yeniden oluşturmak.

Anlaşım

!Music generation: token-LM vs diffusion, the 2026 model map

Nöral kodek tokenlerine karşı LM simgesi

Meta'lar MusicGen(2023, MIT) ve birçok türlü: metin/melodi yerleşimleri koşulları, autoregressiv olarak EnCodec tokenlerini (32 kHz, 4 kod kitabı) öngörür, EnCodec ile çözülür. 300M - 3.3B parametreleri. Güçlü bir başlangıç çizgisi; 30 saniye geçmeden mücadele eder.

ACE-Step(açık kaynaklı, Nisan 2026'da yayınlanan 4B XL) bu, Suno'ya en yakın açık toplumun tüm şarkı sözcükleri ile ilişkili nesli için uzanıyor.

Erimiş veya gizli olanlarda yayılma

Stable Audio (2023)ve Stable Audio Open (2024)Sıkıştırılmış ses üzerinde gizli yayılma. Çubuklarda, ses tasarımında, ortam dokularında mükemmel.

AudioLDM / AudioLDM2T2I tarzı gizli yayımı yoluyla metin- ses, müzik, ses efektleri, konuşma genelleştirilmiştir.

Hibrit (prodüksiyon) Suno, Udio, Lyria

Kapalı ağırlıklar. Muhtemelen AR kodek LM + difüzyon tabanlı vokodör uzman ses / davul / melodi başları ile. Suno v5 (2026) ELO 1293 kalite lideri. Udio v4 boyanma + kök ayrımı (bas, davul, vokal ayrı indirmeler) ekler.

Değerlendirme

  • FAD (Fréchet Audio Distance).VGGish veya PANN özelliklerini kullanarak oluşturulan ve gerçek ses dağıtımları arasındaki yerleştirme seviyesindeki mesafe. Daha düşük daha iyidir. MusicGen küçük: MusicCaps'ta 4.5 FAD; SOTA ~3.0.
  • Musicality (subjective).İnsan tercihleri. Suno v5 ELO 1293 liderleri.
  • Text-audio alignment.CLAP puanı, hemen çıkış ve çıkış arasında.
  • Musicality artifacts.Çatışmadan geçişler, sesli cümle sürüşü, 30 saniye sonra yapının kaybı.

2026 model haritası

ModelParamsLengthVocalsLicense
MusicGen-large3.3B30 snoMIT
Stable Audio Open1.2B47 snoStability non-commercial
ACE-Step XL (Apr 2026)4B> 2 minyesApache-2.0
YuE7B> 2 minyes, multilingualApache-2.0
Suno v5 (closed)?4 minyes, ELO 1293commercial
Udio v4 (closed)?4 minyes + stemscommercial
Google Lyria 3 (closed)?real-timeyescommercial
MiniMax Music 2.5?4 minyescommercial API

Yasal manzarası (2025-2026)

  • Warner Music vs Suno settlement.WMG şimdi Suno'da AI-e benzerlik, müzik hakları ve kullanıcı tarafından oluşturulan parçaları denetlemektedir.
  • EU AI Act+ California SB 942: Yapay zeka tarafından üretilen müzik açıklanmalıdır.
  • Riffusion / MusicGenMIT'de uyumluluk bagajı yok ama aynı zamanda ticari sesler de yok.

Geminin güvenli olması için düzenler:

  1. Sadece enstrümanal (MusicGen, Stable Audio Open, MIT/CC0 çıkışları) oluşturun.
  2. Bir nesle lisanslı ticari API'ler (Suno, Udio, ElevenLabs Music) kullanın.
  3. Ekipçiliğin sahibi veya lisanslı bir katalog üzerinde çalışmak (çoğu işletme burada biter).
  4. Su işaretleri + metadata ile nesilleri etiketleyin.

Yapın

Adım 1: MusicGen ile oluştur

pythonfrom audiocraft.models import MusicGen
import torchaudio

model = MusicGen.get_pretrained("facebook/musicgen-small")
model.set_generation_params(duration=10)
wav = model.generate(["upbeat synthwave with driving drums, 128 BPM"])
torchaudio.save("out.wav", wav[0].cpu(), 32000)

Üç boyut:small(300M, hızlı),medium(1.5B), large(3.3B) Küçüklik "İdeyanın yerleşmesini sağlar".

Adım 2: Melodi şartlandırması

pythonmelody, sr = torchaudio.load("humming.wav")
wav = model.generate_with_chroma(
    ["jazz piano cover"],
    melody.squeeze(),
    sr,
)

MusicGen-melody bir kromatogram alır ve timbreyi değiştirirken melodiyi korur.

Adım 3: FAD değerlendirme

pythonfrom frechet_audio_distance import FrechetAudioDistance
fad = FrechetAudioDistance()

fad.get_fad_score("generated_folder/", "reference_folder/")

VGGish yerleştirme mesafesini hesaplar. Genre seviyesindeki gerileme testleri için kullanışlı; insan dinleyiciler için bir yedek değil.

Adım 4: LLM-müzik iş akışına eklenmek

Ders 7-8'den alınan fikirlerle birleştir:

pythonprompt = "Write a 30-second jazz loop. Describe the drums, bass, and piano voicing."
description = llm.complete(prompt)
music = musicgen.generate([description], duration=30)

Kullan

GoalStack
Instrumental sound designStable Audio Open
Game / adaptive musicGoogle Lyria RealTime (closed)
Full songs with vocals (commercial)Suno v5 or Udio v4 with explicit license
Full songs with vocals (open)ACE-Step XL or YuE
Short ad jingleMusicGen melody-conditioned on a hummed reference
Music-video backgroundMusicGen + Stable Video Diffusion

2026'da hala yolculuk eden tuzaklar

  • Copyright-laundering prompts."Taylor Swift tarzı şarkı" ticari Suno/Udio filtresi şimdi, açık modeller değil.
  • Repetition / drift past 30 s.AR modelleri döngü. Çoklu nesiller çaprazlama veya yapısal tutarlılık için ACE-Step kullanın.
  • Tempo drift.Modeller BPM'den uzaklaşır.beat_track- Evet .
  • Vocal intelligibility.Suno mükemmel; açık modeller genellikle kelimeler konusunda gevşek.
  • Mono output.Açık modeller mono veya sahte stereo üretir. Doğru bir stereo yeniden yapılandırması ile yükselt (örneğin, Cartesia'nın stereo yayılması).

Gönder

  • Kaydet .outputs/skill-music-designer.md. Müzik-gen dağıtımı için model seçin, lisans stratejisi, uzunluk / yapı planı ve açıklama metadataları.

Egzersizler

  1. Easy.Çık .code/main.py. Bir "generatif" akord ilerleme + ASCII sembolleri olarak davul örneği üretir bir müzik-gen çizgi film. İstediğinizde herhangi bir MIDI render aracılığıyla tekrar çalın.
  2. Medium.Kurulumaudiocraft, MusicGen-small ile 4 tür sorguları boyunca 10 saniyelik klipler oluşturun, FAD'yi referans tür seti ile ölçün.
  3. Hard.ACE-Step (veya MusicGen-melody) kullanarak, aynı melodiyi farklı timbre istekleriyle üç farklılık ile oluşturun.

Anahtar Terimler

TermWhat people sayWhat it actually means
FADAudio FIDFréchet distance between embedding distributions of real vs generated.
ChromagramMelody as pitches12-dim per-frame vector; input to melody conditioning.
StemsInstrument tracksSeparated bass / drums / vocals / melody as WAV.
InpaintingRegen a sectionMask a time window; model regenerates just that.
CLAPText-audio CLIPContrastive audio-text embedding; eval text-audio alignment.
EnCodecMusic codecMeta's neural codec used by MusicGen; 32 kHz, 4 codebooks.

Daha Fazla Okumak

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.