Objek audio modular Roblox memungkinkan Anda untuk memiliki kontrol dinamis atas suara dan obrolan suara dalam pengalaman Anda. Hampir setiap objek audio sesuai dengan perangkat audio dunia nyata, dan semuanya berfungsi bersama untuk menangkap dan memutar audio seperti rekan fisiknya.
Sebagai contoh, setiap objek audio secara konseptual jatuh ke dalam kategori berikut:
- Objek yang menghasilkan aliran audio, seperti pemutar audio.
- Objek yang mengonsumsi aliran audio, seperti pemancar audio.
- Objek yang memodifikasi aliran audio, seperti efek audio.
- Objek yang mengangkut aliran audio dari satu objek audio ke objek lainnya, seperti kabel.
Saat Anda membaca panduan ini dan mempelajari bagaimana semua objek audio ini bekerja sama untuk memancarkan suara, Anda akan belajar bagaimana menangkap dan memberi umpan musik, efek suara, dan suara manusia dari pengalaman ke pemain dan sebaliknya.
Memutar audio
Untuk memutar audio dalam pengalaman Anda, penting untuk memahami peran masing-masing objek audio yang tersedia:
- AudioPlayer memuat dan memutar file audio menggunakan ID aset audio yang ditentukan.
- AudioEmitter adalah speaker virtual yang memancarkan audio ke dalam lingkungan 3D.
- AudioListener adalah mikrofon virtual yang menangkap audio dari lingkungan 3D.
- AudioDeviceOutput adalah perangkat keras fisik di dunia nyata, seperti speaker atau headphone.
- AudioDeviceInput adalah mikrofon fisik di dunia nyata.
- Objek AudioTextToSpeech mengubah teks menjadi audio menggunakan suara manusia buatan.
- Objek AudioSpeechToText mengubah audio yang diucapkan menjadi teks.
- Wire mengangkut aliran audio dari satu objek audio ke objek lainnya.
Bagaimana Anda menggabungkan objek audio ini tergantung pada apakah Anda ingin memancarkan audio langsung ke speaker atau headphone pemain atau dari objek di ruang 3D. Bagian berikut merinci kedua skenario tersebut.
Audio 2D
Audio 2D adalah suara non-arah yang diputar dari lokasi tertentu, tetap pada volume yang sama terlepas dari posisi atau orientasi pemain di ruang 3D. Jenis audio ini memerlukan tiga objek audio:
- Pemutar audio untuk menghasilkan aliran audio.
- Perangkat keras fisik untuk memutar aliran audio di dunia nyata.
- Kabel untuk mengangkut aliran audio dari pemutar audio ke perangkat output.
Untuk menunjukkan cara mengonfigurasi objek audio ini di Studio untuk audio 2D, diagram berikut membandingkan setiap objek dengan rekan perangkat audio dunia nyata mereka. Singkatnya:
- AudioPlayer memuat dan memutar aset audio Anda dengan pengaturan yang ditentukan.
- AudioDeviceOutput memungkinkan pemain mendengar audio melalui speaker atau headphone mereka.
- Wire terhubung ke pemutar audio dengan properti SourceInstance-nya, dan ke perangkat keras fisik dengan properti TargetInstance-nya. Ini kemudian bertindak sebagai jembatan untuk mengangkut aliran audio dari pemutar audio ke perangkat output pemain.

Untuk memutar audio non-arah:
- Di jendela Explorer, pergi ke SoundService dan masukkan yang berikut:
- Objek AudioPlayer untuk membuat sumber audio.
- Objek AudioDeviceOutput untuk membuat speaker yang memutar di seluruh pengalaman.
- Objek Wire untuk menghubungkan aliran dari pemutar audio ke speaker.
- Di jendela Properties dari objek AudioPlayer:
- Atur AssetID ke ID aset audio yang valid. Jika Anda tidak memiliki audio kustom Anda sendiri, Anda dapat menemukan aset audio gratis di Creator Store.
- Aktifkan Looping jika Anda ingin audio Anda terus diulang.
- Atur Volume ke unit amplitudo yang ingin Anda mainkan audio Anda.
- Di jendela Properties dari objek Wire:
- Atur SourceInstance ke AudioPlayer untuk menentukan bahwa Anda ingin memutar audio dalam pemutar audio spesifik ini.
- Atur TargetInstance ke AudioDeviceOutput untuk menentukan bahwa Anda ingin memutar audio dari speaker spesifik ini.
Dari sini, Anda dapat memicu audio non-arah Anda dengan skrip untuk memutar saat pemain bergabung dengan pengalaman atau sebagai hasil dari peristiwa permainan atau interaksi UI. Untuk referensi contoh kode untuk kasus penggunaan ini, lihat tutorial Add 2D audio.
Audio 3D
Audio 3D adalah suara arah yang diputar dari lokasi tertentu di ruang 3D, meningkat atau menurun dalam volume tergantung pada posisi dan orientasi pemain terhadap suara. Jenis audio ini memerlukan enam objek audio:
- Pemutar audio untuk menghasilkan aliran audio.
- Pemancar audio untuk memancarkan aliran audio dalam lingkungan.
- Pendengar untuk menangkap aliran audio dari lingkungan.
- Perangkat keras fisik untuk memutar aliran audio di dunia nyata.
- Dua kabel: satu untuk mengangkut aliran audio dari pemutar audio ke pemancar, dan satu lagi untuk mengangkutnya dari pendengar ke perangkat output.
Untuk menunjukkan cara mengonfigurasi objek audio ini di Studio untuk audio 3D, diagram berikut membandingkan setiap objek dengan rekan perangkat audio dunia nyata mereka. Singkatnya:
- AudioPlayer memuat dan memutar aset audio Anda dengan pengaturan yang ditentukan.
- Posisi induk AudioEmitter di ruang 3D menentukan di mana audio tersebut dipancarkan dalam lingkungan.
- AudioListener baik menangkap audio dari pemancar dari kamera lokal atau dari Humanoid.RootPart karakter pemain, tergantung pada di mana Anda mengatur posisi pendengar default.
- AudioDeviceOutput memungkinkan pemain mendengar audio melalui speaker atau headphone mereka.
- Kabel Wire pertama terhubung ke pemutar audio dengan properti SourceInstance-nya, dan ke pemancar dengan properti TargetInstance-nya. Ini kemudian bertindak sebagai jembatan untuk mengangkut aliran audio dari pemutar audio ke pemancar.
- Kabel Wire kedua terhubung ke pendengar dengan properti SourceInstance-nya, dan ke perangkat keras fisik dengan properti TargetInstance-nya. Ini kemudian bertindak sebagai jembatan untuk mengangkut aliran audio dari pendengar ke perangkat output pemain.

Untuk memutar audio posisi:
Pilih di mana Anda ingin membuat AudioListener saat pemain muncul ke dalam pengalaman.
- Di jendela Explorer, pilih SoundService.
- Di jendela Properties, atur ListenerLocation ke salah satu dari yang berikut:
- Default - Membuat dan menginduk listener ke Workspace.CurrentCamera dalam pengalaman yang mengaktifkan obrolan suara.
- None - Tidak membuat listener. Opsi ini berguna jika Anda ingin membuat listener melalui skrip.
- Character - Membuat dan menginduk listener ke karakter pemain lokal.
- Camera - Membuat dan menginduk listener ke Workspace.CurrentCamera.
Di jendela Explorer, pergi ke objek 3D yang ingin Anda pancarkan audio dan masukkan yang berikut:
- Objek AudioPlayer untuk membuat sumber audio.
- Objek AudioEmitter untuk memancarkan aliran posisi dari objek 3D.
- Objek Wire untuk menghubungkan aliran dari generator suara audio ke pemancar audio.
Di jendela Properties dari objek AudioPlayer:
- Atur AssetID ke ID aset audio yang valid. Jika Anda tidak memiliki audio kustom Anda sendiri, Anda dapat menemukan aset audio gratis di Creator Store.
- Aktifkan Looping jika Anda ingin audio Anda terus diulang.
- Atur Volume ke unit amplitudo yang ingin Anda mainkan audio Anda.
Di jendela Properties dari objek AudioEmitter, atur DistanceAttenuation ke kurva volume-terhadap-jarak yang menentukan seberapa keras pendengar mendengar pemancar sesuai dengan jarak di antara mereka.
Sebagai contoh, kurva berikut mengurangi volume audio setengah ketika pendengar berjarak 50 stud dari pemancar, kemudian dengan tajam mengurangi volume menjadi nol ketika pendengar berjarak 70 stud.

