forum

Hitsound Transposing(pitch changing)

posted
Total Posts
11
This is a feature request. Feature requests can be voted up by supporters.
Current Priority: +0
Topic Starter
Cirno
I searched the forum and didn't find similiar requests so I decided to start a new thread >.>

The Idea
Basically this is adding one more parameter into the timing sections. It should enable mappers of setting the pitch of hitsounds being played in any specified timing section.

Reasons
Making it possible to transpose hitsounds make advanced hitsounding (like this) easier to achieve and take less space, and thus the gameplay could be more like "playing the music" rather than just to accompany. (In fact some effects are impossible to achieve due to custom sampleset limitations.)

Ordinary maps can also benefit from this by using transposing for emphasizing special points in the song.

Possible Implementation
The implementation should be simple, however I can't give out an exact solution(since I have no access to the source code). Following is only a brief description of the steps:
  • 1. Add a number input box (like BPM and Offset input boxes) in the Audio tab of the Timing Panel.
    2. Update data structures and .osu file writer/parser accordingly, dealing with the new parameter
    3. Probably in the same procedure where the volume changing is performed, call the BASS function (osu! uses BASS & BASS Fx, right?), setting the pitch.
    BASS_ChannelSetAttribute(hitsoundChannelFx, BASS_ATTRIB_TEMPO_PITCH, timingPoint.pitch);
(* A FX channel is required for setting BASS_ATTRIB_TEMPO_PITCH
If the hitsound channel is not a FX channel, one should be created, like the music channel. Maybe:
hitsoundChannelFx = BASS_FX_TempoCreate(hitsoundChannel, BASS_STREAM_DECODE | BASS_FX_FREESOURCE);
)

Thanks!
tieff
I like it. Support.
Gabi
On my way home today from the dentist i was thinking about how nice it would be to have a feature just like this.

Support!
Jarby

Cirno wrote:

and thus the gameplay could be more like "playing the music" rather than just to accompany
As much as I disagree with this, I can see this feature used outside of that method. So I'd be happy to see it regardless.
yongtw123
Wow.

Hitsounding has just got more complexed lol

But that'll be convenient in certain circumstances.
Kitsunemimi
CIRNO WHEN DID YOU GET SO SMART

Anyways, I had wanted this kind of thing for a while now, and although it looks complicated, I'll bet it'll be really useful.
RandomJibberish
Oh god, this would make You're the Inspiration bloops and trumpet sounds so much easier. I can see it being abused and used horribly, however

Meeeeh, probably support
NatsumeRin
support. nice idea.
Admirale_X
This will fuck up the processor.. realtime pitching isnt that easy..
I think osu! is more a percussion game (beatmap) rather then a game where you replay the musical notes (midi map)...

I do not support.
Topic Starter
Cirno

Admirale_X wrote:

This will fuck up the processor.. realtime pitching isnt that easy..
I think osu! is more a percussion game (beatmap) rather then a game where you replay the musical notes (midi map)...

I do not support.
Osu! already use real time tempo changing in Doubletime & Halftime mods. And I have ran a test using BASS library creating 30 FX streams at the same time with real time pitching, and even that a number of streams used only 5% of processor power.
So it won't be too performance taxing, and is quite acceptable in terms of performance.
mm201
A different plan is on the table which would allow for this sort of thing in a more straightforward way.
Please sign in to reply.

New reply