# FastSpeech2Conformer

## Genel Bakış

FastSpeech2Conformer modeli, Pengcheng Guo, Florian Boyer, Xuankai Chang, Tomoki Hayashi, Yosuke Higuchi, Hirofumi Inaguma, Naoyuki Kamo, Chenda Li, Daniel Garcia-Romero, Jiatong Shi, Jing Shi, Shinji Watanabe, Kun Wei, Wangyou Zhang ve Yuekai Zhang tarafından [Recent Developments On Espnet Toolkit Boosted By Conformer](https://huggingface.co/papers/2010.13956) adlı makaleyle önerilmiştir.

Orijinal FastSpeech2 makalesinin özeti aşağıdaki gibidir:

*FastSpeech (Ren ve ark., 2019) gibi otomatik olmayan (non-autoregressive) metinden konuşmaya (TTS) modelleri, benzer kalitede ses sentezini önceki otomatik (autoregressive) modellere göre önemli ölçüde daha hızlı gerçekleştirebilir. FastSpeech modelinin eğitimi, süre tahmini için (girdi olarak daha fazla bilgi sağlamak amacıyla) otomatik bir öğretmen modeline ve çıktıdaki veri dağılımını basitleştirmek için bilgi damıtmasına (knowledge distillation) dayanır; bu da TTS'deki bire-bir-çoklu eşleme sorununu (yani, aynı metne birden fazla ses varyasyonunun karşılık gelmesi) hafifletebilir. Ancak FastSpeech'in birkaç dezavantajı vardır: 1) öğretmen-öğrenci damıtma hattı karmaşıktır ve zaman alıcıdır, 2) öğretmen modelinden çıkarılan süre yeterince doğru değildir ve öğretmen modelinden damıtılan hedef mel-spektrumları, veri basitleştirmesi nedeniyle bilgi kaybına uğrar; her ikisi de ses kalitesini sınırlar. Bu makalede, FastSpeech 2'yi öneriyoruz; bu model, 1) basitleştirilmiş öğretmen çıktısı yerine doğrudan gerçek hedeflerle (ground-truth) modeli eğiterek ve 2) konuşmanın daha fazla değişkenlik bilgisini (ör. perde, enerji ve daha doğru süre) koşullu girdiler olarak tanıtarak FastSpeech'teki sorunları ele alır ve TTS'deki bire-bir-çoklu eşleme sorununu daha iyi çözer. Özellikle, süre, perde ve enerjiyi ses dalgasından çıkarır ve bunları eğitimde doğrudan koşullu girdiler olarak kullanırken, çıkarımda (inference) tahmin edilen değerleri kullanır. Ayrıca, tamamen uçtan uca çıkarımın avantajından yararlanarak metinden doğrudan paralel olarak ses dalgası üretmenin ilk denemesi olan FastSpeech 2s'yi tasarladık. Deneysel sonuçlar, 1) FastSpeech 2'nin FastSpeech'e kıyasla 3 kat eğitim hızlanmasını sağladığını ve FastSpeech 2s'nin daha da hızlı bir çıkarım hızından yararlandığını; 2) FastSpeech 2 ve 2s'nin ses kalitesi açısından FastSpeech'i geride bıraktığını ve FastSpeech 2'nin otomatik modelleri bile aşabildiğini göstermektedir. Ses örnekleri https://speechresearch.github.io/fastspeech2/ adresinde mevcuttur.*

Bu model [Connor Henderson](https://huggingface.co/connor-henderson) tarafından katkıda bulunmuştur. Orijinal kod [burada](https://github.com/espnet/espnet/blob/master/espnet2/tts/fastspeech2/fastspeech2.py) bulunabilir.

## 🤗 Model Mimarisi

FastSpeech2'nin Mel-spektrogram çözücüye sahip genel yapısı uygulandı ve ESPnet kütüphanesinde yapıldığı gibi geleneksel transformer blokları conformer bloklarıyla değiştirildi.

### FastSpeech2 Model Mimarisi

![FastSpeech2 Model Architecture](https://www.microsoft.com/en-us/research/uploads/prod/2021/04/fastspeech2-1.png)

#### Conformer Blokları

![Conformer Blocks](https://www.researchgate.net/profile/Hirofumi-Inaguma-2/publication/344911155/figure/fig2/AS:951455406108673@1603856054097/An-overview-of-Conformer-block.png)

#### Konvolüsyon Modülü

![Convolution Module](https://d3i71xaburhd42.cloudfront.net/8809d0732f6147d4ad9218c8f9b20227c837a746/2-Figure1-1.png)

## 🤗 Transformers Kullanımı

FastSpeech2Conformer modelini 🤗 Transformers kütüphanesiyle yerel olarak çalıştırabilirsiniz.

1. Önce 🤗 [Transformers kütüphanesini](https://github.com/huggingface/transformers) ve g2p-en'i yükleyin:

```bash
pip install --upgrade pip
pip install --upgrade transformers g2p-en
```

2. Modeli ve hifigan'ı ayrı ayrı kullanarak Transformers modelleme kodu üzerinden çıkarım yapın

```python
import soundfile as sf

from transformers import FastSpeech2ConformerHifiGan, FastSpeech2ConformerModel, FastSpeech2ConformerTokenizer

tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("Hello, my dog is cute.", return_tensors="pt").to(model.device)
input_ids = inputs["input_ids"]

model = FastSpeech2ConformerModel.from_pretrained("espnet/fastspeech2_conformer", device_map="auto")
output_dict = model(input_ids, return_dict=True)
spectrogram = output_dict["spectrogram"]

hifigan = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
waveform = hifigan(spectrogram)

sf.write("speech.wav", waveform.squeeze().detach().numpy(), samplerate=22050)
```

3. Modeli ve hifigan'ı birleştirerek Transformers modelleme kodu üzerinden çıkarım yapın

```python
import soundfile as sf

from transformers import FastSpeech2ConformerTokenizer, FastSpeech2ConformerWithHifiGan

tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("Hello, my dog is cute.", return_tensors="pt").to(model.device)
input_ids = inputs["input_ids"]

model = FastSpeech2ConformerWithHifiGan.from_pretrained("espnet/fastspeech2_conformer_with_hifigan")
output_dict = model(input_ids, return_dict=True)
waveform = output_dict["waveform"]

sf.write("speech.wav", waveform.squeeze().detach().numpy(), samplerate=22050)
```

4. Bir pipeline ile çıkarım çalıştırın ve kullanılacak vokoderi belirtin

```python
import soundfile as sf

from transformers import FastSpeech2ConformerHifiGan, pipeline

vocoder = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
synthesiser = pipeline(model="espnet/fastspeech2_conformer", vocoder=vocoder)

speech = synthesiser("Hello, my dog is cooler than you!")

sf.write("speech.wav", speech["audio"].squeeze(), samplerate=speech["sampling_rate"])
```

## FastSpeech2ConformerConfig[[transformers.FastSpeech2ConformerConfig]]

#### transformers.FastSpeech2ConformerConfig[[transformers.FastSpeech2ConformerConfig]]

```python
transformers.FastSpeech2ConformerConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, is_encoder_decoder: bool = True, hidden_size: int = 384, vocab_size: int = 78, num_mel_bins: int = 80, encoder_num_attention_heads: int = 2, encoder_layers: int = 4, encoder_linear_units: int = 1536, decoder_layers: int = 4, decoder_num_attention_heads: int = 2, decoder_linear_units: int = 1536, speech_decoder_postnet_layers: int = 5, speech_decoder_postnet_units: int = 256, speech_decoder_postnet_kernel: int = 5, positionwise_conv_kernel_size: int = 3, encoder_normalize_before: bool = False, decoder_normalize_before: bool = False, encoder_concat_after: bool = False, decoder_concat_after: bool = False, reduction_factor: int = 1, speaking_speed: float = 1.0, use_macaron_style_in_conformer: bool = True, use_cnn_in_conformer: bool = True, encoder_kernel_size: int = 7, decoder_kernel_size: int = 31, duration_predictor_layers: int = 2, duration_predictor_channels: int = 256, duration_predictor_kernel_size: int = 3, energy_predictor_layers: int = 2, energy_predictor_channels: int = 256, energy_predictor_kernel_size: int = 3, energy_predictor_dropout: float | int = 0.5, energy_embed_kernel_size: int = 1, energy_embed_dropout: float | int = 0.0, stop_gradient_from_energy_predictor: bool = False, pitch_predictor_layers: int = 5, pitch_predictor_channels: int = 256, pitch_predictor_kernel_size: int = 5, pitch_predictor_dropout: float | int = 0.5, pitch_embed_kernel_size: int = 1, pitch_embed_dropout: float | int = 0.0, stop_gradient_from_pitch_predictor: bool = True, encoder_dropout_rate: float | int = 0.2, encoder_positional_dropout_rate: float | int = 0.2, encoder_attention_dropout_rate: float | int = 0.2, decoder_dropout_rate: float | int = 0.2, decoder_positional_dropout_rate: float | int = 0.2, decoder_attention_dropout_rate: float | int = 0.2, duration_predictor_dropout_rate: float | int = 0.2, speech_decoder_postnet_dropout: float | int = 0.5, max_source_positions: int = 5000, use_masking: bool = True, use_weighted_masking: bool = False, num_speakers: int | None = None, num_languages: int | None = None, speaker_embed_dim: int | None = None, convolution_bias: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/configuration_fastspeech2_conformer.py#L27)

**Parametreler:**

is_encoder_decoder (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı.

hidden_size (`int`, *isteğe bağlı*, varsayılan `384`) : Gizli temsillerin boyutu.

vocab_size (`int`, *isteğe bağlı*, varsayılan `78`) : Modelin sözlük boyutu. `input_ids` tarafından temsil edilebilecek farklı token sayısını tanımlar.

num_mel_bins (`int`, *isteğe bağlı*, varsayılan `80`) : Her giriş çerçevesi için kullanılan mel özellik sayısı. `AutoFeatureExtractor` sınıfında kullanılan değerle eşleşmelidir.

encoder_num_attention_heads (`int`, *isteğe bağlı*, varsayılan 2) : Kodlayıcıdaki dikkat başlarının sayısı.

encoder_layers (`int`, *isteğe bağlı*, varsayılan `4`) : Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsa `num_layers` ile aynı değeri kullanır.

encoder_linear_units (`int`, *isteğe bağlı*, varsayılan 1536) : Kodlayıcının doğrusal katmanındaki birim sayısı.

decoder_layers (`int`, *isteğe bağlı*, varsayılan `4`) : Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsa `num_layers` ile aynı değer kullanılır.

decoder_num_attention_heads (`int`, *isteğe bağlı*, varsayılan `2`) : Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.

decoder_linear_units (`int`, *isteğe bağlı*, varsayılan 1536) : Çözücüdeki doğrusal katmandaki birim sayısı.

speech_decoder_postnet_layers (`int`, *isteğe bağlı*, varsayılan 5) : Konuşma çözücüsünün post-net'indeki katman sayısı.

speech_decoder_postnet_units (`int`, *isteğe bağlı*, varsayılan 256) : Konuşma çözücüsünün post-net katmanlarındaki birim sayısı.

speech_decoder_postnet_kernel (`int`, *opsiyonel*, varsayılan 5) : Konuşma çözücüsünün post-net'indeki çekirdek boyutu.

positionwise_conv_kernel_size (`int`, *opsiyonel*, varsayılan 3) : Pozisyon bazlı katmanda kullanılan konvolüsyon çekirdeğinin boyutu.

encoder_normalize_before (`bool`, *isteğe bağlı*, varsayılan `False`) : Kodlayıcı katmanlarından önce normalizasyon uygulanıp uygulanmayacağını belirtir.

decoder_normalize_before (`bool`, *isteğe bağlı*, varsayılan `False`) : Dekoder katmanlarından önce normalizasyon uygulanıp uygulanmayacağını belirtir.

encoder_concat_after (`bool`, *isteğe bağlı*, varsayılan `False`) : Kodlayıcı katmanlarından sonra birleştirme yapılıp yapılmayacağını belirtir.

decoder_concat_after (`bool`, *isteğe bağlı*, varsayılan `False`) : Dekoder katmanlarından sonra birleştirme yapılıp yapılmayacağını belirtir.

reduction_factor (`int`, *isteğe bağlı*, varsayılan 1) : Ses kare hızının azaltılma çarpanı.

speaking_speed (`float`, *isteğe bağlı*, varsayılan 1.0) : Üretilen konuşmanın hızı.

use_macaron_style_in_conformer (`bool`, *isteğe bağlı*, varsayılan `True`) : Conformer'da macaron stilinin kullanılıp kullanılmayacağını belirtir.

use_cnn_in_conformer (`bool`, *isteğe bağlı*, varsayılan `True`) : Conformer'da konvolüsyonel sinir ağlarının kullanılıp kullanılmayacağını belirtir.

encoder_kernel_size (`int`, *isteğe bağlı*, varsayılan 7) : Kodlayıcıda kullanılan çekirdek boyutu.

decoder_kernel_size (`int`, *isteğe bağlı*, varsayılan 31) : Dekoderde kullanılan çekirdek boyutu.

duration_predictor_layers (`int`, *isteğe bağlı*, varsayılan 2) : Süre tahmincisinin katman sayısı.

duration_predictor_channels (`int`, *isteğe bağlı*, varsayılan 256) : Süre tahmincisinin kanal sayısı.

duration_predictor_kernel_size (`int`, *opsiyonel*, varsayılan 3) : Süre tahmincisi (duration predictor) kullanılan çekirdek boyutu.

energy_predictor_layers (`int`, *isteğe bağlı*, varsayılan 2) : Enerji tahmincisinin katman sayısı.

energy_predictor_channels (`int`, *isteğe bağlı*, varsayılan 256) : Enerji tahmincisinin kanal sayısı.

energy_predictor_kernel_size (`int`, *isteğe bağlı*, varsayılan 3) : Enerji tahmincisi kullanılan çekirdek boyutu.

energy_predictor_dropout (`float`, *opsiyonel*, varsayılan 0.5) : Enerji tahmincisinin dropout oranı.

energy_embed_kernel_size (`int`, *isteğe bağlı*, varsayılan 1) : Enerji gömme katmanında kullanılan çekirdek boyutu.

energy_embed_dropout (`float`, *isteğe bağlı*, varsayılan 0.0) : Enerji gömme katmanındaki dropout oranı.

stop_gradient_from_energy_predictor (`bool`, *isteğe bağlı*, varsayılan `False`) : Enerji tahmincisinden gelen gradyanların durdurulup durdurulmayacağını belirtir.

pitch_predictor_layers (`int`, *isteğe bağlı*, varsayılan 5) : Perde tahmincisinin katman sayısı.

pitch_predictor_channels (`int`, *isteğe bağlı*, varsayılan 256) : Perde tahmincisinin kanal sayısı.

pitch_predictor_kernel_size (`int`, *opsiyonel*, varsayılan 5) : Perde tahmincisi (pitch predictor) kullanılan çekirdek boyutu.

pitch_predictor_dropout (`float`, *opsiyonel*, varsayılan 0.5) : Perde tahmin edicisindeki dropout oranı.

pitch_embed_kernel_size (`int`, *isteğe bağlı*, varsayılan 1) : Pitch gömme katmanında kullanılan çekirdek boyutu.

pitch_embed_dropout (`float`, *isteğe bağlı*, varsayılan 0.0) : pitch gömme katmanındaki dropout oranı.

stop_gradient_from_pitch_predictor (`bool`, *isteğe bağlı*, varsayılan `True`) : Ses yüksekliği tahmincisinden gelen gradyanların durdurulup durdurulmayacağını belirtir.

encoder_dropout_rate (`float`, *opsiyonel*, varsayılan 0.2) : Kodlayıcıdaki dropout oranı.

encoder_positional_dropout_rate (`float`, *opsiyonel*, varsayılan 0.2) : Kodlayıcıdaki konumsal dropout oranı.

encoder_attention_dropout_rate (`float`, *opsiyonel*, varsayılan 0.2) : Kodlayıcıdaki dikkat düşürme oranı.

decoder_dropout_rate (`float`, *opsiyonel*, varsayılan 0.2) : Çözücüdeki dropout oranı.

decoder_positional_dropout_rate (`float`, *opsiyonel*, varsayılan 0.2) : Dekoderdeki konumsal dropout oranı.

decoder_attention_dropout_rate (`float`, *opsiyonel*, varsayılan 0.2) : Dekoderdeki dikkat düşürme oranı.

duration_predictor_dropout_rate (`float`, *opsiyonel*, varsayılan 0.2) : Süre tahmincisindeki dropout oranı.

speech_decoder_postnet_dropout (`float`, *opsiyonel*, varsayılan 0.5) : Ses decoder'ı postnet'indeki dropout oranı.

max_source_positions (`int`, *isteğe bağlı*, varsayılan 5000) : `"relative"` konum gömme kullanılıyorsa, maksimum kaynak giriş konumlarını tanımlar.

use_masking (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelde maskeleme kullanılıp kullanılmayacağını belirtir.

use_weighted_masking (`bool`, *isteğe bağlı*, varsayılan `False`) : Modelde ağırlıklı maskelemenin kullanılıp kullanılmayacağını belirtir.

num_speakers (`int`, *isteğe bağlı*) : Konuşmacı sayısı. > 1 olarak ayarlanırsa, konuşmacı kimliklerinin girdi olarak sağlanacağı varsayılır ve konuşmacı kimliği gömme katmanı kullanılır.

num_languages (`int`, *isteğe bağlı*) : Dil sayısı. > 1 olarak ayarlanırsa, dil kimliklerinin girdi olarak sağlanacağı varsayılır ve dil kimliği gömme katmanı kullanılır.

speaker_embed_dim (`int`, *isteğe bağlı*) : Konuşmacı gömme boyutu. > 0 olarak ayarlanırsa, speaker_embedding'in girdi olarak sağlanacağı varsayılır.

convolution_bias (`bool`, *isteğe bağlı*, varsayılan `True`) : Conformer'ın konvolüsyon modülündeki konvolüsyonlarda bias kullanılıp kullanılmayacağını belirtir.

Bu, bir FastSpeech2ConformerModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Fastspeech2 Conformer modelinin örneklenmesi için kullanılır ve model mimarisini tanımlar. Varsayılanlarla bir yapılandırma örneği oluşturmak, [espnet/fastspeech2_conformer](https://huggingface.co/espnet/fastspeech2_conformer) yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

Örnek:

```python
>>> from transformers import FastSpeech2ConformerModel, FastSpeech2ConformerConfig

>>> # Initializing a FastSpeech2Conformer style configuration
>>> configuration = FastSpeech2ConformerConfig()

>>> # Initializing a model from the FastSpeech2Conformer style configuration
>>> model = FastSpeech2ConformerModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## FastSpeech2ConformerHifiGanConfig[[transformers.FastSpeech2ConformerHifiGanConfig]]

#### transformers.FastSpeech2ConformerHifiGanConfig[[transformers.FastSpeech2ConformerHifiGanConfig]]

```python
transformers.FastSpeech2ConformerHifiGanConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, model_in_dim: int = 80, upsample_initial_channel: int = 512, upsample_rates: list[int] | tuple[int, ...] = (8, 8, 2, 2), upsample_kernel_sizes: list[int] | tuple[int, ...] = (16, 16, 4, 4), resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11), resblock_dilation_sizes: list | tuple | None = None, initializer_range: float = 0.01, leaky_relu_slope: float = 0.1, normalize_before: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/configuration_fastspeech2_conformer.py#L267)

**Parametreler:**

model_in_dim (`int`, *isteğe bağlı*, varsayılan 80) : Giriş log-mel spektrogramındaki frekans kutusu sayısı.

upsample_initial_channel (`int`, *isteğe bağlı*, varsayılan 512) : Yukarı örneklemeye (upsampling) ağının giriş kanal sayısı.

upsample_rates (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `[8, 8, 2, 2]`) : Örnekleme artırma (upsampling) ağındaki her 1D konvolüsyon katmanının adımını (stride) tanımlayan tamsayılardan oluşan bir demet. *upsample_rates*'in uzunluğu, konvolüsyon katmanlarının sayısını belirler ve *upsample_kernel_sizes*'in uzunluğuyla eşleşmelidir.

upsample_kernel_sizes (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `[16, 16, 4, 4]`) : Yukarı örneklemeli ağdaki her 1D konvolüsyon katmanının çekirdek boyutunu tanımlayan tamsayılar dizisi. *upsample_kernel_sizes*'in uzunluğu, konvolüsyon katmanlarının sayısını belirler ve *upsample_rates*'in uzunluğuyla eşleşmelidir.

resblock_kernel_sizes (`tuple[int]` veya `list[int]`, *opsiyonel*, varsayılan değeri `[3, 7, 11]`) : Çoklu algılama alanı füzyonu (MRF) modülündeki 1D konvolüsyonel katmanların çekirdek boyutlarını tanımlayan tamsayılar dizisi.

resblock_dilation_sizes (`tuple[tuple[int]]` veya `list[list[int]]`, *opsiyonel*, varsayılan değeri `[[1, 3, 5], [1, 3, 5], [1, 3, 5]]`) : Çoklu algılama alanı füzyonu (MRF) modülündeki dilate 1D konvolüsyonlu katmanların dilasyon oranlarını tanımlayan iç içe geçmiş tamsayı tuple'ı.

initializer_range (`float`, *opsiyonel*, varsayılan `0.01`) : Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.

leaky_relu_slope (`float`, *opsiyonel*, varsayılan 0.1) : Leaky ReLU aktivasyonunun kullandığı negatif eğimin açısı.

normalize_before (`bool`, *isteğe bağlı*, varsayılan `True`) : Vokoderin öğrenilmiş ortalama ve varyans değerlerini kullanarak vokodlama öncesinde spektrogramun normalize edilip edilmeyeceğini belirtir.

Bu, bir FastSpeech2ConformerModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Fastspeech2 Conformer modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [espnet/fastspeech2_conformer_with_hifigan](https://huggingface.co/espnet/fastspeech2_conformer_with_hifigan) yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

Örnek:

```python
>>> from transformers import FastSpeech2ConformerHifiGan, FastSpeech2ConformerHifiGanConfig

>>> # Initializing a FastSpeech2ConformerHifiGan configuration
>>> configuration = FastSpeech2ConformerHifiGanConfig()

>>> # Initializing a model (with random weights) from the configuration
>>> model = FastSpeech2ConformerHifiGan(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## FastSpeech2ConformerWithHifiGanConfig[[transformers.FastSpeech2ConformerWithHifiGanConfig]]

#### transformers.FastSpeech2ConformerWithHifiGanConfig[[transformers.FastSpeech2ConformerWithHifiGanConfig]]

```python
transformers.FastSpeech2ConformerWithHifiGanConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, model_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, vocoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/configuration_fastspeech2_conformer.py#L328)

**Parametreler:**

model_config (`FastSpeech2ConformerConfig | dict`, *isteğe bağlı*) : Metinden konuşmaya modelinin yapılandırması.

vocoder_config (`FastSpeech2ConformerHiFiGanConfig | dict`, *isteğe bağlı*) : Vocoder modelinin yapılandırması.

Bu, bir FastSpeech2ConformerModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Fastspeech2 Conformer modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [espnet/fastspeech2_conformer_with_hifigan](https://huggingface.co/espnet/fastspeech2_conformer_with_hifigan) yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

Örnek:

```python
>>> from transformers import (
...     FastSpeech2ConformerConfig,
...     FastSpeech2ConformerHifiGanConfig,
...     FastSpeech2ConformerWithHifiGanConfig,
...     FastSpeech2ConformerWithHifiGan,
... )

>>> # Initializing FastSpeech2ConformerWithHifiGan sub-modules configurations.
>>> model_config = FastSpeech2ConformerConfig()
>>> vocoder_config = FastSpeech2ConformerHifiGanConfig()

>>> # Initializing a FastSpeech2ConformerWithHifiGan module style configuration
>>> configuration = FastSpeech2ConformerWithHifiGanConfig(model_config.to_dict(), vocoder_config.to_dict())

>>> # Initializing a model (with random weights)
>>> model = FastSpeech2ConformerWithHifiGan(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## FastSpeech2ConformerTokenizer[[transformers.FastSpeech2ConformerTokenizer]]

#### transformers.FastSpeech2ConformerTokenizer[[transformers.FastSpeech2ConformerTokenizer]]

```python
transformers.FastSpeech2ConformerTokenizer(vocab_file, bos_token = '<sos/eos>', eos_token = '<sos/eos>', pad_token = '<blank>', unk_token = '<unk>', should_strip_spaces = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py#L30)

**Parametreler:**

vocab_file (`str`) : Sözlük dosyasının yolu.

bos_token (`str`, *isteğe bağlı*, varsayılan `"<sos/eos>"`) : Sıralama başlangıç belirteci. Not: FastSpeech2 için bu, `eos_token` ile aynıdır.

eos_token (`str`, *isteğe bağlı*, varsayılan `"<sos/eos>"`) : Sıra sonu belirteci. Not: FastSpeech2 için bu, `bos_token` ile aynıdır.

pad_token (`str`, *isteğe bağlı*, varsayılan `"<blank>"`) : Dolgu için kullanılan jeton, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında.

unk_token (`str`, *isteğe bağlı*, varsayılan `"<unk>"`) : Bilinmeyen token. Sözlükte yer almayan bir token, bir kimliğe dönüştürülemez ve bunun yerine bu token olarak ayarlanır.

should_strip_spaces (`bool`, *isteğe bağlı*, varsayılan `False`) : Token listesinden boşlukların kaldırılıp kaldırılmayacağı.

FastSpeech2Conformer tokenizer'ı oluşturun.

#### __call__[[transformers.FastSpeech2ConformerTokenizer.__call__]]

```python
__call__(text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, add_special_tokens: bool = True, padding: bool | str | PaddingStrategy = False, truncation: bool | str | TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, is_split_into_words: bool = False, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, tokenizer_kwargs: dict[str, Any] | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2448)

**Parametreler:**

text (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_pair (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

text_pair_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

tokenizer_kwargs (`dict[str, Any]`, *isteğe bağlı*) : Tokenizöre iletilecek ek kwargs'lar. Bunlar, açık parametreler ve diğer kwargs'larla birleştirilir; açık parametreler önceliklidir.

add_special_tokens (`bool`, *isteğe bağlı*, varsayılan `True`) : Dizileri kodlarken özel jetonların eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak eklenen jetonları tanımlayan alttaki `PretrainedTokenizerBase.build_inputs_with_special_tokens` işlevini kullanır. `bos` veya `eos` jetonlarını otomatik olarak eklemek istiyorsanız bu işe yarar.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *isteğe bağlı*, varsayılan `False`) : Dolguyu (padding) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest'`: Batch'teki en uzun diziye kadar doldurur (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kadar doldurur. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda diziler içeren bir batch çıktısı alınabilir).

truncation (`bool`, `str` veya [TruncationStrategy](/docs/transformers/main/tr/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *opsiyonel*, varsayılan `False`) : Kısaltmayı etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:  - `True` veya `'longest_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, çiftteki en uzun diziden token token kısaltma yapar. - `'only_first'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ilk dizisini kısaltır. - `'only_second'`: `max_length` argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir dizi çifti (veya çiftlerin bir partisi) sağlanırsa, yalnızca çiftin ikinci dizisini kısaltır. - `False` veya `'do_not_truncate'` (varsayılan): Kısaltma yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip partiler üretebilir).

max_length (`int`, *opsiyonel*) : Kırpma/doldurma parametrelerinden biri tarafından kullanılacak olan maksimum uzunluğu kontrol eder. Ayarlanmaz veya `None` olarak ayarlanırsa, kırpma/doldurma parametrelerinden biri maksimum uzunluk gerektiriyorsa, önceden tanımlanmış modelin maksimum uzunluğu kullanılır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi) maksimum uzunluğa kırpma/doldurma devre dışı bırakılır.

stride (`int`, *opsiyonel*, varsayılan 0) : `max_length` ile birlikte bir sayıya ayarlanırsa, `return_overflowing_tokens=True` olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bir örtüşme sağlamak amacıyla kısaltılmış dizinin sonundan döndürülen bazı jetonları içerir. Bu argümanın değeri, örtüşen jetonların sayısını belirler.

is_split_into_words (`bool`, *isteğe bağlı*, varsayılan `False`) : Girdinin önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. `True` olarak ayarlanırsa, tokenizer girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünmüş) varsayar ve bunları tokenize eder. Bu, NER veya token sınıflandırma için faydalıdır.

pad_to_multiple_of (`int`, *isteğe bağlı*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bunun için `padding` etkinleştirilmelidir. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.

padding_side (`str`, *isteğe bağlı*) : Modelin padding uygulanması gereken tarafı. ['right', 'left'] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden alınır.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: Numpy `np.ndarray` nesnelerini döndürür.

return_token_type_ids (`bool`, *isteğe bağlı*) : Token türü kimliklerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, `return_outputs` özniteliği tarafından tanımlanan, ilgili tokenizer'ın varsayılanına göre token türü kimlikleri döndürülür.  [Token türü kimlikleri nelerdir?](../glossary#token-type-ids)

return_attention_mask (`bool`, *isteğe bağlı*) : Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, `return_outputs` özniteliğiyle tanımlanan, ilgili tokenizer'ın varsayılanına göre dikkat maskesi döndürülür.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

return_overflowing_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Taşan token dizilerinin döndürülüp döndürülmeyeceğini belirtir. Girdi kimlikleri için bir dizi çifti (veya bir çiftler partisi) `truncation_strategy = longest_first` veya `True` ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.

return_special_tokens_mask (`bool`, *isteğe bağlı*, varsayılan `False`) : Özel jeton maskesi bilgisinin döndürülüp döndürülmeyeceği.

return_offsets_mapping (`bool`, *isteğe bağlı*, varsayılan `False`) : Her token için `(char_start, char_end)` döndürülecek mi. Bu yalnızca [PreTrainedTokenizerFast](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend)'ten türeyen hızlı tokenizer'lar için kullanılabilir; Python tokenizer'ı kullanılıyorsa bu yöntem `NotImplementedError` fırlatır.

return_length  (`bool`, *isteğe bağlı*, varsayılan `False`) : Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceğini belirtir.

verbose (`bool`, *isteğe bağlı*, varsayılan `True`) : Daha fazla bilgi ve uyarı basılıp basılmayacağı.

- ****kwargs** : `self.tokenize()` yöntemine iletilir

**Dönüş:** [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding)

Aşağıdaki alanlara sahip bir [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding):

- **input_ids** -- Bir modele verilecek token kimliklerinin listesi.

  [Girdi kimlikleri nelerdir?](../glossary#input-ids)

- **token_type_ids** -- Bir modele verilecek token türü kimlikleri listesi (`return_token_type_ids=True` olduğunda veya `self.model_input_names` içinde *"token_type_ids"* varsa).

  [Token type ID'leri nelerdir?](../glossary#token-type-ids)

- **attention_mask** -- Modelin hangi token'lara dikkat etmesi gerektiğini belirleyen indeks listesi (`return_attention_mask=True` olduğunda veya *"attention_mask"* `self.model_input_names` içinde olduğunda).

  [Dikkat maskeleri nedir?](../glossary#attention-mask)

- **overflowing_tokens** -- Taşan token dizileri listesi (`max_length` belirtildiğinde ve `return_overflowing_tokens=True` olduğunda).
- **num_truncated_tokens** -- Kırpılan token sayısı (`max_length` belirtildiğinde ve `return_overflowing_tokens=True` olduğunda).
- **special_tokens_mask** -- 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (`add_special_tokens=True` ve `return_special_tokens_mask=True` olduğunda).
- **length** -- Girdilerin uzunluğu (`return_length=True` olduğunda)

Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini model için belirteçlere ayırmak ve hazırlamak için kullanılan ana yöntem.

#### save_vocabulary[[transformers.FastSpeech2ConformerTokenizer.save_vocabulary]]

```python
save_vocabulary(save_directory: str, filename_prefix: str | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py#L145)

**Parametreler:**

save_directory (`str`) : Sözlüğün kaydedileceği dizin.

**Dönüş:** `Tuple(str)`

Kaydedilen dosyaların yolları.

Sözlüğü ve özel jeton dosyasını bir dizine kaydedin.

#### decode[[transformers.FastSpeech2ConformerTokenizer.decode]]

```python
decode(token_ids, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/tokenization_fastspeech2_conformer.py#L132)

#### batch_decode[[transformers.FastSpeech2ConformerTokenizer.batch_decode]]

```python
batch_decode(sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensor, skip_special_tokens: bool = False, clean_up_tokenization_spaces: bool | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2932)

**Parametreler:**

sequences (`Union[list[int], list[list[int]], np.ndarray, torch.Tensor]`) : Tokenize edilmiş girdi kimliklerinin listesi. `__call__` yöntemi kullanılarak elde edilebilir.

skip_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Çözümleme sırasında özel jetonların kaldırılıp kaldırılmayacağı.

clean_up_tokenization_spaces (`bool`, *isteğe bağlı*) : Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir. `None` ise, varsayılan olarak `self.clean_up_tokenization_spaces` kullanılır.

kwargs (ek anahtar kelime argümanları, *isteğe bağlı*) : Altta yatan modele özgü decode yöntemine aktarılacaktır.

**Dönüş:** `list[str]`

Çözümlenmiş cümlelerin listesi.

decode çağrısı yaparak token kimlikleri içeren listelerin listesini, dizelerin listesine dönüştürün.

Bu yöntem geriye dönük uyumluluk için sağlanmıştır. `decode` yöntemi artık toplu (batched) girdileri yerel olarak işler, bu nedenle `batch_decode` yerine doğrudan `decode` kullanabilirsiniz.

## FastSpeech2ConformerModel[[transformers.FastSpeech2ConformerModel]]

#### transformers.FastSpeech2ConformerModel[[transformers.FastSpeech2ConformerModel]]

```python
transformers.FastSpeech2ConformerModel(config: FastSpeech2ConformerConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/modeling_fastspeech2_conformer.py#L1021)

**Parametreler:**

config ([FastSpeech2ConformerConfig](/docs/transformers/main/tr/model_doc/fastspeech2_conformer#transformers.FastSpeech2ConformerConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

FastSpeech2Conformer Modeli.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.FastSpeech2ConformerModel.forward]]

```python
forward(input_ids: LongTensor, attention_mask: typing.Optional[torch.LongTensor] = None, spectrogram_labels: typing.Optional[torch.Tensor] = None, duration_labels: typing.Optional[torch.LongTensor] = None, pitch_labels: typing.Optional[torch.Tensor] = None, energy_labels: typing.Optional[torch.Tensor] = None, speaker_ids: typing.Optional[torch.LongTensor] = None, lang_ids: typing.Optional[torch.LongTensor] = None, speaker_embedding: typing.Optional[torch.Tensor] = None, return_dict: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/modeling_fastspeech2_conformer.py#L1098)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`) : Metin vektörlerinden oluşan giriş dizisi.

attention_mask (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

spectrogram_labels (`torch.Tensor`, şekli `(batch_size, max_spectrogram_length, num_mel_bins)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu hedef özellikler partisi.

duration_labels (`torch.LongTensor`, şekli `(batch_size, sequence_length + 1)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu süreler partisi.

pitch_labels (`torch.Tensor`, şekli `(batch_size, sequence_length + 1, 1)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu, token-ortalama ton (pitch) partisi.

energy_labels (`torch.Tensor`, şekli `(batch_size, sequence_length + 1, 1)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu, token-ortalama enerji partisi.

speaker_ids (`torch.LongTensor`, şekli `(batch_size, 1)`, *isteğe bağlı*, varsayılan `None`) : Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan konuşmacı kimlikleri.

lang_ids (`torch.LongTensor`, şekli `(batch_size, 1)`, *isteğe bağlı*, varsayılan `None`) : Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan dil kimlikleri.

speaker_embedding (`torch.Tensor`, şekli `(batch_size, embedding_dim)`, *isteğe bağlı*, varsayılan `None`) : Ses özelliklerinin koşullandırma sinyallerini içeren gömme.

return_dict (`bool`, *isteğe bağlı*) : Düz bir tuple yerine [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) döndürülecek mi?

output_attentions (`bool`, *isteğe bağlı*) : Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmediğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki `attentions` bölümüne bakın.

output_hidden_states (`bool`, *isteğe bağlı*) : Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki `hidden_states` bölümüne bakın.

**Dönüş:** `FastSpeech2ConformerModelOutput` veya `tuple(torch.Tensor)`

`FastSpeech2ConformerModelOutput` veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırmaya ([FastSpeech2ConformerConfig](/docs/transformers/main/tr/model_doc/fastspeech2_conformer#transformers.FastSpeech2ConformerConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[FastSpeech2ConformerModel](/docs/transformers/main/tr/model_doc/fastspeech2_conformer#transformers.FastSpeech2ConformerModel) forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **loss** (`torch.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür) -- Spektrogram üretme kaybı.
- **spectrogram** (`torch.Tensor`, şekli `(batch_size, sequence_length, num_bins)`, *isteğe bağlı*) -- Tahmin edilen spektrogram.
- **encoder_last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) -- Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
- **encoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- **encoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- **decoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- **decoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan çözücü (decoder) dikkat ağırlıkları.
- **duration_outputs** (`torch.LongTensor`, şekli `(batch_size, max_text_length + 1)`, *isteğe bağlı*) -- Süre tahmincisinin çıktıları.
- **pitch_outputs** (`torch.Tensor`, şekli `(batch_size, max_text_length + 1, 1)`, *isteğe bağlı*) -- Perde tahmincisinin çıktıları.
- **energy_outputs** (`torch.Tensor`, şekli `(batch_size, max_text_length + 1, 1)`, *isteğe bağlı*) -- Enerji tahmincisinin çıktıları.

Örnek:

```python
>>> from transformers import (
...     FastSpeech2ConformerTokenizer,
...     FastSpeech2ConformerModel,
...     FastSpeech2ConformerHifiGan,
... )

>>> tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
>>> inputs = tokenizer("some text to convert to speech", return_tensors="pt")
>>> input_ids = inputs["input_ids"]

>>> model = FastSpeech2ConformerModel.from_pretrained("espnet/fastspeech2_conformer")
>>> output_dict = model(input_ids, return_dict=True)
>>> spectrogram = output_dict["spectrogram"]

>>> vocoder = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
>>> waveform = vocoder(spectrogram)
>>> print(waveform.shape)
torch.Size([1, 49664])
```

## FastSpeech2ConformerHifiGan[[transformers.FastSpeech2ConformerHifiGan]]

#### transformers.FastSpeech2ConformerHifiGan[[transformers.FastSpeech2ConformerHifiGan]]

```python
transformers.FastSpeech2ConformerHifiGan(config: FastSpeech2ConformerHifiGanConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/modeling_fastspeech2_conformer.py#L1360)

**Parametreler:**

config ([FastSpeech2ConformerHifiGanConfig](/docs/transformers/main/tr/model_doc/fastspeech2_conformer#transformers.FastSpeech2ConformerHifiGanConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

HiFi-GAN vokoderi.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.FastSpeech2ConformerHifiGan.forward]]

```python
forward(spectrogram: Tensor, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/modeling_fastspeech2_conformer.py#L1428)

**Parametreler:**

spectrogram (`torch.Tensor`) : Log-mel spektrogramları içeren Tensor. Toplu (batched) olarak `(batch_size, sequence_length, config.model_in_dim)` biçiminde veya toplu olmayan (un-batched) olarak `(sequence_length, config.model_in_dim)` biçiminde olabilir.

**Dönüş:** `torch.Tensor`

Ses dalga formunu içeren tensör. Girdi spektrogramı toplu (batched) ise şekli `(batch_size, num_frames,)` olacaktır. Toplu değilse şekli `(num_frames,)` olacaktır.

Bir log-mel spektrogramunu konuşma dalga formuna dönüştürür. Bir log-mel spektrogramu grubu (batch) geçirildiğinde, bir konuşma dalga formu grubu döndürülür. Tek bir, gruplandırılmamış log-mel spektrogramı geçirildiğinde, tek bir, gruplandırılmamış konuşma dalga formu döndürülür.

## FastSpeech2ConformerWithHifiGan[[transformers.FastSpeech2ConformerWithHifiGan]]

#### transformers.FastSpeech2ConformerWithHifiGan[[transformers.FastSpeech2ConformerWithHifiGan]]

```python
transformers.FastSpeech2ConformerWithHifiGan(config: FastSpeech2ConformerWithHifiGanConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/modeling_fastspeech2_conformer.py#L1483)

**Parametreler:**

config ([FastSpeech2ConformerWithHifiGanConfig](/docs/transformers/main/tr/model_doc/fastspeech2_conformer#transformers.FastSpeech2ConformerWithHifiGanConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

Bir FastSpeech2ConformerHifiGan vokoder başlığına sahip ve metinden sese (dalga formu) dönüştürme işlemini gerçekleştiren FastSpeech2ConformerModel.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.FastSpeech2ConformerWithHifiGan.forward]]

```python
forward(input_ids: LongTensor, attention_mask: typing.Optional[torch.LongTensor] = None, spectrogram_labels: typing.Optional[torch.Tensor] = None, duration_labels: typing.Optional[torch.LongTensor] = None, pitch_labels: typing.Optional[torch.Tensor] = None, energy_labels: typing.Optional[torch.Tensor] = None, speaker_ids: typing.Optional[torch.LongTensor] = None, lang_ids: typing.Optional[torch.LongTensor] = None, speaker_embedding: typing.Optional[torch.Tensor] = None, return_dict: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/fastspeech2_conformer/modeling_fastspeech2_conformer.py#L1496)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`) : Metin vektörlerinden oluşan giriş dizisi.

attention_mask (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

spectrogram_labels (`torch.Tensor`, şekli `(batch_size, max_spectrogram_length, num_mel_bins)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu hedef özellikler partisi.

duration_labels (`torch.LongTensor`, şekli `(batch_size, sequence_length + 1)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu süreler partisi.

pitch_labels (`torch.Tensor`, şekli `(batch_size, sequence_length + 1, 1)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu, token-ortalama ton (pitch) partisi.

energy_labels (`torch.Tensor`, şekli `(batch_size, sequence_length + 1, 1)`, *isteğe bağlı*, varsayılan `None`) : Dolgulu, token-ortalama enerji partisi.

speaker_ids (`torch.LongTensor`, şekli `(batch_size, 1)`, *isteğe bağlı*, varsayılan `None`) : Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan konuşmacı kimlikleri.

lang_ids (`torch.LongTensor`, şekli `(batch_size, 1)`, *isteğe bağlı*, varsayılan `None`) : Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan dil kimlikleri.

speaker_embedding (`torch.Tensor`, şekli `(batch_size, embedding_dim)`, *isteğe bağlı*, varsayılan `None`) : Ses özelliklerinin koşullandırma sinyallerini içeren gömme.

return_dict (`bool`, *isteğe bağlı*) : Düz bir tuple yerine [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) döndürülecek mi?

output_attentions (`bool`, *isteğe bağlı*) : Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmediğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki `attentions` bölümüne bakın.

output_hidden_states (`bool`, *isteğe bağlı*) : Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki `hidden_states` bölümüne bakın.

**Dönüş:** `FastSpeech2ConformerModelOutput` veya `tuple(torch.Tensor)`

`FastSpeech2ConformerModelOutput` veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırmaya ([FastSpeech2ConformerConfig](/docs/transformers/main/tr/model_doc/fastspeech2_conformer#transformers.FastSpeech2ConformerConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[FastSpeech2ConformerWithHifiGan](/docs/transformers/main/tr/model_doc/fastspeech2_conformer#transformers.FastSpeech2ConformerWithHifiGan) forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **loss** (`torch.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür) -- Spektrogram üretme kaybı.
- **spectrogram** (`torch.Tensor`, şekli `(batch_size, sequence_length, num_bins)`, *isteğe bağlı*) -- Tahmin edilen spektrogram.
- **encoder_last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) -- Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
- **encoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- **encoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- **decoder_hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

  Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- **decoder_attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan çözücü (decoder) dikkat ağırlıkları.
- **duration_outputs** (`torch.LongTensor`, şekli `(batch_size, max_text_length + 1)`, *isteğe bağlı*) -- Süre tahmincisinin çıktıları.
- **pitch_outputs** (`torch.Tensor`, şekli `(batch_size, max_text_length + 1, 1)`, *isteğe bağlı*) -- Perde tahmincisinin çıktıları.
- **energy_outputs** (`torch.Tensor`, şekli `(batch_size, max_text_length + 1, 1)`, *isteğe bağlı*) -- Enerji tahmincisinin çıktıları.

Örnek:

```python
>>> from transformers import (
...     FastSpeech2ConformerTokenizer,
...     FastSpeech2ConformerWithHifiGan,
... )

>>> tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
>>> inputs = tokenizer("some text to convert to speech", return_tensors="pt")
>>> input_ids = inputs["input_ids"]

>>> model = FastSpeech2ConformerWithHifiGan.from_pretrained("espnet/fastspeech2_conformer_with_hifigan")
>>> output_dict = model(input_ids, return_dict=True)
>>> waveform = output_dict["waveform"]
>>> print(waveform.shape)
torch.Size([1, 49664])
```

