-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Option to timestretch audio, keeping it smooth(er) when running slowly #8717
Conversation
Core/HW/4nkw5lrj.3ag~
Outdated
@@ -0,0 +1,29 @@ | |||
#pragma once |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what this is but I think you don't want it.
-[Unknown]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No idea. Force-pushed it away now.
cecaf55
to
177f9cc
Compare
Crash on reopen game. |
เล่นเกมติดขัด และเสียงแตก |
Please update this in next version ( 1.4.0) , to improve game experience when emulator speed is slow on older device |
ed0564c
to
76e746c
Compare
please merge and approve this 👍 |
I think I'm gonna make it an option. It has some drawbacks (worse latency, etc). |
I think so :) |
76e746c
to
b5a9768
Compare
Rebased. |
@hrydgard when you'll merge this please? Maybe it could help somehow. |
b5a9768
to
6e0a4f4
Compare
…t hackily. TODO: A proper mechanism to choose whether to use the resampler or the stretcher.
6e0a4f4
to
ed2d1b9
Compare
So, this does not work fantastically well yet, but I'll merge soon anyway so people can play around with it. It's not very quick at adapting to changing rates, not sure what I'm doing differently to what Citra is. |
Well, at least in 1.6.3 less games will run slow than in 1.5.4 , reducing the problem a little :) But yes, this needs work. I don't think I'm gonna use that resampler library, it was unwieldy, unstable and high latency.. |
Yeah I know I've just been pushing this forward but it's a tricky one. It will happen in one form or another eventually. |
Why Citra but not Dolphin 🤔? |
We Are still waiting |
Sad I thought this is gonne go through v1.9.0 :( |
I haven't been able to get it to work well and stable unfortunately. |
@hrydgard Sir will you release v1.9.0 this month or September? |
September is more likely. |
What about v1.10.0 or the future @hrydgard? You forgot it |
Please, kind sir @hrydgard I really really need this :( |
I never could get this to work stable (it would always crash after a while). Dunno if I was misusing the time stretcher library or what. I'll make another try someday if noone else beats me to it - maybe it's possible to get fairly close with simpler approaches, too. |
Closing this one, will do another attempt at some point. |
😢 |
Simply grabbed the timestretcher that Citra are using now, and integrated it in a hacky way.
TODO: Make it an option, make it more stable (it's quite "drifty"), make it smarter when ratio changes very quickly like during a load or sudden slowdown.
Alternatively, try to implement a different algorithm. The interface to Soundtouch is not really what we want - I want to be able to say "I gave you these samples, now I want this other number of samples to fill the gap" and it should give it to me, instead I need to dynamically adjust the ratio. Maybe that's equivalent though...