Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add menu and interface sounds #13225

Open
devinprater opened this issue Jul 29, 2020 · 8 comments · Fixed by #13239
Open

add menu and interface sounds #13225

devinprater opened this issue Jul 29, 2020 · 8 comments · Fixed by #13239
Labels
User Interface PPSSPP's own user interface / UX
Milestone

Comments

@devinprater
Copy link

What happens?

When PPSSPP starts up, I assume that focus is placed on a list of tabs. One must press Down, twice for me, to get to the list of games. I have to press Right twice to get to the only game I have in the directory that PPSSPP looks for games in, but that may just be an issue of there being other folders there (this is on the iOS version). I'll have to see what happens when I have it point to just a "games" directory with the game there. Anyways, there are no navigational cues or feedback when I navigate. Since accessibility would be hard on many systems, we could use something else, like sounds, or controller vibration.

What should happen?

To aid in navigation across the PPSSPP interface, small sounds could be used to notify users of changing tabs, from recent to homebrew and demos, or when the edge of a row of games is reached. This could be particularly useful for blind users. Alternatively, vibration could be used; a quick one for moving from item to item, a forceful and short one for reaching the edge of a row, and a longer one for switching tabs, and two short clicks for activating an item. Sounds could be used to greater effect, though, with a sound denoting between a folder and a game, etc. This could also be useful for sighted users, to reinforce visual cues.

What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.

This effects all systems.

@unknownbrackets
Copy link
Collaborator

I think a simple keytone would make sense, potentially as an option in settings. Many Sony systems have the same setting.

Maybe general tones could be:

  • Simple selection change: changing between tabs, menu items, or settings.
  • Primary selection change: game focused, Play, Start, etc.
  • Cancel selection: when a dialog or screen closes, for example settings.
  • Accept selection: after selecting a game, or when changing a setting, etc.

I could imagine more options, but I don't want to make the sound "language" too complex. What do you think?

-[Unknown]

@hrydgard hrydgard added the Audio label Aug 1, 2020
@hrydgard hrydgard added this to the v1.11.0 milestone Aug 1, 2020
@hrydgard
Copy link
Owner

hrydgard commented Aug 1, 2020

Yeah, this is a good idea both for accessibility and just because it's nice. Those sound types are probably a good enough start.

We'll need a little sound mixer to use for these UI sounds (sounds can overlap when moving fast). Reusing sceSas seems impractical so for this I'll probably just write a new really simple one.

Tick-style sounds like the real PSP, or little tones?

@hrydgard hrydgard added User Interface PPSSPP's own user interface / UX and removed Audio labels Aug 1, 2020
@ghost
Copy link

ghost commented Aug 2, 2020

Hi,me again.I usually don't mind other people's business,but since i'm interested in this,would it have negative/positive impact on #13141 ?Considering this is actually feature that would use audio,as in mine issue this is somehow audio related.Explanation would be nice.

TIA

@ghost
Copy link

ghost commented Aug 2, 2020

Hi,me again.I usually don't mind other people's business,but since i'm interested in this,would it have negative/positive impact on #13141 ?Considering this is actually feature that would use audio,as in mine issue this is somehow audio related.Explanation would be nice.

TIA

In my opinion,this would be easily avoidable by forcing menu to follow sound,as it would solve most problems regarding it,and slow-ups would be gone.

@hrydgard
Copy link
Owner

hrydgard commented Aug 2, 2020

The way I plan to implement this, it will be unlikely to affect #13141 in any way.

@hrydgard
Copy link
Owner

hrydgard commented Aug 2, 2020

Did a draft implementation in #13239 . It has some triggering issues and needs more sounds but sets up the framework at least.

@hrydgard hrydgard reopened this Aug 3, 2020
@hrydgard
Copy link
Owner

hrydgard commented Aug 3, 2020

Didn't mean to fully close this, but #13239 has been merged. So if you set UISound = true , you'll have some sound in the UI.

It's not perfect by any means yet but better than nothing.

@hrydgard hrydgard modified the milestones: v1.11.0, v1.12.0 Nov 10, 2020
@Anuskuss
Copy link
Contributor

Since this is a PSP emulator, I think it would make a ton of sense to use the original PSP XMB sound files but at the very least follow the XMB naming conventions (probably safer to not include the files anyway). So there are 8 files:

  • snd_cancel.vag - Cancel/return (sfx_back.wav)
  • snd_category_decide.vag - Move around in category (or scroll through categories?)
  • snd_cursor.vag - Move around (sfx_select.wav)
  • snd_decide.vag - Question (sfx_confirm.wav)
  • snd_error.vag - Error (dummy)
  • snd_option.vag - Open options
  • snd_system_ng.vag - Decline (sfx_toggle_off.wav)
  • snd_system_ok.vag - Accept (sfx_toggle_on.wav)

Note that snd_category_decide, snd_cursor, snd_decide and snd_option have the same audio stream just different headers, but should be included separately anyway.

About the format: Looks like PPSSPP can already play VAG files, so support for loading those wouldn't be too much work. For the current implementation I had to convert them to PCM and then to WAV (ffmpeg -f s16le -ar 44.1k -ac 1 -i file.pcm file.wav) first. Afterwards you have to duplicate the channel to create a stereo WAV because PPSSPP doesn't like mono.

I've tried to substitute them with the existing WAVs and although it's not perfect, they work pretty well. The only thing I don't like is how it plays sfx_confirm when selecting a category. Also @hrydgard if you're interested in supporting this (meaning using your own PSP files) it would be very appreciated if you could retouch your samples and decrease the volume by 15 - 25 dB (I'm not a sound guy so can't give you some actual numbers but we can figure those out once you've considered this) because in it's current config you can barely hear the PSP sounds compared to the current ones (at the same volume).

@hrydgard hrydgard modified the milestones: v1.12.0, Future Apr 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
User Interface PPSSPP's own user interface / UX
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants