vpinball / pinmame

PinMAME - Pinball Multiple Arcade Machine Emulator
https://www.vpforums.org
Other
184 stars 50 forks source link

Enhancement: Sounds coming from center speaker instead of left/right front on 7.1 SSF #90

Closed Rappelbox closed 1 year ago

Rappelbox commented 1 year ago

Noticed this when playing around with SSF: Sound of ROMs like mm_109 or mb_106 coming from the center speaker when using SSF setup with full 7.1 configuration. If an Altsound set is available and used the sounds are mapped correct to the backbox speakers, front left and right speaker channels.

Some people use EqualizerApo to reroute the center channel to the BB, but this could also result in table sounds also coming from it.

volkenborn commented 1 year ago

Both are DCS games, mono only. Nothing that could be done about it from our side I'm afraid...

Rappelbox commented 1 year ago

Thanks for the quick reply! So where is the base issue? Sound handling by pinmame or vpx? I don't fully understand how mono sounds are handled currently? How are they mapped in stereo setups and what's the difference to 7.1 configuration then?

toxieainc commented 1 year ago

I think this is due to PinMAME not knowing anything about 'fancier' systems, e.g. everything >stereo speakers. It would have to be added, similar to VPX.

droscoe commented 1 year ago

PinMame doesn’t need to know about anything more than mono/stereo, since the ROMs they emulate don’t have anything else. It is possible some newer tables implement fancier systems but that would be very specific to the manufacturer. PinMAME could be adapted to suit that, if it existed, but I expect it would be very few, if any tables, and wouldn’t justify the added complexity of both the code and user configuration.

The only problem most people have is that mono sounds “disappear “. This is because they are being mapped to a non-existent center channel. Some audio drivers support a “phantom” center channel, which automatically maps them to L/R. Otherwise EQ/APO is use to re-route to L/R. It is also used if your sound card doesn’t support the discrete channels supported by SSF. You can use EQ/APO to compensate (or if you’re too lazy to fix it inside your cab)

PinMame has nothing to do with 7.1 other than the speakers you designate for the Backbox. ALL ROM sounds, by definition can only go to the Backbox speakers you’ve assigned. This is correct behavior. The “table” sounds don’t exist in real pins other than the mechanical sounds of the table. VPin simulators like VPX recreates these and allows assignment to channels defined for the table. That’s a VPX feature, not PinMAME.

re:Altsounds, they map to ROM events, playing the replacement sound instead of the ROM sound. As ROM sounds, they are only meant to play on the backglass. This is correct behavior. You cannot use altsound to replace table sounds, and have them actually play on the table speakers. That level of complexity is beyond the scope of why PinMAME exists.

Many ROMs will implement sounds for table events to supplement mechanical sounds, like pop bumpers and slingshot, switches, rollovers, etc. but these are meant to play on the backglass also.

The only correct way to play alternate sounds on the table is to import them in the table and select it accordingly for the events they are meant to replace. It is possible to create an analog to altsounds for table sounds but this would require a level of standardization in naming of table elements before the VPX simulator code could support it. At that, it would be a VPX feature and not a VPinMAME feature. Another thing against complex audio on SSF speakers assigned to the table is the fact they are typically meant to be a type of feedback, in place of, or supplementing physical contractors, etc. the enclosed space of a pincab would make anything else sound too “muddy” and it would be a nightmare of complaints about that, when it’s the nature of the beast. You may have noticed that some tables incorrectly route music/sound files to the table speakers and it sounds pretty terrible.

droscoe commented 1 year ago

Noticed this when playing around with SSF: Sound of ROMs like mm_109 or mb_106 coming from the center speaker when using SSF setup with full 7.1 configuration. If an Altsound set is available and used the sounds are mapped correct to the backbox speakers, front left and right speaker channels.

Some people use EqualizerApo to reroute the center channel to the BB, but this could also result in table sounds also coming from it.

The games in question are mono. Most sound drivers will send to center channel if it exists, others will duplicate it on the left/right channel. Still others will let you choose.

As for table sounds coming through Backbox, with a center channel, that’s interesting. I was not aware SSF could use the center channel. Where would this speaker be located other than the Backbox? If it’s inside your machine and SSF is using it, then you should not have it in the chain of your rear speakers.

if the rear speakers insist on including the center channel, then you could alter your configuration so that the Backbox is mapped from, say, the surround L/R and assign the rear speakers (with the center channel) to your rear surround. This way, the surround is available for table sounds but not Backbox (which doesn’t really need it), and there’s no bleedover. This is an advanced config and will take time to work out. Without EQ/APO or something like it, it probably wouldn’t be possible. Honestly though, you don’t need the center channel for table sound either IMO. The spatial placement already used is pretty damned good without it.

toxieainc commented 1 year ago

I think the ask is that we support something directly (like VPX does), which allows to select where to route the audio in the 7.1 case (or other surround setups), instead of doing it externally.

wiesshund commented 1 year ago

No need to explain why it does it since you already learned why

VPX SSF doesnt come into play though the table audio will never look for the center speaker Its just that you enabled 5.1 or 7.1

Now there are 2 simple ways to do this if an audio chip doesnt offer the option to play mono sounds to left and right

1) If your motherboard has a decent audio implementation you can pick between front panel headphone jack and rear audio outputs independently

image

so you set the front panel headphones to windows default audio VPM will automatically play to it

Then you set VPX up like this image

then you set up your rear outputs in windows as 4 channel

If that option isn't available, you can install a cheap 2 channel USB audio card and do the same thing as above substituting it for headphones

wiesshund commented 1 year ago

Incidentally VPX backbox (non ROM) audio will play any channel format you have the speakers to play it from, providing you encode the source material correctly, even 12 channel Atmos, you can do some crazy things with backbox audio.

droscoe commented 1 year ago

@toxieainc is this covered by 42fb04baeabd2caca880300be56e0332f92629d2

wiesshund commented 1 year ago

@toxieainc is this covered by 42fb04b

Looks like maybe?

toxieainc commented 1 year ago

Good catch you two! Somehow already forgot about this one in here..

@Rappelbox Please verify and reopen if not fixed.