Using Sound Links

Disclaimer: The Sound feature introduced in Fantasy Grounds v4.4.0 is currently being refined and we’re improving some menus and options. Screenshots and animations below are accurate for the purposes of these tutorials, but buttons may be in slightly different locations in the most current version. We are working to update this document as changes are made permanent.

Prerequisites

There is some minor preparation necessary to import sounds into Fantasy Grounds Unity.

Important Note about Syrinscape Sound Link Packs

The Sound Link Packs sold in the store are link packs and they do not contain the actual sounds, nor do they grant access to any sounds you do not already own or have the right to play. The requirements for each sound link pack are listed in the product description and most of these will require a Super Syrin subscription with Syrinscape in order to access all the sounds.

Sound link packs are time-saving convenience packs that link content from FGU with content from Syrinscape. You can build these yourself directly in FGU.

Sound - Enable / Disable

Fantasy Grounds Sound can be found by going into the options panel and looking for “Sound: Enable” under the -Game- section. Clicking the checkbox will enable or disable the sound, and clicking the settings button will take you to the sound settings window.

Options with Sound Enabled
Options with Sound Disabled

Sounds Folder

First, you’ll need to create a sounds folder if one doesn’t already exist. This folder must exist in your Fantasy Grounds Data folder and all sounds must be saved there. You can create subfolders within the sounds folder for better organization later.

You can access the Fantasy Grounds Data folder quickly and easily by clicking on the file folder button in the upper-left corner of the Fantasy Grounds Unity main window.

If a sounds folder doesn’t exist along with the rest of the folders in the Fantasy Grounds data , simply create a new folder and name it sounds as shown below. This is where local sound file will be imported later.

NOTE: If you are using the TEST channel in Fantasy Grounds for testing or development, the /sounds directory will have to be created in the <FGData>\channels\Test directory.

This would be the same as the image above, but you would go into /channels, then /Test and create /sounds there.

If you intend to use Syrinscape Sound Packs, you will also need a Syrinscape account. We will cover that in the Importing Audio - Syrinscape section below.

Sound Settings

Sound settings can be accessed either by clicking on the Sound: Context button in the Sidebar, then clicking on Settings in that window, or from the Settings button next to the Sound: Enable option we turned on in Options earlier.

Sound Button → Sound Context Settings Button
Options Button → Sound: Enable → Settings Button

The Sound: Context window is a window to help GM’s control and manage the sounds as you use them in FGU.

The Sound: Settings window is used to Import your local or web-based sounds (Syrinscape), and is used for building a Soundset before a campaign or session.

Importing Audio

By default, no audio files or sounds come with Fantasy Grounds Unity and will need to be imported for use. You can either import local audio files, such as MP3s stored on your local hard drive, or Syrinscape Sound Packs can be imported and used. Below, we’ll cover how to import both types of audio.

Importing Audio - Syrinscape

Creating An Account / Authorization / Web Import

Importing from Syrinscape will require you to have a Syrinscape account, and access to Syrinscape sounds (usually through a SuperSyrin subscription linked below).

https://syrinscape.com/store

Once you have an account, go to the Syrinscape section of Sound: Settings, and then select the Authorization button under System Management. This will open a prompt asking you to copy you Authorization key from your Syrinscape account into the text field.

For easy access to your control panel, you can select the Syrinscape Control Panel button below the
« Authorization Key » field, and it will link you to the login page to reach the Online Control Panel on the Syrinscape website.

NOTE: Since Fantasy Grounds will be sending you to a website in a browser outside of the main Fantasy Grounds Unity applications, you may be prompted to allow FGU to open the URL. You can select Yes To All or Yes as we know this is the website we need to go to.

 

Once you are at your Syrinscape Control Panel, you can select the Copy button for your Authentication Token and paste it into the text field in FGU.

NOTE: You should not give out your authentication token to anyone, and avoid sharing it online or in a video. If you accidentally do give out the information, you can use the Regenerate button on your Syrinscape Control Panel to get a new token. Just make sure to update the Authentication token in FGU to match.

Now that your account has been connected, select the Web Import button to automatically pull all the sound links associated with your Syrinscape account into FGU. This may take a minute if you have a large volume of sounds.

