# StableAudio3DiTModel

Ses üretimi için kullanılan, düzeltilmiş akış hız tahmini tabanlı bir Difüzyon Transformer'ı (DiT), [Stable Audio 3](https://stability.ai/news-updates/meet-stable-audio-3-the-model-family-built-for-artistic-experimentation-with-open-weight-models)'te kullanılır.

Her `StableAudio3DiTBlock` şu işlemleri gerçekleştirir:

1. **Kendine dikkat** — döner konum gömme (RoPE) ile diferansiyel çok başlı dikkat.
2. **Cross-attention** — T5Gemma metin kodlayıcısından gelen token dizisine dikkat eder.
3. **İleri beslemeli** — SwiGLU projeksiyonu.

Model, **timestep** (üstel Fourier özellikleri → doğrusal projeksiyon) ve **global koşullandırma vektörü** ([StableAudio3DurationEmbedder](/docs/diffusers/main/tr/api/pipelines/stable_audio_3#diffusers.StableAudio3DurationEmbedder)'den süre gömme) ile koşullandırılır.

## StableAudio3DiTModel[[diffusers.StableAudio3DiTModel]]

#### diffusers.StableAudio3DiTModel[[diffusers.StableAudio3DiTModel]]

```python
diffusers.StableAudio3DiTModel(io_channels: int = 256, patch_size: int = 1, embed_dim: int = 1536, depth: int = 24, num_heads: int = 24, cond_token_dim: int = 768, global_cond_dim: int = 768, local_add_cond_dim: int = 257, timestep_features_dim: int = 256, ff_mult: float = 4.0, num_memory_tokens: int = 64, use_differential_attention: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_stable_audio3.py#L403)

**Parametreler:**

io_channels (`int`, varsayılan 256) : Gizli kanal sayısı.

patch_size (`int`, varsayılan 1) : Transformer'dan önce uygulanan zamansal yama boyutu.

embed_dim (`int`, varsayılan 1536) : Transformer gizli boyutu.

depth (`int`, varsayılan 24) : `StableAudio3DiTBlock` katmanlarının sayısı.

num_heads (`int`, varsayılan 24) : Dikkat başlarının sayısı.

cond_token_dim (`int`, varsayılan 768) : Çapraz dikkat bağlam belirteçlerinin boyutu.

global_cond_dim (`int`, varsayılan 768) : Küresel süre gömme boyutu.

local_add_cond_dim (`int`, varsayılan 257) : Yerel-eklemeli (inpaint) tensörünün kanalları.

timestep_features_dim (`int`, varsayılan 256) : Fourier zaman adımlı özelliklerinin çıktı boyutu.

ff_mult (`float`, varsayılan 4.0) : SwiGLU ileri besleme genişleme çarpanı.

num_memory_tokens (`int`, varsayılan 64) : Öğrenilebilir bellek jetonlarının sayısı.

use_differential_attention (`bool`, varsayılan `True`) : Farklı öz/karşı dikkati etkinleştirir.

[Stable Audio 3](https://stability.ai/news/stable-audio-3)'ün Diffusion Transformer (DiT) omurgası.

Model, gürültülü ses latentleri bir partisini, skaler bir zaman adımını, çapraz-dikkat bağlamını (projeksiyonlanmış metin ve süre token'ları) ve küresel bir süre gömme değerini alır ve hız alanını (rectified-flow hedefi) tahmin eder.

Koşullandırma:
- Çapraz dikkat bağlamı (`encoder_hidden_states`), `to_cond_embed` tarafından projekte edilir.
- Küresel süre gömme (`global_hidden_states`), `to_global_embed` tarafından yansıtılır, zaman adımı gömmesiyle toplanır ve ardından `global_cond_embedder` tarafından blok başına AdaLN modülasyonuna genişletilir.
- `local_add_cond` (inpainting), `to_local_embed` tarafından blok bazında projekte edilir.

`num_memory_tokens` öğrenilebilir token, transformer içinde ses dizisinin başına eklenir ve çıktı projeksiyonundan önce kaldırılır.

#### forward[[diffusers.StableAudio3DiTModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, global_hidden_states: Tensor, encoder_attention_mask: typing.Optional[torch.Tensor] = None, local_add_cond: typing.Optional[torch.Tensor] = None, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_stable_audio3.py#L521)

**Parametreler:**

hidden_states (`torch.Tensor`) : Gürültülü latent ses `(batch, io_channels, T)`.

timestep (`torch.Tensor`) : `[0, 1]` aralığında `(batch,)` boyutlu difüzyon zaman adımı.

encoder_hidden_states (`torch.Tensor`) : Çapraz dikkat bağlamı `(batch, T_ctx, cond_token_dim)`.

global_hidden_states (`torch.Tensor`) : Küresel süre gömme `(batch, global_cond_dim)`.

encoder_attention_mask (`torch.Tensor`, *isteğe bağlı*) : Bool maskesi `(batch, T_ctx)`, `True` = geçerli.

local_add_cond (`torch.Tensor`, *isteğe bağlı*) : Yerel-eklemeli (inpaint) koşullandırma `(batch, local_add_cond_dim, T)`.

return_dict (`bool`, varsayılan `True`) : `StableAudio3DiTModelOutput` döndürülüp döndürülmemesi.

**Dönüş:** `StableAudio3DiTModelOutput` veya `tuple`

tahmin edilen hız alanı, `hidden_states` ile aynı şekle sahip.

## StableAudio3DiTBlock[[diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock]]

#### diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock[[diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock]]

```python
diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock(dim: int, context_dim: int, dim_heads: int = 64, use_differential: bool = True, ff_mult: float = 4.0, local_add_cond_dim: int = 257)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_stable_audio3.py#L316)

Tek SA3 DiT dönüştürücü bloğu.

İşlem sırası:
1. AdaLN-modüleli öz-dikkat (kısmi RoPE, RMS QK-norm)
2. Metin/süre bağlamına çapraz dikkat (sade RMS ön-norm)
3. AdaLN-modüleli SwiGLU ileri beslemeli

AdaLN modülasyonu `to_scale_shift_gate + global_modulation` şeklindedir ve altı parçaya `(scale_attn, shift_attn, gate_attn, scale_ff, shift_ff, gate_ff)` ayrılır. Her kapılı dal `sigmoid(1 - gate)` ile ölçeklenir. Çapraz dikkat (cross-attention) AdaLN ile modüle *edilmez*; bu durum referansla uyumludur (`cross_attend_norm` düz bir RMS normdur).

`local_seq` sağlandığında (inpainting), `to_local_embed` tarafından blok bazında projekte edilir ve çapraz dikkat sonrası (ve ileri besleme öncesi) artımsal akıştaki ses konumlarına eklenir; bu, referansla uyumludur.

## StableAudio3DiTModelOutput[[diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput]]

#### diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput[[diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput]]

```python
diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput(sample: Tensor)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_stable_audio3.py#L34)

**Parametreler:**

sample (`torch.Tensor`) : Girdi `hidden_states` ile aynı şekle sahip tahmini hız alanı.

[StableAudio3DiTModel](/docs/diffusers/main/tr/api/models/stable_audio_3_transformer#diffusers.StableAudio3DiTModel)'ün çıktısı.

