Gli oggetti audio modulari di Roblox ti consentono di avere un controllo dinamico su suoni e chat vocale nelle tue esperienze. Quasi ogni oggetto audio corrisponde a un dispositivo audio del mondo reale e tutti funzionano insieme per catturare e riprodurre audio come i loro omologhi fisici.
Ad esempio, ogni oggetto audio rientra concettualmente nelle seguenti categorie:
- Oggetti che producono flussi audio, come i lettori audio.
- Oggetti che consumano flussi audio, come i diffusori audio.
- Oggetti che modificano flussi audio, come gli effetti audio.
- Oggetti che trasportano flussi audio da un oggetto audio a un altro, come i cavi.
Man mano che leggi questo guida e apprendi come tutti questi oggetti audio funzionano insieme per emettere suono, imparerai a catturare e fornire accuratamente musica, effetti sonori e la voce umana dall'esperienza al giocatore e viceversa.
Riproduci audio
Per riprodurre audio all'interno della tua esperienza, è importante comprendere il ruolo di ciascun oggetto audio disponibile:
- Un AudioPlayer carica e riproduce il file audio utilizzando un ID di asset audio specificato.
- Un AudioEmitter è un altoparlante virtuale che emette audio nell'ambiente 3D.
- Un AudioListener è un microfono virtuale che cattura audio dall'ambiente 3D.
- Un AudioDeviceOutput è un dispositivo hardware fisico nel mondo reale, come un altoparlante o delle cuffie.
- Un AudioDeviceInput è un microfono fisico nel mondo reale.
- L'oggetto AudioTextToSpeech converte il testo in audio utilizzando una voce umana artificiale.
- L'oggetto AudioSpeechToText converte audio parlato in testo.
- Un Wire trasporta flussi audio da un oggetto audio a un altro.
Come abbini questi oggetti audio dipende da se desideri emettere audio direttamente allo speaker o alle cuffie del giocatore oppure da oggetti nello spazio 3D. Le sezioni seguenti descrivono entrambi gli scenari.
Audio 2D
L'audio 2D è un suono non direzionale che viene riprodotto da nessuna posizione specifica, mantenendo lo stesso volume indipendentemente dalla posizione o orientamento del giocatore nello spazio 3D. Questo tipo di audio richiede tre oggetti audio:
- Un lettore audio per produrre un flusso audio.
- Un dispositivo hardware fisico per riprodurre il flusso audio nel mondo reale.
- Un cavo per trasportare il flusso audio dal lettore audio al dispositivo di output.
Per dimostrare come configurare questi oggetti audio in Studio per l'audio 2D, il seguente diagramma confronta ciascun oggetto con il loro controparte di dispositivo audio del mondo reale. In sintesi:
- Il AudioPlayer carica e riproduce il tuo asset audio con impostazioni specificate.
- Il AudioDeviceOutput consente al giocatore di ascoltare l'audio attraverso il proprio altoparlante o cuffie.
- Il Wire si collega al lettore audio con la sua proprietà SourceInstance, e al dispositivo hardware fisico con la sua proprietà TargetInstance. Funziona quindi come un ponte per trasportare il flusso audio dal lettore audio al dispositivo di output del giocatore.

