Audio-objecten

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.

De modulaire audio-objecten van Roblox stellen je in staat om dynamische controle te hebben over geluid en spraakchat in je ervaringen. Bijna elk audio-object komt overeen met een echt audio-apparaat, en ze functioneren allemaal samen om audio vast te leggen en af te spelen zoals hun fysieke tegenhangers.

Bijvoorbeeld, elk audio-object valt conceptueel in de volgende categorieën:

  • Objecten die audio streams produceren, zoals audio-spelers.
  • Objecten die audio streams consumeren, zoals audio-emitters.
  • Objecten die audio streams wijzigen, zoals audio-effecten.
  • Objecten die audio streams van het ene audio-object naar het andere dragen, zoals draden.

Terwijl je deze gids doorleest en leert hoe al deze audio-objecten samenwerken om geluid uit te zenden, zul je leren hoe je muziek, geluidseffecten en de menselijke stem nauwkeurig kunt vastleggen en doorgeven van de ervaring naar de speler en vice versa.

Audio afspelen

Om audio binnen je ervaring af te spelen, is het belangrijk om de rol van elk beschikbaar audio-object te begrijpen:

  • Een AudioPlayer laadt en speelt het audio-bestand met behulp van een vast audio-assets ID.
  • Een AudioEmitter is een virtuele luidspreker die audio in de 3D-omgeving uitzendt.
  • Een AudioListener is een virtuele microfoon die audio uit de 3D-omgeving oppikt.
  • Een AudioDeviceOutput is een fysiek hardware-apparaat in de echte wereld, zoals een luidspreker of hoofdtelefoon.
  • Een AudioDeviceInput is een fysieke microfoon in de echte wereld.
  • Het AudioTextToSpeech object converteert tekst naar audio met behulp van een kunstmatige menselijke stem.
  • Het AudioSpeechToText object converteert gesproken audio naar tekst.
  • Een Wire draagt audio-streams van het ene audio-object naar het andere.

Hoe je deze audio-objecten samenvoegt, hangt af van of je audio rechtstreeks naar de luidspreker of hoofdtelefoon van de speler wilt uitzenden of vanuit objecten in de 3D-ruimte. De volgende secties beschrijven beide scenario's.

2D audio

2D audio is niet-directioneel geluid dat vanuit geen specifieke locatie speelt, en blijft op hetzelfde volume ongeacht de positie of oriëntatie van de speler in de 3D-ruimte. Dit type audio vereist drie audio-objecten:

  • Een audio-speler om een audio-stream te produceren.
  • Een fysiek hardware-apparaat om de audio-stream in de echte wereld af te spelen.
  • Een draad om de audio-stream van de audio-speler naar het uitvoerapparaat te dragen.

Om te demonstreren hoe je deze audio-objecten in Studio configureert voor 2D audio, vergelijkt het volgende diagram elk object met hun echte wereld audio-apparaat tegenhanger. Samengevat:

  • De AudioPlayer laadt en speelt je audio-assets met gespecificeerde instellingen.
  • De AudioDeviceOutput stelt de speler in staat om de audio via hun luidspreker of hoofdtelefoon te horen.
  • De Wire verbindt met de audio-speler via zijn SourceInstance eigenschap, en met het fysieke hardware-apparaat via zijn TargetInstance eigenschap. Het fungeert dan als een brug om de audio-stream van de audio-speler naar het uitvoerapparaat van de speler te dragen.

Om niet-directionele audio af te spelen:

  1. In het Explorer venster, ga naar SoundService en voeg het volgende toe:
    1. Een AudioPlayer object om een audio-bron te creëren.
    2. Een AudioDeviceOutput object om een luidspreker te creëren die door de ervaring heen speelt.
    3. Een Wire object om de stream van de audio-speler naar de luidspreker te verbinden.
  2. In het Properties venster van het AudioPlayer object:
    1. Stel AssetID in op een geldig audio-assets ID. Als je geen eigen aangepaste audio hebt, kun je gratis te gebruiken audio-assets vinden in de Creator Store.
    2. Schakel Looping in als je wilt dat je audio continu herhaald wordt.
    3. Stel Volume in op de eenheid van amplitude die je wilt gebruiken om je audio af te spelen.
  3. In het Properties venster van het Wire object:
    1. Stel SourceInstance in op de AudioPlayer om aan te geven dat je de audio binnen deze specifieke audio-speler wilt afspelen.
    2. Stel TargetInstance in op de AudioDeviceOutput om aan te geven dat je de audio van deze specifieke luidspreker wilt afspelen.

Van hieruit kun je je niet-directionele audio activeren met scripts om het af te spelen wanneer spelers de ervaring betreden of als gevolg van een gameplay-evenement of UI-interactie. Voor codevoorbeeldreferenties voor deze gebruikssituaties, zie de Voeg 2D audio toe tutorial.

3D audio

3D audio is directioneel geluid dat vanuit een specifieke locatie in de 3D-ruimte speelt, en dat in volume toeneemt of afneemt afhankelijk van de positie en oriëntatie van de speler ten opzichte van het geluid. Dit type audio vereist zes audio-objecten:

  • Een audio-speler om een audio-stream te produceren.
  • Een audio-emitter om de audio-stream binnen de omgeving uit te zenden.
  • Een luisteraar om de audio-stream uit de omgeving op te pikken.
  • Een fysiek hardware-apparaat om de audio-stream in de echte wereld af te spelen.
  • Twee draden: één om de audio-stream van de audio-speler naar de emitter te dragen, en een andere om deze van de luisteraar naar het uitvoerapparaat te dragen.

Om te demonstreren hoe je deze audio-objecten in Studio configureert voor 3D audio, vergelijkt het volgende diagram elk object met hun echte wereld audio-apparaat tegenhanger. Samengevat:

  • De AudioPlayer laadt en speelt je audio-assets met gespecificeerde instellingen.
  • De positie van de ouder van de AudioEmitter in de 3D-ruimte bepaalt waar dat audio binnen de omgeving uitzendt.
  • De AudioListener pikt audio op van de emitter vanuit de lokale camera of binnen het Humanoid.RootPart van het speler-personage, afhankelijk van waar je de standaard luisteraarpositie instelt.
  • De AudioDeviceOutput stelt de speler in staat om de audio via hun luidspreker of hoofdtelefoon te horen.
  • De eerste Wire verbindt met de audio-speler via zijn SourceInstance eigenschap, en met de emitter via zijn TargetInstance eigenschap. Het fungeert dan als een brug om de audio-stream van de audio-speler naar de emitter te dragen.
  • De tweede Wire verbindt met de luisteraar via zijn SourceInstance eigenschap, en met het fysieke hardware-apparaat via zijn TargetInstance eigenschap. Het fungeert dan als een brug om de audio-stream van de luisteraar naar het uitvoerapparaat van de speler te dragen.

Om positionele audio af te spelen:

  1. Kies waar je een AudioListener wilt creëren wanneer spelers in de ervaring spawnen.

    1. In het Explorer venster, selecteer SoundService.
    2. In het Properties venster, stel ListenerLocation in op een van de volgende opties:
      • Default - Creëert en plaatst de luisteraar onder Workspace.CurrentCamera in ervaringen die spraakchat inschakelen.
      • None - Creëert geen luisteraar. Deze optie is nuttig als je een luisteraar via een script wilt creëren.
      • Character - Creëert en plaatst een luisteraar onder het lokale speler-personage.
      • Camera - Creëert en plaatst de luisteraar onder Workspace.CurrentCamera.
  2. In het Explorer venster, ga naar het 3D-object waarvan je audio wilt uitzenden en voeg het volgende toe:

    1. Een AudioPlayer object om een audio-bron te creëren.
    2. Een AudioEmitter object om een positionele stream van het 3D-object uit te zenden.
    3. Een Wire object om de stream van de audio-speler naar de audio-emitter te verbinden.
  3. In het Properties venster van het AudioPlayer object:

    1. Stel AssetID in op een geldig audio-assets ID. Als je geen eigen aangepaste audio hebt, kun je gratis te gebruiken audio-assets vinden in de Creator Store.
    2. Schakel Looping in als je wilt dat je audio continu herhaald wordt.
    3. Stel Volume in op de eenheid van amplitude die je wilt gebruiken om je audio af te spelen.
  4. In het Properties venster van het AudioEmitter object, stel DistanceAttenuation in op een volume-over-afstand curve die bepaalt hoe luid de luisteraar de emitter hoort afhankelijk van de afstand tussen hen.

    Bijvoorbeeld, de volgende curve vermindert het volume van de audio met de helft wanneer de luisteraar 50 studs van de emitter verwijderd is, en vermindert dan scherp het volume tot nul wanneer de luisteraar 70 studs verwijderd is.

  5. In het Properties venster van het Wire object:

    1. Stel SourceInstance in op de AudioPlayer om aan te geven dat je de audio binnen deze specifieke audio-speler wilt afspelen.
    2. Stel TargetInstance in op de AudioEmitter om aan te geven dat je de audio van deze specifieke audio-emitter wilt afspelen.

Van hieruit kun je je directionele audio activeren met scripts om het af te spelen wanneer spelers de ervaring betreden of als gevolg van een gameplay-evenement of UI-interactie. Voor codevoorbeeldreferenties voor deze gebruikssituaties, zie de Voeg 3D audio toe tutorial.

Tekst-naar-spraak

Tekst-naar-spraak (TTS) is een vorm van assistieve technologie die tekststrings omzet in spraakgeluiden met behulp van een kunstmatige stem. Dit type audio vereist vijf audio-objecten:

  • Een audio-spraakgenerator om tekst te laden en om te zetten in audio.
  • Een audio-emitter om de audio-stream binnen de omgeving uit te zenden.
  • Een luisteraar om de audio-stream uit de omgeving op te pikken.
  • Een fysiek hardware-apparaat om de audio-stream in de echte wereld af te spelen.
  • Voor 2D audio - Een draad om de audio-stream van de audio-spraakgenerator naar het uitvoerapparaat te dragen.
  • Voor 3D audio - Twee draden: één om de audio-stream van de audio-spraakgenerator naar de emitter te dragen, en een andere om deze van de luisteraar naar het uitvoerapparaat te dragen.

Hoe je deze objecten configureert, hangt af van of je 2D TTS-audio of 3D TTS-audio wilt creëren. Voor meer details over elk proces, klik tussen de volgende tabbladen.

Om te demonstreren hoe je deze audio-objecten in Studio configureert voor 2D TTS-audio, vergelijkt het volgende diagram elk object met hun echte wereld audio-apparaat tegenhanger. Samengevat:

  • Het AudioTextToSpeech object laadt en zet tekststrings om in spraakgeluiden.
  • De AudioDeviceOutput stelt de speler in staat om de audio via hun luidspreker of hoofdtelefoon te horen.
  • De Wire verbindt met de audio-spraakgenerator via zijn SourceInstance eigenschap, en met het fysieke hardware-apparaat via zijn TargetInstance eigenschap. Het fungeert dan als een brug om de audio-stream van de audio-spraakgenerator naar het uitvoerapparaat van de speler te dragen.

Om 2D tekst-naar-spraak audio af te spelen:

  1. In het Explorer venster, ga naar SoundService en voeg het volgende toe:
    1. Een AudioTextToSpeech object om een audio-spraakgenerator te creëren.
    2. Een AudioDeviceOutput object om een luidspreker te creëren die door de ervaring heen speelt.
    3. Een Wire object om de stream van de audio-spraakgenerator naar de luidspreker te verbinden.
  2. In het Properties venster van het AudioTextToSpeech object:
    1. Stel Text in op alles wat je wilt dat de stem zegt. Er is een limiet van 300 tekens per verzoek.
    2. Stel VoiceId in op het nummer van de kunstmatige stem die je wilt gebruiken. Voor een volledige lijst van beschikbare stemmen, zie de lijst van kunstmatige stemmen.
    3. Stel Volume in op de eenheid van amplitude die je wilt gebruiken om je audio af te spelen.
  3. In het Properties venster van het Wire object:
    1. Stel SourceInstance in op de AudioTextToSpeech om aan te geven dat je de audio binnen deze specifieke audio-spraakgenerator wilt afspelen.
    2. Stel TargetInstance in op de AudioDeviceOutput om aan te geven dat je de audio van deze specifieke luidspreker wilt afspelen.

