if information.Submitted.Value then return end
for _,v in pairs(speakers) do if v.Name == "Speaker" then v.SoundId = musicSound
if not v.IsLoaded then v.Loaded:Wait()
end end end
for i,v in pairs(speakers) do
if v.Name == "Speaker" then
information.Submitted.Value = true
v:Play()
end
end
It still echoâs but I think I have found a solution. I put all of the sounds TimePosition to zero while I was in game, in studio and it all sounded perfectly good. Maybe we can make it so it sets the TimePosition to the exact same?
Edit: Iâve tried, no luck
admittedly the code here is flawed, not exactly executing what i suggested
heres updated code:
for i,v in pairs(speakers) do
if v.Name == "Speaker" then
v.SoundId = "rbxassetid://"..music
if not v.IsLoaded then
v.Loaded:Wait()
end
end
end
for i,v in pairs(speakers) do
if v.Name == "Speaker" then
information.Submitted.Value = true
v:Play()
end
end
the other code did not do the following: yield the sounds from playing until all have loaded, once all have loaded, play them
Why donât you just put 1 large Part in around the entire area where speakers are, then just play the sound out of that Part?
Roblox recently made the change that sounds play from the extremities of a Part, not the center of it.
Have you checked to make sure that your AmbientReverb style in SoundService isnât set to something weird? Should be âNoReverbâ Or that you donât have an EchoSoundModifier in your SoundService or possibly SoundGroup if youâre using one? You keep saying the sound is echoing and those are the only two things I can think of that would cause that. It looks like you are using some SoundEffects which could also be the cause, try disabling those to see if that helps if the other two things arenât the cause.
It just seems a little unrealistic to place a massive block in the center and make it play from there. But I am curious on how the sound plays from a part works.
Nope, I have checked left right and center for that, itâs alright. The reason how I know this is that I have preset sounds in those speakers for other stuff with the exact same sound effects, and they do not create some weird echo as they are all synced perfectly.
I use it for the ocean waves sound in my steampunk place. 1 large transparent cancollide off Part anchored just above the Terrain water. I have a looped wave sound playing in it (no scripts) and if you move on the water it stays the same volume. If you climb up away from the water it gets quieter the farther you go up.
Very simple.
Thanks for the solution, really appreciate it.
Although this code didnât work at first, I have made some adjust to make it work as intended but hey, a solution is solution.
Instead of putting :Play() in the same place has the remote function is being invoked, I have made a separate button that plays the sound but only when it has fully loaded as you have made it so it yields the thread. For some reason this works perfectly.
@Scottifly I liked what you said about putting a massive block above the building and just playing it from there, but it doesnât have the same aesthetic as just putting sounds individually in parts. It just makes it feel more realistic.