Alternative Method for Updating Syrinscape Sounds

Alternatively, to get a list of all sounds you have access to into FGU, you can go to your Master Interface on the Syrinscape Website, then select the Hamburger menu in the top-right next to your profile icon, and then select the Download Remote Control Links (CSV) option to download a .csv sheet. Click back into Fantasy Grounds Unity and use the CSV Import button under Data Management to find where that file was downloaded, and import via CSV.

Generating a Syrinscape Session for your Players

Next, you will need to create a session for your players to connect to. After your Authentication Token has been set, press Generate from the Web Player Session URL section of the Sound: Settings menu. You will be prompted to allow a URL through. Select Yes, or Yes To All.

If your session was successfully generated, you should see a message in the chat box letting you know the link is now ready to share.

NOTE: Only Generate the Web Player Session URL once - if you do it again, then you'll get a new session ID and will need to use that in all links - so if you've stored any Syrinscape FG link within a Story or Message of the Day entry, these will need to be recreated.

Now press the Invite button next to the Generate button, and a message will be pushed to the players and GM with a link to join the Syrinscape Session.

Clicking this link in the Chat Window will take your players to a Syrinscape listen window in their default browser. The browser will then prompt them to start listening to your Syrinscape Lobby.

VERY IMPORTANT: Each player will need to click on the link to hear the sounds. In addition, each player may be prompted to enable context sounds once that web page is loaded. The web page should be left open in the background in order to hear sounds.

After clicking to activate the web audio context, the window the players will see will just have a volume bar for them to control audio on their end, and a visualizer on the bottom to let them know if audio is playing or not. The owner of the session will be shown their Master Interface and library of sounds.

Players may be presented with a “Click to Start” button and should click that to be taken to the sound player page. They do not need to (and shouldn’t) click the “New Game” button in the upper-right corner of the page.

What the Player sees.
The the GM sees.

Test a sound to make sure that every player hears the sound properly. If they do, each player should leave this web page open in the background to hear future sounds.

NOTE: If this doesn’t pop-up for you when launching the player session, and you can’t hear audio, you can enable sound manually by clicking on the Lock icon in the top left of your URL bar and choosing “Site Settings”. This will take you to the Privacy and Security settings for the webpage. Here you can set the “Sound” option to “Allow”. Now you should be able to play audio sent to you from Syrinscape’s web player. You may have to reload the page to apply settings.

This option is standard across most Chrome/Chromium-based browsers. Your settings may differ.

Controlling Audio

GMs can control the sounds playing from the Sound: Setting window directly, or from the Sounds: Context Panel using Sound Sets. Sounds can be Played, or Stopped, using the Action buttons directly associated with them. All sounds can be stopped using the Stop All button on the Sounds: Context panel.

Syrinscape splits audio between Global sounds (SFX, Music, Moods) and Oneshot sounds. Global sounds usually cover ambience and background noises, while Oneshot sounds are short-event sounds like swords clashing, a firework popping, or a dog barking.

Using Sound Sets

Sound Sets can be purchased from Fantasy Grounds directly, or created manually. We will cover both scenarios below.

If the sound sets were purchased, You can access the Module Activation section by clicking on the Modules button in the Sidebar. To more easily find the Sound Sets, you can simply type “sounds” into the search field to filter out all of available module.

Once you have them loaded, you should see them listed in your Modules window. Once loaded, you can then click Sound Sets button on the Sidebar see the sounds have successfully loaded and are available.

After your Sound Sets are loaded in (or created manually), the context panel will begin to load in the sounds that you may want based on

  1. The Story entry (or entries) you currently have open.

  2. The NPCs you have open, OR are active in the Combat Tracker.

NOTE: The Context panel will always sort your story entries to the top of the list, and your NPC sound entries to the bottom. You can minimize a story or NPC entry by clicking on the header (labeled as “NPC - Wolf” in the example image), or you can use the +/- buttons to expand/collapse all of the sound sections at once.

NOTE: After your Soundsets are loaded in (or created) the rest of sound management should be either automatically triggered (such as making an attack or rolling damage for a spell), or made quickly available in the Sound: Context panel when you are viewing an active story (From the story tab or from the Reference Manual), or have an NPC sheet with sounds open (or active in the Combat Tracker). Closing the story entries, or removing all active NPC of the same type, will remove these entries from your Sound: Context panel.

Import Audio - Local

To import audio from your local machine, go to the FILE section of Sound: Settings. Then, click the File Import button from the Data Management section below. This will pop up the Import Sound Files prompt.

This prompt is waiting for Comma-Separated Values (CSV) with the file path to your local sounds. Windows can make this very easy for you with the Copy as path option. FGU Sound is set up to work with the Copy as path format when selecting a large amount of sounds.

Sound Files

Once you have the sounds you wish to use added to the sounds folder we created in the Prerequisites section above, highlight each sound you want to import, then right-click the selected files and select Copy as Path. Next, paste that into the Import Sound Files section, and click File Import.

Paths pasted in the Import Sound Files box
Sounds shown after import

NOTE: If you have subfolders in the sounds folder, you will have to open those folders and repeat the Copy as path procedure with the sounds inside those folders. You can repeat the “File Import” steps multiple times and it will add the new sounds to your list and sort them on the file path, and then alphabetically.

Playing Local Sound

To play a local sound file, you need to set the audio files to use your local media player. This may already be set to a default music player like Windows Media Player, iTunes, or something else.

NOTE: This example and instructions below uses Windows 10/11. macOS and Ubuntu Linux default player instructions will differ slightly, but should be similar.

To set a specific player to open your sound files, right-click on a sound file, select Open With on the menu, and when given a the prompt, select your preferred media player, then choose “Always”. Now, when FGU opens the sound, it will play in the media player you want.

Now you just need to press the “Play” button in Fantasy Grounds under Actions, and it will play your local sound file to your computer.

NOTE: Fantasy Grounds Unity cannot directly access your local media player, so it can only start the sound. To stop it, you will have to press stop from the media player itself. If an extension for your specific media player exists, they could do more. But standard support can only play the sound.

NOTE: Fantasy Grounds Unity does not broadcast locally-playing sound files to others connected to a game you are hosting or others connected to the same game as you. Community developers have created extensions and instructions how to trigger sound files using third-party applications such as Discord and the VLC media player. You can read more about that at the link below:
Link: https://www.fantasygrounds.com/forums/showthread.php?78105-How-to-use-the-new-sound-triggers-in-discord-using-the-free-VLC-media-player

Creating Sound Sets Manually

To create a new sound set, open the Sound Sets panel from the Sidebar, and then press the green (+) button in the bottom-right corner to create a new Sound Set sheet.

A sound set has two main types it can be: A Trigger sound set, or a Content sound set.

A Trigger sound set is for automatically responding actions, like rolling to hit, damage, casting a spell, or triggering off of a chat prompt.

A Content sound set is for populating the Sound: Context panel with sound suggestions when the corresponding window is open, like a Story/RFM entry, an Image, or an NPC entry.

 

 

NOTE: Not every ruleset supports extra trigger events, and you may only have the “chat” trigger since it is the most basic trigger available. Additional triggers like ‘Cast’, ‘Attack - Fumble’, ‘Attack - Hit’, ‘Attack - Miss’, ‘Attack - Crit’, are unique to the ruleset they are in and work directly with that ruleset. However, every ruleset should be able to support the NPC and STORY Content based Soundsets.

The next step is choosing which type of sound set you want (Trigger or Content), and then selecting the appropriate subtype for that sound set (Triggers have: Chat, Attack, Cast, etc | Content have: Story, NPC, and Image).

Going back to your Sound: Settings panel, since you’ve already connected to Syrinscape, you can search through the list and find the sound you would like to add, then drag the Play button from that window onto your sound set. It will then be added to your sound set.

In this example, we have created a CHAT based Trigger sound set that responds to the word “Abacus” being typed into the chat. Anytime FGU recognizes that keyword, it will play the sound associated with it.

If you don’t want this to trigger for your session, you can select the “Disable” button on the sound set, and FGU will skip those trigger events until you re-enable it by selecting the “Disable” button again.

 

 

 

 

 

 

