Roblox'un modüler ses nesneleri, deneyimlerinizde ses ve sesli sohbet üzerinde dinamik kontrol sağlamanıza olanak tanır. Neredeyse her ses nesnesi, gerçek dünyadaki bir ses cihazına karşılık gelir ve hepsi birlikte, fiziksel karşılıkları gibi ses yakalamak ve çalmak için ç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ı değiştiren nesneler, örneğin ses efektleri.
- Ses akışlarını bir ses nesnesinden diğerine taşıyan nesneler, örneğin teller.
Bu kılavuzu okurken ve bu ses nesnelerinin nasıl birlikte çalışarak ses yaydığını öğrenirken, müzik, ses efektleri ve insan sesini deneyimden oyuncuya ve tersine doğru doğru bir şekilde yakalamayı ve beslemeyi öğreneceksiniz.
Ses çal
Deneyiminiz içinde ses çalmak için, mevcut her ses nesnesinin rolünü anlamak önemlidir:
- Bir AudioPlayer, belirli bir ses varlık kimliği kullanarak ses dosyasını yükler ve çalar.
- Bir AudioEmitter, 3D ortamda ses yayan bir sanaldır hoparlör.
- Bir AudioListener, 3D ortamdan ses yakalayan bir sanaldır 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 sese 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, sesin doğrudan oyuncunun hoparlörüne veya kulaklıklarına mı yoksa 3D alandaki nesnelerden mi yayılmasını istediğinize bağlıdır. Aşağıdaki bölümler her iki senaryoyu da detaylandırmaktadır.
2D ses
2D ses, belirli bir yerden çalmayan, oyuncunun 3D alandaki konumuna veya yönelimine bağlı olarak aynı ses seviyesinde kalan yönsüz 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 çıkış 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östermek için, aşağıdaki diyagram her nesneyi gerçek dünya ses cihazı karşılığıyla karşılaştırmaktadır. Özetle:
- AudioPlayer, ses varlığınızı belirli ayarlarla yükler ve çalar.
- AudioDeviceOutput, oyuncunun sesi hoparlör veya kulaklıkları aracılığıyla duymasını sağlar.
- Wire, ses akışını ses oynatıcıdan çıkış cihazına taşımak için SourceInstance özelliği ile ses oynatıcıya bağlanır ve TargetInstance özelliği ile fiziksel donanım cihazına bağlanır. Daha sonra, ses akışını ses oynatıcıdan oyuncunun çıkış cihazına taşımak için bir köprü görevi görür.

Yönsüz sesi çalmak için:
- Explorer penceresinde, SoundService'e gidin ve aşağıdakileri ekleyin:
- Bir 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 kimliğine ayarlayın. Kendi özel sesiniz yoksa, Creator Store'da kullanılabilir ses varlıkları bulabilirsiniz.
- Sesinizin sürekli tekrar etmesini istiyorsanız Looping'i etkinleştirin.
- Sesinizi çalmak istediğiniz genlik birimini Volume'a ayarlayın.
- Wire nesnesinin Properties penceresinde:
- Sesin bu belirli ses oynatıcı içinde çalmasını belirtmek için SourceInstance'yi AudioPlayer'a ayarlayın.
- Bu belirli hoparlörden sesin çalmasını belirtmek için TargetInstance'yi AudioDeviceOutput'a ayarlayın.
Buradan, oyuncular deneyime katıldıklarında veya bir oyun olayı veya UI etkileşimi sonucunda yönsüz sesinizi tetiklemek için betikler kullanabilirsiniz. Bu kullanım durumları için kod örneği referansları için 2D ses ekleme kılavuzuna bakın.
3D ses
3D ses, 3D alandaki belirli bir yerden çalan yönlü bir sestir ve oyuncunun sesle olan konumuna ve 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ı yakalamak için bir dinleyici.
- Gerçek dünyada ses akışını çalmak için bir fiziksel donanım cihazı.
- Bir ses oynatıcıdan yayıcıya ses akışını taşımak için bir tel ve dinleyiciden çıkış cihazına taşımak için başka bir tel.
Bu ses nesnelerini Studio'da 3D ses için nasıl yapılandıracağınızı göstermek için, aşağıdaki diyagram her nesneyi gerçek dünya ses cihazı karşılığıyla karşılaştırmaktadır. Özetle:
- AudioPlayer, ses varlığınızı belirli ayarlarla yükler ve çalar.
- AudioEmitter'ın 3D alandaki ebeveyn konumu, sesin ortamda nereden yayıldığını belirler.
- AudioListener, varsayılan dinleyici konumunu ayarladığınız yere bağlı olarak, yerel kameradan veya oyuncu karakterinin Humanoid.RootPart'ından yayıcıdan ses yakalar.
- AudioDeviceOutput, oyuncunun sesi hoparlör veya kulaklıkları aracılığıyla 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. Daha sonra, 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. Daha sonra, ses akışını dinleyiciden oyuncunun çıkış cihazına taşımak için bir köprü görevi görür.