Di jendela Properties dari objek Wire:
- Atur SourceInstance ke AudioPlayer untuk menentukan bahwa Anda ingin memutar audio dalam pemutar audio spesifik ini.
- Atur TargetInstance ke AudioEmitter untuk menentukan bahwa Anda ingin memutar audio dari pemancar audio spesifik ini.
Dari sini, Anda dapat memicu audio arah Anda dengan skrip untuk memutar saat pemain bergabung dengan pengalaman atau sebagai hasil dari peristiwa permainan atau interaksi UI. Untuk referensi contoh kode untuk kasus penggunaan ini, lihat tutorial Add 3D audio.
Teks-ke-suara
Teks-ke-suara (TTS) adalah bentuk teknologi bantu yang mengubah string teks menjadi suara menggunakan suara buatan. Jenis audio ini memerlukan lima objek audio:
- Generator suara audio untuk memuat dan mengubah teks menjadi audio.
- Pemancar audio untuk memancarkan aliran audio dalam lingkungan.
- Pendengar untuk menangkap aliran audio dari lingkungan.
- Perangkat keras fisik untuk memutar aliran audio di dunia nyata.
- Untuk audio 2D - Sebuah kabel untuk mengangkut aliran audio dari generator suara audio ke perangkat output.
- Untuk audio 3D - Dua kabel: satu untuk mengangkut aliran audio dari generator suara audio ke pemancar, dan satu lagi untuk mengangkutnya dari pendengar ke perangkat output.
Bagaimana Anda mengonfigurasi objek-objek ini tergantung pada apakah Anda ingin membuat audio TTS 2D atau audio TTS 3D. Untuk detail lebih lanjut tentang masing-masing proses, klik di antara tab berikut.
Untuk menunjukkan cara mengonfigurasi objek audio ini di Studio untuk audio TTS 2D, diagram berikut membandingkan setiap objek dengan rekan perangkat audio dunia nyata mereka. Singkatnya:
- Objek AudioTextToSpeech memuat dan mengubah string teks menjadi suara.
- AudioDeviceOutput memungkinkan pemain mendengar audio melalui speaker atau headphone mereka.
- Wire terhubung ke generator suara audio dengan properti SourceInstance-nya, dan ke perangkat keras fisik dengan properti TargetInstance-nya. Ini kemudian bertindak sebagai jembatan untuk mengangkut aliran audio dari generator suara audio ke perangkat output pemain.

