libretro / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
38 stars 60 forks source link

CD-DA default audio volume seems low - possible to add CD-DA volume level in options? #206

Closed tapperp closed 3 months ago

tapperp commented 1 year ago

I've noticed the default CD audio volume is relatively low in Sega/Mega CD games, and can often sound overpowered by other audio sources like sound effects.

On the original Genesis it was possible to independently increase the CD volume level. Is it possible to add CD audio volume control to Picodrive's options? For example, in the Genesis Plus GX core, there are options to independently control CDDA, FM, and PCM volume.

Why this matters, you may ask? Why not just use Genesis Plus core instead? Well, some low power devices (i.e. Miyoo Mini) can't always run that core at full speed, whereas Picodrive can be full speed. So, it would be great to have this audio control available for such devices that rely on Picodrive.

Thanks for considering this suggestion.

irixxxx commented 1 year ago

Mixing is rather limited in picodrive at the moment, trading speed for accuracy here. I'll put some code review on my backlog.

Augusto7743 commented 1 year ago

Please add option to configure sound channel volume. Why ? Try MK2 32X ... the voices has volume extremely much high and volume low for music not being good.

irixxxx commented 4 months ago

mixing is rather expensive on low end platforms. I've increased the volume some with 2eeee07 in my repo. Is this better?

Augusto7743 commented 4 months ago

Thanks irixxxx for your action. Now is better. Well ... MK2 use 2 channels for voices. Your adjust has worked only for 1 channel. Try start MK2 for 32X. Now some voices are with good volume, others voices continue much high.

You are saying adding in option core an setting for adjust sound volume does the core use more cpu processing ? You are doing an good action for creating that core for low end plataforms =)

Have an nice day and nice next week too =)

irixxxx commented 4 months ago

Just FYI, samples at 44100 Hz in stereo means there are 88100 samples to be processed per second, with an adjustable mixing phase taking up some extra instructions, so we are probably talking about several hundred thousand additional cycles. That's nothing on a device with 1 GHz CPU clock. It can however make a noticeable difference on very low end platforms.

BTW, all the fixes and additions since 1.99 already have a noticeable speed impact on the low end. I'm currently looking into alleviating this a bit before the 2.00 release.

Augusto7743 commented 4 months ago

Thanks for your good actions =) Really picodrive have an faster emulation speed even in 32X games. In some previous versions picodrive sound in some channels was much high. MK2 32X use separate channels for voices. The voices was much high compared with the music channel. version 2eeee07 has partially fixed that error. Only one channel was fixed, but has another channel being used for voices. MK 32X sounds as music is done in YM2612 and voices in 32X PWM. In any way is good an fix for that issue.

irixxxx commented 3 months ago

Merged from my repo. Please reopen if there is still an issue with the sound volumes.

Augusto7743 commented 3 months ago

Tested core version 1.99 (pre 2.00-beta 2.00-ad93670) 22024-03-27 00:30. Testing MK2 32X the voices continue unbalanced. Try it yourself ... select any character and try hit the cpu using jump kick ... after try using sweep ( back low kick) or uppercuts ( down + high punch) ... That game use 2 type of channels for voice. One channel is using good volume and the other channel volume is much high.

Have an nice week.