Per riprodurre audio non direzionale:
- Nella finestra Explorer, vai su SoundService e inserisci quanto segue:
- Un oggetto AudioPlayer per creare una sorgente audio.
- Un oggetto AudioDeviceOutput per creare un altoparlante che riproduce nell'esperienza.
- Un oggetto Wire per collegare il flusso dal lettore audio all'altoparlante.
- Nella finestra Properties dell'oggetto AudioPlayer:
- Imposta AssetID su un ID di asset audio valido. Se non hai un tuo audio personalizzato, puoi trovare asset audio gratuiti nel Creator Store.
- Abilita Looping se desideri che l'audio si ripeta continuamente.
- Imposta Volume sull'unità di ampiezza che desideri utilizzare per riprodurre il tuo audio.
- Nella finestra Properties dell'oggetto Wire:
- Imposta SourceInstance sull'AudioPlayer per specificare che desideri riprodurre l'audio all'interno di questo specifico lettore audio.
- Imposta TargetInstance sull'AudioDeviceOutput per specificare che desideri riprodurre l'audio da questo specifico altoparlante.
Da qui, puoi attivare il tuo audio non direzionale con script per riprodurlo quando i giocatori entrano nell'esperienza o come risultato di un evento di gioco o interazione con l'interfaccia utente. Per esempi di codice per questi casi d'uso, vedi il tutorial Aggiungi audio 2D.
Audio 3D
L'audio 3D è un suono direzionale che viene riprodotto da una posizione particolare nello spazio 3D, aumentando o diminuendo di volume a seconda della posizione e dell'orientamento del giocatore rispetto al suono. Questo tipo di audio richiede sei oggetti audio:
- Un lettore audio per produrre un flusso audio.
- Un diffusore audio per emettere il flusso audio all'interno dell'ambiente.
- Un ascoltatore per captare il flusso audio dall'ambiente.
- Un dispositivo hardware fisico per riprodurre il flusso audio nel mondo reale.
- Due cavi: uno per trasportare il flusso audio dal lettore audio al diffusore, e un altro per portarlo dall'ascoltatore al dispositivo di output.
Per dimostrare come configurare questi oggetti audio in Studio per l'audio 3D, il seguente diagramma confronta ciascun oggetto con il loro controparte di dispositivo audio del mondo reale. In sintesi:
- Il AudioPlayer carica e riproduce il tuo asset audio con impostazioni specificate.
- La posizione del genitore del AudioEmitter nello spazio 3D determina dove emette quell'audio all'interno dell'ambiente.
- Il AudioListener cattura audio dal diffusore dalla camera locale o all'interno della Humanoid.RootPart del personaggio del giocatore, a seconda di dove imposti la posizione predefinita dell'ascoltatore.
- Il AudioDeviceOutput consente al giocatore di ascoltare l'audio attraverso il proprio altoparlante o cuffie.
- Il primo Wire si collega al lettore audio con la sua proprietà SourceInstance, e al diffusore con la sua proprietà TargetInstance. Funziona quindi come un ponte per trasportare il flusso audio dal lettore audio al diffusore.
- Il secondo Wire si collega all'ascoltatore con la sua proprietà SourceInstance, e al dispositivo hardware fisico con la sua proprietà TargetInstance. Funziona quindi come un ponte per trasportare il flusso audio dall'ascoltatore al dispositivo di output del giocatore.

Per riprodurre audio posizionale:
Scegli dove vuoi creare un AudioListener quando i giocatori spawnano nell'esperienza.
- Nella finestra Explorer, seleziona SoundService.
- Nella finestra Properties, imposta ListenerLocation su una delle seguenti opzioni:
- Default - Crea e parenta l'ascoltatore a Workspace.CurrentCamera nelle esperienze che abilitano la chat vocale.
- None - Non crea un ascoltatore. Questa opzione è utile se desideri creare un ascoltatore tramite uno script.
- Character - Crea e parenta un ascoltatore al personaggio del giocatore locale.
- Camera - Crea e parenta l'ascoltatore a Workspace.CurrentCamera.
Nella finestra Explorer, vai all'oggetto 3D da cui desideri emettere audio e inserisci quanto segue:
- Un oggetto AudioPlayer per creare una sorgente audio.
- Un oggetto AudioEmitter per emettere un flusso posizionale dall'oggetto 3D.
- Un oggetto Wire per collegare il flusso dal generatore di audio al diffusore audio.
Nella finestra Properties dell'oggetto AudioPlayer:
- Imposta AssetID su un ID di asset audio valido. Se non hai un tuo audio personalizzato, puoi trovare asset audio gratuiti nel Creator Store.
- Abilita Looping se desideri che l'audio si ripeta continuamente.
- Imposta Volume sull'unità di ampiezza che desideri utilizzare per riprodurre il tuo audio.
Nella finestra Properties dell'oggetto AudioEmitter, imposta DistanceAttenuation su una curva volume-distanza che determina quanto forte l'ascoltatore percepisce il diffusore al variare della distanza tra loro.
Ad esempio, la seguente curva riduce il volume dell'audio della metà quando l'ascoltatore è a 50 stud di distanza dal diffusore, poi diminuisce bruscamente il volume a zero quando l'ascoltatore è a 70 stud di distanza.

