Roblox'un modüler ses nesneleri, deneyimlerinizde ses ve sesli sohbet üzerinde dinamik kontrol sağlamanızı sağlar. Hemen hemen her ses nesnesi, gerçek dünya ses cihazlarıyla eşleşir ve tümü, fiziksel karşılıkları gibi ses yakalamak ve çalmak için birlikte çalışır.
Örneğin, her ses nesnesi kavramsal olarak aşağıdaki kategorilere girer:
- Ses akışları üreten nesneler, örneğin ses oynatıcıları.
- Ses akışlarını tüketen nesneler, örneğin ses yayıcıları.
- Ses akışlarını modifiye eden nesneler, örneğin ses efektleri.
- Bir ses nesnesinden diğerine ses akışlarını taşıyan nesneler, örneğin teller.
Bu kılavuzu okurken ve bu ses nesnelerinin ses yaymak için nasıl birlikte çalıştığını öğrenirken, deneyimden oyuncuya ve tersine müzik, ses efektleri ve insan sesini nasıl doğru bir şekilde yakalayacağınızı ve besleyeceğinizi öğrenirsiniz.
Ses çal
Deneyiminiz içinde ses çalmak için, mevcut her ses nesnesinin rolünü anlamak önemlidir:
- Bir AudioPlayer, ses dosyasını yüklüyor ve çalıyor.
- Bir AudioEmitter, 3D ortamda ses yayan bir sanaldan hoparlördür.
- Bir AudioListener, 3D ortamdan ses alabilen bir sanaldan mikrofon.
- Bir AudioDeviceOutput, gerçek dünyada bir fiziksel donanım cihazı, örneğin bir hoparlör veya kulaklık.
- Bir AudioDeviceInput, gerçek dünyada bir fiziksel mikrofon.
- AudioTextToSpeech nesnesi, metni ses haline dönüştürürken, yapay bir insan sesi kullanır.
- AudioSpeechToText nesnesi, konuşulan sesi metne dönüştürür.
- Bir Wire, ses akışlarını bir ses nesnesinden diğerine taşır.
Bu ses nesnelerini bir araya nasıl getireceğiniz, sesleri doğrudan oyuncunun hoparlörüne veya kulaklıklarına ya da 3D alanındaki nesnelerden yaymak isteyip istemediğinize bağlıdır. Aşağıdaki bölümler, her iki senaryoyu da ayrıntılı olarak açıklar.
2D ses
2D ses, belirli bir yerden gelmeyen, oyuncunun 3D alandaki konumuna veya yönelimine bakılmaksızın sabit ses seviyesinde çalan yönlendirilmemiş bir sestir. Bu tür bir ses, üç ses nesnesi gerektirir:
- Bir ses akışı üretmek için bir ses oynatıcı.
- Gerçek dünyada ses akışını çalmak için bir fiziksel donanım cihazı.
- Ses akışını ses oynatıcıdan çıktı cihazına taşımak için bir tel.
Bu ses nesnelerini Studio'da 2D ses için nasıl yapılandıracağınızı göstermeye yönelik aşağıdaki diyagram, her nesneyi gerçek dünya ses cihazı karşılığıyla karşılaştırmaktadır. Özetle:
- AudioPlayer, belirli ayarlarla ses varlığınızı yükler ve çalar.
- AudioDeviceOutput, oyuncunun sesi hoparlöründen veya kulaklıklarından duymasını sağlar.
- Wire, ses oynatıcıya SourceInstance özelliği ile bağlanır ve fiziksel donanım cihazına TargetInstance özelliği ile bağlanır. Sonra ses akışını ses oynatıcıdan oyuncunun çıktı cihazına taşımak için bir köprü görevi görür.

