Changes to the Sound.PlaybackSpeed property reporting back as "Pitch"

Attempting to grab property changes for sounds by listening to the Sound.Changed event will return “Pitch” each time the Sound.PlaybackSpeed is changed. Because of this, Sound:GetPropertyChangedSignal("PlaybackSpeed") doesn’t work either. This is a minor bug, but I thought I might bring it up anyways.

I came across this while noticing that pitch changes stopped replicating in my game (about a week ago). This bug happens 100% of the time.

Here’s a snippet proving my findings (a new baseplate with a Sound object in Workspace).

workspace.Sound.Changed:Connect(function(p)
    print(p)
end)

wait(1) workspace.Sound.PlaybackSpeed=4

--        "Pitch"

Personally I don’t mind either property name, but the miss-match for the events and properties window may cause confusion to people unfamiliar with this.

5 Likes

I agree this should be changed - along with a pitch property being added to sound objects - an actual pitch property, rather than one that just speeds up the audio.

2 Likes

Huh, looks like they changed Pitch to PlaybackSpeed. Should call someone in to actually fix that. How could they miss this?

Difference


Pitch plays a different octave, does not play different speed. That means double its frequency or half of it, depends on whether you raise or lower one. Seems to stretch out the frequency, rather than the whole audio track.

PlaybackSpeed is the correct term for the playback speed. Sounds like the pitch is lowered when you slow it down. It’s because the frequency is lower in output. Not to mention that the BPM is changed here.

1 Like

Indeed it used to be pitch back in the day, but they renamed the property to PlaybackSpeed because that’s what it actually controlled.

Use a PitchShiftSoundEffect?

2 Likes