Nella finestra Properties dell'oggetto Wire:
- Imposta SourceInstance sull'AudioPlayer per specificare che desideri riprodurre l'audio all'interno di questo specifico lettore audio.
- Imposta TargetInstance sull'AudioEmitter per specificare che desideri riprodurre l'audio da questo specifico diffusore audio.
Da qui, puoi attivare il tuo audio direzionale con script per riprodurlo quando i giocatori entrano nell'esperienza o come risultato di un evento di gioco o interazione con l'interfaccia utente. Per esempi di codice per questi casi d'uso, vedi il tutorial Aggiungi audio 3D.
Da testo a parola
La sintesi vocale (TTS) è una forma di tecnologia assistiva che converte le stringhe di testo in suoni vocali utilizzando una voce artificiale. Questo tipo di audio richiede cinque oggetti audio:
- Un generatore di sintesi vocale per caricare e convertire il testo in audio.
- Un diffusore audio per emettere il flusso audio nell'ambiente.
- Un ascoltatore per captare il flusso audio dall'ambiente.
- Un dispositivo hardware fisico per riprodurre il flusso audio nel mondo reale.
- Per l'audio 2D - Un cavo per trasportare il flusso audio dal generatore di sintesi vocale al dispositivo di output.
- Per l'audio 3D - Due cavi: uno per trasportare il flusso audio dal generatore di sintesi vocale al diffusore, e un altro per portarlo dall'ascoltatore al dispositivo di output.
Come configurare questi oggetti dipende da se desideri creare audio TTS 2D o 3D. Per ulteriori dettagli su ciascun processo, clicca tra le seguenti schede.
Per dimostrare come configurare questi oggetti audio in Studio per l'audio TTS 2D, il seguente diagramma confronta ciascun oggetto con il loro controparte di dispositivo audio del mondo reale. In sintesi:
- L'oggetto AudioTextToSpeech carica e converte le stringhe di testo in suoni vocali.
- Il AudioDeviceOutput consente al giocatore di ascoltare l'audio attraverso il proprio altoparlante o cuffie.
- Il Wire si collega al generatore di sintesi vocale con la sua proprietà SourceInstance, e al dispositivo hardware fisico con la sua proprietà TargetInstance. Funziona quindi come un ponte per trasportare il flusso audio dal generatore di sintesi vocale al dispositivo di output del giocatore.

Per riprodurre audio di sintesi vocale 2D:
Nella finestra Explorer, vai su SoundService e inserisci quanto segue:
- Un oggetto AudioTextToSpeech per creare un generatore di sintesi vocale.
- Un oggetto AudioDeviceOutput per creare un altoparlante che riproduce nell'esperienza.
- Un oggetto Wire per collegare il flusso dal generatore di sintesi vocale all'altoparlante.
Nella finestra Properties dell'oggetto AudioTextToSpeech:
Imposta Text su qualsiasi cosa desideri che la voce dica. C'è un limite di 300 caratteri per richiesta.
Imposta VoiceId su un numero compreso tra 1 e 10, a seconda di quale voce artificiale desideri utilizzare nella seguente tabella.
Elenco delle voci artificialiVoiceID Descrizione della Voce Esempio Audio 1 Maschio britannico 2 Femmina britannica 3 Maschio statunitense #1 4 Femmina statunitense #1 5 Maschio statunitense #2 6 Femmina statunitense #2 7 Maschio australiano 8 Femmina australiana 9 Voce retro #1 10 Voce retro #2 11 Voce narrante 101 Maschio spagnolo 102 Femmina spagnola 201 Maschio tedesco 202 Femmina tedesca 301 Maschio italiano 302 Femmina italiana 401 Maschio francese 402 Femmina francese
Imposta Volume sull'unità di ampiezza che desideri utilizzare per riprodurre il tuo audio.
Nella finestra Properties dell'oggetto Wire:
- Imposta SourceInstance sull'AudioTextToSpeech per specificare che desideri riprodurre l'audio all'interno di questo specifico generatore di sintesi vocale.
- Imposta TargetInstance sull'AudioDeviceOutput per specificare che desideri riprodurre l'audio da questo specifico altoparlante.
Da qui, puoi attivare il tuo audio TTS con script. Per esempi di codice referenziali per l'audio TTS, inclusa la configurazione di una sintesi vocale contestuale che si adatta in relazione al giocatore, allo stato del proprio ambiente o allo stato di gioco, vedi il tutorial Aggiungi sintesi vocale.
Dalla parola al testo
Dalla parola al testo (STT) è una forma di tecnologia che genera automaticamente stringhe di testo dai suoni vocali. Questo tipo di audio richiede tre oggetti audio:
- Un generatore di testo per caricare e convertire audio in testo.
- Un dispositivo hardware fisico come un microfono per catturare l'input audio.
- Un cavo per trasportare il flusso audio dal dispositivo di input al generatore di testo.
Tutti questi oggetti audio lavorano insieme per generare testo STT in risposta ad azioni del giocatore. Ad esempio, se il giocatore indossa un auricolare mentre gioca con il proprio laptop:
- Il AudioDeviceInput cattura il parlato del giocatore, parlato nel proprio microfono e come flusso audio.
- Il AudioSpeechToText converte il parlato del giocatore in testo.
- L'esperienza legge questo testo ed esegue un'azione, come visualizzare il testo parlato sullo schermo o aprire una porta su comando del giocatore.

Per implementare la traduzione del parlato in testo nella tua esperienza:
- Abilita l'uso dell'ultima API per la voce.
- Nella finestra Explorer, seleziona il VoiceChatService.
- Nella finestra Properties, imposta UseAudioApi su Enabled.
- Nella finestra Explorer, vai su SoundService e inserisci quanto segue:
- Un AudioDeviceInput per catturare il parlato.
- Un AudioSpeechToText per convertire il parlato in testo.
- Un Wire per trasportare il flusso dal dispositivo di input audio all'istanza STT.
- Nella finestra Properties dell'oggetto AudioSpeechToText, imposta lo stato Enabled su attivato.
- Nella finestra Properties dell'oggetto Wire:
- Imposta SourceInstance sul tuo nuovo AudioDeviceInput per specificare che desideri che il cavo trasporti audio da questa specifica istanza audio.
- Imposta TargetInstance sul tuo nuovo AudioSpeechToText per specificare che desideri che il cavo porti audio a questa specifica istanza audio.
- Imposta la proprietà Player del dispositivo di input audio sul giocatore locale durante il runtime con audioDeviceInput.Player = game.Players.LocalPlayer. Questo dice a Roblox da quale microfono dell'utente catturare audio.
Dopo aver configurato STT nella tua esperienza, puoi attivarlo con script. Per esempi di codice referenziali, vedi il tutorial Aggiungi dalla parola al testo.
Lingue supportate
Non è necessaria alcuna configurazione per abilitare le lingue supportate. Roblox rileva automaticamente la lingua parlata dall'audio e la trascrive.
STT supporta le seguenti lingue:
- Arabo
- Cinese (Sempliificato)
- Cinese (Tradizionale)
- Inglese
- Francese
- Tedesco
- Indonesiano
- Italiano
- Giapponese
- Coreano
- Polacco
- Portoghese
- Spagnolo
- Russo
- Turco
- Thai
- Vietnamesi
Filtra le parole simili
Quando implementi STT nella tua esperienza, potresti voler migliorare la precisione del riconoscimento filtrando le parole che suonano simili a quelle che desideri realmente che il giocatore dica. Per fare questo, puoi confrontare le parole riconosciute da AudioSpeechToText con elenchi di parole conosciuti:
- Sanitizza e tokenizza l'output Text di AudioSpeechToText per creare una tabella di stringhe minuscole che possono essere analizzate e confrontate.
- Rimuovi i caratteri di punteggiatura.
- Converte l'intera stringa in minuscolo.
- Dividi la stringa per spazi bianchi per produrre una tabella di parole.
- Genera tabelle candidati per preparare le tue stringhe al confronto.
- Sanitizza e tokenizza ogni stringa di riferimento.
- Memorizza queste parole elaborate in una tabella separata.
- Confronta e abbina le parole in entrambe le tabelle per riconoscere gli input vocali che sono vicini alle tue frasi target, anche se includono piccole variazioni.
- Per controlli semplici, verifica se le stringhe sono esattamente le stesse.
- Per un riconoscimento più flessibile, puoi scrivere logiche personalizzate per accettare sostituzioni (come "colour" anziché "color") o abbinare un sottoinsieme di parole e calcolare un punteggio di somiglianza.
Personalizza audio
Gli effetti audio ti consentono di modificare o migliorare in modo non distruttivo i flussi audio prima che raggiungano le orecchie di un giocatore. Puoi applicare questi effetti per rendere il tuo audio più coinvolgente all'interno delle esperienze, come utilizzare un oggetto AudioEqualizer per rendere la pioggia meno chiara, un oggetto AudioCompressor per controllare il massimo volume di un suono, o AudioReverb per aggiungere riflessioni sonore più realistiche negli spazi interni.
Per istruzioni su come configurare gli effetti audio, così come confronti affiancati di prima e dopo aver personalizzato il tuo audio, vedi Effetti audio.


Attiva audio
Puoi attivare audio contestualmente da uno script chiamando Play() su un oggetto AudioPlayer che è correttamente cablato. Ad esempio, se parenti uno script a un lettore audio, puoi attivare l'asset audio tramite qualcosa del genere:
local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)
Per esempi di codice più complessi per attivare audio, come per feedback di gioco, interazioni dell'interfaccia utente e rumori di fondo ripetuti, vedi i tutorial Aggiungi audio 2D, Aggiungi audio 3D, e Aggiungi sintesi vocale.