Yönlü sesi çalmak için:
Oyuncular deneyime katıldıklarında bir AudioListener oluşturmak istediğiniz yeri seçin.
- Explorer penceresinde, SoundService'i 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 - Dinleyici oluşturmaz. Bu seçenek, bir betik aracılığıyla bir dinleyici oluşturmak istiyorsanız yararlıdır.
- Character - Yerel oyuncunun karakterine bir 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 yönlü bir akış yaymak için bir AudioEmitter nesnesi.
- Ses akışını ses oynatıcıdan ses yayıcıya bağlamak için bir Wire nesnesi.
AudioPlayer nesnesinin Properties penceresinde:
- AssetID'yi geçerli bir ses varlık kimliğine ayarlayın. Kendi özel sesiniz yoksa, Creator Store'da kullanılabilir ses varlıkları bulabilirsiniz.
- Sesinizin sürekli tekrar etmesini istiyorsanız Looping'i etkinleştirin.
- Sesinizi çalmak istediğiniz genlik birimini Volume'a ayarlayın.
AudioEmitter nesnesinin Properties penceresinde, dinleyicinin yayıcıdan uzaklığına göre yayıcının sesini ne kadar yüksek duyacağını belirleyen bir ses mesafesi eğrisi olan DistanceAttenuation'ı ayarlayın.
Örneğin, aşağıdaki eğri dinleyici yayıcıdan 50 stud uzaklıkta olduğunda sesin ses seviyesini yarıya düşürür, ardından dinleyici 70 stud uzaklıkta olduğunda ses seviyesini sıfıra keskin bir şekilde düşürür.

Wire nesnesinin Properties penceresinde:
- Sesin bu belirli ses oynatıcı içinde çalmasını belirtmek için SourceInstance'yi AudioPlayer'a ayarlayın.
- Bu belirli ses yayıcısından sesin çalmasını belirtmek için TargetInstance'yi AudioEmitter'a ayarlayın.
Buradan, yönlü sesinizi betikler ile tetikleyebilirsiniz; oyuncular deneyime katıldıklarında veya bir oyun olayı veya UI etkileşimi sonucunda. Bu kullanım durumları için kod örneği referansları için 3D ses ekleme kılavuzuna bakın.
Metinden sese
Metinden sese (TTS), metin dizelerini yapay bir ses kullanarak sesli seslere dönüştüren bir yardımcı teknoloji biçimidir. Bu tür bir ses, beş ses nesnesi gerektirir:
- Metni sesli sese yükleyip dönüştüren bir sesli konuşma üreteci.
- Ortam içinde ses akışını yaymak için bir ses yayıcı.
- Ortamdan ses akışını yakalamak 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ı sesli konuşma üretecinden çıkış cihazına taşımak için bir tel.
- 3D ses için - Ses akışını sesli konuşma üretecinden yayıcıya taşımak için bir tel ve dinleyiciden çıkış cihazına taşımak için başka bir tel.
Bu nesneleri nasıl yapılandıracağınız, 2D TTS sesi mi yoksa 3D TTS sesi mi oluşturmak istediğinize bağlıdır. Her iki süreç hakkında daha fazla bilgi için aşağıdaki sekmeler arasında geçiş yapın.
Bu ses nesnelerini Studio'da 2D TTS sesi için nasıl yapılandıracağınızı göstermek için, 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 seslere yükler ve dönüştürür.
- AudioDeviceOutput, oyuncunun sesi hoparlör veya kulaklıkları aracılığıyla duymasını sağlar.
- Wire, sesli konuşma üretecine SourceInstance özelliği ile bağlanır ve fiziksel donanım cihazına TargetInstance özelliği ile bağlanır. Daha sonra, ses akışını sesli konuşma üretecinden oyuncunun çıkış cihazına taşımak için bir köprü görevi görür.