Untuk memutar audio teks-ke-suara 2D:
- Di jendela Explorer, pergi ke SoundService dan masukkan yang berikut:
- Objek AudioTextToSpeech untuk membuat generator suara audio.
- Objek AudioDeviceOutput untuk membuat speaker yang memutar di seluruh pengalaman.
- Objek Wire untuk menghubungkan aliran dari generator suara audio ke speaker.
- Di jendela Properties dari objek AudioTextToSpeech:
- Atur Text ke apa pun yang Anda ingin suara katakan. Ada batas 300 karakter per permintaan.
- Atur VoiceId ke nomor suara buatan yang ingin Anda gunakan. Untuk daftar lengkap suara yang tersedia, lihat daftar suara buatan.
- Atur Volume ke unit amplitudo yang ingin Anda mainkan audio Anda.
- Di jendela Properties dari objek Wire:
- Atur SourceInstance ke AudioTextToSpeech untuk menentukan bahwa Anda ingin memutar audio dalam generator suara audio spesifik ini.
- Atur TargetInstance ke AudioDeviceOutput untuk menentukan bahwa Anda ingin memutar audio dari speaker spesifik ini.
Dari sini, Anda dapat memicu audio TTS Anda dengan skrip. Untuk referensi contoh kode untuk audio TTS, termasuk cara mengonfigurasi TTS yang peka konteks yang beradaptasi sehubungan dengan pemain, status lingkungan mereka, atau status permainan, lihat tutorial Add text-to-speech.
Daftar suara buatan
| VoiceID | Deskripsi Suara | Contoh Audio |
|---|---|---|
| 1 | Pria Inggris | |
| 2 | Wanita Inggris | |
| 3 | Pria Amerika Serikat #1 | |
| 4 | Wanita Amerika Serikat #1 | |
| 5 | Pria Amerika Serikat #2 | |
| 6 | Wanita Amerika Serikat #2 | |
| 7 | Pria Australia | |
| 8 | Wanita Australia | |
| 9 | Suara retro #1 | |
| 10 | Suara retro #2 | |
| 11 | Suara pembawa acara | |
| 101 | Pria Spanyol | |
| 102 | Wanita Spanyol | |
| 201 | Pria Jerman | |
| 202 | Wanita Jerman | |
| 301 | Pria Italia | |
| 302 | Wanita Italia | |
| 401 | Pria Prancis | |
| 402 | Wanita Prancis | |
| 501 | Pria Cina (Mandarin) | |
| 502 | Wanita Cina (Mandarin) | |
| 601 | Pria Hindi | |
| 602 | Wanita Hindi | |
| 701 | Pria Jepang | |
| 702 | Wanita Jepang | |
| 801 | Pria Arab | |
| 802 | Wanita Arab | |
| 901 | Pria Korea | |
| 902 | Wanita Korea | |
| 1001 | Pria Portugis | |
| 1002 | Wanita Portugis |
Suara-ke-teks
Suara-ke-teks (STT) adalah bentuk teknologi yang secara otomatis menghasilkan string teks dari suara. Jenis audio ini memerlukan tiga objek audio:
- Generator teks untuk memuat dan mengubah audio menjadi teks.
- Perangkat keras fisik seperti mikrofon untuk menangkap input audio.
- Kabel untuk mengangkut aliran audio dari perangkat input ke generator teks.
Semua objek audio ini bekerja sama untuk menghasilkan teks STT sebagai respons terhadap tindakan pemain. Sebagai contoh, jika pemain mengenakan headset saat bermain pengalaman dengan laptop mereka:
- AudioDeviceInput menangkap ucapan pemain, seperti yang diucapkan ke mikrofon mereka dan sebagai aliran audio.
- AudioSpeechToText mengubah ucapan pemain menjadi teks.
- Pengalaman membaca teks ini dan melakukan tindakan, seperti menampilkan teks yang diucapkan di layar atau membuka pintu atas perintah pemain.