Advanced Word Matching with Regex

By default, FGU does a basic word match with the chat input. If the keyword is “Abacus”, FGU will look for EXACTLY that word, capitalization and all. They are case-sensitive.
If you want more control over this, you can enable the “Regex?” option to the right of the pattern keyword. This is considered an ADVANCED feature, and will require you to know proper Regex syntax. The syntax can be found at Lua's Pattern Matching Page.

For example, If I selected the “Regex?” button and then put the pattern as: ^%[Abacus%], then the soundset would ONLY trigger if the word '[Abacus]' (with the brackets) was typed into the chat AND it was the first word in a sentence. Regex pattern matching can create smarter chat interactions for your players, and may allow them to trigger sound effects in specific situations.

For instance, here we have created 9 different Chat-based Trigger sound sets (see image below) that watch for the specific Death commands FGU uses for D&D 5E. If the sound system can recognize these patterns in the chat when a player has been downed, it will play a sound matching.

When the player first falls down and FGU throws the [Status: Dying] alert into the chat, the “systems failure” sound will play and alert other players that someone from their team has fallen (in this case, it will also play for NPCs). If a player throws a Critical Failure on their Death throw, the “Bleeding” sound effect will play out letting everyone know that their ally is not doing so well. These are just a basic example of how Regex could be used for a more complex interaction. How you use it in your campaign is entirely dependent on you and your group.

You can also set up chat-based triggers to react from specific types of damage. In this example, the first Regex entry is looking for ^%[DAMAGE

This means it will look for the word [DAMAGE at the beginning of a sentence ONLY. If a sentence starts with anything else, this pattern will fail. But if it does start with ‘[DAMAGE’, then it will check the next pattern.

The next pattern is %[TYPE: necrotic
Without the ^ marker, this will check for the spelling '[TYPE: necrotic', anywhere in the chat output. When a player uses the damage roll for a spell, the chat output should text something like this:

 

 

The Regex pattern matching will notice the ‘[DAMAGE’ at the beginning (ignoring the #5 at the end because we’re not looking for that. Since that pattern was successful it will look for the next pattern. This time, it’s ‘[TYPE: poison’, which does not match %[TYPE: necrotic, so this pattern will fail and the sound will be skipped. But if it did find '[TYPE: necrotic', then both patterns would match, and the sound would be played.

NOTE: Creating sound sets can be a time consuming process, but once they are set up, they can last your entire campaign. They can even be exported/imported to other campaigns so you won’t have to set them up again. You can also purchase pre-made sound set packs from FGU to save time and focus on playing. Less Prep, More Play!

Additional Story Information

If you find yourself using the same sounds over and over again, such as all of the noises goblins would make wherever they are, you can set up a General Content sound set. To do this, set your TYPE: category to Content, and then leave the subtype blank (“-”).

Next, fill your General Content sound set with all the generic sounds you find yourself using in many different stories.

Now, when you create a story entry, you can drag your general content sound set onto that story entry for the “SOUND SET LINKS” section. Then, any specific sounds you want added to that scene can go to the “SOUNDS” section. Now when the context menu loads the sound, it will look at your General Content Soundset Links, and pull all of the sounds from there in with the story-specific sounds. This can make building out your new storylines much faster.

NOTE: Notice how the “STORY LINKS” section has 1.Cave Mouth AND P1-04.01. Cave Mouth? That’s because 1.Cave Mouth is the Reference Manual (RFM) entry, and the P1-04.01 Cave Mouth is the Story Entry. If you want the sound context to populate for both entries, you’ll have to drag the links from both onto your sound set.

Leaving an Audio Session

As a player, you may want to join another campaign and another GM’s audio session. First, you’ll want to stop the audio stream from the game you are currently linked with.

To do this, go to your Syrinscape Control Panel and select Leave Game before accepting the Session Invite in another campaign. This will disconnect you from your old GM’s audio session, and allow you to join a new audio session.

Sounds and Sound Pack Videos

For additional information, you can also watch the FGU 4.4 Feature Update video below.

The Sound Sets chapter starts at the 24:58 time stamp.