Arcthesia / ArcCreate

Community based rhythm game editor and player made with Unity.
GNU General Public License v3.0
305 stars 51 forks source link

Feature request: change audio playback speed without changing its pitch #48

Closed ofkarosia closed 2 weeks ago

ofkarosia commented 1 month ago

Thank you for creating this amazing software. I love the practice mode. However, one thing that makes me difficult to adapt is the pitch when I change playback speed, which sounds..funny when playing. Is it possible to implement such feature(like Youtube)? I don't think it's an important feature that needs to be implemented, but it will improve our game experience.

EDIT: Soundtouch might be useful.

0thElement commented 1 month ago

It's unfortunately a limitation with Unity engine, any pitch bend would incur a lot of delay during playback. Your proposed solution is not real-time and would be both complicated to set up and would mean a long wait every time the playback speed is changed, which I think is too big of a drawback.

ofkarosia commented 1 month ago

Thanks for your explanation. Maybe it is more applicable to load different version of the audio when playing with a different speed rather than real-time processing? That means, load preprocessed audio instead of transforming the original audio just in time.

For example, we can try loading base_75.ogg if the playback speed is set to 0.75 and fallback to the existing implementation if it doesn't exist. This solution will increase the size of song pack but I think it's acceptable overall.