Untuk menerapkan suara-ke-teks dalam pengalaman Anda:
- Aktifkan penggunaan API terbaru untuk suara.
- Di jendela Explorer, pilih VoiceChatService.
- Di jendela Properties, atur UseAudioApi ke Enabled.
- Di jendela Explorer, pergi ke SoundService dan masukkan yang berikut:
- Sebuah AudioDeviceInput untuk menangkap ucapan.
- Sebuah AudioSpeechToText untuk mengubah ucapan menjadi teks.
- Sebuah Wire untuk mengangkut aliran dari perangkat input audio ke instance STT.
- Di jendela Properties dari objek AudioSpeechToText, atur status Enabled ke aktif.
- Di jendela Properties dari objek Wire:
- Atur SourceInstance ke AudioDeviceInput baru Anda untuk menentukan bahwa Anda ingin kabel mengangkut audio dari instance audio spesifik ini.
- Atur TargetInstance ke AudioSpeechToText baru Anda untuk menentukan bahwa Anda ingin kabel mengangkut audio ke instance audio spesifik ini.
- Atur properti Player dari perangkat input audio ke pemain lokal saat runtime dengan audioDeviceInput.Player = game.Players.LocalPlayer. Ini memberi tahu Roblox dari mikrofon pengguna mana yang harus menangkap audio.
Setelah mengatur STT dalam pengalaman Anda, Anda dapat memicunya dengan skrip. Untuk referensi contoh kode, lihat tutorial Add speech-to-text.
Bahasa yang didukung
Tidak ada konfigurasi yang diperlukan untuk mengaktifkan bahasa yang didukung. Roblox secara otomatis mendeteksi bahasa yang diucapkan dari audio dan mentranskripsinya.
STT mendukung bahasa berikut:
- Arab
- Cina (Sederhana)
- Cina (Tradisional)
- Inggris
- Prancis
- Jerman
- Indonesia
- Italia
- Jepang
- Korea
- Polandia
- Portugis
- Spanyol
- Rusia
- Turki
- Thailand
- Vietnam
Filter untuk kata-kata yang mirip
Ketika Anda menerapkan STT dalam pengalaman Anda, Anda mungkin ingin meningkatkan akurasi pencocokan dengan memfilter kata-kata yang terdengar mirip dengan kata-kata yang sebenarnya ingin Anda katakan kepada pemain. Untuk melakukan ini, Anda dapat membandingkan kata-kata yang dikenali oleh AudioSpeechToText dengan daftar kata yang diketahui:
- Sanitasi dan tokenisasi output Text dari AudioSpeechToText untuk membuat tabel string huruf kecil yang dapat diparsing dan dibandingkan.
- Hapus karakter tanda baca.
- Ubah seluruh string menjadi huruf kecil.
- Pisahkan string berdasarkan spasi untuk menghasilkan tabel kata.
- Hasilkan tabel kandidat untuk mempersiapkan string Anda untuk perbandingan.
- Sanitasi dan tokenisasi setiap string referensi.
- Simpan kata-kata yang diproses ini dalam tabel terpisah.
- Bandingkan dan cocokkan kata-kata di kedua tabel untuk mengenali input suara yang mendekati frasa target Anda, bahkan jika mereka termasuk variasi kecil.
- Untuk pemeriksaan sederhana, periksa apakah string persis sama.
- Untuk pencocokan yang lebih fleksibel, Anda dapat menulis logika kustom untuk menerima substitusi (seperti "colour" sebagai ganti "color") atau mencocokkan subset kata dan menghitung skor kesamaan.
Kustomisasi audio
Efek audio memungkinkan Anda untuk memodifikasi atau meningkatkan aliran audio secara non-destruktif sebelum mencapai telinga pemain. Anda dapat menerapkan efek ini untuk membuat audio Anda lebih imersif dalam pengalaman, seperti menggunakan objek AudioEqualizer untuk membuat suara hujan terdengar teredam, objek AudioCompressor untuk mengontrol volume maksimum suara, atau AudioReverb untuk menambahkan lebih banyak pantulan suara yang realistis di ruang interior.
Untuk instruksi tentang cara mengonfigurasi efek audio, serta perbandingan berdampingan sebelum dan setelah Anda menyesuaikan audio Anda, lihat Efek audio.


Memicu audio
Anda dapat memicu audio secara kontekstual dari skrip dengan memanggil Play() pada objek AudioPlayer yang terhubung dengan benar. Misalnya, jika Anda menginduk skrip ke pemutar audio, Anda dapat memicu aset audio melalui sesuatu seperti ini:
local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)Untuk contoh kode yang lebih kompleks untuk memicu audio, seperti untuk umpan balik permainan, interaksi UI, dan kebisingan latar belakang yang berulang, lihat tutorial Add 2D audio, Add 3D audio, dan Add text-to-speech.