Yönlendirilmemiş sesi çalmak için:
- Explorer penceresinde SoundService'ye gidin ve aşağıdakileri ekleyin:
- Ses kaynağı oluşturmak için bir AudioPlayer nesnesi.
- Deneyim boyunca çalan bir hoparlör oluşturmak için bir AudioDeviceOutput nesnesi.
- Ses akışını ses oynatıcıdan hoparlöre bağlamak için bir Wire nesnesi.
- AudioPlayer nesnesinin Properties penceresinde:
- AssetID'yi geçerli bir ses varlık ID'sine ayarlayın. Kendi özel sesiniz yoksa, Creator Store'da ücretsiz kullanıma açık ses varlıklarını bulabilirsiniz.
- Sesinizin sürekli tekrarlamasını istiyorsanız Looping'i etkinleştirin.
- Sesinizi çalmak istediğiniz genlik birimini Volume olarak ayarlayın.
- Wire nesnesinin Properties penceresinde:
- Ses akışını bu belirli ses oynatıcı içinde çalmak istediğinizi belirlemek için SourceInstance'ı AudioPlayer'a ayarlayın.
- Bu belirli hoparlörden sesi çalmak istediğinizi belirtmek için TargetInstance'ı AudioDeviceOutput'a ayarlayın.
Buradan, deneyime katılan oyuncular olarak sesi çalmak veya bir oyun olayı veya UI etkileşimi sonucunda çalmak için betiklerle yönlendirilmemiş sesinizi tetikleyebilirsiniz. Bu kullanım senaryoları için kod örneği referanslarına bakmak için Add 2D audio kılavuzuna göz atın.
3D ses
3D ses, belirli bir yerden gelen yönlendirilmiş ses olup, sesin oyuncunun konumuna ve sesle olan yönelimine bağlı olarak ses seviyesini artırır veya azaltır. Bu tür bir ses, altı ses nesnesi gerektirir:
- Bir ses akışı üretmek için bir ses oynatıcı.
- Ortam içinde ses akışını yaymak için bir ses yayıcı.
- Ortamdan ses akışını almak için bir dinleyici.
- Gerçek dünyada ses akışını çalmak için bir fiziksel donanım cihazı.
- Ses akışını ses oynatıcıdan yayma nesnesine taşıyan ve dinleyiciden çıktı cihazına taşıyan iki tel.
Bu ses nesnelerini Studio'da 3D ses için nasıl yapılandıracağınızı göstermeye yönelik aşağıdaki diyagram, her nesneyi gerçek dünya ses cihazı karşılığıyla karşılaştırmaktadır. Özetle:
- AudioPlayer, belirli ayarlarla ses varlığınızı yükler ve çalar.
- AudioEmitter'ın ana konumu, 3D alandaki sesin nereden yayıldığını belirler.
- AudioListener, yerel kameradan veya oyuncu karakterinin Humanoid.RootPart'ı içerisinden ses alabilir; bu, varsayılan dinleyici konumunu ayarladığınız yere bağlıdır.
- AudioDeviceOutput, oyuncunun sesi hoparlöründen veya kulaklıklarından duymasını sağlar.
- İlk Wire, ses oynatıcıya SourceInstance özelliği ile bağlanır ve yayıcıya TargetInstance özelliği ile bağlanır. Bu, ses akışını ses oynatıcıdan yayıcıya taşımak için bir köprü görevi görür.
- İkinci Wire, dinleyiciye SourceInstance özelliği ile bağlanır ve fiziksel donanım cihazına TargetInstance özelliği ile bağlanır. Bu, ses akışını dinleyiciden oyuncunun çıktı cihazına taşımak için bir köprü görevi görür.