Van hieruit kun je je TTS-audio activeren met scripts. Voor codevoorbeeldreferenties voor TTS-audio, inclusief hoe je contextbewuste TTS configureert die zich aanpast aan de speler, de staat van hun omgeving of gameplay-status, zie de Voeg tekst-naar-spraak toe tutorial.

Het creëren van tekst-naar-spraak-assets

In sommige gevallen wil je misschien dezelfde spraak meerdere keren hergebruiken. In plaats van de API elke keer aan te roepen, kun je een tekst-naar-spraak audio-assets genereren om in je spel te gebruiken met AssetService:CreateAssetAsync().

Lijst van kunstmatige stemmen

VoiceIDStem BeschrijvingAudio Voorbeeld
1Britse man
2Britse vrouw
3Verenigde Staten man #1
4Verenigde Staten vrouw #1
5Verenigde Staten man #2
6Verenigde Staten vrouw #2
7Australische man
8Australische vrouw
9Retro stem #1
10Retro stem #2
11Verteller stem
101Spaanse man
102Spaanse vrouw
201Duitse man
202Duitse vrouw
301Italiaanse man
302Italiaanse vrouw
401Franse man
402Franse vrouw
501Chinees (Mandarijn) man
502Chinees (Mandarijn) vrouw
601Hindi man
602Hindi vrouw
701Japanse man
702Japanse vrouw
801Arabische man
802Arabische vrouw
901Koreaanse man
902Koreaanse vrouw
1001Portugese man
1002Portugese vrouw

Ondersteunde talen

Standaard vertaalt Roblox automatisch tekstinvoer naar de taal van de speler en leidt de vertaalde tekst naar de juiste stem-ID. Leer meer over hoe dit werkt in AudioTextToSpeech.AutoLocalize.

Spraak-naar-tekst

Spraak-naar-tekst (STT) is een vorm van technologie die automatisch tekststrings genereert uit spraakgeluiden. Dit type audio vereist drie audio-objecten:

  • Een tekstgenerator om audio te laden en om te zetten in tekst.
  • Een fysiek hardware-apparaat zoals een microfoon om de audio-invoer vast te leggen.
  • Een draad om de audio-stream van het invoerapparaat naar de tekstgenerator te dragen.

Al deze audio-objecten werken samen om STT-tekst te genereren als reactie op acties van de speler. Bijvoorbeeld, als de speler een headset draagt terwijl hij speelt met hun laptop:

  • De AudioDeviceInput legt de spraak van de speler vast, zoals gesproken in hun microfoon en als een audio-stream.
  • Een Wire draagt de audio-stream van de AudioDeviceInput naar de AudioSpeechToText.
  • De AudioSpeechToText zet de spraak van de speler om in tekst.
  • De ervaring leest deze tekst en voert een actie uit, zoals het weergeven van de gesproken tekst op het scherm of het openen van een deur op commando van de speler.

