Thanks for the hint about Nircmd but for me, it didn’t work. (Windows 10 x64 build 1909 as of 2020-04-09)
Here’s what I did to make it work using a Powershell script:
Head on over to https://github.com/frgnca/AudioDeviceCmdlets/releases/ and grab the latest version of AudioDeviceCmdlets
Once the .dll file is downloaded, follow the instructions here to install: https://github.com/frgnca/AudioDeviceCmdlets#import-cmdlet-to-powershell
NOTE: You DO NOT need to run this in an elevated shell to complete this task.
After step 2 is complete and you’ve got AudioDeviceCmdlets installed you’ll need to identify which INDEX values correspond to your audio devices by opening a Powershell window and typing the following command:
Depending on how many physical and virtual audio devices you’ve got, you may need to scroll to find the ones you want. Note the INDEX value assigned to your device.
For me, I have VoiceMeeter Potato installed with Cables A, B, C, and D and a pile of audio hardware installed so I’ve got over 25 virtual and physical audio devices. I found my inputs way up at the top at Index 1 and Index 3.
Now that you’ve got the associated index values for the device you want to keep as your default and your desired device to output Syrinscape to, you’re going to create a nifty Powershell script in order to do three things: A) Set the audio device to the device you want Syrinscape to output to, B) Run Syrinscape, and finally C) Set the audio back to the default device that you want your other sounds to come from:
Click on the start button and start typing PowerShell (don’t press enter). Click on PowerShell ISE.
In the PowerShell ISE window, click View > Show Scripting Pane
Paste the following into the Scripting Pane (top white box):
Set-AudioDevice -Index 3 TIMEOUT 2 START "C:\Program Files (x86)\SyrinscapeFantasyPlayer\Syrinscape.exe" TIMEOUT 20 Set-AudioDevice -Index 1
Change your index values to match the values that you retrieved with the “Get-AudioDevice -List” command to match your desired devices.
Feel free to tweak the timing- if you have an enormous number of Syrinscape sounds or perhaps a slow computer, you might need more time!
You may also need to change the path to your Syrinscape executable as well, depending on where you’ve got it installed. Mine is default.
Save the PowerShell script somewhere that you’ll be able to find it again. (File > Save As…) Call it Syrinscape.ps1 and make a note of where you saved it.
Create yourself a batch file so that you can run your PowerShell script with a simple double-click: Right click inside any folder and select New > Text Document. This will create a new .txt file that you can rename to something snappy like “LaunchSyrinscape.bat” (Remember to wipe out the .txt and replace it with .bat otherwise it won’t run)
Right click your new .bat file and select Edit. (If, for some strange reason you don’t have that option, open the file in notepad or your favourite text editor).
Paste the following into your empty batch file:
powershell -noexit "& ""C:\<path-to-your-PowerShell-Script>\Syrinscape.ps1""" exit
Save and close your batch file.
If you followed along closely and didn’t skip any steps you should now be able to double-click on your batch file and your fancy new script will launch Syrinscape for you with your audio device of choice playing some excellent sounds for your table!
If you have problems, start over from step 1. Make sure you don’t miss any quotation marks or flake out on any of the steps to install the .dll file into your system. (Chances are, you messed up on Step 2 if you’re having problems so go slow, take your time, do it right.)