Konumlu ses çalmak için:
Oyuncuların deneyime kaydolduğunda bir AudioListener oluşturmak istediğiniz yeri seçin.
- Explorer penceresinde SoundService'yi seçin.
- Properties penceresinde, ListenerLocation'ı aşağıdakilerden birine ayarlayın:
- Default - Sesli sohbeti etkinleştiren deneyimlerde dinleyiciyi Workspace.CurrentCamera'ya oluşturur ve bağlar.
- None - Bir dinleyici yaratmaz. Bu seçenek, bir betikle dinleyici oluşturmak istiyorsanız yararlıdır.
- Character - Yerel oyuncunun karakterine dinleyici oluşturur ve bağlar.
- Camera - Dinleyiciyi Workspace.CurrentCamera'ya oluşturur ve bağlar.
Explorer penceresinde ses yaymak istediğiniz 3D nesneye gidin ve aşağıdakileri ekleyin:
- Bir ses kaynağı oluşturmak için bir AudioPlayer nesnesi.
- 3D nesneden konumlu bir akış yaymak için bir AudioEmitter nesnesi.
- Ses akışını ses yayıcıya bağlamak için bir Wire nesnesi.
AudioPlayer nesnesinin Properties penceresinde:
- AssetID'yi geçerli bir ses varlık ID'sine ayarlayın. Kendi özel sesiniz yoksa, Creator Store'da ücretsiz kullanıma açık ses varlıklarını bulabilirsiniz.
- Sesinizin sürekli tekrarlamasını istiyorsanız Looping'i etkinleştirin.
- Sesinizi çalmak istediğiniz genlik birimini Volume olarak ayarlayın.
AudioEmitter nesnesinin Properties penceresinde, DistanceAttenuation'ı dinleyicinin yayıcıyı ne kadar duyduğunu belirleyen ses mesafesindeki bir eğriye ayarlayın.
Örneğin, aşağıdaki eğri dinleyici, yayırdan 50 stud uzağında sesin ses seviyesini yarıya düşürür, ardından 70 stud uzakta olduğunda ses seviyesi sıfıra düşer.

Wire nesnesinin Properties penceresinde:
- Ses akışını bu belirli ses oynatıcı içinde çalmak istediğinizi belirtmek için SourceInstance'ı AudioPlayer'a ayarlayın.
- Bu belirli ses yayıcıdan sesi çalmak istediğinizi belirtmek için TargetInstance'ı AudioEmitter'a ayarlayın.
Buradan, yönlendirilmiş sesinizi deneyime katılan oyuncular olarak çaldırmak veya bir oyun olayı veya UI etkileşimi sonucunda çalmak için betiklerle tetikleyebilirsiniz. Bu kullanım senaryoları için kod örneği referanslarına bakmak için Add 3D audio kılavuzuna göz atın.
Metinden sese
Metinden sese (TTS), metin dizelerini yapay bir sesle konuşma sesine dönüştüren bir yardımcı teknoloji biçimidir. Bu tür bir ses, beş ses nesnesi gerektirir:
- Metni yükleyip sesle dönüştüren bir ses konuşma üreticisi.
- Ortam içinde ses akışını yaymak için bir ses yayıcı.
- Ortamdan ses akışını almak için bir dinleyici.
- Gerçek dünyada ses akışını çalmak için bir fiziksel donanım cihazı.
- 2D ses için - Ses akışını ses konuşma üreticisinden çıktı cihazına taşımak için bir tel.
- 3D ses için - Ses akışını ses konuşma üreticisinden yayıcıya taşımak için bir tel ve dinleyiciden çıktı cihazına taşımak için başka bir tel.
Bu nesneleri nasıl yapılandıracağınız, 2D TTS ses veya 3D TTS ses oluşturup oluşturmayacağınıza bağlıdır. Her iki işlem için daha fazla ayrıntı için, aşağıdaki sekmeleri tıklayın.
Bu ses nesnelerini Studio'da 2D TTS sesi için nasıl yapılandıracağınızı göstermeye yönelik aşağıdaki diyagram, her nesneyi gerçek dünya ses cihazı karşılığıyla karşılaştırmaktadır. Özetle:
- AudioTextToSpeech nesnesi, metin dizelerini sesli konuşmaya yükleyip çevirir.
- AudioDeviceOutput, oyuncunun sesi hoparlöründen veya kulaklıklarından duymasını sağlar.
- Wire, ses konuşma üreticisine SourceInstance özelliği ile bağlanır ve fiziksel donanım cihazına TargetInstance özelliği ile bağlanır. Sonra ses akışını ses konuşma üreticisinden oyuncunun çıktı cihazına taşımak için bir köprü görevi görür.