Om spraak-naar-tekst in je ervaring te implementeren:

  1. Schakel het gebruik van de nieuwste API voor spraak in.
    1. In het Explorer venster, selecteer de VoiceChatService.
    2. In het Properties venster, stel UseAudioApi in op Enabled.
  2. In het Explorer venster, ga naar SoundService en voeg het volgende toe:
    1. Een AudioDeviceInput om spraak vast te leggen.
    2. Een AudioSpeechToText om de spraak om te zetten in tekst.
    3. Een Wire om de stream van het audio-apparaatinvoer naar de STT-instantie te dragen.
  3. In het Properties venster van het AudioSpeechToText object, stel de Enabled status in op aan.
  4. In het Properties venster van het Wire object:
    1. Stel SourceInstance in op je nieuwe AudioDeviceInput om aan te geven dat je wilt dat de draad audio van deze specifieke audio-instantie draagt.
    2. Stel TargetInstance in op je nieuwe AudioSpeechToText om aan te geven dat je wilt dat de draad audio naar deze specifieke audio-instantie draagt.
  5. Stel de Player eigenschap van het audio-apparaatinvoer in op de lokale speler tijdens runtime met audioDeviceInput.Player = game.Players.LocalPlayer. Dit vertelt Roblox van welke gebruiker de microfoon audio moet vastleggen.

Na het instellen van STT in je ervaring, kun je het activeren met scripts. Voor codevoorbeeldreferenties, zie de Voeg spraak-naar-tekst toe tutorial.

Ondersteunde talen

Er is geen configuratie vereist om ondersteunde talen in te schakelen. Roblox detecteert automatisch de gesproken taal uit de audio en transcribeert deze.

STT ondersteunt de volgende talen:

  • Arabisch
  • Chinees (Vereenvoudigd)
  • Chinees (Traditioneel)
  • Engels
  • Frans
  • Duits
  • Indonesisch
  • Italiaans
  • Japans
  • Koreaans
  • Pools
  • Portugees
  • Spaans
  • Russisch
  • Turks
  • Thais
  • Vietnamees

Filteren op vergelijkbare woorden

Wanneer je STT in je ervaring implementeert, wil je misschien de nauwkeurigheid van de matching verbeteren door te filteren op woorden die vergelijkbaar klinken met de woorden die je daadwerkelijk wilt dat de speler zegt. Om dit te doen, kun je de woorden die door AudioSpeechToText worden herkend vergelijken met bekende woordenlijsten:

  1. Sanitize en tokenize de Text output van AudioSpeechToText om een tabel van kleine letters strings te creëren die kunnen worden geparsed en vergeleken.
    1. Verwijder leestekens.
    2. Zet de hele string om naar kleine letters.
    3. Splits de string op witruimtes om een tabel van woorden te produceren.
  2. Genereer kandidaat-tabellen om je strings voor vergelijking voor te bereiden.
    1. Sanitize en tokenize elke referentiestring.
    2. Sla deze verwerkte woorden op in een aparte tabel.
  3. Vergelijk en match de woorden in beide tabellen om de spraakinputs te herkennen die dicht bij je doelzinnen liggen, zelfs als ze kleine variaties bevatten.
    • Voor eenvoudige controles, controleer of de strings exact hetzelfde zijn.
    • Voor meer flexibele matching kun je aangepaste logica schrijven om vervangingen te accepteren (zoals "kleur" in plaats van "color") of een subset van woorden te matchen en een gelijkenisscore te berekenen.

Audio aanpassen

Audio-effecten stellen je in staat om audio-streams niet-destructief te wijzigen of te verbeteren voordat ze de oren van een speler bereiken. Je kunt deze effecten toepassen om je audio meeslepender te maken binnen ervaringen, zoals het gebruik van een AudioEqualizer object om regen gedempt te laten klinken, een AudioCompressor object om het maximale volume van een geluid te regelen, of AudioReverb om realistischere geluidsecho's in binnenruimtes toe te voegen.

Voor instructies over hoe je audio-effecten configureert, evenals zij-aan-zij vergelijkingen van voor en na je audio aan te passen, zie Audio-effecten.

Audio activeren

Je kunt audio contextueel activeren vanuit een script door Play() aan te roepen op een AudioPlayer object dat correct is aangesloten. Bijvoorbeeld, als je een script aan een audio-speler plaatst, kun je de audio-assets activeren via iets als dit:

local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)

Voor meer complexe codevoorbeelden om audio te activeren, zoals voor gameplay-feedback, UI-interacties en herhalend achtergrondgeluid, zie de Voeg 2D audio toe, Voeg 3D audio toe, en Voeg tekst-naar-spraak toe tutorials.

©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.