Currently, there are 0 users and 0 guests visiting this topic.
Viewing 1 post (of 1 total)
  • Author
  • #174225

    VPX Playfield Sound Tester

    By Dennis Miller (dBm, Whirlwind) 4/19/2020


    My goal is to help drive improvement in VPX’s spatial sound positioning for all of VPX’s audio preferences settings.  The purpose of this table is to demonstrate playfield sound imaging.  The table is available at:!ApvHwnyEr2s-gRlTu2gZc9Y3DWPw?e=wF0ds1


    This demo table enables comparisons between VPX’s EXISITING Sound Positioning and my SIMULATED Sound Positioning Solution.  The table opens with the EXISTING VPX Sound Positioning enabled.  The ball’s playfield location is the origin of the pop-bumper sound.  Turn up the volume, move the ball everywhere around the playfield and notice where the sound appears to originate.


    Select your cabinet speaker configuration (automatic when in desktop more) and switch over to the SIMULATED Sound Positioning Solution with the “M” key.  Move the ball everywhere around the playfield and notice the dramatic sound positioning improvement.  This demonstrates how playfield sounds could and should be imaged.


    My SIMULATED Sound Positioning Solution code is not a VPX surround sound solution.  It requires too much in system resources, scripting and redundant sound files.  The most elegant solution is to improve VPX’s core Surround Sound implementation.


    According to DJRobX, the VPX surround sound expert, VPX’s Surround Sound is achieved through DirectSound3D and VPX’s 7.1 Surround Sound is achieved through Microsoft’s 3D sound engine.  Make no mistake, this upgrade to Surround Sound was a huge improvement over only having stereo playfield sounds.  Thanks to DJRobX and the other developers for this terrific breakthrough!


    Unfortunately, both of these approaches only approximate where an object’s sound originates from based upon the object’s location on the playfield.  Currently VPX uses a “virtual room” method for its 7.1 Surround Sound.  Imagine a room with FRONT Left and Right speakers located in the front left and right corners of the room, SIDE Left and Right speakers located on the left and right side of the room and REAR Left and Right speakers located in the left and right rear corners of the room.  Then imagine six microphones, one located at each speaker.  The microphones mostly pick up sounds from the closest speaker, but they also pick up sounds from the other speakers in the room.  The “virtual room” method leaks some of each channel’s sound into the other channels (also known as crosstalk).  This negatively affects sound placement by blurring the sound image.


    In my opinion, the best VPX Surround Sound implementation would be to eliminate the “virtual room” method and “directly route” VPX’s PlaySound output to the appropriate PC’s output channels depending upon the VPX Audio Option selected and where PlaySound’s Pan and Fade settings specify the sound should be routed.  For example, on a PC with 7.1 Surround Sound, if PlaySound Pan = -1 and Fade = -1, the sound should only play from the PC’s Side Left channel.  If PlaySound Pan = 0 and Fade = 0, the sound should play equally from each of the PC’s Side and Rear channels.  If PlaySound Pan = 1 and Fade = 1, the sound should only play from the PC’s Rear Right channel.  In addition, backbox sounds should only play from the PC’s Front channels.


    To hear what I mean about “directly route”, open Windows Control Panel / Sound / Playback tab / double click on your speaker’s icon / select the Advanced tab / select the Test button.  The sounds played are “directly routed” and play only from each individual speaker.  There is no crosstalk between speakers.  This is what VPX should do for its Surround Sound settings.


    I do not understand the VPX source code nor do I know how to make the required source code changes.  I’m hoping that this demo table may motivate the programming experts that could make these improvements, to do so.  Maybe the BASS.dll, already used by VPX and PinMAME, may provide a solution to directly route signals?

    I have found this configuration to provide the best VPX backglass and playfield surround sound performance:

    • Use a Quad setting on the motherboard’s sound card for the four playfield speakers and configure in VPX as the “General output Sound Device”
    • Use a stereo USB Audio Device for the backbox speakers and configure in VPX as the “Backglass specific Sound Device”
    • Use VP’s Preferences / Audio Option setting Surround (Front is front of cab) or Surround (Front is rear of cab)
Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.


Log in with your credentials


Forgot your details?

Create Account

The Vpinball app