2D metinden ses sesi çalmak için:
- Explorer penceresinde SoundService'ye gidin ve aşağıdakileri ekleyin:
- Ses konuşma üreticisi oluşturmak için bir AudioTextToSpeech nesnesi.
- Deneyim boyunca çalan bir hoparlör oluşturmak için bir AudioDeviceOutput nesnesi.
- Ses akışını ses konuşma üreticisinden hoparlöre bağlamak için bir Wire nesnesi.
- AudioTextToSpeech nesnesinin Properties penceresinde:
Sesin söylemesini istediğiniz her şeyi Text'e ayarlayın. Her istekte 300 karakter sınırı vardır.
Aşağıdaki tabloda kullanmak istediğiniz yapay sesin türüne göre VoiceId'yi 1 ile 10 arasında bir numaraya ayarlayın.
Yapay sesler listesiVoiceID Ses Açıklaması Ses Örneği 1 Britanya erkek 2 Britanya kadın 3 Amerika Birleşik Devletleri erkek #1 4 Amerika Birleşik Devletleri kadın #1 5 Amerika Birleşik Devletleri erkek #2 6 Amerika Birleşik Devletleri kadın #2 7 Avustralya erkek 8 Avustralya kadın 9 Nostaljik ses #1 10 Nostaljik ses #2 11 Sunucu sesi 101 İspanyol erkek 102 İspanyol kadın 201 Alman erkek 202 Alman kadın 301 İtalyan erkek 302 İtalyan kadın 401 Fransız erkek 402 Fransız kadın
Sesinizi çalmak istediğiniz genlik birimini Volume olarak ayarlayın.
- Wire nesnesinin Properties penceresinde:
- Ses akışını bu belirli ses konuşma üreticisi içinde çalmak istediğinizi belirtmek için SourceInstance'ı AudioTextToSpeech'e ayarlayın.
- Bu belirli hoparlörden sesi çalmak istediğinizi belirtmek için TargetInstance'ı AudioDeviceOutput'a ayarlayın.
Buradan, TTS sesinizi betiklerle tetikleyebilirsiniz. TTS sesine dair kod örneği referansları, oyuncunun durumuna, ortamın durumu veya oyun durumuna göre adaptasyon sağlayan bağlamlı TTS yapılandırmasını da içeren detaylar için Add text-to-speech kılavuzuna göz atın.
Sesten metne
Sesten metne (STT), konuşma seslerinden otomatik olarak metin dizeleri üreten bir teknoloji biçimidir. Bu tür bir ses, üç ses nesnesi gerektirir:
- Ses girişini yakalamak için bir text üretici.
- Ses girdisini yakalamak için bir mikrofon gibi bir fiziksel donanım cihazı.
- Ses akışını giriş cihazından metin üreticiye taşımak için bir tel.
Tüm bu ses nesneleri, oyuncu eylemlerine yanıt olarak STT metni oluşturmak için birlikte çalışır. Örneğin, oyuncu bir deneyimde oynarken kulaklık takıyorsa:
- AudioDeviceInput, oyuncunun konuşmasını, mikrofonuna söylenen ve ses akışı halinde yakalar.
- AudioSpeechToText, oyuncunun konuşmasını metne dönüştürür.
- Deneyim, bu metni okur ve konuşulan metni ekranda göstermek veya oyuncunun komutu üzerine bir kapıyı açmak gibi bir eylem gerçekleştirir.