2D metinden sesli ses çalmak için:
- Explorer penceresinde, SoundService'e gidin ve aşağıdakileri ekleyin:
- Bir sesli konuşma üreteci oluşturmak için bir AudioTextToSpeech nesnesi.
- Deneyim boyunca çalan bir hoparlör oluşturmak için bir AudioDeviceOutput nesnesi.
- Ses akışını sesli konuşma üretecinden hoparlöre bağlamak için bir Wire nesnesi.
- AudioTextToSpeech nesnesinin Properties penceresinde:
- Sesin söylemesini istediğiniz herhangi bir metni Text'e ayarlayın. Her istekte 300 karakter sınırı vardır.
- Kullanmak istediğiniz yapay sesin numarasını VoiceId'ye ayarlayın. Mevcut seslerin tam listesi için yapay sesler listesine bakın.
- Sesinizi çalmak istediğiniz genlik birimini Volume'a ayarlayın.
- Wire nesnesinin Properties penceresinde:
- Sesin bu belirli sesli konuşma üretecinde çalmasını belirtmek için SourceInstance'yi AudioTextToSpeech'e ayarlayın.
- Bu belirli hoparlörden sesin çalmasını belirtmek için TargetInstance'yi AudioDeviceOutput'a ayarlayın.
Buradan, TTS sesinizi betikler ile tetikleyebilirsiniz. TTS sesi için kod örneği referansları, bağlama duyarlı TTS'yi nasıl yapılandıracağınız dahil, oyuncuya, çevre durumuna veya oyun durumu ile ilişkili olarak uyum sağlayan TTS'yi görmek için metinden sesli ses ekleme kılavuzuna bakın.
Yapay sesler listesi
| VoiceID | Ses Açıklaması | Ses Örneği |
|---|---|---|
| 1 | İngiliz erkek | |
| 2 | İngiliz 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 | Retro ses #1 | |
| 10 | Retro 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 | |
| 501 | Çin (Mandarin) erkek | |
| 502 | Çin (Mandarin) kadın | |
| 601 | Hint erkek | |
| 602 | Hint kadın | |
| 701 | Japon erkek | |
| 702 | Japon kadın | |
| 801 | Arap erkek | |
| 802 | Arap kadın | |
| 901 | Koreli erkek | |
| 902 | Koreli kadın | |
| 1001 | Portekizli erkek | |
| 1002 | Portekizli kadın |
Sesten metne
Sesten metne (STT), sesli seslerden metin dizeleri otomatik olarak üreten bir teknoloji biçimidir. Bu tür bir ses, üç ses nesnesi gerektirir:
- Sesli girişi yakalamak için bir mikrofon gibi bir fiziksel donanım cihazı.
- Ses akışını metin üretecine 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 deneyim oynarken bir kulaklık takıyorsa:
- AudioDeviceInput, oyuncunun mikrofonuna konuşarak ses akışını yakalar.
- AudioSpeechToText, oyuncunun konuşmasını metne dönüştürür.
- Deneyim bu metni okur ve ekranda konuşulan metni görüntüleme veya oyuncunun komutuyla bir kapıyı açma gibi bir eylem gerçekleştirir.

Deneyiminizde sesten metne uygulamak için:
- En son ses API'sinin kullanımını etkinleştirin.
- Explorer penceresinde, VoiceChatService'i seçin.
- Properties penceresinde, UseAudioApi'yi Enabled olarak ayarlayın.
- Explorer penceresinde, SoundService'e gidin ve aşağıdakileri ekleyin:
- Konuşmayı yakalamak için bir AudioDeviceInput.
- Konuşmayı 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çık olarak ayarlayın.
- Wire nesnesinin Properties penceresinde:
- Bu belirli ses örneğinden ses taşımak için yeni AudioDeviceInput'inizi SourceInstance olarak ayarlayın.
- Bu belirli ses örneğine ses taşımak için yeni AudioSpeechToText'inizi TargetInstance olarak ayarlayın.
- Çalışma zamanında ses cihazı girişinin Player özelliğini 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 ayarladıktan sonra, betikler ile tetikleyebilirsiniz. Kod örneği referansları için sesten metne ekleme kılavuzuna bakın.
Desteklenen diller
Desteklenen dilleri etkinleştirmek için herhangi bir yapılandırma gerekmez. Roblox, sesli konuşmadan konuşulan dili otomatik olarak algılar ve transkripte eder.
STT, aşağıdaki dilleri destekler:
- 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'yi uyguladığınızda, oyuncunun söylemesini istediğiniz kelimelere benzer sesleri filtreleyerek eşleşme doğruluğunu artırmak isteyebilirsiniz. Bunu yapmak için, AudioSpeechToText tarafından tanınan kelimeleri bilinen kelime listeleriyle karşılaştırabilirsiniz:
- AudioSpeechToText'in Text çıktısını temizleyin ve tokenize edin, böylece karşılaştırılabilir ve ayrıştırılabilir küçük harfli dizeler tablosu oluşturun.
- Noktalama işaretlerini kaldırın.
- Tüm diziyi küçük harfe çevirin.
- Diziyi boşluklarla bölerek 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 tablodaki kelimeleri karşılaştırın ve eşleştirin, böylece hedef ifadelerinize yakın olan konuşma girdilerini tanıyın, küçük varyasyonlar içerse bile.
- Basit kontroller için, dizelerin tam olarak aynı olup olmadığını kontrol edin.
- Daha esnek eşleşmeler için, "colour" yerine "color" gibi değişiklikleri kabul etmek veya kelimelerin bir alt kümesini eşleştirmek ve benzerlik puanı hesaplamak için özel mantık yazabilirsiniz.
Ses özelleştirme
Ses efektleri, ses akışları oyuncunun kulaklarına ulaşmadan önce onları yıkıcı olmayan bir şekilde değiştirme veya geliştirme olanağı sağlar. Bu efektleri, sesinizi deneyimler içinde daha etkileyici hale getirmek için uygulayabilirsiniz; örneğin, yağmurun boğuk ses çıkması için bir AudioEqualizer nesnesi kullanmak, bir sesin maksimum ses seviyesini kontrol etmek için bir AudioCompressor nesnesi veya iç mekanlarda sesin daha gerçekçi yansımalarını eklemek için AudioReverb kullanmak.
Ses efektlerini nasıl yapılandıracağınız ve sesinizi özelleştirdikten sonraki ve önceki yan yana karşılaştırmalar için Ses efektleri kılavuzuna bakın.


Ses tetikleme
Bir betikten bağlamlı olarak ses tetiklemek için, doğru bir şekilde bağlanmış bir AudioPlayer nesnesinde Play() çağrısını yapabilirsiniz. Örneğin, bir betiği bir ses oynatıcıya bağlarsanız, ses varlığını şöyle tetikleyebilirsiniz:
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 ses tetiklemek için daha karmaşık kod örnekleri için 2D ses ekleme, 3D ses ekleme ve metinden sesli ses ekleme kılavuzlarına bakın.