Deneyiminizde sesten mete uygulamak için:
- Ses için en son API'yi kullanmayı etkinleştirin.
- Explorer penceresinde, VoiceChatService'yi seçin.
- Properties penceresinde, UseAudioApi'yi Enabled olarak ayarlayın.
- Explorer penceresinde SoundService'ye gidin ve aşağıdakileri ekleyin:
- Konuşmayı yakalamak için bir AudioDeviceInput.
- Sesi metne dönüştürmek için bir AudioSpeechToText.
- Ses cihazı girişinden STT örneğine akışı taşımak için bir Wire.
- AudioSpeechToText nesnesinin Properties penceresinde, Enabled durumunu açın.
- Wire nesnesinin Properties penceresinde:
- Belirli ses örneğinden ses akışını taşımak istediğinizi belirtmek için SourceInstance'ı yeni AudioDeviceInput'ınıza ayarlayın.
- Belirli ses örneğine ses taşımak istediğinizi belirtmek için TargetInstance'ı yeni AudioSpeechToText'inize ayarlayın.
- Ses cihazı girişinin Player özelliğini çalıştırma esnasında yerel oyuncuya ayarlayın; audioDeviceInput.Player = game.Players.LocalPlayer. Bu, Roblox'a hangi kullanıcının mikrofonundan ses yakalayacağını söyler.
STT'yi deneyiminizde kurduktan sonra, onu betiklerle tetikleyebilirsiniz. Kod örneği referansları için Add speech-to-text kılavuzuna göz atın.
Desteklenen diller
Desteklenen dilleri etkinleştirmek için yapılandırma gereklidir. Roblox, sesin konuşulan dilini otomatik olarak algılar ve bunu transkripte eder.
STT, aşağıdaki dilleri desteklemektedir:
- Arapça
- Çince (Basitleştirilmiş)
- Çince (Geleneksel)
- İngilizce
- Fransızca
- Almanca
- Endonezyaca
- İtalyanca
- Japonca
- Korece
- Lehçe
- Portekizce
- İspanyolca
- Rusça
- Türkçe
- Tayca
- Vietnamca
Benzer kelimeleri filtreleme
Deneyiminizde STT uyguladığınızda, oyuncunun söylemesini istediğiniz kelimelere benzer seslere göre eşleşme doğruluğunu artırmak isteyebilirsiniz. Bunu yapmak için, AudioSpeechToText tarafından tanınan kelimeleri bilinen kelime listeleri ile karşılaştırabilirsiniz:
- AudioSpeechToText'nin Text çıktısını temizleyip, küçük harflere dönüştürerek ve karşılaştırmalar için ayrıştırılabilen bir tablo oluşturarak tokenize edin.
- Noktalama işaretlerini kaldırın.
- Tüm diziyi küçük harflere çevirin.
- Boşluklara göre diziyi ayırarak kelimeler tablosu oluşturun.
- Karşılaştırma için dizelerinizi hazırlamak üzere aday tabloları oluşturun.
- Her referans dizisini temizleyin ve tokenize edin.
- Bu işlenmiş kelimeleri ayrı bir tabloda saklayın.
- Her iki tabloda kelimeleri karşılaştırın ve eşleştirerek, hedef cümlelerinize yakın konuşma girişlerini tanıyın; küçük varyasyonlar içerse bile.
- Basit kontroller için, dizelerin kesin olarak aynı olup olmadığını kontrol edin.
- Daha esnek eşleştirme için, "colour" yerine "color" gibi yedeklemeleri kabul edecek özel mantık yazabilir ya da kelimelerin bir alt kümesini eşleştirip benzerlik skoru hesaplayabilirsiniz.
Sesı özelleştirin
Ses efektleri, ses akışlarını, bir oyuncunun kulaklarına ulaşmadan önce, yıkıcı olmadan değiştirme veya iyileştirme olanağı sunar. Deneyimler içinde sesinizi daha etkileyici hale getirmek için bu efektleri uygulayabilirsiniz; örneğin, yağmuru boğuk gibi hissettirmek için bir AudioEqualizer nesnesi, bir sesin maksimum ses seviyesini kontrol etmek için bir AudioCompressor nesnesi veya iç mekanlarda seslerin daha gerçekçi yansımaları için AudioReverb kullanabilirsiniz.
Ses efektlerini nasıl yapılandıracağınız ve sesi özelleştirdikten sonra yan yana karşılaştırmalar için bkz. Ses efektleri.


Ses tetikleyin
Script'ten Play() çağırarak sesleri bağlamsal olarak tetikleyebilirsiniz. Örneğin, bir script'i bir ses oynatıcıya bağlarsanız, ses varlığına tetiklemek için şöyle yapabilirsiniz:
local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)
Oyun geri bildirimi, UI etkileşimleri ve döngüsel arka plan gürültüsü gibi daha karmaşık ses tetikleme ile ilgili kod örnekleri için bkz. Add 2D audio, Add 3D audio ve Add text-to-speech kılavuzları.